[Home] [Help]
PACKAGE BODY: APPS.XLA_00200_AAD_S_000012_PKG
Source
1 PACKAGE BODY XLA_00200_AAD_S_000012_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_000012_PKG |
10 | |
11 | DESCRIPTION |
12 | Package generated From Product Accounting Definition |
13 | Name : Federal Payables AAD |
14 | Code : FV_PAYABLES_AAD |
15 | Owner : PRODUCT |
16 | Version : |
17 | AMB Context Code: DEFAULT |
18 | HISTORY |
19 | Generated at 30-03-2009 at 06:03:47 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_000012_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_000012_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_000012_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_000012_PKG.GetMeaning');
228 END GetMeaning;
229 --
230
231 ---------------------------------------
232 --
233 -- PRIVATE FUNCTION
234 -- Description_1
235 --
236 ---------------------------------------
237 FUNCTION Description_1 (
238 p_application_id IN NUMBER
239 , p_ae_header_id IN NUMBER DEFAULT NULL
240 )
241 RETURN VARCHAR2
242 IS
243 l_component_type VARCHAR2(80) ;
244 l_component_code VARCHAR2(30) ;
245 l_component_type_code VARCHAR2(1) ;
246 l_component_appl_id INTEGER ;
247 l_amb_context_code VARCHAR2(30) ;
248 l_ledger_language VARCHAR2(30) ;
249 l_source VARCHAR2(1996) ;
250 l_description VARCHAR2(2000) ;
251 l_log_module VARCHAR2(240) ;
252 BEGIN
253 IF g_log_enabled THEN
254 l_log_module := C_DEFAULT_MODULE||'.Description_1';
255 END IF;
256 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
257 trace
258 (p_msg => 'BEGIN of Description_1'
259 ,p_level => C_LEVEL_PROCEDURE
260 ,p_module => l_log_module);
261 END IF;
262
263 l_ledger_language := xla_ae_journal_entry_pkg.g_cache_ledgers_info.description_language;
264 l_component_type := 'AMB_DESCRIPTION';
265 l_component_code := 'JE_INVOICE_DESCRIPTION';
266 l_component_type_code := 'S';
267 l_component_appl_id := 200;
268 l_amb_context_code := 'DEFAULT';
269 l_source := NULL;
270 l_description := NULL;
271
272
273 l_description := null;
274 l_description := SUBSTR(l_description,1,1996);
275 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
276 trace
277 (p_msg => 'END of Description_1'
278 ,p_level => C_LEVEL_PROCEDURE
279 ,p_module => l_log_module);
280
281 END IF;
282 RETURN l_description;
283
284 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
285 trace
286 (p_msg => 'END of Description_1'
287 ,p_level => C_LEVEL_PROCEDURE
288 ,p_module => l_log_module);
289 END IF;
290 RETURN NULL;
291 EXCEPTION
292 WHEN VALUE_ERROR THEN
293 IF (C_LEVEL_EXCEPTION >= g_log_level) THEN
294 trace
295 (p_msg => 'ERROR: '||sqlerrm
296 ,p_level => C_LEVEL_EXCEPTION
297 ,p_module => l_log_module);
298 END IF;
299 RAISE;
300 WHEN xla_exceptions_pkg.application_exception THEN
301 IF (C_LEVEL_EXCEPTION >= g_log_level) THEN
302 trace
303 (p_msg => 'ERROR: '||sqlerrm
304 ,p_level => C_LEVEL_EXCEPTION
305 ,p_module => l_log_module);
306 END IF;
307 RAISE;
308 WHEN OTHERS THEN
309 xla_exceptions_pkg.raise_message
310 (p_location => 'XLA_00200_AAD_S_000012_PKG.Description_1');
311 END Description_1;
312
313 ---------------------------------------
314 --
315 -- PRIVATE FUNCTION
316 -- Description_2
317 --
318 ---------------------------------------
319 FUNCTION Description_2 (
320 p_application_id IN NUMBER
321 , p_ae_header_id IN NUMBER DEFAULT NULL
322 --Invoice Distribution Description
323 , p_source_1 IN VARCHAR2
324 )
325 RETURN VARCHAR2
326 IS
327 l_component_type VARCHAR2(80) ;
328 l_component_code VARCHAR2(30) ;
329 l_component_type_code VARCHAR2(1) ;
330 l_component_appl_id INTEGER ;
331 l_amb_context_code VARCHAR2(30) ;
332 l_ledger_language VARCHAR2(30) ;
333 l_source VARCHAR2(1996) ;
334 l_description VARCHAR2(2000) ;
335 l_log_module VARCHAR2(240) ;
336 BEGIN
337 IF g_log_enabled THEN
338 l_log_module := C_DEFAULT_MODULE||'.Description_2';
339 END IF;
340 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
341 trace
342 (p_msg => 'BEGIN of Description_2'
343 ,p_level => C_LEVEL_PROCEDURE
344 ,p_module => l_log_module);
345 END IF;
346
347 l_ledger_language := xla_ae_journal_entry_pkg.g_cache_ledgers_info.description_language;
348 l_component_type := 'AMB_DESCRIPTION';
349 l_component_code := 'JE_INV_DIST_DESCRIPTION';
350 l_component_type_code := 'S';
351 l_component_appl_id := 200;
352 l_amb_context_code := 'DEFAULT';
353 l_source := NULL;
354 l_description := NULL;
355
356
357
358 l_source := SUBSTR(p_source_1,1,1996);
359 IF l_source IS NOT NULL THEN
360 l_description := SUBSTR(CONCAT(l_description,l_source),1,2000);
361 l_description := SUBSTR(CONCAT(l_description,' '),1,2000);
362 END IF;
363 l_description := SUBSTR(l_description,1,1996);
364 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
365 trace
366 (p_msg => 'END of Description_2'
367 ,p_level => C_LEVEL_PROCEDURE
368 ,p_module => l_log_module);
369
373 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
370 END IF;
371 RETURN l_description;
372
374 trace
375 (p_msg => 'END of Description_2'
376 ,p_level => C_LEVEL_PROCEDURE
377 ,p_module => l_log_module);
378 END IF;
379 RETURN NULL;
380 EXCEPTION
381 WHEN VALUE_ERROR THEN
382 IF (C_LEVEL_EXCEPTION >= g_log_level) THEN
383 trace
384 (p_msg => 'ERROR: '||sqlerrm
385 ,p_level => C_LEVEL_EXCEPTION
386 ,p_module => l_log_module);
387 END IF;
388 RAISE;
389 WHEN xla_exceptions_pkg.application_exception THEN
390 IF (C_LEVEL_EXCEPTION >= g_log_level) THEN
391 trace
392 (p_msg => 'ERROR: '||sqlerrm
393 ,p_level => C_LEVEL_EXCEPTION
394 ,p_module => l_log_module);
395 END IF;
396 RAISE;
397 WHEN OTHERS THEN
398 xla_exceptions_pkg.raise_message
399 (p_location => 'XLA_00200_AAD_S_000012_PKG.Description_2');
400 END Description_2;
401
402 ---------------------------------------
403 --
404 -- PRIVATE FUNCTION
405 -- Description_3
406 --
407 ---------------------------------------
408 FUNCTION Description_3 (
409 p_application_id IN NUMBER
410 , p_ae_header_id IN NUMBER DEFAULT NULL
411 --Document Sequence Name
412 , p_source_3 IN VARCHAR2
413 --Payment Document Voucher Number
414 , p_source_4 IN NUMBER
415 --Payment Transaction Number
416 , p_source_5 IN NUMBER
417 --Payment Document Date
418 , p_source_6 IN DATE
419 --Bank Account Name
420 , p_source_7 IN VARCHAR2
421 --Payment Currency Code
422 , p_source_8 IN VARCHAR2
423 )
424 RETURN VARCHAR2
425 IS
426 l_component_type VARCHAR2(80) ;
427 l_component_code VARCHAR2(30) ;
428 l_component_type_code VARCHAR2(1) ;
429 l_component_appl_id INTEGER ;
430 l_amb_context_code VARCHAR2(30) ;
431 l_ledger_language VARCHAR2(30) ;
432 l_source VARCHAR2(1996) ;
433 l_description VARCHAR2(2000) ;
434 l_log_module VARCHAR2(240) ;
435 BEGIN
436 IF g_log_enabled THEN
437 l_log_module := C_DEFAULT_MODULE||'.Description_3';
438 END IF;
439 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
440 trace
441 (p_msg => 'BEGIN of Description_3'
442 ,p_level => C_LEVEL_PROCEDURE
443 ,p_module => l_log_module);
444 END IF;
445
446 l_ledger_language := xla_ae_journal_entry_pkg.g_cache_ledgers_info.description_language;
447 l_component_type := 'AMB_DESCRIPTION';
448 l_component_code := 'JE_PAYMENT_HEADER_DESC';
449 l_component_type_code := 'S';
450 l_component_appl_id := 200;
451 l_amb_context_code := 'DEFAULT';
452 l_source := NULL;
453 l_description := NULL;
454
455
456 IF p_source_4 IS NOT NULL
457 THEN
458
459 l_source := SUBSTR(
460 xla_ae_sources_pkg.GetSystemSourceChar(
461 p_source_code => 'XLA_EVENT_TYPE_NAME'
462 , p_source_type_code => 'Y'
463 , p_source_application_id => 602
464 ),1,1996);
465 IF l_source IS NOT NULL THEN
466 l_description := SUBSTR(CONCAT(l_description,l_source),1,2000);
467 l_description := SUBSTR(CONCAT(l_description,' '),1,2000);
468 END IF;
469 IF
470 l_ledger_language = 'US' THEN
471 l_description := SUBSTR(CONCAT(l_description,','),1,2000);
472 l_description := SUBSTR(CONCAT(l_description,' '),1,2000);
473 END IF;
474 IF
475 l_ledger_language = 'US' THEN
476 l_description := SUBSTR(CONCAT(l_description,'Payment Document Sequence Name:'),1,2000);
477 l_description := SUBSTR(CONCAT(l_description,' '),1,2000);
478 END IF;
479 l_source := SUBSTR(p_source_3,1,1996);
480 IF l_source IS NOT NULL THEN
481 l_description := SUBSTR(CONCAT(l_description,l_source),1,2000);
482 l_description := SUBSTR(CONCAT(l_description,' '),1,2000);
483 END IF;
484 IF
485 l_ledger_language = 'US' THEN
486 l_description := SUBSTR(CONCAT(l_description,','),1,2000);
487 l_description := SUBSTR(CONCAT(l_description,' '),1,2000);
488 END IF;
489 IF
490 l_ledger_language = 'US' THEN
491 l_description := SUBSTR(CONCAT(l_description,'Payment Document Sequence Number:'),1,2000);
492 l_description := SUBSTR(CONCAT(l_description,' '),1,2000);
493 END IF;
494 l_source := SUBSTR(TO_CHAR(p_source_4),1,1996);
495 IF l_source IS NOT NULL THEN
496 l_description := SUBSTR(CONCAT(l_description,l_source),1,2000);
497 l_description := SUBSTR(CONCAT(l_description,' '),1,2000);
498 END IF;
499 IF
500 l_ledger_language = 'US' THEN
501 l_description := SUBSTR(CONCAT(l_description,','),1,2000);
502 l_description := SUBSTR(CONCAT(l_description,' '),1,2000);
503 END IF;
504 IF
505 l_ledger_language = 'US' THEN
506 l_description := SUBSTR(CONCAT(l_description,'Payment Number:'),1,2000);
507 l_description := SUBSTR(CONCAT(l_description,' '),1,2000);
508 END IF;
512 l_description := SUBSTR(CONCAT(l_description,' '),1,2000);
509 l_source := SUBSTR(TO_CHAR(p_source_5),1,1996);
510 IF l_source IS NOT NULL THEN
511 l_description := SUBSTR(CONCAT(l_description,l_source),1,2000);
513 END IF;
514 IF
515 l_ledger_language = 'US' THEN
516 l_description := SUBSTR(CONCAT(l_description,','),1,2000);
517 l_description := SUBSTR(CONCAT(l_description,' '),1,2000);
518 END IF;
519 IF
520 l_ledger_language = 'US' THEN
521 l_description := SUBSTR(CONCAT(l_description,'Payment Date:'),1,2000);
522 l_description := SUBSTR(CONCAT(l_description,' '),1,2000);
523 END IF;
524 l_source := SUBSTR(xla_ae_sources_pkg.DATE_TO_CHAR(p_source_6,
525 xla_ae_journal_entry_pkg.g_cache_ledgers_info.nls_desc_language),1,1996);
526 IF l_source IS NOT NULL THEN
527 l_description := SUBSTR(CONCAT(l_description,l_source),1,2000);
528 l_description := SUBSTR(CONCAT(l_description,' '),1,2000);
529 END IF;
530 IF
531 l_ledger_language = 'US' THEN
532 l_description := SUBSTR(CONCAT(l_description,','),1,2000);
533 l_description := SUBSTR(CONCAT(l_description,' '),1,2000);
534 END IF;
535 IF
536 l_ledger_language = 'US' THEN
537 l_description := SUBSTR(CONCAT(l_description,'Bank Name:'),1,2000);
538 l_description := SUBSTR(CONCAT(l_description,' '),1,2000);
539 END IF;
540 l_source := SUBSTR(p_source_7,1,1996);
541 IF l_source IS NOT NULL THEN
542 l_description := SUBSTR(CONCAT(l_description,l_source),1,2000);
543 l_description := SUBSTR(CONCAT(l_description,' '),1,2000);
544 END IF;
545 IF
546 l_ledger_language = 'US' THEN
547 l_description := SUBSTR(CONCAT(l_description,','),1,2000);
548 l_description := SUBSTR(CONCAT(l_description,' '),1,2000);
549 END IF;
550 IF
551 l_ledger_language = 'US' THEN
552 l_description := SUBSTR(CONCAT(l_description,'Payment Currency Code'),1,2000);
553 l_description := SUBSTR(CONCAT(l_description,' '),1,2000);
554 END IF;
555 l_source := SUBSTR(p_source_8,1,1996);
556 IF l_source IS NOT NULL THEN
557 l_description := SUBSTR(CONCAT(l_description,l_source),1,2000);
558 l_description := SUBSTR(CONCAT(l_description,' '),1,2000);
559 END IF;
560 l_description := SUBSTR(l_description,1,1996);
561 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
562 trace
563 (p_msg => 'END of Description_3'
564 ,p_level => C_LEVEL_PROCEDURE
565 ,p_module => l_log_module);
566
567 END IF;
568 RETURN l_description;
569
570 ELSIF p_source_4 IS NULL
571 THEN
572
573 l_source := SUBSTR(
574 xla_ae_sources_pkg.GetSystemSourceChar(
575 p_source_code => 'XLA_EVENT_TYPE_NAME'
576 , p_source_type_code => 'Y'
577 , p_source_application_id => 602
578 ),1,1996);
579 IF l_source IS NOT NULL THEN
580 l_description := SUBSTR(CONCAT(l_description,l_source),1,2000);
581 l_description := SUBSTR(CONCAT(l_description,' '),1,2000);
582 END IF;
583 IF
584 l_ledger_language = 'US' THEN
585 l_description := SUBSTR(CONCAT(l_description,','),1,2000);
586 l_description := SUBSTR(CONCAT(l_description,' '),1,2000);
587 END IF;
588 IF
589 l_ledger_language = 'US' THEN
590 l_description := SUBSTR(CONCAT(l_description,'Payment Number:'),1,2000);
591 l_description := SUBSTR(CONCAT(l_description,' '),1,2000);
592 END IF;
593 l_source := SUBSTR(TO_CHAR(p_source_5),1,1996);
594 IF l_source IS NOT NULL THEN
595 l_description := SUBSTR(CONCAT(l_description,l_source),1,2000);
596 l_description := SUBSTR(CONCAT(l_description,' '),1,2000);
597 END IF;
598 IF
599 l_ledger_language = 'US' THEN
600 l_description := SUBSTR(CONCAT(l_description,','),1,2000);
601 l_description := SUBSTR(CONCAT(l_description,' '),1,2000);
602 END IF;
603 IF
604 l_ledger_language = 'US' THEN
605 l_description := SUBSTR(CONCAT(l_description,'Payment Date:'),1,2000);
606 l_description := SUBSTR(CONCAT(l_description,' '),1,2000);
607 END IF;
608 l_source := SUBSTR(xla_ae_sources_pkg.DATE_TO_CHAR(p_source_6,
609 xla_ae_journal_entry_pkg.g_cache_ledgers_info.nls_desc_language),1,1996);
610 IF l_source IS NOT NULL THEN
611 l_description := SUBSTR(CONCAT(l_description,l_source),1,2000);
612 l_description := SUBSTR(CONCAT(l_description,' '),1,2000);
613 END IF;
614 IF
615 l_ledger_language = 'US' THEN
616 l_description := SUBSTR(CONCAT(l_description,','),1,2000);
617 l_description := SUBSTR(CONCAT(l_description,' '),1,2000);
618 END IF;
619 IF
620 l_ledger_language = 'US' THEN
621 l_description := SUBSTR(CONCAT(l_description,'Bank Name:'),1,2000);
622 l_description := SUBSTR(CONCAT(l_description,' '),1,2000);
623 END IF;
624 l_source := SUBSTR(p_source_7,1,1996);
625 IF l_source IS NOT NULL THEN
626 l_description := SUBSTR(CONCAT(l_description,l_source),1,2000);
627 l_description := SUBSTR(CONCAT(l_description,' '),1,2000);
628 END IF;
629 IF
630 l_ledger_language = 'US' THEN
631 l_description := SUBSTR(CONCAT(l_description,','),1,2000);
632 l_description := SUBSTR(CONCAT(l_description,' '),1,2000);
633 END IF;
634 IF
635 l_ledger_language = 'US' THEN
639 l_source := SUBSTR(p_source_8,1,1996);
636 l_description := SUBSTR(CONCAT(l_description,'Payment Currency Code'),1,2000);
637 l_description := SUBSTR(CONCAT(l_description,' '),1,2000);
638 END IF;
640 IF l_source IS NOT NULL THEN
641 l_description := SUBSTR(CONCAT(l_description,l_source),1,2000);
642 l_description := SUBSTR(CONCAT(l_description,' '),1,2000);
643 END IF;
644 l_description := SUBSTR(l_description,1,1996);
645 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
646 trace
647 (p_msg => 'END of Description_3'
648 ,p_level => C_LEVEL_PROCEDURE
649 ,p_module => l_log_module);
650
651 END IF;
652 RETURN l_description;
653
654 END IF;
655 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
656 trace
657 (p_msg => 'END of Description_3'
658 ,p_level => C_LEVEL_PROCEDURE
659 ,p_module => l_log_module);
660 END IF;
661 RETURN NULL;
662 EXCEPTION
663 WHEN VALUE_ERROR THEN
664 IF (C_LEVEL_EXCEPTION >= g_log_level) THEN
665 trace
666 (p_msg => 'ERROR: '||sqlerrm
667 ,p_level => C_LEVEL_EXCEPTION
668 ,p_module => l_log_module);
669 END IF;
670 RAISE;
671 WHEN xla_exceptions_pkg.application_exception THEN
672 IF (C_LEVEL_EXCEPTION >= g_log_level) THEN
673 trace
674 (p_msg => 'ERROR: '||sqlerrm
675 ,p_level => C_LEVEL_EXCEPTION
676 ,p_module => l_log_module);
677 END IF;
678 RAISE;
679 WHEN OTHERS THEN
680 xla_exceptions_pkg.raise_message
681 (p_location => 'XLA_00200_AAD_S_000012_PKG.Description_3');
682 END Description_3;
683
684 ---------------------------------------
685 --
686 -- PRIVATE FUNCTION
687 -- AcctDerRule_4
688 --
689 ---------------------------------------
690 FUNCTION AcctDerRule_4 (
691 p_application_id IN NUMBER
692 , p_ae_header_id IN NUMBER
693 , p_side IN VARCHAR2
694 , p_override_seg_flag IN VARCHAR2
695 --Bank Charges Account
696 , p_source_9 IN NUMBER
697 --Automatic Offsets Value
698 , p_source_10 IN VARCHAR2
699 , p_source_10_meaning IN VARCHAR2
700 , x_transaction_coa_id OUT NOCOPY NUMBER
701 , x_accounting_coa_id OUT NOCOPY NUMBER
702 , x_flexfield_segment_code OUT NOCOPY VARCHAR2
703 , x_flex_value_set_id OUT NOCOPY NUMBER
704 , x_value_type_code OUT NOCOPY VARCHAR2
705 , x_value_combination_id OUT NOCOPY NUMBER
706 , x_value_segment_code OUT NOCOPY VARCHAR2
707 )
708 RETURN VARCHAR2
709 IS
710 l_component_type VARCHAR2(80) ;
711 l_component_code VARCHAR2(30) ;
712 l_component_type_code VARCHAR2(1) ;
713 l_component_appl_id INTEGER ;
714 l_amb_context_code VARCHAR2(30) ;
715 l_log_module VARCHAR2(240) ;
716 l_output_value VARCHAR2(30) ;
717 BEGIN
718 IF g_log_enabled THEN
719 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_4';
720 END IF;
721 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
722
723 trace
724 (p_msg => 'BEGIN of AcctDerRule_4'
725 ,p_level => C_LEVEL_PROCEDURE
726 ,p_module => l_log_module);
727
728 END IF;
729
730 l_component_type := 'AMB_ADR';
731 l_component_code := 'AP_BANK_CHARGES_NAT_ACCT_SEG';
732 l_component_type_code := 'S';
733 l_component_appl_id := 200;
734 l_amb_context_code := 'DEFAULT';
735 x_transaction_coa_id := null;
736 x_accounting_coa_id := null;
737 x_flexfield_segment_code := 'GL_ACCOUNT';
738 x_flex_value_set_id := null ;
739
740
741 IF NVL(p_source_10,'
742 ') = 'ACCOUNT_SEGMENT_VALUE'
743 THEN
744 --
745 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
746
747 trace
748 (p_msg => 'END of AcctDerRule_4'
749 ,p_level => C_LEVEL_PROCEDURE
750 ,p_module => l_log_module);
751
752 END IF;
753 x_value_combination_id := TO_NUMBER(p_source_9) ;
754 x_value_segment_code := 'GL_ACCOUNT' ;
755 x_value_type_code := 'S';
756 l_output_value := null;
757 RETURN l_output_value;
758
759 ELSE
760 IF p_override_seg_flag = 'Y' THEN
761 RETURN '#$NO_OVERRIDE#$';
762 END IF;
763 END IF;
764
765 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
766
767 trace
768 (p_msg => 'END of AcctDerRule_4(invalid)'
769 ,p_level => C_LEVEL_PROCEDURE
770 ,p_module => l_log_module);
771
772 END IF;
773
774 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
775 x_value_combination_id := null;
776 x_value_segment_code := null;
777 x_value_type_code := null;
778 l_output_value := null;
779 xla_accounting_err_pkg.build_message
780 (p_appli_s_name => 'XLA'
781 ,p_msg_name => 'XLA_AP_INVALID_ADR'
782 ,p_token_1 => 'COMPONENT_NAME'
783 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
787 , l_component_appl_id
784 l_component_type
785 , l_component_code
786 , l_component_type_code
788 , l_amb_context_code
789 )
790 ,p_token_2 => 'OWNER'
791 ,p_value_2 => xla_lookups_pkg.get_meaning(
792 'XLA_OWNER_TYPE'
793 ,l_component_type_code
794 )
795 ,p_token_3 => 'PAD_NAME'
796 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
797 ,p_token_4 => 'PAD_OWNER'
798 ,p_value_4 => xla_lookups_pkg.get_meaning(
799 'XLA_OWNER_TYPE'
800 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
801 )
802 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
803 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
804 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
805 ,p_ae_header_id => NULL
806 );
807 RETURN l_output_value;
808 EXCEPTION
809 WHEN xla_exceptions_pkg.application_exception THEN
810 RAISE;
811 WHEN OTHERS THEN
812 xla_exceptions_pkg.raise_message
813 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctDerRule_4');
814 END AcctDerRule_4;
815 --
816
817 ---------------------------------------
818 --
819 -- PRIVATE FUNCTION
820 -- AcctDerRule_5
821 --
822 ---------------------------------------
823 FUNCTION AcctDerRule_5 (
824 p_application_id IN NUMBER
825 , p_ae_header_id IN NUMBER
826 , p_side IN VARCHAR2
827 , p_override_seg_flag IN VARCHAR2
828 --Automatic Offsets Value
829 , p_source_10 IN VARCHAR2
830 , p_source_10_meaning IN VARCHAR2
831 --Bank Errors Account
832 , p_source_11 IN NUMBER
833 , x_transaction_coa_id OUT NOCOPY NUMBER
834 , x_accounting_coa_id OUT NOCOPY NUMBER
835 , x_flexfield_segment_code OUT NOCOPY VARCHAR2
836 , x_flex_value_set_id OUT NOCOPY NUMBER
837 , x_value_type_code OUT NOCOPY VARCHAR2
838 , x_value_combination_id OUT NOCOPY NUMBER
839 , x_value_segment_code OUT NOCOPY VARCHAR2
840 )
841 RETURN VARCHAR2
842 IS
843 l_component_type VARCHAR2(80) ;
844 l_component_code VARCHAR2(30) ;
845 l_component_type_code VARCHAR2(1) ;
846 l_component_appl_id INTEGER ;
847 l_amb_context_code VARCHAR2(30) ;
848 l_log_module VARCHAR2(240) ;
849 l_output_value VARCHAR2(30) ;
850 BEGIN
851 IF g_log_enabled THEN
852 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_5';
853 END IF;
854 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
855
856 trace
857 (p_msg => 'BEGIN of AcctDerRule_5'
858 ,p_level => C_LEVEL_PROCEDURE
859 ,p_module => l_log_module);
860
861 END IF;
862
863 l_component_type := 'AMB_ADR';
864 l_component_code := 'AP_BANK_ERRORS_NAT_ACCT_SEG';
865 l_component_type_code := 'S';
866 l_component_appl_id := 200;
867 l_amb_context_code := 'DEFAULT';
868 x_transaction_coa_id := null;
869 x_accounting_coa_id := null;
870 x_flexfield_segment_code := 'GL_ACCOUNT';
871 x_flex_value_set_id := null ;
872
873
874 IF NVL(p_source_10,'
875 ') = 'ACCOUNT_SEGMENT_VALUE'
876 THEN
877 --
878 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
879
880 trace
881 (p_msg => 'END of AcctDerRule_5'
882 ,p_level => C_LEVEL_PROCEDURE
883 ,p_module => l_log_module);
884
885 END IF;
886 x_value_combination_id := TO_NUMBER(p_source_11) ;
887 x_value_segment_code := 'GL_ACCOUNT' ;
888 x_value_type_code := 'S';
889 l_output_value := null;
890 RETURN l_output_value;
891
892 ELSE
893 IF p_override_seg_flag = 'Y' THEN
894 RETURN '#$NO_OVERRIDE#$';
895 END IF;
896 END IF;
897
898 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
899
900 trace
901 (p_msg => 'END of AcctDerRule_5(invalid)'
902 ,p_level => C_LEVEL_PROCEDURE
903 ,p_module => l_log_module);
904
905 END IF;
906
907 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
908 x_value_combination_id := null;
909 x_value_segment_code := null;
910 x_value_type_code := null;
911 l_output_value := null;
912 xla_accounting_err_pkg.build_message
913 (p_appli_s_name => 'XLA'
914 ,p_msg_name => 'XLA_AP_INVALID_ADR'
918 , l_component_code
915 ,p_token_1 => 'COMPONENT_NAME'
916 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
917 l_component_type
919 , l_component_type_code
920 , l_component_appl_id
921 , l_amb_context_code
922 )
923 ,p_token_2 => 'OWNER'
924 ,p_value_2 => xla_lookups_pkg.get_meaning(
925 'XLA_OWNER_TYPE'
926 ,l_component_type_code
927 )
928 ,p_token_3 => 'PAD_NAME'
929 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
930 ,p_token_4 => 'PAD_OWNER'
931 ,p_value_4 => xla_lookups_pkg.get_meaning(
932 'XLA_OWNER_TYPE'
933 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
934 )
935 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
936 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
937 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
938 ,p_ae_header_id => NULL
939 );
940 RETURN l_output_value;
941 EXCEPTION
942 WHEN xla_exceptions_pkg.application_exception THEN
943 RAISE;
944 WHEN OTHERS THEN
945 xla_exceptions_pkg.raise_message
946 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctDerRule_5');
947 END AcctDerRule_5;
948 --
949
950 ---------------------------------------
951 --
952 -- PRIVATE FUNCTION
953 -- AcctDerRule_6
954 --
955 ---------------------------------------
956 FUNCTION AcctDerRule_6 (
957 p_application_id IN NUMBER
958 , p_ae_header_id IN NUMBER
959 , p_side IN VARCHAR2
960 , p_override_seg_flag IN VARCHAR2
961 --Bank Cash Account
962 , p_source_12 IN NUMBER
963 , x_transaction_coa_id OUT NOCOPY NUMBER
964 , x_accounting_coa_id OUT NOCOPY NUMBER
965 , x_flexfield_segment_code OUT NOCOPY VARCHAR2
966 , x_flex_value_set_id OUT NOCOPY NUMBER
967 , x_value_type_code OUT NOCOPY VARCHAR2
968 , x_value_combination_id OUT NOCOPY NUMBER
969 , x_value_segment_code OUT NOCOPY VARCHAR2
970 )
971 RETURN VARCHAR2
972 IS
973 l_component_type VARCHAR2(80) ;
974 l_component_code VARCHAR2(30) ;
975 l_component_type_code VARCHAR2(1) ;
976 l_component_appl_id INTEGER ;
977 l_amb_context_code VARCHAR2(30) ;
978 l_log_module VARCHAR2(240) ;
979 l_output_value VARCHAR2(30) ;
980 BEGIN
981 IF g_log_enabled THEN
982 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_6';
983 END IF;
984 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
985
986 trace
987 (p_msg => 'BEGIN of AcctDerRule_6'
988 ,p_level => C_LEVEL_PROCEDURE
989 ,p_module => l_log_module);
990
991 END IF;
992
993 l_component_type := 'AMB_ADR';
994 l_component_code := 'AP_CASH_NATURAL_ACCT_SEG';
995 l_component_type_code := 'S';
996 l_component_appl_id := 200;
997 l_amb_context_code := 'DEFAULT';
998 x_transaction_coa_id := null;
999 x_accounting_coa_id := null;
1000 x_flexfield_segment_code := 'GL_ACCOUNT';
1001 x_flex_value_set_id := null ;
1002
1003
1004 --
1005 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1006
1007 trace
1008 (p_msg => 'END of AcctDerRule_6'
1009 ,p_level => C_LEVEL_PROCEDURE
1010 ,p_module => l_log_module);
1011
1012 END IF;
1013 x_value_combination_id := TO_NUMBER(p_source_12) ;
1014 x_value_segment_code := 'GL_ACCOUNT' ;
1015 x_value_type_code := 'S';
1016 l_output_value := null;
1017 RETURN l_output_value;
1018
1019
1020 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1021
1022 trace
1023 (p_msg => 'END of AcctDerRule_6(invalid)'
1024 ,p_level => C_LEVEL_PROCEDURE
1025 ,p_module => l_log_module);
1026
1027 END IF;
1028
1029 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
1030 x_value_combination_id := null;
1031 x_value_segment_code := null;
1032 x_value_type_code := null;
1033 l_output_value := null;
1034 xla_accounting_err_pkg.build_message
1035 (p_appli_s_name => 'XLA'
1036 ,p_msg_name => 'XLA_AP_INVALID_ADR'
1037 ,p_token_1 => 'COMPONENT_NAME'
1038 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
1039 l_component_type
1043 , l_amb_context_code
1040 , l_component_code
1041 , l_component_type_code
1042 , l_component_appl_id
1044 )
1045 ,p_token_2 => 'OWNER'
1046 ,p_value_2 => xla_lookups_pkg.get_meaning(
1047 'XLA_OWNER_TYPE'
1048 ,l_component_type_code
1049 )
1050 ,p_token_3 => 'PAD_NAME'
1051 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
1052 ,p_token_4 => 'PAD_OWNER'
1053 ,p_value_4 => xla_lookups_pkg.get_meaning(
1054 'XLA_OWNER_TYPE'
1055 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
1056 )
1057 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
1058 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
1059 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
1060 ,p_ae_header_id => NULL
1061 );
1062 RETURN l_output_value;
1063 EXCEPTION
1064 WHEN xla_exceptions_pkg.application_exception THEN
1065 RAISE;
1066 WHEN OTHERS THEN
1067 xla_exceptions_pkg.raise_message
1068 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctDerRule_6');
1069 END AcctDerRule_6;
1070 --
1071
1072 ---------------------------------------
1073 --
1074 -- PRIVATE FUNCTION
1075 -- AcctDerRule_7
1076 --
1077 ---------------------------------------
1078 FUNCTION AcctDerRule_7 (
1079 p_application_id IN NUMBER
1080 , p_ae_header_id IN NUMBER
1081 , p_side IN VARCHAR2
1082 , p_override_seg_flag IN VARCHAR2
1083 --Automatic Offsets Value
1084 , p_source_10 IN VARCHAR2
1085 , p_source_10_meaning IN VARCHAR2
1086 --System Discount Account
1087 , p_source_13 IN NUMBER
1088 --Discount Distribution Method
1089 , p_source_14 IN VARCHAR2
1090 , p_source_14_meaning IN VARCHAR2
1091 , x_transaction_coa_id OUT NOCOPY NUMBER
1092 , x_accounting_coa_id OUT NOCOPY NUMBER
1093 , x_flexfield_segment_code OUT NOCOPY VARCHAR2
1094 , x_flex_value_set_id OUT NOCOPY NUMBER
1095 , x_value_type_code OUT NOCOPY VARCHAR2
1096 , x_value_combination_id OUT NOCOPY NUMBER
1097 , x_value_segment_code OUT NOCOPY VARCHAR2
1098 )
1099 RETURN VARCHAR2
1100 IS
1101 l_component_type VARCHAR2(80) ;
1102 l_component_code VARCHAR2(30) ;
1103 l_component_type_code VARCHAR2(1) ;
1104 l_component_appl_id INTEGER ;
1105 l_amb_context_code VARCHAR2(30) ;
1106 l_log_module VARCHAR2(240) ;
1107 l_output_value VARCHAR2(30) ;
1108 BEGIN
1109 IF g_log_enabled THEN
1110 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_7';
1111 END IF;
1112 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1113
1114 trace
1115 (p_msg => 'BEGIN of AcctDerRule_7'
1116 ,p_level => C_LEVEL_PROCEDURE
1117 ,p_module => l_log_module);
1118
1119 END IF;
1120
1121 l_component_type := 'AMB_ADR';
1122 l_component_code := 'AP_DISCOUNT_NAT_ACCT_SEG';
1123 l_component_type_code := 'S';
1124 l_component_appl_id := 200;
1125 l_amb_context_code := 'DEFAULT';
1126 x_transaction_coa_id := null;
1127 x_accounting_coa_id := null;
1128 x_flexfield_segment_code := 'GL_ACCOUNT';
1129 x_flex_value_set_id := null ;
1130
1131
1132 IF NVL(p_source_14,'
1133 ') = 'SYSTEM' AND
1134 NVL(p_source_10,'
1135 ') = 'ACCOUNT_SEGMENT_VALUE'
1136 THEN
1137 --
1138 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1139
1140 trace
1141 (p_msg => 'END of AcctDerRule_7'
1142 ,p_level => C_LEVEL_PROCEDURE
1143 ,p_module => l_log_module);
1144
1145 END IF;
1146 x_value_combination_id := TO_NUMBER(p_source_13) ;
1147 x_value_segment_code := 'GL_ACCOUNT' ;
1148 x_value_type_code := 'S';
1149 l_output_value := null;
1150 RETURN l_output_value;
1151
1152 ELSE
1153 IF p_override_seg_flag = 'Y' THEN
1154 RETURN '#$NO_OVERRIDE#$';
1155 END IF;
1156 END IF;
1157
1158 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1159
1160 trace
1161 (p_msg => 'END of AcctDerRule_7(invalid)'
1162 ,p_level => C_LEVEL_PROCEDURE
1163 ,p_module => l_log_module);
1164
1165 END IF;
1166
1167 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
1168 x_value_combination_id := null;
1169 x_value_segment_code := null;
1170 x_value_type_code := null;
1171 l_output_value := null;
1172 xla_accounting_err_pkg.build_message
1173 (p_appli_s_name => 'XLA'
1177 l_component_type
1174 ,p_msg_name => 'XLA_AP_INVALID_ADR'
1175 ,p_token_1 => 'COMPONENT_NAME'
1176 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
1178 , l_component_code
1179 , l_component_type_code
1180 , l_component_appl_id
1181 , l_amb_context_code
1182 )
1183 ,p_token_2 => 'OWNER'
1184 ,p_value_2 => xla_lookups_pkg.get_meaning(
1185 'XLA_OWNER_TYPE'
1186 ,l_component_type_code
1187 )
1188 ,p_token_3 => 'PAD_NAME'
1189 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
1190 ,p_token_4 => 'PAD_OWNER'
1191 ,p_value_4 => xla_lookups_pkg.get_meaning(
1192 'XLA_OWNER_TYPE'
1193 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
1194 )
1195 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
1196 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
1197 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
1198 ,p_ae_header_id => NULL
1199 );
1200 RETURN l_output_value;
1201 EXCEPTION
1202 WHEN xla_exceptions_pkg.application_exception THEN
1203 RAISE;
1204 WHEN OTHERS THEN
1205 xla_exceptions_pkg.raise_message
1206 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctDerRule_7');
1207 END AcctDerRule_7;
1208 --
1209
1210 ---------------------------------------
1211 --
1212 -- PRIVATE FUNCTION
1213 -- AcctDerRule_8
1214 --
1215 ---------------------------------------
1216 FUNCTION AcctDerRule_8 (
1217 p_application_id IN NUMBER
1218 , p_ae_header_id IN NUMBER
1219 , p_side IN VARCHAR2
1220 , p_override_seg_flag IN VARCHAR2
1221 --Automatic Offsets Value
1222 , p_source_10 IN VARCHAR2
1223 , p_source_10_meaning IN VARCHAR2
1224 --Purchase Order Rate Variance Gain Account
1225 , p_source_15 IN NUMBER
1226 --Invoice Distribution Ledger Amount
1227 , p_source_16 IN NUMBER
1228 --Destination Type of the PO Distribution
1229 , p_source_17 IN VARCHAR2
1230 , p_source_17_meaning IN VARCHAR2
1231 --Purchase Order Rate Variance Loss Account
1232 , p_source_18 IN NUMBER
1233 , x_transaction_coa_id OUT NOCOPY NUMBER
1234 , x_accounting_coa_id OUT NOCOPY NUMBER
1235 , x_flexfield_segment_code OUT NOCOPY VARCHAR2
1236 , x_flex_value_set_id OUT NOCOPY NUMBER
1237 , x_value_type_code OUT NOCOPY VARCHAR2
1238 , x_value_combination_id OUT NOCOPY NUMBER
1239 , x_value_segment_code OUT NOCOPY VARCHAR2
1240 )
1241 RETURN VARCHAR2
1242 IS
1243 l_component_type VARCHAR2(80) ;
1244 l_component_code VARCHAR2(30) ;
1245 l_component_type_code VARCHAR2(1) ;
1246 l_component_appl_id INTEGER ;
1247 l_amb_context_code VARCHAR2(30) ;
1248 l_log_module VARCHAR2(240) ;
1249 l_output_value VARCHAR2(30) ;
1250 BEGIN
1251 IF g_log_enabled THEN
1252 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_8';
1253 END IF;
1254 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1255
1256 trace
1257 (p_msg => 'BEGIN of AcctDerRule_8'
1258 ,p_level => C_LEVEL_PROCEDURE
1259 ,p_module => l_log_module);
1260
1261 END IF;
1262
1263 l_component_type := 'AMB_ADR';
1264 l_component_code := 'AP_ERV_GAIN_LOSS_NAT_ACCT_SEG';
1265 l_component_type_code := 'S';
1266 l_component_appl_id := 200;
1267 l_amb_context_code := 'DEFAULT';
1268 x_transaction_coa_id := null;
1269 x_accounting_coa_id := null;
1270 x_flexfield_segment_code := 'GL_ACCOUNT';
1271 x_flex_value_set_id := null ;
1272
1273
1274 IF NVL(p_source_10,'
1275 ') = 'ACCOUNT_SEGMENT_VALUE' AND
1276 p_source_16 < 0 AND
1277 NVL(p_source_17,'
1278 ') = 'INVENTORY'
1279 THEN
1280 --
1281 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1282
1283 trace
1284 (p_msg => 'END of AcctDerRule_8'
1285 ,p_level => C_LEVEL_PROCEDURE
1286 ,p_module => l_log_module);
1287
1288 END IF;
1289 x_value_combination_id := TO_NUMBER(p_source_15) ;
1290 x_value_segment_code := 'GL_ACCOUNT' ;
1291 x_value_type_code := 'S';
1292 l_output_value := null;
1293 RETURN l_output_value;
1294
1295 ELSIF NVL(p_source_10,'
1296 ') = 'ACCOUNT_SEGMENT_VALUE' AND
1297 p_source_16 > 0 AND
1298 NVL(p_source_17,'
1299 ') = 'INVENTORY'
1300 THEN
1301 --
1302 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1306 ,p_level => C_LEVEL_PROCEDURE
1303
1304 trace
1305 (p_msg => 'END of AcctDerRule_8'
1307 ,p_module => l_log_module);
1308
1309 END IF;
1310 x_value_combination_id := TO_NUMBER(p_source_18) ;
1311 x_value_segment_code := 'GL_ACCOUNT' ;
1312 x_value_type_code := 'S';
1313 l_output_value := null;
1314 RETURN l_output_value;
1315
1316 ELSE
1317 IF p_override_seg_flag = 'Y' THEN
1318 RETURN '#$NO_OVERRIDE#$';
1319 END IF;
1320 END IF;
1321
1322 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1323
1324 trace
1325 (p_msg => 'END of AcctDerRule_8(invalid)'
1326 ,p_level => C_LEVEL_PROCEDURE
1327 ,p_module => l_log_module);
1328
1329 END IF;
1330
1331 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
1332 x_value_combination_id := null;
1333 x_value_segment_code := null;
1334 x_value_type_code := null;
1335 l_output_value := null;
1336 xla_accounting_err_pkg.build_message
1337 (p_appli_s_name => 'XLA'
1338 ,p_msg_name => 'XLA_AP_INVALID_ADR'
1339 ,p_token_1 => 'COMPONENT_NAME'
1340 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
1341 l_component_type
1342 , l_component_code
1343 , l_component_type_code
1344 , l_component_appl_id
1345 , l_amb_context_code
1346 )
1347 ,p_token_2 => 'OWNER'
1348 ,p_value_2 => xla_lookups_pkg.get_meaning(
1349 'XLA_OWNER_TYPE'
1350 ,l_component_type_code
1351 )
1352 ,p_token_3 => 'PAD_NAME'
1353 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
1354 ,p_token_4 => 'PAD_OWNER'
1355 ,p_value_4 => xla_lookups_pkg.get_meaning(
1356 'XLA_OWNER_TYPE'
1357 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
1358 )
1359 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
1360 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
1361 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
1362 ,p_ae_header_id => NULL
1363 );
1364 RETURN l_output_value;
1365 EXCEPTION
1366 WHEN xla_exceptions_pkg.application_exception THEN
1367 RAISE;
1368 WHEN OTHERS THEN
1369 xla_exceptions_pkg.raise_message
1370 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctDerRule_8');
1371 END AcctDerRule_8;
1372 --
1373
1374 ---------------------------------------
1375 --
1376 -- PRIVATE FUNCTION
1377 -- AcctDerRule_9
1378 --
1379 ---------------------------------------
1380 FUNCTION AcctDerRule_9 (
1381 p_application_id IN NUMBER
1382 , p_ae_header_id IN NUMBER
1383 , p_side IN VARCHAR2
1384 , p_override_seg_flag IN VARCHAR2
1385 --Automatic Offsets Value
1386 , p_source_10 IN VARCHAR2
1387 , p_source_10_meaning IN VARCHAR2
1388 --Purchase Order Rate Variance Gain Account
1389 , p_source_15 IN NUMBER
1390 --Destination Type of the PO Distribution
1391 , p_source_17 IN VARCHAR2
1392 , p_source_17_meaning IN VARCHAR2
1393 , x_transaction_coa_id OUT NOCOPY NUMBER
1394 , x_accounting_coa_id OUT NOCOPY NUMBER
1395 , x_flexfield_segment_code OUT NOCOPY VARCHAR2
1396 , x_flex_value_set_id OUT NOCOPY NUMBER
1397 , x_value_type_code OUT NOCOPY VARCHAR2
1398 , x_value_combination_id OUT NOCOPY NUMBER
1399 , x_value_segment_code OUT NOCOPY VARCHAR2
1400 )
1401 RETURN VARCHAR2
1402 IS
1403 l_component_type VARCHAR2(80) ;
1404 l_component_code VARCHAR2(30) ;
1405 l_component_type_code VARCHAR2(1) ;
1406 l_component_appl_id INTEGER ;
1407 l_amb_context_code VARCHAR2(30) ;
1408 l_log_module VARCHAR2(240) ;
1409 l_output_value VARCHAR2(30) ;
1410 BEGIN
1411 IF g_log_enabled THEN
1412 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_9';
1413 END IF;
1414 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1415
1416 trace
1417 (p_msg => 'BEGIN of AcctDerRule_9'
1418 ,p_level => C_LEVEL_PROCEDURE
1419 ,p_module => l_log_module);
1420
1421 END IF;
1422
1423 l_component_type := 'AMB_ADR';
1424 l_component_code := 'AP_ERV_GAIN_NAT_ACCT_SEG';
1425 l_component_type_code := 'S';
1426 l_component_appl_id := 200;
1427 l_amb_context_code := 'DEFAULT';
1428 x_transaction_coa_id := null;
1429 x_accounting_coa_id := null;
1433
1430 x_flexfield_segment_code := 'GL_ACCOUNT';
1431 x_flex_value_set_id := null ;
1432
1434 IF NVL(p_source_10,'
1435 ') = 'ACCOUNT_SEGMENT_VALUE' AND
1436 NVL(p_source_17,'
1437 ') = 'INVENTORY'
1438 THEN
1439 --
1440 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1441
1442 trace
1443 (p_msg => 'END of AcctDerRule_9'
1444 ,p_level => C_LEVEL_PROCEDURE
1445 ,p_module => l_log_module);
1446
1447 END IF;
1448 x_value_combination_id := TO_NUMBER(p_source_15) ;
1449 x_value_segment_code := 'GL_ACCOUNT' ;
1450 x_value_type_code := 'S';
1451 l_output_value := null;
1452 RETURN l_output_value;
1453
1454 ELSE
1455 IF p_override_seg_flag = 'Y' THEN
1456 RETURN '#$NO_OVERRIDE#$';
1457 END IF;
1458 END IF;
1459
1460 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1461
1462 trace
1463 (p_msg => 'END of AcctDerRule_9(invalid)'
1464 ,p_level => C_LEVEL_PROCEDURE
1465 ,p_module => l_log_module);
1466
1467 END IF;
1468
1469 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
1470 x_value_combination_id := null;
1471 x_value_segment_code := null;
1472 x_value_type_code := null;
1473 l_output_value := null;
1474 xla_accounting_err_pkg.build_message
1475 (p_appli_s_name => 'XLA'
1476 ,p_msg_name => 'XLA_AP_INVALID_ADR'
1477 ,p_token_1 => 'COMPONENT_NAME'
1478 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
1479 l_component_type
1480 , l_component_code
1481 , l_component_type_code
1482 , l_component_appl_id
1483 , l_amb_context_code
1484 )
1485 ,p_token_2 => 'OWNER'
1486 ,p_value_2 => xla_lookups_pkg.get_meaning(
1487 'XLA_OWNER_TYPE'
1488 ,l_component_type_code
1489 )
1490 ,p_token_3 => 'PAD_NAME'
1491 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
1492 ,p_token_4 => 'PAD_OWNER'
1493 ,p_value_4 => xla_lookups_pkg.get_meaning(
1494 'XLA_OWNER_TYPE'
1495 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
1496 )
1497 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
1498 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
1499 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
1500 ,p_ae_header_id => NULL
1501 );
1502 RETURN l_output_value;
1503 EXCEPTION
1504 WHEN xla_exceptions_pkg.application_exception THEN
1505 RAISE;
1506 WHEN OTHERS THEN
1507 xla_exceptions_pkg.raise_message
1508 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctDerRule_9');
1509 END AcctDerRule_9;
1510 --
1511
1512 ---------------------------------------
1513 --
1514 -- PRIVATE FUNCTION
1515 -- AcctDerRule_10
1516 --
1517 ---------------------------------------
1518 FUNCTION AcctDerRule_10 (
1519 p_application_id IN NUMBER
1520 , p_ae_header_id IN NUMBER
1521 , p_side IN VARCHAR2
1522 , p_override_seg_flag IN VARCHAR2
1523 --Automatic Offsets Value
1524 , p_source_10 IN VARCHAR2
1525 , p_source_10_meaning IN VARCHAR2
1526 --Destination Type of the PO Distribution
1527 , p_source_17 IN VARCHAR2
1528 , p_source_17_meaning IN VARCHAR2
1529 --Purchase Order Rate Variance Loss Account
1530 , p_source_18 IN NUMBER
1531 , x_transaction_coa_id OUT NOCOPY NUMBER
1532 , x_accounting_coa_id OUT NOCOPY NUMBER
1533 , x_flexfield_segment_code OUT NOCOPY VARCHAR2
1534 , x_flex_value_set_id OUT NOCOPY NUMBER
1535 , x_value_type_code OUT NOCOPY VARCHAR2
1536 , x_value_combination_id OUT NOCOPY NUMBER
1537 , x_value_segment_code OUT NOCOPY VARCHAR2
1538 )
1539 RETURN VARCHAR2
1540 IS
1541 l_component_type VARCHAR2(80) ;
1542 l_component_code VARCHAR2(30) ;
1543 l_component_type_code VARCHAR2(1) ;
1544 l_component_appl_id INTEGER ;
1545 l_amb_context_code VARCHAR2(30) ;
1546 l_log_module VARCHAR2(240) ;
1547 l_output_value VARCHAR2(30) ;
1548 BEGIN
1549 IF g_log_enabled THEN
1550 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_10';
1551 END IF;
1552 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1553
1554 trace
1555 (p_msg => 'BEGIN of AcctDerRule_10'
1556 ,p_level => C_LEVEL_PROCEDURE
1557 ,p_module => l_log_module);
1558
1559 END IF;
1563 l_component_type_code := 'S';
1560
1561 l_component_type := 'AMB_ADR';
1562 l_component_code := 'AP_ERV_LOSS_NAT_ACCT_SEG';
1564 l_component_appl_id := 200;
1565 l_amb_context_code := 'DEFAULT';
1566 x_transaction_coa_id := null;
1567 x_accounting_coa_id := null;
1568 x_flexfield_segment_code := 'GL_ACCOUNT';
1569 x_flex_value_set_id := null ;
1570
1571
1572 IF NVL(p_source_10,'
1573 ') = 'ACCOUNT_SEGMENT_VALUE' AND
1574 NVL(p_source_17,'
1575 ') = 'INVENTORY'
1576 THEN
1577 --
1578 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1579
1580 trace
1581 (p_msg => 'END of AcctDerRule_10'
1582 ,p_level => C_LEVEL_PROCEDURE
1583 ,p_module => l_log_module);
1584
1585 END IF;
1586 x_value_combination_id := TO_NUMBER(p_source_18) ;
1587 x_value_segment_code := 'GL_ACCOUNT' ;
1588 x_value_type_code := 'S';
1589 l_output_value := null;
1590 RETURN l_output_value;
1591
1592 ELSE
1593 IF p_override_seg_flag = 'Y' THEN
1594 RETURN '#$NO_OVERRIDE#$';
1595 END IF;
1596 END IF;
1597
1598 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1599
1600 trace
1601 (p_msg => 'END of AcctDerRule_10(invalid)'
1602 ,p_level => C_LEVEL_PROCEDURE
1603 ,p_module => l_log_module);
1604
1605 END IF;
1606
1607 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
1608 x_value_combination_id := null;
1609 x_value_segment_code := null;
1610 x_value_type_code := null;
1611 l_output_value := null;
1612 xla_accounting_err_pkg.build_message
1613 (p_appli_s_name => 'XLA'
1614 ,p_msg_name => 'XLA_AP_INVALID_ADR'
1615 ,p_token_1 => 'COMPONENT_NAME'
1616 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
1617 l_component_type
1618 , l_component_code
1619 , l_component_type_code
1620 , l_component_appl_id
1621 , l_amb_context_code
1622 )
1623 ,p_token_2 => 'OWNER'
1624 ,p_value_2 => xla_lookups_pkg.get_meaning(
1625 'XLA_OWNER_TYPE'
1626 ,l_component_type_code
1627 )
1628 ,p_token_3 => 'PAD_NAME'
1629 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
1630 ,p_token_4 => 'PAD_OWNER'
1631 ,p_value_4 => xla_lookups_pkg.get_meaning(
1632 'XLA_OWNER_TYPE'
1633 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
1634 )
1635 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
1636 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
1637 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
1638 ,p_ae_header_id => NULL
1639 );
1640 RETURN l_output_value;
1641 EXCEPTION
1642 WHEN xla_exceptions_pkg.application_exception THEN
1643 RAISE;
1644 WHEN OTHERS THEN
1645 xla_exceptions_pkg.raise_message
1646 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctDerRule_10');
1647 END AcctDerRule_10;
1648 --
1649
1650 ---------------------------------------
1651 --
1652 -- PRIVATE FUNCTION
1653 -- AcctDerRule_11
1654 --
1655 ---------------------------------------
1656 FUNCTION AcctDerRule_11 (
1657 p_application_id IN NUMBER
1658 , p_ae_header_id IN NUMBER
1659 , p_side IN VARCHAR2
1660 , p_override_seg_flag IN VARCHAR2
1661 --Automatic Offsets Value
1662 , p_source_10 IN VARCHAR2
1663 , p_source_10_meaning IN VARCHAR2
1664 --Bank Future Dated Payment Account
1665 , p_source_19 IN NUMBER
1666 --Future Dated Payment Account Source Option
1667 , p_source_20 IN VARCHAR2
1668 , p_source_20_meaning IN VARCHAR2
1669 --Financials Options Future Dated Payment Account
1670 , p_source_21 IN NUMBER
1671 --Supplier Site Future Dated Payment Account
1672 , p_source_22 IN NUMBER
1673 , x_transaction_coa_id OUT NOCOPY NUMBER
1674 , x_accounting_coa_id OUT NOCOPY NUMBER
1675 , x_flexfield_segment_code OUT NOCOPY VARCHAR2
1676 , x_flex_value_set_id OUT NOCOPY NUMBER
1677 , x_value_type_code OUT NOCOPY VARCHAR2
1678 , x_value_combination_id OUT NOCOPY NUMBER
1679 , x_value_segment_code OUT NOCOPY VARCHAR2
1680 )
1681 RETURN VARCHAR2
1682 IS
1683 l_component_type VARCHAR2(80) ;
1684 l_component_code VARCHAR2(30) ;
1688 l_log_module VARCHAR2(240) ;
1685 l_component_type_code VARCHAR2(1) ;
1686 l_component_appl_id INTEGER ;
1687 l_amb_context_code VARCHAR2(30) ;
1689 l_output_value VARCHAR2(30) ;
1690 BEGIN
1691 IF g_log_enabled THEN
1692 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_11';
1693 END IF;
1694 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1695
1696 trace
1697 (p_msg => 'BEGIN of AcctDerRule_11'
1698 ,p_level => C_LEVEL_PROCEDURE
1699 ,p_module => l_log_module);
1700
1701 END IF;
1702
1703 l_component_type := 'AMB_ADR';
1704 l_component_code := 'AP_FUTURE_DTD_PMT_NAT_ACCT_SEG';
1705 l_component_type_code := 'S';
1706 l_component_appl_id := 200;
1707 l_amb_context_code := 'DEFAULT';
1708 x_transaction_coa_id := null;
1709 x_accounting_coa_id := null;
1710 x_flexfield_segment_code := 'GL_ACCOUNT';
1711 x_flex_value_set_id := null ;
1712
1713
1714 IF (NVL(p_source_10,'
1715 ') = 'ACCOUNT_SEGMENT_VALUE' AND
1716 NVL(p_source_20,'
1717 ') = 'BANK ACCOUNT') AND
1718 TO_NUMBER(p_source_19) IS NOT NULL
1719 THEN
1720 --
1721 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1722
1723 trace
1724 (p_msg => 'END of AcctDerRule_11'
1725 ,p_level => C_LEVEL_PROCEDURE
1726 ,p_module => l_log_module);
1727
1728 END IF;
1729 x_value_combination_id := TO_NUMBER(p_source_19) ;
1730 x_value_segment_code := 'GL_ACCOUNT' ;
1731 x_value_type_code := 'S';
1732 l_output_value := null;
1733 RETURN l_output_value;
1734
1735 ELSIF NVL(p_source_10,'
1736 ') = 'ACCOUNT_SEGMENT_VALUE' AND
1737 NVL(p_source_20,'
1738 ') = 'BANK ACCOUNT'
1739 THEN
1740 --
1741 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1742
1743 trace
1744 (p_msg => 'END of AcctDerRule_11'
1745 ,p_level => C_LEVEL_PROCEDURE
1746 ,p_module => l_log_module);
1747
1748 END IF;
1749 x_value_combination_id := TO_NUMBER(p_source_21) ;
1750 x_value_segment_code := 'GL_ACCOUNT' ;
1751 x_value_type_code := 'S';
1752 l_output_value := null;
1753 RETURN l_output_value;
1754
1755 ELSIF NVL(p_source_10,'
1756 ') = 'ACCOUNT_SEGMENT_VALUE' AND
1757 NVL(p_source_20,'
1758 ') = 'SUPPLIER SITE' AND
1759 TO_NUMBER(p_source_22) IS NOT NULL
1760 THEN
1761 --
1762 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1763
1764 trace
1765 (p_msg => 'END of AcctDerRule_11'
1766 ,p_level => C_LEVEL_PROCEDURE
1767 ,p_module => l_log_module);
1768
1769 END IF;
1770 x_value_combination_id := TO_NUMBER(p_source_22) ;
1771 x_value_segment_code := 'GL_ACCOUNT' ;
1772 x_value_type_code := 'S';
1773 l_output_value := null;
1774 RETURN l_output_value;
1775
1776 ELSIF NVL(p_source_10,'
1777 ') = 'ACCOUNT_SEGMENT_VALUE' AND
1778 NVL(p_source_20,'
1779 ') = 'SUPPLIER SITE'
1780 THEN
1781 --
1782 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1783
1784 trace
1785 (p_msg => 'END of AcctDerRule_11'
1786 ,p_level => C_LEVEL_PROCEDURE
1787 ,p_module => l_log_module);
1788
1789 END IF;
1790 x_value_combination_id := TO_NUMBER(p_source_21) ;
1791 x_value_segment_code := 'GL_ACCOUNT' ;
1792 x_value_type_code := 'S';
1793 l_output_value := null;
1794 RETURN l_output_value;
1795
1796 ELSE
1797 IF p_override_seg_flag = 'Y' THEN
1798 RETURN '#$NO_OVERRIDE#$';
1799 END IF;
1800 END IF;
1801
1802 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1803
1804 trace
1805 (p_msg => 'END of AcctDerRule_11(invalid)'
1806 ,p_level => C_LEVEL_PROCEDURE
1807 ,p_module => l_log_module);
1808
1809 END IF;
1810
1811 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
1812 x_value_combination_id := null;
1813 x_value_segment_code := null;
1814 x_value_type_code := null;
1815 l_output_value := null;
1816 xla_accounting_err_pkg.build_message
1817 (p_appli_s_name => 'XLA'
1818 ,p_msg_name => 'XLA_AP_INVALID_ADR'
1819 ,p_token_1 => 'COMPONENT_NAME'
1820 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
1821 l_component_type
1822 , l_component_code
1823 , l_component_type_code
1824 , l_component_appl_id
1825 , l_amb_context_code
1826 )
1827 ,p_token_2 => 'OWNER'
1828 ,p_value_2 => xla_lookups_pkg.get_meaning(
1829 'XLA_OWNER_TYPE'
1830 ,l_component_type_code
1831 )
1835 ,p_value_4 => xla_lookups_pkg.get_meaning(
1832 ,p_token_3 => 'PAD_NAME'
1833 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
1834 ,p_token_4 => 'PAD_OWNER'
1836 'XLA_OWNER_TYPE'
1837 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
1838 )
1839 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
1840 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
1841 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
1842 ,p_ae_header_id => NULL
1843 );
1844 RETURN l_output_value;
1845 EXCEPTION
1846 WHEN xla_exceptions_pkg.application_exception THEN
1847 RAISE;
1848 WHEN OTHERS THEN
1849 xla_exceptions_pkg.raise_message
1850 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctDerRule_11');
1851 END AcctDerRule_11;
1852 --
1853
1854 ---------------------------------------
1855 --
1856 -- PRIVATE FUNCTION
1857 -- AcctDerRule_12
1858 --
1859 ---------------------------------------
1860 FUNCTION AcctDerRule_12 (
1861 p_application_id IN NUMBER
1862 , p_ae_header_id IN NUMBER
1863 , p_side IN VARCHAR2
1864 , p_override_seg_flag IN VARCHAR2
1865 --Interest Account
1866 , p_source_23 IN NUMBER
1867 --Prorate Interest Invoice Across Distributions Option
1868 , p_source_24 IN VARCHAR2
1869 , x_transaction_coa_id OUT NOCOPY NUMBER
1870 , x_accounting_coa_id OUT NOCOPY NUMBER
1871 , x_flexfield_segment_code OUT NOCOPY VARCHAR2
1872 , x_flex_value_set_id OUT NOCOPY NUMBER
1873 , x_value_type_code OUT NOCOPY VARCHAR2
1874 , x_value_combination_id OUT NOCOPY NUMBER
1875 , x_value_segment_code OUT NOCOPY VARCHAR2
1876 )
1877 RETURN VARCHAR2
1878 IS
1879 l_component_type VARCHAR2(80) ;
1880 l_component_code VARCHAR2(30) ;
1881 l_component_type_code VARCHAR2(1) ;
1882 l_component_appl_id INTEGER ;
1883 l_amb_context_code VARCHAR2(30) ;
1884 l_log_module VARCHAR2(240) ;
1885 l_output_value VARCHAR2(30) ;
1886 BEGIN
1887 IF g_log_enabled THEN
1888 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_12';
1889 END IF;
1890 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1891
1892 trace
1893 (p_msg => 'BEGIN of AcctDerRule_12'
1894 ,p_level => C_LEVEL_PROCEDURE
1895 ,p_module => l_log_module);
1896
1897 END IF;
1898
1899 l_component_type := 'AMB_ADR';
1900 l_component_code := 'AP_INTEREST_NAT_ACCT_SEG';
1901 l_component_type_code := 'S';
1902 l_component_appl_id := 200;
1903 l_amb_context_code := 'DEFAULT';
1904 x_transaction_coa_id := null;
1905 x_accounting_coa_id := null;
1906 x_flexfield_segment_code := 'GL_ACCOUNT';
1907 x_flex_value_set_id := null ;
1908
1909
1910 IF NVL(p_source_24,'
1911 ') = 'Y'
1912 THEN
1913 --
1914 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1915
1916 trace
1917 (p_msg => 'END of AcctDerRule_12'
1918 ,p_level => C_LEVEL_PROCEDURE
1919 ,p_module => l_log_module);
1920
1921 END IF;
1922 x_value_combination_id := TO_NUMBER(p_source_23) ;
1923 x_value_segment_code := 'GL_ACCOUNT' ;
1924 x_value_type_code := 'S';
1925 l_output_value := null;
1926 RETURN l_output_value;
1927
1928 ELSE
1929 IF p_override_seg_flag = 'Y' THEN
1930 RETURN '#$NO_OVERRIDE#$';
1931 END IF;
1932 END IF;
1933
1934 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1935
1936 trace
1937 (p_msg => 'END of AcctDerRule_12(invalid)'
1938 ,p_level => C_LEVEL_PROCEDURE
1939 ,p_module => l_log_module);
1940
1941 END IF;
1942
1943 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
1944 x_value_combination_id := null;
1945 x_value_segment_code := null;
1946 x_value_type_code := null;
1947 l_output_value := null;
1948 xla_accounting_err_pkg.build_message
1949 (p_appli_s_name => 'XLA'
1950 ,p_msg_name => 'XLA_AP_INVALID_ADR'
1951 ,p_token_1 => 'COMPONENT_NAME'
1952 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
1953 l_component_type
1954 , l_component_code
1955 , l_component_type_code
1956 , l_component_appl_id
1957 , l_amb_context_code
1958 )
1959 ,p_token_2 => 'OWNER'
1960 ,p_value_2 => xla_lookups_pkg.get_meaning(
1961 'XLA_OWNER_TYPE'
1962 ,l_component_type_code
1966 ,p_token_4 => 'PAD_OWNER'
1963 )
1964 ,p_token_3 => 'PAD_NAME'
1965 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
1967 ,p_value_4 => xla_lookups_pkg.get_meaning(
1968 'XLA_OWNER_TYPE'
1969 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
1970 )
1971 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
1972 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
1973 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
1974 ,p_ae_header_id => NULL
1975 );
1976 RETURN l_output_value;
1977 EXCEPTION
1978 WHEN xla_exceptions_pkg.application_exception THEN
1979 RAISE;
1980 WHEN OTHERS THEN
1981 xla_exceptions_pkg.raise_message
1982 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctDerRule_12');
1983 END AcctDerRule_12;
1984 --
1985
1986 ---------------------------------------
1987 --
1988 -- PRIVATE FUNCTION
1989 -- AcctDerRule_13
1990 --
1991 ---------------------------------------
1992 FUNCTION AcctDerRule_13 (
1993 p_application_id IN NUMBER
1994 , p_ae_header_id IN NUMBER
1995 , p_side IN VARCHAR2
1996 , p_override_seg_flag IN VARCHAR2
1997 --Invoice Distribution Account
1998 , p_source_25 IN NUMBER
1999 --Prepaid Expense Account Source Option
2000 , p_source_26 IN VARCHAR2
2001 , p_source_26_meaning IN VARCHAR2
2002 --Purchase Order Number
2003 , p_source_27 IN VARCHAR2
2004 --Invoice Distribution Type
2005 , p_source_28 IN VARCHAR2
2006 , p_source_28_meaning IN VARCHAR2
2007 , x_transaction_coa_id OUT NOCOPY NUMBER
2008 , x_accounting_coa_id OUT NOCOPY NUMBER
2009 , x_flexfield_segment_code OUT NOCOPY VARCHAR2
2010 , x_flex_value_set_id OUT NOCOPY NUMBER
2011 , x_value_type_code OUT NOCOPY VARCHAR2
2012 , x_value_combination_id OUT NOCOPY NUMBER
2013 , x_value_segment_code OUT NOCOPY VARCHAR2
2014 )
2015 RETURN VARCHAR2
2016 IS
2017 l_component_type VARCHAR2(80) ;
2018 l_component_code VARCHAR2(30) ;
2019 l_component_type_code VARCHAR2(1) ;
2020 l_component_appl_id INTEGER ;
2021 l_amb_context_code VARCHAR2(30) ;
2022 l_log_module VARCHAR2(240) ;
2023 l_output_value VARCHAR2(30) ;
2024 BEGIN
2025 IF g_log_enabled THEN
2026 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_13';
2027 END IF;
2028 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
2029
2030 trace
2031 (p_msg => 'BEGIN of AcctDerRule_13'
2032 ,p_level => C_LEVEL_PROCEDURE
2033 ,p_module => l_log_module);
2034
2035 END IF;
2036
2037 l_component_type := 'AMB_ADR';
2038 l_component_code := 'AP_INVOICE_DIST_NAT_ACCT_ITEM';
2039 l_component_type_code := 'S';
2040 l_component_appl_id := 200;
2041 l_amb_context_code := 'DEFAULT';
2042 x_transaction_coa_id := null;
2043 x_accounting_coa_id := null;
2044 x_flexfield_segment_code := 'GL_ACCOUNT';
2045 x_flex_value_set_id := null ;
2046
2047
2048 IF NVL(p_source_26,'
2049 ') = 'Y' AND
2050 p_source_27 IS NOT NULL AND
2051 NVL(p_source_28,'
2052 ') = 'ITEM'
2053 THEN
2054 --
2055 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
2056
2057 trace
2058 (p_msg => 'END of AcctDerRule_13'
2059 ,p_level => C_LEVEL_PROCEDURE
2060 ,p_module => l_log_module);
2061
2062 END IF;
2063 x_value_combination_id := TO_NUMBER(p_source_25) ;
2064 x_value_segment_code := 'GL_ACCOUNT' ;
2065 x_value_type_code := 'S';
2066 l_output_value := null;
2067 RETURN l_output_value;
2068
2069 ELSE
2070 IF p_override_seg_flag = 'Y' THEN
2071 RETURN '#$NO_OVERRIDE#$';
2072 END IF;
2073 END IF;
2074
2075 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
2076
2077 trace
2078 (p_msg => 'END of AcctDerRule_13(invalid)'
2079 ,p_level => C_LEVEL_PROCEDURE
2080 ,p_module => l_log_module);
2081
2082 END IF;
2083
2084 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
2085 x_value_combination_id := null;
2086 x_value_segment_code := null;
2087 x_value_type_code := null;
2088 l_output_value := null;
2089 xla_accounting_err_pkg.build_message
2090 (p_appli_s_name => 'XLA'
2091 ,p_msg_name => 'XLA_AP_INVALID_ADR'
2092 ,p_token_1 => 'COMPONENT_NAME'
2093 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
2094 l_component_type
2095 , l_component_code
2099 )
2096 , l_component_type_code
2097 , l_component_appl_id
2098 , l_amb_context_code
2100 ,p_token_2 => 'OWNER'
2101 ,p_value_2 => xla_lookups_pkg.get_meaning(
2102 'XLA_OWNER_TYPE'
2103 ,l_component_type_code
2104 )
2105 ,p_token_3 => 'PAD_NAME'
2106 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
2107 ,p_token_4 => 'PAD_OWNER'
2108 ,p_value_4 => xla_lookups_pkg.get_meaning(
2109 'XLA_OWNER_TYPE'
2110 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
2111 )
2112 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
2113 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
2114 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
2115 ,p_ae_header_id => NULL
2116 );
2117 RETURN l_output_value;
2118 EXCEPTION
2119 WHEN xla_exceptions_pkg.application_exception THEN
2120 RAISE;
2121 WHEN OTHERS THEN
2122 xla_exceptions_pkg.raise_message
2123 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctDerRule_13');
2124 END AcctDerRule_13;
2125 --
2126
2127 ---------------------------------------
2128 --
2129 -- PRIVATE FUNCTION
2130 -- AcctDerRule_14
2131 --
2132 ---------------------------------------
2133 FUNCTION AcctDerRule_14 (
2134 p_application_id IN NUMBER
2135 , p_ae_header_id IN NUMBER
2136 , p_side IN VARCHAR2
2137 , p_override_seg_flag IN VARCHAR2
2138 --Automatic Offsets Value
2139 , p_source_10 IN VARCHAR2
2140 , p_source_10_meaning IN VARCHAR2
2141 --Invoice Distribution Account
2142 , p_source_25 IN NUMBER
2143 , x_transaction_coa_id OUT NOCOPY NUMBER
2144 , x_accounting_coa_id OUT NOCOPY NUMBER
2145 , x_flexfield_segment_code OUT NOCOPY VARCHAR2
2146 , x_flex_value_set_id OUT NOCOPY NUMBER
2147 , x_value_type_code OUT NOCOPY VARCHAR2
2148 , x_value_combination_id OUT NOCOPY NUMBER
2149 , x_value_segment_code OUT NOCOPY VARCHAR2
2150 )
2151 RETURN VARCHAR2
2152 IS
2153 l_component_type VARCHAR2(80) ;
2154 l_component_code VARCHAR2(30) ;
2155 l_component_type_code VARCHAR2(1) ;
2156 l_component_appl_id INTEGER ;
2157 l_amb_context_code VARCHAR2(30) ;
2158 l_log_module VARCHAR2(240) ;
2159 l_output_value VARCHAR2(30) ;
2160 BEGIN
2161 IF g_log_enabled THEN
2162 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_14';
2163 END IF;
2164 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
2165
2166 trace
2167 (p_msg => 'BEGIN of AcctDerRule_14'
2168 ,p_level => C_LEVEL_PROCEDURE
2169 ,p_module => l_log_module);
2170
2171 END IF;
2172
2173 l_component_type := 'AMB_ADR';
2174 l_component_code := 'AP_INVOICE_DIST_NAT_ACCT_SEG';
2175 l_component_type_code := 'S';
2176 l_component_appl_id := 200;
2177 l_amb_context_code := 'DEFAULT';
2178 x_transaction_coa_id := null;
2179 x_accounting_coa_id := null;
2180 x_flexfield_segment_code := 'GL_ACCOUNT';
2181 x_flex_value_set_id := null ;
2182
2183
2184 IF NVL(p_source_10,'
2185 ') = 'ACCOUNT_SEGMENT_VALUE'
2186 THEN
2187 --
2188 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
2189
2190 trace
2191 (p_msg => 'END of AcctDerRule_14'
2192 ,p_level => C_LEVEL_PROCEDURE
2193 ,p_module => l_log_module);
2194
2195 END IF;
2196 x_value_combination_id := TO_NUMBER(p_source_25) ;
2197 x_value_segment_code := 'GL_ACCOUNT' ;
2198 x_value_type_code := 'S';
2199 l_output_value := null;
2200 RETURN l_output_value;
2201
2202 ELSE
2203 IF p_override_seg_flag = 'Y' THEN
2204 RETURN '#$NO_OVERRIDE#$';
2205 END IF;
2206 END IF;
2207
2208 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
2209
2210 trace
2211 (p_msg => 'END of AcctDerRule_14(invalid)'
2212 ,p_level => C_LEVEL_PROCEDURE
2213 ,p_module => l_log_module);
2214
2215 END IF;
2216
2217 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
2218 x_value_combination_id := null;
2219 x_value_segment_code := null;
2220 x_value_type_code := null;
2221 l_output_value := null;
2222 xla_accounting_err_pkg.build_message
2223 (p_appli_s_name => 'XLA'
2224 ,p_msg_name => 'XLA_AP_INVALID_ADR'
2225 ,p_token_1 => 'COMPONENT_NAME'
2229 , l_component_type_code
2226 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
2227 l_component_type
2228 , l_component_code
2230 , l_component_appl_id
2231 , l_amb_context_code
2232 )
2233 ,p_token_2 => 'OWNER'
2234 ,p_value_2 => xla_lookups_pkg.get_meaning(
2235 'XLA_OWNER_TYPE'
2236 ,l_component_type_code
2237 )
2238 ,p_token_3 => 'PAD_NAME'
2239 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
2240 ,p_token_4 => 'PAD_OWNER'
2241 ,p_value_4 => xla_lookups_pkg.get_meaning(
2242 'XLA_OWNER_TYPE'
2243 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
2244 )
2245 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
2246 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
2247 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
2248 ,p_ae_header_id => NULL
2249 );
2250 RETURN l_output_value;
2251 EXCEPTION
2252 WHEN xla_exceptions_pkg.application_exception THEN
2253 RAISE;
2254 WHEN OTHERS THEN
2255 xla_exceptions_pkg.raise_message
2256 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctDerRule_14');
2257 END AcctDerRule_14;
2258 --
2259
2260 ---------------------------------------
2261 --
2262 -- PRIVATE FUNCTION
2263 -- AcctDerRule_15
2264 --
2265 ---------------------------------------
2266 FUNCTION AcctDerRule_15 (
2267 p_application_id IN NUMBER
2268 , p_ae_header_id IN NUMBER
2269 , p_side IN VARCHAR2
2270 , p_override_seg_flag IN VARCHAR2
2271 --Invoice Liability Account
2272 , p_source_29 IN NUMBER
2273 , x_transaction_coa_id OUT NOCOPY NUMBER
2274 , x_accounting_coa_id OUT NOCOPY NUMBER
2275 , x_flexfield_segment_code OUT NOCOPY VARCHAR2
2276 , x_flex_value_set_id OUT NOCOPY NUMBER
2277 , x_value_type_code OUT NOCOPY VARCHAR2
2278 , x_value_combination_id OUT NOCOPY NUMBER
2279 , x_value_segment_code OUT NOCOPY VARCHAR2
2280 )
2281 RETURN VARCHAR2
2282 IS
2283 l_component_type VARCHAR2(80) ;
2284 l_component_code VARCHAR2(30) ;
2285 l_component_type_code VARCHAR2(1) ;
2286 l_component_appl_id INTEGER ;
2287 l_amb_context_code VARCHAR2(30) ;
2288 l_log_module VARCHAR2(240) ;
2289 l_output_value VARCHAR2(30) ;
2290 BEGIN
2291 IF g_log_enabled THEN
2292 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_15';
2293 END IF;
2294 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
2295
2296 trace
2297 (p_msg => 'BEGIN of AcctDerRule_15'
2298 ,p_level => C_LEVEL_PROCEDURE
2299 ,p_module => l_log_module);
2300
2301 END IF;
2302
2303 l_component_type := 'AMB_ADR';
2304 l_component_code := 'AP_LIAB_NAT_ACCT_SEG';
2305 l_component_type_code := 'S';
2306 l_component_appl_id := 200;
2307 l_amb_context_code := 'DEFAULT';
2308 x_transaction_coa_id := null;
2309 x_accounting_coa_id := null;
2310 x_flexfield_segment_code := 'GL_ACCOUNT';
2311 x_flex_value_set_id := null ;
2312
2313
2314 --
2315 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
2316
2317 trace
2318 (p_msg => 'END of AcctDerRule_15'
2319 ,p_level => C_LEVEL_PROCEDURE
2320 ,p_module => l_log_module);
2321
2322 END IF;
2323 x_value_combination_id := TO_NUMBER(p_source_29) ;
2324 x_value_segment_code := 'GL_ACCOUNT' ;
2325 x_value_type_code := 'S';
2326 l_output_value := null;
2327 RETURN l_output_value;
2328
2329
2330 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
2331
2332 trace
2333 (p_msg => 'END of AcctDerRule_15(invalid)'
2334 ,p_level => C_LEVEL_PROCEDURE
2335 ,p_module => l_log_module);
2336
2337 END IF;
2338
2339 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
2340 x_value_combination_id := null;
2341 x_value_segment_code := null;
2342 x_value_type_code := null;
2343 l_output_value := null;
2344 xla_accounting_err_pkg.build_message
2345 (p_appli_s_name => 'XLA'
2346 ,p_msg_name => 'XLA_AP_INVALID_ADR'
2347 ,p_token_1 => 'COMPONENT_NAME'
2348 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
2349 l_component_type
2353 , l_amb_context_code
2350 , l_component_code
2351 , l_component_type_code
2352 , l_component_appl_id
2354 )
2355 ,p_token_2 => 'OWNER'
2356 ,p_value_2 => xla_lookups_pkg.get_meaning(
2357 'XLA_OWNER_TYPE'
2358 ,l_component_type_code
2359 )
2360 ,p_token_3 => 'PAD_NAME'
2361 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
2362 ,p_token_4 => 'PAD_OWNER'
2363 ,p_value_4 => xla_lookups_pkg.get_meaning(
2364 'XLA_OWNER_TYPE'
2365 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
2366 )
2367 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
2368 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
2369 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
2370 ,p_ae_header_id => NULL
2371 );
2372 RETURN l_output_value;
2373 EXCEPTION
2374 WHEN xla_exceptions_pkg.application_exception THEN
2375 RAISE;
2376 WHEN OTHERS THEN
2377 xla_exceptions_pkg.raise_message
2378 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctDerRule_15');
2379 END AcctDerRule_15;
2380 --
2381
2382 ---------------------------------------
2383 --
2384 -- PRIVATE FUNCTION
2385 -- AcctDerRule_16
2386 --
2387 ---------------------------------------
2388 FUNCTION AcctDerRule_16 (
2389 p_application_id IN NUMBER
2390 , p_ae_header_id IN NUMBER
2391 , p_side IN VARCHAR2
2392 , p_override_seg_flag IN VARCHAR2
2393 --Bank Cash Clearing Account
2394 , p_source_30 IN NUMBER
2395 , x_transaction_coa_id OUT NOCOPY NUMBER
2396 , x_accounting_coa_id OUT NOCOPY NUMBER
2397 , x_flexfield_segment_code OUT NOCOPY VARCHAR2
2398 , x_flex_value_set_id OUT NOCOPY NUMBER
2399 , x_value_type_code OUT NOCOPY VARCHAR2
2400 , x_value_combination_id OUT NOCOPY NUMBER
2401 , x_value_segment_code OUT NOCOPY VARCHAR2
2402 )
2403 RETURN VARCHAR2
2404 IS
2405 l_component_type VARCHAR2(80) ;
2406 l_component_code VARCHAR2(30) ;
2407 l_component_type_code VARCHAR2(1) ;
2408 l_component_appl_id INTEGER ;
2409 l_amb_context_code VARCHAR2(30) ;
2410 l_log_module VARCHAR2(240) ;
2411 l_output_value VARCHAR2(30) ;
2412 BEGIN
2413 IF g_log_enabled THEN
2414 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_16';
2415 END IF;
2416 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
2417
2418 trace
2419 (p_msg => 'BEGIN of AcctDerRule_16'
2420 ,p_level => C_LEVEL_PROCEDURE
2421 ,p_module => l_log_module);
2422
2423 END IF;
2424
2425 l_component_type := 'AMB_ADR';
2426 l_component_code := 'AP_PMT_CASH_CLEAR_NAT_ACC_POOL';
2427 l_component_type_code := 'S';
2428 l_component_appl_id := 200;
2429 l_amb_context_code := 'DEFAULT';
2430 x_transaction_coa_id := null;
2431 x_accounting_coa_id := null;
2432 x_flexfield_segment_code := 'GL_ACCOUNT';
2433 x_flex_value_set_id := null ;
2434
2435
2436 --
2437 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
2438
2439 trace
2440 (p_msg => 'END of AcctDerRule_16'
2441 ,p_level => C_LEVEL_PROCEDURE
2442 ,p_module => l_log_module);
2443
2444 END IF;
2445 x_value_combination_id := TO_NUMBER(p_source_30) ;
2446 x_value_segment_code := 'GL_ACCOUNT' ;
2447 x_value_type_code := 'S';
2448 l_output_value := null;
2449 RETURN l_output_value;
2450
2451
2452 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
2453
2454 trace
2455 (p_msg => 'END of AcctDerRule_16(invalid)'
2456 ,p_level => C_LEVEL_PROCEDURE
2457 ,p_module => l_log_module);
2458
2459 END IF;
2460
2461 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
2462 x_value_combination_id := null;
2463 x_value_segment_code := null;
2464 x_value_type_code := null;
2465 l_output_value := null;
2466 xla_accounting_err_pkg.build_message
2467 (p_appli_s_name => 'XLA'
2468 ,p_msg_name => 'XLA_AP_INVALID_ADR'
2469 ,p_token_1 => 'COMPONENT_NAME'
2470 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
2471 l_component_type
2472 , l_component_code
2473 , l_component_type_code
2474 , l_component_appl_id
2475 , l_amb_context_code
2476 )
2480 ,l_component_type_code
2477 ,p_token_2 => 'OWNER'
2478 ,p_value_2 => xla_lookups_pkg.get_meaning(
2479 'XLA_OWNER_TYPE'
2481 )
2482 ,p_token_3 => 'PAD_NAME'
2483 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
2484 ,p_token_4 => 'PAD_OWNER'
2485 ,p_value_4 => xla_lookups_pkg.get_meaning(
2486 'XLA_OWNER_TYPE'
2487 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
2488 )
2489 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
2490 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
2491 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
2492 ,p_ae_header_id => NULL
2493 );
2494 RETURN l_output_value;
2495 EXCEPTION
2496 WHEN xla_exceptions_pkg.application_exception THEN
2497 RAISE;
2498 WHEN OTHERS THEN
2499 xla_exceptions_pkg.raise_message
2500 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctDerRule_16');
2501 END AcctDerRule_16;
2502 --
2503
2504 ---------------------------------------
2505 --
2506 -- PRIVATE FUNCTION
2507 -- AcctDerRule_17
2508 --
2509 ---------------------------------------
2510 FUNCTION AcctDerRule_17 (
2511 p_application_id IN NUMBER
2512 , p_ae_header_id IN NUMBER
2513 , p_side IN VARCHAR2
2514 , p_override_seg_flag IN VARCHAR2
2515 --Automatic Offsets Value
2516 , p_source_10 IN VARCHAR2
2517 , p_source_10_meaning IN VARCHAR2
2518 --Internal Realized Gain Account
2519 , p_source_31 IN NUMBER
2520 --Bank Gain Account
2521 , p_source_32 IN NUMBER
2522 , x_transaction_coa_id OUT NOCOPY NUMBER
2523 , x_accounting_coa_id OUT NOCOPY NUMBER
2524 , x_flexfield_segment_code OUT NOCOPY VARCHAR2
2525 , x_flex_value_set_id OUT NOCOPY NUMBER
2526 , x_value_type_code OUT NOCOPY VARCHAR2
2527 , x_value_combination_id OUT NOCOPY NUMBER
2528 , x_value_segment_code OUT NOCOPY VARCHAR2
2529 )
2530 RETURN VARCHAR2
2531 IS
2532 l_component_type VARCHAR2(80) ;
2533 l_component_code VARCHAR2(30) ;
2534 l_component_type_code VARCHAR2(1) ;
2535 l_component_appl_id INTEGER ;
2536 l_amb_context_code VARCHAR2(30) ;
2537 l_log_module VARCHAR2(240) ;
2538 l_output_value VARCHAR2(30) ;
2539 BEGIN
2540 IF g_log_enabled THEN
2541 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_17';
2542 END IF;
2543 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
2544
2545 trace
2546 (p_msg => 'BEGIN of AcctDerRule_17'
2547 ,p_level => C_LEVEL_PROCEDURE
2548 ,p_module => l_log_module);
2549
2550 END IF;
2551
2552 l_component_type := 'AMB_ADR';
2553 l_component_code := 'AP_REAL_GAIN_NAT_ACCT_SEG';
2554 l_component_type_code := 'S';
2555 l_component_appl_id := 200;
2556 l_amb_context_code := 'DEFAULT';
2557 x_transaction_coa_id := null;
2558 x_accounting_coa_id := null;
2559 x_flexfield_segment_code := 'GL_ACCOUNT';
2560 x_flex_value_set_id := null ;
2561
2562
2563 IF NVL(p_source_10,'
2564 ') = 'ACCOUNT_SEGMENT_VALUE'
2565 THEN
2566 --
2567 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
2568
2569 trace
2570 (p_msg => 'END of AcctDerRule_17'
2571 ,p_level => C_LEVEL_PROCEDURE
2572 ,p_module => l_log_module);
2573
2574 END IF;
2575 x_value_combination_id := TO_NUMBER(p_source_31) ;
2576 x_value_segment_code := 'GL_ACCOUNT' ;
2577 x_value_type_code := 'S';
2578 l_output_value := null;
2579 RETURN l_output_value;
2580
2581 ELSIF NVL(p_source_10,'
2582 ') = 'ACCOUNT_SEGMENT_VALUE'
2583 THEN
2584 --
2585 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
2586
2587 trace
2588 (p_msg => 'END of AcctDerRule_17'
2589 ,p_level => C_LEVEL_PROCEDURE
2590 ,p_module => l_log_module);
2591
2592 END IF;
2593 x_value_combination_id := TO_NUMBER(p_source_32) ;
2594 x_value_segment_code := 'GL_ACCOUNT' ;
2595 x_value_type_code := 'S';
2596 l_output_value := null;
2597 RETURN l_output_value;
2598
2599 ELSE
2600 IF p_override_seg_flag = 'Y' THEN
2601 RETURN '#$NO_OVERRIDE#$';
2602 END IF;
2603 END IF;
2604
2605 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
2606
2607 trace
2608 (p_msg => 'END of AcctDerRule_17(invalid)'
2609 ,p_level => C_LEVEL_PROCEDURE
2610 ,p_module => l_log_module);
2611
2612 END IF;
2613
2614 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
2615 x_value_combination_id := null;
2616 x_value_segment_code := null;
2620 (p_appli_s_name => 'XLA'
2617 x_value_type_code := null;
2618 l_output_value := null;
2619 xla_accounting_err_pkg.build_message
2621 ,p_msg_name => 'XLA_AP_INVALID_ADR'
2622 ,p_token_1 => 'COMPONENT_NAME'
2623 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
2624 l_component_type
2625 , l_component_code
2626 , l_component_type_code
2627 , l_component_appl_id
2628 , l_amb_context_code
2629 )
2630 ,p_token_2 => 'OWNER'
2631 ,p_value_2 => xla_lookups_pkg.get_meaning(
2632 'XLA_OWNER_TYPE'
2633 ,l_component_type_code
2634 )
2635 ,p_token_3 => 'PAD_NAME'
2636 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
2637 ,p_token_4 => 'PAD_OWNER'
2638 ,p_value_4 => xla_lookups_pkg.get_meaning(
2639 'XLA_OWNER_TYPE'
2640 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
2641 )
2642 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
2643 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
2644 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
2645 ,p_ae_header_id => NULL
2646 );
2647 RETURN l_output_value;
2648 EXCEPTION
2649 WHEN xla_exceptions_pkg.application_exception THEN
2650 RAISE;
2651 WHEN OTHERS THEN
2652 xla_exceptions_pkg.raise_message
2653 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctDerRule_17');
2654 END AcctDerRule_17;
2655 --
2656
2657 ---------------------------------------
2658 --
2659 -- PRIVATE FUNCTION
2660 -- AcctDerRule_18
2661 --
2662 ---------------------------------------
2663 FUNCTION AcctDerRule_18 (
2664 p_application_id IN NUMBER
2665 , p_ae_header_id IN NUMBER
2666 , p_side IN VARCHAR2
2667 , p_override_seg_flag IN VARCHAR2
2668 --Automatic Offsets Value
2669 , p_source_10 IN VARCHAR2
2670 , p_source_10_meaning IN VARCHAR2
2671 --Internal Realized Loss Account
2672 , p_source_33 IN NUMBER
2673 --Bank Loss Account
2674 , p_source_34 IN NUMBER
2675 , x_transaction_coa_id OUT NOCOPY NUMBER
2676 , x_accounting_coa_id OUT NOCOPY NUMBER
2677 , x_flexfield_segment_code OUT NOCOPY VARCHAR2
2678 , x_flex_value_set_id OUT NOCOPY NUMBER
2679 , x_value_type_code OUT NOCOPY VARCHAR2
2680 , x_value_combination_id OUT NOCOPY NUMBER
2681 , x_value_segment_code OUT NOCOPY VARCHAR2
2682 )
2683 RETURN VARCHAR2
2684 IS
2685 l_component_type VARCHAR2(80) ;
2686 l_component_code VARCHAR2(30) ;
2687 l_component_type_code VARCHAR2(1) ;
2688 l_component_appl_id INTEGER ;
2689 l_amb_context_code VARCHAR2(30) ;
2690 l_log_module VARCHAR2(240) ;
2691 l_output_value VARCHAR2(30) ;
2692 BEGIN
2693 IF g_log_enabled THEN
2694 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_18';
2695 END IF;
2696 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
2697
2698 trace
2699 (p_msg => 'BEGIN of AcctDerRule_18'
2700 ,p_level => C_LEVEL_PROCEDURE
2701 ,p_module => l_log_module);
2702
2703 END IF;
2704
2705 l_component_type := 'AMB_ADR';
2706 l_component_code := 'AP_REAL_LOSS_NAT_ACCT_SEG';
2707 l_component_type_code := 'S';
2708 l_component_appl_id := 200;
2709 l_amb_context_code := 'DEFAULT';
2710 x_transaction_coa_id := null;
2711 x_accounting_coa_id := null;
2712 x_flexfield_segment_code := 'GL_ACCOUNT';
2713 x_flex_value_set_id := null ;
2714
2715
2716 IF NVL(p_source_10,'
2717 ') = 'ACCOUNT_SEGMENT_VALUE'
2718 THEN
2719 --
2720 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
2721
2722 trace
2723 (p_msg => 'END of AcctDerRule_18'
2724 ,p_level => C_LEVEL_PROCEDURE
2725 ,p_module => l_log_module);
2726
2727 END IF;
2728 x_value_combination_id := TO_NUMBER(p_source_33) ;
2729 x_value_segment_code := 'GL_ACCOUNT' ;
2730 x_value_type_code := 'S';
2731 l_output_value := null;
2732 RETURN l_output_value;
2733
2734 ELSIF NVL(p_source_10,'
2735 ') = 'ACCOUNT_SEGMENT_VALUE'
2736 THEN
2737 --
2738 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
2739
2740 trace
2741 (p_msg => 'END of AcctDerRule_18'
2742 ,p_level => C_LEVEL_PROCEDURE
2743 ,p_module => l_log_module);
2744
2745 END IF;
2746 x_value_combination_id := TO_NUMBER(p_source_34) ;
2750 RETURN l_output_value;
2747 x_value_segment_code := 'GL_ACCOUNT' ;
2748 x_value_type_code := 'S';
2749 l_output_value := null;
2751
2752 ELSE
2753 IF p_override_seg_flag = 'Y' THEN
2754 RETURN '#$NO_OVERRIDE#$';
2755 END IF;
2756 END IF;
2757
2758 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
2759
2760 trace
2761 (p_msg => 'END of AcctDerRule_18(invalid)'
2762 ,p_level => C_LEVEL_PROCEDURE
2763 ,p_module => l_log_module);
2764
2765 END IF;
2766
2767 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
2768 x_value_combination_id := null;
2769 x_value_segment_code := null;
2770 x_value_type_code := null;
2771 l_output_value := null;
2772 xla_accounting_err_pkg.build_message
2773 (p_appli_s_name => 'XLA'
2774 ,p_msg_name => 'XLA_AP_INVALID_ADR'
2775 ,p_token_1 => 'COMPONENT_NAME'
2776 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
2777 l_component_type
2778 , l_component_code
2779 , l_component_type_code
2780 , l_component_appl_id
2781 , l_amb_context_code
2782 )
2783 ,p_token_2 => 'OWNER'
2784 ,p_value_2 => xla_lookups_pkg.get_meaning(
2785 'XLA_OWNER_TYPE'
2786 ,l_component_type_code
2787 )
2788 ,p_token_3 => 'PAD_NAME'
2789 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
2790 ,p_token_4 => 'PAD_OWNER'
2791 ,p_value_4 => xla_lookups_pkg.get_meaning(
2792 'XLA_OWNER_TYPE'
2793 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
2794 )
2795 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
2796 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
2797 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
2798 ,p_ae_header_id => NULL
2799 );
2800 RETURN l_output_value;
2801 EXCEPTION
2802 WHEN xla_exceptions_pkg.application_exception THEN
2803 RAISE;
2804 WHEN OTHERS THEN
2805 xla_exceptions_pkg.raise_message
2806 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctDerRule_18');
2807 END AcctDerRule_18;
2808 --
2809
2810 ---------------------------------------
2811 --
2812 -- PRIVATE FUNCTION
2813 -- AcctDerRule_19
2814 --
2815 ---------------------------------------
2816 FUNCTION AcctDerRule_19 (
2817 p_application_id IN NUMBER
2818 , p_ae_header_id IN NUMBER
2819 , p_side IN VARCHAR2
2820 , p_override_seg_flag IN VARCHAR2
2821 --Retainage Account
2822 , p_source_35 IN NUMBER
2823 , x_transaction_coa_id OUT NOCOPY NUMBER
2824 , x_accounting_coa_id OUT NOCOPY NUMBER
2825 , x_flexfield_segment_code OUT NOCOPY VARCHAR2
2826 , x_flex_value_set_id OUT NOCOPY NUMBER
2827 , x_value_type_code OUT NOCOPY VARCHAR2
2828 , x_value_combination_id OUT NOCOPY NUMBER
2829 , x_value_segment_code OUT NOCOPY VARCHAR2
2830 )
2831 RETURN VARCHAR2
2832 IS
2833 l_component_type VARCHAR2(80) ;
2834 l_component_code VARCHAR2(30) ;
2835 l_component_type_code VARCHAR2(1) ;
2836 l_component_appl_id INTEGER ;
2837 l_amb_context_code VARCHAR2(30) ;
2838 l_log_module VARCHAR2(240) ;
2839 l_output_value VARCHAR2(30) ;
2840 BEGIN
2841 IF g_log_enabled THEN
2842 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_19';
2843 END IF;
2844 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
2845
2846 trace
2847 (p_msg => 'BEGIN of AcctDerRule_19'
2848 ,p_level => C_LEVEL_PROCEDURE
2849 ,p_module => l_log_module);
2850
2851 END IF;
2852
2853 l_component_type := 'AMB_ADR';
2854 l_component_code := 'AP_RETAIN_NAT_ACCT_SEG';
2855 l_component_type_code := 'S';
2856 l_component_appl_id := 200;
2857 l_amb_context_code := 'DEFAULT';
2858 x_transaction_coa_id := null;
2859 x_accounting_coa_id := null;
2860 x_flexfield_segment_code := 'GL_ACCOUNT';
2861 x_flex_value_set_id := null ;
2862
2863
2864 --
2865 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
2866
2867 trace
2868 (p_msg => 'END of AcctDerRule_19'
2869 ,p_level => C_LEVEL_PROCEDURE
2870 ,p_module => l_log_module);
2871
2872 END IF;
2873 x_value_combination_id := TO_NUMBER(p_source_35) ;
2877 RETURN l_output_value;
2874 x_value_segment_code := 'GL_ACCOUNT' ;
2875 x_value_type_code := 'S';
2876 l_output_value := null;
2878
2879
2880 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
2881
2882 trace
2883 (p_msg => 'END of AcctDerRule_19(invalid)'
2884 ,p_level => C_LEVEL_PROCEDURE
2885 ,p_module => l_log_module);
2886
2887 END IF;
2888
2889 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
2890 x_value_combination_id := null;
2891 x_value_segment_code := null;
2892 x_value_type_code := null;
2893 l_output_value := null;
2894 xla_accounting_err_pkg.build_message
2895 (p_appli_s_name => 'XLA'
2896 ,p_msg_name => 'XLA_AP_INVALID_ADR'
2897 ,p_token_1 => 'COMPONENT_NAME'
2898 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
2899 l_component_type
2900 , l_component_code
2901 , l_component_type_code
2902 , l_component_appl_id
2903 , l_amb_context_code
2904 )
2905 ,p_token_2 => 'OWNER'
2906 ,p_value_2 => xla_lookups_pkg.get_meaning(
2907 'XLA_OWNER_TYPE'
2908 ,l_component_type_code
2909 )
2910 ,p_token_3 => 'PAD_NAME'
2911 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
2912 ,p_token_4 => 'PAD_OWNER'
2913 ,p_value_4 => xla_lookups_pkg.get_meaning(
2914 'XLA_OWNER_TYPE'
2915 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
2916 )
2917 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
2918 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
2919 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
2920 ,p_ae_header_id => NULL
2921 );
2922 RETURN l_output_value;
2923 EXCEPTION
2924 WHEN xla_exceptions_pkg.application_exception THEN
2925 RAISE;
2926 WHEN OTHERS THEN
2927 xla_exceptions_pkg.raise_message
2928 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctDerRule_19');
2929 END AcctDerRule_19;
2930 --
2931
2932 ---------------------------------------
2933 --
2934 -- PRIVATE FUNCTION
2935 -- AcctDerRule_20
2936 --
2937 ---------------------------------------
2938 FUNCTION AcctDerRule_20 (
2939 p_application_id IN NUMBER
2940 , p_ae_header_id IN NUMBER
2941 , p_side IN VARCHAR2
2942 , p_override_seg_flag IN VARCHAR2
2943 --Payables Options Tax Difference Account
2944 , p_source_36 IN NUMBER
2945 , x_transaction_coa_id OUT NOCOPY NUMBER
2946 , x_accounting_coa_id OUT NOCOPY NUMBER
2947 , x_flexfield_segment_code OUT NOCOPY VARCHAR2
2948 , x_flex_value_set_id OUT NOCOPY NUMBER
2949 , x_value_type_code OUT NOCOPY VARCHAR2
2950 , x_value_combination_id OUT NOCOPY NUMBER
2951 , x_value_segment_code OUT NOCOPY VARCHAR2
2952 )
2953 RETURN VARCHAR2
2954 IS
2955 l_component_type VARCHAR2(80) ;
2956 l_component_code VARCHAR2(30) ;
2957 l_component_type_code VARCHAR2(1) ;
2958 l_component_appl_id INTEGER ;
2959 l_amb_context_code VARCHAR2(30) ;
2960 l_log_module VARCHAR2(240) ;
2961 l_output_value VARCHAR2(30) ;
2962 BEGIN
2963 IF g_log_enabled THEN
2964 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_20';
2965 END IF;
2966 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
2967
2968 trace
2969 (p_msg => 'BEGIN of AcctDerRule_20'
2970 ,p_level => C_LEVEL_PROCEDURE
2971 ,p_module => l_log_module);
2972
2973 END IF;
2974
2975 l_component_type := 'AMB_ADR';
2976 l_component_code := 'AP_TAX_DIFFERENCE_NAT_ACCT';
2977 l_component_type_code := 'S';
2978 l_component_appl_id := 200;
2979 l_amb_context_code := 'DEFAULT';
2980 x_transaction_coa_id := null;
2981 x_accounting_coa_id := null;
2982 x_flexfield_segment_code := 'GL_ACCOUNT';
2983 x_flex_value_set_id := null ;
2984
2985
2986 --
2987 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
2988
2989 trace
2990 (p_msg => 'END of AcctDerRule_20'
2991 ,p_level => C_LEVEL_PROCEDURE
2992 ,p_module => l_log_module);
2993
2994 END IF;
2995 x_value_combination_id := TO_NUMBER(p_source_36) ;
2996 x_value_segment_code := 'GL_ACCOUNT' ;
2997 x_value_type_code := 'S';
2998 l_output_value := null;
2999 RETURN l_output_value;
3000
3001
3005 (p_msg => 'END of AcctDerRule_20(invalid)'
3002 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
3003
3004 trace
3006 ,p_level => C_LEVEL_PROCEDURE
3007 ,p_module => l_log_module);
3008
3009 END IF;
3010
3011 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
3012 x_value_combination_id := null;
3013 x_value_segment_code := null;
3014 x_value_type_code := null;
3015 l_output_value := null;
3016 xla_accounting_err_pkg.build_message
3017 (p_appli_s_name => 'XLA'
3018 ,p_msg_name => 'XLA_AP_INVALID_ADR'
3019 ,p_token_1 => 'COMPONENT_NAME'
3020 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
3021 l_component_type
3022 , l_component_code
3023 , l_component_type_code
3024 , l_component_appl_id
3025 , l_amb_context_code
3026 )
3027 ,p_token_2 => 'OWNER'
3028 ,p_value_2 => xla_lookups_pkg.get_meaning(
3029 'XLA_OWNER_TYPE'
3030 ,l_component_type_code
3031 )
3032 ,p_token_3 => 'PAD_NAME'
3033 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
3034 ,p_token_4 => 'PAD_OWNER'
3035 ,p_value_4 => xla_lookups_pkg.get_meaning(
3036 'XLA_OWNER_TYPE'
3037 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
3038 )
3039 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
3040 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
3041 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
3042 ,p_ae_header_id => NULL
3043 );
3044 RETURN l_output_value;
3045 EXCEPTION
3046 WHEN xla_exceptions_pkg.application_exception THEN
3047 RAISE;
3048 WHEN OTHERS THEN
3049 xla_exceptions_pkg.raise_message
3050 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctDerRule_20');
3051 END AcctDerRule_20;
3052 --
3053
3054 ---------------------------------------
3055 --
3056 -- PRIVATE FUNCTION
3057 -- AcctDerRule_21
3058 --
3059 ---------------------------------------
3060 FUNCTION AcctDerRule_21 (
3061 p_application_id IN NUMBER
3062 , p_ae_header_id IN NUMBER
3063 , p_side IN VARCHAR2
3064 , p_override_seg_flag IN VARCHAR2
3065 --Federal DIT Confirm Account
3066 , p_source_37 IN VARCHAR2
3067 , x_transaction_coa_id OUT NOCOPY NUMBER
3068 , x_accounting_coa_id OUT NOCOPY NUMBER
3069 , x_flexfield_segment_code OUT NOCOPY VARCHAR2
3070 , x_flex_value_set_id OUT NOCOPY NUMBER
3071 , x_value_type_code OUT NOCOPY VARCHAR2
3072 , x_value_combination_id OUT NOCOPY NUMBER
3073 , x_value_segment_code OUT NOCOPY VARCHAR2
3074 )
3075 RETURN VARCHAR2
3076 IS
3077 l_component_type VARCHAR2(80) ;
3078 l_component_code VARCHAR2(30) ;
3079 l_component_type_code VARCHAR2(1) ;
3080 l_component_appl_id INTEGER ;
3081 l_amb_context_code VARCHAR2(30) ;
3082 l_log_module VARCHAR2(240) ;
3083 l_output_value VARCHAR2(30) ;
3084 BEGIN
3085 IF g_log_enabled THEN
3086 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_21';
3087 END IF;
3088 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
3089
3090 trace
3091 (p_msg => 'BEGIN of AcctDerRule_21'
3092 ,p_level => C_LEVEL_PROCEDURE
3093 ,p_module => l_log_module);
3094
3095 END IF;
3096
3097 l_component_type := 'AMB_ADR';
3098 l_component_code := 'FV_TREASURY_CONFIRM_CASH_ACCT';
3099 l_component_type_code := 'S';
3100 l_component_appl_id := 200;
3101 l_amb_context_code := 'DEFAULT';
3102 x_transaction_coa_id := null;
3103 x_accounting_coa_id := null;
3104 x_flexfield_segment_code := 'GL_ACCOUNT';
3105 x_flex_value_set_id := null ;
3106
3107
3108 --
3109 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
3110
3111 trace
3112 (p_msg => 'END of AcctDerRule_21'
3113 ,p_level => C_LEVEL_PROCEDURE
3114 ,p_module => l_log_module);
3115
3116 END IF;
3117 x_value_combination_id := null ;
3118 x_value_segment_code := null ;
3119 x_value_type_code := 'S';
3120 l_output_value := TO_CHAR(p_source_37);
3121 RETURN l_output_value;
3122
3123
3124 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
3125
3126 trace
3127 (p_msg => 'END of AcctDerRule_21(invalid)'
3128 ,p_level => C_LEVEL_PROCEDURE
3132
3129 ,p_module => l_log_module);
3130
3131 END IF;
3133 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
3134 x_value_combination_id := null;
3135 x_value_segment_code := null;
3136 x_value_type_code := null;
3137 l_output_value := null;
3138 xla_accounting_err_pkg.build_message
3139 (p_appli_s_name => 'XLA'
3140 ,p_msg_name => 'XLA_AP_INVALID_ADR'
3141 ,p_token_1 => 'COMPONENT_NAME'
3142 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
3143 l_component_type
3144 , l_component_code
3145 , l_component_type_code
3146 , l_component_appl_id
3147 , l_amb_context_code
3148 )
3149 ,p_token_2 => 'OWNER'
3150 ,p_value_2 => xla_lookups_pkg.get_meaning(
3151 'XLA_OWNER_TYPE'
3152 ,l_component_type_code
3153 )
3154 ,p_token_3 => 'PAD_NAME'
3155 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
3156 ,p_token_4 => 'PAD_OWNER'
3157 ,p_value_4 => xla_lookups_pkg.get_meaning(
3158 'XLA_OWNER_TYPE'
3159 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
3160 )
3161 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
3162 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
3163 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
3164 ,p_ae_header_id => NULL
3165 );
3166 RETURN l_output_value;
3167 EXCEPTION
3168 WHEN xla_exceptions_pkg.application_exception THEN
3169 RAISE;
3170 WHEN OTHERS THEN
3171 xla_exceptions_pkg.raise_message
3172 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctDerRule_21');
3173 END AcctDerRule_21;
3174 --
3175
3176 ---------------------------------------
3177 --
3178 -- PRIVATE FUNCTION
3179 -- AcctDerRule_22
3180 --
3181 ---------------------------------------
3182 FUNCTION AcctDerRule_22 (
3183 p_application_id IN NUMBER
3184 , p_ae_header_id IN NUMBER
3185 , p_side IN VARCHAR2
3186 , p_override_seg_flag IN VARCHAR2
3187 --Automatic Offsets Value
3188 , p_source_10 IN VARCHAR2
3189 , p_source_10_meaning IN VARCHAR2
3190 --Discount Distribution Method
3191 , p_source_14 IN VARCHAR2
3192 , p_source_14_meaning IN VARCHAR2
3193 --Invoice Distribution Account
3194 , p_source_25 IN NUMBER
3195 , x_transaction_coa_id OUT NOCOPY NUMBER
3196 , x_accounting_coa_id OUT NOCOPY NUMBER
3197 , x_flexfield_segment_code OUT NOCOPY VARCHAR2
3198 , x_flex_value_set_id OUT NOCOPY NUMBER
3199 , x_value_type_code OUT NOCOPY VARCHAR2
3200 , x_value_combination_id OUT NOCOPY NUMBER
3201 , x_value_segment_code OUT NOCOPY VARCHAR2
3202 )
3203 RETURN VARCHAR2
3204 IS
3205 l_component_type VARCHAR2(80) ;
3206 l_component_code VARCHAR2(30) ;
3207 l_component_type_code VARCHAR2(1) ;
3208 l_component_appl_id INTEGER ;
3209 l_amb_context_code VARCHAR2(30) ;
3210 l_log_module VARCHAR2(240) ;
3211 l_output_value VARCHAR2(30) ;
3212 BEGIN
3213 IF g_log_enabled THEN
3214 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_22';
3215 END IF;
3216 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
3217
3218 trace
3219 (p_msg => 'BEGIN of AcctDerRule_22'
3220 ,p_level => C_LEVEL_PROCEDURE
3221 ,p_module => l_log_module);
3222
3223 END IF;
3224
3225 l_component_type := 'AMB_ADR';
3226 l_component_code := 'AP_DISCOUNT_BAL_ACCT_SEG';
3227 l_component_type_code := 'S';
3228 l_component_appl_id := 200;
3229 l_amb_context_code := 'DEFAULT';
3230 x_transaction_coa_id := null;
3231 x_accounting_coa_id := null;
3232 x_flexfield_segment_code := 'GL_BALANCING';
3233 x_flex_value_set_id := null ;
3234
3235
3236 IF NVL(p_source_14,'
3237 ') = 'SYSTEM' AND
3238 NVL(p_source_10,'
3239 ') = 'BALANCING_SEGMENT'
3240 THEN
3241 --
3242 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
3243
3244 trace
3245 (p_msg => 'END of AcctDerRule_22'
3246 ,p_level => C_LEVEL_PROCEDURE
3247 ,p_module => l_log_module);
3248
3249 END IF;
3250 x_value_combination_id := TO_NUMBER(p_source_25) ;
3254 RETURN l_output_value;
3251 x_value_segment_code := 'GL_BALANCING' ;
3252 x_value_type_code := 'S';
3253 l_output_value := null;
3255
3256 ELSE
3257 IF p_override_seg_flag = 'Y' THEN
3258 RETURN '#$NO_OVERRIDE#$';
3259 END IF;
3260 END IF;
3261
3262 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
3263
3264 trace
3265 (p_msg => 'END of AcctDerRule_22(invalid)'
3266 ,p_level => C_LEVEL_PROCEDURE
3267 ,p_module => l_log_module);
3268
3269 END IF;
3270
3271 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
3272 x_value_combination_id := null;
3273 x_value_segment_code := null;
3274 x_value_type_code := null;
3275 l_output_value := null;
3276 xla_accounting_err_pkg.build_message
3277 (p_appli_s_name => 'XLA'
3278 ,p_msg_name => 'XLA_AP_INVALID_ADR'
3279 ,p_token_1 => 'COMPONENT_NAME'
3280 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
3281 l_component_type
3282 , l_component_code
3283 , l_component_type_code
3284 , l_component_appl_id
3285 , l_amb_context_code
3286 )
3287 ,p_token_2 => 'OWNER'
3288 ,p_value_2 => xla_lookups_pkg.get_meaning(
3289 'XLA_OWNER_TYPE'
3290 ,l_component_type_code
3291 )
3292 ,p_token_3 => 'PAD_NAME'
3293 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
3294 ,p_token_4 => 'PAD_OWNER'
3295 ,p_value_4 => xla_lookups_pkg.get_meaning(
3296 'XLA_OWNER_TYPE'
3297 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
3298 )
3299 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
3300 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
3301 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
3302 ,p_ae_header_id => NULL
3303 );
3304 RETURN l_output_value;
3305 EXCEPTION
3306 WHEN xla_exceptions_pkg.application_exception THEN
3307 RAISE;
3308 WHEN OTHERS THEN
3309 xla_exceptions_pkg.raise_message
3310 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctDerRule_22');
3311 END AcctDerRule_22;
3312 --
3313
3314 ---------------------------------------
3315 --
3316 -- PRIVATE FUNCTION
3317 -- AcctDerRule_23
3318 --
3319 ---------------------------------------
3320 FUNCTION AcctDerRule_23 (
3321 p_application_id IN NUMBER
3322 , p_ae_header_id IN NUMBER
3323 , p_side IN VARCHAR2
3324 , p_override_seg_flag IN VARCHAR2
3325 --Automatic Offsets Value
3326 , p_source_10 IN VARCHAR2
3327 , p_source_10_meaning IN VARCHAR2
3328 --Invoice Distribution Account
3329 , p_source_25 IN NUMBER
3330 , x_transaction_coa_id OUT NOCOPY NUMBER
3331 , x_accounting_coa_id OUT NOCOPY NUMBER
3332 , x_flexfield_segment_code OUT NOCOPY VARCHAR2
3333 , x_flex_value_set_id OUT NOCOPY NUMBER
3334 , x_value_type_code OUT NOCOPY VARCHAR2
3335 , x_value_combination_id OUT NOCOPY NUMBER
3336 , x_value_segment_code OUT NOCOPY VARCHAR2
3337 )
3338 RETURN VARCHAR2
3339 IS
3340 l_component_type VARCHAR2(80) ;
3341 l_component_code VARCHAR2(30) ;
3342 l_component_type_code VARCHAR2(1) ;
3343 l_component_appl_id INTEGER ;
3344 l_amb_context_code VARCHAR2(30) ;
3345 l_log_module VARCHAR2(240) ;
3346 l_output_value VARCHAR2(30) ;
3347 BEGIN
3348 IF g_log_enabled THEN
3349 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_23';
3350 END IF;
3351 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
3352
3353 trace
3354 (p_msg => 'BEGIN of AcctDerRule_23'
3355 ,p_level => C_LEVEL_PROCEDURE
3356 ,p_module => l_log_module);
3357
3358 END IF;
3359
3360 l_component_type := 'AMB_ADR';
3361 l_component_code := 'AP_INV_DIST_BAL_SEG';
3362 l_component_type_code := 'S';
3363 l_component_appl_id := 200;
3364 l_amb_context_code := 'DEFAULT';
3365 x_transaction_coa_id := null;
3366 x_accounting_coa_id := null;
3367 x_flexfield_segment_code := 'GL_BALANCING';
3368 x_flex_value_set_id := null ;
3369
3370
3371 IF NVL(p_source_10,'
3372 ') = 'BALANCING_SEGMENT'
3373 THEN
3374 --
3375 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
3376
3377 trace
3378 (p_msg => 'END of AcctDerRule_23'
3379 ,p_level => C_LEVEL_PROCEDURE
3383 x_value_combination_id := TO_NUMBER(p_source_25) ;
3380 ,p_module => l_log_module);
3381
3382 END IF;
3384 x_value_segment_code := 'GL_BALANCING' ;
3385 x_value_type_code := 'S';
3386 l_output_value := null;
3387 RETURN l_output_value;
3388
3389 ELSE
3390 IF p_override_seg_flag = 'Y' THEN
3391 RETURN '#$NO_OVERRIDE#$';
3392 END IF;
3393 END IF;
3394
3395 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
3396
3397 trace
3398 (p_msg => 'END of AcctDerRule_23(invalid)'
3399 ,p_level => C_LEVEL_PROCEDURE
3400 ,p_module => l_log_module);
3401
3402 END IF;
3403
3404 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
3405 x_value_combination_id := null;
3406 x_value_segment_code := null;
3407 x_value_type_code := null;
3408 l_output_value := null;
3409 xla_accounting_err_pkg.build_message
3410 (p_appli_s_name => 'XLA'
3411 ,p_msg_name => 'XLA_AP_INVALID_ADR'
3412 ,p_token_1 => 'COMPONENT_NAME'
3413 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
3414 l_component_type
3415 , l_component_code
3416 , l_component_type_code
3417 , l_component_appl_id
3418 , l_amb_context_code
3419 )
3420 ,p_token_2 => 'OWNER'
3421 ,p_value_2 => xla_lookups_pkg.get_meaning(
3422 'XLA_OWNER_TYPE'
3423 ,l_component_type_code
3424 )
3425 ,p_token_3 => 'PAD_NAME'
3426 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
3427 ,p_token_4 => 'PAD_OWNER'
3428 ,p_value_4 => xla_lookups_pkg.get_meaning(
3429 'XLA_OWNER_TYPE'
3430 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
3431 )
3432 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
3433 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
3434 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
3435 ,p_ae_header_id => NULL
3436 );
3437 RETURN l_output_value;
3438 EXCEPTION
3439 WHEN xla_exceptions_pkg.application_exception THEN
3440 RAISE;
3441 WHEN OTHERS THEN
3442 xla_exceptions_pkg.raise_message
3443 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctDerRule_23');
3444 END AcctDerRule_23;
3445 --
3446
3447 ---------------------------------------
3448 --
3449 -- PRIVATE FUNCTION
3450 -- AcctDerRule_24
3451 --
3452 ---------------------------------------
3453 FUNCTION AcctDerRule_24 (
3454 p_application_id IN NUMBER
3455 , p_ae_header_id IN NUMBER
3456 , p_side IN VARCHAR2
3457 , p_override_seg_flag IN VARCHAR2
3458 --Automatic Offsets Value
3459 , p_source_10 IN VARCHAR2
3460 , p_source_10_meaning IN VARCHAR2
3461 --Destination Type of the PO Distribution
3462 , p_source_17 IN VARCHAR2
3463 , p_source_17_meaning IN VARCHAR2
3464 --Invoice Distribution Account
3465 , p_source_25 IN NUMBER
3466 , x_transaction_coa_id OUT NOCOPY NUMBER
3467 , x_accounting_coa_id OUT NOCOPY NUMBER
3468 , x_flexfield_segment_code OUT NOCOPY VARCHAR2
3469 , x_flex_value_set_id OUT NOCOPY NUMBER
3470 , x_value_type_code OUT NOCOPY VARCHAR2
3471 , x_value_combination_id OUT NOCOPY NUMBER
3472 , x_value_segment_code OUT NOCOPY VARCHAR2
3473 )
3474 RETURN VARCHAR2
3475 IS
3476 l_component_type VARCHAR2(80) ;
3477 l_component_code VARCHAR2(30) ;
3478 l_component_type_code VARCHAR2(1) ;
3479 l_component_appl_id INTEGER ;
3480 l_amb_context_code VARCHAR2(30) ;
3481 l_log_module VARCHAR2(240) ;
3482 l_output_value VARCHAR2(30) ;
3483 BEGIN
3484 IF g_log_enabled THEN
3485 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_24';
3486 END IF;
3487 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
3488
3489 trace
3490 (p_msg => 'BEGIN of AcctDerRule_24'
3491 ,p_level => C_LEVEL_PROCEDURE
3492 ,p_module => l_log_module);
3493
3494 END IF;
3495
3496 l_component_type := 'AMB_ADR';
3497 l_component_code := 'AP_RELATED_DIST_BAL_SEG';
3498 l_component_type_code := 'S';
3499 l_component_appl_id := 200;
3500 l_amb_context_code := 'DEFAULT';
3501 x_transaction_coa_id := null;
3502 x_accounting_coa_id := null;
3503 x_flexfield_segment_code := 'GL_BALANCING';
3504 x_flex_value_set_id := null ;
3505
3509 NVL(p_source_17,'
3506
3507 IF NVL(p_source_10,'
3508 ') = 'BALANCING_SEGMENT' AND
3510 ') = 'INVENTORY'
3511 THEN
3512 --
3513 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
3514
3515 trace
3516 (p_msg => 'END of AcctDerRule_24'
3517 ,p_level => C_LEVEL_PROCEDURE
3518 ,p_module => l_log_module);
3519
3520 END IF;
3521 x_value_combination_id := TO_NUMBER(p_source_25) ;
3522 x_value_segment_code := 'GL_BALANCING' ;
3523 x_value_type_code := 'S';
3524 l_output_value := null;
3525 RETURN l_output_value;
3526
3527 ELSE
3528 IF p_override_seg_flag = 'Y' THEN
3529 RETURN '#$NO_OVERRIDE#$';
3530 END IF;
3531 END IF;
3532
3533 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
3534
3535 trace
3536 (p_msg => 'END of AcctDerRule_24(invalid)'
3537 ,p_level => C_LEVEL_PROCEDURE
3538 ,p_module => l_log_module);
3539
3540 END IF;
3541
3542 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
3543 x_value_combination_id := null;
3544 x_value_segment_code := null;
3545 x_value_type_code := null;
3546 l_output_value := null;
3547 xla_accounting_err_pkg.build_message
3548 (p_appli_s_name => 'XLA'
3549 ,p_msg_name => 'XLA_AP_INVALID_ADR'
3550 ,p_token_1 => 'COMPONENT_NAME'
3551 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
3552 l_component_type
3553 , l_component_code
3554 , l_component_type_code
3555 , l_component_appl_id
3556 , l_amb_context_code
3557 )
3558 ,p_token_2 => 'OWNER'
3559 ,p_value_2 => xla_lookups_pkg.get_meaning(
3560 'XLA_OWNER_TYPE'
3561 ,l_component_type_code
3562 )
3563 ,p_token_3 => 'PAD_NAME'
3564 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
3565 ,p_token_4 => 'PAD_OWNER'
3566 ,p_value_4 => xla_lookups_pkg.get_meaning(
3567 'XLA_OWNER_TYPE'
3568 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
3569 )
3570 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
3571 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
3572 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
3573 ,p_ae_header_id => NULL
3574 );
3575 RETURN l_output_value;
3576 EXCEPTION
3577 WHEN xla_exceptions_pkg.application_exception THEN
3578 RAISE;
3579 WHEN OTHERS THEN
3580 xla_exceptions_pkg.raise_message
3581 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctDerRule_24');
3582 END AcctDerRule_24;
3583 --
3584
3585 ---------------------------------------
3586 --
3587 -- PRIVATE FUNCTION
3588 -- AcctDerRule_25
3589 --
3590 ---------------------------------------
3591 FUNCTION AcctDerRule_25 (
3592 p_application_id IN NUMBER
3593 , p_ae_header_id IN NUMBER
3594 , p_side IN VARCHAR2
3595 , p_override_seg_flag IN VARCHAR2
3596 --Automatic Offsets Value
3597 , p_source_10 IN VARCHAR2
3598 , p_source_10_meaning IN VARCHAR2
3599 --Retainage Related Item Distribution Account
3600 , p_source_38 IN NUMBER
3601 , x_transaction_coa_id OUT NOCOPY NUMBER
3602 , x_accounting_coa_id OUT NOCOPY NUMBER
3603 , x_flexfield_segment_code OUT NOCOPY VARCHAR2
3604 , x_flex_value_set_id OUT NOCOPY NUMBER
3605 , x_value_type_code OUT NOCOPY VARCHAR2
3606 , x_value_combination_id OUT NOCOPY NUMBER
3607 , x_value_segment_code OUT NOCOPY VARCHAR2
3608 )
3609 RETURN VARCHAR2
3610 IS
3611 l_component_type VARCHAR2(80) ;
3612 l_component_code VARCHAR2(30) ;
3613 l_component_type_code VARCHAR2(1) ;
3614 l_component_appl_id INTEGER ;
3615 l_amb_context_code VARCHAR2(30) ;
3616 l_log_module VARCHAR2(240) ;
3617 l_output_value VARCHAR2(30) ;
3618 BEGIN
3619 IF g_log_enabled THEN
3620 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_25';
3621 END IF;
3622 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
3623
3624 trace
3625 (p_msg => 'BEGIN of AcctDerRule_25'
3626 ,p_level => C_LEVEL_PROCEDURE
3627 ,p_module => l_log_module);
3628
3629 END IF;
3630
3631 l_component_type := 'AMB_ADR';
3632 l_component_code := 'AP_RETAIN_RELATED_BAL_SEG';
3633 l_component_type_code := 'S';
3634 l_component_appl_id := 200;
3638 x_flexfield_segment_code := 'GL_BALANCING';
3635 l_amb_context_code := 'DEFAULT';
3636 x_transaction_coa_id := null;
3637 x_accounting_coa_id := null;
3639 x_flex_value_set_id := null ;
3640
3641
3642 IF NVL(p_source_10,'
3643 ') = 'BALANCING_SEGMENT'
3644 THEN
3645 --
3646 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
3647
3648 trace
3649 (p_msg => 'END of AcctDerRule_25'
3650 ,p_level => C_LEVEL_PROCEDURE
3651 ,p_module => l_log_module);
3652
3653 END IF;
3654 x_value_combination_id := TO_NUMBER(p_source_38) ;
3655 x_value_segment_code := 'GL_BALANCING' ;
3656 x_value_type_code := 'S';
3657 l_output_value := null;
3658 RETURN l_output_value;
3659
3660 ELSE
3661 IF p_override_seg_flag = 'Y' THEN
3662 RETURN '#$NO_OVERRIDE#$';
3663 END IF;
3664 END IF;
3665
3666 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
3667
3668 trace
3669 (p_msg => 'END of AcctDerRule_25(invalid)'
3670 ,p_level => C_LEVEL_PROCEDURE
3671 ,p_module => l_log_module);
3672
3673 END IF;
3674
3675 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
3676 x_value_combination_id := null;
3677 x_value_segment_code := null;
3678 x_value_type_code := null;
3679 l_output_value := null;
3680 xla_accounting_err_pkg.build_message
3681 (p_appli_s_name => 'XLA'
3682 ,p_msg_name => 'XLA_AP_INVALID_ADR'
3683 ,p_token_1 => 'COMPONENT_NAME'
3684 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
3685 l_component_type
3686 , l_component_code
3687 , l_component_type_code
3688 , l_component_appl_id
3689 , l_amb_context_code
3690 )
3691 ,p_token_2 => 'OWNER'
3692 ,p_value_2 => xla_lookups_pkg.get_meaning(
3693 'XLA_OWNER_TYPE'
3694 ,l_component_type_code
3695 )
3696 ,p_token_3 => 'PAD_NAME'
3697 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
3698 ,p_token_4 => 'PAD_OWNER'
3699 ,p_value_4 => xla_lookups_pkg.get_meaning(
3700 'XLA_OWNER_TYPE'
3701 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
3702 )
3703 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
3704 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
3705 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
3706 ,p_ae_header_id => NULL
3707 );
3708 RETURN l_output_value;
3709 EXCEPTION
3710 WHEN xla_exceptions_pkg.application_exception THEN
3711 RAISE;
3712 WHEN OTHERS THEN
3713 xla_exceptions_pkg.raise_message
3714 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctDerRule_25');
3715 END AcctDerRule_25;
3716 --
3717
3718 ---------------------------------------
3719 --
3720 -- PRIVATE FUNCTION
3721 -- AcctDerRule_26
3722 --
3723 ---------------------------------------
3724 FUNCTION AcctDerRule_26 (
3725 p_application_id IN NUMBER
3726 , p_ae_header_id IN NUMBER
3727 , p_side IN VARCHAR2
3728 , p_override_seg_flag IN VARCHAR2
3729 --Automatic Offsets Value
3730 , p_source_10 IN VARCHAR2
3731 , p_source_10_meaning IN VARCHAR2
3732 --Withholding Related Distribution Account
3733 , p_source_39 IN NUMBER
3734 , x_transaction_coa_id OUT NOCOPY NUMBER
3735 , x_accounting_coa_id OUT NOCOPY NUMBER
3736 , x_flexfield_segment_code OUT NOCOPY VARCHAR2
3737 , x_flex_value_set_id OUT NOCOPY NUMBER
3738 , x_value_type_code OUT NOCOPY VARCHAR2
3739 , x_value_combination_id OUT NOCOPY NUMBER
3740 , x_value_segment_code OUT NOCOPY VARCHAR2
3741 )
3742 RETURN VARCHAR2
3743 IS
3744 l_component_type VARCHAR2(80) ;
3745 l_component_code VARCHAR2(30) ;
3746 l_component_type_code VARCHAR2(1) ;
3747 l_component_appl_id INTEGER ;
3748 l_amb_context_code VARCHAR2(30) ;
3749 l_log_module VARCHAR2(240) ;
3750 l_output_value VARCHAR2(30) ;
3751 BEGIN
3752 IF g_log_enabled THEN
3753 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_26';
3754 END IF;
3755 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
3756
3757 trace
3758 (p_msg => 'BEGIN of AcctDerRule_26'
3759 ,p_level => C_LEVEL_PROCEDURE
3760 ,p_module => l_log_module);
3761
3762 END IF;
3763
3767 l_component_appl_id := 200;
3764 l_component_type := 'AMB_ADR';
3765 l_component_code := 'AP_WH_RELATED_DIST_BAL_SEG';
3766 l_component_type_code := 'S';
3768 l_amb_context_code := 'DEFAULT';
3769 x_transaction_coa_id := null;
3770 x_accounting_coa_id := null;
3771 x_flexfield_segment_code := 'GL_BALANCING';
3772 x_flex_value_set_id := null ;
3773
3774
3775 IF NVL(p_source_10,'
3776 ') = 'BALANCING_SEGMENT'
3777 THEN
3778 --
3779 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
3780
3781 trace
3782 (p_msg => 'END of AcctDerRule_26'
3783 ,p_level => C_LEVEL_PROCEDURE
3784 ,p_module => l_log_module);
3785
3786 END IF;
3787 x_value_combination_id := TO_NUMBER(p_source_39) ;
3788 x_value_segment_code := 'GL_BALANCING' ;
3789 x_value_type_code := 'S';
3790 l_output_value := null;
3791 RETURN l_output_value;
3792
3793 ELSE
3794 IF p_override_seg_flag = 'Y' THEN
3795 RETURN '#$NO_OVERRIDE#$';
3796 END IF;
3797 END IF;
3798
3799 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
3800
3801 trace
3802 (p_msg => 'END of AcctDerRule_26(invalid)'
3803 ,p_level => C_LEVEL_PROCEDURE
3804 ,p_module => l_log_module);
3805
3806 END IF;
3807
3808 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
3809 x_value_combination_id := null;
3810 x_value_segment_code := null;
3811 x_value_type_code := null;
3812 l_output_value := null;
3813 xla_accounting_err_pkg.build_message
3814 (p_appli_s_name => 'XLA'
3815 ,p_msg_name => 'XLA_AP_INVALID_ADR'
3816 ,p_token_1 => 'COMPONENT_NAME'
3817 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
3818 l_component_type
3819 , l_component_code
3820 , l_component_type_code
3821 , l_component_appl_id
3822 , l_amb_context_code
3823 )
3824 ,p_token_2 => 'OWNER'
3825 ,p_value_2 => xla_lookups_pkg.get_meaning(
3826 'XLA_OWNER_TYPE'
3827 ,l_component_type_code
3828 )
3829 ,p_token_3 => 'PAD_NAME'
3830 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
3831 ,p_token_4 => 'PAD_OWNER'
3832 ,p_value_4 => xla_lookups_pkg.get_meaning(
3833 'XLA_OWNER_TYPE'
3834 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
3835 )
3836 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
3837 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
3838 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
3839 ,p_ae_header_id => NULL
3840 );
3841 RETURN l_output_value;
3842 EXCEPTION
3843 WHEN xla_exceptions_pkg.application_exception THEN
3844 RAISE;
3845 WHEN OTHERS THEN
3846 xla_exceptions_pkg.raise_message
3847 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctDerRule_26');
3848 END AcctDerRule_26;
3849 --
3850
3851 ---------------------------------------
3852 --
3853 -- PRIVATE FUNCTION
3854 -- AcctDerRule_27
3855 --
3856 ---------------------------------------
3857 FUNCTION AcctDerRule_27 (
3858 p_application_id IN NUMBER
3859 , p_ae_header_id IN NUMBER
3860 , p_side IN VARCHAR2
3861 , p_override_seg_flag IN VARCHAR2
3862 --Automatic Offsets Value
3863 , p_source_10 IN VARCHAR2
3864 , p_source_10_meaning IN VARCHAR2
3865 --Invoice Distribution Account
3866 , p_source_25 IN NUMBER
3867 --Invoice Liability Account
3868 , p_source_29 IN NUMBER
3869 , x_transaction_coa_id OUT NOCOPY NUMBER
3870 , x_accounting_coa_id OUT NOCOPY NUMBER
3871 , x_flexfield_segment_code OUT NOCOPY VARCHAR2
3872 , x_flex_value_set_id OUT NOCOPY NUMBER
3873 , x_value_type_code OUT NOCOPY VARCHAR2
3874 , x_value_combination_id OUT NOCOPY NUMBER
3875 , x_value_segment_code OUT NOCOPY VARCHAR2
3876 )
3877 RETURN VARCHAR2
3878 IS
3879 l_component_type VARCHAR2(80) ;
3880 l_component_code VARCHAR2(30) ;
3881 l_component_type_code VARCHAR2(1) ;
3882 l_component_appl_id INTEGER ;
3883 l_amb_context_code VARCHAR2(30) ;
3884 l_log_module VARCHAR2(240) ;
3885 l_output_value VARCHAR2(30) ;
3886 BEGIN
3887 IF g_log_enabled THEN
3888 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_27';
3889 END IF;
3890 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
3891
3895 ,p_module => l_log_module);
3892 trace
3893 (p_msg => 'BEGIN of AcctDerRule_27'
3894 ,p_level => C_LEVEL_PROCEDURE
3896
3897 END IF;
3898
3899 l_component_type := 'AMB_ADR';
3900 l_component_code := 'FV_INV_PMT_BAL_SEG';
3901 l_component_type_code := 'S';
3902 l_component_appl_id := 200;
3903 l_amb_context_code := 'DEFAULT';
3904 x_transaction_coa_id := null;
3905 x_accounting_coa_id := null;
3906 x_flexfield_segment_code := 'GL_BALANCING';
3907 x_flex_value_set_id := null ;
3908
3909
3910 IF NVL(p_source_10,'
3911 ') = 'ACCOUNT_SEGMENT_VALUE' OR
3912 NVL(p_source_10,'
3913 ') = 'BALANCING_SEGMENT'
3914 THEN
3915 --
3916 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
3917
3918 trace
3919 (p_msg => 'END of AcctDerRule_27'
3920 ,p_level => C_LEVEL_PROCEDURE
3921 ,p_module => l_log_module);
3922
3923 END IF;
3924 x_value_combination_id := TO_NUMBER(p_source_25) ;
3925 x_value_segment_code := 'GL_BALANCING' ;
3926 x_value_type_code := 'S';
3927 l_output_value := null;
3928 RETURN l_output_value;
3929
3930 ELSIF NVL(p_source_10,'
3931 ') <> 'ACCOUNT_SEGMENT_VALUE' AND
3932 NVL(p_source_10,'
3933 ') <> 'BALANCING_SEGMENT'
3934 THEN
3935 --
3936 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
3937
3938 trace
3939 (p_msg => 'END of AcctDerRule_27'
3940 ,p_level => C_LEVEL_PROCEDURE
3941 ,p_module => l_log_module);
3942
3943 END IF;
3944 x_value_combination_id := TO_NUMBER(p_source_29) ;
3945 x_value_segment_code := 'GL_BALANCING' ;
3946 x_value_type_code := 'S';
3947 l_output_value := null;
3948 RETURN l_output_value;
3949
3950 ELSE
3951 IF p_override_seg_flag = 'Y' THEN
3952 RETURN '#$NO_OVERRIDE#$';
3953 END IF;
3954 END IF;
3955
3956 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
3957
3958 trace
3959 (p_msg => 'END of AcctDerRule_27(invalid)'
3960 ,p_level => C_LEVEL_PROCEDURE
3961 ,p_module => l_log_module);
3962
3963 END IF;
3964
3965 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
3966 x_value_combination_id := null;
3967 x_value_segment_code := null;
3968 x_value_type_code := null;
3969 l_output_value := null;
3970 xla_accounting_err_pkg.build_message
3971 (p_appli_s_name => 'XLA'
3972 ,p_msg_name => 'XLA_AP_INVALID_ADR'
3973 ,p_token_1 => 'COMPONENT_NAME'
3974 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
3975 l_component_type
3976 , l_component_code
3977 , l_component_type_code
3978 , l_component_appl_id
3979 , l_amb_context_code
3980 )
3981 ,p_token_2 => 'OWNER'
3982 ,p_value_2 => xla_lookups_pkg.get_meaning(
3983 'XLA_OWNER_TYPE'
3984 ,l_component_type_code
3985 )
3986 ,p_token_3 => 'PAD_NAME'
3987 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
3988 ,p_token_4 => 'PAD_OWNER'
3989 ,p_value_4 => xla_lookups_pkg.get_meaning(
3990 'XLA_OWNER_TYPE'
3991 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
3992 )
3993 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
3994 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
3995 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
3996 ,p_ae_header_id => NULL
3997 );
3998 RETURN l_output_value;
3999 EXCEPTION
4000 WHEN xla_exceptions_pkg.application_exception THEN
4001 RAISE;
4002 WHEN OTHERS THEN
4003 xla_exceptions_pkg.raise_message
4004 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctDerRule_27');
4005 END AcctDerRule_27;
4006 --
4007
4008 ---------------------------------------
4009 --
4010 -- PRIVATE FUNCTION
4011 -- AcctDerRule_28
4012 --
4013 ---------------------------------------
4014 FUNCTION AcctDerRule_28 (
4015 p_application_id IN NUMBER
4016 , p_ae_header_id IN NUMBER
4017 , p_side IN VARCHAR2
4018 --Bank Charges Account
4019 , p_source_9 IN NUMBER
4020 --Automatic Offsets Value
4021 , p_source_10 IN VARCHAR2
4022 , p_source_10_meaning IN VARCHAR2
4023 --Invoice Distribution Account
4024 , p_source_25 IN NUMBER
4028 )
4025 , x_transaction_coa_id OUT NOCOPY NUMBER
4026 , x_accounting_coa_id OUT NOCOPY NUMBER
4027 , x_value_type_code OUT NOCOPY VARCHAR2
4029 RETURN NUMBER
4030 IS
4031 l_component_type VARCHAR2(80) ;
4032 l_component_code VARCHAR2(30) ;
4033 l_component_type_code VARCHAR2(1) ;
4034 l_component_appl_id INTEGER ;
4035 l_amb_context_code VARCHAR2(30) ;
4036 l_log_module VARCHAR2(240) ;
4037 l_output_value NUMBER ;
4038 BEGIN
4039 IF g_log_enabled THEN
4040 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_28';
4041 END IF;
4042 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
4043 trace
4044 (p_msg => 'BEGIN of AcctDerRule_28'
4045 ,p_level => C_LEVEL_PROCEDURE
4046 ,p_module => l_log_module);
4047 END IF;
4048 --
4049 l_component_type := 'AMB_ADR';
4050 l_component_code := 'AP_BANK_CHARGES';
4051 l_component_type_code := 'S';
4052 l_component_appl_id := 200;
4053 l_amb_context_code := 'DEFAULT';
4054 x_transaction_coa_id := null;
4055 x_accounting_coa_id := null;
4056 --
4057
4058 IF NVL(p_source_10,'
4059 ') <> 'ACCOUNT_SEGMENT_VALUE'
4060 THEN
4061 --
4062 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
4063 trace
4064 (p_msg => 'END of AcctDerRule_28'
4065 ,p_level => C_LEVEL_PROCEDURE
4066 ,p_module => l_log_module);
4067 END IF;
4068 x_value_type_code := 'S';
4069 l_output_value := TO_NUMBER(TO_NUMBER(p_source_9));
4070 RETURN l_output_value;
4071
4072 ELSIF NVL(p_source_10,'
4073 ') = 'ACCOUNT_SEGMENT_VALUE'
4074 THEN
4075 --
4076 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
4077 trace
4078 (p_msg => 'END of AcctDerRule_28'
4079 ,p_level => C_LEVEL_PROCEDURE
4080 ,p_module => l_log_module);
4081 END IF;
4082 x_value_type_code := 'S';
4083 l_output_value := TO_NUMBER(TO_NUMBER(p_source_25));
4084 RETURN l_output_value;
4085
4086 END IF;
4087 --
4088 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
4089 trace
4090 (p_msg => 'END of AcctDerRule_28(invalid)'
4091 ,p_level => C_LEVEL_PROCEDURE
4092 ,p_module => l_log_module);
4093 END IF;
4094 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
4095 x_value_type_code := null;
4096 l_output_value := null;
4097 xla_accounting_err_pkg.build_message
4098 (p_appli_s_name => 'XLA'
4099 ,p_msg_name => 'XLA_AP_INVALID_ADR'
4100 ,p_token_1 => 'COMPONENT_NAME'
4101 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
4102 l_component_type
4103 , l_component_code
4104 , l_component_type_code
4105 , l_component_appl_id
4106 , l_amb_context_code
4107 )
4108 ,p_token_2 => 'OWNER'
4109 ,p_value_2 => xla_lookups_pkg.get_meaning(
4110 'XLA_OWNER_TYPE'
4111 ,l_component_type_code
4112 )
4113 ,p_token_3 => 'PAD_NAME'
4114 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
4115 ,p_token_4 => 'PAD_OWNER'
4116 ,p_value_4 => xla_lookups_pkg.get_meaning(
4117 'XLA_OWNER_TYPE'
4118 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
4119 )
4120 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
4121 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
4122 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
4123 ,p_ae_header_id => NULL
4124 );
4125 RETURN l_output_value;
4126 EXCEPTION
4127 WHEN xla_exceptions_pkg.application_exception THEN
4128 RAISE;
4129 WHEN OTHERS THEN
4130 xla_exceptions_pkg.raise_message
4131 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctDerRule_28');
4132 END AcctDerRule_28;
4133 --
4134
4135 ---------------------------------------
4136 --
4137 -- PRIVATE FUNCTION
4138 -- AcctDerRule_29
4139 --
4140 ---------------------------------------
4141 FUNCTION AcctDerRule_29 (
4142 p_application_id IN NUMBER
4143 , p_ae_header_id IN NUMBER
4144 , p_side IN VARCHAR2
4145 --Automatic Offsets Value
4146 , p_source_10 IN VARCHAR2
4147 , p_source_10_meaning IN VARCHAR2
4148 --Bank Errors Account
4149 , p_source_11 IN NUMBER
4150 --Invoice Distribution Account
4151 , p_source_25 IN NUMBER
4155 )
4152 , x_transaction_coa_id OUT NOCOPY NUMBER
4153 , x_accounting_coa_id OUT NOCOPY NUMBER
4154 , x_value_type_code OUT NOCOPY VARCHAR2
4156 RETURN NUMBER
4157 IS
4158 l_component_type VARCHAR2(80) ;
4159 l_component_code VARCHAR2(30) ;
4160 l_component_type_code VARCHAR2(1) ;
4161 l_component_appl_id INTEGER ;
4162 l_amb_context_code VARCHAR2(30) ;
4163 l_log_module VARCHAR2(240) ;
4164 l_output_value NUMBER ;
4165 BEGIN
4166 IF g_log_enabled THEN
4167 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_29';
4168 END IF;
4169 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
4170 trace
4171 (p_msg => 'BEGIN of AcctDerRule_29'
4172 ,p_level => C_LEVEL_PROCEDURE
4173 ,p_module => l_log_module);
4174 END IF;
4175 --
4176 l_component_type := 'AMB_ADR';
4177 l_component_code := 'AP_BANK_ERRORS';
4178 l_component_type_code := 'S';
4179 l_component_appl_id := 200;
4180 l_amb_context_code := 'DEFAULT';
4181 x_transaction_coa_id := null;
4182 x_accounting_coa_id := null;
4183 --
4184
4185 IF NVL(p_source_10,'
4186 ') <> 'ACCOUNT_SEGMENT_VALUE'
4187 THEN
4188 --
4189 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
4190 trace
4191 (p_msg => 'END of AcctDerRule_29'
4192 ,p_level => C_LEVEL_PROCEDURE
4193 ,p_module => l_log_module);
4194 END IF;
4195 x_value_type_code := 'S';
4196 l_output_value := TO_NUMBER(TO_NUMBER(p_source_11));
4197 RETURN l_output_value;
4198
4199 ELSIF NVL(p_source_10,'
4200 ') = 'ACCOUNT_SEGMENT_VALUE'
4201 THEN
4202 --
4203 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
4204 trace
4205 (p_msg => 'END of AcctDerRule_29'
4206 ,p_level => C_LEVEL_PROCEDURE
4207 ,p_module => l_log_module);
4208 END IF;
4209 x_value_type_code := 'S';
4210 l_output_value := TO_NUMBER(TO_NUMBER(p_source_25));
4211 RETURN l_output_value;
4212
4213 END IF;
4214 --
4215 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
4216 trace
4217 (p_msg => 'END of AcctDerRule_29(invalid)'
4218 ,p_level => C_LEVEL_PROCEDURE
4219 ,p_module => l_log_module);
4220 END IF;
4221 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
4222 x_value_type_code := null;
4223 l_output_value := null;
4224 xla_accounting_err_pkg.build_message
4225 (p_appli_s_name => 'XLA'
4226 ,p_msg_name => 'XLA_AP_INVALID_ADR'
4227 ,p_token_1 => 'COMPONENT_NAME'
4228 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
4229 l_component_type
4230 , l_component_code
4231 , l_component_type_code
4232 , l_component_appl_id
4233 , l_amb_context_code
4234 )
4235 ,p_token_2 => 'OWNER'
4236 ,p_value_2 => xla_lookups_pkg.get_meaning(
4237 'XLA_OWNER_TYPE'
4238 ,l_component_type_code
4239 )
4240 ,p_token_3 => 'PAD_NAME'
4241 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
4242 ,p_token_4 => 'PAD_OWNER'
4243 ,p_value_4 => xla_lookups_pkg.get_meaning(
4244 'XLA_OWNER_TYPE'
4245 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
4246 )
4247 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
4248 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
4249 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
4250 ,p_ae_header_id => NULL
4251 );
4252 RETURN l_output_value;
4253 EXCEPTION
4254 WHEN xla_exceptions_pkg.application_exception THEN
4255 RAISE;
4256 WHEN OTHERS THEN
4257 xla_exceptions_pkg.raise_message
4258 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctDerRule_29');
4259 END AcctDerRule_29;
4260 --
4261
4262 ---------------------------------------
4263 --
4264 -- PRIVATE FUNCTION
4265 -- AcctDerRule_30
4266 --
4267 ---------------------------------------
4268 FUNCTION AcctDerRule_30 (
4269 p_application_id IN NUMBER
4270 , p_ae_header_id IN NUMBER
4271 , p_side IN VARCHAR2
4272 --Bank Cash Account
4273 , p_source_12 IN NUMBER
4274 , x_transaction_coa_id OUT NOCOPY NUMBER
4275 , x_accounting_coa_id OUT NOCOPY NUMBER
4276 , x_value_type_code OUT NOCOPY VARCHAR2
4277 )
4278 RETURN NUMBER
4279 IS
4283 l_component_appl_id INTEGER ;
4280 l_component_type VARCHAR2(80) ;
4281 l_component_code VARCHAR2(30) ;
4282 l_component_type_code VARCHAR2(1) ;
4284 l_amb_context_code VARCHAR2(30) ;
4285 l_log_module VARCHAR2(240) ;
4286 l_output_value NUMBER ;
4287 BEGIN
4288 IF g_log_enabled THEN
4289 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_30';
4290 END IF;
4291 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
4292 trace
4293 (p_msg => 'BEGIN of AcctDerRule_30'
4294 ,p_level => C_LEVEL_PROCEDURE
4295 ,p_module => l_log_module);
4296 END IF;
4297 --
4298 l_component_type := 'AMB_ADR';
4299 l_component_code := 'AP_CASH';
4300 l_component_type_code := 'S';
4301 l_component_appl_id := 200;
4302 l_amb_context_code := 'DEFAULT';
4303 x_transaction_coa_id := null;
4304 x_accounting_coa_id := null;
4305 --
4306
4307 --
4308 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
4309 trace
4310 (p_msg => 'END of AcctDerRule_30'
4311 ,p_level => C_LEVEL_PROCEDURE
4312 ,p_module => l_log_module);
4313 END IF;
4314 x_value_type_code := 'S';
4315 l_output_value := TO_NUMBER(TO_NUMBER(p_source_12));
4316 RETURN l_output_value;
4317
4318 --
4319 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
4320 trace
4321 (p_msg => 'END of AcctDerRule_30(invalid)'
4322 ,p_level => C_LEVEL_PROCEDURE
4323 ,p_module => l_log_module);
4324 END IF;
4325 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
4326 x_value_type_code := null;
4327 l_output_value := null;
4328 xla_accounting_err_pkg.build_message
4329 (p_appli_s_name => 'XLA'
4330 ,p_msg_name => 'XLA_AP_INVALID_ADR'
4331 ,p_token_1 => 'COMPONENT_NAME'
4332 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
4333 l_component_type
4334 , l_component_code
4335 , l_component_type_code
4336 , l_component_appl_id
4337 , l_amb_context_code
4338 )
4339 ,p_token_2 => 'OWNER'
4340 ,p_value_2 => xla_lookups_pkg.get_meaning(
4341 'XLA_OWNER_TYPE'
4342 ,l_component_type_code
4343 )
4344 ,p_token_3 => 'PAD_NAME'
4345 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
4346 ,p_token_4 => 'PAD_OWNER'
4347 ,p_value_4 => xla_lookups_pkg.get_meaning(
4348 'XLA_OWNER_TYPE'
4349 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
4350 )
4351 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
4352 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
4353 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
4354 ,p_ae_header_id => NULL
4355 );
4356 RETURN l_output_value;
4357 EXCEPTION
4358 WHEN xla_exceptions_pkg.application_exception THEN
4359 RAISE;
4360 WHEN OTHERS THEN
4361 xla_exceptions_pkg.raise_message
4362 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctDerRule_30');
4363 END AcctDerRule_30;
4364 --
4365
4366 ---------------------------------------
4367 --
4368 -- PRIVATE FUNCTION
4369 -- AcctDerRule_31
4370 --
4371 ---------------------------------------
4372 FUNCTION AcctDerRule_31 (
4373 p_application_id IN NUMBER
4374 , p_ae_header_id IN NUMBER
4375 , p_side IN VARCHAR2
4376 --Automatic Offsets Value
4377 , p_source_10 IN VARCHAR2
4378 , p_source_10_meaning IN VARCHAR2
4379 --System Discount Account
4380 , p_source_13 IN NUMBER
4381 --Discount Distribution Method
4382 , p_source_14 IN VARCHAR2
4383 , p_source_14_meaning IN VARCHAR2
4384 --Invoice Distribution Account
4385 , p_source_25 IN NUMBER
4386 --Invoice Distribution Type
4387 , p_source_28 IN VARCHAR2
4388 , p_source_28_meaning IN VARCHAR2
4389 --Discount Account
4390 , p_source_40 IN NUMBER
4391 --Purchase Order Charge Account
4392 , p_source_41 IN NUMBER
4393 --Purchase Order Variance Account
4394 , p_source_42 IN NUMBER
4395 , x_transaction_coa_id OUT NOCOPY NUMBER
4396 , x_accounting_coa_id OUT NOCOPY NUMBER
4397 , x_value_type_code OUT NOCOPY VARCHAR2
4398 )
4399 RETURN NUMBER
4400 IS
4401 l_component_type VARCHAR2(80) ;
4402 l_component_code VARCHAR2(30) ;
4403 l_component_type_code VARCHAR2(1) ;
4407 l_output_value NUMBER ;
4404 l_component_appl_id INTEGER ;
4405 l_amb_context_code VARCHAR2(30) ;
4406 l_log_module VARCHAR2(240) ;
4408 BEGIN
4409 IF g_log_enabled THEN
4410 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_31';
4411 END IF;
4412 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
4413 trace
4414 (p_msg => 'BEGIN of AcctDerRule_31'
4415 ,p_level => C_LEVEL_PROCEDURE
4416 ,p_module => l_log_module);
4417 END IF;
4418 --
4419 l_component_type := 'AMB_ADR';
4420 l_component_code := 'AP_DISCOUNT';
4421 l_component_type_code := 'S';
4422 l_component_appl_id := 200;
4423 l_amb_context_code := 'DEFAULT';
4424 x_transaction_coa_id := null;
4425 x_accounting_coa_id := null;
4426 --
4427
4428 IF NVL(p_source_14,'
4429 ') = 'SYSTEM' AND
4430 NVL(p_source_10,'
4431 ') <> 'ACCOUNT_SEGMENT_VALUE'
4432 THEN
4433 --
4434 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
4435 trace
4436 (p_msg => 'END of AcctDerRule_31'
4437 ,p_level => C_LEVEL_PROCEDURE
4438 ,p_module => l_log_module);
4439 END IF;
4440 x_value_type_code := 'S';
4441 l_output_value := TO_NUMBER(TO_NUMBER(p_source_40));
4442 RETURN l_output_value;
4443
4444 ELSIF NVL(p_source_14,'
4445 ') = 'SYSTEM' AND
4446 NVL(p_source_10,'
4447 ') = 'ACCOUNT_SEGMENT_VALUE' AND
4448 NVL(p_source_28,'
4449 ') <> 'ACCRUAL'
4450 THEN
4451 --
4452 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
4453 trace
4454 (p_msg => 'END of AcctDerRule_31'
4455 ,p_level => C_LEVEL_PROCEDURE
4456 ,p_module => l_log_module);
4457 END IF;
4458 x_value_type_code := 'S';
4459 l_output_value := TO_NUMBER(TO_NUMBER(p_source_25));
4460 RETURN l_output_value;
4461
4462 ELSIF NVL(p_source_14,'
4463 ') = 'SYSTEM' AND
4464 NVL(p_source_10,'
4465 ') = 'ACCOUNT_SEGMENT_VALUE' AND
4466 NVL(p_source_28,'
4467 ') = 'ACCRUAL'
4468 THEN
4469 --
4470 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
4471 trace
4472 (p_msg => 'END of AcctDerRule_31'
4473 ,p_level => C_LEVEL_PROCEDURE
4474 ,p_module => l_log_module);
4475 END IF;
4476 x_value_type_code := 'S';
4477 l_output_value := TO_NUMBER(TO_NUMBER(p_source_41));
4478 RETURN l_output_value;
4479
4480 ELSIF NVL(p_source_14,'
4481 ') = 'EXPENSE' AND
4482 NVL(p_source_28,'
4483 ') <> 'ACCRUAL'
4484 THEN
4485 --
4486 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
4487 trace
4488 (p_msg => 'END of AcctDerRule_31'
4489 ,p_level => C_LEVEL_PROCEDURE
4490 ,p_module => l_log_module);
4491 END IF;
4492 x_value_type_code := 'S';
4493 l_output_value := TO_NUMBER(TO_NUMBER(p_source_25));
4494 RETURN l_output_value;
4495
4496 ELSIF NVL(p_source_14,'
4497 ') = 'EXPENSE' AND
4498 NVL(p_source_28,'
4499 ') = 'ACCRUAL'
4500 THEN
4501 --
4502 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
4503 trace
4504 (p_msg => 'END of AcctDerRule_31'
4505 ,p_level => C_LEVEL_PROCEDURE
4506 ,p_module => l_log_module);
4507 END IF;
4508 x_value_type_code := 'S';
4509 l_output_value := TO_NUMBER(TO_NUMBER(p_source_42));
4510 RETURN l_output_value;
4511
4512 ELSIF NVL(p_source_14,'
4513 ') = 'TAX' AND
4514 NVL(p_source_10,'
4515 ') <> 'ACCOUNT_SEGMENT_VALUE' AND
4516 (NVL(p_source_28,'
4517 ') = 'REC_TAX' OR
4518 NVL(p_source_28,'
4519 ') = 'NONREC_TAX' OR
4520 NVL(p_source_28,'
4521 ') = 'TIPV' OR
4522 NVL(p_source_28,'
4523 ') = 'TRV')
4524 THEN
4525 --
4526 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
4527 trace
4528 (p_msg => 'END of AcctDerRule_31'
4529 ,p_level => C_LEVEL_PROCEDURE
4530 ,p_module => l_log_module);
4531 END IF;
4532 x_value_type_code := 'S';
4533 l_output_value := TO_NUMBER(TO_NUMBER(p_source_25));
4534 RETURN l_output_value;
4535
4536 ELSIF NVL(p_source_14,'
4537 ') = 'TAX' AND
4538 NVL(p_source_10,'
4539 ') <> 'ACCOUNT_SEGMENT_VALUE' AND
4540 (NVL(p_source_28,'
4541 ') <> 'REC_TAX' OR
4542 NVL(p_source_28,'
4543 ') <> 'NONREC_TAX' OR
4544 NVL(p_source_28,'
4545 ') <> 'TIPV' OR
4546 NVL(p_source_28,'
4547 ') <> 'TRV')
4548 THEN
4549 --
4550 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
4551 trace
4552 (p_msg => 'END of AcctDerRule_31'
4553 ,p_level => C_LEVEL_PROCEDURE
4554 ,p_module => l_log_module);
4555 END IF;
4556 x_value_type_code := 'S';
4557 l_output_value := TO_NUMBER(TO_NUMBER(p_source_13));
4558 RETURN l_output_value;
4559
4560 ELSIF NVL(p_source_14,'
4561 ') = 'TAX' AND
4562 NVL(p_source_10,'
4563 ') = 'ACCOUNT_SEGMENT_VALUE' AND
4564 NVL(p_source_28,'
4565 ') <> 'ACCRUAL'
4566 THEN
4567 --
4568 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
4569 trace
4570 (p_msg => 'END of AcctDerRule_31'
4571 ,p_level => C_LEVEL_PROCEDURE
4572 ,p_module => l_log_module);
4573 END IF;
4577
4574 x_value_type_code := 'S';
4575 l_output_value := TO_NUMBER(TO_NUMBER(p_source_25));
4576 RETURN l_output_value;
4578 ELSIF NVL(p_source_14,'
4579 ') = 'TAX' AND
4580 NVL(p_source_10,'
4581 ') = 'ACCOUNT_SEGMENT_VALUE' AND
4582 NVL(p_source_28,'
4583 ') = 'ACCRUAL'
4584 THEN
4585 --
4586 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
4587 trace
4588 (p_msg => 'END of AcctDerRule_31'
4589 ,p_level => C_LEVEL_PROCEDURE
4590 ,p_module => l_log_module);
4591 END IF;
4592 x_value_type_code := 'S';
4593 l_output_value := TO_NUMBER(TO_NUMBER(p_source_41));
4594 RETURN l_output_value;
4595
4596 END IF;
4597 --
4598 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
4599 trace
4600 (p_msg => 'END of AcctDerRule_31(invalid)'
4601 ,p_level => C_LEVEL_PROCEDURE
4602 ,p_module => l_log_module);
4603 END IF;
4604 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
4605 x_value_type_code := null;
4606 l_output_value := null;
4607 xla_accounting_err_pkg.build_message
4608 (p_appli_s_name => 'XLA'
4609 ,p_msg_name => 'XLA_AP_INVALID_ADR'
4610 ,p_token_1 => 'COMPONENT_NAME'
4611 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
4612 l_component_type
4613 , l_component_code
4614 , l_component_type_code
4615 , l_component_appl_id
4616 , l_amb_context_code
4617 )
4618 ,p_token_2 => 'OWNER'
4619 ,p_value_2 => xla_lookups_pkg.get_meaning(
4620 'XLA_OWNER_TYPE'
4621 ,l_component_type_code
4622 )
4623 ,p_token_3 => 'PAD_NAME'
4624 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
4625 ,p_token_4 => 'PAD_OWNER'
4626 ,p_value_4 => xla_lookups_pkg.get_meaning(
4627 'XLA_OWNER_TYPE'
4628 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
4629 )
4630 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
4631 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
4632 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
4633 ,p_ae_header_id => NULL
4634 );
4635 RETURN l_output_value;
4636 EXCEPTION
4637 WHEN xla_exceptions_pkg.application_exception THEN
4638 RAISE;
4639 WHEN OTHERS THEN
4640 xla_exceptions_pkg.raise_message
4641 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctDerRule_31');
4642 END AcctDerRule_31;
4643 --
4644
4645 ---------------------------------------
4646 --
4647 -- PRIVATE FUNCTION
4648 -- AcctDerRule_32
4649 --
4650 ---------------------------------------
4651 FUNCTION AcctDerRule_32 (
4652 p_application_id IN NUMBER
4653 , p_ae_header_id IN NUMBER
4654 , p_side IN VARCHAR2
4655 --Automatic Offsets Value
4656 , p_source_10 IN VARCHAR2
4657 , p_source_10_meaning IN VARCHAR2
4658 --Purchase Order Rate Variance Gain Account
4659 , p_source_15 IN NUMBER
4660 --Invoice Distribution Ledger Amount
4661 , p_source_16 IN NUMBER
4662 --Destination Type of the PO Distribution
4663 , p_source_17 IN VARCHAR2
4664 , p_source_17_meaning IN VARCHAR2
4665 --Purchase Order Rate Variance Loss Account
4666 , p_source_18 IN NUMBER
4667 --Invoice Distribution Account
4668 , p_source_25 IN NUMBER
4669 --Automatic Offsets Flag
4670 , p_source_43 IN VARCHAR2
4671 , p_source_43_meaning IN VARCHAR2
4672 , x_transaction_coa_id OUT NOCOPY NUMBER
4673 , x_accounting_coa_id OUT NOCOPY NUMBER
4674 , x_value_type_code OUT NOCOPY VARCHAR2
4675 )
4676 RETURN NUMBER
4677 IS
4678 l_component_type VARCHAR2(80) ;
4679 l_component_code VARCHAR2(30) ;
4680 l_component_type_code VARCHAR2(1) ;
4681 l_component_appl_id INTEGER ;
4682 l_amb_context_code VARCHAR2(30) ;
4683 l_log_module VARCHAR2(240) ;
4684 l_output_value NUMBER ;
4685 BEGIN
4686 IF g_log_enabled THEN
4687 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_32';
4688 END IF;
4689 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
4690 trace
4691 (p_msg => 'BEGIN of AcctDerRule_32'
4692 ,p_level => C_LEVEL_PROCEDURE
4693 ,p_module => l_log_module);
4694 END IF;
4695 --
4696 l_component_type := 'AMB_ADR';
4697 l_component_code := 'AP_EXCHG_TAXEXCHG_RATE_VAR';
4701 x_transaction_coa_id := null;
4698 l_component_type_code := 'S';
4699 l_component_appl_id := 200;
4700 l_amb_context_code := 'DEFAULT';
4702 x_accounting_coa_id := null;
4703 --
4704
4705 IF NVL(p_source_17,'
4706 ') = 'EXPENSE' OR
4707 (NVL(p_source_17,'
4708 ') = 'INVENTORY' AND
4709 NVL(p_source_10,'
4710 ') = 'ACCOUNT_SEGMENT_VALUE')
4711 THEN
4712 --
4713 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
4714 trace
4715 (p_msg => 'END of AcctDerRule_32'
4716 ,p_level => C_LEVEL_PROCEDURE
4717 ,p_module => l_log_module);
4718 END IF;
4719 x_value_type_code := 'S';
4720 l_output_value := TO_NUMBER(TO_NUMBER(p_source_25));
4721 RETURN l_output_value;
4722
4723 ELSIF NVL(p_source_17,'
4724 ') <> 'EXPENSE' AND
4725 p_source_16 <= 0 AND
4726 (NVL(p_source_43,'
4727 ') = 'N' OR
4728 NVL(p_source_10,'
4729 ') = 'BALANCING_SEGMENT')
4730 THEN
4731 --
4732 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
4733 trace
4734 (p_msg => 'END of AcctDerRule_32'
4735 ,p_level => C_LEVEL_PROCEDURE
4736 ,p_module => l_log_module);
4737 END IF;
4738 x_value_type_code := 'S';
4739 l_output_value := TO_NUMBER(TO_NUMBER(p_source_15));
4740 RETURN l_output_value;
4741
4742 ELSIF NVL(p_source_17,'
4743 ') <> 'EXPENSE' AND
4744 p_source_16 > 0 AND
4745 (NVL(p_source_43,'
4746 ') = 'N' OR
4747 NVL(p_source_10,'
4748 ') = 'BALANCING_SEGMENT')
4749 THEN
4750 --
4751 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
4752 trace
4753 (p_msg => 'END of AcctDerRule_32'
4754 ,p_level => C_LEVEL_PROCEDURE
4755 ,p_module => l_log_module);
4756 END IF;
4757 x_value_type_code := 'S';
4758 l_output_value := TO_NUMBER(TO_NUMBER(p_source_18));
4759 RETURN l_output_value;
4760
4761 END IF;
4762 --
4763 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
4764 trace
4765 (p_msg => 'END of AcctDerRule_32(invalid)'
4766 ,p_level => C_LEVEL_PROCEDURE
4767 ,p_module => l_log_module);
4768 END IF;
4769 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
4770 x_value_type_code := null;
4771 l_output_value := null;
4772 xla_accounting_err_pkg.build_message
4773 (p_appli_s_name => 'XLA'
4774 ,p_msg_name => 'XLA_AP_INVALID_ADR'
4775 ,p_token_1 => 'COMPONENT_NAME'
4776 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
4777 l_component_type
4778 , l_component_code
4779 , l_component_type_code
4780 , l_component_appl_id
4781 , l_amb_context_code
4782 )
4783 ,p_token_2 => 'OWNER'
4784 ,p_value_2 => xla_lookups_pkg.get_meaning(
4785 'XLA_OWNER_TYPE'
4786 ,l_component_type_code
4787 )
4788 ,p_token_3 => 'PAD_NAME'
4789 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
4790 ,p_token_4 => 'PAD_OWNER'
4791 ,p_value_4 => xla_lookups_pkg.get_meaning(
4792 'XLA_OWNER_TYPE'
4793 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
4794 )
4795 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
4796 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
4797 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
4798 ,p_ae_header_id => NULL
4799 );
4800 RETURN l_output_value;
4801 EXCEPTION
4802 WHEN xla_exceptions_pkg.application_exception THEN
4803 RAISE;
4804 WHEN OTHERS THEN
4805 xla_exceptions_pkg.raise_message
4806 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctDerRule_32');
4807 END AcctDerRule_32;
4808 --
4809
4810 ---------------------------------------
4811 --
4812 -- PRIVATE FUNCTION
4813 -- AcctDerRule_33
4814 --
4815 ---------------------------------------
4816 FUNCTION AcctDerRule_33 (
4817 p_application_id IN NUMBER
4818 , p_ae_header_id IN NUMBER
4819 , p_side IN VARCHAR2
4820 --Automatic Offsets Value
4821 , p_source_10 IN VARCHAR2
4822 , p_source_10_meaning IN VARCHAR2
4823 --Bank Future Dated Payment Account
4824 , p_source_19 IN NUMBER
4825 --Future Dated Payment Account Source Option
4826 , p_source_20 IN VARCHAR2
4827 , p_source_20_meaning IN VARCHAR2
4831 , p_source_22 IN NUMBER
4828 --Financials Options Future Dated Payment Account
4829 , p_source_21 IN NUMBER
4830 --Supplier Site Future Dated Payment Account
4832 --Invoice Distribution Account
4833 , p_source_25 IN NUMBER
4834 , x_transaction_coa_id OUT NOCOPY NUMBER
4835 , x_accounting_coa_id OUT NOCOPY NUMBER
4836 , x_value_type_code OUT NOCOPY VARCHAR2
4837 )
4838 RETURN NUMBER
4839 IS
4840 l_component_type VARCHAR2(80) ;
4841 l_component_code VARCHAR2(30) ;
4842 l_component_type_code VARCHAR2(1) ;
4843 l_component_appl_id INTEGER ;
4844 l_amb_context_code VARCHAR2(30) ;
4845 l_log_module VARCHAR2(240) ;
4846 l_output_value NUMBER ;
4847 BEGIN
4848 IF g_log_enabled THEN
4849 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_33';
4850 END IF;
4851 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
4852 trace
4853 (p_msg => 'BEGIN of AcctDerRule_33'
4854 ,p_level => C_LEVEL_PROCEDURE
4855 ,p_module => l_log_module);
4856 END IF;
4857 --
4858 l_component_type := 'AMB_ADR';
4859 l_component_code := 'AP_FUTURE_DATED_PMT';
4860 l_component_type_code := 'S';
4861 l_component_appl_id := 200;
4862 l_amb_context_code := 'DEFAULT';
4863 x_transaction_coa_id := null;
4864 x_accounting_coa_id := null;
4865 --
4866
4867 IF NVL(p_source_10,'
4868 ') <> 'ACCOUNT_SEGMENT_VALUE' AND
4869 NVL(p_source_20,'
4870 ') = 'BANK ACCOUNT' AND
4871 TO_NUMBER(p_source_19) IS NOT NULL
4872 THEN
4873 --
4874 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
4875 trace
4876 (p_msg => 'END of AcctDerRule_33'
4877 ,p_level => C_LEVEL_PROCEDURE
4878 ,p_module => l_log_module);
4879 END IF;
4880 x_value_type_code := 'S';
4881 l_output_value := TO_NUMBER(TO_NUMBER(p_source_19));
4882 RETURN l_output_value;
4883
4884 ELSIF NVL(p_source_10,'
4885 ') <> 'ACCOUNT_SEGMENT_VALUE' AND
4886 NVL(p_source_20,'
4887 ') = 'BANK ACCOUNT'
4888 THEN
4889 --
4890 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
4891 trace
4892 (p_msg => 'END of AcctDerRule_33'
4893 ,p_level => C_LEVEL_PROCEDURE
4894 ,p_module => l_log_module);
4895 END IF;
4896 x_value_type_code := 'S';
4897 l_output_value := TO_NUMBER(TO_NUMBER(p_source_21));
4898 RETURN l_output_value;
4899
4900 ELSIF NVL(p_source_10,'
4901 ') <> 'ACCOUNT_SEGMENT_VALUE' AND
4902 NVL(p_source_20,'
4903 ') = 'SUPPLIER SITE' AND
4904 TO_NUMBER(p_source_22) IS NOT NULL
4905 THEN
4906 --
4907 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
4908 trace
4909 (p_msg => 'END of AcctDerRule_33'
4910 ,p_level => C_LEVEL_PROCEDURE
4911 ,p_module => l_log_module);
4912 END IF;
4913 x_value_type_code := 'S';
4914 l_output_value := TO_NUMBER(TO_NUMBER(p_source_22));
4915 RETURN l_output_value;
4916
4917 ELSIF NVL(p_source_10,'
4918 ') <> 'ACCOUNT_SEGMENT_VALUE' AND
4919 NVL(p_source_20,'
4920 ') = 'SUPPLIER SITE'
4921 THEN
4922 --
4923 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
4924 trace
4925 (p_msg => 'END of AcctDerRule_33'
4926 ,p_level => C_LEVEL_PROCEDURE
4927 ,p_module => l_log_module);
4928 END IF;
4929 x_value_type_code := 'S';
4930 l_output_value := TO_NUMBER(TO_NUMBER(p_source_21));
4931 RETURN l_output_value;
4932
4933 ELSIF NVL(p_source_10,'
4934 ') = 'ACCOUNT_SEGMENT_VALUE'
4935 THEN
4936 --
4937 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
4938 trace
4939 (p_msg => 'END of AcctDerRule_33'
4940 ,p_level => C_LEVEL_PROCEDURE
4941 ,p_module => l_log_module);
4942 END IF;
4943 x_value_type_code := 'S';
4944 l_output_value := TO_NUMBER(TO_NUMBER(p_source_25));
4945 RETURN l_output_value;
4946
4947 END IF;
4948 --
4949 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
4950 trace
4951 (p_msg => 'END of AcctDerRule_33(invalid)'
4952 ,p_level => C_LEVEL_PROCEDURE
4953 ,p_module => l_log_module);
4954 END IF;
4955 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
4956 x_value_type_code := null;
4957 l_output_value := null;
4958 xla_accounting_err_pkg.build_message
4959 (p_appli_s_name => 'XLA'
4960 ,p_msg_name => 'XLA_AP_INVALID_ADR'
4961 ,p_token_1 => 'COMPONENT_NAME'
4962 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
4963 l_component_type
4964 , l_component_code
4965 , l_component_type_code
4966 , l_component_appl_id
4967 , l_amb_context_code
4968 )
4969 ,p_token_2 => 'OWNER'
4970 ,p_value_2 => xla_lookups_pkg.get_meaning(
4971 'XLA_OWNER_TYPE'
4972 ,l_component_type_code
4976 ,p_token_4 => 'PAD_OWNER'
4973 )
4974 ,p_token_3 => 'PAD_NAME'
4975 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
4977 ,p_value_4 => xla_lookups_pkg.get_meaning(
4978 'XLA_OWNER_TYPE'
4979 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
4980 )
4981 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
4982 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
4983 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
4984 ,p_ae_header_id => NULL
4985 );
4986 RETURN l_output_value;
4987 EXCEPTION
4988 WHEN xla_exceptions_pkg.application_exception THEN
4989 RAISE;
4990 WHEN OTHERS THEN
4991 xla_exceptions_pkg.raise_message
4992 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctDerRule_33');
4993 END AcctDerRule_33;
4994 --
4995
4996 ---------------------------------------
4997 --
4998 -- PRIVATE FUNCTION
4999 -- AcctDerRule_34
5000 --
5001 ---------------------------------------
5002 FUNCTION AcctDerRule_34 (
5003 p_application_id IN NUMBER
5004 , p_ae_header_id IN NUMBER
5005 , p_side IN VARCHAR2
5006 --Interest Account
5007 , p_source_23 IN NUMBER
5008 --Prorate Interest Invoice Across Distributions Option
5009 , p_source_24 IN VARCHAR2
5010 --Invoice Distribution Account
5011 , p_source_25 IN NUMBER
5012 , x_transaction_coa_id OUT NOCOPY NUMBER
5013 , x_accounting_coa_id OUT NOCOPY NUMBER
5014 , x_value_type_code OUT NOCOPY VARCHAR2
5015 )
5016 RETURN NUMBER
5017 IS
5018 l_component_type VARCHAR2(80) ;
5019 l_component_code VARCHAR2(30) ;
5020 l_component_type_code VARCHAR2(1) ;
5021 l_component_appl_id INTEGER ;
5022 l_amb_context_code VARCHAR2(30) ;
5023 l_log_module VARCHAR2(240) ;
5024 l_output_value NUMBER ;
5025 BEGIN
5026 IF g_log_enabled THEN
5027 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_34';
5028 END IF;
5029 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
5030 trace
5031 (p_msg => 'BEGIN of AcctDerRule_34'
5032 ,p_level => C_LEVEL_PROCEDURE
5033 ,p_module => l_log_module);
5034 END IF;
5035 --
5036 l_component_type := 'AMB_ADR';
5037 l_component_code := 'AP_INTEREST';
5038 l_component_type_code := 'S';
5039 l_component_appl_id := 200;
5040 l_amb_context_code := 'DEFAULT';
5041 x_transaction_coa_id := null;
5042 x_accounting_coa_id := null;
5043 --
5044
5045 IF NVL(p_source_24,'
5046 ') = 'N'
5047 THEN
5048 --
5049 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
5050 trace
5051 (p_msg => 'END of AcctDerRule_34'
5052 ,p_level => C_LEVEL_PROCEDURE
5053 ,p_module => l_log_module);
5054 END IF;
5055 x_value_type_code := 'S';
5056 l_output_value := TO_NUMBER(TO_NUMBER(p_source_23));
5057 RETURN l_output_value;
5058
5059 ELSIF NVL(p_source_24,'
5060 ') = 'Y'
5061 THEN
5062 --
5063 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
5064 trace
5065 (p_msg => 'END of AcctDerRule_34'
5066 ,p_level => C_LEVEL_PROCEDURE
5067 ,p_module => l_log_module);
5068 END IF;
5069 x_value_type_code := 'S';
5070 l_output_value := TO_NUMBER(TO_NUMBER(p_source_25));
5071 RETURN l_output_value;
5072
5073 END IF;
5074 --
5075 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
5076 trace
5077 (p_msg => 'END of AcctDerRule_34(invalid)'
5078 ,p_level => C_LEVEL_PROCEDURE
5079 ,p_module => l_log_module);
5080 END IF;
5081 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
5082 x_value_type_code := null;
5083 l_output_value := null;
5084 xla_accounting_err_pkg.build_message
5085 (p_appli_s_name => 'XLA'
5086 ,p_msg_name => 'XLA_AP_INVALID_ADR'
5087 ,p_token_1 => 'COMPONENT_NAME'
5088 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
5089 l_component_type
5090 , l_component_code
5091 , l_component_type_code
5092 , l_component_appl_id
5093 , l_amb_context_code
5094 )
5095 ,p_token_2 => 'OWNER'
5096 ,p_value_2 => xla_lookups_pkg.get_meaning(
5097 'XLA_OWNER_TYPE'
5098 ,l_component_type_code
5102 ,p_token_4 => 'PAD_OWNER'
5099 )
5100 ,p_token_3 => 'PAD_NAME'
5101 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
5103 ,p_value_4 => xla_lookups_pkg.get_meaning(
5104 'XLA_OWNER_TYPE'
5105 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
5106 )
5107 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
5108 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
5109 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
5110 ,p_ae_header_id => NULL
5111 );
5112 RETURN l_output_value;
5113 EXCEPTION
5114 WHEN xla_exceptions_pkg.application_exception THEN
5115 RAISE;
5116 WHEN OTHERS THEN
5117 xla_exceptions_pkg.raise_message
5118 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctDerRule_34');
5119 END AcctDerRule_34;
5120 --
5121
5122 ---------------------------------------
5123 --
5124 -- PRIVATE FUNCTION
5125 -- AcctDerRule_35
5126 --
5127 ---------------------------------------
5128 FUNCTION AcctDerRule_35 (
5129 p_application_id IN NUMBER
5130 , p_ae_header_id IN NUMBER
5131 , p_side IN VARCHAR2
5132 --Invoice Distribution Account
5133 , p_source_25 IN NUMBER
5134 , x_transaction_coa_id OUT NOCOPY NUMBER
5135 , x_accounting_coa_id OUT NOCOPY NUMBER
5136 , x_value_type_code OUT NOCOPY VARCHAR2
5137 )
5138 RETURN NUMBER
5139 IS
5140 l_component_type VARCHAR2(80) ;
5141 l_component_code VARCHAR2(30) ;
5142 l_component_type_code VARCHAR2(1) ;
5143 l_component_appl_id INTEGER ;
5144 l_amb_context_code VARCHAR2(30) ;
5145 l_log_module VARCHAR2(240) ;
5146 l_output_value NUMBER ;
5147 BEGIN
5148 IF g_log_enabled THEN
5149 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_35';
5150 END IF;
5151 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
5152 trace
5153 (p_msg => 'BEGIN of AcctDerRule_35'
5154 ,p_level => C_LEVEL_PROCEDURE
5155 ,p_module => l_log_module);
5156 END IF;
5157 --
5158 l_component_type := 'AMB_ADR';
5159 l_component_code := 'AP_INVOICE_DIST';
5160 l_component_type_code := 'S';
5161 l_component_appl_id := 200;
5162 l_amb_context_code := 'DEFAULT';
5163 x_transaction_coa_id := null;
5164 x_accounting_coa_id := null;
5165 --
5166
5167 --
5168 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
5169 trace
5170 (p_msg => 'END of AcctDerRule_35'
5171 ,p_level => C_LEVEL_PROCEDURE
5172 ,p_module => l_log_module);
5173 END IF;
5174 x_value_type_code := 'S';
5175 l_output_value := TO_NUMBER(TO_NUMBER(p_source_25));
5176 RETURN l_output_value;
5177
5178 --
5179 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
5180 trace
5181 (p_msg => 'END of AcctDerRule_35(invalid)'
5182 ,p_level => C_LEVEL_PROCEDURE
5183 ,p_module => l_log_module);
5184 END IF;
5185 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
5186 x_value_type_code := null;
5187 l_output_value := null;
5188 xla_accounting_err_pkg.build_message
5189 (p_appli_s_name => 'XLA'
5190 ,p_msg_name => 'XLA_AP_INVALID_ADR'
5191 ,p_token_1 => 'COMPONENT_NAME'
5192 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
5193 l_component_type
5194 , l_component_code
5195 , l_component_type_code
5196 , l_component_appl_id
5197 , l_amb_context_code
5198 )
5199 ,p_token_2 => 'OWNER'
5200 ,p_value_2 => xla_lookups_pkg.get_meaning(
5201 'XLA_OWNER_TYPE'
5202 ,l_component_type_code
5203 )
5204 ,p_token_3 => 'PAD_NAME'
5205 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
5206 ,p_token_4 => 'PAD_OWNER'
5207 ,p_value_4 => xla_lookups_pkg.get_meaning(
5208 'XLA_OWNER_TYPE'
5209 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
5210 )
5211 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
5212 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
5216 RETURN l_output_value;
5213 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
5214 ,p_ae_header_id => NULL
5215 );
5217 EXCEPTION
5218 WHEN xla_exceptions_pkg.application_exception THEN
5219 RAISE;
5220 WHEN OTHERS THEN
5221 xla_exceptions_pkg.raise_message
5222 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctDerRule_35');
5223 END AcctDerRule_35;
5224 --
5225
5226 ---------------------------------------
5227 --
5228 -- PRIVATE FUNCTION
5229 -- AcctDerRule_36
5230 --
5231 ---------------------------------------
5232 FUNCTION AcctDerRule_36 (
5233 p_application_id IN NUMBER
5234 , p_ae_header_id IN NUMBER
5235 , p_side IN VARCHAR2
5236 --Invoice Liability Account
5237 , p_source_29 IN NUMBER
5238 , x_transaction_coa_id OUT NOCOPY NUMBER
5239 , x_accounting_coa_id OUT NOCOPY NUMBER
5240 , x_value_type_code OUT NOCOPY VARCHAR2
5241 )
5242 RETURN NUMBER
5243 IS
5244 l_component_type VARCHAR2(80) ;
5245 l_component_code VARCHAR2(30) ;
5246 l_component_type_code VARCHAR2(1) ;
5247 l_component_appl_id INTEGER ;
5248 l_amb_context_code VARCHAR2(30) ;
5249 l_log_module VARCHAR2(240) ;
5250 l_output_value NUMBER ;
5251 BEGIN
5252 IF g_log_enabled THEN
5253 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_36';
5254 END IF;
5255 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
5256 trace
5257 (p_msg => 'BEGIN of AcctDerRule_36'
5258 ,p_level => C_LEVEL_PROCEDURE
5259 ,p_module => l_log_module);
5260 END IF;
5261 --
5262 l_component_type := 'AMB_ADR';
5263 l_component_code := 'AP_LIAB';
5264 l_component_type_code := 'S';
5265 l_component_appl_id := 200;
5266 l_amb_context_code := 'DEFAULT';
5267 x_transaction_coa_id := null;
5268 x_accounting_coa_id := null;
5269 --
5270
5271 --
5272 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
5273 trace
5274 (p_msg => 'END of AcctDerRule_36'
5275 ,p_level => C_LEVEL_PROCEDURE
5276 ,p_module => l_log_module);
5277 END IF;
5278 x_value_type_code := 'S';
5279 l_output_value := TO_NUMBER(TO_NUMBER(p_source_29));
5280 RETURN l_output_value;
5281
5282 --
5283 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
5284 trace
5285 (p_msg => 'END of AcctDerRule_36(invalid)'
5286 ,p_level => C_LEVEL_PROCEDURE
5287 ,p_module => l_log_module);
5288 END IF;
5289 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
5290 x_value_type_code := null;
5291 l_output_value := null;
5292 xla_accounting_err_pkg.build_message
5293 (p_appli_s_name => 'XLA'
5294 ,p_msg_name => 'XLA_AP_INVALID_ADR'
5295 ,p_token_1 => 'COMPONENT_NAME'
5296 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
5297 l_component_type
5298 , l_component_code
5299 , l_component_type_code
5300 , l_component_appl_id
5301 , l_amb_context_code
5302 )
5303 ,p_token_2 => 'OWNER'
5304 ,p_value_2 => xla_lookups_pkg.get_meaning(
5305 'XLA_OWNER_TYPE'
5306 ,l_component_type_code
5307 )
5308 ,p_token_3 => 'PAD_NAME'
5309 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
5310 ,p_token_4 => 'PAD_OWNER'
5311 ,p_value_4 => xla_lookups_pkg.get_meaning(
5312 'XLA_OWNER_TYPE'
5313 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
5314 )
5315 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
5316 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
5317 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
5318 ,p_ae_header_id => NULL
5319 );
5320 RETURN l_output_value;
5321 EXCEPTION
5322 WHEN xla_exceptions_pkg.application_exception THEN
5323 RAISE;
5324 WHEN OTHERS THEN
5325 xla_exceptions_pkg.raise_message
5326 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctDerRule_36');
5327 END AcctDerRule_36;
5328 --
5329
5330 ---------------------------------------
5331 --
5332 -- PRIVATE FUNCTION
5333 -- AcctDerRule_37
5334 --
5335 ---------------------------------------
5336 FUNCTION AcctDerRule_37 (
5337 p_application_id IN NUMBER
5341 , p_source_44 IN NUMBER
5338 , p_ae_header_id IN NUMBER
5339 , p_side IN VARCHAR2
5340 --Payment Card Accrued Account
5342 , x_transaction_coa_id OUT NOCOPY NUMBER
5343 , x_accounting_coa_id OUT NOCOPY NUMBER
5344 , x_value_type_code OUT NOCOPY VARCHAR2
5345 )
5346 RETURN NUMBER
5347 IS
5348 l_component_type VARCHAR2(80) ;
5349 l_component_code VARCHAR2(30) ;
5350 l_component_type_code VARCHAR2(1) ;
5351 l_component_appl_id INTEGER ;
5352 l_amb_context_code VARCHAR2(30) ;
5353 l_log_module VARCHAR2(240) ;
5354 l_output_value NUMBER ;
5355 BEGIN
5356 IF g_log_enabled THEN
5357 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_37';
5358 END IF;
5359 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
5360 trace
5361 (p_msg => 'BEGIN of AcctDerRule_37'
5362 ,p_level => C_LEVEL_PROCEDURE
5363 ,p_module => l_log_module);
5364 END IF;
5365 --
5366 l_component_type := 'AMB_ADR';
5367 l_component_code := 'AP_PAYCARD_ACCRUED_ADR';
5368 l_component_type_code := 'S';
5369 l_component_appl_id := 200;
5370 l_amb_context_code := 'DEFAULT';
5371 x_transaction_coa_id := null;
5372 x_accounting_coa_id := null;
5373 --
5374
5375 --
5376 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
5377 trace
5378 (p_msg => 'END of AcctDerRule_37'
5379 ,p_level => C_LEVEL_PROCEDURE
5380 ,p_module => l_log_module);
5381 END IF;
5382 x_value_type_code := 'S';
5383 l_output_value := TO_NUMBER(TO_NUMBER(p_source_44));
5384 RETURN l_output_value;
5385
5386 --
5387 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
5388 trace
5389 (p_msg => 'END of AcctDerRule_37(invalid)'
5390 ,p_level => C_LEVEL_PROCEDURE
5391 ,p_module => l_log_module);
5392 END IF;
5393 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
5394 x_value_type_code := null;
5395 l_output_value := null;
5396 xla_accounting_err_pkg.build_message
5397 (p_appli_s_name => 'XLA'
5398 ,p_msg_name => 'XLA_AP_INVALID_ADR'
5399 ,p_token_1 => 'COMPONENT_NAME'
5400 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
5401 l_component_type
5402 , l_component_code
5403 , l_component_type_code
5404 , l_component_appl_id
5405 , l_amb_context_code
5406 )
5407 ,p_token_2 => 'OWNER'
5408 ,p_value_2 => xla_lookups_pkg.get_meaning(
5409 'XLA_OWNER_TYPE'
5410 ,l_component_type_code
5411 )
5412 ,p_token_3 => 'PAD_NAME'
5413 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
5414 ,p_token_4 => 'PAD_OWNER'
5415 ,p_value_4 => xla_lookups_pkg.get_meaning(
5416 'XLA_OWNER_TYPE'
5417 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
5418 )
5419 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
5420 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
5421 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
5422 ,p_ae_header_id => NULL
5423 );
5424 RETURN l_output_value;
5425 EXCEPTION
5426 WHEN xla_exceptions_pkg.application_exception THEN
5427 RAISE;
5428 WHEN OTHERS THEN
5429 xla_exceptions_pkg.raise_message
5430 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctDerRule_37');
5431 END AcctDerRule_37;
5432 --
5433
5434 ---------------------------------------
5435 --
5436 -- PRIVATE FUNCTION
5437 -- AcctDerRule_38
5438 --
5439 ---------------------------------------
5440 FUNCTION AcctDerRule_38 (
5441 p_application_id IN NUMBER
5442 , p_ae_header_id IN NUMBER
5443 , p_side IN VARCHAR2
5444 --Bank Cash Clearing Account
5445 , p_source_30 IN NUMBER
5446 , x_transaction_coa_id OUT NOCOPY NUMBER
5447 , x_accounting_coa_id OUT NOCOPY NUMBER
5448 , x_value_type_code OUT NOCOPY VARCHAR2
5449 )
5450 RETURN NUMBER
5451 IS
5452 l_component_type VARCHAR2(80) ;
5453 l_component_code VARCHAR2(30) ;
5454 l_component_type_code VARCHAR2(1) ;
5455 l_component_appl_id INTEGER ;
5456 l_amb_context_code VARCHAR2(30) ;
5457 l_log_module VARCHAR2(240) ;
5458 l_output_value NUMBER ;
5459 BEGIN
5460 IF g_log_enabled THEN
5461 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_38';
5465 (p_msg => 'BEGIN of AcctDerRule_38'
5462 END IF;
5463 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
5464 trace
5466 ,p_level => C_LEVEL_PROCEDURE
5467 ,p_module => l_log_module);
5468 END IF;
5469 --
5470 l_component_type := 'AMB_ADR';
5471 l_component_code := 'AP_PMT_CASH_CLEAR';
5472 l_component_type_code := 'S';
5473 l_component_appl_id := 200;
5474 l_amb_context_code := 'DEFAULT';
5475 x_transaction_coa_id := null;
5476 x_accounting_coa_id := null;
5477 --
5478
5479 --
5480 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
5481 trace
5482 (p_msg => 'END of AcctDerRule_38'
5483 ,p_level => C_LEVEL_PROCEDURE
5484 ,p_module => l_log_module);
5485 END IF;
5486 x_value_type_code := 'S';
5487 l_output_value := TO_NUMBER(TO_NUMBER(p_source_30));
5488 RETURN l_output_value;
5489
5490 --
5491 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
5492 trace
5493 (p_msg => 'END of AcctDerRule_38(invalid)'
5494 ,p_level => C_LEVEL_PROCEDURE
5495 ,p_module => l_log_module);
5496 END IF;
5497 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
5498 x_value_type_code := null;
5499 l_output_value := null;
5500 xla_accounting_err_pkg.build_message
5501 (p_appli_s_name => 'XLA'
5502 ,p_msg_name => 'XLA_AP_INVALID_ADR'
5503 ,p_token_1 => 'COMPONENT_NAME'
5504 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
5505 l_component_type
5506 , l_component_code
5507 , l_component_type_code
5508 , l_component_appl_id
5509 , l_amb_context_code
5510 )
5511 ,p_token_2 => 'OWNER'
5512 ,p_value_2 => xla_lookups_pkg.get_meaning(
5513 'XLA_OWNER_TYPE'
5514 ,l_component_type_code
5515 )
5516 ,p_token_3 => 'PAD_NAME'
5517 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
5518 ,p_token_4 => 'PAD_OWNER'
5519 ,p_value_4 => xla_lookups_pkg.get_meaning(
5520 'XLA_OWNER_TYPE'
5521 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
5522 )
5523 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
5524 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
5525 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
5526 ,p_ae_header_id => NULL
5527 );
5528 RETURN l_output_value;
5529 EXCEPTION
5530 WHEN xla_exceptions_pkg.application_exception THEN
5531 RAISE;
5532 WHEN OTHERS THEN
5533 xla_exceptions_pkg.raise_message
5534 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctDerRule_38');
5535 END AcctDerRule_38;
5536 --
5537
5538 ---------------------------------------
5539 --
5540 -- PRIVATE FUNCTION
5541 -- AcctDerRule_39
5542 --
5543 ---------------------------------------
5544 FUNCTION AcctDerRule_39 (
5545 p_application_id IN NUMBER
5546 , p_ae_header_id IN NUMBER
5547 , p_side IN VARCHAR2
5548 --Invoice Distribution Account
5549 , p_source_25 IN NUMBER
5550 --Prepaid Expense Account Source Option
5551 , p_source_26 IN VARCHAR2
5552 , p_source_26_meaning IN VARCHAR2
5553 --Purchase Order Number
5554 , p_source_27 IN VARCHAR2
5555 --Invoice Distribution Type
5556 , p_source_28 IN VARCHAR2
5557 , p_source_28_meaning IN VARCHAR2
5558 --Purchase Order Charge Account
5559 , p_source_41 IN NUMBER
5560 , x_transaction_coa_id OUT NOCOPY NUMBER
5561 , x_accounting_coa_id OUT NOCOPY NUMBER
5562 , x_value_type_code OUT NOCOPY VARCHAR2
5563 )
5564 RETURN NUMBER
5565 IS
5566 l_component_type VARCHAR2(80) ;
5567 l_component_code VARCHAR2(30) ;
5568 l_component_type_code VARCHAR2(1) ;
5569 l_component_appl_id INTEGER ;
5570 l_amb_context_code VARCHAR2(30) ;
5571 l_log_module VARCHAR2(240) ;
5572 l_output_value NUMBER ;
5573 BEGIN
5574 IF g_log_enabled THEN
5575 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_39';
5576 END IF;
5577 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
5578 trace
5579 (p_msg => 'BEGIN of AcctDerRule_39'
5580 ,p_level => C_LEVEL_PROCEDURE
5581 ,p_module => l_log_module);
5582 END IF;
5583 --
5584 l_component_type := 'AMB_ADR';
5585 l_component_code := 'AP_PREPAY_INVOICE_DIST';
5586 l_component_type_code := 'S';
5587 l_component_appl_id := 200;
5588 l_amb_context_code := 'DEFAULT';
5589 x_transaction_coa_id := null;
5590 x_accounting_coa_id := null;
5591 --
5592
5596 ') = 'Y' AND
5593 IF NVL(p_source_26,'
5594 ') <> 'Y' OR
5595 (NVL(p_source_26,'
5597 p_source_27 IS NULL )
5598 THEN
5599 --
5600 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
5601 trace
5602 (p_msg => 'END of AcctDerRule_39'
5603 ,p_level => C_LEVEL_PROCEDURE
5604 ,p_module => l_log_module);
5605 END IF;
5606 x_value_type_code := 'S';
5607 l_output_value := TO_NUMBER(TO_NUMBER(p_source_25));
5608 RETURN l_output_value;
5609
5610 ELSIF NVL(p_source_26,'
5611 ') = 'Y' AND
5612 p_source_27 IS NOT NULL AND
5613 NVL(p_source_28,'
5614 ') = 'ITEM'
5615 THEN
5616 --
5617 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
5618 trace
5619 (p_msg => 'END of AcctDerRule_39'
5620 ,p_level => C_LEVEL_PROCEDURE
5621 ,p_module => l_log_module);
5622 END IF;
5623 x_value_type_code := 'S';
5624 l_output_value := TO_NUMBER(TO_NUMBER(p_source_41));
5625 RETURN l_output_value;
5626
5627 END IF;
5628 --
5629 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
5630 trace
5631 (p_msg => 'END of AcctDerRule_39(invalid)'
5632 ,p_level => C_LEVEL_PROCEDURE
5633 ,p_module => l_log_module);
5634 END IF;
5635 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
5636 x_value_type_code := null;
5637 l_output_value := null;
5638 xla_accounting_err_pkg.build_message
5639 (p_appli_s_name => 'XLA'
5640 ,p_msg_name => 'XLA_AP_INVALID_ADR'
5641 ,p_token_1 => 'COMPONENT_NAME'
5642 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
5643 l_component_type
5644 , l_component_code
5645 , l_component_type_code
5646 , l_component_appl_id
5647 , l_amb_context_code
5648 )
5649 ,p_token_2 => 'OWNER'
5650 ,p_value_2 => xla_lookups_pkg.get_meaning(
5651 'XLA_OWNER_TYPE'
5652 ,l_component_type_code
5653 )
5654 ,p_token_3 => 'PAD_NAME'
5655 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
5656 ,p_token_4 => 'PAD_OWNER'
5657 ,p_value_4 => xla_lookups_pkg.get_meaning(
5658 'XLA_OWNER_TYPE'
5659 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
5660 )
5661 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
5662 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
5663 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
5664 ,p_ae_header_id => NULL
5665 );
5666 RETURN l_output_value;
5667 EXCEPTION
5668 WHEN xla_exceptions_pkg.application_exception THEN
5669 RAISE;
5670 WHEN OTHERS THEN
5671 xla_exceptions_pkg.raise_message
5672 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctDerRule_39');
5673 END AcctDerRule_39;
5674 --
5675
5676 ---------------------------------------
5677 --
5678 -- PRIVATE FUNCTION
5679 -- AcctDerRule_40
5680 --
5681 ---------------------------------------
5682 FUNCTION AcctDerRule_40 (
5683 p_application_id IN NUMBER
5684 , p_ae_header_id IN NUMBER
5685 , p_side IN VARCHAR2
5686 --Automatic Offsets Value
5687 , p_source_10 IN VARCHAR2
5688 , p_source_10_meaning IN VARCHAR2
5689 --Invoice Distribution Account
5690 , p_source_25 IN NUMBER
5691 --Internal Realized Gain Account
5692 , p_source_31 IN NUMBER
5693 --Bank Gain Account
5694 , p_source_32 IN NUMBER
5695 , x_transaction_coa_id OUT NOCOPY NUMBER
5696 , x_accounting_coa_id OUT NOCOPY NUMBER
5697 , x_value_type_code OUT NOCOPY VARCHAR2
5698 )
5699 RETURN NUMBER
5700 IS
5701 l_component_type VARCHAR2(80) ;
5702 l_component_code VARCHAR2(30) ;
5703 l_component_type_code VARCHAR2(1) ;
5704 l_component_appl_id INTEGER ;
5705 l_amb_context_code VARCHAR2(30) ;
5706 l_log_module VARCHAR2(240) ;
5707 l_output_value NUMBER ;
5708 BEGIN
5709 IF g_log_enabled THEN
5710 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_40';
5711 END IF;
5712 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
5713 trace
5714 (p_msg => 'BEGIN of AcctDerRule_40'
5715 ,p_level => C_LEVEL_PROCEDURE
5716 ,p_module => l_log_module);
5717 END IF;
5718 --
5719 l_component_type := 'AMB_ADR';
5720 l_component_code := 'AP_REAL_GAIN';
5721 l_component_type_code := 'S';
5722 l_component_appl_id := 200;
5723 l_amb_context_code := 'DEFAULT';
5724 x_transaction_coa_id := null;
5728 IF NVL(p_source_10,'
5725 x_accounting_coa_id := null;
5726 --
5727
5729 ') <> 'ACCOUNT_SEGMENT_VALUE'
5730 THEN
5731 --
5732 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
5733 trace
5734 (p_msg => 'END of AcctDerRule_40'
5735 ,p_level => C_LEVEL_PROCEDURE
5736 ,p_module => l_log_module);
5737 END IF;
5738 x_value_type_code := 'S';
5739 l_output_value := TO_NUMBER(TO_NUMBER(p_source_31));
5740 RETURN l_output_value;
5741
5742 ELSIF NVL(p_source_10,'
5743 ') <> 'ACCOUNT_SEGMENT_VALUE'
5744 THEN
5745 --
5746 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
5747 trace
5748 (p_msg => 'END of AcctDerRule_40'
5749 ,p_level => C_LEVEL_PROCEDURE
5750 ,p_module => l_log_module);
5751 END IF;
5752 x_value_type_code := 'S';
5753 l_output_value := TO_NUMBER(TO_NUMBER(p_source_32));
5754 RETURN l_output_value;
5755
5756 ELSIF NVL(p_source_10,'
5757 ') = 'ACCOUNT_SEGMENT_VALUE'
5758 THEN
5759 --
5760 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
5761 trace
5762 (p_msg => 'END of AcctDerRule_40'
5763 ,p_level => C_LEVEL_PROCEDURE
5764 ,p_module => l_log_module);
5765 END IF;
5766 x_value_type_code := 'S';
5767 l_output_value := TO_NUMBER(TO_NUMBER(p_source_25));
5768 RETURN l_output_value;
5769
5770 END IF;
5771 --
5772 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
5773 trace
5774 (p_msg => 'END of AcctDerRule_40(invalid)'
5775 ,p_level => C_LEVEL_PROCEDURE
5776 ,p_module => l_log_module);
5777 END IF;
5778 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
5779 x_value_type_code := null;
5780 l_output_value := null;
5781 xla_accounting_err_pkg.build_message
5782 (p_appli_s_name => 'XLA'
5783 ,p_msg_name => 'XLA_AP_INVALID_ADR'
5784 ,p_token_1 => 'COMPONENT_NAME'
5785 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
5786 l_component_type
5787 , l_component_code
5788 , l_component_type_code
5789 , l_component_appl_id
5790 , l_amb_context_code
5791 )
5792 ,p_token_2 => 'OWNER'
5793 ,p_value_2 => xla_lookups_pkg.get_meaning(
5794 'XLA_OWNER_TYPE'
5795 ,l_component_type_code
5796 )
5797 ,p_token_3 => 'PAD_NAME'
5798 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
5799 ,p_token_4 => 'PAD_OWNER'
5800 ,p_value_4 => xla_lookups_pkg.get_meaning(
5801 'XLA_OWNER_TYPE'
5802 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
5803 )
5804 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
5805 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
5806 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
5807 ,p_ae_header_id => NULL
5808 );
5809 RETURN l_output_value;
5810 EXCEPTION
5811 WHEN xla_exceptions_pkg.application_exception THEN
5812 RAISE;
5813 WHEN OTHERS THEN
5814 xla_exceptions_pkg.raise_message
5815 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctDerRule_40');
5816 END AcctDerRule_40;
5817 --
5818
5819 ---------------------------------------
5820 --
5821 -- PRIVATE FUNCTION
5822 -- AcctDerRule_41
5823 --
5824 ---------------------------------------
5825 FUNCTION AcctDerRule_41 (
5826 p_application_id IN NUMBER
5827 , p_ae_header_id IN NUMBER
5828 , p_side IN VARCHAR2
5829 --Automatic Offsets Value
5830 , p_source_10 IN VARCHAR2
5831 , p_source_10_meaning IN VARCHAR2
5832 --Invoice Distribution Account
5833 , p_source_25 IN NUMBER
5834 --Internal Realized Loss Account
5835 , p_source_33 IN NUMBER
5836 --Bank Loss Account
5837 , p_source_34 IN NUMBER
5838 , x_transaction_coa_id OUT NOCOPY NUMBER
5839 , x_accounting_coa_id OUT NOCOPY NUMBER
5840 , x_value_type_code OUT NOCOPY VARCHAR2
5841 )
5842 RETURN NUMBER
5843 IS
5844 l_component_type VARCHAR2(80) ;
5845 l_component_code VARCHAR2(30) ;
5846 l_component_type_code VARCHAR2(1) ;
5847 l_component_appl_id INTEGER ;
5848 l_amb_context_code VARCHAR2(30) ;
5849 l_log_module VARCHAR2(240) ;
5850 l_output_value NUMBER ;
5851 BEGIN
5852 IF g_log_enabled THEN
5856 trace
5853 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_41';
5854 END IF;
5855 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
5857 (p_msg => 'BEGIN of AcctDerRule_41'
5858 ,p_level => C_LEVEL_PROCEDURE
5859 ,p_module => l_log_module);
5860 END IF;
5861 --
5862 l_component_type := 'AMB_ADR';
5863 l_component_code := 'AP_REAL_LOSS';
5864 l_component_type_code := 'S';
5865 l_component_appl_id := 200;
5866 l_amb_context_code := 'DEFAULT';
5867 x_transaction_coa_id := null;
5868 x_accounting_coa_id := null;
5869 --
5870
5871 IF NVL(p_source_10,'
5872 ') <> 'ACCOUNT_SEGMENT_VALUE'
5873 THEN
5874 --
5875 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
5876 trace
5877 (p_msg => 'END of AcctDerRule_41'
5878 ,p_level => C_LEVEL_PROCEDURE
5879 ,p_module => l_log_module);
5880 END IF;
5881 x_value_type_code := 'S';
5882 l_output_value := TO_NUMBER(TO_NUMBER(p_source_33));
5883 RETURN l_output_value;
5884
5885 ELSIF NVL(p_source_10,'
5886 ') <> 'ACCOUNT_SEGMENT_VALUE'
5887 THEN
5888 --
5889 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
5890 trace
5891 (p_msg => 'END of AcctDerRule_41'
5892 ,p_level => C_LEVEL_PROCEDURE
5893 ,p_module => l_log_module);
5894 END IF;
5895 x_value_type_code := 'S';
5896 l_output_value := TO_NUMBER(TO_NUMBER(p_source_34));
5897 RETURN l_output_value;
5898
5899 ELSIF NVL(p_source_10,'
5900 ') = 'ACCOUNT_SEGMENT_VALUE'
5901 THEN
5902 --
5903 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
5904 trace
5905 (p_msg => 'END of AcctDerRule_41'
5906 ,p_level => C_LEVEL_PROCEDURE
5907 ,p_module => l_log_module);
5908 END IF;
5909 x_value_type_code := 'S';
5910 l_output_value := TO_NUMBER(TO_NUMBER(p_source_25));
5911 RETURN l_output_value;
5912
5913 END IF;
5914 --
5915 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
5916 trace
5917 (p_msg => 'END of AcctDerRule_41(invalid)'
5918 ,p_level => C_LEVEL_PROCEDURE
5919 ,p_module => l_log_module);
5920 END IF;
5921 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
5922 x_value_type_code := null;
5923 l_output_value := null;
5924 xla_accounting_err_pkg.build_message
5925 (p_appli_s_name => 'XLA'
5926 ,p_msg_name => 'XLA_AP_INVALID_ADR'
5927 ,p_token_1 => 'COMPONENT_NAME'
5928 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
5929 l_component_type
5930 , l_component_code
5931 , l_component_type_code
5932 , l_component_appl_id
5933 , l_amb_context_code
5934 )
5935 ,p_token_2 => 'OWNER'
5936 ,p_value_2 => xla_lookups_pkg.get_meaning(
5937 'XLA_OWNER_TYPE'
5938 ,l_component_type_code
5939 )
5940 ,p_token_3 => 'PAD_NAME'
5941 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
5942 ,p_token_4 => 'PAD_OWNER'
5943 ,p_value_4 => xla_lookups_pkg.get_meaning(
5944 'XLA_OWNER_TYPE'
5945 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
5946 )
5947 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
5948 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
5949 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
5950 ,p_ae_header_id => NULL
5951 );
5952 RETURN l_output_value;
5953 EXCEPTION
5954 WHEN xla_exceptions_pkg.application_exception THEN
5955 RAISE;
5956 WHEN OTHERS THEN
5957 xla_exceptions_pkg.raise_message
5958 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctDerRule_41');
5959 END AcctDerRule_41;
5960 --
5961
5962 ---------------------------------------
5963 --
5964 -- PRIVATE FUNCTION
5965 -- AcctDerRule_42
5966 --
5967 ---------------------------------------
5968 FUNCTION AcctDerRule_42 (
5969 p_application_id IN NUMBER
5970 , p_ae_header_id IN NUMBER
5971 , p_side IN VARCHAR2
5972 --Automatic Offsets Value
5973 , p_source_10 IN VARCHAR2
5974 , p_source_10_meaning IN VARCHAR2
5975 --Invoice Distribution Account
5976 , p_source_25 IN NUMBER
5977 --Retainage Related Item Distribution Account
5978 , p_source_38 IN NUMBER
5979 , x_transaction_coa_id OUT NOCOPY NUMBER
5980 , x_accounting_coa_id OUT NOCOPY NUMBER
5981 , x_value_type_code OUT NOCOPY VARCHAR2
5982 )
5986 l_component_code VARCHAR2(30) ;
5983 RETURN NUMBER
5984 IS
5985 l_component_type VARCHAR2(80) ;
5987 l_component_type_code VARCHAR2(1) ;
5988 l_component_appl_id INTEGER ;
5989 l_amb_context_code VARCHAR2(30) ;
5990 l_log_module VARCHAR2(240) ;
5991 l_output_value NUMBER ;
5992 BEGIN
5993 IF g_log_enabled THEN
5994 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_42';
5995 END IF;
5996 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
5997 trace
5998 (p_msg => 'BEGIN of AcctDerRule_42'
5999 ,p_level => C_LEVEL_PROCEDURE
6000 ,p_module => l_log_module);
6001 END IF;
6002 --
6003 l_component_type := 'AMB_ADR';
6004 l_component_code := 'AP_RETAINAGE';
6005 l_component_type_code := 'S';
6006 l_component_appl_id := 200;
6007 l_amb_context_code := 'DEFAULT';
6008 x_transaction_coa_id := null;
6009 x_accounting_coa_id := null;
6010 --
6011
6012 IF NVL(p_source_10,'
6013 ') <> 'ACCOUNT_SEGMENT_VALUE'
6014 THEN
6015 --
6016 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
6017 trace
6018 (p_msg => 'END of AcctDerRule_42'
6019 ,p_level => C_LEVEL_PROCEDURE
6020 ,p_module => l_log_module);
6021 END IF;
6022 x_value_type_code := 'S';
6023 l_output_value := TO_NUMBER(TO_NUMBER(p_source_25));
6024 RETURN l_output_value;
6025
6026 ELSIF NVL(p_source_10,'
6027 ') = 'ACCOUNT_SEGMENT_VALUE'
6028 THEN
6029 --
6030 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
6031 trace
6032 (p_msg => 'END of AcctDerRule_42'
6033 ,p_level => C_LEVEL_PROCEDURE
6034 ,p_module => l_log_module);
6035 END IF;
6036 x_value_type_code := 'S';
6037 l_output_value := TO_NUMBER(TO_NUMBER(p_source_38));
6038 RETURN l_output_value;
6039
6040 END IF;
6041 --
6042 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
6043 trace
6044 (p_msg => 'END of AcctDerRule_42(invalid)'
6045 ,p_level => C_LEVEL_PROCEDURE
6046 ,p_module => l_log_module);
6047 END IF;
6048 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
6049 x_value_type_code := null;
6050 l_output_value := null;
6051 xla_accounting_err_pkg.build_message
6052 (p_appli_s_name => 'XLA'
6053 ,p_msg_name => 'XLA_AP_INVALID_ADR'
6054 ,p_token_1 => 'COMPONENT_NAME'
6055 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
6056 l_component_type
6057 , l_component_code
6058 , l_component_type_code
6059 , l_component_appl_id
6060 , l_amb_context_code
6061 )
6062 ,p_token_2 => 'OWNER'
6063 ,p_value_2 => xla_lookups_pkg.get_meaning(
6064 'XLA_OWNER_TYPE'
6065 ,l_component_type_code
6066 )
6067 ,p_token_3 => 'PAD_NAME'
6068 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
6069 ,p_token_4 => 'PAD_OWNER'
6070 ,p_value_4 => xla_lookups_pkg.get_meaning(
6071 'XLA_OWNER_TYPE'
6072 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
6073 )
6074 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
6075 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
6076 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
6077 ,p_ae_header_id => NULL
6078 );
6079 RETURN l_output_value;
6080 EXCEPTION
6081 WHEN xla_exceptions_pkg.application_exception THEN
6082 RAISE;
6083 WHEN OTHERS THEN
6084 xla_exceptions_pkg.raise_message
6085 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctDerRule_42');
6086 END AcctDerRule_42;
6087 --
6088
6089 ---------------------------------------
6090 --
6091 -- PRIVATE FUNCTION
6092 -- AcctDerRule_43
6093 --
6094 ---------------------------------------
6095 FUNCTION AcctDerRule_43 (
6096 p_application_id IN NUMBER
6097 , p_ae_header_id IN NUMBER
6098 , p_side IN VARCHAR2
6099 --Automatic Offsets Value
6100 , p_source_10 IN VARCHAR2
6101 , p_source_10_meaning IN VARCHAR2
6102 --Invoice Distribution Account
6103 , p_source_25 IN NUMBER
6104 --Payables Options Rounding Account
6105 , p_source_45 IN NUMBER
6106 , x_transaction_coa_id OUT NOCOPY NUMBER
6107 , x_accounting_coa_id OUT NOCOPY NUMBER
6108 , x_value_type_code OUT NOCOPY VARCHAR2
6109 )
6110 RETURN NUMBER
6114 l_component_type_code VARCHAR2(1) ;
6111 IS
6112 l_component_type VARCHAR2(80) ;
6113 l_component_code VARCHAR2(30) ;
6115 l_component_appl_id INTEGER ;
6116 l_amb_context_code VARCHAR2(30) ;
6117 l_log_module VARCHAR2(240) ;
6118 l_output_value NUMBER ;
6119 BEGIN
6120 IF g_log_enabled THEN
6121 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_43';
6122 END IF;
6123 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
6124 trace
6125 (p_msg => 'BEGIN of AcctDerRule_43'
6126 ,p_level => C_LEVEL_PROCEDURE
6127 ,p_module => l_log_module);
6128 END IF;
6129 --
6130 l_component_type := 'AMB_ADR';
6131 l_component_code := 'AP_ROUNDING';
6132 l_component_type_code := 'S';
6133 l_component_appl_id := 200;
6134 l_amb_context_code := 'DEFAULT';
6135 x_transaction_coa_id := null;
6136 x_accounting_coa_id := null;
6137 --
6138
6139 IF NVL(p_source_10,'
6140 ') <> 'ACCOUNT_SEGMENT_VALUE'
6141 THEN
6142 --
6143 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
6144 trace
6145 (p_msg => 'END of AcctDerRule_43'
6146 ,p_level => C_LEVEL_PROCEDURE
6147 ,p_module => l_log_module);
6148 END IF;
6149 x_value_type_code := 'S';
6150 l_output_value := TO_NUMBER(TO_NUMBER(p_source_45));
6151 RETURN l_output_value;
6152
6153 ELSIF NVL(p_source_10,'
6154 ') = 'ACCOUNT_SEGMENT_VALUE'
6155 THEN
6156 --
6157 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
6158 trace
6159 (p_msg => 'END of AcctDerRule_43'
6160 ,p_level => C_LEVEL_PROCEDURE
6161 ,p_module => l_log_module);
6162 END IF;
6163 x_value_type_code := 'S';
6164 l_output_value := TO_NUMBER(TO_NUMBER(p_source_25));
6165 RETURN l_output_value;
6166
6167 END IF;
6168 --
6169 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
6170 trace
6171 (p_msg => 'END of AcctDerRule_43(invalid)'
6172 ,p_level => C_LEVEL_PROCEDURE
6173 ,p_module => l_log_module);
6174 END IF;
6175 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
6176 x_value_type_code := null;
6177 l_output_value := null;
6178 xla_accounting_err_pkg.build_message
6179 (p_appli_s_name => 'XLA'
6180 ,p_msg_name => 'XLA_AP_INVALID_ADR'
6181 ,p_token_1 => 'COMPONENT_NAME'
6182 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
6183 l_component_type
6184 , l_component_code
6185 , l_component_type_code
6186 , l_component_appl_id
6187 , l_amb_context_code
6188 )
6189 ,p_token_2 => 'OWNER'
6190 ,p_value_2 => xla_lookups_pkg.get_meaning(
6191 'XLA_OWNER_TYPE'
6192 ,l_component_type_code
6193 )
6194 ,p_token_3 => 'PAD_NAME'
6195 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
6196 ,p_token_4 => 'PAD_OWNER'
6197 ,p_value_4 => xla_lookups_pkg.get_meaning(
6198 'XLA_OWNER_TYPE'
6199 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
6200 )
6201 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
6202 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
6203 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
6204 ,p_ae_header_id => NULL
6205 );
6206 RETURN l_output_value;
6207 EXCEPTION
6208 WHEN xla_exceptions_pkg.application_exception THEN
6209 RAISE;
6210 WHEN OTHERS THEN
6211 xla_exceptions_pkg.raise_message
6212 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctDerRule_43');
6213 END AcctDerRule_43;
6214 --
6215
6216 ---------------------------------------
6217 --
6218 -- PRIVATE FUNCTION
6219 -- AcctDerRule_44
6220 --
6221 ---------------------------------------
6222 FUNCTION AcctDerRule_44 (
6223 p_application_id IN NUMBER
6224 , p_ae_header_id IN NUMBER
6225 , p_side IN VARCHAR2
6226 --Self-Assessed Tax Account
6227 , p_source_46 IN NUMBER
6228 , x_transaction_coa_id OUT NOCOPY NUMBER
6229 , x_accounting_coa_id OUT NOCOPY NUMBER
6230 , x_value_type_code OUT NOCOPY VARCHAR2
6231 )
6232 RETURN NUMBER
6233 IS
6234 l_component_type VARCHAR2(80) ;
6235 l_component_code VARCHAR2(30) ;
6236 l_component_type_code VARCHAR2(1) ;
6240 l_output_value NUMBER ;
6237 l_component_appl_id INTEGER ;
6238 l_amb_context_code VARCHAR2(30) ;
6239 l_log_module VARCHAR2(240) ;
6241 BEGIN
6242 IF g_log_enabled THEN
6243 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_44';
6244 END IF;
6245 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
6246 trace
6247 (p_msg => 'BEGIN of AcctDerRule_44'
6248 ,p_level => C_LEVEL_PROCEDURE
6249 ,p_module => l_log_module);
6250 END IF;
6251 --
6252 l_component_type := 'AMB_ADR';
6253 l_component_code := 'AP_SELF_ASSESSED_TAX';
6254 l_component_type_code := 'S';
6255 l_component_appl_id := 200;
6256 l_amb_context_code := 'DEFAULT';
6257 x_transaction_coa_id := null;
6258 x_accounting_coa_id := null;
6259 --
6260
6261 --
6262 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
6263 trace
6264 (p_msg => 'END of AcctDerRule_44'
6265 ,p_level => C_LEVEL_PROCEDURE
6266 ,p_module => l_log_module);
6267 END IF;
6268 x_value_type_code := 'S';
6269 l_output_value := TO_NUMBER(TO_NUMBER(p_source_46));
6270 RETURN l_output_value;
6271
6272 --
6273 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
6274 trace
6275 (p_msg => 'END of AcctDerRule_44(invalid)'
6276 ,p_level => C_LEVEL_PROCEDURE
6277 ,p_module => l_log_module);
6278 END IF;
6279 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
6280 x_value_type_code := null;
6281 l_output_value := null;
6282 xla_accounting_err_pkg.build_message
6283 (p_appli_s_name => 'XLA'
6284 ,p_msg_name => 'XLA_AP_INVALID_ADR'
6285 ,p_token_1 => 'COMPONENT_NAME'
6286 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
6287 l_component_type
6288 , l_component_code
6289 , l_component_type_code
6290 , l_component_appl_id
6291 , l_amb_context_code
6292 )
6293 ,p_token_2 => 'OWNER'
6294 ,p_value_2 => xla_lookups_pkg.get_meaning(
6295 'XLA_OWNER_TYPE'
6296 ,l_component_type_code
6297 )
6298 ,p_token_3 => 'PAD_NAME'
6299 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
6300 ,p_token_4 => 'PAD_OWNER'
6301 ,p_value_4 => xla_lookups_pkg.get_meaning(
6302 'XLA_OWNER_TYPE'
6303 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
6304 )
6305 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
6306 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
6307 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
6308 ,p_ae_header_id => NULL
6309 );
6310 RETURN l_output_value;
6311 EXCEPTION
6312 WHEN xla_exceptions_pkg.application_exception THEN
6313 RAISE;
6314 WHEN OTHERS THEN
6315 xla_exceptions_pkg.raise_message
6316 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctDerRule_44');
6317 END AcctDerRule_44;
6318 --
6319
6320 ---------------------------------------
6321 --
6322 -- PRIVATE FUNCTION
6323 -- AcctDerRule_45
6324 --
6325 ---------------------------------------
6326 FUNCTION AcctDerRule_45 (
6327 p_application_id IN NUMBER
6328 , p_ae_header_id IN NUMBER
6329 , p_side IN VARCHAR2
6330 --Self-Assessed Tax Liability Account
6331 , p_source_47 IN NUMBER
6332 , x_transaction_coa_id OUT NOCOPY NUMBER
6333 , x_accounting_coa_id OUT NOCOPY NUMBER
6334 , x_value_type_code OUT NOCOPY VARCHAR2
6335 )
6336 RETURN NUMBER
6337 IS
6338 l_component_type VARCHAR2(80) ;
6339 l_component_code VARCHAR2(30) ;
6340 l_component_type_code VARCHAR2(1) ;
6341 l_component_appl_id INTEGER ;
6342 l_amb_context_code VARCHAR2(30) ;
6343 l_log_module VARCHAR2(240) ;
6344 l_output_value NUMBER ;
6345 BEGIN
6346 IF g_log_enabled THEN
6347 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_45';
6348 END IF;
6349 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
6350 trace
6351 (p_msg => 'BEGIN of AcctDerRule_45'
6352 ,p_level => C_LEVEL_PROCEDURE
6353 ,p_module => l_log_module);
6354 END IF;
6355 --
6356 l_component_type := 'AMB_ADR';
6357 l_component_code := 'AP_SELF_ASSESSED_TAX_LIAB';
6358 l_component_type_code := 'S';
6359 l_component_appl_id := 200;
6360 l_amb_context_code := 'DEFAULT';
6361 x_transaction_coa_id := null;
6365 --
6362 x_accounting_coa_id := null;
6363 --
6364
6366 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
6367 trace
6368 (p_msg => 'END of AcctDerRule_45'
6369 ,p_level => C_LEVEL_PROCEDURE
6370 ,p_module => l_log_module);
6371 END IF;
6372 x_value_type_code := 'S';
6373 l_output_value := TO_NUMBER(TO_NUMBER(p_source_47));
6374 RETURN l_output_value;
6375
6376 --
6377 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
6378 trace
6379 (p_msg => 'END of AcctDerRule_45(invalid)'
6380 ,p_level => C_LEVEL_PROCEDURE
6381 ,p_module => l_log_module);
6382 END IF;
6383 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
6384 x_value_type_code := null;
6385 l_output_value := null;
6386 xla_accounting_err_pkg.build_message
6387 (p_appli_s_name => 'XLA'
6388 ,p_msg_name => 'XLA_AP_INVALID_ADR'
6389 ,p_token_1 => 'COMPONENT_NAME'
6390 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
6391 l_component_type
6392 , l_component_code
6393 , l_component_type_code
6394 , l_component_appl_id
6395 , l_amb_context_code
6396 )
6397 ,p_token_2 => 'OWNER'
6398 ,p_value_2 => xla_lookups_pkg.get_meaning(
6399 'XLA_OWNER_TYPE'
6400 ,l_component_type_code
6401 )
6402 ,p_token_3 => 'PAD_NAME'
6403 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
6404 ,p_token_4 => 'PAD_OWNER'
6405 ,p_value_4 => xla_lookups_pkg.get_meaning(
6406 'XLA_OWNER_TYPE'
6407 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
6408 )
6409 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
6410 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
6411 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
6412 ,p_ae_header_id => NULL
6413 );
6414 RETURN l_output_value;
6415 EXCEPTION
6416 WHEN xla_exceptions_pkg.application_exception THEN
6417 RAISE;
6418 WHEN OTHERS THEN
6419 xla_exceptions_pkg.raise_message
6420 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctDerRule_45');
6421 END AcctDerRule_45;
6422 --
6423
6424 ---------------------------------------
6425 --
6426 -- PRIVATE FUNCTION
6427 -- AcctDerRule_46
6428 --
6429 ---------------------------------------
6430 FUNCTION AcctDerRule_46 (
6431 p_application_id IN NUMBER
6432 , p_ae_header_id IN NUMBER
6433 , p_side IN VARCHAR2
6434 --Recoverable Tax Account
6435 , p_source_48 IN NUMBER
6436 , x_transaction_coa_id OUT NOCOPY NUMBER
6437 , x_accounting_coa_id OUT NOCOPY NUMBER
6438 , x_value_type_code OUT NOCOPY VARCHAR2
6439 )
6440 RETURN NUMBER
6441 IS
6442 l_component_type VARCHAR2(80) ;
6443 l_component_code VARCHAR2(30) ;
6444 l_component_type_code VARCHAR2(1) ;
6445 l_component_appl_id INTEGER ;
6446 l_amb_context_code VARCHAR2(30) ;
6447 l_log_module VARCHAR2(240) ;
6448 l_output_value NUMBER ;
6449 BEGIN
6450 IF g_log_enabled THEN
6451 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_46';
6452 END IF;
6453 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
6454 trace
6455 (p_msg => 'BEGIN of AcctDerRule_46'
6456 ,p_level => C_LEVEL_PROCEDURE
6457 ,p_module => l_log_module);
6458 END IF;
6459 --
6460 l_component_type := 'AMB_ADR';
6461 l_component_code := 'AP_TAX_ACCOUNT';
6462 l_component_type_code := 'S';
6463 l_component_appl_id := 200;
6464 l_amb_context_code := 'DEFAULT';
6465 x_transaction_coa_id := null;
6466 x_accounting_coa_id := null;
6467 --
6468
6469 --
6470 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
6471 trace
6472 (p_msg => 'END of AcctDerRule_46'
6473 ,p_level => C_LEVEL_PROCEDURE
6474 ,p_module => l_log_module);
6475 END IF;
6476 x_value_type_code := 'S';
6477 l_output_value := TO_NUMBER(TO_NUMBER(p_source_48));
6478 RETURN l_output_value;
6479
6480 --
6481 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
6482 trace
6483 (p_msg => 'END of AcctDerRule_46(invalid)'
6484 ,p_level => C_LEVEL_PROCEDURE
6485 ,p_module => l_log_module);
6486 END IF;
6490 xla_accounting_err_pkg.build_message
6487 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
6488 x_value_type_code := null;
6489 l_output_value := null;
6491 (p_appli_s_name => 'XLA'
6492 ,p_msg_name => 'XLA_AP_INVALID_ADR'
6493 ,p_token_1 => 'COMPONENT_NAME'
6494 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
6495 l_component_type
6496 , l_component_code
6497 , l_component_type_code
6498 , l_component_appl_id
6499 , l_amb_context_code
6500 )
6501 ,p_token_2 => 'OWNER'
6502 ,p_value_2 => xla_lookups_pkg.get_meaning(
6503 'XLA_OWNER_TYPE'
6504 ,l_component_type_code
6505 )
6506 ,p_token_3 => 'PAD_NAME'
6507 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
6508 ,p_token_4 => 'PAD_OWNER'
6509 ,p_value_4 => xla_lookups_pkg.get_meaning(
6510 'XLA_OWNER_TYPE'
6511 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
6512 )
6513 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
6514 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
6515 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
6516 ,p_ae_header_id => NULL
6517 );
6518 RETURN l_output_value;
6519 EXCEPTION
6520 WHEN xla_exceptions_pkg.application_exception THEN
6521 RAISE;
6522 WHEN OTHERS THEN
6523 xla_exceptions_pkg.raise_message
6524 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctDerRule_46');
6525 END AcctDerRule_46;
6526 --
6527
6528 ---------------------------------------
6529 --
6530 -- PRIVATE FUNCTION
6531 -- AcctDerRule_47
6532 --
6533 ---------------------------------------
6534 FUNCTION AcctDerRule_47 (
6535 p_application_id IN NUMBER
6536 , p_ae_header_id IN NUMBER
6537 , p_side IN VARCHAR2
6538 --Automatic Offsets Value
6539 , p_source_10 IN VARCHAR2
6540 , p_source_10_meaning IN VARCHAR2
6541 --Invoice Distribution Account
6542 , p_source_25 IN NUMBER
6543 --Payables Options Tax Difference Account
6544 , p_source_36 IN NUMBER
6545 , x_transaction_coa_id OUT NOCOPY NUMBER
6546 , x_accounting_coa_id OUT NOCOPY NUMBER
6547 , x_value_type_code OUT NOCOPY VARCHAR2
6548 )
6549 RETURN NUMBER
6550 IS
6551 l_component_type VARCHAR2(80) ;
6552 l_component_code VARCHAR2(30) ;
6553 l_component_type_code VARCHAR2(1) ;
6554 l_component_appl_id INTEGER ;
6555 l_amb_context_code VARCHAR2(30) ;
6556 l_log_module VARCHAR2(240) ;
6557 l_output_value NUMBER ;
6558 BEGIN
6559 IF g_log_enabled THEN
6560 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_47';
6561 END IF;
6562 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
6563 trace
6564 (p_msg => 'BEGIN of AcctDerRule_47'
6565 ,p_level => C_LEVEL_PROCEDURE
6566 ,p_module => l_log_module);
6567 END IF;
6568 --
6569 l_component_type := 'AMB_ADR';
6570 l_component_code := 'AP_TAX_DIFFERENCE';
6571 l_component_type_code := 'S';
6572 l_component_appl_id := 200;
6573 l_amb_context_code := 'DEFAULT';
6574 x_transaction_coa_id := null;
6575 x_accounting_coa_id := null;
6576 --
6577
6578 IF NVL(p_source_10,'
6579 ') <> 'ACCOUNT_SEGMENT_VALUE'
6580 THEN
6581 --
6582 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
6583 trace
6584 (p_msg => 'END of AcctDerRule_47'
6585 ,p_level => C_LEVEL_PROCEDURE
6586 ,p_module => l_log_module);
6587 END IF;
6588 x_value_type_code := 'S';
6589 l_output_value := TO_NUMBER(TO_NUMBER(p_source_36));
6590 RETURN l_output_value;
6591
6592 ELSIF NVL(p_source_10,'
6593 ') = 'ACCOUNT_SEGMENT_VALUE'
6594 THEN
6595 --
6596 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
6597 trace
6598 (p_msg => 'END of AcctDerRule_47'
6599 ,p_level => C_LEVEL_PROCEDURE
6600 ,p_module => l_log_module);
6601 END IF;
6602 x_value_type_code := 'S';
6603 l_output_value := TO_NUMBER(TO_NUMBER(p_source_25));
6604 RETURN l_output_value;
6605
6606 END IF;
6607 --
6608 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
6609 trace
6610 (p_msg => 'END of AcctDerRule_47(invalid)'
6611 ,p_level => C_LEVEL_PROCEDURE
6615 x_value_type_code := null;
6612 ,p_module => l_log_module);
6613 END IF;
6614 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
6616 l_output_value := null;
6617 xla_accounting_err_pkg.build_message
6618 (p_appli_s_name => 'XLA'
6619 ,p_msg_name => 'XLA_AP_INVALID_ADR'
6620 ,p_token_1 => 'COMPONENT_NAME'
6621 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
6622 l_component_type
6623 , l_component_code
6624 , l_component_type_code
6625 , l_component_appl_id
6626 , l_amb_context_code
6627 )
6628 ,p_token_2 => 'OWNER'
6629 ,p_value_2 => xla_lookups_pkg.get_meaning(
6630 'XLA_OWNER_TYPE'
6631 ,l_component_type_code
6632 )
6633 ,p_token_3 => 'PAD_NAME'
6634 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
6635 ,p_token_4 => 'PAD_OWNER'
6636 ,p_value_4 => xla_lookups_pkg.get_meaning(
6637 'XLA_OWNER_TYPE'
6638 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
6639 )
6640 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
6641 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
6642 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
6643 ,p_ae_header_id => NULL
6644 );
6645 RETURN l_output_value;
6646 EXCEPTION
6647 WHEN xla_exceptions_pkg.application_exception THEN
6648 RAISE;
6649 WHEN OTHERS THEN
6650 xla_exceptions_pkg.raise_message
6651 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctDerRule_47');
6652 END AcctDerRule_47;
6653 --
6654
6655 ---------------------------------------
6656 --
6657 -- PRIVATE FUNCTION
6658 -- AcctDerRule_48
6659 --
6660 ---------------------------------------
6661 FUNCTION AcctDerRule_48 (
6662 p_application_id IN NUMBER
6663 , p_ae_header_id IN NUMBER
6664 , p_side IN VARCHAR2
6665 --Automatic Offsets Value
6666 , p_source_10 IN VARCHAR2
6667 , p_source_10_meaning IN VARCHAR2
6668 --Invoice Distribution Account
6669 , p_source_25 IN NUMBER
6670 --Withholding Related Distribution Account
6671 , p_source_39 IN NUMBER
6672 , x_transaction_coa_id OUT NOCOPY NUMBER
6673 , x_accounting_coa_id OUT NOCOPY NUMBER
6674 , x_value_type_code OUT NOCOPY VARCHAR2
6675 )
6676 RETURN NUMBER
6677 IS
6678 l_component_type VARCHAR2(80) ;
6679 l_component_code VARCHAR2(30) ;
6680 l_component_type_code VARCHAR2(1) ;
6681 l_component_appl_id INTEGER ;
6682 l_amb_context_code VARCHAR2(30) ;
6683 l_log_module VARCHAR2(240) ;
6684 l_output_value NUMBER ;
6685 BEGIN
6686 IF g_log_enabled THEN
6687 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_48';
6688 END IF;
6689 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
6690 trace
6691 (p_msg => 'BEGIN of AcctDerRule_48'
6692 ,p_level => C_LEVEL_PROCEDURE
6693 ,p_module => l_log_module);
6694 END IF;
6695 --
6696 l_component_type := 'AMB_ADR';
6697 l_component_code := 'AP_WH_DIST_ACCT';
6698 l_component_type_code := 'S';
6699 l_component_appl_id := 200;
6700 l_amb_context_code := 'DEFAULT';
6701 x_transaction_coa_id := null;
6702 x_accounting_coa_id := null;
6703 --
6704
6705 IF NVL(p_source_10,'
6706 ') <> 'ACCOUNT_SEGMENT_VALUE'
6707 THEN
6708 --
6709 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
6710 trace
6711 (p_msg => 'END of AcctDerRule_48'
6712 ,p_level => C_LEVEL_PROCEDURE
6713 ,p_module => l_log_module);
6714 END IF;
6715 x_value_type_code := 'S';
6716 l_output_value := TO_NUMBER(TO_NUMBER(p_source_25));
6717 RETURN l_output_value;
6718
6719 ELSIF NVL(p_source_10,'
6720 ') = 'ACCOUNT_SEGMENT_VALUE'
6721 THEN
6722 --
6723 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
6724 trace
6725 (p_msg => 'END of AcctDerRule_48'
6726 ,p_level => C_LEVEL_PROCEDURE
6727 ,p_module => l_log_module);
6728 END IF;
6729 x_value_type_code := 'S';
6730 l_output_value := TO_NUMBER(TO_NUMBER(p_source_39));
6731 RETURN l_output_value;
6732
6733 END IF;
6734 --
6735 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
6736 trace
6737 (p_msg => 'END of AcctDerRule_48(invalid)'
6738 ,p_level => C_LEVEL_PROCEDURE
6742 x_value_type_code := null;
6739 ,p_module => l_log_module);
6740 END IF;
6741 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
6743 l_output_value := null;
6744 xla_accounting_err_pkg.build_message
6745 (p_appli_s_name => 'XLA'
6746 ,p_msg_name => 'XLA_AP_INVALID_ADR'
6747 ,p_token_1 => 'COMPONENT_NAME'
6748 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
6749 l_component_type
6750 , l_component_code
6751 , l_component_type_code
6752 , l_component_appl_id
6753 , l_amb_context_code
6754 )
6755 ,p_token_2 => 'OWNER'
6756 ,p_value_2 => xla_lookups_pkg.get_meaning(
6757 'XLA_OWNER_TYPE'
6758 ,l_component_type_code
6759 )
6760 ,p_token_3 => 'PAD_NAME'
6761 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
6762 ,p_token_4 => 'PAD_OWNER'
6763 ,p_value_4 => xla_lookups_pkg.get_meaning(
6764 'XLA_OWNER_TYPE'
6765 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
6766 )
6767 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
6768 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
6769 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
6770 ,p_ae_header_id => NULL
6771 );
6772 RETURN l_output_value;
6773 EXCEPTION
6774 WHEN xla_exceptions_pkg.application_exception THEN
6775 RAISE;
6776 WHEN OTHERS THEN
6777 xla_exceptions_pkg.raise_message
6778 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctDerRule_48');
6779 END AcctDerRule_48;
6780 --
6781
6782 ---------------------------------------
6783 --
6784 -- PRIVATE FUNCTION
6785 -- AcctDerRule_49
6786 --
6787 ---------------------------------------
6788 FUNCTION AcctDerRule_49 (
6789 p_application_id IN NUMBER
6790 , p_ae_header_id IN NUMBER
6791 , p_side IN VARCHAR2
6792 , p_override_seg_flag IN VARCHAR2
6793 , x_transaction_coa_id OUT NOCOPY NUMBER
6794 , x_accounting_coa_id OUT NOCOPY NUMBER
6795 , x_flexfield_segment_code OUT NOCOPY VARCHAR2
6796 , x_flex_value_set_id OUT NOCOPY NUMBER
6797 , x_value_type_code OUT NOCOPY VARCHAR2
6798 , x_value_combination_id OUT NOCOPY NUMBER
6799 , x_value_segment_code OUT NOCOPY VARCHAR2
6800 )
6801 RETURN VARCHAR2
6802 IS
6803 l_component_type VARCHAR2(80) ;
6804 l_component_code VARCHAR2(30) ;
6805 l_component_type_code VARCHAR2(1) ;
6806 l_component_appl_id INTEGER ;
6807 l_amb_context_code VARCHAR2(30) ;
6808 l_log_module VARCHAR2(240) ;
6809 l_output_value VARCHAR2(30) ;
6810 BEGIN
6811 IF g_log_enabled THEN
6812 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_49';
6813 END IF;
6814 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
6815
6816 trace
6817 (p_msg => 'BEGIN of AcctDerRule_49'
6818 ,p_level => C_LEVEL_PROCEDURE
6819 ,p_module => l_log_module);
6820
6821 END IF;
6822
6823 l_component_type := 'AMB_ADR';
6824 l_component_code := 'FV_310701_UNEXP_APPR_ACCT';
6825 l_component_type_code := 'S';
6826 l_component_appl_id := 200;
6827 l_amb_context_code := 'DEFAULT';
6828 x_transaction_coa_id := null;
6829 x_accounting_coa_id := null;
6830 x_flexfield_segment_code := null;
6831 x_flex_value_set_id := 1009988 ;
6832
6833
6834 --
6835 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
6836
6837 trace
6838 (p_msg => 'END of AcctDerRule_49'
6839 ,p_level => C_LEVEL_PROCEDURE
6840 ,p_module => l_log_module);
6841
6842 END IF;
6843 x_value_combination_id := null ;
6844 x_value_segment_code := null ;
6845 x_value_type_code := 'C';
6846 l_output_value := '310701';
6847 RETURN l_output_value;
6848
6849
6850 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
6851
6852 trace
6853 (p_msg => 'END of AcctDerRule_49(invalid)'
6854 ,p_level => C_LEVEL_PROCEDURE
6855 ,p_module => l_log_module);
6856
6857 END IF;
6858
6859 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
6860 x_value_combination_id := null;
6861 x_value_segment_code := null;
6862 x_value_type_code := null;
6863 l_output_value := null;
6864 xla_accounting_err_pkg.build_message
6868 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
6865 (p_appli_s_name => 'XLA'
6866 ,p_msg_name => 'XLA_AP_INVALID_ADR'
6867 ,p_token_1 => 'COMPONENT_NAME'
6869 l_component_type
6870 , l_component_code
6871 , l_component_type_code
6872 , l_component_appl_id
6873 , l_amb_context_code
6874 )
6875 ,p_token_2 => 'OWNER'
6876 ,p_value_2 => xla_lookups_pkg.get_meaning(
6877 'XLA_OWNER_TYPE'
6878 ,l_component_type_code
6879 )
6880 ,p_token_3 => 'PAD_NAME'
6881 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
6882 ,p_token_4 => 'PAD_OWNER'
6883 ,p_value_4 => xla_lookups_pkg.get_meaning(
6884 'XLA_OWNER_TYPE'
6885 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
6886 )
6887 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
6888 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
6889 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
6890 ,p_ae_header_id => NULL
6891 );
6892 RETURN l_output_value;
6893 EXCEPTION
6894 WHEN xla_exceptions_pkg.application_exception THEN
6895 RAISE;
6896 WHEN OTHERS THEN
6897 xla_exceptions_pkg.raise_message
6898 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctDerRule_49');
6899 END AcctDerRule_49;
6900 --
6901
6902 ---------------------------------------
6903 --
6904 -- PRIVATE FUNCTION
6905 -- AcctDerRule_50
6906 --
6907 ---------------------------------------
6908 FUNCTION AcctDerRule_50 (
6909 p_application_id IN NUMBER
6910 , p_ae_header_id IN NUMBER
6911 , p_side IN VARCHAR2
6912 , p_override_seg_flag IN VARCHAR2
6913 --Federal Fund Category
6914 , p_source_49 IN VARCHAR2
6915 --Federal Fund Expired Status
6916 , p_source_50 IN VARCHAR2
6917 --Federal Fund Category Description
6918 , p_source_51 IN VARCHAR2
6919 , x_transaction_coa_id OUT NOCOPY NUMBER
6920 , x_accounting_coa_id OUT NOCOPY NUMBER
6921 , x_flexfield_segment_code OUT NOCOPY VARCHAR2
6922 , x_flex_value_set_id OUT NOCOPY NUMBER
6923 , x_value_type_code OUT NOCOPY VARCHAR2
6924 , x_value_combination_id OUT NOCOPY NUMBER
6925 , x_value_segment_code OUT NOCOPY VARCHAR2
6926 )
6927 RETURN VARCHAR2
6928 IS
6929 l_component_type VARCHAR2(80) ;
6930 l_component_code VARCHAR2(30) ;
6931 l_component_type_code VARCHAR2(1) ;
6932 l_component_appl_id INTEGER ;
6933 l_amb_context_code VARCHAR2(30) ;
6934 l_log_module VARCHAR2(240) ;
6935 l_output_value VARCHAR2(30) ;
6936 BEGIN
6937 IF g_log_enabled THEN
6938 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_50';
6939 END IF;
6940 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
6941
6942 trace
6943 (p_msg => 'BEGIN of AcctDerRule_50'
6944 ,p_level => C_LEVEL_PROCEDURE
6945 ,p_module => l_log_module);
6946
6947 END IF;
6948
6949 l_component_type := 'AMB_ADR';
6950 l_component_code := 'FV_46X002_ALLOTMENT_RES_ACCT';
6951 l_component_type_code := 'S';
6952 l_component_appl_id := 200;
6953 l_amb_context_code := 'DEFAULT';
6954 x_transaction_coa_id := null;
6955 x_accounting_coa_id := null;
6956 x_flexfield_segment_code := null;
6957 x_flex_value_set_id := 1009988 ;
6958
6959
6960 IF (NVL(p_source_49,'
6961 ') = 'A' OR
6962 NVL(p_source_49,'
6963 ') = 'B' OR
6964 NVL(p_source_49,'
6965 ') = 'S' OR
6966 NVL(p_source_49,'
6967 ') = 'T') AND
6968 NVL(p_source_50,'
6969 ') = 'Unexpired'
6970 THEN
6971 --
6972 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
6973
6974 trace
6975 (p_msg => 'END of AcctDerRule_50'
6976 ,p_level => C_LEVEL_PROCEDURE
6977 ,p_module => l_log_module);
6978
6979 END IF;
6980 x_value_combination_id := null ;
6981 x_value_segment_code := null ;
6982 x_value_type_code := 'C';
6983 l_output_value := '461002';
6984 RETURN l_output_value;
6985
6986 ELSIF (NVL(p_source_49,'
6987 ') = 'C' OR
6988 NVL(p_source_49,'
6989 ') = 'R') AND
6990 NVL(p_source_50,'
6991 ') = 'Unexpired'
6992 THEN
6993 --
6994 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
6995
6996 trace
6997 (p_msg => 'END of AcctDerRule_50'
7001 END IF;
6998 ,p_level => C_LEVEL_PROCEDURE
6999 ,p_module => l_log_module);
7000
7002 x_value_combination_id := null ;
7003 x_value_segment_code := null ;
7004 x_value_type_code := 'C';
7005 l_output_value := '462002';
7006 RETURN l_output_value;
7007
7008 ELSIF NVL(p_source_51,'
7009 ') = 'Direct' OR
7010 NVL(p_source_50,'
7011 ') = 'Expired'
7012 THEN
7013 --
7014 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
7015
7016 trace
7017 (p_msg => 'END of AcctDerRule_50'
7018 ,p_level => C_LEVEL_PROCEDURE
7019 ,p_module => l_log_module);
7020
7021 END IF;
7022 x_value_combination_id := null ;
7023 x_value_segment_code := null ;
7024 x_value_type_code := 'C';
7025 l_output_value := '465002';
7026 RETURN l_output_value;
7027
7028 ELSE
7029 IF p_override_seg_flag = 'Y' THEN
7030 RETURN '#$NO_OVERRIDE#$';
7031 END IF;
7032 END IF;
7033
7034 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
7035
7036 trace
7037 (p_msg => 'END of AcctDerRule_50(invalid)'
7038 ,p_level => C_LEVEL_PROCEDURE
7039 ,p_module => l_log_module);
7040
7041 END IF;
7042
7043 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
7044 x_value_combination_id := null;
7045 x_value_segment_code := null;
7046 x_value_type_code := null;
7047 l_output_value := null;
7048 xla_accounting_err_pkg.build_message
7049 (p_appli_s_name => 'XLA'
7050 ,p_msg_name => 'XLA_AP_INVALID_ADR'
7051 ,p_token_1 => 'COMPONENT_NAME'
7052 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
7053 l_component_type
7054 , l_component_code
7055 , l_component_type_code
7056 , l_component_appl_id
7057 , l_amb_context_code
7058 )
7059 ,p_token_2 => 'OWNER'
7060 ,p_value_2 => xla_lookups_pkg.get_meaning(
7061 'XLA_OWNER_TYPE'
7062 ,l_component_type_code
7063 )
7064 ,p_token_3 => 'PAD_NAME'
7065 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
7066 ,p_token_4 => 'PAD_OWNER'
7067 ,p_value_4 => xla_lookups_pkg.get_meaning(
7068 'XLA_OWNER_TYPE'
7069 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
7070 )
7071 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
7072 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
7073 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
7074 ,p_ae_header_id => NULL
7075 );
7076 RETURN l_output_value;
7077 EXCEPTION
7078 WHEN xla_exceptions_pkg.application_exception THEN
7079 RAISE;
7080 WHEN OTHERS THEN
7081 xla_exceptions_pkg.raise_message
7082 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctDerRule_50');
7083 END AcctDerRule_50;
7084 --
7085
7086 ---------------------------------------
7087 --
7088 -- PRIVATE FUNCTION
7089 -- AcctDerRule_51
7090 --
7091 ---------------------------------------
7092 FUNCTION AcctDerRule_51 (
7093 p_application_id IN NUMBER
7094 , p_ae_header_id IN NUMBER
7095 , p_side IN VARCHAR2
7096 , p_override_seg_flag IN VARCHAR2
7097 --Invoice Distribution Type
7098 , p_source_28 IN VARCHAR2
7099 , p_source_28_meaning IN VARCHAR2
7100 --Federal Prior Year Flag
7101 , p_source_52 IN VARCHAR2
7102 --Invoice Distribution Encumbrance Amount
7103 , p_source_53 IN NUMBER
7104 --Accrue on Receipt Option
7105 , p_source_54 IN VARCHAR2
7106 , p_source_54_meaning IN VARCHAR2
7107 --Payment Status Flag of the Invoice
7108 , p_source_55 IN VARCHAR2
7109 , x_transaction_coa_id OUT NOCOPY NUMBER
7110 , x_accounting_coa_id OUT NOCOPY NUMBER
7111 , x_flexfield_segment_code OUT NOCOPY VARCHAR2
7112 , x_flex_value_set_id OUT NOCOPY NUMBER
7113 , x_value_type_code OUT NOCOPY VARCHAR2
7114 , x_value_combination_id OUT NOCOPY NUMBER
7115 , x_value_segment_code OUT NOCOPY VARCHAR2
7116 )
7117 RETURN VARCHAR2
7118 IS
7119 l_component_type VARCHAR2(80) ;
7120 l_component_code VARCHAR2(30) ;
7121 l_component_type_code VARCHAR2(1) ;
7122 l_component_appl_id INTEGER ;
7123 l_amb_context_code VARCHAR2(30) ;
7124 l_log_module VARCHAR2(240) ;
7125 l_output_value VARCHAR2(30) ;
7129 END IF;
7126 BEGIN
7127 IF g_log_enabled THEN
7128 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_51';
7130 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
7131
7132 trace
7133 (p_msg => 'BEGIN of AcctDerRule_51'
7134 ,p_level => C_LEVEL_PROCEDURE
7135 ,p_module => l_log_module);
7136
7137 END IF;
7138
7139 l_component_type := 'AMB_ADR';
7140 l_component_code := 'FV_490X01_OBL_ACCOUNT';
7141 l_component_type_code := 'S';
7142 l_component_appl_id := 200;
7143 l_amb_context_code := 'DEFAULT';
7144 x_transaction_coa_id := null;
7145 x_accounting_coa_id := null;
7146 x_flexfield_segment_code := null;
7147 x_flex_value_set_id := 1009988 ;
7148
7149
7150 IF NVL(p_source_28,'
7151 ') = 'IPV' AND
7152 NVL(p_source_52,'
7153 ') = 'Y' AND
7154 p_source_53 < 0 AND
7155 NVL(p_source_54,'
7156 ') = 'Y'
7157 THEN
7158 --
7159 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
7160
7161 trace
7162 (p_msg => 'END of AcctDerRule_51'
7163 ,p_level => C_LEVEL_PROCEDURE
7164 ,p_module => l_log_module);
7165
7166 END IF;
7167 x_value_combination_id := null ;
7168 x_value_segment_code := null ;
7169 x_value_type_code := 'C';
7170 l_output_value := '497101';
7171 RETURN l_output_value;
7172
7173 ELSIF NVL(p_source_28,'
7174 ') = 'ITEM' AND
7175 (NVL(p_source_55,'
7176 ') = 'Y' OR
7177 NVL(p_source_55,'
7178 ') = 'P')
7179 THEN
7180 --
7181 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
7182
7183 trace
7184 (p_msg => 'END of AcctDerRule_51'
7185 ,p_level => C_LEVEL_PROCEDURE
7186 ,p_module => l_log_module);
7187
7188 END IF;
7189 x_value_combination_id := null ;
7190 x_value_segment_code := null ;
7191 x_value_type_code := 'C';
7192 l_output_value := '490201';
7193 RETURN l_output_value;
7194
7195 END IF;
7196
7197 --
7198 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
7199
7200 trace
7201 (p_msg => 'END of AcctDerRule_51'
7202 ,p_level => C_LEVEL_PROCEDURE
7203 ,p_module => l_log_module);
7204
7205 END IF;
7206 x_value_combination_id := null ;
7207 x_value_segment_code := null ;
7208 x_value_type_code := 'C';
7209 l_output_value := '490101';
7210 RETURN l_output_value;
7211
7212
7213 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
7214
7215 trace
7216 (p_msg => 'END of AcctDerRule_51(invalid)'
7217 ,p_level => C_LEVEL_PROCEDURE
7218 ,p_module => l_log_module);
7219
7220 END IF;
7221
7222 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
7223 x_value_combination_id := null;
7224 x_value_segment_code := null;
7225 x_value_type_code := null;
7226 l_output_value := null;
7227 xla_accounting_err_pkg.build_message
7228 (p_appli_s_name => 'XLA'
7229 ,p_msg_name => 'XLA_AP_INVALID_ADR'
7230 ,p_token_1 => 'COMPONENT_NAME'
7231 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
7232 l_component_type
7233 , l_component_code
7234 , l_component_type_code
7235 , l_component_appl_id
7236 , l_amb_context_code
7237 )
7238 ,p_token_2 => 'OWNER'
7239 ,p_value_2 => xla_lookups_pkg.get_meaning(
7240 'XLA_OWNER_TYPE'
7241 ,l_component_type_code
7242 )
7243 ,p_token_3 => 'PAD_NAME'
7244 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
7245 ,p_token_4 => 'PAD_OWNER'
7246 ,p_value_4 => xla_lookups_pkg.get_meaning(
7247 'XLA_OWNER_TYPE'
7248 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
7249 )
7250 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
7251 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
7252 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
7253 ,p_ae_header_id => NULL
7254 );
7255 RETURN l_output_value;
7256 EXCEPTION
7257 WHEN xla_exceptions_pkg.application_exception THEN
7258 RAISE;
7259 WHEN OTHERS THEN
7260 xla_exceptions_pkg.raise_message
7261 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctDerRule_51');
7262 END AcctDerRule_51;
7263 --
7264
7265 ---------------------------------------
7269 --
7266 --
7267 -- PRIVATE FUNCTION
7268 -- AcctDerRule_52
7270 ---------------------------------------
7271 FUNCTION AcctDerRule_52 (
7272 p_application_id IN NUMBER
7273 , p_ae_header_id IN NUMBER
7274 , p_side IN VARCHAR2
7275 , p_override_seg_flag IN VARCHAR2
7276 --Invoice Type Paid
7277 , p_source_56 IN VARCHAR2
7278 , p_source_56_meaning IN VARCHAR2
7279 , x_transaction_coa_id OUT NOCOPY NUMBER
7280 , x_accounting_coa_id OUT NOCOPY NUMBER
7281 , x_flexfield_segment_code OUT NOCOPY VARCHAR2
7282 , x_flex_value_set_id OUT NOCOPY NUMBER
7283 , x_value_type_code OUT NOCOPY VARCHAR2
7284 , x_value_combination_id OUT NOCOPY NUMBER
7285 , x_value_segment_code OUT NOCOPY VARCHAR2
7286 )
7287 RETURN VARCHAR2
7288 IS
7289 l_component_type VARCHAR2(80) ;
7290 l_component_code VARCHAR2(30) ;
7291 l_component_type_code VARCHAR2(1) ;
7292 l_component_appl_id INTEGER ;
7293 l_amb_context_code VARCHAR2(30) ;
7294 l_log_module VARCHAR2(240) ;
7295 l_output_value VARCHAR2(30) ;
7296 BEGIN
7297 IF g_log_enabled THEN
7298 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_52';
7299 END IF;
7300 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
7301
7302 trace
7303 (p_msg => 'BEGIN of AcctDerRule_52'
7304 ,p_level => C_LEVEL_PROCEDURE
7305 ,p_module => l_log_module);
7306
7307 END IF;
7308
7309 l_component_type := 'AMB_ADR';
7310 l_component_code := 'FV_4X0101_TREASURY_PAY_ACCT';
7311 l_component_type_code := 'S';
7312 l_component_appl_id := 200;
7313 l_amb_context_code := 'DEFAULT';
7314 x_transaction_coa_id := null;
7315 x_accounting_coa_id := null;
7316 x_flexfield_segment_code := null;
7317 x_flex_value_set_id := 1009988 ;
7318
7319
7320 IF NVL(p_source_56,'
7321 ') <> 'PREPAYMENT'
7322 THEN
7323 --
7324 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
7325
7326 trace
7327 (p_msg => 'END of AcctDerRule_52'
7328 ,p_level => C_LEVEL_PROCEDURE
7329 ,p_module => l_log_module);
7330
7331 END IF;
7332 x_value_combination_id := null ;
7333 x_value_segment_code := null ;
7334 x_value_type_code := 'C';
7335 l_output_value := '490101';
7336 RETURN l_output_value;
7337
7338 ELSIF NVL(p_source_56,'
7339 ') = 'PREPAYMENT'
7340 THEN
7341 --
7342 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
7343
7344 trace
7345 (p_msg => 'END of AcctDerRule_52'
7346 ,p_level => C_LEVEL_PROCEDURE
7347 ,p_module => l_log_module);
7348
7349 END IF;
7350 x_value_combination_id := null ;
7351 x_value_segment_code := null ;
7352 x_value_type_code := 'C';
7353 l_output_value := '480101';
7354 RETURN l_output_value;
7355
7356 ELSE
7357 IF p_override_seg_flag = 'Y' THEN
7358 RETURN '#$NO_OVERRIDE#$';
7359 END IF;
7360 END IF;
7361
7362 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
7363
7364 trace
7365 (p_msg => 'END of AcctDerRule_52(invalid)'
7366 ,p_level => C_LEVEL_PROCEDURE
7367 ,p_module => l_log_module);
7368
7369 END IF;
7370
7371 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
7372 x_value_combination_id := null;
7373 x_value_segment_code := null;
7374 x_value_type_code := null;
7375 l_output_value := null;
7376 xla_accounting_err_pkg.build_message
7377 (p_appli_s_name => 'XLA'
7378 ,p_msg_name => 'XLA_AP_INVALID_ADR'
7379 ,p_token_1 => 'COMPONENT_NAME'
7380 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
7381 l_component_type
7382 , l_component_code
7383 , l_component_type_code
7384 , l_component_appl_id
7385 , l_amb_context_code
7386 )
7387 ,p_token_2 => 'OWNER'
7388 ,p_value_2 => xla_lookups_pkg.get_meaning(
7389 'XLA_OWNER_TYPE'
7390 ,l_component_type_code
7391 )
7392 ,p_token_3 => 'PAD_NAME'
7393 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
7394 ,p_token_4 => 'PAD_OWNER'
7395 ,p_value_4 => xla_lookups_pkg.get_meaning(
7396 'XLA_OWNER_TYPE'
7397 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
7398 )
7399 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
7403 );
7400 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
7401 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
7402 ,p_ae_header_id => NULL
7404 RETURN l_output_value;
7405 EXCEPTION
7406 WHEN xla_exceptions_pkg.application_exception THEN
7407 RAISE;
7408 WHEN OTHERS THEN
7409 xla_exceptions_pkg.raise_message
7410 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctDerRule_52');
7411 END AcctDerRule_52;
7412 --
7413
7414 ---------------------------------------
7415 --
7416 -- PRIVATE FUNCTION
7417 -- AcctDerRule_53
7418 --
7419 ---------------------------------------
7420 FUNCTION AcctDerRule_53 (
7421 p_application_id IN NUMBER
7422 , p_ae_header_id IN NUMBER
7423 , p_side IN VARCHAR2
7424 , p_override_seg_flag IN VARCHAR2
7425 --Invoice Type Paid
7426 , p_source_56 IN VARCHAR2
7427 , p_source_56_meaning IN VARCHAR2
7428 , x_transaction_coa_id OUT NOCOPY NUMBER
7429 , x_accounting_coa_id OUT NOCOPY NUMBER
7430 , x_flexfield_segment_code OUT NOCOPY VARCHAR2
7431 , x_flex_value_set_id OUT NOCOPY NUMBER
7432 , x_value_type_code OUT NOCOPY VARCHAR2
7433 , x_value_combination_id OUT NOCOPY NUMBER
7434 , x_value_segment_code OUT NOCOPY VARCHAR2
7435 )
7436 RETURN VARCHAR2
7437 IS
7438 l_component_type VARCHAR2(80) ;
7439 l_component_code VARCHAR2(30) ;
7440 l_component_type_code VARCHAR2(1) ;
7441 l_component_appl_id INTEGER ;
7442 l_amb_context_code VARCHAR2(30) ;
7443 l_log_module VARCHAR2(240) ;
7444 l_output_value VARCHAR2(30) ;
7445 BEGIN
7446 IF g_log_enabled THEN
7447 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_53';
7448 END IF;
7449 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
7450
7451 trace
7452 (p_msg => 'BEGIN of AcctDerRule_53'
7453 ,p_level => C_LEVEL_PROCEDURE
7454 ,p_module => l_log_module);
7455
7456 END IF;
7457
7458 l_component_type := 'AMB_ADR';
7459 l_component_code := 'FV_4X0201_TREASURY_PAY_ACCT';
7460 l_component_type_code := 'S';
7461 l_component_appl_id := 200;
7462 l_amb_context_code := 'DEFAULT';
7463 x_transaction_coa_id := null;
7464 x_accounting_coa_id := null;
7465 x_flexfield_segment_code := null;
7466 x_flex_value_set_id := 1009988 ;
7467
7468
7469 IF NVL(p_source_56,'
7470 ') <> 'PREPAYMENT'
7471 THEN
7472 --
7473 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
7474
7475 trace
7476 (p_msg => 'END of AcctDerRule_53'
7477 ,p_level => C_LEVEL_PROCEDURE
7478 ,p_module => l_log_module);
7479
7480 END IF;
7481 x_value_combination_id := null ;
7482 x_value_segment_code := null ;
7483 x_value_type_code := 'C';
7484 l_output_value := '490201';
7485 RETURN l_output_value;
7486
7487 ELSIF NVL(p_source_56,'
7488 ') = 'PREPAYMENT'
7489 THEN
7490 --
7491 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
7492
7493 trace
7494 (p_msg => 'END of AcctDerRule_53'
7495 ,p_level => C_LEVEL_PROCEDURE
7496 ,p_module => l_log_module);
7497
7498 END IF;
7499 x_value_combination_id := null ;
7500 x_value_segment_code := null ;
7501 x_value_type_code := 'C';
7502 l_output_value := '480201';
7503 RETURN l_output_value;
7504
7505 ELSE
7506 IF p_override_seg_flag = 'Y' THEN
7507 RETURN '#$NO_OVERRIDE#$';
7508 END IF;
7509 END IF;
7510
7511 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
7512
7513 trace
7514 (p_msg => 'END of AcctDerRule_53(invalid)'
7515 ,p_level => C_LEVEL_PROCEDURE
7516 ,p_module => l_log_module);
7517
7518 END IF;
7519
7520 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
7521 x_value_combination_id := null;
7522 x_value_segment_code := null;
7523 x_value_type_code := null;
7524 l_output_value := null;
7525 xla_accounting_err_pkg.build_message
7526 (p_appli_s_name => 'XLA'
7527 ,p_msg_name => 'XLA_AP_INVALID_ADR'
7528 ,p_token_1 => 'COMPONENT_NAME'
7529 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
7530 l_component_type
7531 , l_component_code
7532 , l_component_type_code
7533 , l_component_appl_id
7534 , l_amb_context_code
7535 )
7536 ,p_token_2 => 'OWNER'
7537 ,p_value_2 => xla_lookups_pkg.get_meaning(
7538 'XLA_OWNER_TYPE'
7539 ,l_component_type_code
7540 )
7544 ,p_value_4 => xla_lookups_pkg.get_meaning(
7541 ,p_token_3 => 'PAD_NAME'
7542 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
7543 ,p_token_4 => 'PAD_OWNER'
7545 'XLA_OWNER_TYPE'
7546 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
7547 )
7548 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
7549 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
7550 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
7551 ,p_ae_header_id => NULL
7552 );
7553 RETURN l_output_value;
7554 EXCEPTION
7555 WHEN xla_exceptions_pkg.application_exception THEN
7556 RAISE;
7557 WHEN OTHERS THEN
7558 xla_exceptions_pkg.raise_message
7559 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctDerRule_53');
7560 END AcctDerRule_53;
7561 --
7562
7563 ---------------------------------------
7564 --
7565 -- PRIVATE FUNCTION
7566 -- AcctDerRule_54
7567 --
7568 ---------------------------------------
7569 FUNCTION AcctDerRule_54 (
7570 p_application_id IN NUMBER
7571 , p_ae_header_id IN NUMBER
7572 , p_side IN VARCHAR2
7573 , p_override_seg_flag IN VARCHAR2
7574 , x_transaction_coa_id OUT NOCOPY NUMBER
7575 , x_accounting_coa_id OUT NOCOPY NUMBER
7576 , x_flexfield_segment_code OUT NOCOPY VARCHAR2
7577 , x_flex_value_set_id OUT NOCOPY NUMBER
7578 , x_value_type_code OUT NOCOPY VARCHAR2
7579 , x_value_combination_id OUT NOCOPY NUMBER
7580 , x_value_segment_code OUT NOCOPY VARCHAR2
7581 )
7582 RETURN VARCHAR2
7583 IS
7584 l_component_type VARCHAR2(80) ;
7585 l_component_code VARCHAR2(30) ;
7586 l_component_type_code VARCHAR2(1) ;
7587 l_component_appl_id INTEGER ;
7588 l_amb_context_code VARCHAR2(30) ;
7589 l_log_module VARCHAR2(240) ;
7590 l_output_value VARCHAR2(30) ;
7591 BEGIN
7592 IF g_log_enabled THEN
7593 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_54';
7594 END IF;
7595 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
7596
7597 trace
7598 (p_msg => 'BEGIN of AcctDerRule_54'
7599 ,p_level => C_LEVEL_PROCEDURE
7600 ,p_module => l_log_module);
7601
7602 END IF;
7603
7604 l_component_type := 'AMB_ADR';
7605 l_component_code := 'FV_570001_UNEXP_APPR_ACCT';
7606 l_component_type_code := 'S';
7607 l_component_appl_id := 200;
7608 l_amb_context_code := 'DEFAULT';
7609 x_transaction_coa_id := null;
7610 x_accounting_coa_id := null;
7611 x_flexfield_segment_code := null;
7612 x_flex_value_set_id := 1009988 ;
7613
7614
7615 --
7616 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
7617
7618 trace
7619 (p_msg => 'END of AcctDerRule_54'
7620 ,p_level => C_LEVEL_PROCEDURE
7621 ,p_module => l_log_module);
7622
7623 END IF;
7624 x_value_combination_id := null ;
7625 x_value_segment_code := null ;
7626 x_value_type_code := 'C';
7627 l_output_value := '570001';
7628 RETURN l_output_value;
7629
7630
7631 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
7632
7633 trace
7634 (p_msg => 'END of AcctDerRule_54(invalid)'
7635 ,p_level => C_LEVEL_PROCEDURE
7636 ,p_module => l_log_module);
7637
7638 END IF;
7639
7640 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
7641 x_value_combination_id := null;
7642 x_value_segment_code := null;
7643 x_value_type_code := null;
7644 l_output_value := null;
7645 xla_accounting_err_pkg.build_message
7646 (p_appli_s_name => 'XLA'
7647 ,p_msg_name => 'XLA_AP_INVALID_ADR'
7648 ,p_token_1 => 'COMPONENT_NAME'
7649 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
7650 l_component_type
7651 , l_component_code
7652 , l_component_type_code
7653 , l_component_appl_id
7654 , l_amb_context_code
7655 )
7656 ,p_token_2 => 'OWNER'
7657 ,p_value_2 => xla_lookups_pkg.get_meaning(
7658 'XLA_OWNER_TYPE'
7659 ,l_component_type_code
7660 )
7661 ,p_token_3 => 'PAD_NAME'
7662 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
7663 ,p_token_4 => 'PAD_OWNER'
7664 ,p_value_4 => xla_lookups_pkg.get_meaning(
7668 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
7665 'XLA_OWNER_TYPE'
7666 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
7667 )
7669 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
7670 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
7671 ,p_ae_header_id => NULL
7672 );
7673 RETURN l_output_value;
7674 EXCEPTION
7675 WHEN xla_exceptions_pkg.application_exception THEN
7676 RAISE;
7677 WHEN OTHERS THEN
7678 xla_exceptions_pkg.raise_message
7679 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctDerRule_54');
7680 END AcctDerRule_54;
7681 --
7682
7683 ---------------------------------------
7684 --
7685 -- PRIVATE FUNCTION
7686 -- AcctDerRule_55
7687 --
7688 ---------------------------------------
7689 FUNCTION AcctDerRule_55 (
7690 p_application_id IN NUMBER
7691 , p_ae_header_id IN NUMBER
7692 , p_side IN VARCHAR2
7693 --Bank Cash Account
7694 , p_source_12 IN NUMBER
7695 --Bank Cash Clearing Account
7696 , p_source_30 IN NUMBER
7697 --When to Account for Payment Option
7698 , p_source_57 IN VARCHAR2
7699 , x_transaction_coa_id OUT NOCOPY NUMBER
7700 , x_accounting_coa_id OUT NOCOPY NUMBER
7701 , x_value_type_code OUT NOCOPY VARCHAR2
7702 )
7703 RETURN NUMBER
7704 IS
7705 l_component_type VARCHAR2(80) ;
7706 l_component_code VARCHAR2(30) ;
7707 l_component_type_code VARCHAR2(1) ;
7708 l_component_appl_id INTEGER ;
7709 l_amb_context_code VARCHAR2(30) ;
7710 l_log_module VARCHAR2(240) ;
7711 l_output_value NUMBER ;
7712 BEGIN
7713 IF g_log_enabled THEN
7714 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_55';
7715 END IF;
7716 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
7717 trace
7718 (p_msg => 'BEGIN of AcctDerRule_55'
7719 ,p_level => C_LEVEL_PROCEDURE
7720 ,p_module => l_log_module);
7721 END IF;
7722 --
7723 l_component_type := 'AMB_ADR';
7724 l_component_code := 'FV_INV_PMT_ACCOUNT';
7725 l_component_type_code := 'S';
7726 l_component_appl_id := 200;
7727 l_amb_context_code := 'DEFAULT';
7728 x_transaction_coa_id := null;
7729 x_accounting_coa_id := null;
7730 --
7731
7732 IF NVL(p_source_57,'
7733 ') = 'ISSUE_ISSUE'
7734 THEN
7735 --
7736 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
7737 trace
7738 (p_msg => 'END of AcctDerRule_55'
7739 ,p_level => C_LEVEL_PROCEDURE
7740 ,p_module => l_log_module);
7741 END IF;
7742 x_value_type_code := 'S';
7743 l_output_value := TO_NUMBER(TO_NUMBER(p_source_12));
7744 RETURN l_output_value;
7745
7746 ELSIF NVL(p_source_57,'
7747 ') <> 'ISSUE_ISSUE'
7748 THEN
7749 --
7750 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
7751 trace
7752 (p_msg => 'END of AcctDerRule_55'
7753 ,p_level => C_LEVEL_PROCEDURE
7754 ,p_module => l_log_module);
7755 END IF;
7756 x_value_type_code := 'S';
7757 l_output_value := TO_NUMBER(TO_NUMBER(p_source_30));
7758 RETURN l_output_value;
7759
7760 END IF;
7761 --
7762 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
7763 trace
7764 (p_msg => 'END of AcctDerRule_55(invalid)'
7765 ,p_level => C_LEVEL_PROCEDURE
7766 ,p_module => l_log_module);
7767 END IF;
7768 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
7769 x_value_type_code := null;
7770 l_output_value := null;
7771 xla_accounting_err_pkg.build_message
7772 (p_appli_s_name => 'XLA'
7773 ,p_msg_name => 'XLA_AP_INVALID_ADR'
7774 ,p_token_1 => 'COMPONENT_NAME'
7775 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
7776 l_component_type
7777 , l_component_code
7778 , l_component_type_code
7779 , l_component_appl_id
7780 , l_amb_context_code
7781 )
7782 ,p_token_2 => 'OWNER'
7783 ,p_value_2 => xla_lookups_pkg.get_meaning(
7784 'XLA_OWNER_TYPE'
7785 ,l_component_type_code
7786 )
7787 ,p_token_3 => 'PAD_NAME'
7788 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
7789 ,p_token_4 => 'PAD_OWNER'
7790 ,p_value_4 => xla_lookups_pkg.get_meaning(
7791 'XLA_OWNER_TYPE'
7795 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
7792 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
7793 )
7794 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
7796 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
7797 ,p_ae_header_id => NULL
7798 );
7799 RETURN l_output_value;
7800 EXCEPTION
7801 WHEN xla_exceptions_pkg.application_exception THEN
7802 RAISE;
7803 WHEN OTHERS THEN
7804 xla_exceptions_pkg.raise_message
7805 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctDerRule_55');
7806 END AcctDerRule_55;
7807 --
7808
7809 ---------------------------------------
7810 --
7811 -- PRIVATE FUNCTION
7812 -- AcctLineType_56
7813 --
7814 ---------------------------------------
7815 PROCEDURE AcctLineType_56 (
7816 p_application_id IN NUMBER
7817 ,p_event_id IN NUMBER
7818 ,p_calculate_acctd_flag IN VARCHAR2
7819 ,p_calculate_g_l_flag IN VARCHAR2
7820 ,p_actual_flag IN OUT VARCHAR2
7821 ,p_balance_type_code OUT VARCHAR2
7822 ,p_gain_or_loss_ref OUT VARCHAR2
7823
7824 --Invoice Distribution Description
7825 , p_source_1 IN VARCHAR2
7826 --Invoice Distribution Ledger Amount
7827 , p_source_16 IN NUMBER
7828 --Invoice Distribution Account
7829 , p_source_25 IN NUMBER
7830 --Invoice Distribution Type
7831 , p_source_28 IN VARCHAR2
7832 , p_source_28_meaning IN VARCHAR2
7833 --Accounting Reversal Indicator
7834 , p_source_58 IN VARCHAR2
7835 --Distribution Link Type
7836 , p_source_60 IN VARCHAR2
7837 --Allocation to Main Distribution Identifier
7838 , p_source_62 IN NUMBER
7839 --Invoice Identifier
7840 , p_source_63 IN NUMBER
7841 --Business Flow Purchasing Application Identifier
7842 , p_source_64 IN NUMBER
7843 --Business Flow Purchase Order Distribution Type
7844 , p_source_65 IN VARCHAR2
7845 --Business Flow Purchase Order Entity Code
7846 , p_source_66 IN VARCHAR2
7847 --Business Flow Purchase Order Distribution Identifier
7848 , p_source_67 IN NUMBER
7849 --Business Flow Purchasing Document Identifier
7850 , p_source_68 IN NUMBER
7851 --Invoice Distribution Identifier
7852 , p_source_69 IN NUMBER
7853 --Payables Encumbrance Upgrade Credit Account
7854 , p_source_70 IN NUMBER
7855 --Payables Encumbrance Upgrade Credit Amount
7856 , p_source_71 IN NUMBER
7857 --Invoice Currency Code
7858 , p_source_72 IN VARCHAR2
7859 --Payables Encumbrance Upgrade Credit Base Amount
7860 , p_source_73 IN NUMBER
7861 --Payables Encumbrance Upgrade Debit Account
7862 , p_source_74 IN NUMBER
7863 --Payables Encumbrance Upgrade Debit Amount
7864 , p_source_75 IN NUMBER
7865 --Payables Encumbrance Upgrade Debit Base Amount
7866 , p_source_76 IN NUMBER
7867 --Payables Encumbrance Upgrade Option
7868 , p_source_77 IN VARCHAR2
7869 --Invoice Distribution Amount
7870 , p_source_78 IN NUMBER
7871 --Purchase Order Exchange Rate Date
7872 , p_source_79 IN DATE
7873 --Purchase Order Exchange Rate
7874 , p_source_80 IN NUMBER
7875 --Purchase Order Exchange Rate Type
7876 , p_source_81 IN VARCHAR2
7877 --Deferred Accounting End Date
7878 , p_source_82 IN DATE
7879 --Deferred Accounting Option
7880 , p_source_83 IN VARCHAR2
7881 --Deferred Accounting Start Date
7882 , p_source_84 IN DATE
7883 --Override Accounted Amount Indicator
7884 , p_source_85 IN VARCHAR2
7885 , p_source_85_meaning IN VARCHAR2
7886 --Invoice Supplier Identifier
7887 , p_source_86 IN NUMBER
7888 --Invoice Supplier Site Identifier
7889 , p_source_87 IN NUMBER
7890 --Third Party Type
7891 , p_source_88 IN VARCHAR2
7892 --Parent Reversal Identifier
7893 , p_source_89 IN NUMBER
7894 --Invoice Distribution Statistical Amount
7895 , p_source_90 IN NUMBER
7896 --Invoice Distribution Tax Line Identifier
7897 , p_source_91 IN NUMBER
7898 --Invoice Distribution Tax Distribution Identifier from Tax
7899 , p_source_92 IN NUMBER
7900 --Invoice Distribution Summary Tax Line Identifier
7901 , p_source_93 IN NUMBER
7902 --Payables Upgrade Credit Encumbrance Type Identifier
7903 , p_source_94 IN NUMBER
7904 --Payables Upgrade Debit Encumbrance Type Identifier
7905 , p_source_95 IN NUMBER
7906 )
7907 IS
7908
7909 l_component_type VARCHAR2(80);
7910 l_component_code VARCHAR2(30);
7911 l_component_type_code VARCHAR2(1);
7912 l_component_appl_id INTEGER;
7913 l_amb_context_code VARCHAR2(30);
7914 l_entity_code VARCHAR2(30);
7915 l_event_class_code VARCHAR2(30);
7916 l_ae_header_id NUMBER;
7917 l_event_type_code VARCHAR2(30);
7918 l_line_definition_code VARCHAR2(30);
7919 l_line_definition_owner_code VARCHAR2(1);
7920 --
7921 -- adr variables
7922 l_segment VARCHAR2(30);
7926 l_adr_flexfield_segment_code VARCHAR2(30);
7923 l_ccid NUMBER;
7924 l_adr_transaction_coa_id NUMBER;
7925 l_adr_accounting_coa_id NUMBER;
7927 l_adr_flex_value_set_id NUMBER;
7928 l_adr_value_type_code VARCHAR2(30);
7929 l_adr_value_combination_id NUMBER;
7930 l_adr_value_segment_code VARCHAR2(30);
7931
7932 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
7933 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
7934 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
7935 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
7936
7937 -- 4262811 Variables ------------------------------------------------------------------------------------------
7938 l_entered_amt_idx NUMBER;
7939 l_accted_amt_idx NUMBER;
7940 l_acc_rev_flag VARCHAR2(1);
7941 l_accrual_line_num NUMBER;
7942 l_tmp_amt NUMBER;
7943 l_acc_rev_natural_side_code VARCHAR2(1);
7944
7945 l_num_entries NUMBER;
7946 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
7947 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
7948 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
7949 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
7950 l_recog_line_1 NUMBER;
7951 l_recog_line_2 NUMBER;
7952
7953 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
7954 l_bflow_applied_to_amt NUMBER; -- 5132302
7955 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
7956
7957 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
7958
7959 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
7960 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
7961
7962 ---------------------------------------------------------------------------------------------------------------
7963
7964
7965 --
7966 -- bulk performance
7967 --
7968 l_balance_type_code VARCHAR2(1);
7969 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
7970 l_log_module VARCHAR2(240);
7971
7972 --
7973 -- Upgrade strategy
7974 --
7975 l_actual_upg_option VARCHAR2(1);
7976 l_enc_upg_option VARCHAR2(1);
7977
7978 --
7979 BEGIN
7980 --
7981 IF g_log_enabled THEN
7982 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_56';
7983 END IF;
7984 --
7985 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
7986
7987 trace
7988 (p_msg => 'BEGIN of AcctLineType_56'
7989 ,p_level => C_LEVEL_PROCEDURE
7990 ,p_module => l_log_module);
7991
7992 END IF;
7993 --
7994 l_component_type := 'AMB_JLT';
7995 l_component_code := 'AP_ACCRUAL_CM';
7996 l_component_type_code := 'S';
7997 l_component_appl_id := 200;
7998 l_amb_context_code := 'DEFAULT';
7999 l_entity_code := 'AP_INVOICES';
8000 l_event_class_code := 'CREDIT MEMOS';
8001 l_event_type_code := 'CREDIT MEMOS_ALL';
8002 l_line_definition_owner_code := 'S';
8003 l_line_definition_code := 'ACCRUAL_CREDIT MEMOS_ALL';
8004 --
8005 l_balance_type_code := 'A';
8006 l_segment := NULL;
8007 l_ccid := NULL;
8008 l_adr_transaction_coa_id := NULL;
8009 l_adr_accounting_coa_id := NULL;
8010 l_adr_flexfield_segment_code := NULL;
8011 l_adr_flex_value_set_id := NULL;
8012 l_adr_value_type_code := NULL;
8013 l_adr_value_combination_id := NULL;
8014 l_adr_value_segment_code := NULL;
8015
8016 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
8017 l_bflow_class_code := ''; -- 4219869 Business Flow
8018 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
8019 l_budgetary_control_flag := 'N';
8020
8021 l_bflow_applied_to_amt_idx := NULL; -- 5132302
8022 l_bflow_applied_to_amt := NULL; -- 5132302
8023 l_entered_amt_idx := NULL; -- 4262811
8024 l_accted_amt_idx := NULL; -- 4262811
8025 l_acc_rev_flag := NULL; -- 4262811
8026 l_accrual_line_num := NULL; -- 4262811
8027 l_tmp_amt := NULL; -- 4262811
8028 --
8029
8030 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
8031 l_balance_type_code <> 'B' THEN
8032 IF NVL(p_source_28,'
8033 ') = 'RETROACCRUAL' OR
8034 NVL(p_source_28,'
8035 ') = 'ACCRUAL'
8036 THEN
8037
8038 --
8039 XLA_AE_LINES_PKG.SetNewLine;
8040
8041 p_balance_type_code := l_balance_type_code;
8042 -- set the flag so later we will know whether the gain loss line needs to be created
8043
8044 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
8045 p_actual_flag :='A';
8046 END IF;
8047
8048 --
8049 -- bulk performance
8050 --
8051 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
8052 p_header_num => 0); -- 4262811
8053 --
8054 -- set accounting line options
8055 --
8059 , p_gl_transfer_mode_code => 'S'
8056 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
8057 p_natural_side_code => 'D'
8058 , p_gain_or_loss_flag => 'N'
8060 , p_acct_entry_type_code => 'A'
8061 , p_switch_side_flag => 'Y'
8062 , p_merge_duplicate_code => 'A'
8063 );
8064 --
8065 l_acc_rev_natural_side_code := 'C'; -- 4262811
8066 --
8067 --
8068 -- set accounting line type info
8069 --
8070 xla_ae_lines_pkg.SetAcctLineType
8071 (p_component_type => l_component_type
8072 ,p_event_type_code => l_event_type_code
8073 ,p_line_definition_owner_code => l_line_definition_owner_code
8074 ,p_line_definition_code => l_line_definition_code
8075 ,p_accounting_line_code => l_component_code
8076 ,p_accounting_line_type_code => l_component_type_code
8077 ,p_accounting_line_appl_id => l_component_appl_id
8078 ,p_amb_context_code => l_amb_context_code
8079 ,p_entity_code => l_entity_code
8080 ,p_event_class_code => l_event_class_code);
8081 --
8082 -- set accounting class
8083 --
8084 xla_ae_lines_pkg.SetAcctClass(
8085 p_accounting_class_code => 'ACCRUAL'
8086 , p_ae_header_id => l_ae_header_id
8087 );
8088
8089 --
8090 -- set rounding class
8091 --
8092 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
8093 'ACCRUAL';
8094
8095 --
8096 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
8097 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
8098 --
8099 -- bulk performance
8100 --
8101 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
8102
8103 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
8104 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
8105
8106 -- 4955764
8107 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
8108 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
8109
8110 -- 4458381 Public Sector Enh
8111
8112 --
8113 -- set accounting attributes for the line type
8114 --
8115 l_entered_amt_idx := 23;
8116 l_accted_amt_idx := 28;
8117 l_bflow_applied_to_amt_idx := NULL; -- 5132302
8118 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
8119 l_rec_acct_attrs.array_char_value(1) := p_source_58;
8120 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
8121 l_rec_acct_attrs.array_num_value(2) :=
8122 xla_ae_sources_pkg.GetSystemSourceNum(
8123 p_source_code => 'XLA_EVENT_APPL_ID'
8124 , p_source_type_code => 'Y'
8125 , p_source_application_id => 602
8126 );
8127 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
8128 l_rec_acct_attrs.array_char_value(3) := p_source_60;
8129 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
8130 l_rec_acct_attrs.array_char_value(4) :=
8131 xla_ae_sources_pkg.GetSystemSourceChar(
8132 p_source_code => 'XLA_ENTITY_CODE'
8133 , p_source_type_code => 'Y'
8134 , p_source_application_id => 602
8135 );
8136 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
8137 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_62);
8138 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
8139 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_63);
8140 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
8141 l_rec_acct_attrs.array_num_value(7) := p_source_64;
8142 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
8143 l_rec_acct_attrs.array_char_value(8) := p_source_65;
8144 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
8145 l_rec_acct_attrs.array_char_value(9) := p_source_66;
8146 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
8147 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_67);
8148 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
8149 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_68);
8150 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
8151 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_69);
8152 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
8153 l_rec_acct_attrs.array_char_value(13) := p_source_60;
8154 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
8155 l_rec_acct_attrs.array_num_value(14) := p_source_70;
8156 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
8157 l_rec_acct_attrs.array_num_value(15) := p_source_71;
8158 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
8159 l_rec_acct_attrs.array_char_value(16) := p_source_72;
8160 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
8161 l_rec_acct_attrs.array_num_value(17) := p_source_73;
8162 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
8163 l_rec_acct_attrs.array_num_value(18) := p_source_74;
8164 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
8168 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
8165 l_rec_acct_attrs.array_num_value(19) := p_source_75;
8166 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
8167 l_rec_acct_attrs.array_char_value(20) := p_source_72;
8169 l_rec_acct_attrs.array_num_value(21) := p_source_76;
8170 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
8171 l_rec_acct_attrs.array_char_value(22) := p_source_77;
8172 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
8173 l_rec_acct_attrs.array_num_value(23) := p_source_78;
8174 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
8175 l_rec_acct_attrs.array_char_value(24) := p_source_72;
8176 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
8177 l_rec_acct_attrs.array_date_value(25) := p_source_79;
8178 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
8179 l_rec_acct_attrs.array_num_value(26) := p_source_80;
8180 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
8181 l_rec_acct_attrs.array_char_value(27) := p_source_81;
8182 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
8183 l_rec_acct_attrs.array_num_value(28) := p_source_16;
8184 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
8185 l_rec_acct_attrs.array_date_value(29) := p_source_82;
8186 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
8187 l_rec_acct_attrs.array_char_value(30) := p_source_83;
8188 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
8189 l_rec_acct_attrs.array_date_value(31) := p_source_84;
8190 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
8191 l_rec_acct_attrs.array_char_value(32) := p_source_85;
8192 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
8193 l_rec_acct_attrs.array_num_value(33) := p_source_86;
8194 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
8195 l_rec_acct_attrs.array_num_value(34) := p_source_87;
8196 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
8197 l_rec_acct_attrs.array_char_value(35) := p_source_88;
8198 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
8199 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_89);
8200 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
8201 l_rec_acct_attrs.array_char_value(37) := p_source_60;
8202 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
8203 l_rec_acct_attrs.array_num_value(38) := p_source_90;
8204 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
8205 l_rec_acct_attrs.array_num_value(39) := p_source_91;
8206 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
8207 l_rec_acct_attrs.array_num_value(40) := p_source_92;
8208 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
8209 l_rec_acct_attrs.array_num_value(41) := p_source_93;
8210 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
8211 l_rec_acct_attrs.array_num_value(42) := p_source_94;
8212 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
8213 l_rec_acct_attrs.array_num_value(43) := p_source_95;
8214
8215 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
8216 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
8217
8218 ---------------------------------------------------------------------------------------------------------------
8219 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
8220 ---------------------------------------------------------------------------------------------------------------
8221 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
8222
8223 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
8224 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
8225
8226 IF xla_accounting_cache_pkg.GetValueChar
8227 (p_source_code => 'LEDGER_CATEGORY_CODE'
8228 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
8229 AND l_bflow_method_code = 'PRIOR_ENTRY'
8230 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
8231 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
8232 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
8233 )
8234 THEN
8235 xla_ae_lines_pkg.BflowUpgEntry
8236 (p_business_method_code => l_bflow_method_code
8237 ,p_business_class_code => l_bflow_class_code
8238 ,p_balance_type => l_balance_type_code);
8239 ELSE
8240 NULL;
8241 -- No business flow processing for business flow method of NONE.
8242 END IF;
8243
8244 --
8245 -- call analytical criteria
8246 --
8247
8248 --
8249 -- call description
8250 --
8251
8252 xla_ae_lines_pkg.SetLineDescription(
8253 p_ae_header_id => l_ae_header_id
8254 ,p_description => Description_2 (
8255 p_application_id => p_application_id
8256 , p_ae_header_id => l_ae_header_id
8257 , p_source_1 => p_source_1
8258 )
8259 );
8260
8261
8262 --
8263 -- call ADRs
8264 -- Bug 4922099
8265 --
8266 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
8267 (NVL(l_actual_upg_option, 'N') = 'O') OR
8268 (NVL(l_enc_upg_option, 'N') = 'O')
8269 )
8270 THEN
8271 NULL;
8272 --
8276 p_application_id => p_application_id
8273 --
8274
8275 l_ccid := AcctDerRule_35(
8277 , p_ae_header_id => l_ae_header_id
8278 , p_source_25 => p_source_25
8279 , x_transaction_coa_id => l_adr_transaction_coa_id
8280 , x_accounting_coa_id => l_adr_accounting_coa_id
8281 , x_value_type_code => l_adr_value_type_code
8282 , p_side => 'NA'
8283 );
8284
8285 xla_ae_lines_pkg.set_ccid(
8286 p_code_combination_id => l_ccid
8287 , p_value_type_code => l_adr_value_type_code
8288 , p_transaction_coa_id => l_adr_transaction_coa_id
8289 , p_accounting_coa_id => l_adr_accounting_coa_id
8290 , p_adr_code => 'AP_INVOICE_DIST'
8291 , p_adr_type_code => 'S'
8292 , p_component_type => l_component_type
8293 , p_component_code => l_component_code
8294 , p_component_type_code => l_component_type_code
8295 , p_component_appl_id => l_component_appl_id
8296 , p_amb_context_code => l_amb_context_code
8297 , p_side => 'NA'
8298 );
8299
8300
8301 --
8302 --
8303 END IF;
8304 --
8305 -- Bug 4922099
8306 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
8307 (NVL(l_enc_upg_option, 'N') = 'O')
8308 ) AND
8309 (l_bflow_method_code = 'PRIOR_ENTRY')
8310 )
8311 THEN
8312 IF
8313 --
8314 1 = 2
8315 --
8316 THEN
8317 xla_accounting_err_pkg.build_message
8318 (p_appli_s_name => 'XLA'
8319 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
8320 ,p_token_1 => 'LINE_NUMBER'
8321 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
8322 ,p_token_2 => 'LINE_TYPE_NAME'
8323 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
8324 l_component_type
8325 ,l_component_code
8326 ,l_component_type_code
8327 ,l_component_appl_id
8328 ,l_amb_context_code
8329 ,l_entity_code
8330 ,l_event_class_code
8331 )
8332 ,p_token_3 => 'OWNER'
8333 ,p_value_3 => xla_lookups_pkg.get_meaning(
8334 p_lookup_type => 'XLA_OWNER_TYPE'
8335 ,p_lookup_code => l_component_type_code
8336 )
8337 ,p_token_4 => 'PRODUCT_NAME'
8338 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
8339 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
8340 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
8341 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
8342 ,p_ae_header_id => NULL
8343 );
8344
8345 IF (C_LEVEL_ERROR>= g_log_level) THEN
8346 trace
8347 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
8348 ,p_level => C_LEVEL_ERROR
8349 ,p_module => l_log_module);
8350 END IF;
8351 END IF;
8352 END IF;
8353 --
8354 --
8355 ------------------------------------------------------------------------------------------------
8356 -- 4219869 Business Flow
8357 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
8358 -- Prior Entry. Currently, the following code is always generated.
8359 ------------------------------------------------------------------------------------------------
8360 XLA_AE_LINES_PKG.ValidateCurrentLine;
8361
8362 ------------------------------------------------------------------------------------
8363 -- 4219869 Business Flow
8364 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
8365 ------------------------------------------------------------------------------------
8366 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
8367
8368 ----------------------------------------------------------------------------------
8369 -- 4219869 Business Flow
8370 -- Update journal entry status -- Need to generate this within IF <condition>
8374 ,p_balance_type_code => l_balance_type_code
8371 ----------------------------------------------------------------------------------
8372 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
8373 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
8375 );
8376
8377 -------------------------------------------------------------------------------------------
8378 -- 4262811 - Generate the Accrual Reversal lines
8379 -------------------------------------------------------------------------------------------
8380 BEGIN
8381 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
8382 (g_array_event(p_event_id).array_value_num('header_index'));
8383 IF l_acc_rev_flag IS NULL THEN
8384 l_acc_rev_flag := 'N';
8385 END IF;
8386 EXCEPTION
8387 WHEN OTHERS THEN
8388 l_acc_rev_flag := 'N';
8389 END;
8390 --
8391 IF (l_acc_rev_flag = 'Y') THEN
8392
8393 -- 4645092 ------------------------------------------------------------------------------
8394 -- To allow MPA report to determine if it should generate report process
8395 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
8396 ------------------------------------------------------------------------------------------
8397
8398 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
8399 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
8400 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
8401 -- call ADRs
8402 -- Bug 4922099
8403 --
8404 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
8405 (NVL(l_actual_upg_option, 'N') = 'O') OR
8406 (NVL(l_enc_upg_option, 'N') = 'O')
8407 )
8408 THEN
8409 NULL;
8410 --
8411 --
8412
8413 l_ccid := AcctDerRule_35(
8414 p_application_id => p_application_id
8415 , p_ae_header_id => l_ae_header_id
8416 , p_source_25 => p_source_25
8417 , x_transaction_coa_id => l_adr_transaction_coa_id
8418 , x_accounting_coa_id => l_adr_accounting_coa_id
8419 , x_value_type_code => l_adr_value_type_code
8420 , p_side => 'NA'
8421 );
8422
8423 xla_ae_lines_pkg.set_ccid(
8424 p_code_combination_id => l_ccid
8425 , p_value_type_code => l_adr_value_type_code
8426 , p_transaction_coa_id => l_adr_transaction_coa_id
8427 , p_accounting_coa_id => l_adr_accounting_coa_id
8428 , p_adr_code => 'AP_INVOICE_DIST'
8429 , p_adr_type_code => 'S'
8430 , p_component_type => l_component_type
8431 , p_component_code => l_component_code
8432 , p_component_type_code => l_component_type_code
8433 , p_component_appl_id => l_component_appl_id
8434 , p_amb_context_code => l_amb_context_code
8435 , p_side => 'NA'
8436 );
8437
8438
8439 --
8440 --
8441 END IF;
8442
8443 --
8444 -- Update the line information that should be overwritten
8445 --
8446 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
8447 p_header_num => 1);
8448 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
8449
8450 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
8451
8452 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
8453 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
8454 END IF;
8455
8456 --
8457 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
8458 --
8459 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
8460 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
8461 ELSE
8462 ---------------------------------------------------------------------------------------------------
8463 -- 4262811a Switch Sign
8464 ---------------------------------------------------------------------------------------------------
8465 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
8466 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
8467 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
8468 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
8469 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
8470 -- 5132302
8471 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
8472 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
8473
8474 END IF;
8475
8476 -- 4955764
8477 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
8478 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
8479
8480
8481 XLA_AE_LINES_PKG.ValidateCurrentLine;
8485 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
8482 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
8483
8484 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
8486 ,p_balance_type_code => l_balance_type_code);
8487
8488 END IF;
8489
8490 -----------------------------------------------------------------------------------------
8491 -- 4262811 Multiperiod Accounting
8492 -----------------------------------------------------------------------------------------
8493 -- No MPA option is assigned.
8494
8495
8496 END IF;
8497 END IF;
8498 --
8499
8500 --
8501 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
8502 trace
8503 (p_msg => 'END of AcctLineType_56'
8504 ,p_level => C_LEVEL_PROCEDURE
8505 ,p_module => l_log_module);
8506 END IF;
8507 --
8508 EXCEPTION
8509 WHEN xla_exceptions_pkg.application_exception THEN
8510 RAISE;
8511 WHEN OTHERS THEN
8512 xla_exceptions_pkg.raise_message
8513 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_56');
8514 END AcctLineType_56;
8515 --
8516
8517 ---------------------------------------
8518 --
8519 -- PRIVATE FUNCTION
8520 -- AcctLineType_57
8521 --
8522 ---------------------------------------
8523 PROCEDURE AcctLineType_57 (
8524 p_application_id IN NUMBER
8525 ,p_event_id IN NUMBER
8526 ,p_calculate_acctd_flag IN VARCHAR2
8527 ,p_calculate_g_l_flag IN VARCHAR2
8528 ,p_actual_flag IN OUT VARCHAR2
8529 ,p_balance_type_code OUT VARCHAR2
8530 ,p_gain_or_loss_ref OUT VARCHAR2
8531
8532 --Invoice Distribution Description
8533 , p_source_1 IN VARCHAR2
8534 --Invoice Distribution Ledger Amount
8535 , p_source_16 IN NUMBER
8536 --Invoice Distribution Account
8537 , p_source_25 IN NUMBER
8538 --Invoice Distribution Type
8539 , p_source_28 IN VARCHAR2
8540 , p_source_28_meaning IN VARCHAR2
8541 --Accounting Reversal Indicator
8542 , p_source_58 IN VARCHAR2
8543 --Distribution Link Type
8544 , p_source_60 IN VARCHAR2
8545 --Allocation to Main Distribution Identifier
8546 , p_source_62 IN NUMBER
8547 --Invoice Identifier
8548 , p_source_63 IN NUMBER
8549 --Business Flow Purchasing Application Identifier
8550 , p_source_64 IN NUMBER
8551 --Business Flow Purchase Order Distribution Type
8552 , p_source_65 IN VARCHAR2
8553 --Business Flow Purchase Order Entity Code
8554 , p_source_66 IN VARCHAR2
8555 --Business Flow Purchase Order Distribution Identifier
8556 , p_source_67 IN NUMBER
8557 --Business Flow Purchasing Document Identifier
8558 , p_source_68 IN NUMBER
8559 --Invoice Distribution Identifier
8560 , p_source_69 IN NUMBER
8561 --Payables Encumbrance Upgrade Credit Account
8562 , p_source_70 IN NUMBER
8563 --Payables Encumbrance Upgrade Credit Amount
8564 , p_source_71 IN NUMBER
8565 --Invoice Currency Code
8566 , p_source_72 IN VARCHAR2
8567 --Payables Encumbrance Upgrade Credit Base Amount
8568 , p_source_73 IN NUMBER
8569 --Payables Encumbrance Upgrade Debit Account
8570 , p_source_74 IN NUMBER
8571 --Payables Encumbrance Upgrade Debit Amount
8572 , p_source_75 IN NUMBER
8573 --Payables Encumbrance Upgrade Debit Base Amount
8574 , p_source_76 IN NUMBER
8575 --Payables Encumbrance Upgrade Option
8576 , p_source_77 IN VARCHAR2
8577 --Invoice Distribution Amount
8578 , p_source_78 IN NUMBER
8579 --Purchase Order Exchange Rate Date
8580 , p_source_79 IN DATE
8581 --Purchase Order Exchange Rate
8582 , p_source_80 IN NUMBER
8583 --Purchase Order Exchange Rate Type
8584 , p_source_81 IN VARCHAR2
8585 --Deferred Accounting End Date
8586 , p_source_82 IN DATE
8587 --Deferred Accounting Option
8588 , p_source_83 IN VARCHAR2
8589 --Deferred Accounting Start Date
8590 , p_source_84 IN DATE
8591 --Override Accounted Amount Indicator
8592 , p_source_85 IN VARCHAR2
8593 , p_source_85_meaning IN VARCHAR2
8594 --Invoice Supplier Identifier
8595 , p_source_86 IN NUMBER
8596 --Invoice Supplier Site Identifier
8597 , p_source_87 IN NUMBER
8598 --Third Party Type
8599 , p_source_88 IN VARCHAR2
8600 --Parent Reversal Identifier
8601 , p_source_89 IN NUMBER
8602 --Invoice Distribution Tax Line Identifier
8603 , p_source_91 IN NUMBER
8604 --Invoice Distribution Tax Distribution Identifier from Tax
8605 , p_source_92 IN NUMBER
8606 --Invoice Distribution Summary Tax Line Identifier
8607 , p_source_93 IN NUMBER
8608 --Payables Upgrade Credit Encumbrance Type Identifier
8609 , p_source_94 IN NUMBER
8610 --Payables Upgrade Debit Encumbrance Type Identifier
8611 , p_source_95 IN NUMBER
8612 )
8613 IS
8614
8615 l_component_type VARCHAR2(80);
8616 l_component_code VARCHAR2(30);
8617 l_component_type_code VARCHAR2(1);
8618 l_component_appl_id INTEGER;
8619 l_amb_context_code VARCHAR2(30);
8620 l_entity_code VARCHAR2(30);
8621 l_event_class_code VARCHAR2(30);
8625 l_line_definition_owner_code VARCHAR2(1);
8622 l_ae_header_id NUMBER;
8623 l_event_type_code VARCHAR2(30);
8624 l_line_definition_code VARCHAR2(30);
8626 --
8627 -- adr variables
8628 l_segment VARCHAR2(30);
8629 l_ccid NUMBER;
8630 l_adr_transaction_coa_id NUMBER;
8631 l_adr_accounting_coa_id NUMBER;
8632 l_adr_flexfield_segment_code VARCHAR2(30);
8633 l_adr_flex_value_set_id NUMBER;
8634 l_adr_value_type_code VARCHAR2(30);
8635 l_adr_value_combination_id NUMBER;
8636 l_adr_value_segment_code VARCHAR2(30);
8637
8638 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
8639 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
8640 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
8641 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
8642
8643 -- 4262811 Variables ------------------------------------------------------------------------------------------
8644 l_entered_amt_idx NUMBER;
8645 l_accted_amt_idx NUMBER;
8646 l_acc_rev_flag VARCHAR2(1);
8647 l_accrual_line_num NUMBER;
8648 l_tmp_amt NUMBER;
8649 l_acc_rev_natural_side_code VARCHAR2(1);
8650
8651 l_num_entries NUMBER;
8652 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
8653 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
8654 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
8655 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
8656 l_recog_line_1 NUMBER;
8657 l_recog_line_2 NUMBER;
8658
8659 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
8660 l_bflow_applied_to_amt NUMBER; -- 5132302
8661 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
8662
8663 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
8664
8665 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
8666 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
8667
8668 ---------------------------------------------------------------------------------------------------------------
8669
8670
8671 --
8672 -- bulk performance
8673 --
8674 l_balance_type_code VARCHAR2(1);
8675 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
8676 l_log_module VARCHAR2(240);
8677
8678 --
8679 -- Upgrade strategy
8680 --
8681 l_actual_upg_option VARCHAR2(1);
8682 l_enc_upg_option VARCHAR2(1);
8683
8684 --
8685 BEGIN
8686 --
8687 IF g_log_enabled THEN
8688 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_57';
8689 END IF;
8690 --
8691 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
8692
8693 trace
8694 (p_msg => 'BEGIN of AcctLineType_57'
8695 ,p_level => C_LEVEL_PROCEDURE
8696 ,p_module => l_log_module);
8697
8698 END IF;
8699 --
8700 l_component_type := 'AMB_JLT';
8701 l_component_code := 'AP_ACCRUAL_DM';
8702 l_component_type_code := 'S';
8703 l_component_appl_id := 200;
8704 l_amb_context_code := 'DEFAULT';
8705 l_entity_code := 'AP_INVOICES';
8706 l_event_class_code := 'DEBIT MEMOS';
8707 l_event_type_code := 'DEBIT MEMOS_ALL';
8708 l_line_definition_owner_code := 'S';
8709 l_line_definition_code := 'ACCRUAL_DEBIT MEMOS_ALL';
8710 --
8711 l_balance_type_code := 'A';
8712 l_segment := NULL;
8713 l_ccid := NULL;
8714 l_adr_transaction_coa_id := NULL;
8715 l_adr_accounting_coa_id := NULL;
8716 l_adr_flexfield_segment_code := NULL;
8717 l_adr_flex_value_set_id := NULL;
8718 l_adr_value_type_code := NULL;
8719 l_adr_value_combination_id := NULL;
8720 l_adr_value_segment_code := NULL;
8721
8722 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
8723 l_bflow_class_code := ''; -- 4219869 Business Flow
8724 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
8725 l_budgetary_control_flag := 'N';
8726
8727 l_bflow_applied_to_amt_idx := NULL; -- 5132302
8728 l_bflow_applied_to_amt := NULL; -- 5132302
8729 l_entered_amt_idx := NULL; -- 4262811
8730 l_accted_amt_idx := NULL; -- 4262811
8731 l_acc_rev_flag := NULL; -- 4262811
8732 l_accrual_line_num := NULL; -- 4262811
8733 l_tmp_amt := NULL; -- 4262811
8734 --
8735
8736 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
8737 l_balance_type_code <> 'B' THEN
8738 IF NVL(p_source_28,'
8739 ') = 'RETROACCRUAL' OR
8740 NVL(p_source_28,'
8741 ') = 'ACCRUAL'
8742 THEN
8743
8744 --
8745 XLA_AE_LINES_PKG.SetNewLine;
8746
8747 p_balance_type_code := l_balance_type_code;
8748 -- set the flag so later we will know whether the gain loss line needs to be created
8749
8750 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
8751 p_actual_flag :='A';
8752 END IF;
8756 --
8753
8754 --
8755 -- bulk performance
8757 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
8758 p_header_num => 0); -- 4262811
8759 --
8760 -- set accounting line options
8761 --
8762 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
8763 p_natural_side_code => 'D'
8764 , p_gain_or_loss_flag => 'N'
8765 , p_gl_transfer_mode_code => 'S'
8766 , p_acct_entry_type_code => 'A'
8767 , p_switch_side_flag => 'Y'
8768 , p_merge_duplicate_code => 'A'
8769 );
8770 --
8771 l_acc_rev_natural_side_code := 'C'; -- 4262811
8772 --
8773 --
8774 -- set accounting line type info
8775 --
8776 xla_ae_lines_pkg.SetAcctLineType
8777 (p_component_type => l_component_type
8778 ,p_event_type_code => l_event_type_code
8779 ,p_line_definition_owner_code => l_line_definition_owner_code
8780 ,p_line_definition_code => l_line_definition_code
8781 ,p_accounting_line_code => l_component_code
8782 ,p_accounting_line_type_code => l_component_type_code
8783 ,p_accounting_line_appl_id => l_component_appl_id
8784 ,p_amb_context_code => l_amb_context_code
8785 ,p_entity_code => l_entity_code
8786 ,p_event_class_code => l_event_class_code);
8787 --
8788 -- set accounting class
8789 --
8790 xla_ae_lines_pkg.SetAcctClass(
8791 p_accounting_class_code => 'ACCRUAL'
8792 , p_ae_header_id => l_ae_header_id
8793 );
8794
8795 --
8796 -- set rounding class
8797 --
8798 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
8799 'ACCRUAL';
8800
8801 --
8802 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
8803 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
8804 --
8805 -- bulk performance
8806 --
8807 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
8808
8809 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
8810 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
8811
8812 -- 4955764
8813 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
8814 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
8815
8816 -- 4458381 Public Sector Enh
8817
8818 --
8819 -- set accounting attributes for the line type
8820 --
8821 l_entered_amt_idx := 23;
8822 l_accted_amt_idx := 28;
8823 l_bflow_applied_to_amt_idx := NULL; -- 5132302
8824 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
8825 l_rec_acct_attrs.array_char_value(1) := p_source_58;
8826 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
8827 l_rec_acct_attrs.array_num_value(2) :=
8828 xla_ae_sources_pkg.GetSystemSourceNum(
8829 p_source_code => 'XLA_EVENT_APPL_ID'
8830 , p_source_type_code => 'Y'
8831 , p_source_application_id => 602
8832 );
8833 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
8834 l_rec_acct_attrs.array_char_value(3) := p_source_60;
8835 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
8836 l_rec_acct_attrs.array_char_value(4) :=
8837 xla_ae_sources_pkg.GetSystemSourceChar(
8838 p_source_code => 'XLA_ENTITY_CODE'
8839 , p_source_type_code => 'Y'
8840 , p_source_application_id => 602
8841 );
8842 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
8843 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_62);
8844 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
8845 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_63);
8846 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
8847 l_rec_acct_attrs.array_num_value(7) := p_source_64;
8848 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
8849 l_rec_acct_attrs.array_char_value(8) := p_source_65;
8850 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
8851 l_rec_acct_attrs.array_char_value(9) := p_source_66;
8852 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
8853 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_67);
8854 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
8855 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_68);
8856 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
8857 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_69);
8858 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
8859 l_rec_acct_attrs.array_char_value(13) := p_source_60;
8860 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
8861 l_rec_acct_attrs.array_num_value(14) := p_source_70;
8862 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
8863 l_rec_acct_attrs.array_num_value(15) := p_source_71;
8864 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
8868 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
8865 l_rec_acct_attrs.array_char_value(16) := p_source_72;
8866 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
8867 l_rec_acct_attrs.array_num_value(17) := p_source_73;
8869 l_rec_acct_attrs.array_num_value(18) := p_source_74;
8870 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
8871 l_rec_acct_attrs.array_num_value(19) := p_source_75;
8872 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
8873 l_rec_acct_attrs.array_char_value(20) := p_source_72;
8874 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
8875 l_rec_acct_attrs.array_num_value(21) := p_source_76;
8876 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
8877 l_rec_acct_attrs.array_char_value(22) := p_source_77;
8878 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
8879 l_rec_acct_attrs.array_num_value(23) := p_source_78;
8880 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
8881 l_rec_acct_attrs.array_char_value(24) := p_source_72;
8882 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
8883 l_rec_acct_attrs.array_date_value(25) := p_source_79;
8884 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
8885 l_rec_acct_attrs.array_num_value(26) := p_source_80;
8886 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
8887 l_rec_acct_attrs.array_char_value(27) := p_source_81;
8888 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
8889 l_rec_acct_attrs.array_num_value(28) := p_source_16;
8890 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
8891 l_rec_acct_attrs.array_date_value(29) := p_source_82;
8892 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
8893 l_rec_acct_attrs.array_char_value(30) := p_source_83;
8894 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
8895 l_rec_acct_attrs.array_date_value(31) := p_source_84;
8896 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
8897 l_rec_acct_attrs.array_char_value(32) := p_source_85;
8898 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
8899 l_rec_acct_attrs.array_num_value(33) := p_source_86;
8900 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
8901 l_rec_acct_attrs.array_num_value(34) := p_source_87;
8902 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
8903 l_rec_acct_attrs.array_char_value(35) := p_source_88;
8904 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
8905 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_89);
8906 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
8907 l_rec_acct_attrs.array_char_value(37) := p_source_60;
8908 l_rec_acct_attrs.array_acct_attr_code(38) := 'TAX_LINE_REF_ID';
8909 l_rec_acct_attrs.array_num_value(38) := p_source_91;
8910 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_REC_NREC_DIST_REF_ID';
8911 l_rec_acct_attrs.array_num_value(39) := p_source_92;
8912 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_SUMMARY_LINE_REF_ID';
8913 l_rec_acct_attrs.array_num_value(40) := p_source_93;
8914 l_rec_acct_attrs.array_acct_attr_code(41) := 'UPG_CR_ENC_TYPE_ID';
8915 l_rec_acct_attrs.array_num_value(41) := p_source_94;
8916 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_DR_ENC_TYPE_ID';
8917 l_rec_acct_attrs.array_num_value(42) := p_source_95;
8918
8919 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
8920 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
8921
8922 ---------------------------------------------------------------------------------------------------------------
8923 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
8924 ---------------------------------------------------------------------------------------------------------------
8925 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
8926
8927 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
8928 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
8929
8930 IF xla_accounting_cache_pkg.GetValueChar
8931 (p_source_code => 'LEDGER_CATEGORY_CODE'
8932 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
8933 AND l_bflow_method_code = 'PRIOR_ENTRY'
8934 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
8935 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
8936 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
8937 )
8938 THEN
8939 xla_ae_lines_pkg.BflowUpgEntry
8940 (p_business_method_code => l_bflow_method_code
8941 ,p_business_class_code => l_bflow_class_code
8942 ,p_balance_type => l_balance_type_code);
8943 ELSE
8944 NULL;
8945 -- No business flow processing for business flow method of NONE.
8946 END IF;
8947
8948 --
8949 -- call analytical criteria
8950 --
8951
8952 --
8953 -- call description
8954 --
8955
8956 xla_ae_lines_pkg.SetLineDescription(
8957 p_ae_header_id => l_ae_header_id
8958 ,p_description => Description_2 (
8959 p_application_id => p_application_id
8960 , p_ae_header_id => l_ae_header_id
8961 , p_source_1 => p_source_1
8962 )
8963 );
8964
8965
8966 --
8967 -- call ADRs
8971 (NVL(l_actual_upg_option, 'N') = 'O') OR
8968 -- Bug 4922099
8969 --
8970 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
8972 (NVL(l_enc_upg_option, 'N') = 'O')
8973 )
8974 THEN
8975 NULL;
8976 --
8977 --
8978
8979 l_ccid := AcctDerRule_35(
8980 p_application_id => p_application_id
8981 , p_ae_header_id => l_ae_header_id
8982 , p_source_25 => p_source_25
8983 , x_transaction_coa_id => l_adr_transaction_coa_id
8984 , x_accounting_coa_id => l_adr_accounting_coa_id
8985 , x_value_type_code => l_adr_value_type_code
8986 , p_side => 'NA'
8987 );
8988
8989 xla_ae_lines_pkg.set_ccid(
8990 p_code_combination_id => l_ccid
8991 , p_value_type_code => l_adr_value_type_code
8992 , p_transaction_coa_id => l_adr_transaction_coa_id
8993 , p_accounting_coa_id => l_adr_accounting_coa_id
8994 , p_adr_code => 'AP_INVOICE_DIST'
8995 , p_adr_type_code => 'S'
8996 , p_component_type => l_component_type
8997 , p_component_code => l_component_code
8998 , p_component_type_code => l_component_type_code
8999 , p_component_appl_id => l_component_appl_id
9000 , p_amb_context_code => l_amb_context_code
9001 , p_side => 'NA'
9002 );
9003
9004
9005 --
9006 --
9007 END IF;
9008 --
9009 -- Bug 4922099
9010 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
9011 (NVL(l_enc_upg_option, 'N') = 'O')
9012 ) AND
9013 (l_bflow_method_code = 'PRIOR_ENTRY')
9014 )
9015 THEN
9016 IF
9017 --
9018 1 = 2
9019 --
9020 THEN
9021 xla_accounting_err_pkg.build_message
9022 (p_appli_s_name => 'XLA'
9023 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
9024 ,p_token_1 => 'LINE_NUMBER'
9025 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
9026 ,p_token_2 => 'LINE_TYPE_NAME'
9027 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
9028 l_component_type
9029 ,l_component_code
9030 ,l_component_type_code
9031 ,l_component_appl_id
9032 ,l_amb_context_code
9033 ,l_entity_code
9034 ,l_event_class_code
9035 )
9036 ,p_token_3 => 'OWNER'
9037 ,p_value_3 => xla_lookups_pkg.get_meaning(
9038 p_lookup_type => 'XLA_OWNER_TYPE'
9039 ,p_lookup_code => l_component_type_code
9040 )
9041 ,p_token_4 => 'PRODUCT_NAME'
9042 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
9043 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
9044 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
9045 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
9046 ,p_ae_header_id => NULL
9047 );
9048
9049 IF (C_LEVEL_ERROR>= g_log_level) THEN
9050 trace
9051 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
9052 ,p_level => C_LEVEL_ERROR
9053 ,p_module => l_log_module);
9054 END IF;
9055 END IF;
9056 END IF;
9057 --
9058 --
9059 ------------------------------------------------------------------------------------------------
9060 -- 4219869 Business Flow
9061 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
9062 -- Prior Entry. Currently, the following code is always generated.
9063 ------------------------------------------------------------------------------------------------
9064 XLA_AE_LINES_PKG.ValidateCurrentLine;
9065
9066 ------------------------------------------------------------------------------------
9067 -- 4219869 Business Flow
9068 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
9069 ------------------------------------------------------------------------------------
9070 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
9071
9072 ----------------------------------------------------------------------------------
9073 -- 4219869 Business Flow
9074 -- Update journal entry status -- Need to generate this within IF <condition>
9078 ,p_balance_type_code => l_balance_type_code
9075 ----------------------------------------------------------------------------------
9076 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
9077 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
9079 );
9080
9081 -------------------------------------------------------------------------------------------
9082 -- 4262811 - Generate the Accrual Reversal lines
9083 -------------------------------------------------------------------------------------------
9084 BEGIN
9085 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
9086 (g_array_event(p_event_id).array_value_num('header_index'));
9087 IF l_acc_rev_flag IS NULL THEN
9088 l_acc_rev_flag := 'N';
9089 END IF;
9090 EXCEPTION
9091 WHEN OTHERS THEN
9092 l_acc_rev_flag := 'N';
9093 END;
9094 --
9095 IF (l_acc_rev_flag = 'Y') THEN
9096
9097 -- 4645092 ------------------------------------------------------------------------------
9098 -- To allow MPA report to determine if it should generate report process
9099 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
9100 ------------------------------------------------------------------------------------------
9101
9102 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
9103 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
9104 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
9105 -- call ADRs
9106 -- Bug 4922099
9107 --
9108 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
9109 (NVL(l_actual_upg_option, 'N') = 'O') OR
9110 (NVL(l_enc_upg_option, 'N') = 'O')
9111 )
9112 THEN
9113 NULL;
9114 --
9115 --
9116
9117 l_ccid := AcctDerRule_35(
9118 p_application_id => p_application_id
9119 , p_ae_header_id => l_ae_header_id
9120 , p_source_25 => p_source_25
9121 , x_transaction_coa_id => l_adr_transaction_coa_id
9122 , x_accounting_coa_id => l_adr_accounting_coa_id
9123 , x_value_type_code => l_adr_value_type_code
9124 , p_side => 'NA'
9125 );
9126
9127 xla_ae_lines_pkg.set_ccid(
9128 p_code_combination_id => l_ccid
9129 , p_value_type_code => l_adr_value_type_code
9130 , p_transaction_coa_id => l_adr_transaction_coa_id
9131 , p_accounting_coa_id => l_adr_accounting_coa_id
9132 , p_adr_code => 'AP_INVOICE_DIST'
9133 , p_adr_type_code => 'S'
9134 , p_component_type => l_component_type
9135 , p_component_code => l_component_code
9136 , p_component_type_code => l_component_type_code
9137 , p_component_appl_id => l_component_appl_id
9138 , p_amb_context_code => l_amb_context_code
9139 , p_side => 'NA'
9140 );
9141
9142
9143 --
9144 --
9145 END IF;
9146
9147 --
9148 -- Update the line information that should be overwritten
9149 --
9150 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
9151 p_header_num => 1);
9152 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
9153
9154 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
9155
9156 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
9157 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
9158 END IF;
9159
9160 --
9161 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
9162 --
9163 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
9164 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
9165 ELSE
9166 ---------------------------------------------------------------------------------------------------
9167 -- 4262811a Switch Sign
9168 ---------------------------------------------------------------------------------------------------
9169 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
9170 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
9171 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
9172 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
9173 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
9174 -- 5132302
9175 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
9176 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
9177
9178 END IF;
9179
9180 -- 4955764
9181 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
9182 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
9183
9184
9185 XLA_AE_LINES_PKG.ValidateCurrentLine;
9189 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
9186 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
9187
9188 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
9190 ,p_balance_type_code => l_balance_type_code);
9191
9192 END IF;
9193
9194 -----------------------------------------------------------------------------------------
9195 -- 4262811 Multiperiod Accounting
9196 -----------------------------------------------------------------------------------------
9197 -- No MPA option is assigned.
9198
9199
9200 END IF;
9201 END IF;
9202 --
9203
9204 --
9205 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
9206 trace
9207 (p_msg => 'END of AcctLineType_57'
9208 ,p_level => C_LEVEL_PROCEDURE
9209 ,p_module => l_log_module);
9210 END IF;
9211 --
9212 EXCEPTION
9213 WHEN xla_exceptions_pkg.application_exception THEN
9214 RAISE;
9215 WHEN OTHERS THEN
9216 xla_exceptions_pkg.raise_message
9217 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_57');
9218 END AcctLineType_57;
9219 --
9220
9221 ---------------------------------------
9222 --
9223 -- PRIVATE FUNCTION
9224 -- AcctLineType_58
9225 --
9226 ---------------------------------------
9227 PROCEDURE AcctLineType_58 (
9228 p_application_id IN NUMBER
9229 ,p_event_id IN NUMBER
9230 ,p_calculate_acctd_flag IN VARCHAR2
9231 ,p_calculate_g_l_flag IN VARCHAR2
9232 ,p_actual_flag IN OUT VARCHAR2
9233 ,p_balance_type_code OUT VARCHAR2
9234 ,p_gain_or_loss_ref OUT VARCHAR2
9235
9236 --Invoice Distribution Description
9237 , p_source_1 IN VARCHAR2
9238 --Invoice Distribution Ledger Amount
9239 , p_source_16 IN NUMBER
9240 --Invoice Distribution Account
9241 , p_source_25 IN NUMBER
9242 --Invoice Distribution Type
9243 , p_source_28 IN VARCHAR2
9244 , p_source_28_meaning IN VARCHAR2
9245 --Accounting Reversal Indicator
9246 , p_source_58 IN VARCHAR2
9247 --Distribution Link Type
9248 , p_source_60 IN VARCHAR2
9249 --Allocation to Main Distribution Identifier
9250 , p_source_62 IN NUMBER
9251 --Invoice Identifier
9252 , p_source_63 IN NUMBER
9253 --Business Flow Purchasing Application Identifier
9254 , p_source_64 IN NUMBER
9255 --Business Flow Purchase Order Distribution Type
9256 , p_source_65 IN VARCHAR2
9257 --Business Flow Purchase Order Entity Code
9258 , p_source_66 IN VARCHAR2
9259 --Business Flow Purchase Order Distribution Identifier
9260 , p_source_67 IN NUMBER
9261 --Business Flow Purchasing Document Identifier
9262 , p_source_68 IN NUMBER
9263 --Invoice Distribution Identifier
9264 , p_source_69 IN NUMBER
9265 --Payables Encumbrance Upgrade Credit Account
9266 , p_source_70 IN NUMBER
9267 --Payables Encumbrance Upgrade Credit Amount
9268 , p_source_71 IN NUMBER
9269 --Invoice Currency Code
9270 , p_source_72 IN VARCHAR2
9271 --Payables Encumbrance Upgrade Credit Base Amount
9272 , p_source_73 IN NUMBER
9273 --Payables Encumbrance Upgrade Debit Account
9274 , p_source_74 IN NUMBER
9275 --Payables Encumbrance Upgrade Debit Amount
9276 , p_source_75 IN NUMBER
9277 --Payables Encumbrance Upgrade Debit Base Amount
9278 , p_source_76 IN NUMBER
9279 --Payables Encumbrance Upgrade Option
9280 , p_source_77 IN VARCHAR2
9281 --Invoice Distribution Amount
9282 , p_source_78 IN NUMBER
9283 --Purchase Order Exchange Rate Date
9284 , p_source_79 IN DATE
9285 --Purchase Order Exchange Rate
9286 , p_source_80 IN NUMBER
9287 --Purchase Order Exchange Rate Type
9288 , p_source_81 IN VARCHAR2
9289 --Deferred Accounting End Date
9290 , p_source_82 IN DATE
9291 --Deferred Accounting Option
9292 , p_source_83 IN VARCHAR2
9293 --Deferred Accounting Start Date
9294 , p_source_84 IN DATE
9295 --Override Accounted Amount Indicator
9296 , p_source_85 IN VARCHAR2
9297 , p_source_85_meaning IN VARCHAR2
9298 --Invoice Supplier Identifier
9299 , p_source_86 IN NUMBER
9300 --Invoice Supplier Site Identifier
9301 , p_source_87 IN NUMBER
9302 --Third Party Type
9303 , p_source_88 IN VARCHAR2
9304 --Parent Reversal Identifier
9305 , p_source_89 IN NUMBER
9306 --Invoice Distribution Statistical Amount
9307 , p_source_90 IN NUMBER
9308 --Invoice Distribution Tax Line Identifier
9309 , p_source_91 IN NUMBER
9310 --Invoice Distribution Tax Distribution Identifier from Tax
9311 , p_source_92 IN NUMBER
9312 --Invoice Distribution Summary Tax Line Identifier
9313 , p_source_93 IN NUMBER
9314 --Payables Upgrade Credit Encumbrance Type Identifier
9315 , p_source_94 IN NUMBER
9316 --Payables Upgrade Debit Encumbrance Type Identifier
9317 , p_source_95 IN NUMBER
9318 )
9319 IS
9320
9321 l_component_type VARCHAR2(80);
9322 l_component_code VARCHAR2(30);
9323 l_component_type_code VARCHAR2(1);
9324 l_component_appl_id INTEGER;
9325 l_amb_context_code VARCHAR2(30);
9326 l_entity_code VARCHAR2(30);
9330 l_line_definition_code VARCHAR2(30);
9327 l_event_class_code VARCHAR2(30);
9328 l_ae_header_id NUMBER;
9329 l_event_type_code VARCHAR2(30);
9331 l_line_definition_owner_code VARCHAR2(1);
9332 --
9333 -- adr variables
9334 l_segment VARCHAR2(30);
9335 l_ccid NUMBER;
9336 l_adr_transaction_coa_id NUMBER;
9337 l_adr_accounting_coa_id NUMBER;
9338 l_adr_flexfield_segment_code VARCHAR2(30);
9339 l_adr_flex_value_set_id NUMBER;
9340 l_adr_value_type_code VARCHAR2(30);
9341 l_adr_value_combination_id NUMBER;
9342 l_adr_value_segment_code VARCHAR2(30);
9343
9344 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
9345 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
9346 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
9347 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
9348
9349 -- 4262811 Variables ------------------------------------------------------------------------------------------
9350 l_entered_amt_idx NUMBER;
9351 l_accted_amt_idx NUMBER;
9352 l_acc_rev_flag VARCHAR2(1);
9353 l_accrual_line_num NUMBER;
9354 l_tmp_amt NUMBER;
9355 l_acc_rev_natural_side_code VARCHAR2(1);
9356
9357 l_num_entries NUMBER;
9358 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
9359 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
9360 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
9361 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
9362 l_recog_line_1 NUMBER;
9363 l_recog_line_2 NUMBER;
9364
9365 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
9366 l_bflow_applied_to_amt NUMBER; -- 5132302
9367 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
9368
9369 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
9370
9371 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
9372 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
9373
9374 ---------------------------------------------------------------------------------------------------------------
9375
9376
9377 --
9378 -- bulk performance
9379 --
9380 l_balance_type_code VARCHAR2(1);
9381 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
9382 l_log_module VARCHAR2(240);
9383
9384 --
9385 -- Upgrade strategy
9386 --
9387 l_actual_upg_option VARCHAR2(1);
9388 l_enc_upg_option VARCHAR2(1);
9389
9390 --
9391 BEGIN
9392 --
9393 IF g_log_enabled THEN
9394 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_58';
9395 END IF;
9396 --
9397 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
9398
9399 trace
9400 (p_msg => 'BEGIN of AcctLineType_58'
9401 ,p_level => C_LEVEL_PROCEDURE
9402 ,p_module => l_log_module);
9403
9404 END IF;
9405 --
9406 l_component_type := 'AMB_JLT';
9407 l_component_code := 'AP_ACCRUAL_INV';
9408 l_component_type_code := 'S';
9409 l_component_appl_id := 200;
9410 l_amb_context_code := 'DEFAULT';
9411 l_entity_code := 'AP_INVOICES';
9412 l_event_class_code := 'INVOICES';
9413 l_event_type_code := 'INVOICES_ALL';
9414 l_line_definition_owner_code := 'S';
9415 l_line_definition_code := 'ACCRUAL_INVOICES_ALL';
9416 --
9417 l_balance_type_code := 'A';
9418 l_segment := NULL;
9419 l_ccid := NULL;
9420 l_adr_transaction_coa_id := NULL;
9421 l_adr_accounting_coa_id := NULL;
9422 l_adr_flexfield_segment_code := NULL;
9423 l_adr_flex_value_set_id := NULL;
9424 l_adr_value_type_code := NULL;
9425 l_adr_value_combination_id := NULL;
9426 l_adr_value_segment_code := NULL;
9427
9428 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
9429 l_bflow_class_code := ''; -- 4219869 Business Flow
9430 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
9431 l_budgetary_control_flag := 'N';
9432
9433 l_bflow_applied_to_amt_idx := NULL; -- 5132302
9434 l_bflow_applied_to_amt := NULL; -- 5132302
9435 l_entered_amt_idx := NULL; -- 4262811
9436 l_accted_amt_idx := NULL; -- 4262811
9437 l_acc_rev_flag := NULL; -- 4262811
9438 l_accrual_line_num := NULL; -- 4262811
9439 l_tmp_amt := NULL; -- 4262811
9440 --
9441
9442 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
9443 l_balance_type_code <> 'B' THEN
9444 IF NVL(p_source_28,'
9445 ') = 'RETROACCRUAL' OR
9446 NVL(p_source_28,'
9447 ') = 'ACCRUAL'
9448 THEN
9449
9450 --
9451 XLA_AE_LINES_PKG.SetNewLine;
9452
9453 p_balance_type_code := l_balance_type_code;
9454 -- set the flag so later we will know whether the gain loss line needs to be created
9455
9456 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
9457 p_actual_flag :='A';
9461 -- bulk performance
9458 END IF;
9459
9460 --
9462 --
9463 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
9464 p_header_num => 0); -- 4262811
9465 --
9466 -- set accounting line options
9467 --
9468 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
9469 p_natural_side_code => 'D'
9470 , p_gain_or_loss_flag => 'N'
9471 , p_gl_transfer_mode_code => 'S'
9472 , p_acct_entry_type_code => 'A'
9473 , p_switch_side_flag => 'Y'
9474 , p_merge_duplicate_code => 'A'
9475 );
9476 --
9477 l_acc_rev_natural_side_code := 'C'; -- 4262811
9478 --
9479 --
9480 -- set accounting line type info
9481 --
9482 xla_ae_lines_pkg.SetAcctLineType
9483 (p_component_type => l_component_type
9484 ,p_event_type_code => l_event_type_code
9485 ,p_line_definition_owner_code => l_line_definition_owner_code
9486 ,p_line_definition_code => l_line_definition_code
9487 ,p_accounting_line_code => l_component_code
9488 ,p_accounting_line_type_code => l_component_type_code
9489 ,p_accounting_line_appl_id => l_component_appl_id
9490 ,p_amb_context_code => l_amb_context_code
9491 ,p_entity_code => l_entity_code
9492 ,p_event_class_code => l_event_class_code);
9493 --
9494 -- set accounting class
9495 --
9496 xla_ae_lines_pkg.SetAcctClass(
9497 p_accounting_class_code => 'ACCRUAL'
9498 , p_ae_header_id => l_ae_header_id
9499 );
9500
9501 --
9502 -- set rounding class
9503 --
9504 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
9505 'ACCRUAL';
9506
9507 --
9508 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
9509 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
9510 --
9511 -- bulk performance
9512 --
9513 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
9514
9515 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
9516 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
9517
9518 -- 4955764
9519 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
9520 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
9521
9522 -- 4458381 Public Sector Enh
9523
9524 --
9525 -- set accounting attributes for the line type
9526 --
9527 l_entered_amt_idx := 24;
9528 l_accted_amt_idx := 29;
9529 l_bflow_applied_to_amt_idx := 7; -- 5132302
9530 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
9531 l_rec_acct_attrs.array_char_value(1) := p_source_58;
9532 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
9533 l_rec_acct_attrs.array_num_value(2) :=
9534 xla_ae_sources_pkg.GetSystemSourceNum(
9535 p_source_code => 'XLA_EVENT_APPL_ID'
9536 , p_source_type_code => 'Y'
9537 , p_source_application_id => 602
9538 );
9539 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
9540 l_rec_acct_attrs.array_char_value(3) := p_source_60;
9541 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
9542 l_rec_acct_attrs.array_char_value(4) :=
9543 xla_ae_sources_pkg.GetSystemSourceChar(
9544 p_source_code => 'XLA_ENTITY_CODE'
9545 , p_source_type_code => 'Y'
9546 , p_source_application_id => 602
9547 );
9548 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
9549 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_62);
9550 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
9551 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_63);
9552 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
9553 l_rec_acct_attrs.array_num_value(7) := p_source_78;
9554 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
9555 l_rec_acct_attrs.array_num_value(8) := p_source_64;
9556 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
9557 l_rec_acct_attrs.array_char_value(9) := p_source_65;
9558 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
9559 l_rec_acct_attrs.array_char_value(10) := p_source_66;
9560 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
9561 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_67);
9562 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
9563 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_68);
9564 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
9565 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_69);
9566 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
9567 l_rec_acct_attrs.array_char_value(14) := p_source_60;
9568 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
9569 l_rec_acct_attrs.array_num_value(15) := p_source_70;
9570 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
9571 l_rec_acct_attrs.array_num_value(16) := p_source_71;
9575 l_rec_acct_attrs.array_num_value(18) := p_source_73;
9572 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
9573 l_rec_acct_attrs.array_char_value(17) := p_source_72;
9574 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
9576 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
9577 l_rec_acct_attrs.array_num_value(19) := p_source_74;
9578 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
9579 l_rec_acct_attrs.array_num_value(20) := p_source_75;
9580 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
9581 l_rec_acct_attrs.array_char_value(21) := p_source_72;
9582 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
9583 l_rec_acct_attrs.array_num_value(22) := p_source_76;
9584 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
9585 l_rec_acct_attrs.array_char_value(23) := p_source_77;
9586 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_AMOUNT';
9587 l_rec_acct_attrs.array_num_value(24) := p_source_78;
9588 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_CODE';
9589 l_rec_acct_attrs.array_char_value(25) := p_source_72;
9590 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_DATE';
9591 l_rec_acct_attrs.array_date_value(26) := p_source_79;
9592 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE';
9593 l_rec_acct_attrs.array_num_value(27) := p_source_80;
9594 l_rec_acct_attrs.array_acct_attr_code(28) := 'EXCHANGE_RATE_TYPE';
9595 l_rec_acct_attrs.array_char_value(28) := p_source_81;
9596 l_rec_acct_attrs.array_acct_attr_code(29) := 'LEDGER_AMOUNT';
9597 l_rec_acct_attrs.array_num_value(29) := p_source_16;
9598 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_END_DATE';
9599 l_rec_acct_attrs.array_date_value(30) := p_source_82;
9600 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_OPTION';
9601 l_rec_acct_attrs.array_char_value(31) := p_source_83;
9602 l_rec_acct_attrs.array_acct_attr_code(32) := 'MULTIPERIOD_START_DATE';
9603 l_rec_acct_attrs.array_date_value(32) := p_source_84;
9604 l_rec_acct_attrs.array_acct_attr_code(33) := 'OVERRIDE_ACCTD_AMT_FLAG';
9605 l_rec_acct_attrs.array_char_value(33) := p_source_85;
9606 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_ID';
9607 l_rec_acct_attrs.array_num_value(34) := p_source_86;
9608 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_SITE_ID';
9609 l_rec_acct_attrs.array_num_value(35) := p_source_87;
9610 l_rec_acct_attrs.array_acct_attr_code(36) := 'PARTY_TYPE';
9611 l_rec_acct_attrs.array_char_value(36) := p_source_88;
9612 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_ID1';
9613 l_rec_acct_attrs.array_num_value(37) := to_char(p_source_89);
9614 l_rec_acct_attrs.array_acct_attr_code(38) := 'REVERSED_DISTRIBUTION_TYPE';
9615 l_rec_acct_attrs.array_char_value(38) := p_source_60;
9616 l_rec_acct_attrs.array_acct_attr_code(39) := 'STATISTICAL_AMOUNT';
9617 l_rec_acct_attrs.array_num_value(39) := p_source_90;
9618 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_LINE_REF_ID';
9619 l_rec_acct_attrs.array_num_value(40) := p_source_91;
9620 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_REC_NREC_DIST_REF_ID';
9621 l_rec_acct_attrs.array_num_value(41) := p_source_92;
9622 l_rec_acct_attrs.array_acct_attr_code(42) := 'TAX_SUMMARY_LINE_REF_ID';
9623 l_rec_acct_attrs.array_num_value(42) := p_source_93;
9624 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_CR_ENC_TYPE_ID';
9625 l_rec_acct_attrs.array_num_value(43) := p_source_94;
9626 l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
9627 l_rec_acct_attrs.array_num_value(44) := p_source_95;
9628
9629 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
9630 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
9631
9632 ---------------------------------------------------------------------------------------------------------------
9633 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
9634 ---------------------------------------------------------------------------------------------------------------
9635 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
9636
9637 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
9638 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
9639
9640 IF xla_accounting_cache_pkg.GetValueChar
9641 (p_source_code => 'LEDGER_CATEGORY_CODE'
9642 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
9643 AND l_bflow_method_code = 'PRIOR_ENTRY'
9644 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
9645 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
9646 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
9647 )
9648 THEN
9649 xla_ae_lines_pkg.BflowUpgEntry
9650 (p_business_method_code => l_bflow_method_code
9651 ,p_business_class_code => l_bflow_class_code
9652 ,p_balance_type => l_balance_type_code);
9653 ELSE
9654 NULL;
9655 -- No business flow processing for business flow method of NONE.
9656 END IF;
9657
9658 --
9659 -- call analytical criteria
9660 --
9661
9662 --
9663 -- call description
9664 --
9665
9666 xla_ae_lines_pkg.SetLineDescription(
9670 , p_ae_header_id => l_ae_header_id
9667 p_ae_header_id => l_ae_header_id
9668 ,p_description => Description_2 (
9669 p_application_id => p_application_id
9671 , p_source_1 => p_source_1
9672 )
9673 );
9674
9675
9676 --
9677 -- call ADRs
9678 -- Bug 4922099
9679 --
9680 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
9681 (NVL(l_actual_upg_option, 'N') = 'O') OR
9682 (NVL(l_enc_upg_option, 'N') = 'O')
9683 )
9684 THEN
9685 NULL;
9686 --
9687 --
9688
9689 l_ccid := AcctDerRule_35(
9690 p_application_id => p_application_id
9691 , p_ae_header_id => l_ae_header_id
9692 , p_source_25 => p_source_25
9693 , x_transaction_coa_id => l_adr_transaction_coa_id
9694 , x_accounting_coa_id => l_adr_accounting_coa_id
9695 , x_value_type_code => l_adr_value_type_code
9696 , p_side => 'NA'
9697 );
9698
9699 xla_ae_lines_pkg.set_ccid(
9700 p_code_combination_id => l_ccid
9701 , p_value_type_code => l_adr_value_type_code
9702 , p_transaction_coa_id => l_adr_transaction_coa_id
9703 , p_accounting_coa_id => l_adr_accounting_coa_id
9704 , p_adr_code => 'AP_INVOICE_DIST'
9705 , p_adr_type_code => 'S'
9706 , p_component_type => l_component_type
9707 , p_component_code => l_component_code
9708 , p_component_type_code => l_component_type_code
9709 , p_component_appl_id => l_component_appl_id
9710 , p_amb_context_code => l_amb_context_code
9711 , p_side => 'NA'
9712 );
9713
9714
9715 --
9716 --
9717 END IF;
9718 --
9719 -- Bug 4922099
9720 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
9721 (NVL(l_enc_upg_option, 'N') = 'O')
9722 ) AND
9723 (l_bflow_method_code = 'PRIOR_ENTRY')
9724 )
9725 THEN
9726 IF
9727 --
9728 1 = 2
9729 --
9730 THEN
9731 xla_accounting_err_pkg.build_message
9732 (p_appli_s_name => 'XLA'
9733 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
9734 ,p_token_1 => 'LINE_NUMBER'
9735 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
9736 ,p_token_2 => 'LINE_TYPE_NAME'
9737 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
9738 l_component_type
9739 ,l_component_code
9740 ,l_component_type_code
9741 ,l_component_appl_id
9742 ,l_amb_context_code
9743 ,l_entity_code
9744 ,l_event_class_code
9745 )
9746 ,p_token_3 => 'OWNER'
9747 ,p_value_3 => xla_lookups_pkg.get_meaning(
9748 p_lookup_type => 'XLA_OWNER_TYPE'
9749 ,p_lookup_code => l_component_type_code
9750 )
9751 ,p_token_4 => 'PRODUCT_NAME'
9752 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
9753 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
9754 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
9755 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
9756 ,p_ae_header_id => NULL
9757 );
9758
9759 IF (C_LEVEL_ERROR>= g_log_level) THEN
9760 trace
9761 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
9762 ,p_level => C_LEVEL_ERROR
9763 ,p_module => l_log_module);
9764 END IF;
9765 END IF;
9766 END IF;
9767 --
9768 --
9769 ------------------------------------------------------------------------------------------------
9770 -- 4219869 Business Flow
9771 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
9772 -- Prior Entry. Currently, the following code is always generated.
9773 ------------------------------------------------------------------------------------------------
9774 XLA_AE_LINES_PKG.ValidateCurrentLine;
9778 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
9775
9776 ------------------------------------------------------------------------------------
9777 -- 4219869 Business Flow
9779 ------------------------------------------------------------------------------------
9780 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
9781
9782 ----------------------------------------------------------------------------------
9783 -- 4219869 Business Flow
9784 -- Update journal entry status -- Need to generate this within IF <condition>
9785 ----------------------------------------------------------------------------------
9786 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
9787 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
9788 ,p_balance_type_code => l_balance_type_code
9789 );
9790
9791 -------------------------------------------------------------------------------------------
9792 -- 4262811 - Generate the Accrual Reversal lines
9793 -------------------------------------------------------------------------------------------
9794 BEGIN
9795 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
9796 (g_array_event(p_event_id).array_value_num('header_index'));
9797 IF l_acc_rev_flag IS NULL THEN
9798 l_acc_rev_flag := 'N';
9799 END IF;
9800 EXCEPTION
9801 WHEN OTHERS THEN
9802 l_acc_rev_flag := 'N';
9803 END;
9804 --
9805 IF (l_acc_rev_flag = 'Y') THEN
9806
9807 -- 4645092 ------------------------------------------------------------------------------
9808 -- To allow MPA report to determine if it should generate report process
9809 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
9810 ------------------------------------------------------------------------------------------
9811
9812 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
9813 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
9814 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
9815 -- call ADRs
9816 -- Bug 4922099
9817 --
9818 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
9819 (NVL(l_actual_upg_option, 'N') = 'O') OR
9820 (NVL(l_enc_upg_option, 'N') = 'O')
9821 )
9822 THEN
9823 NULL;
9824 --
9825 --
9826
9827 l_ccid := AcctDerRule_35(
9828 p_application_id => p_application_id
9829 , p_ae_header_id => l_ae_header_id
9830 , p_source_25 => p_source_25
9831 , x_transaction_coa_id => l_adr_transaction_coa_id
9832 , x_accounting_coa_id => l_adr_accounting_coa_id
9833 , x_value_type_code => l_adr_value_type_code
9834 , p_side => 'NA'
9835 );
9836
9837 xla_ae_lines_pkg.set_ccid(
9838 p_code_combination_id => l_ccid
9839 , p_value_type_code => l_adr_value_type_code
9840 , p_transaction_coa_id => l_adr_transaction_coa_id
9841 , p_accounting_coa_id => l_adr_accounting_coa_id
9842 , p_adr_code => 'AP_INVOICE_DIST'
9843 , p_adr_type_code => 'S'
9844 , p_component_type => l_component_type
9845 , p_component_code => l_component_code
9846 , p_component_type_code => l_component_type_code
9847 , p_component_appl_id => l_component_appl_id
9848 , p_amb_context_code => l_amb_context_code
9849 , p_side => 'NA'
9850 );
9851
9852
9853 --
9854 --
9855 END IF;
9856
9857 --
9858 -- Update the line information that should be overwritten
9859 --
9860 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
9861 p_header_num => 1);
9862 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
9863
9864 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
9865
9866 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
9867 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
9868 END IF;
9869
9870 --
9871 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
9872 --
9873 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
9874 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
9875 ELSE
9876 ---------------------------------------------------------------------------------------------------
9877 -- 4262811a Switch Sign
9878 ---------------------------------------------------------------------------------------------------
9879 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
9880 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
9881 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
9882 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
9883 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
9884 -- 5132302
9888 END IF;
9885 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
9886 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
9887
9889
9890 -- 4955764
9891 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
9892 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
9893
9894
9895 XLA_AE_LINES_PKG.ValidateCurrentLine;
9896 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
9897
9898 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
9899 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
9900 ,p_balance_type_code => l_balance_type_code);
9901
9902 END IF;
9903
9904 -----------------------------------------------------------------------------------------
9905 -- 4262811 Multiperiod Accounting
9906 -----------------------------------------------------------------------------------------
9907 -- No MPA option is assigned.
9908
9909
9910 END IF;
9911 END IF;
9912 --
9913
9914 --
9915 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
9916 trace
9917 (p_msg => 'END of AcctLineType_58'
9918 ,p_level => C_LEVEL_PROCEDURE
9919 ,p_module => l_log_module);
9920 END IF;
9921 --
9922 EXCEPTION
9923 WHEN xla_exceptions_pkg.application_exception THEN
9924 RAISE;
9925 WHEN OTHERS THEN
9926 xla_exceptions_pkg.raise_message
9927 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_58');
9928 END AcctLineType_58;
9929 --
9930
9931 ---------------------------------------
9932 --
9933 -- PRIVATE FUNCTION
9934 -- AcctLineType_59
9935 --
9936 ---------------------------------------
9937 PROCEDURE AcctLineType_59 (
9938 p_application_id IN NUMBER
9939 ,p_event_id IN NUMBER
9940 ,p_calculate_acctd_flag IN VARCHAR2
9941 ,p_calculate_g_l_flag IN VARCHAR2
9942 ,p_actual_flag IN OUT VARCHAR2
9943 ,p_balance_type_code OUT VARCHAR2
9944 ,p_gain_or_loss_ref OUT VARCHAR2
9945
9946 --Invoice Distribution Description
9947 , p_source_1 IN VARCHAR2
9948 --Invoice Distribution Ledger Amount
9949 , p_source_16 IN NUMBER
9950 --Invoice Distribution Account
9951 , p_source_25 IN NUMBER
9952 --Invoice Distribution Type
9953 , p_source_28 IN VARCHAR2
9954 , p_source_28_meaning IN VARCHAR2
9955 --Accounting Reversal Indicator
9956 , p_source_58 IN VARCHAR2
9957 --Distribution Link Type
9958 , p_source_60 IN VARCHAR2
9959 --Allocation to Main Distribution Identifier
9960 , p_source_62 IN NUMBER
9961 --Invoice Identifier
9962 , p_source_63 IN NUMBER
9963 --Invoice Distribution Identifier
9964 , p_source_69 IN NUMBER
9965 --Payables Encumbrance Upgrade Credit Account
9966 , p_source_70 IN NUMBER
9967 --Payables Encumbrance Upgrade Credit Amount
9968 , p_source_71 IN NUMBER
9969 --Invoice Currency Code
9970 , p_source_72 IN VARCHAR2
9971 --Payables Encumbrance Upgrade Credit Base Amount
9972 , p_source_73 IN NUMBER
9973 --Payables Encumbrance Upgrade Debit Account
9974 , p_source_74 IN NUMBER
9975 --Payables Encumbrance Upgrade Debit Amount
9976 , p_source_75 IN NUMBER
9977 --Payables Encumbrance Upgrade Debit Base Amount
9978 , p_source_76 IN NUMBER
9979 --Payables Encumbrance Upgrade Option
9980 , p_source_77 IN VARCHAR2
9981 --Invoice Distribution Amount
9982 , p_source_78 IN NUMBER
9983 --Purchase Order Exchange Rate Date
9984 , p_source_79 IN DATE
9985 --Purchase Order Exchange Rate
9986 , p_source_80 IN NUMBER
9987 --Purchase Order Exchange Rate Type
9988 , p_source_81 IN VARCHAR2
9989 --Deferred Accounting End Date
9990 , p_source_82 IN DATE
9991 --Deferred Accounting Option
9992 , p_source_83 IN VARCHAR2
9993 --Deferred Accounting Start Date
9994 , p_source_84 IN DATE
9995 --Override Accounted Amount Indicator
9996 , p_source_85 IN VARCHAR2
9997 , p_source_85_meaning IN VARCHAR2
9998 --Invoice Supplier Identifier
9999 , p_source_86 IN NUMBER
10000 --Invoice Supplier Site Identifier
10001 , p_source_87 IN NUMBER
10002 --Third Party Type
10003 , p_source_88 IN VARCHAR2
10004 --Parent Reversal Identifier
10005 , p_source_89 IN NUMBER
10006 --Invoice Distribution Statistical Amount
10007 , p_source_90 IN NUMBER
10008 --Invoice Distribution Tax Line Identifier
10009 , p_source_91 IN NUMBER
10010 --Invoice Distribution Tax Distribution Identifier from Tax
10011 , p_source_92 IN NUMBER
10012 --Invoice Distribution Summary Tax Line Identifier
10013 , p_source_93 IN NUMBER
10014 --Payables Upgrade Credit Encumbrance Type Identifier
10015 , p_source_94 IN NUMBER
10016 --Payables Upgrade Debit Encumbrance Type Identifier
10017 , p_source_95 IN NUMBER
10018 --Business Flow Accounts Payable Application Identifier
10019 , p_source_96 IN NUMBER
10020 --Business Flow Invoice Distribution Type
10024 --Business Flow Invoice Distribution Identifier
10021 , p_source_97 IN VARCHAR2
10022 --Business Flow Invoice Entity Code
10023 , p_source_98 IN VARCHAR2
10025 , p_source_99 IN NUMBER
10026 --Business Flow Invoice Identifier
10027 , p_source_100 IN NUMBER
10028 )
10029 IS
10030
10031 l_component_type VARCHAR2(80);
10032 l_component_code VARCHAR2(30);
10033 l_component_type_code VARCHAR2(1);
10034 l_component_appl_id INTEGER;
10035 l_amb_context_code VARCHAR2(30);
10036 l_entity_code VARCHAR2(30);
10037 l_event_class_code VARCHAR2(30);
10038 l_ae_header_id NUMBER;
10039 l_event_type_code VARCHAR2(30);
10040 l_line_definition_code VARCHAR2(30);
10041 l_line_definition_owner_code VARCHAR2(1);
10042 --
10043 -- adr variables
10044 l_segment VARCHAR2(30);
10045 l_ccid NUMBER;
10046 l_adr_transaction_coa_id NUMBER;
10047 l_adr_accounting_coa_id NUMBER;
10048 l_adr_flexfield_segment_code VARCHAR2(30);
10049 l_adr_flex_value_set_id NUMBER;
10050 l_adr_value_type_code VARCHAR2(30);
10051 l_adr_value_combination_id NUMBER;
10052 l_adr_value_segment_code VARCHAR2(30);
10053
10054 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
10055 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
10056 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
10057 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
10058
10059 -- 4262811 Variables ------------------------------------------------------------------------------------------
10060 l_entered_amt_idx NUMBER;
10061 l_accted_amt_idx NUMBER;
10062 l_acc_rev_flag VARCHAR2(1);
10063 l_accrual_line_num NUMBER;
10064 l_tmp_amt NUMBER;
10065 l_acc_rev_natural_side_code VARCHAR2(1);
10066
10067 l_num_entries NUMBER;
10068 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
10069 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
10070 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
10071 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
10072 l_recog_line_1 NUMBER;
10073 l_recog_line_2 NUMBER;
10074
10075 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
10076 l_bflow_applied_to_amt NUMBER; -- 5132302
10077 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
10078
10079 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
10080
10081 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
10082 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
10083
10084 ---------------------------------------------------------------------------------------------------------------
10085
10086
10087 --
10088 -- bulk performance
10089 --
10090 l_balance_type_code VARCHAR2(1);
10091 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
10092 l_log_module VARCHAR2(240);
10093
10094 --
10095 -- Upgrade strategy
10096 --
10097 l_actual_upg_option VARCHAR2(1);
10098 l_enc_upg_option VARCHAR2(1);
10099
10100 --
10101 BEGIN
10102 --
10103 IF g_log_enabled THEN
10104 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_59';
10105 END IF;
10106 --
10107 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
10108
10109 trace
10110 (p_msg => 'BEGIN of AcctLineType_59'
10111 ,p_level => C_LEVEL_PROCEDURE
10112 ,p_module => l_log_module);
10113
10114 END IF;
10115 --
10116 l_component_type := 'AMB_JLT';
10117 l_component_code := 'AP_ACCRUAL_PREPAY';
10118 l_component_type_code := 'S';
10119 l_component_appl_id := 200;
10120 l_amb_context_code := 'DEFAULT';
10121 l_entity_code := 'AP_INVOICES';
10122 l_event_class_code := 'PREPAYMENTS';
10123 l_event_type_code := 'PREPAYMENTS_ALL';
10124 l_line_definition_owner_code := 'S';
10125 l_line_definition_code := 'ACCRUAL_PREPAYMENTS_ALL';
10126 --
10127 l_balance_type_code := 'A';
10128 l_segment := NULL;
10129 l_ccid := NULL;
10130 l_adr_transaction_coa_id := NULL;
10131 l_adr_accounting_coa_id := NULL;
10132 l_adr_flexfield_segment_code := NULL;
10133 l_adr_flex_value_set_id := NULL;
10134 l_adr_value_type_code := NULL;
10135 l_adr_value_combination_id := NULL;
10136 l_adr_value_segment_code := NULL;
10137
10138 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
10139 l_bflow_class_code := 'AP_PREPAY'; -- 4219869 Business Flow
10140 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
10141 l_budgetary_control_flag := 'N';
10142
10143 l_bflow_applied_to_amt_idx := NULL; -- 5132302
10144 l_bflow_applied_to_amt := NULL; -- 5132302
10145 l_entered_amt_idx := NULL; -- 4262811
10146 l_accted_amt_idx := NULL; -- 4262811
10147 l_acc_rev_flag := NULL; -- 4262811
10151
10148 l_accrual_line_num := NULL; -- 4262811
10149 l_tmp_amt := NULL; -- 4262811
10150 --
10152 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
10153 l_balance_type_code <> 'B' THEN
10154 IF NVL(p_source_28,'
10155 ') = 'RETROACCRUAL' OR
10156 NVL(p_source_28,'
10157 ') = 'ACCRUAL'
10158 THEN
10159
10160 --
10161 XLA_AE_LINES_PKG.SetNewLine;
10162
10163 p_balance_type_code := l_balance_type_code;
10164 -- set the flag so later we will know whether the gain loss line needs to be created
10165
10166 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
10167 p_actual_flag :='A';
10168 END IF;
10169
10170 --
10171 -- bulk performance
10172 --
10173 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
10174 p_header_num => 0); -- 4262811
10175 --
10176 -- set accounting line options
10177 --
10178 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
10179 p_natural_side_code => 'D'
10180 , p_gain_or_loss_flag => 'N'
10181 , p_gl_transfer_mode_code => 'S'
10182 , p_acct_entry_type_code => 'A'
10183 , p_switch_side_flag => 'Y'
10184 , p_merge_duplicate_code => 'A'
10185 );
10186 --
10187 l_acc_rev_natural_side_code := 'C'; -- 4262811
10188 --
10189 --
10190 -- set accounting line type info
10191 --
10192 xla_ae_lines_pkg.SetAcctLineType
10193 (p_component_type => l_component_type
10194 ,p_event_type_code => l_event_type_code
10195 ,p_line_definition_owner_code => l_line_definition_owner_code
10196 ,p_line_definition_code => l_line_definition_code
10197 ,p_accounting_line_code => l_component_code
10198 ,p_accounting_line_type_code => l_component_type_code
10199 ,p_accounting_line_appl_id => l_component_appl_id
10200 ,p_amb_context_code => l_amb_context_code
10201 ,p_entity_code => l_entity_code
10202 ,p_event_class_code => l_event_class_code);
10203 --
10204 -- set accounting class
10205 --
10206 xla_ae_lines_pkg.SetAcctClass(
10207 p_accounting_class_code => 'ACCRUAL'
10208 , p_ae_header_id => l_ae_header_id
10209 );
10210
10211 --
10212 -- set rounding class
10213 --
10214 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
10215 'ACCRUAL';
10216
10217 --
10218 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
10219 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
10220 --
10221 -- bulk performance
10222 --
10223 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
10224
10225 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
10226 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
10227
10228 -- 4955764
10229 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
10230 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
10231
10232 -- 4458381 Public Sector Enh
10233
10234 --
10235 -- set accounting attributes for the line type
10236 --
10237 l_entered_amt_idx := 23;
10238 l_accted_amt_idx := 28;
10239 l_bflow_applied_to_amt_idx := NULL; -- 5132302
10240 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
10241 l_rec_acct_attrs.array_char_value(1) := p_source_58;
10242 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
10243 l_rec_acct_attrs.array_num_value(2) :=
10244 xla_ae_sources_pkg.GetSystemSourceNum(
10245 p_source_code => 'XLA_EVENT_APPL_ID'
10246 , p_source_type_code => 'Y'
10247 , p_source_application_id => 602
10248 );
10249 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
10250 l_rec_acct_attrs.array_char_value(3) := p_source_60;
10251 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
10252 l_rec_acct_attrs.array_char_value(4) :=
10253 xla_ae_sources_pkg.GetSystemSourceChar(
10254 p_source_code => 'XLA_ENTITY_CODE'
10255 , p_source_type_code => 'Y'
10256 , p_source_application_id => 602
10257 );
10258 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
10259 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_62);
10260 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
10261 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_63);
10262 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
10263 l_rec_acct_attrs.array_num_value(7) := p_source_96;
10264 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
10265 l_rec_acct_attrs.array_char_value(8) := p_source_97;
10266 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
10267 l_rec_acct_attrs.array_char_value(9) := p_source_98;
10268 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
10272 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
10269 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_99);
10270 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
10271 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_100);
10273 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_69);
10274 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
10275 l_rec_acct_attrs.array_char_value(13) := p_source_60;
10276 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
10277 l_rec_acct_attrs.array_num_value(14) := p_source_70;
10278 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
10279 l_rec_acct_attrs.array_num_value(15) := p_source_71;
10280 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
10281 l_rec_acct_attrs.array_char_value(16) := p_source_72;
10282 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
10283 l_rec_acct_attrs.array_num_value(17) := p_source_73;
10284 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
10285 l_rec_acct_attrs.array_num_value(18) := p_source_74;
10286 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
10287 l_rec_acct_attrs.array_num_value(19) := p_source_75;
10288 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
10289 l_rec_acct_attrs.array_char_value(20) := p_source_72;
10290 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
10291 l_rec_acct_attrs.array_num_value(21) := p_source_76;
10292 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
10293 l_rec_acct_attrs.array_char_value(22) := p_source_77;
10294 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
10295 l_rec_acct_attrs.array_num_value(23) := p_source_78;
10296 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
10297 l_rec_acct_attrs.array_char_value(24) := p_source_72;
10298 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
10299 l_rec_acct_attrs.array_date_value(25) := p_source_79;
10300 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
10301 l_rec_acct_attrs.array_num_value(26) := p_source_80;
10302 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
10303 l_rec_acct_attrs.array_char_value(27) := p_source_81;
10304 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
10305 l_rec_acct_attrs.array_num_value(28) := p_source_16;
10306 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
10307 l_rec_acct_attrs.array_date_value(29) := p_source_82;
10308 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
10309 l_rec_acct_attrs.array_char_value(30) := p_source_83;
10310 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
10311 l_rec_acct_attrs.array_date_value(31) := p_source_84;
10312 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
10313 l_rec_acct_attrs.array_char_value(32) := p_source_85;
10314 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
10315 l_rec_acct_attrs.array_num_value(33) := p_source_86;
10316 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
10317 l_rec_acct_attrs.array_num_value(34) := p_source_87;
10318 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
10319 l_rec_acct_attrs.array_char_value(35) := p_source_88;
10320 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
10321 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_89);
10322 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
10323 l_rec_acct_attrs.array_char_value(37) := p_source_60;
10324 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
10325 l_rec_acct_attrs.array_num_value(38) := p_source_90;
10326 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
10327 l_rec_acct_attrs.array_num_value(39) := p_source_91;
10328 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
10329 l_rec_acct_attrs.array_num_value(40) := p_source_92;
10330 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
10331 l_rec_acct_attrs.array_num_value(41) := p_source_93;
10332 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
10333 l_rec_acct_attrs.array_num_value(42) := p_source_94;
10334 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
10335 l_rec_acct_attrs.array_num_value(43) := p_source_95;
10336
10337 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
10338 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
10339
10340 ---------------------------------------------------------------------------------------------------------------
10341 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
10342 ---------------------------------------------------------------------------------------------------------------
10343 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
10344
10345 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
10346 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
10347
10348 IF xla_accounting_cache_pkg.GetValueChar
10349 (p_source_code => 'LEDGER_CATEGORY_CODE'
10350 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
10354 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
10351 AND l_bflow_method_code = 'PRIOR_ENTRY'
10352 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
10353 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
10355 )
10356 THEN
10357 xla_ae_lines_pkg.BflowUpgEntry
10358 (p_business_method_code => l_bflow_method_code
10359 ,p_business_class_code => l_bflow_class_code
10360 ,p_balance_type => l_balance_type_code);
10361 ELSE
10362 NULL;
10363 -- No business flow processing for business flow method of NONE.
10364 END IF;
10365
10366 --
10367 -- call analytical criteria
10368 --
10369
10370 --
10371 -- call description
10372 --
10373
10374 xla_ae_lines_pkg.SetLineDescription(
10375 p_ae_header_id => l_ae_header_id
10376 ,p_description => Description_2 (
10377 p_application_id => p_application_id
10378 , p_ae_header_id => l_ae_header_id
10379 , p_source_1 => p_source_1
10380 )
10381 );
10382
10383
10384 --
10385 -- call ADRs
10386 -- Bug 4922099
10387 --
10388 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
10389 (NVL(l_actual_upg_option, 'N') = 'O') OR
10390 (NVL(l_enc_upg_option, 'N') = 'O')
10391 )
10392 THEN
10393 NULL;
10394 --
10395 --
10396
10397 l_ccid := AcctDerRule_35(
10398 p_application_id => p_application_id
10399 , p_ae_header_id => l_ae_header_id
10400 , p_source_25 => p_source_25
10401 , x_transaction_coa_id => l_adr_transaction_coa_id
10402 , x_accounting_coa_id => l_adr_accounting_coa_id
10403 , x_value_type_code => l_adr_value_type_code
10404 , p_side => 'NA'
10405 );
10406
10407 xla_ae_lines_pkg.set_ccid(
10408 p_code_combination_id => l_ccid
10409 , p_value_type_code => l_adr_value_type_code
10410 , p_transaction_coa_id => l_adr_transaction_coa_id
10411 , p_accounting_coa_id => l_adr_accounting_coa_id
10412 , p_adr_code => 'AP_INVOICE_DIST'
10413 , p_adr_type_code => 'S'
10414 , p_component_type => l_component_type
10415 , p_component_code => l_component_code
10416 , p_component_type_code => l_component_type_code
10417 , p_component_appl_id => l_component_appl_id
10418 , p_amb_context_code => l_amb_context_code
10419 , p_side => 'NA'
10420 );
10421
10422
10423 --
10424 --
10425 END IF;
10426 --
10427 -- Bug 4922099
10428 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
10429 (NVL(l_enc_upg_option, 'N') = 'O')
10430 ) AND
10431 (l_bflow_method_code = 'PRIOR_ENTRY')
10432 )
10433 THEN
10434 IF
10435 --
10436 1 = 2
10437 --
10438 THEN
10439 xla_accounting_err_pkg.build_message
10440 (p_appli_s_name => 'XLA'
10441 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
10442 ,p_token_1 => 'LINE_NUMBER'
10443 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
10444 ,p_token_2 => 'LINE_TYPE_NAME'
10445 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
10446 l_component_type
10447 ,l_component_code
10448 ,l_component_type_code
10449 ,l_component_appl_id
10450 ,l_amb_context_code
10451 ,l_entity_code
10452 ,l_event_class_code
10453 )
10454 ,p_token_3 => 'OWNER'
10455 ,p_value_3 => xla_lookups_pkg.get_meaning(
10456 p_lookup_type => 'XLA_OWNER_TYPE'
10457 ,p_lookup_code => l_component_type_code
10458 )
10459 ,p_token_4 => 'PRODUCT_NAME'
10460 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
10461 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
10462 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
10463 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
10464 ,p_ae_header_id => NULL
10465 );
10466
10467 IF (C_LEVEL_ERROR>= g_log_level) THEN
10471 ,p_module => l_log_module);
10468 trace
10469 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
10470 ,p_level => C_LEVEL_ERROR
10472 END IF;
10473 END IF;
10474 END IF;
10475 --
10476 --
10477 ------------------------------------------------------------------------------------------------
10478 -- 4219869 Business Flow
10479 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
10480 -- Prior Entry. Currently, the following code is always generated.
10481 ------------------------------------------------------------------------------------------------
10482 XLA_AE_LINES_PKG.ValidateCurrentLine;
10483
10484 ------------------------------------------------------------------------------------
10485 -- 4219869 Business Flow
10486 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
10487 ------------------------------------------------------------------------------------
10488 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
10489
10490 ----------------------------------------------------------------------------------
10491 -- 4219869 Business Flow
10492 -- Update journal entry status -- Need to generate this within IF <condition>
10493 ----------------------------------------------------------------------------------
10494 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
10495 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
10496 ,p_balance_type_code => l_balance_type_code
10497 );
10498
10499 -------------------------------------------------------------------------------------------
10500 -- 4262811 - Generate the Accrual Reversal lines
10501 -------------------------------------------------------------------------------------------
10502 BEGIN
10503 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
10504 (g_array_event(p_event_id).array_value_num('header_index'));
10505 IF l_acc_rev_flag IS NULL THEN
10506 l_acc_rev_flag := 'N';
10507 END IF;
10508 EXCEPTION
10509 WHEN OTHERS THEN
10510 l_acc_rev_flag := 'N';
10511 END;
10512 --
10513 IF (l_acc_rev_flag = 'Y') THEN
10514
10515 -- 4645092 ------------------------------------------------------------------------------
10516 -- To allow MPA report to determine if it should generate report process
10517 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
10518 ------------------------------------------------------------------------------------------
10519
10520 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
10521 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
10522 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
10523 -- call ADRs
10524 -- Bug 4922099
10525 --
10526 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
10527 (NVL(l_actual_upg_option, 'N') = 'O') OR
10528 (NVL(l_enc_upg_option, 'N') = 'O')
10529 )
10530 THEN
10531 NULL;
10532 --
10533 --
10534
10535 l_ccid := AcctDerRule_35(
10536 p_application_id => p_application_id
10537 , p_ae_header_id => l_ae_header_id
10538 , p_source_25 => p_source_25
10539 , x_transaction_coa_id => l_adr_transaction_coa_id
10540 , x_accounting_coa_id => l_adr_accounting_coa_id
10541 , x_value_type_code => l_adr_value_type_code
10542 , p_side => 'NA'
10543 );
10544
10545 xla_ae_lines_pkg.set_ccid(
10546 p_code_combination_id => l_ccid
10547 , p_value_type_code => l_adr_value_type_code
10548 , p_transaction_coa_id => l_adr_transaction_coa_id
10549 , p_accounting_coa_id => l_adr_accounting_coa_id
10550 , p_adr_code => 'AP_INVOICE_DIST'
10551 , p_adr_type_code => 'S'
10552 , p_component_type => l_component_type
10553 , p_component_code => l_component_code
10554 , p_component_type_code => l_component_type_code
10555 , p_component_appl_id => l_component_appl_id
10556 , p_amb_context_code => l_amb_context_code
10557 , p_side => 'NA'
10558 );
10559
10560
10561 --
10562 --
10563 END IF;
10564
10565 --
10566 -- Update the line information that should be overwritten
10567 --
10568 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
10569 p_header_num => 1);
10570 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
10571
10572 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
10573
10574 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
10575 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
10576 END IF;
10577
10578 --
10579 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
10580 --
10581 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
10585 -- 4262811a Switch Sign
10582 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
10583 ELSE
10584 ---------------------------------------------------------------------------------------------------
10586 ---------------------------------------------------------------------------------------------------
10587 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
10588 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
10589 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
10590 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
10591 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
10592 -- 5132302
10593 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
10594 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
10595
10596 END IF;
10597
10598 -- 4955764
10599 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
10600 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
10601
10602
10603 XLA_AE_LINES_PKG.ValidateCurrentLine;
10604 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
10605
10606 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
10607 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
10608 ,p_balance_type_code => l_balance_type_code);
10609
10610 END IF;
10611
10612 -----------------------------------------------------------------------------------------
10613 -- 4262811 Multiperiod Accounting
10614 -----------------------------------------------------------------------------------------
10615 -- No MPA option is assigned.
10616
10617
10618 END IF;
10619 END IF;
10620 --
10621
10622 --
10623 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
10624 trace
10625 (p_msg => 'END of AcctLineType_59'
10626 ,p_level => C_LEVEL_PROCEDURE
10627 ,p_module => l_log_module);
10628 END IF;
10629 --
10630 EXCEPTION
10631 WHEN xla_exceptions_pkg.application_exception THEN
10632 RAISE;
10633 WHEN OTHERS THEN
10634 xla_exceptions_pkg.raise_message
10635 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_59');
10636 END AcctLineType_59;
10637 --
10638
10639 ---------------------------------------
10640 --
10641 -- PRIVATE FUNCTION
10642 -- AcctLineType_60
10643 --
10644 ---------------------------------------
10645 PROCEDURE AcctLineType_60 (
10646 p_application_id IN NUMBER
10647 ,p_event_id IN NUMBER
10648 ,p_calculate_acctd_flag IN VARCHAR2
10649 ,p_calculate_g_l_flag IN VARCHAR2
10650 ,p_actual_flag IN OUT VARCHAR2
10651 ,p_balance_type_code OUT VARCHAR2
10652 ,p_gain_or_loss_ref OUT VARCHAR2
10653
10654 --Invoice Distribution Description
10655 , p_source_1 IN VARCHAR2
10656 --Automatic Offsets Value
10657 , p_source_10 IN VARCHAR2
10658 , p_source_10_meaning IN VARCHAR2
10659 --Purchase Order Rate Variance Gain Account
10660 , p_source_15 IN NUMBER
10661 --Invoice Distribution Ledger Amount
10662 , p_source_16 IN NUMBER
10663 --Destination Type of the PO Distribution
10664 , p_source_17 IN VARCHAR2
10665 , p_source_17_meaning IN VARCHAR2
10666 --Purchase Order Rate Variance Loss Account
10667 , p_source_18 IN NUMBER
10668 --Invoice Distribution Account
10669 , p_source_25 IN NUMBER
10670 --Invoice Distribution Type
10671 , p_source_28 IN VARCHAR2
10672 , p_source_28_meaning IN VARCHAR2
10673 --Automatic Offsets Flag
10674 , p_source_43 IN VARCHAR2
10675 , p_source_43_meaning IN VARCHAR2
10676 --Accounting Reversal Indicator
10677 , p_source_58 IN VARCHAR2
10678 --Distribution Link Type
10679 , p_source_60 IN VARCHAR2
10680 --Allocation to Main Distribution Identifier
10681 , p_source_62 IN NUMBER
10682 --Invoice Identifier
10683 , p_source_63 IN NUMBER
10684 --Invoice Distribution Identifier
10685 , p_source_69 IN NUMBER
10686 --Payables Encumbrance Upgrade Credit Account
10687 , p_source_70 IN NUMBER
10688 --Payables Encumbrance Upgrade Credit Amount
10689 , p_source_71 IN NUMBER
10690 --Invoice Currency Code
10691 , p_source_72 IN VARCHAR2
10692 --Payables Encumbrance Upgrade Credit Base Amount
10693 , p_source_73 IN NUMBER
10694 --Payables Encumbrance Upgrade Debit Account
10695 , p_source_74 IN NUMBER
10696 --Payables Encumbrance Upgrade Debit Amount
10697 , p_source_75 IN NUMBER
10698 --Payables Encumbrance Upgrade Debit Base Amount
10699 , p_source_76 IN NUMBER
10700 --Payables Encumbrance Upgrade Option
10701 , p_source_77 IN VARCHAR2
10702 --Deferred Accounting End Date
10703 , p_source_82 IN DATE
10704 --Deferred Accounting Option
10705 , p_source_83 IN VARCHAR2
10709 , p_source_85 IN VARCHAR2
10706 --Deferred Accounting Start Date
10707 , p_source_84 IN DATE
10708 --Override Accounted Amount Indicator
10710 , p_source_85_meaning IN VARCHAR2
10711 --Invoice Supplier Identifier
10712 , p_source_86 IN NUMBER
10713 --Invoice Supplier Site Identifier
10714 , p_source_87 IN NUMBER
10715 --Third Party Type
10716 , p_source_88 IN VARCHAR2
10717 --Parent Reversal Identifier
10718 , p_source_89 IN NUMBER
10719 --Invoice Distribution Statistical Amount
10720 , p_source_90 IN NUMBER
10721 --Invoice Distribution Tax Line Identifier
10722 , p_source_91 IN NUMBER
10723 --Invoice Distribution Tax Distribution Identifier from Tax
10724 , p_source_92 IN NUMBER
10725 --Invoice Distribution Summary Tax Line Identifier
10726 , p_source_93 IN NUMBER
10727 --Payables Upgrade Credit Encumbrance Type Identifier
10728 , p_source_94 IN NUMBER
10729 --Payables Upgrade Debit Encumbrance Type Identifier
10730 , p_source_95 IN NUMBER
10731 --Business Flow Accounts Payable Application Identifier
10732 , p_source_96 IN NUMBER
10733 --Business Flow Invoice Distribution Type
10734 , p_source_97 IN VARCHAR2
10735 --Business Flow Invoice Entity Code
10736 , p_source_98 IN VARCHAR2
10737 --Business Flow Invoice Distribution Identifier
10738 , p_source_99 IN NUMBER
10739 --Business Flow Invoice Identifier
10740 , p_source_100 IN NUMBER
10741 )
10742 IS
10743
10744 l_component_type VARCHAR2(80);
10745 l_component_code VARCHAR2(30);
10746 l_component_type_code VARCHAR2(1);
10747 l_component_appl_id INTEGER;
10748 l_amb_context_code VARCHAR2(30);
10749 l_entity_code VARCHAR2(30);
10750 l_event_class_code VARCHAR2(30);
10751 l_ae_header_id NUMBER;
10752 l_event_type_code VARCHAR2(30);
10753 l_line_definition_code VARCHAR2(30);
10754 l_line_definition_owner_code VARCHAR2(1);
10755 --
10756 -- adr variables
10757 l_segment VARCHAR2(30);
10758 l_ccid NUMBER;
10759 l_adr_transaction_coa_id NUMBER;
10760 l_adr_accounting_coa_id NUMBER;
10761 l_adr_flexfield_segment_code VARCHAR2(30);
10762 l_adr_flex_value_set_id NUMBER;
10763 l_adr_value_type_code VARCHAR2(30);
10764 l_adr_value_combination_id NUMBER;
10765 l_adr_value_segment_code VARCHAR2(30);
10766
10767 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
10768 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
10769 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
10770 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
10771
10772 -- 4262811 Variables ------------------------------------------------------------------------------------------
10773 l_entered_amt_idx NUMBER;
10774 l_accted_amt_idx NUMBER;
10775 l_acc_rev_flag VARCHAR2(1);
10776 l_accrual_line_num NUMBER;
10777 l_tmp_amt NUMBER;
10778 l_acc_rev_natural_side_code VARCHAR2(1);
10779
10780 l_num_entries NUMBER;
10781 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
10782 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
10783 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
10784 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
10785 l_recog_line_1 NUMBER;
10786 l_recog_line_2 NUMBER;
10787
10788 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
10789 l_bflow_applied_to_amt NUMBER; -- 5132302
10790 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
10791
10792 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
10793
10794 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
10795 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
10796
10797 ---------------------------------------------------------------------------------------------------------------
10798
10799
10800 --
10801 -- bulk performance
10802 --
10803 l_balance_type_code VARCHAR2(1);
10804 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
10805 l_log_module VARCHAR2(240);
10806
10807 --
10808 -- Upgrade strategy
10809 --
10810 l_actual_upg_option VARCHAR2(1);
10811 l_enc_upg_option VARCHAR2(1);
10812
10813 --
10814 BEGIN
10815 --
10816 IF g_log_enabled THEN
10817 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_60';
10818 END IF;
10819 --
10820 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
10821
10822 trace
10823 (p_msg => 'BEGIN of AcctLineType_60'
10824 ,p_level => C_LEVEL_PROCEDURE
10825 ,p_module => l_log_module);
10826
10827 END IF;
10828 --
10829 l_component_type := 'AMB_JLT';
10830 l_component_code := 'AP_ALC_EX_RATE_VAR_CM';
10831 l_component_type_code := 'S';
10832 l_component_appl_id := 200;
10833 l_amb_context_code := 'DEFAULT';
10834 l_entity_code := 'AP_INVOICES';
10835 l_event_class_code := 'CREDIT MEMOS';
10839 --
10836 l_event_type_code := 'CREDIT MEMOS_ALL';
10837 l_line_definition_owner_code := 'S';
10838 l_line_definition_code := 'ACCRUAL_CREDIT MEMOS_ALL';
10840 l_balance_type_code := 'A';
10841 l_segment := NULL;
10842 l_ccid := NULL;
10843 l_adr_transaction_coa_id := NULL;
10844 l_adr_accounting_coa_id := NULL;
10845 l_adr_flexfield_segment_code := NULL;
10846 l_adr_flex_value_set_id := NULL;
10847 l_adr_value_type_code := NULL;
10848 l_adr_value_combination_id := NULL;
10849 l_adr_value_segment_code := NULL;
10850
10851 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
10852 l_bflow_class_code := ''; -- 4219869 Business Flow
10853 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
10854 l_budgetary_control_flag := 'N';
10855
10856 l_bflow_applied_to_amt_idx := NULL; -- 5132302
10857 l_bflow_applied_to_amt := NULL; -- 5132302
10858 l_entered_amt_idx := NULL; -- 4262811
10859 l_accted_amt_idx := NULL; -- 4262811
10860 l_acc_rev_flag := NULL; -- 4262811
10861 l_accrual_line_num := NULL; -- 4262811
10862 l_tmp_amt := NULL; -- 4262811
10863 --
10864 IF NOT ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
10865 (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
10866 return;
10867 END IF;
10868
10869 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
10870 l_balance_type_code <> 'B' THEN
10871 IF NVL(p_source_28,'
10872 ') = 'ACCRUAL'
10873 THEN
10874
10875 --
10876 XLA_AE_LINES_PKG.SetNewLine;
10877
10878 p_balance_type_code := l_balance_type_code;
10879 -- set the flag so later we will know whether the gain loss line needs to be created
10880
10881 IF(l_balance_type_code = 'A' ) THEN
10882 p_actual_flag :='G';
10883 END IF;
10884
10885 --
10886 -- bulk performance
10887 --
10888 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
10889 p_header_num => 0); -- 4262811
10890 --
10891 -- set accounting line options
10892 --
10893 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
10894 p_natural_side_code => 'G'
10895 , p_gain_or_loss_flag => 'N'
10896 , p_gl_transfer_mode_code => 'S'
10897 , p_acct_entry_type_code => 'A'
10898 , p_switch_side_flag => ''
10899 , p_merge_duplicate_code => 'A'
10900 );
10901 --
10902 l_acc_rev_natural_side_code := 'C'; -- 4262811
10903 --
10904 --
10905 -- set accounting line type info
10906 --
10907 xla_ae_lines_pkg.SetAcctLineType
10908 (p_component_type => l_component_type
10909 ,p_event_type_code => l_event_type_code
10910 ,p_line_definition_owner_code => l_line_definition_owner_code
10911 ,p_line_definition_code => l_line_definition_code
10912 ,p_accounting_line_code => l_component_code
10913 ,p_accounting_line_type_code => l_component_type_code
10914 ,p_accounting_line_appl_id => l_component_appl_id
10915 ,p_amb_context_code => l_amb_context_code
10916 ,p_entity_code => l_entity_code
10917 ,p_event_class_code => l_event_class_code);
10918 --
10919 -- set accounting class
10920 --
10921 xla_ae_lines_pkg.SetAcctClass(
10922 p_accounting_class_code => 'EXCHANGE_RATE_VARIANCE'
10923 , p_ae_header_id => l_ae_header_id
10924 );
10925
10926 --
10927 -- set rounding class
10928 --
10929 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
10930 'EXCHANGE_RATE_VARIANCE';
10931
10932 --
10933 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
10934 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
10935 --
10936 -- bulk performance
10937 --
10938 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
10939
10940 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
10941 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
10942
10943 -- 4955764
10944 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
10945 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
10946
10947 -- 4458381 Public Sector Enh
10948
10949 --
10950 -- set accounting attributes for the line type
10951 --
10952 l_entered_amt_idx := NULL;
10953 l_accted_amt_idx := 23;
10954 l_bflow_applied_to_amt_idx := NULL; -- 5132302
10955 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
10956 l_rec_acct_attrs.array_char_value(1) := p_source_58;
10960 p_source_code => 'XLA_EVENT_APPL_ID'
10957 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
10958 l_rec_acct_attrs.array_num_value(2) :=
10959 xla_ae_sources_pkg.GetSystemSourceNum(
10961 , p_source_type_code => 'Y'
10962 , p_source_application_id => 602
10963 );
10964 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
10965 l_rec_acct_attrs.array_char_value(3) := p_source_60;
10966 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
10967 l_rec_acct_attrs.array_char_value(4) :=
10968 xla_ae_sources_pkg.GetSystemSourceChar(
10969 p_source_code => 'XLA_ENTITY_CODE'
10970 , p_source_type_code => 'Y'
10971 , p_source_application_id => 602
10972 );
10973 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
10974 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_62);
10975 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
10976 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_63);
10977 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
10978 l_rec_acct_attrs.array_num_value(7) := p_source_96;
10979 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
10980 l_rec_acct_attrs.array_char_value(8) := p_source_97;
10981 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
10982 l_rec_acct_attrs.array_char_value(9) := p_source_98;
10983 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
10984 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_99);
10985 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
10986 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_100);
10987 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
10988 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_69);
10989 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
10990 l_rec_acct_attrs.array_char_value(13) := p_source_60;
10991 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
10992 l_rec_acct_attrs.array_num_value(14) := p_source_70;
10993 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
10994 l_rec_acct_attrs.array_num_value(15) := p_source_71;
10995 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
10996 l_rec_acct_attrs.array_char_value(16) := p_source_72;
10997 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
10998 l_rec_acct_attrs.array_num_value(17) := p_source_73;
10999 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
11000 l_rec_acct_attrs.array_num_value(18) := p_source_74;
11001 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
11002 l_rec_acct_attrs.array_num_value(19) := p_source_75;
11003 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
11004 l_rec_acct_attrs.array_char_value(20) := p_source_72;
11005 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
11006 l_rec_acct_attrs.array_num_value(21) := p_source_76;
11007 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
11008 l_rec_acct_attrs.array_char_value(22) := p_source_77;
11009 l_rec_acct_attrs.array_acct_attr_code(23) := 'LEDGER_AMOUNT';
11010 l_rec_acct_attrs.array_num_value(23) := p_source_16;
11011 l_rec_acct_attrs.array_acct_attr_code(24) := 'MULTIPERIOD_END_DATE';
11012 l_rec_acct_attrs.array_date_value(24) := p_source_82;
11013 l_rec_acct_attrs.array_acct_attr_code(25) := 'MULTIPERIOD_OPTION';
11014 l_rec_acct_attrs.array_char_value(25) := p_source_83;
11015 l_rec_acct_attrs.array_acct_attr_code(26) := 'MULTIPERIOD_START_DATE';
11016 l_rec_acct_attrs.array_date_value(26) := p_source_84;
11017 l_rec_acct_attrs.array_acct_attr_code(27) := 'OVERRIDE_ACCTD_AMT_FLAG';
11018 l_rec_acct_attrs.array_char_value(27) := p_source_85;
11019 l_rec_acct_attrs.array_acct_attr_code(28) := 'PARTY_ID';
11020 l_rec_acct_attrs.array_num_value(28) := p_source_86;
11021 l_rec_acct_attrs.array_acct_attr_code(29) := 'PARTY_SITE_ID';
11022 l_rec_acct_attrs.array_num_value(29) := p_source_87;
11023 l_rec_acct_attrs.array_acct_attr_code(30) := 'PARTY_TYPE';
11024 l_rec_acct_attrs.array_char_value(30) := p_source_88;
11025 l_rec_acct_attrs.array_acct_attr_code(31) := 'REVERSED_DISTRIBUTION_ID1';
11026 l_rec_acct_attrs.array_num_value(31) := to_char(p_source_89);
11027 l_rec_acct_attrs.array_acct_attr_code(32) := 'REVERSED_DISTRIBUTION_TYPE';
11028 l_rec_acct_attrs.array_char_value(32) := p_source_60;
11029 l_rec_acct_attrs.array_acct_attr_code(33) := 'STATISTICAL_AMOUNT';
11030 l_rec_acct_attrs.array_num_value(33) := p_source_90;
11031 l_rec_acct_attrs.array_acct_attr_code(34) := 'TAX_LINE_REF_ID';
11032 l_rec_acct_attrs.array_num_value(34) := p_source_91;
11033 l_rec_acct_attrs.array_acct_attr_code(35) := 'TAX_REC_NREC_DIST_REF_ID';
11034 l_rec_acct_attrs.array_num_value(35) := p_source_92;
11035 l_rec_acct_attrs.array_acct_attr_code(36) := 'TAX_SUMMARY_LINE_REF_ID';
11036 l_rec_acct_attrs.array_num_value(36) := p_source_93;
11037 l_rec_acct_attrs.array_acct_attr_code(37) := 'UPG_CR_ENC_TYPE_ID';
11038 l_rec_acct_attrs.array_num_value(37) := p_source_94;
11039 l_rec_acct_attrs.array_acct_attr_code(38) := 'UPG_DR_ENC_TYPE_ID';
11040 l_rec_acct_attrs.array_num_value(38) := p_source_95;
11041
11042 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
11043 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
11047 ---------------------------------------------------------------------------------------------------------------
11044
11045 ---------------------------------------------------------------------------------------------------------------
11046 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
11048 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
11049
11050 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
11051 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
11052
11053 IF xla_accounting_cache_pkg.GetValueChar
11054 (p_source_code => 'LEDGER_CATEGORY_CODE'
11055 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
11056 AND l_bflow_method_code = 'PRIOR_ENTRY'
11057 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
11058 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
11059 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
11060 )
11061 THEN
11062 xla_ae_lines_pkg.BflowUpgEntry
11063 (p_business_method_code => l_bflow_method_code
11064 ,p_business_class_code => l_bflow_class_code
11065 ,p_balance_type => l_balance_type_code);
11066 ELSE
11067 NULL;
11068 -- No business flow processing for business flow method of NONE.
11069 END IF;
11070
11071 --
11072 -- call analytical criteria
11073 --
11074
11075 --
11076 -- call description
11077 --
11078
11079 xla_ae_lines_pkg.SetLineDescription(
11080 p_ae_header_id => l_ae_header_id
11081 ,p_description => Description_2 (
11082 p_application_id => p_application_id
11083 , p_ae_header_id => l_ae_header_id
11084 , p_source_1 => p_source_1
11085 )
11086 );
11087
11088
11089 --
11090 -- call ADRs
11091 -- Bug 4922099
11092 --
11093 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
11094 (NVL(l_actual_upg_option, 'N') = 'O') OR
11095 (NVL(l_enc_upg_option, 'N') = 'O')
11096 )
11097 THEN
11098 NULL;
11099 --
11100 --
11101
11102 l_ccid := AcctDerRule_32(
11103 p_application_id => p_application_id
11104 , p_ae_header_id => l_ae_header_id
11105 , p_source_10 => p_source_10
11106 , p_source_10_meaning => p_source_10_meaning
11107 , p_source_15 => p_source_15
11108 , p_source_16 => p_source_16
11109 , p_source_17 => p_source_17
11110 , p_source_17_meaning => p_source_17_meaning
11111 , p_source_18 => p_source_18
11112 , p_source_25 => p_source_25
11113 , p_source_43 => p_source_43
11114 , p_source_43_meaning => p_source_43_meaning
11115 , x_transaction_coa_id => l_adr_transaction_coa_id
11116 , x_accounting_coa_id => l_adr_accounting_coa_id
11117 , x_value_type_code => l_adr_value_type_code
11118 , p_side => 'ALL'
11119 );
11120
11121 xla_ae_lines_pkg.set_ccid(
11122 p_code_combination_id => l_ccid
11123 , p_value_type_code => l_adr_value_type_code
11124 , p_transaction_coa_id => l_adr_transaction_coa_id
11125 , p_accounting_coa_id => l_adr_accounting_coa_id
11126 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
11127 , p_adr_type_code => 'S'
11128 , p_component_type => l_component_type
11129 , p_component_code => l_component_code
11130 , p_component_type_code => l_component_type_code
11131 , p_component_appl_id => l_component_appl_id
11132 , p_amb_context_code => l_amb_context_code
11133 , p_side => 'ALL'
11134 );
11135
11136
11137 l_segment := AcctDerRule_9(
11138 p_application_id => p_application_id
11139 , p_ae_header_id => l_ae_header_id
11140 , p_source_10 => p_source_10
11141 , p_source_10_meaning => p_source_10_meaning
11142 , p_source_15 => p_source_15
11143 , p_source_17 => p_source_17
11144 , p_source_17_meaning => p_source_17_meaning
11145 , x_transaction_coa_id => l_adr_transaction_coa_id
11146 , x_accounting_coa_id => l_adr_accounting_coa_id
11147 , x_flexfield_segment_code => l_adr_flexfield_segment_code
11148 , x_flex_value_set_id => l_adr_flex_value_set_id
11149 , x_value_type_code => l_adr_value_type_code
11150 , x_value_combination_id => l_adr_value_combination_id
11151 , x_value_segment_code => l_adr_value_segment_code
11152 , p_side => 'DEBIT'
11153 , p_override_seg_flag => 'Y'
11154 );
11155
11156 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
11157
11158 xla_ae_lines_pkg.set_segment(
11159 p_to_segment_code => 'GL_ACCOUNT'
11160 , p_segment_value => l_segment
11161 , p_from_segment_code => l_adr_value_segment_code
11162 , p_from_combination_id => l_adr_value_combination_id
11163 , p_value_type_code => l_adr_value_type_code
11164 , p_transaction_coa_id => l_adr_transaction_coa_id
11165 , p_accounting_coa_id => l_adr_accounting_coa_id
11166 , p_flexfield_segment_code => l_adr_flexfield_segment_code
11167 , p_flex_value_set_id => l_adr_flex_value_set_id
11171 , p_component_code => l_component_code
11168 , p_adr_code => 'AP_ERV_GAIN_NAT_ACCT_SEG'
11169 , p_adr_type_code => 'S'
11170 , p_component_type => l_component_type
11172 , p_component_type_code => l_component_type_code
11173 , p_component_appl_id => l_component_appl_id
11174 , p_amb_context_code => l_amb_context_code
11175 , p_entity_code => 'AP_INVOICES'
11176 , p_event_class_code => 'CREDIT MEMOS'
11177 , p_side => 'DEBIT'
11178 );
11179
11180 END IF;
11181
11182 l_segment := AcctDerRule_10(
11183 p_application_id => p_application_id
11184 , p_ae_header_id => l_ae_header_id
11185 , p_source_10 => p_source_10
11186 , p_source_10_meaning => p_source_10_meaning
11187 , p_source_17 => p_source_17
11188 , p_source_17_meaning => p_source_17_meaning
11189 , p_source_18 => p_source_18
11190 , x_transaction_coa_id => l_adr_transaction_coa_id
11191 , x_accounting_coa_id => l_adr_accounting_coa_id
11192 , x_flexfield_segment_code => l_adr_flexfield_segment_code
11193 , x_flex_value_set_id => l_adr_flex_value_set_id
11194 , x_value_type_code => l_adr_value_type_code
11195 , x_value_combination_id => l_adr_value_combination_id
11196 , x_value_segment_code => l_adr_value_segment_code
11197 , p_side => 'CREDIT'
11198 , p_override_seg_flag => 'Y'
11199 );
11200
11201 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
11202
11203 xla_ae_lines_pkg.set_segment(
11204 p_to_segment_code => 'GL_ACCOUNT'
11205 , p_segment_value => l_segment
11206 , p_from_segment_code => l_adr_value_segment_code
11207 , p_from_combination_id => l_adr_value_combination_id
11208 , p_value_type_code => l_adr_value_type_code
11209 , p_transaction_coa_id => l_adr_transaction_coa_id
11210 , p_accounting_coa_id => l_adr_accounting_coa_id
11211 , p_flexfield_segment_code => l_adr_flexfield_segment_code
11212 , p_flex_value_set_id => l_adr_flex_value_set_id
11213 , p_adr_code => 'AP_ERV_LOSS_NAT_ACCT_SEG'
11214 , p_adr_type_code => 'S'
11215 , p_component_type => l_component_type
11216 , p_component_code => l_component_code
11217 , p_component_type_code => l_component_type_code
11218 , p_component_appl_id => l_component_appl_id
11219 , p_amb_context_code => l_amb_context_code
11220 , p_entity_code => 'AP_INVOICES'
11221 , p_event_class_code => 'CREDIT MEMOS'
11222 , p_side => 'CREDIT'
11223 );
11224
11225 END IF;
11226
11227 l_segment := AcctDerRule_24(
11228 p_application_id => p_application_id
11229 , p_ae_header_id => l_ae_header_id
11230 , p_source_10 => p_source_10
11231 , p_source_10_meaning => p_source_10_meaning
11232 , p_source_17 => p_source_17
11233 , p_source_17_meaning => p_source_17_meaning
11234 , p_source_25 => p_source_25
11235 , x_transaction_coa_id => l_adr_transaction_coa_id
11236 , x_accounting_coa_id => l_adr_accounting_coa_id
11237 , x_flexfield_segment_code => l_adr_flexfield_segment_code
11238 , x_flex_value_set_id => l_adr_flex_value_set_id
11239 , x_value_type_code => l_adr_value_type_code
11240 , x_value_combination_id => l_adr_value_combination_id
11241 , x_value_segment_code => l_adr_value_segment_code
11242 , p_side => 'ALL'
11243 , p_override_seg_flag => 'Y'
11244 );
11245
11246 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
11247
11248 xla_ae_lines_pkg.set_segment(
11249 p_to_segment_code => 'GL_BALANCING'
11250 , p_segment_value => l_segment
11251 , p_from_segment_code => l_adr_value_segment_code
11252 , p_from_combination_id => l_adr_value_combination_id
11253 , p_value_type_code => l_adr_value_type_code
11254 , p_transaction_coa_id => l_adr_transaction_coa_id
11255 , p_accounting_coa_id => l_adr_accounting_coa_id
11256 , p_flexfield_segment_code => l_adr_flexfield_segment_code
11257 , p_flex_value_set_id => l_adr_flex_value_set_id
11258 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
11259 , p_adr_type_code => 'S'
11260 , p_component_type => l_component_type
11261 , p_component_code => l_component_code
11262 , p_component_type_code => l_component_type_code
11263 , p_component_appl_id => l_component_appl_id
11264 , p_amb_context_code => l_amb_context_code
11265 , p_entity_code => 'AP_INVOICES'
11266 , p_event_class_code => 'CREDIT MEMOS'
11267 , p_side => 'ALL'
11268 );
11269
11270 END IF;
11271
11272 --
11273 --
11274 END IF;
11275 --
11276 -- Bug 4922099
11277 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
11278 (NVL(l_enc_upg_option, 'N') = 'O')
11279 ) AND
11280 (l_bflow_method_code = 'PRIOR_ENTRY')
11281 )
11282 THEN
11283 IF
11284 --
11285 1 = 2
11289 (p_appli_s_name => 'XLA'
11286 --
11287 THEN
11288 xla_accounting_err_pkg.build_message
11290 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
11291 ,p_token_1 => 'LINE_NUMBER'
11292 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
11293 ,p_token_2 => 'LINE_TYPE_NAME'
11294 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
11295 l_component_type
11296 ,l_component_code
11297 ,l_component_type_code
11298 ,l_component_appl_id
11299 ,l_amb_context_code
11300 ,l_entity_code
11301 ,l_event_class_code
11302 )
11303 ,p_token_3 => 'OWNER'
11304 ,p_value_3 => xla_lookups_pkg.get_meaning(
11305 p_lookup_type => 'XLA_OWNER_TYPE'
11306 ,p_lookup_code => l_component_type_code
11307 )
11308 ,p_token_4 => 'PRODUCT_NAME'
11309 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
11310 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
11311 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
11312 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
11313 ,p_ae_header_id => NULL
11314 );
11315
11316 IF (C_LEVEL_ERROR>= g_log_level) THEN
11317 trace
11318 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
11319 ,p_level => C_LEVEL_ERROR
11320 ,p_module => l_log_module);
11321 END IF;
11322 END IF;
11323 END IF;
11324 --
11325 --
11326 ------------------------------------------------------------------------------------------------
11327 -- 4219869 Business Flow
11328 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
11329 -- Prior Entry. Currently, the following code is always generated.
11330 ------------------------------------------------------------------------------------------------
11331 XLA_AE_LINES_PKG.ValidateCurrentLine;
11332
11333 ------------------------------------------------------------------------------------
11334 -- 4219869 Business Flow
11335 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
11336 ------------------------------------------------------------------------------------
11337 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
11338
11339 ----------------------------------------------------------------------------------
11340 -- 4219869 Business Flow
11341 -- Update journal entry status -- Need to generate this within IF <condition>
11342 ----------------------------------------------------------------------------------
11343 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
11344 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
11345 ,p_balance_type_code => l_balance_type_code
11346 );
11347
11348 -------------------------------------------------------------------------------------------
11349 -- 4262811 - Generate the Accrual Reversal lines
11350 -------------------------------------------------------------------------------------------
11351 BEGIN
11352 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
11353 (g_array_event(p_event_id).array_value_num('header_index'));
11354 IF l_acc_rev_flag IS NULL THEN
11355 l_acc_rev_flag := 'N';
11356 END IF;
11357 EXCEPTION
11358 WHEN OTHERS THEN
11359 l_acc_rev_flag := 'N';
11360 END;
11361 --
11362 IF (l_acc_rev_flag = 'Y') THEN
11363
11364 -- 4645092 ------------------------------------------------------------------------------
11365 -- To allow MPA report to determine if it should generate report process
11366 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
11367 ------------------------------------------------------------------------------------------
11368
11369 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
11370 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
11371 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
11372 -- call ADRs
11373 -- Bug 4922099
11374 --
11378 )
11375 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
11376 (NVL(l_actual_upg_option, 'N') = 'O') OR
11377 (NVL(l_enc_upg_option, 'N') = 'O')
11379 THEN
11380 NULL;
11381 --
11382 --
11383
11384 l_ccid := AcctDerRule_32(
11385 p_application_id => p_application_id
11386 , p_ae_header_id => l_ae_header_id
11387 , p_source_10 => p_source_10
11388 , p_source_10_meaning => p_source_10_meaning
11389 , p_source_15 => p_source_15
11390 , p_source_16 => p_source_16
11391 , p_source_17 => p_source_17
11392 , p_source_17_meaning => p_source_17_meaning
11393 , p_source_18 => p_source_18
11394 , p_source_25 => p_source_25
11395 , p_source_43 => p_source_43
11396 , p_source_43_meaning => p_source_43_meaning
11397 , x_transaction_coa_id => l_adr_transaction_coa_id
11398 , x_accounting_coa_id => l_adr_accounting_coa_id
11399 , x_value_type_code => l_adr_value_type_code
11400 , p_side => 'ALL'
11401 );
11402
11403 xla_ae_lines_pkg.set_ccid(
11404 p_code_combination_id => l_ccid
11405 , p_value_type_code => l_adr_value_type_code
11406 , p_transaction_coa_id => l_adr_transaction_coa_id
11407 , p_accounting_coa_id => l_adr_accounting_coa_id
11408 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
11409 , p_adr_type_code => 'S'
11410 , p_component_type => l_component_type
11411 , p_component_code => l_component_code
11412 , p_component_type_code => l_component_type_code
11413 , p_component_appl_id => l_component_appl_id
11414 , p_amb_context_code => l_amb_context_code
11415 , p_side => 'ALL'
11416 );
11417
11418
11419 l_segment := AcctDerRule_9(
11420 p_application_id => p_application_id
11421 , p_ae_header_id => l_ae_header_id
11422 , p_source_10 => p_source_10
11423 , p_source_10_meaning => p_source_10_meaning
11424 , p_source_15 => p_source_15
11425 , p_source_17 => p_source_17
11426 , p_source_17_meaning => p_source_17_meaning
11427 , x_transaction_coa_id => l_adr_transaction_coa_id
11428 , x_accounting_coa_id => l_adr_accounting_coa_id
11429 , x_flexfield_segment_code => l_adr_flexfield_segment_code
11430 , x_flex_value_set_id => l_adr_flex_value_set_id
11431 , x_value_type_code => l_adr_value_type_code
11432 , x_value_combination_id => l_adr_value_combination_id
11433 , x_value_segment_code => l_adr_value_segment_code
11434 , p_side => 'DEBIT'
11435 , p_override_seg_flag => 'Y'
11436 );
11437
11438 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
11439
11440 xla_ae_lines_pkg.set_segment(
11441 p_to_segment_code => 'GL_ACCOUNT'
11442 , p_segment_value => l_segment
11443 , p_from_segment_code => l_adr_value_segment_code
11444 , p_from_combination_id => l_adr_value_combination_id
11445 , p_value_type_code => l_adr_value_type_code
11446 , p_transaction_coa_id => l_adr_transaction_coa_id
11447 , p_accounting_coa_id => l_adr_accounting_coa_id
11448 , p_flexfield_segment_code => l_adr_flexfield_segment_code
11449 , p_flex_value_set_id => l_adr_flex_value_set_id
11450 , p_adr_code => 'AP_ERV_GAIN_NAT_ACCT_SEG'
11451 , p_adr_type_code => 'S'
11452 , p_component_type => l_component_type
11453 , p_component_code => l_component_code
11454 , p_component_type_code => l_component_type_code
11455 , p_component_appl_id => l_component_appl_id
11456 , p_amb_context_code => l_amb_context_code
11457 , p_entity_code => 'AP_INVOICES'
11458 , p_event_class_code => 'CREDIT MEMOS'
11459 , p_side => 'DEBIT'
11460 );
11461
11462 END IF;
11463
11464 l_segment := AcctDerRule_10(
11465 p_application_id => p_application_id
11466 , p_ae_header_id => l_ae_header_id
11467 , p_source_10 => p_source_10
11468 , p_source_10_meaning => p_source_10_meaning
11469 , p_source_17 => p_source_17
11470 , p_source_17_meaning => p_source_17_meaning
11471 , p_source_18 => p_source_18
11472 , x_transaction_coa_id => l_adr_transaction_coa_id
11473 , x_accounting_coa_id => l_adr_accounting_coa_id
11474 , x_flexfield_segment_code => l_adr_flexfield_segment_code
11475 , x_flex_value_set_id => l_adr_flex_value_set_id
11476 , x_value_type_code => l_adr_value_type_code
11477 , x_value_combination_id => l_adr_value_combination_id
11478 , x_value_segment_code => l_adr_value_segment_code
11479 , p_side => 'CREDIT'
11480 , p_override_seg_flag => 'Y'
11481 );
11482
11483 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
11484
11485 xla_ae_lines_pkg.set_segment(
11486 p_to_segment_code => 'GL_ACCOUNT'
11487 , p_segment_value => l_segment
11488 , p_from_segment_code => l_adr_value_segment_code
11489 , p_from_combination_id => l_adr_value_combination_id
11493 , p_flexfield_segment_code => l_adr_flexfield_segment_code
11490 , p_value_type_code => l_adr_value_type_code
11491 , p_transaction_coa_id => l_adr_transaction_coa_id
11492 , p_accounting_coa_id => l_adr_accounting_coa_id
11494 , p_flex_value_set_id => l_adr_flex_value_set_id
11495 , p_adr_code => 'AP_ERV_LOSS_NAT_ACCT_SEG'
11496 , p_adr_type_code => 'S'
11497 , p_component_type => l_component_type
11498 , p_component_code => l_component_code
11499 , p_component_type_code => l_component_type_code
11500 , p_component_appl_id => l_component_appl_id
11501 , p_amb_context_code => l_amb_context_code
11502 , p_entity_code => 'AP_INVOICES'
11503 , p_event_class_code => 'CREDIT MEMOS'
11504 , p_side => 'CREDIT'
11505 );
11506
11507 END IF;
11508
11509 l_segment := AcctDerRule_24(
11510 p_application_id => p_application_id
11511 , p_ae_header_id => l_ae_header_id
11512 , p_source_10 => p_source_10
11513 , p_source_10_meaning => p_source_10_meaning
11514 , p_source_17 => p_source_17
11515 , p_source_17_meaning => p_source_17_meaning
11516 , p_source_25 => p_source_25
11517 , x_transaction_coa_id => l_adr_transaction_coa_id
11518 , x_accounting_coa_id => l_adr_accounting_coa_id
11519 , x_flexfield_segment_code => l_adr_flexfield_segment_code
11520 , x_flex_value_set_id => l_adr_flex_value_set_id
11521 , x_value_type_code => l_adr_value_type_code
11522 , x_value_combination_id => l_adr_value_combination_id
11523 , x_value_segment_code => l_adr_value_segment_code
11524 , p_side => 'ALL'
11525 , p_override_seg_flag => 'Y'
11526 );
11527
11528 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
11529
11530 xla_ae_lines_pkg.set_segment(
11531 p_to_segment_code => 'GL_BALANCING'
11532 , p_segment_value => l_segment
11533 , p_from_segment_code => l_adr_value_segment_code
11534 , p_from_combination_id => l_adr_value_combination_id
11535 , p_value_type_code => l_adr_value_type_code
11536 , p_transaction_coa_id => l_adr_transaction_coa_id
11537 , p_accounting_coa_id => l_adr_accounting_coa_id
11538 , p_flexfield_segment_code => l_adr_flexfield_segment_code
11539 , p_flex_value_set_id => l_adr_flex_value_set_id
11540 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
11541 , p_adr_type_code => 'S'
11542 , p_component_type => l_component_type
11543 , p_component_code => l_component_code
11544 , p_component_type_code => l_component_type_code
11545 , p_component_appl_id => l_component_appl_id
11546 , p_amb_context_code => l_amb_context_code
11547 , p_entity_code => 'AP_INVOICES'
11548 , p_event_class_code => 'CREDIT MEMOS'
11549 , p_side => 'ALL'
11550 );
11551
11552 END IF;
11553
11554 --
11555 --
11556 END IF;
11557
11558 --
11559 -- Update the line information that should be overwritten
11560 --
11561 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
11562 p_header_num => 1);
11563 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
11564
11565 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
11566
11567 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
11568 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
11569 END IF;
11570
11571 --
11572 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
11573 --
11574 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
11575 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
11576 ELSE
11577 ---------------------------------------------------------------------------------------------------
11578 -- 4262811a Switch Sign
11579 ---------------------------------------------------------------------------------------------------
11580 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
11581 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
11582 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
11583 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
11584 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
11585 -- 5132302
11586 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
11587 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
11588
11589 END IF;
11590
11591 -- 4955764
11592 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
11596 XLA_AE_LINES_PKG.ValidateCurrentLine;
11593 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
11594
11595
11597 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
11598
11599 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
11600 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
11601 ,p_balance_type_code => l_balance_type_code);
11602
11603 END IF;
11604
11605 -----------------------------------------------------------------------------------------
11606 -- 4262811 Multiperiod Accounting
11607 -----------------------------------------------------------------------------------------
11608 -- No MPA option is assigned.
11609
11610
11611 END IF;
11612 END IF;
11613 --
11614
11615 --
11616 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
11617 trace
11618 (p_msg => 'END of AcctLineType_60'
11619 ,p_level => C_LEVEL_PROCEDURE
11620 ,p_module => l_log_module);
11621 END IF;
11622 --
11623 EXCEPTION
11624 WHEN xla_exceptions_pkg.application_exception THEN
11625 RAISE;
11626 WHEN OTHERS THEN
11627 xla_exceptions_pkg.raise_message
11628 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_60');
11629 END AcctLineType_60;
11630 --
11631
11632 ---------------------------------------
11633 --
11634 -- PRIVATE FUNCTION
11635 -- AcctLineType_61
11636 --
11637 ---------------------------------------
11638 PROCEDURE AcctLineType_61 (
11639 p_application_id IN NUMBER
11640 ,p_event_id IN NUMBER
11641 ,p_calculate_acctd_flag IN VARCHAR2
11642 ,p_calculate_g_l_flag IN VARCHAR2
11643 ,p_actual_flag IN OUT VARCHAR2
11644 ,p_balance_type_code OUT VARCHAR2
11645 ,p_gain_or_loss_ref OUT VARCHAR2
11646
11647 --Invoice Distribution Description
11648 , p_source_1 IN VARCHAR2
11649 --Automatic Offsets Value
11650 , p_source_10 IN VARCHAR2
11651 , p_source_10_meaning IN VARCHAR2
11652 --Purchase Order Rate Variance Gain Account
11653 , p_source_15 IN NUMBER
11654 --Invoice Distribution Ledger Amount
11655 , p_source_16 IN NUMBER
11656 --Destination Type of the PO Distribution
11657 , p_source_17 IN VARCHAR2
11658 , p_source_17_meaning IN VARCHAR2
11659 --Purchase Order Rate Variance Loss Account
11660 , p_source_18 IN NUMBER
11661 --Invoice Distribution Account
11662 , p_source_25 IN NUMBER
11663 --Invoice Distribution Type
11664 , p_source_28 IN VARCHAR2
11665 , p_source_28_meaning IN VARCHAR2
11666 --Automatic Offsets Flag
11667 , p_source_43 IN VARCHAR2
11668 , p_source_43_meaning IN VARCHAR2
11669 --Accounting Reversal Indicator
11670 , p_source_58 IN VARCHAR2
11671 --Distribution Link Type
11672 , p_source_60 IN VARCHAR2
11673 --Allocation to Main Distribution Identifier
11674 , p_source_62 IN NUMBER
11675 --Invoice Identifier
11676 , p_source_63 IN NUMBER
11677 --Invoice Distribution Identifier
11678 , p_source_69 IN NUMBER
11679 --Payables Encumbrance Upgrade Credit Account
11680 , p_source_70 IN NUMBER
11681 --Payables Encumbrance Upgrade Credit Amount
11682 , p_source_71 IN NUMBER
11683 --Invoice Currency Code
11684 , p_source_72 IN VARCHAR2
11685 --Payables Encumbrance Upgrade Credit Base Amount
11686 , p_source_73 IN NUMBER
11687 --Payables Encumbrance Upgrade Debit Account
11688 , p_source_74 IN NUMBER
11689 --Payables Encumbrance Upgrade Debit Amount
11690 , p_source_75 IN NUMBER
11691 --Payables Encumbrance Upgrade Debit Base Amount
11692 , p_source_76 IN NUMBER
11693 --Payables Encumbrance Upgrade Option
11694 , p_source_77 IN VARCHAR2
11695 --Deferred Accounting End Date
11696 , p_source_82 IN DATE
11697 --Deferred Accounting Option
11698 , p_source_83 IN VARCHAR2
11699 --Deferred Accounting Start Date
11700 , p_source_84 IN DATE
11701 --Override Accounted Amount Indicator
11702 , p_source_85 IN VARCHAR2
11703 , p_source_85_meaning IN VARCHAR2
11704 --Invoice Supplier Identifier
11705 , p_source_86 IN NUMBER
11706 --Invoice Supplier Site Identifier
11707 , p_source_87 IN NUMBER
11708 --Third Party Type
11709 , p_source_88 IN VARCHAR2
11710 --Parent Reversal Identifier
11711 , p_source_89 IN NUMBER
11712 --Invoice Distribution Tax Line Identifier
11713 , p_source_91 IN NUMBER
11714 --Invoice Distribution Tax Distribution Identifier from Tax
11715 , p_source_92 IN NUMBER
11716 --Invoice Distribution Summary Tax Line Identifier
11717 , p_source_93 IN NUMBER
11718 --Payables Upgrade Credit Encumbrance Type Identifier
11719 , p_source_94 IN NUMBER
11720 --Payables Upgrade Debit Encumbrance Type Identifier
11721 , p_source_95 IN NUMBER
11722 --Business Flow Accounts Payable Application Identifier
11723 , p_source_96 IN NUMBER
11724 --Business Flow Invoice Distribution Type
11725 , p_source_97 IN VARCHAR2
11726 --Business Flow Invoice Entity Code
11727 , p_source_98 IN VARCHAR2
11731 , p_source_100 IN NUMBER
11728 --Business Flow Invoice Distribution Identifier
11729 , p_source_99 IN NUMBER
11730 --Business Flow Invoice Identifier
11732 )
11733 IS
11734
11735 l_component_type VARCHAR2(80);
11736 l_component_code VARCHAR2(30);
11737 l_component_type_code VARCHAR2(1);
11738 l_component_appl_id INTEGER;
11739 l_amb_context_code VARCHAR2(30);
11740 l_entity_code VARCHAR2(30);
11741 l_event_class_code VARCHAR2(30);
11742 l_ae_header_id NUMBER;
11743 l_event_type_code VARCHAR2(30);
11744 l_line_definition_code VARCHAR2(30);
11745 l_line_definition_owner_code VARCHAR2(1);
11746 --
11747 -- adr variables
11748 l_segment VARCHAR2(30);
11749 l_ccid NUMBER;
11750 l_adr_transaction_coa_id NUMBER;
11751 l_adr_accounting_coa_id NUMBER;
11752 l_adr_flexfield_segment_code VARCHAR2(30);
11753 l_adr_flex_value_set_id NUMBER;
11754 l_adr_value_type_code VARCHAR2(30);
11755 l_adr_value_combination_id NUMBER;
11756 l_adr_value_segment_code VARCHAR2(30);
11757
11758 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
11759 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
11760 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
11761 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
11762
11763 -- 4262811 Variables ------------------------------------------------------------------------------------------
11764 l_entered_amt_idx NUMBER;
11765 l_accted_amt_idx NUMBER;
11766 l_acc_rev_flag VARCHAR2(1);
11767 l_accrual_line_num NUMBER;
11768 l_tmp_amt NUMBER;
11769 l_acc_rev_natural_side_code VARCHAR2(1);
11770
11771 l_num_entries NUMBER;
11772 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
11773 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
11774 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
11775 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
11776 l_recog_line_1 NUMBER;
11777 l_recog_line_2 NUMBER;
11778
11779 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
11780 l_bflow_applied_to_amt NUMBER; -- 5132302
11781 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
11782
11783 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
11784
11785 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
11786 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
11787
11788 ---------------------------------------------------------------------------------------------------------------
11789
11790
11791 --
11792 -- bulk performance
11793 --
11794 l_balance_type_code VARCHAR2(1);
11795 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
11796 l_log_module VARCHAR2(240);
11797
11798 --
11799 -- Upgrade strategy
11800 --
11801 l_actual_upg_option VARCHAR2(1);
11802 l_enc_upg_option VARCHAR2(1);
11803
11804 --
11805 BEGIN
11806 --
11807 IF g_log_enabled THEN
11808 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_61';
11809 END IF;
11810 --
11811 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
11812
11813 trace
11814 (p_msg => 'BEGIN of AcctLineType_61'
11815 ,p_level => C_LEVEL_PROCEDURE
11816 ,p_module => l_log_module);
11817
11818 END IF;
11819 --
11820 l_component_type := 'AMB_JLT';
11821 l_component_code := 'AP_ALC_EX_RATE_VAR_DM';
11822 l_component_type_code := 'S';
11823 l_component_appl_id := 200;
11824 l_amb_context_code := 'DEFAULT';
11825 l_entity_code := 'AP_INVOICES';
11826 l_event_class_code := 'DEBIT MEMOS';
11827 l_event_type_code := 'DEBIT MEMOS_ALL';
11828 l_line_definition_owner_code := 'S';
11829 l_line_definition_code := 'ACCRUAL_DEBIT MEMOS_ALL';
11830 --
11831 l_balance_type_code := 'A';
11832 l_segment := NULL;
11833 l_ccid := NULL;
11834 l_adr_transaction_coa_id := NULL;
11835 l_adr_accounting_coa_id := NULL;
11836 l_adr_flexfield_segment_code := NULL;
11837 l_adr_flex_value_set_id := NULL;
11838 l_adr_value_type_code := NULL;
11839 l_adr_value_combination_id := NULL;
11840 l_adr_value_segment_code := NULL;
11841
11842 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
11843 l_bflow_class_code := ''; -- 4219869 Business Flow
11844 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
11845 l_budgetary_control_flag := 'N';
11846
11847 l_bflow_applied_to_amt_idx := NULL; -- 5132302
11848 l_bflow_applied_to_amt := NULL; -- 5132302
11849 l_entered_amt_idx := NULL; -- 4262811
11850 l_accted_amt_idx := NULL; -- 4262811
11851 l_acc_rev_flag := NULL; -- 4262811
11852 l_accrual_line_num := NULL; -- 4262811
11856 (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
11853 l_tmp_amt := NULL; -- 4262811
11854 --
11855 IF NOT ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
11857 return;
11858 END IF;
11859
11860 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
11861 l_balance_type_code <> 'B' THEN
11862 IF NVL(p_source_28,'
11863 ') = 'ACCRUAL'
11864 THEN
11865
11866 --
11867 XLA_AE_LINES_PKG.SetNewLine;
11868
11869 p_balance_type_code := l_balance_type_code;
11870 -- set the flag so later we will know whether the gain loss line needs to be created
11871
11872 IF(l_balance_type_code = 'A' ) THEN
11873 p_actual_flag :='G';
11874 END IF;
11875
11876 --
11877 -- bulk performance
11878 --
11879 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
11880 p_header_num => 0); -- 4262811
11881 --
11882 -- set accounting line options
11883 --
11884 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
11885 p_natural_side_code => 'G'
11886 , p_gain_or_loss_flag => 'N'
11887 , p_gl_transfer_mode_code => 'S'
11888 , p_acct_entry_type_code => 'A'
11889 , p_switch_side_flag => ''
11890 , p_merge_duplicate_code => 'A'
11891 );
11892 --
11893 l_acc_rev_natural_side_code := 'C'; -- 4262811
11894 --
11895 --
11896 -- set accounting line type info
11897 --
11898 xla_ae_lines_pkg.SetAcctLineType
11899 (p_component_type => l_component_type
11900 ,p_event_type_code => l_event_type_code
11901 ,p_line_definition_owner_code => l_line_definition_owner_code
11902 ,p_line_definition_code => l_line_definition_code
11903 ,p_accounting_line_code => l_component_code
11904 ,p_accounting_line_type_code => l_component_type_code
11905 ,p_accounting_line_appl_id => l_component_appl_id
11906 ,p_amb_context_code => l_amb_context_code
11907 ,p_entity_code => l_entity_code
11908 ,p_event_class_code => l_event_class_code);
11909 --
11910 -- set accounting class
11911 --
11912 xla_ae_lines_pkg.SetAcctClass(
11913 p_accounting_class_code => 'EXCHANGE_RATE_VARIANCE'
11914 , p_ae_header_id => l_ae_header_id
11915 );
11916
11917 --
11918 -- set rounding class
11919 --
11920 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
11921 'EXCHANGE_RATE_VARIANCE';
11922
11923 --
11924 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
11925 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
11926 --
11927 -- bulk performance
11928 --
11929 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
11930
11931 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
11932 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
11933
11934 -- 4955764
11935 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
11936 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
11937
11938 -- 4458381 Public Sector Enh
11939
11940 --
11941 -- set accounting attributes for the line type
11942 --
11943 l_entered_amt_idx := NULL;
11944 l_accted_amt_idx := 23;
11945 l_bflow_applied_to_amt_idx := NULL; -- 5132302
11946 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
11947 l_rec_acct_attrs.array_char_value(1) := p_source_58;
11948 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
11949 l_rec_acct_attrs.array_num_value(2) :=
11950 xla_ae_sources_pkg.GetSystemSourceNum(
11951 p_source_code => 'XLA_EVENT_APPL_ID'
11952 , p_source_type_code => 'Y'
11953 , p_source_application_id => 602
11954 );
11955 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
11956 l_rec_acct_attrs.array_char_value(3) := p_source_60;
11957 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
11958 l_rec_acct_attrs.array_char_value(4) :=
11959 xla_ae_sources_pkg.GetSystemSourceChar(
11960 p_source_code => 'XLA_ENTITY_CODE'
11961 , p_source_type_code => 'Y'
11962 , p_source_application_id => 602
11963 );
11964 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
11965 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_62);
11966 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
11967 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_63);
11968 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
11969 l_rec_acct_attrs.array_num_value(7) := p_source_96;
11970 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
11974 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
11971 l_rec_acct_attrs.array_char_value(8) := p_source_97;
11972 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
11973 l_rec_acct_attrs.array_char_value(9) := p_source_98;
11975 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_99);
11976 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
11977 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_100);
11978 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
11979 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_69);
11980 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
11981 l_rec_acct_attrs.array_char_value(13) := p_source_60;
11982 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
11983 l_rec_acct_attrs.array_num_value(14) := p_source_70;
11984 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
11985 l_rec_acct_attrs.array_num_value(15) := p_source_71;
11986 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
11987 l_rec_acct_attrs.array_char_value(16) := p_source_72;
11988 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
11989 l_rec_acct_attrs.array_num_value(17) := p_source_73;
11990 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
11991 l_rec_acct_attrs.array_num_value(18) := p_source_74;
11992 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
11993 l_rec_acct_attrs.array_num_value(19) := p_source_75;
11994 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
11995 l_rec_acct_attrs.array_char_value(20) := p_source_72;
11996 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
11997 l_rec_acct_attrs.array_num_value(21) := p_source_76;
11998 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
11999 l_rec_acct_attrs.array_char_value(22) := p_source_77;
12000 l_rec_acct_attrs.array_acct_attr_code(23) := 'LEDGER_AMOUNT';
12001 l_rec_acct_attrs.array_num_value(23) := p_source_16;
12002 l_rec_acct_attrs.array_acct_attr_code(24) := 'MULTIPERIOD_END_DATE';
12003 l_rec_acct_attrs.array_date_value(24) := p_source_82;
12004 l_rec_acct_attrs.array_acct_attr_code(25) := 'MULTIPERIOD_OPTION';
12005 l_rec_acct_attrs.array_char_value(25) := p_source_83;
12006 l_rec_acct_attrs.array_acct_attr_code(26) := 'MULTIPERIOD_START_DATE';
12007 l_rec_acct_attrs.array_date_value(26) := p_source_84;
12008 l_rec_acct_attrs.array_acct_attr_code(27) := 'OVERRIDE_ACCTD_AMT_FLAG';
12009 l_rec_acct_attrs.array_char_value(27) := p_source_85;
12010 l_rec_acct_attrs.array_acct_attr_code(28) := 'PARTY_ID';
12011 l_rec_acct_attrs.array_num_value(28) := p_source_86;
12012 l_rec_acct_attrs.array_acct_attr_code(29) := 'PARTY_SITE_ID';
12013 l_rec_acct_attrs.array_num_value(29) := p_source_87;
12014 l_rec_acct_attrs.array_acct_attr_code(30) := 'PARTY_TYPE';
12015 l_rec_acct_attrs.array_char_value(30) := p_source_88;
12016 l_rec_acct_attrs.array_acct_attr_code(31) := 'REVERSED_DISTRIBUTION_ID1';
12017 l_rec_acct_attrs.array_num_value(31) := to_char(p_source_89);
12018 l_rec_acct_attrs.array_acct_attr_code(32) := 'REVERSED_DISTRIBUTION_TYPE';
12019 l_rec_acct_attrs.array_char_value(32) := p_source_60;
12020 l_rec_acct_attrs.array_acct_attr_code(33) := 'TAX_LINE_REF_ID';
12021 l_rec_acct_attrs.array_num_value(33) := p_source_91;
12022 l_rec_acct_attrs.array_acct_attr_code(34) := 'TAX_REC_NREC_DIST_REF_ID';
12023 l_rec_acct_attrs.array_num_value(34) := p_source_92;
12024 l_rec_acct_attrs.array_acct_attr_code(35) := 'TAX_SUMMARY_LINE_REF_ID';
12025 l_rec_acct_attrs.array_num_value(35) := p_source_93;
12026 l_rec_acct_attrs.array_acct_attr_code(36) := 'UPG_CR_ENC_TYPE_ID';
12027 l_rec_acct_attrs.array_num_value(36) := p_source_94;
12028 l_rec_acct_attrs.array_acct_attr_code(37) := 'UPG_DR_ENC_TYPE_ID';
12029 l_rec_acct_attrs.array_num_value(37) := p_source_95;
12030
12031 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
12032 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
12033
12034 ---------------------------------------------------------------------------------------------------------------
12035 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
12036 ---------------------------------------------------------------------------------------------------------------
12037 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
12038
12039 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
12040 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
12041
12042 IF xla_accounting_cache_pkg.GetValueChar
12043 (p_source_code => 'LEDGER_CATEGORY_CODE'
12044 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
12045 AND l_bflow_method_code = 'PRIOR_ENTRY'
12046 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
12047 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
12048 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
12049 )
12050 THEN
12051 xla_ae_lines_pkg.BflowUpgEntry
12052 (p_business_method_code => l_bflow_method_code
12053 ,p_business_class_code => l_bflow_class_code
12054 ,p_balance_type => l_balance_type_code);
12058 END IF;
12055 ELSE
12056 NULL;
12057 -- No business flow processing for business flow method of NONE.
12059
12060 --
12061 -- call analytical criteria
12062 --
12063
12064 --
12065 -- call description
12066 --
12067
12068 xla_ae_lines_pkg.SetLineDescription(
12069 p_ae_header_id => l_ae_header_id
12070 ,p_description => Description_2 (
12071 p_application_id => p_application_id
12072 , p_ae_header_id => l_ae_header_id
12073 , p_source_1 => p_source_1
12074 )
12075 );
12076
12077
12078 --
12079 -- call ADRs
12080 -- Bug 4922099
12081 --
12082 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
12083 (NVL(l_actual_upg_option, 'N') = 'O') OR
12084 (NVL(l_enc_upg_option, 'N') = 'O')
12085 )
12086 THEN
12087 NULL;
12088 --
12089 --
12090
12091 l_ccid := AcctDerRule_32(
12092 p_application_id => p_application_id
12093 , p_ae_header_id => l_ae_header_id
12094 , p_source_10 => p_source_10
12095 , p_source_10_meaning => p_source_10_meaning
12096 , p_source_15 => p_source_15
12097 , p_source_16 => p_source_16
12098 , p_source_17 => p_source_17
12099 , p_source_17_meaning => p_source_17_meaning
12100 , p_source_18 => p_source_18
12101 , p_source_25 => p_source_25
12102 , p_source_43 => p_source_43
12103 , p_source_43_meaning => p_source_43_meaning
12104 , x_transaction_coa_id => l_adr_transaction_coa_id
12105 , x_accounting_coa_id => l_adr_accounting_coa_id
12106 , x_value_type_code => l_adr_value_type_code
12107 , p_side => 'ALL'
12108 );
12109
12110 xla_ae_lines_pkg.set_ccid(
12111 p_code_combination_id => l_ccid
12112 , p_value_type_code => l_adr_value_type_code
12113 , p_transaction_coa_id => l_adr_transaction_coa_id
12114 , p_accounting_coa_id => l_adr_accounting_coa_id
12115 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
12116 , p_adr_type_code => 'S'
12117 , p_component_type => l_component_type
12118 , p_component_code => l_component_code
12119 , p_component_type_code => l_component_type_code
12120 , p_component_appl_id => l_component_appl_id
12121 , p_amb_context_code => l_amb_context_code
12122 , p_side => 'ALL'
12123 );
12124
12125
12126 l_segment := AcctDerRule_9(
12127 p_application_id => p_application_id
12128 , p_ae_header_id => l_ae_header_id
12129 , p_source_10 => p_source_10
12130 , p_source_10_meaning => p_source_10_meaning
12131 , p_source_15 => p_source_15
12132 , p_source_17 => p_source_17
12133 , p_source_17_meaning => p_source_17_meaning
12134 , x_transaction_coa_id => l_adr_transaction_coa_id
12135 , x_accounting_coa_id => l_adr_accounting_coa_id
12136 , x_flexfield_segment_code => l_adr_flexfield_segment_code
12137 , x_flex_value_set_id => l_adr_flex_value_set_id
12138 , x_value_type_code => l_adr_value_type_code
12139 , x_value_combination_id => l_adr_value_combination_id
12140 , x_value_segment_code => l_adr_value_segment_code
12141 , p_side => 'DEBIT'
12142 , p_override_seg_flag => 'Y'
12143 );
12144
12145 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
12146
12147 xla_ae_lines_pkg.set_segment(
12148 p_to_segment_code => 'GL_ACCOUNT'
12149 , p_segment_value => l_segment
12150 , p_from_segment_code => l_adr_value_segment_code
12151 , p_from_combination_id => l_adr_value_combination_id
12152 , p_value_type_code => l_adr_value_type_code
12153 , p_transaction_coa_id => l_adr_transaction_coa_id
12154 , p_accounting_coa_id => l_adr_accounting_coa_id
12155 , p_flexfield_segment_code => l_adr_flexfield_segment_code
12156 , p_flex_value_set_id => l_adr_flex_value_set_id
12157 , p_adr_code => 'AP_ERV_GAIN_NAT_ACCT_SEG'
12158 , p_adr_type_code => 'S'
12159 , p_component_type => l_component_type
12160 , p_component_code => l_component_code
12161 , p_component_type_code => l_component_type_code
12162 , p_component_appl_id => l_component_appl_id
12163 , p_amb_context_code => l_amb_context_code
12164 , p_entity_code => 'AP_INVOICES'
12165 , p_event_class_code => 'DEBIT MEMOS'
12166 , p_side => 'DEBIT'
12167 );
12168
12169 END IF;
12170
12171 l_segment := AcctDerRule_10(
12172 p_application_id => p_application_id
12173 , p_ae_header_id => l_ae_header_id
12174 , p_source_10 => p_source_10
12175 , p_source_10_meaning => p_source_10_meaning
12176 , p_source_17 => p_source_17
12177 , p_source_17_meaning => p_source_17_meaning
12178 , p_source_18 => p_source_18
12179 , x_transaction_coa_id => l_adr_transaction_coa_id
12180 , x_accounting_coa_id => l_adr_accounting_coa_id
12181 , x_flexfield_segment_code => l_adr_flexfield_segment_code
12185 , x_value_segment_code => l_adr_value_segment_code
12182 , x_flex_value_set_id => l_adr_flex_value_set_id
12183 , x_value_type_code => l_adr_value_type_code
12184 , x_value_combination_id => l_adr_value_combination_id
12186 , p_side => 'CREDIT'
12187 , p_override_seg_flag => 'Y'
12188 );
12189
12190 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
12191
12192 xla_ae_lines_pkg.set_segment(
12193 p_to_segment_code => 'GL_ACCOUNT'
12194 , p_segment_value => l_segment
12195 , p_from_segment_code => l_adr_value_segment_code
12196 , p_from_combination_id => l_adr_value_combination_id
12197 , p_value_type_code => l_adr_value_type_code
12198 , p_transaction_coa_id => l_adr_transaction_coa_id
12199 , p_accounting_coa_id => l_adr_accounting_coa_id
12200 , p_flexfield_segment_code => l_adr_flexfield_segment_code
12201 , p_flex_value_set_id => l_adr_flex_value_set_id
12202 , p_adr_code => 'AP_ERV_LOSS_NAT_ACCT_SEG'
12203 , p_adr_type_code => 'S'
12204 , p_component_type => l_component_type
12205 , p_component_code => l_component_code
12206 , p_component_type_code => l_component_type_code
12207 , p_component_appl_id => l_component_appl_id
12208 , p_amb_context_code => l_amb_context_code
12209 , p_entity_code => 'AP_INVOICES'
12210 , p_event_class_code => 'DEBIT MEMOS'
12211 , p_side => 'CREDIT'
12212 );
12213
12214 END IF;
12215
12216 l_segment := AcctDerRule_24(
12217 p_application_id => p_application_id
12218 , p_ae_header_id => l_ae_header_id
12219 , p_source_10 => p_source_10
12220 , p_source_10_meaning => p_source_10_meaning
12221 , p_source_17 => p_source_17
12222 , p_source_17_meaning => p_source_17_meaning
12223 , p_source_25 => p_source_25
12224 , x_transaction_coa_id => l_adr_transaction_coa_id
12225 , x_accounting_coa_id => l_adr_accounting_coa_id
12226 , x_flexfield_segment_code => l_adr_flexfield_segment_code
12227 , x_flex_value_set_id => l_adr_flex_value_set_id
12228 , x_value_type_code => l_adr_value_type_code
12229 , x_value_combination_id => l_adr_value_combination_id
12230 , x_value_segment_code => l_adr_value_segment_code
12231 , p_side => 'ALL'
12232 , p_override_seg_flag => 'Y'
12233 );
12234
12235 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
12236
12237 xla_ae_lines_pkg.set_segment(
12238 p_to_segment_code => 'GL_BALANCING'
12239 , p_segment_value => l_segment
12240 , p_from_segment_code => l_adr_value_segment_code
12241 , p_from_combination_id => l_adr_value_combination_id
12242 , p_value_type_code => l_adr_value_type_code
12243 , p_transaction_coa_id => l_adr_transaction_coa_id
12244 , p_accounting_coa_id => l_adr_accounting_coa_id
12245 , p_flexfield_segment_code => l_adr_flexfield_segment_code
12246 , p_flex_value_set_id => l_adr_flex_value_set_id
12247 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
12248 , p_adr_type_code => 'S'
12249 , p_component_type => l_component_type
12250 , p_component_code => l_component_code
12251 , p_component_type_code => l_component_type_code
12252 , p_component_appl_id => l_component_appl_id
12253 , p_amb_context_code => l_amb_context_code
12254 , p_entity_code => 'AP_INVOICES'
12255 , p_event_class_code => 'DEBIT MEMOS'
12256 , p_side => 'ALL'
12257 );
12258
12259 END IF;
12260
12261 --
12262 --
12263 END IF;
12264 --
12265 -- Bug 4922099
12266 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
12267 (NVL(l_enc_upg_option, 'N') = 'O')
12268 ) AND
12269 (l_bflow_method_code = 'PRIOR_ENTRY')
12270 )
12271 THEN
12272 IF
12273 --
12274 1 = 2
12275 --
12276 THEN
12277 xla_accounting_err_pkg.build_message
12278 (p_appli_s_name => 'XLA'
12279 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
12280 ,p_token_1 => 'LINE_NUMBER'
12281 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
12282 ,p_token_2 => 'LINE_TYPE_NAME'
12283 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
12284 l_component_type
12285 ,l_component_code
12286 ,l_component_type_code
12287 ,l_component_appl_id
12288 ,l_amb_context_code
12292 ,p_token_3 => 'OWNER'
12289 ,l_entity_code
12290 ,l_event_class_code
12291 )
12293 ,p_value_3 => xla_lookups_pkg.get_meaning(
12294 p_lookup_type => 'XLA_OWNER_TYPE'
12295 ,p_lookup_code => l_component_type_code
12296 )
12297 ,p_token_4 => 'PRODUCT_NAME'
12298 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
12299 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
12300 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
12301 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
12302 ,p_ae_header_id => NULL
12303 );
12304
12305 IF (C_LEVEL_ERROR>= g_log_level) THEN
12306 trace
12307 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
12308 ,p_level => C_LEVEL_ERROR
12309 ,p_module => l_log_module);
12310 END IF;
12311 END IF;
12312 END IF;
12313 --
12314 --
12315 ------------------------------------------------------------------------------------------------
12316 -- 4219869 Business Flow
12317 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
12318 -- Prior Entry. Currently, the following code is always generated.
12319 ------------------------------------------------------------------------------------------------
12320 XLA_AE_LINES_PKG.ValidateCurrentLine;
12321
12322 ------------------------------------------------------------------------------------
12323 -- 4219869 Business Flow
12324 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
12325 ------------------------------------------------------------------------------------
12326 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
12327
12328 ----------------------------------------------------------------------------------
12329 -- 4219869 Business Flow
12330 -- Update journal entry status -- Need to generate this within IF <condition>
12331 ----------------------------------------------------------------------------------
12332 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
12333 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
12334 ,p_balance_type_code => l_balance_type_code
12335 );
12336
12337 -------------------------------------------------------------------------------------------
12338 -- 4262811 - Generate the Accrual Reversal lines
12339 -------------------------------------------------------------------------------------------
12340 BEGIN
12341 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
12342 (g_array_event(p_event_id).array_value_num('header_index'));
12343 IF l_acc_rev_flag IS NULL THEN
12344 l_acc_rev_flag := 'N';
12345 END IF;
12346 EXCEPTION
12347 WHEN OTHERS THEN
12348 l_acc_rev_flag := 'N';
12349 END;
12350 --
12351 IF (l_acc_rev_flag = 'Y') THEN
12352
12353 -- 4645092 ------------------------------------------------------------------------------
12354 -- To allow MPA report to determine if it should generate report process
12355 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
12356 ------------------------------------------------------------------------------------------
12357
12358 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
12359 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
12360 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
12361 -- call ADRs
12362 -- Bug 4922099
12363 --
12364 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
12365 (NVL(l_actual_upg_option, 'N') = 'O') OR
12366 (NVL(l_enc_upg_option, 'N') = 'O')
12367 )
12368 THEN
12369 NULL;
12370 --
12371 --
12372
12373 l_ccid := AcctDerRule_32(
12374 p_application_id => p_application_id
12375 , p_ae_header_id => l_ae_header_id
12376 , p_source_10 => p_source_10
12377 , p_source_10_meaning => p_source_10_meaning
12378 , p_source_15 => p_source_15
12379 , p_source_16 => p_source_16
12380 , p_source_17 => p_source_17
12381 , p_source_17_meaning => p_source_17_meaning
12382 , p_source_18 => p_source_18
12383 , p_source_25 => p_source_25
12384 , p_source_43 => p_source_43
12385 , p_source_43_meaning => p_source_43_meaning
12386 , x_transaction_coa_id => l_adr_transaction_coa_id
12387 , x_accounting_coa_id => l_adr_accounting_coa_id
12388 , x_value_type_code => l_adr_value_type_code
12389 , p_side => 'ALL'
12390 );
12391
12392 xla_ae_lines_pkg.set_ccid(
12396 , p_accounting_coa_id => l_adr_accounting_coa_id
12393 p_code_combination_id => l_ccid
12394 , p_value_type_code => l_adr_value_type_code
12395 , p_transaction_coa_id => l_adr_transaction_coa_id
12397 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
12398 , p_adr_type_code => 'S'
12399 , p_component_type => l_component_type
12400 , p_component_code => l_component_code
12401 , p_component_type_code => l_component_type_code
12402 , p_component_appl_id => l_component_appl_id
12403 , p_amb_context_code => l_amb_context_code
12404 , p_side => 'ALL'
12405 );
12406
12407
12408 l_segment := AcctDerRule_9(
12409 p_application_id => p_application_id
12410 , p_ae_header_id => l_ae_header_id
12411 , p_source_10 => p_source_10
12412 , p_source_10_meaning => p_source_10_meaning
12413 , p_source_15 => p_source_15
12414 , p_source_17 => p_source_17
12415 , p_source_17_meaning => p_source_17_meaning
12416 , x_transaction_coa_id => l_adr_transaction_coa_id
12417 , x_accounting_coa_id => l_adr_accounting_coa_id
12418 , x_flexfield_segment_code => l_adr_flexfield_segment_code
12419 , x_flex_value_set_id => l_adr_flex_value_set_id
12420 , x_value_type_code => l_adr_value_type_code
12421 , x_value_combination_id => l_adr_value_combination_id
12422 , x_value_segment_code => l_adr_value_segment_code
12423 , p_side => 'DEBIT'
12424 , p_override_seg_flag => 'Y'
12425 );
12426
12427 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
12428
12429 xla_ae_lines_pkg.set_segment(
12430 p_to_segment_code => 'GL_ACCOUNT'
12431 , p_segment_value => l_segment
12432 , p_from_segment_code => l_adr_value_segment_code
12433 , p_from_combination_id => l_adr_value_combination_id
12434 , p_value_type_code => l_adr_value_type_code
12435 , p_transaction_coa_id => l_adr_transaction_coa_id
12436 , p_accounting_coa_id => l_adr_accounting_coa_id
12437 , p_flexfield_segment_code => l_adr_flexfield_segment_code
12438 , p_flex_value_set_id => l_adr_flex_value_set_id
12439 , p_adr_code => 'AP_ERV_GAIN_NAT_ACCT_SEG'
12440 , p_adr_type_code => 'S'
12441 , p_component_type => l_component_type
12442 , p_component_code => l_component_code
12443 , p_component_type_code => l_component_type_code
12444 , p_component_appl_id => l_component_appl_id
12445 , p_amb_context_code => l_amb_context_code
12446 , p_entity_code => 'AP_INVOICES'
12447 , p_event_class_code => 'DEBIT MEMOS'
12448 , p_side => 'DEBIT'
12449 );
12450
12451 END IF;
12452
12453 l_segment := AcctDerRule_10(
12454 p_application_id => p_application_id
12455 , p_ae_header_id => l_ae_header_id
12456 , p_source_10 => p_source_10
12457 , p_source_10_meaning => p_source_10_meaning
12458 , p_source_17 => p_source_17
12459 , p_source_17_meaning => p_source_17_meaning
12460 , p_source_18 => p_source_18
12461 , x_transaction_coa_id => l_adr_transaction_coa_id
12462 , x_accounting_coa_id => l_adr_accounting_coa_id
12463 , x_flexfield_segment_code => l_adr_flexfield_segment_code
12464 , x_flex_value_set_id => l_adr_flex_value_set_id
12465 , x_value_type_code => l_adr_value_type_code
12466 , x_value_combination_id => l_adr_value_combination_id
12467 , x_value_segment_code => l_adr_value_segment_code
12468 , p_side => 'CREDIT'
12469 , p_override_seg_flag => 'Y'
12470 );
12471
12472 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
12473
12474 xla_ae_lines_pkg.set_segment(
12475 p_to_segment_code => 'GL_ACCOUNT'
12476 , p_segment_value => l_segment
12477 , p_from_segment_code => l_adr_value_segment_code
12478 , p_from_combination_id => l_adr_value_combination_id
12479 , p_value_type_code => l_adr_value_type_code
12480 , p_transaction_coa_id => l_adr_transaction_coa_id
12481 , p_accounting_coa_id => l_adr_accounting_coa_id
12482 , p_flexfield_segment_code => l_adr_flexfield_segment_code
12483 , p_flex_value_set_id => l_adr_flex_value_set_id
12484 , p_adr_code => 'AP_ERV_LOSS_NAT_ACCT_SEG'
12485 , p_adr_type_code => 'S'
12486 , p_component_type => l_component_type
12487 , p_component_code => l_component_code
12488 , p_component_type_code => l_component_type_code
12489 , p_component_appl_id => l_component_appl_id
12490 , p_amb_context_code => l_amb_context_code
12491 , p_entity_code => 'AP_INVOICES'
12492 , p_event_class_code => 'DEBIT MEMOS'
12493 , p_side => 'CREDIT'
12494 );
12495
12496 END IF;
12497
12498 l_segment := AcctDerRule_24(
12499 p_application_id => p_application_id
12500 , p_ae_header_id => l_ae_header_id
12504 , p_source_17_meaning => p_source_17_meaning
12501 , p_source_10 => p_source_10
12502 , p_source_10_meaning => p_source_10_meaning
12503 , p_source_17 => p_source_17
12505 , p_source_25 => p_source_25
12506 , x_transaction_coa_id => l_adr_transaction_coa_id
12507 , x_accounting_coa_id => l_adr_accounting_coa_id
12508 , x_flexfield_segment_code => l_adr_flexfield_segment_code
12509 , x_flex_value_set_id => l_adr_flex_value_set_id
12510 , x_value_type_code => l_adr_value_type_code
12511 , x_value_combination_id => l_adr_value_combination_id
12512 , x_value_segment_code => l_adr_value_segment_code
12513 , p_side => 'ALL'
12514 , p_override_seg_flag => 'Y'
12515 );
12516
12517 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
12518
12519 xla_ae_lines_pkg.set_segment(
12520 p_to_segment_code => 'GL_BALANCING'
12521 , p_segment_value => l_segment
12522 , p_from_segment_code => l_adr_value_segment_code
12523 , p_from_combination_id => l_adr_value_combination_id
12524 , p_value_type_code => l_adr_value_type_code
12525 , p_transaction_coa_id => l_adr_transaction_coa_id
12526 , p_accounting_coa_id => l_adr_accounting_coa_id
12527 , p_flexfield_segment_code => l_adr_flexfield_segment_code
12528 , p_flex_value_set_id => l_adr_flex_value_set_id
12529 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
12530 , p_adr_type_code => 'S'
12531 , p_component_type => l_component_type
12532 , p_component_code => l_component_code
12533 , p_component_type_code => l_component_type_code
12534 , p_component_appl_id => l_component_appl_id
12535 , p_amb_context_code => l_amb_context_code
12536 , p_entity_code => 'AP_INVOICES'
12537 , p_event_class_code => 'DEBIT MEMOS'
12538 , p_side => 'ALL'
12539 );
12540
12541 END IF;
12542
12543 --
12544 --
12545 END IF;
12546
12547 --
12548 -- Update the line information that should be overwritten
12549 --
12550 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
12551 p_header_num => 1);
12552 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
12553
12554 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
12555
12556 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
12557 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
12558 END IF;
12559
12560 --
12561 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
12562 --
12563 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
12564 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
12565 ELSE
12566 ---------------------------------------------------------------------------------------------------
12567 -- 4262811a Switch Sign
12568 ---------------------------------------------------------------------------------------------------
12569 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
12570 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
12571 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
12572 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
12573 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
12574 -- 5132302
12575 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
12576 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
12577
12578 END IF;
12579
12580 -- 4955764
12581 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
12582 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
12583
12584
12585 XLA_AE_LINES_PKG.ValidateCurrentLine;
12586 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
12587
12588 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
12589 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
12590 ,p_balance_type_code => l_balance_type_code);
12591
12592 END IF;
12593
12594 -----------------------------------------------------------------------------------------
12595 -- 4262811 Multiperiod Accounting
12596 -----------------------------------------------------------------------------------------
12597 -- No MPA option is assigned.
12598
12599
12600 END IF;
12601 END IF;
12602 --
12603
12604 --
12605 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
12606 trace
12607 (p_msg => 'END of AcctLineType_61'
12608 ,p_level => C_LEVEL_PROCEDURE
12609 ,p_module => l_log_module);
12613 WHEN xla_exceptions_pkg.application_exception THEN
12610 END IF;
12611 --
12612 EXCEPTION
12614 RAISE;
12615 WHEN OTHERS THEN
12616 xla_exceptions_pkg.raise_message
12617 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_61');
12618 END AcctLineType_61;
12619 --
12620
12621 ---------------------------------------
12622 --
12623 -- PRIVATE FUNCTION
12624 -- AcctLineType_62
12625 --
12626 ---------------------------------------
12627 PROCEDURE AcctLineType_62 (
12628 p_application_id IN NUMBER
12629 ,p_event_id IN NUMBER
12630 ,p_calculate_acctd_flag IN VARCHAR2
12631 ,p_calculate_g_l_flag IN VARCHAR2
12632 ,p_actual_flag IN OUT VARCHAR2
12633 ,p_balance_type_code OUT VARCHAR2
12634 ,p_gain_or_loss_ref OUT VARCHAR2
12635
12636 --Invoice Distribution Description
12637 , p_source_1 IN VARCHAR2
12638 --Automatic Offsets Value
12639 , p_source_10 IN VARCHAR2
12640 , p_source_10_meaning IN VARCHAR2
12641 --Purchase Order Rate Variance Gain Account
12642 , p_source_15 IN NUMBER
12643 --Invoice Distribution Ledger Amount
12644 , p_source_16 IN NUMBER
12645 --Destination Type of the PO Distribution
12646 , p_source_17 IN VARCHAR2
12647 , p_source_17_meaning IN VARCHAR2
12648 --Purchase Order Rate Variance Loss Account
12649 , p_source_18 IN NUMBER
12650 --Invoice Distribution Account
12651 , p_source_25 IN NUMBER
12652 --Invoice Distribution Type
12653 , p_source_28 IN VARCHAR2
12654 , p_source_28_meaning IN VARCHAR2
12655 --Automatic Offsets Flag
12656 , p_source_43 IN VARCHAR2
12657 , p_source_43_meaning IN VARCHAR2
12658 --Accounting Reversal Indicator
12659 , p_source_58 IN VARCHAR2
12660 --Distribution Link Type
12661 , p_source_60 IN VARCHAR2
12662 --Allocation to Main Distribution Identifier
12663 , p_source_62 IN NUMBER
12664 --Invoice Identifier
12665 , p_source_63 IN NUMBER
12666 --Invoice Distribution Identifier
12667 , p_source_69 IN NUMBER
12668 --Payables Encumbrance Upgrade Credit Account
12669 , p_source_70 IN NUMBER
12670 --Payables Encumbrance Upgrade Credit Amount
12671 , p_source_71 IN NUMBER
12672 --Invoice Currency Code
12673 , p_source_72 IN VARCHAR2
12674 --Payables Encumbrance Upgrade Credit Base Amount
12675 , p_source_73 IN NUMBER
12676 --Payables Encumbrance Upgrade Debit Account
12677 , p_source_74 IN NUMBER
12678 --Payables Encumbrance Upgrade Debit Amount
12679 , p_source_75 IN NUMBER
12680 --Payables Encumbrance Upgrade Debit Base Amount
12681 , p_source_76 IN NUMBER
12682 --Payables Encumbrance Upgrade Option
12683 , p_source_77 IN VARCHAR2
12684 --Invoice Distribution Amount
12685 , p_source_78 IN NUMBER
12686 --Deferred Accounting End Date
12687 , p_source_82 IN DATE
12688 --Deferred Accounting Option
12689 , p_source_83 IN VARCHAR2
12690 --Deferred Accounting Start Date
12691 , p_source_84 IN DATE
12692 --Override Accounted Amount Indicator
12693 , p_source_85 IN VARCHAR2
12694 , p_source_85_meaning IN VARCHAR2
12695 --Invoice Supplier Identifier
12696 , p_source_86 IN NUMBER
12697 --Invoice Supplier Site Identifier
12698 , p_source_87 IN NUMBER
12699 --Third Party Type
12700 , p_source_88 IN VARCHAR2
12701 --Parent Reversal Identifier
12702 , p_source_89 IN NUMBER
12703 --Invoice Distribution Statistical Amount
12704 , p_source_90 IN NUMBER
12705 --Invoice Distribution Tax Line Identifier
12706 , p_source_91 IN NUMBER
12707 --Invoice Distribution Tax Distribution Identifier from Tax
12708 , p_source_92 IN NUMBER
12709 --Invoice Distribution Summary Tax Line Identifier
12710 , p_source_93 IN NUMBER
12711 --Payables Upgrade Credit Encumbrance Type Identifier
12712 , p_source_94 IN NUMBER
12713 --Payables Upgrade Debit Encumbrance Type Identifier
12714 , p_source_95 IN NUMBER
12715 --Business Flow Accounts Payable Application Identifier
12716 , p_source_96 IN NUMBER
12717 --Business Flow Invoice Distribution Type
12718 , p_source_97 IN VARCHAR2
12719 --Business Flow Invoice Entity Code
12720 , p_source_98 IN VARCHAR2
12721 --Business Flow Invoice Distribution Identifier
12722 , p_source_99 IN NUMBER
12723 --Business Flow Invoice Identifier
12724 , p_source_100 IN NUMBER
12725 )
12726 IS
12727
12728 l_component_type VARCHAR2(80);
12729 l_component_code VARCHAR2(30);
12730 l_component_type_code VARCHAR2(1);
12731 l_component_appl_id INTEGER;
12732 l_amb_context_code VARCHAR2(30);
12733 l_entity_code VARCHAR2(30);
12734 l_event_class_code VARCHAR2(30);
12735 l_ae_header_id NUMBER;
12736 l_event_type_code VARCHAR2(30);
12737 l_line_definition_code VARCHAR2(30);
12738 l_line_definition_owner_code VARCHAR2(1);
12739 --
12740 -- adr variables
12741 l_segment VARCHAR2(30);
12742 l_ccid NUMBER;
12743 l_adr_transaction_coa_id NUMBER;
12744 l_adr_accounting_coa_id NUMBER;
12748 l_adr_value_combination_id NUMBER;
12745 l_adr_flexfield_segment_code VARCHAR2(30);
12746 l_adr_flex_value_set_id NUMBER;
12747 l_adr_value_type_code VARCHAR2(30);
12749 l_adr_value_segment_code VARCHAR2(30);
12750
12751 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
12752 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
12753 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
12754 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
12755
12756 -- 4262811 Variables ------------------------------------------------------------------------------------------
12757 l_entered_amt_idx NUMBER;
12758 l_accted_amt_idx NUMBER;
12759 l_acc_rev_flag VARCHAR2(1);
12760 l_accrual_line_num NUMBER;
12761 l_tmp_amt NUMBER;
12762 l_acc_rev_natural_side_code VARCHAR2(1);
12763
12764 l_num_entries NUMBER;
12765 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
12766 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
12767 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
12768 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
12769 l_recog_line_1 NUMBER;
12770 l_recog_line_2 NUMBER;
12771
12772 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
12773 l_bflow_applied_to_amt NUMBER; -- 5132302
12774 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
12775
12776 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
12777
12778 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
12779 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
12780
12781 ---------------------------------------------------------------------------------------------------------------
12782
12783
12784 --
12785 -- bulk performance
12786 --
12787 l_balance_type_code VARCHAR2(1);
12788 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
12789 l_log_module VARCHAR2(240);
12790
12791 --
12792 -- Upgrade strategy
12793 --
12794 l_actual_upg_option VARCHAR2(1);
12795 l_enc_upg_option VARCHAR2(1);
12796
12797 --
12798 BEGIN
12799 --
12800 IF g_log_enabled THEN
12801 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_62';
12802 END IF;
12803 --
12804 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
12805
12806 trace
12807 (p_msg => 'BEGIN of AcctLineType_62'
12808 ,p_level => C_LEVEL_PROCEDURE
12809 ,p_module => l_log_module);
12810
12811 END IF;
12812 --
12813 l_component_type := 'AMB_JLT';
12814 l_component_code := 'AP_ALC_EX_RATE_VAR_INV';
12815 l_component_type_code := 'S';
12816 l_component_appl_id := 200;
12817 l_amb_context_code := 'DEFAULT';
12818 l_entity_code := 'AP_INVOICES';
12819 l_event_class_code := 'INVOICES';
12820 l_event_type_code := 'INVOICES_ALL';
12821 l_line_definition_owner_code := 'S';
12822 l_line_definition_code := 'ACCRUAL_INVOICES_ALL';
12823 --
12824 l_balance_type_code := 'A';
12825 l_segment := NULL;
12826 l_ccid := NULL;
12827 l_adr_transaction_coa_id := NULL;
12828 l_adr_accounting_coa_id := NULL;
12829 l_adr_flexfield_segment_code := NULL;
12830 l_adr_flex_value_set_id := NULL;
12831 l_adr_value_type_code := NULL;
12832 l_adr_value_combination_id := NULL;
12833 l_adr_value_segment_code := NULL;
12834
12835 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
12836 l_bflow_class_code := ''; -- 4219869 Business Flow
12837 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
12838 l_budgetary_control_flag := 'N';
12839
12840 l_bflow_applied_to_amt_idx := NULL; -- 5132302
12841 l_bflow_applied_to_amt := NULL; -- 5132302
12842 l_entered_amt_idx := NULL; -- 4262811
12843 l_accted_amt_idx := NULL; -- 4262811
12844 l_acc_rev_flag := NULL; -- 4262811
12845 l_accrual_line_num := NULL; -- 4262811
12846 l_tmp_amt := NULL; -- 4262811
12847 --
12848 IF NOT ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
12849 (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
12850 return;
12851 END IF;
12852
12853 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
12854 l_balance_type_code <> 'B' THEN
12855 IF NVL(p_source_28,'
12856 ') = 'ACCRUAL'
12857 THEN
12858
12859 --
12860 XLA_AE_LINES_PKG.SetNewLine;
12861
12862 p_balance_type_code := l_balance_type_code;
12863 -- set the flag so later we will know whether the gain loss line needs to be created
12864
12865 IF(l_balance_type_code = 'A' ) THEN
12866 p_actual_flag :='G';
12867 END IF;
12868
12869 --
12870 -- bulk performance
12871 --
12875 -- set accounting line options
12872 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
12873 p_header_num => 0); -- 4262811
12874 --
12876 --
12877 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
12878 p_natural_side_code => 'G'
12879 , p_gain_or_loss_flag => 'N'
12880 , p_gl_transfer_mode_code => 'S'
12881 , p_acct_entry_type_code => 'A'
12882 , p_switch_side_flag => ''
12883 , p_merge_duplicate_code => 'A'
12884 );
12885 --
12886 l_acc_rev_natural_side_code := 'C'; -- 4262811
12887 --
12888 --
12889 -- set accounting line type info
12890 --
12891 xla_ae_lines_pkg.SetAcctLineType
12892 (p_component_type => l_component_type
12893 ,p_event_type_code => l_event_type_code
12894 ,p_line_definition_owner_code => l_line_definition_owner_code
12895 ,p_line_definition_code => l_line_definition_code
12896 ,p_accounting_line_code => l_component_code
12897 ,p_accounting_line_type_code => l_component_type_code
12898 ,p_accounting_line_appl_id => l_component_appl_id
12899 ,p_amb_context_code => l_amb_context_code
12900 ,p_entity_code => l_entity_code
12901 ,p_event_class_code => l_event_class_code);
12902 --
12903 -- set accounting class
12904 --
12905 xla_ae_lines_pkg.SetAcctClass(
12906 p_accounting_class_code => 'EXCHANGE_RATE_VARIANCE'
12907 , p_ae_header_id => l_ae_header_id
12908 );
12909
12910 --
12911 -- set rounding class
12912 --
12913 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
12914 'EXCHANGE_RATE_VARIANCE';
12915
12916 --
12917 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
12918 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
12919 --
12920 -- bulk performance
12921 --
12922 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
12923
12924 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
12925 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
12926
12927 -- 4955764
12928 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
12929 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
12930
12931 -- 4458381 Public Sector Enh
12932
12933 --
12934 -- set accounting attributes for the line type
12935 --
12936 l_entered_amt_idx := NULL;
12937 l_accted_amt_idx := 24;
12938 l_bflow_applied_to_amt_idx := 7; -- 5132302
12939 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
12940 l_rec_acct_attrs.array_char_value(1) := p_source_58;
12941 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
12942 l_rec_acct_attrs.array_num_value(2) :=
12943 xla_ae_sources_pkg.GetSystemSourceNum(
12944 p_source_code => 'XLA_EVENT_APPL_ID'
12945 , p_source_type_code => 'Y'
12946 , p_source_application_id => 602
12947 );
12948 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
12949 l_rec_acct_attrs.array_char_value(3) := p_source_60;
12950 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
12951 l_rec_acct_attrs.array_char_value(4) :=
12952 xla_ae_sources_pkg.GetSystemSourceChar(
12953 p_source_code => 'XLA_ENTITY_CODE'
12954 , p_source_type_code => 'Y'
12955 , p_source_application_id => 602
12956 );
12957 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
12958 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_62);
12959 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
12960 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_63);
12961 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
12962 l_rec_acct_attrs.array_num_value(7) := p_source_78;
12963 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
12964 l_rec_acct_attrs.array_num_value(8) := p_source_96;
12965 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
12966 l_rec_acct_attrs.array_char_value(9) := p_source_97;
12967 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
12968 l_rec_acct_attrs.array_char_value(10) := p_source_98;
12969 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
12970 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_99);
12971 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
12972 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_100);
12973 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
12974 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_69);
12975 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
12976 l_rec_acct_attrs.array_char_value(14) := p_source_60;
12977 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
12978 l_rec_acct_attrs.array_num_value(15) := p_source_70;
12979 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
12980 l_rec_acct_attrs.array_num_value(16) := p_source_71;
12984 l_rec_acct_attrs.array_num_value(18) := p_source_73;
12981 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
12982 l_rec_acct_attrs.array_char_value(17) := p_source_72;
12983 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
12985 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
12986 l_rec_acct_attrs.array_num_value(19) := p_source_74;
12987 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
12988 l_rec_acct_attrs.array_num_value(20) := p_source_75;
12989 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
12990 l_rec_acct_attrs.array_char_value(21) := p_source_72;
12991 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
12992 l_rec_acct_attrs.array_num_value(22) := p_source_76;
12993 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
12994 l_rec_acct_attrs.array_char_value(23) := p_source_77;
12995 l_rec_acct_attrs.array_acct_attr_code(24) := 'LEDGER_AMOUNT';
12996 l_rec_acct_attrs.array_num_value(24) := p_source_16;
12997 l_rec_acct_attrs.array_acct_attr_code(25) := 'MULTIPERIOD_END_DATE';
12998 l_rec_acct_attrs.array_date_value(25) := p_source_82;
12999 l_rec_acct_attrs.array_acct_attr_code(26) := 'MULTIPERIOD_OPTION';
13000 l_rec_acct_attrs.array_char_value(26) := p_source_83;
13001 l_rec_acct_attrs.array_acct_attr_code(27) := 'MULTIPERIOD_START_DATE';
13002 l_rec_acct_attrs.array_date_value(27) := p_source_84;
13003 l_rec_acct_attrs.array_acct_attr_code(28) := 'OVERRIDE_ACCTD_AMT_FLAG';
13004 l_rec_acct_attrs.array_char_value(28) := p_source_85;
13005 l_rec_acct_attrs.array_acct_attr_code(29) := 'PARTY_ID';
13006 l_rec_acct_attrs.array_num_value(29) := p_source_86;
13007 l_rec_acct_attrs.array_acct_attr_code(30) := 'PARTY_SITE_ID';
13008 l_rec_acct_attrs.array_num_value(30) := p_source_87;
13009 l_rec_acct_attrs.array_acct_attr_code(31) := 'PARTY_TYPE';
13010 l_rec_acct_attrs.array_char_value(31) := p_source_88;
13011 l_rec_acct_attrs.array_acct_attr_code(32) := 'REVERSED_DISTRIBUTION_ID1';
13012 l_rec_acct_attrs.array_num_value(32) := to_char(p_source_89);
13013 l_rec_acct_attrs.array_acct_attr_code(33) := 'REVERSED_DISTRIBUTION_TYPE';
13014 l_rec_acct_attrs.array_char_value(33) := p_source_60;
13015 l_rec_acct_attrs.array_acct_attr_code(34) := 'STATISTICAL_AMOUNT';
13016 l_rec_acct_attrs.array_num_value(34) := p_source_90;
13017 l_rec_acct_attrs.array_acct_attr_code(35) := 'TAX_LINE_REF_ID';
13018 l_rec_acct_attrs.array_num_value(35) := p_source_91;
13019 l_rec_acct_attrs.array_acct_attr_code(36) := 'TAX_REC_NREC_DIST_REF_ID';
13020 l_rec_acct_attrs.array_num_value(36) := p_source_92;
13021 l_rec_acct_attrs.array_acct_attr_code(37) := 'TAX_SUMMARY_LINE_REF_ID';
13022 l_rec_acct_attrs.array_num_value(37) := p_source_93;
13023 l_rec_acct_attrs.array_acct_attr_code(38) := 'UPG_CR_ENC_TYPE_ID';
13024 l_rec_acct_attrs.array_num_value(38) := p_source_94;
13025 l_rec_acct_attrs.array_acct_attr_code(39) := 'UPG_DR_ENC_TYPE_ID';
13026 l_rec_acct_attrs.array_num_value(39) := p_source_95;
13027
13028 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
13029 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
13030
13031 ---------------------------------------------------------------------------------------------------------------
13032 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
13033 ---------------------------------------------------------------------------------------------------------------
13034 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
13035
13036 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
13037 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
13038
13039 IF xla_accounting_cache_pkg.GetValueChar
13040 (p_source_code => 'LEDGER_CATEGORY_CODE'
13041 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
13042 AND l_bflow_method_code = 'PRIOR_ENTRY'
13043 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
13044 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
13045 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
13046 )
13047 THEN
13048 xla_ae_lines_pkg.BflowUpgEntry
13049 (p_business_method_code => l_bflow_method_code
13050 ,p_business_class_code => l_bflow_class_code
13051 ,p_balance_type => l_balance_type_code);
13052 ELSE
13053 NULL;
13054 -- No business flow processing for business flow method of NONE.
13055 END IF;
13056
13057 --
13058 -- call analytical criteria
13059 --
13060
13061 --
13062 -- call description
13063 --
13064
13065 xla_ae_lines_pkg.SetLineDescription(
13066 p_ae_header_id => l_ae_header_id
13067 ,p_description => Description_2 (
13068 p_application_id => p_application_id
13069 , p_ae_header_id => l_ae_header_id
13070 , p_source_1 => p_source_1
13071 )
13072 );
13073
13074
13075 --
13076 -- call ADRs
13077 -- Bug 4922099
13078 --
13079 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
13080 (NVL(l_actual_upg_option, 'N') = 'O') OR
13081 (NVL(l_enc_upg_option, 'N') = 'O')
13082 )
13086 --
13083 THEN
13084 NULL;
13085 --
13087
13088 l_ccid := AcctDerRule_32(
13089 p_application_id => p_application_id
13090 , p_ae_header_id => l_ae_header_id
13091 , p_source_10 => p_source_10
13092 , p_source_10_meaning => p_source_10_meaning
13093 , p_source_15 => p_source_15
13094 , p_source_16 => p_source_16
13095 , p_source_17 => p_source_17
13096 , p_source_17_meaning => p_source_17_meaning
13097 , p_source_18 => p_source_18
13098 , p_source_25 => p_source_25
13099 , p_source_43 => p_source_43
13100 , p_source_43_meaning => p_source_43_meaning
13101 , x_transaction_coa_id => l_adr_transaction_coa_id
13102 , x_accounting_coa_id => l_adr_accounting_coa_id
13103 , x_value_type_code => l_adr_value_type_code
13104 , p_side => 'ALL'
13105 );
13106
13107 xla_ae_lines_pkg.set_ccid(
13108 p_code_combination_id => l_ccid
13109 , p_value_type_code => l_adr_value_type_code
13110 , p_transaction_coa_id => l_adr_transaction_coa_id
13111 , p_accounting_coa_id => l_adr_accounting_coa_id
13112 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
13113 , p_adr_type_code => 'S'
13114 , p_component_type => l_component_type
13115 , p_component_code => l_component_code
13116 , p_component_type_code => l_component_type_code
13117 , p_component_appl_id => l_component_appl_id
13118 , p_amb_context_code => l_amb_context_code
13119 , p_side => 'ALL'
13120 );
13121
13122
13123 l_segment := AcctDerRule_9(
13124 p_application_id => p_application_id
13125 , p_ae_header_id => l_ae_header_id
13126 , p_source_10 => p_source_10
13127 , p_source_10_meaning => p_source_10_meaning
13128 , p_source_15 => p_source_15
13129 , p_source_17 => p_source_17
13130 , p_source_17_meaning => p_source_17_meaning
13131 , x_transaction_coa_id => l_adr_transaction_coa_id
13132 , x_accounting_coa_id => l_adr_accounting_coa_id
13133 , x_flexfield_segment_code => l_adr_flexfield_segment_code
13134 , x_flex_value_set_id => l_adr_flex_value_set_id
13135 , x_value_type_code => l_adr_value_type_code
13136 , x_value_combination_id => l_adr_value_combination_id
13137 , x_value_segment_code => l_adr_value_segment_code
13138 , p_side => 'CREDIT'
13139 , p_override_seg_flag => 'Y'
13140 );
13141
13142 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
13143
13144 xla_ae_lines_pkg.set_segment(
13145 p_to_segment_code => 'GL_ACCOUNT'
13146 , p_segment_value => l_segment
13147 , p_from_segment_code => l_adr_value_segment_code
13148 , p_from_combination_id => l_adr_value_combination_id
13149 , p_value_type_code => l_adr_value_type_code
13150 , p_transaction_coa_id => l_adr_transaction_coa_id
13151 , p_accounting_coa_id => l_adr_accounting_coa_id
13152 , p_flexfield_segment_code => l_adr_flexfield_segment_code
13153 , p_flex_value_set_id => l_adr_flex_value_set_id
13154 , p_adr_code => 'AP_ERV_GAIN_NAT_ACCT_SEG'
13155 , p_adr_type_code => 'S'
13156 , p_component_type => l_component_type
13157 , p_component_code => l_component_code
13158 , p_component_type_code => l_component_type_code
13159 , p_component_appl_id => l_component_appl_id
13160 , p_amb_context_code => l_amb_context_code
13161 , p_entity_code => 'AP_INVOICES'
13162 , p_event_class_code => 'INVOICES'
13163 , p_side => 'CREDIT'
13164 );
13165
13166 END IF;
13167
13168 l_segment := AcctDerRule_10(
13169 p_application_id => p_application_id
13170 , p_ae_header_id => l_ae_header_id
13171 , p_source_10 => p_source_10
13172 , p_source_10_meaning => p_source_10_meaning
13173 , p_source_17 => p_source_17
13174 , p_source_17_meaning => p_source_17_meaning
13175 , p_source_18 => p_source_18
13176 , x_transaction_coa_id => l_adr_transaction_coa_id
13177 , x_accounting_coa_id => l_adr_accounting_coa_id
13178 , x_flexfield_segment_code => l_adr_flexfield_segment_code
13179 , x_flex_value_set_id => l_adr_flex_value_set_id
13180 , x_value_type_code => l_adr_value_type_code
13181 , x_value_combination_id => l_adr_value_combination_id
13182 , x_value_segment_code => l_adr_value_segment_code
13183 , p_side => 'DEBIT'
13184 , p_override_seg_flag => 'Y'
13185 );
13186
13187 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
13188
13189 xla_ae_lines_pkg.set_segment(
13190 p_to_segment_code => 'GL_ACCOUNT'
13191 , p_segment_value => l_segment
13192 , p_from_segment_code => l_adr_value_segment_code
13193 , p_from_combination_id => l_adr_value_combination_id
13194 , p_value_type_code => l_adr_value_type_code
13195 , p_transaction_coa_id => l_adr_transaction_coa_id
13199 , p_adr_code => 'AP_ERV_LOSS_NAT_ACCT_SEG'
13196 , p_accounting_coa_id => l_adr_accounting_coa_id
13197 , p_flexfield_segment_code => l_adr_flexfield_segment_code
13198 , p_flex_value_set_id => l_adr_flex_value_set_id
13200 , p_adr_type_code => 'S'
13201 , p_component_type => l_component_type
13202 , p_component_code => l_component_code
13203 , p_component_type_code => l_component_type_code
13204 , p_component_appl_id => l_component_appl_id
13205 , p_amb_context_code => l_amb_context_code
13206 , p_entity_code => 'AP_INVOICES'
13207 , p_event_class_code => 'INVOICES'
13208 , p_side => 'DEBIT'
13209 );
13210
13211 END IF;
13212
13213 l_segment := AcctDerRule_24(
13214 p_application_id => p_application_id
13215 , p_ae_header_id => l_ae_header_id
13216 , p_source_10 => p_source_10
13217 , p_source_10_meaning => p_source_10_meaning
13218 , p_source_17 => p_source_17
13219 , p_source_17_meaning => p_source_17_meaning
13220 , p_source_25 => p_source_25
13221 , x_transaction_coa_id => l_adr_transaction_coa_id
13222 , x_accounting_coa_id => l_adr_accounting_coa_id
13223 , x_flexfield_segment_code => l_adr_flexfield_segment_code
13224 , x_flex_value_set_id => l_adr_flex_value_set_id
13225 , x_value_type_code => l_adr_value_type_code
13226 , x_value_combination_id => l_adr_value_combination_id
13227 , x_value_segment_code => l_adr_value_segment_code
13228 , p_side => 'ALL'
13229 , p_override_seg_flag => 'Y'
13230 );
13231
13232 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
13233
13234 xla_ae_lines_pkg.set_segment(
13235 p_to_segment_code => 'GL_BALANCING'
13236 , p_segment_value => l_segment
13237 , p_from_segment_code => l_adr_value_segment_code
13238 , p_from_combination_id => l_adr_value_combination_id
13239 , p_value_type_code => l_adr_value_type_code
13240 , p_transaction_coa_id => l_adr_transaction_coa_id
13241 , p_accounting_coa_id => l_adr_accounting_coa_id
13242 , p_flexfield_segment_code => l_adr_flexfield_segment_code
13243 , p_flex_value_set_id => l_adr_flex_value_set_id
13244 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
13245 , p_adr_type_code => 'S'
13246 , p_component_type => l_component_type
13247 , p_component_code => l_component_code
13248 , p_component_type_code => l_component_type_code
13249 , p_component_appl_id => l_component_appl_id
13250 , p_amb_context_code => l_amb_context_code
13251 , p_entity_code => 'AP_INVOICES'
13252 , p_event_class_code => 'INVOICES'
13253 , p_side => 'ALL'
13254 );
13255
13256 END IF;
13257
13258 --
13259 --
13260 END IF;
13261 --
13262 -- Bug 4922099
13263 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
13264 (NVL(l_enc_upg_option, 'N') = 'O')
13265 ) AND
13266 (l_bflow_method_code = 'PRIOR_ENTRY')
13267 )
13268 THEN
13269 IF
13270 --
13271 1 = 2
13272 --
13273 THEN
13274 xla_accounting_err_pkg.build_message
13275 (p_appli_s_name => 'XLA'
13276 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
13277 ,p_token_1 => 'LINE_NUMBER'
13278 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
13279 ,p_token_2 => 'LINE_TYPE_NAME'
13280 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
13281 l_component_type
13282 ,l_component_code
13283 ,l_component_type_code
13284 ,l_component_appl_id
13285 ,l_amb_context_code
13286 ,l_entity_code
13287 ,l_event_class_code
13288 )
13289 ,p_token_3 => 'OWNER'
13290 ,p_value_3 => xla_lookups_pkg.get_meaning(
13291 p_lookup_type => 'XLA_OWNER_TYPE'
13292 ,p_lookup_code => l_component_type_code
13293 )
13294 ,p_token_4 => 'PRODUCT_NAME'
13295 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
13299 ,p_ae_header_id => NULL
13296 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
13297 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
13298 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
13300 );
13301
13302 IF (C_LEVEL_ERROR>= g_log_level) THEN
13303 trace
13304 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
13305 ,p_level => C_LEVEL_ERROR
13306 ,p_module => l_log_module);
13307 END IF;
13308 END IF;
13309 END IF;
13310 --
13311 --
13312 ------------------------------------------------------------------------------------------------
13313 -- 4219869 Business Flow
13314 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
13315 -- Prior Entry. Currently, the following code is always generated.
13316 ------------------------------------------------------------------------------------------------
13317 XLA_AE_LINES_PKG.ValidateCurrentLine;
13318
13319 ------------------------------------------------------------------------------------
13320 -- 4219869 Business Flow
13321 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
13322 ------------------------------------------------------------------------------------
13323 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
13324
13325 ----------------------------------------------------------------------------------
13326 -- 4219869 Business Flow
13327 -- Update journal entry status -- Need to generate this within IF <condition>
13328 ----------------------------------------------------------------------------------
13329 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
13330 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
13331 ,p_balance_type_code => l_balance_type_code
13332 );
13333
13334 -------------------------------------------------------------------------------------------
13335 -- 4262811 - Generate the Accrual Reversal lines
13336 -------------------------------------------------------------------------------------------
13337 BEGIN
13338 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
13339 (g_array_event(p_event_id).array_value_num('header_index'));
13340 IF l_acc_rev_flag IS NULL THEN
13341 l_acc_rev_flag := 'N';
13342 END IF;
13343 EXCEPTION
13344 WHEN OTHERS THEN
13345 l_acc_rev_flag := 'N';
13346 END;
13347 --
13348 IF (l_acc_rev_flag = 'Y') THEN
13349
13350 -- 4645092 ------------------------------------------------------------------------------
13351 -- To allow MPA report to determine if it should generate report process
13352 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
13353 ------------------------------------------------------------------------------------------
13354
13355 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
13356 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
13357 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
13358 -- call ADRs
13359 -- Bug 4922099
13360 --
13361 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
13362 (NVL(l_actual_upg_option, 'N') = 'O') OR
13363 (NVL(l_enc_upg_option, 'N') = 'O')
13364 )
13365 THEN
13366 NULL;
13367 --
13368 --
13369
13370 l_ccid := AcctDerRule_32(
13371 p_application_id => p_application_id
13372 , p_ae_header_id => l_ae_header_id
13373 , p_source_10 => p_source_10
13374 , p_source_10_meaning => p_source_10_meaning
13375 , p_source_15 => p_source_15
13376 , p_source_16 => p_source_16
13377 , p_source_17 => p_source_17
13378 , p_source_17_meaning => p_source_17_meaning
13379 , p_source_18 => p_source_18
13380 , p_source_25 => p_source_25
13381 , p_source_43 => p_source_43
13382 , p_source_43_meaning => p_source_43_meaning
13383 , x_transaction_coa_id => l_adr_transaction_coa_id
13384 , x_accounting_coa_id => l_adr_accounting_coa_id
13385 , x_value_type_code => l_adr_value_type_code
13386 , p_side => 'ALL'
13387 );
13388
13389 xla_ae_lines_pkg.set_ccid(
13390 p_code_combination_id => l_ccid
13391 , p_value_type_code => l_adr_value_type_code
13392 , p_transaction_coa_id => l_adr_transaction_coa_id
13393 , p_accounting_coa_id => l_adr_accounting_coa_id
13394 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
13395 , p_adr_type_code => 'S'
13396 , p_component_type => l_component_type
13397 , p_component_code => l_component_code
13398 , p_component_type_code => l_component_type_code
13399 , p_component_appl_id => l_component_appl_id
13400 , p_amb_context_code => l_amb_context_code
13401 , p_side => 'ALL'
13402 );
13403
13404
13405 l_segment := AcctDerRule_9(
13406 p_application_id => p_application_id
13407 , p_ae_header_id => l_ae_header_id
13408 , p_source_10 => p_source_10
13409 , p_source_10_meaning => p_source_10_meaning
13413 , x_transaction_coa_id => l_adr_transaction_coa_id
13410 , p_source_15 => p_source_15
13411 , p_source_17 => p_source_17
13412 , p_source_17_meaning => p_source_17_meaning
13414 , x_accounting_coa_id => l_adr_accounting_coa_id
13415 , x_flexfield_segment_code => l_adr_flexfield_segment_code
13416 , x_flex_value_set_id => l_adr_flex_value_set_id
13417 , x_value_type_code => l_adr_value_type_code
13418 , x_value_combination_id => l_adr_value_combination_id
13419 , x_value_segment_code => l_adr_value_segment_code
13420 , p_side => 'CREDIT'
13421 , p_override_seg_flag => 'Y'
13422 );
13423
13424 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
13425
13426 xla_ae_lines_pkg.set_segment(
13427 p_to_segment_code => 'GL_ACCOUNT'
13428 , p_segment_value => l_segment
13429 , p_from_segment_code => l_adr_value_segment_code
13430 , p_from_combination_id => l_adr_value_combination_id
13431 , p_value_type_code => l_adr_value_type_code
13432 , p_transaction_coa_id => l_adr_transaction_coa_id
13433 , p_accounting_coa_id => l_adr_accounting_coa_id
13434 , p_flexfield_segment_code => l_adr_flexfield_segment_code
13435 , p_flex_value_set_id => l_adr_flex_value_set_id
13436 , p_adr_code => 'AP_ERV_GAIN_NAT_ACCT_SEG'
13437 , p_adr_type_code => 'S'
13438 , p_component_type => l_component_type
13439 , p_component_code => l_component_code
13440 , p_component_type_code => l_component_type_code
13441 , p_component_appl_id => l_component_appl_id
13442 , p_amb_context_code => l_amb_context_code
13443 , p_entity_code => 'AP_INVOICES'
13444 , p_event_class_code => 'INVOICES'
13445 , p_side => 'CREDIT'
13446 );
13447
13448 END IF;
13449
13450 l_segment := AcctDerRule_10(
13451 p_application_id => p_application_id
13452 , p_ae_header_id => l_ae_header_id
13453 , p_source_10 => p_source_10
13454 , p_source_10_meaning => p_source_10_meaning
13455 , p_source_17 => p_source_17
13456 , p_source_17_meaning => p_source_17_meaning
13457 , p_source_18 => p_source_18
13458 , x_transaction_coa_id => l_adr_transaction_coa_id
13459 , x_accounting_coa_id => l_adr_accounting_coa_id
13460 , x_flexfield_segment_code => l_adr_flexfield_segment_code
13461 , x_flex_value_set_id => l_adr_flex_value_set_id
13462 , x_value_type_code => l_adr_value_type_code
13463 , x_value_combination_id => l_adr_value_combination_id
13464 , x_value_segment_code => l_adr_value_segment_code
13465 , p_side => 'DEBIT'
13466 , p_override_seg_flag => 'Y'
13467 );
13468
13469 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
13470
13471 xla_ae_lines_pkg.set_segment(
13472 p_to_segment_code => 'GL_ACCOUNT'
13473 , p_segment_value => l_segment
13474 , p_from_segment_code => l_adr_value_segment_code
13475 , p_from_combination_id => l_adr_value_combination_id
13476 , p_value_type_code => l_adr_value_type_code
13477 , p_transaction_coa_id => l_adr_transaction_coa_id
13478 , p_accounting_coa_id => l_adr_accounting_coa_id
13479 , p_flexfield_segment_code => l_adr_flexfield_segment_code
13480 , p_flex_value_set_id => l_adr_flex_value_set_id
13481 , p_adr_code => 'AP_ERV_LOSS_NAT_ACCT_SEG'
13482 , p_adr_type_code => 'S'
13483 , p_component_type => l_component_type
13484 , p_component_code => l_component_code
13485 , p_component_type_code => l_component_type_code
13486 , p_component_appl_id => l_component_appl_id
13487 , p_amb_context_code => l_amb_context_code
13488 , p_entity_code => 'AP_INVOICES'
13489 , p_event_class_code => 'INVOICES'
13490 , p_side => 'DEBIT'
13491 );
13492
13493 END IF;
13494
13495 l_segment := AcctDerRule_24(
13496 p_application_id => p_application_id
13497 , p_ae_header_id => l_ae_header_id
13498 , p_source_10 => p_source_10
13499 , p_source_10_meaning => p_source_10_meaning
13500 , p_source_17 => p_source_17
13501 , p_source_17_meaning => p_source_17_meaning
13502 , p_source_25 => p_source_25
13503 , x_transaction_coa_id => l_adr_transaction_coa_id
13504 , x_accounting_coa_id => l_adr_accounting_coa_id
13505 , x_flexfield_segment_code => l_adr_flexfield_segment_code
13506 , x_flex_value_set_id => l_adr_flex_value_set_id
13507 , x_value_type_code => l_adr_value_type_code
13508 , x_value_combination_id => l_adr_value_combination_id
13509 , x_value_segment_code => l_adr_value_segment_code
13510 , p_side => 'ALL'
13511 , p_override_seg_flag => 'Y'
13512 );
13513
13514 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
13515
13519 , p_from_segment_code => l_adr_value_segment_code
13516 xla_ae_lines_pkg.set_segment(
13517 p_to_segment_code => 'GL_BALANCING'
13518 , p_segment_value => l_segment
13520 , p_from_combination_id => l_adr_value_combination_id
13521 , p_value_type_code => l_adr_value_type_code
13522 , p_transaction_coa_id => l_adr_transaction_coa_id
13523 , p_accounting_coa_id => l_adr_accounting_coa_id
13524 , p_flexfield_segment_code => l_adr_flexfield_segment_code
13525 , p_flex_value_set_id => l_adr_flex_value_set_id
13526 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
13527 , p_adr_type_code => 'S'
13528 , p_component_type => l_component_type
13529 , p_component_code => l_component_code
13530 , p_component_type_code => l_component_type_code
13531 , p_component_appl_id => l_component_appl_id
13532 , p_amb_context_code => l_amb_context_code
13533 , p_entity_code => 'AP_INVOICES'
13534 , p_event_class_code => 'INVOICES'
13535 , p_side => 'ALL'
13536 );
13537
13538 END IF;
13539
13540 --
13541 --
13542 END IF;
13543
13544 --
13545 -- Update the line information that should be overwritten
13546 --
13547 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
13548 p_header_num => 1);
13549 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
13550
13551 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
13552
13553 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
13554 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
13555 END IF;
13556
13557 --
13558 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
13559 --
13560 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
13561 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
13562 ELSE
13563 ---------------------------------------------------------------------------------------------------
13564 -- 4262811a Switch Sign
13565 ---------------------------------------------------------------------------------------------------
13566 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
13567 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
13568 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
13569 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
13570 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
13571 -- 5132302
13572 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
13573 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
13574
13575 END IF;
13576
13577 -- 4955764
13578 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
13579 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
13580
13581
13582 XLA_AE_LINES_PKG.ValidateCurrentLine;
13583 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
13584
13585 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
13586 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
13587 ,p_balance_type_code => l_balance_type_code);
13588
13589 END IF;
13590
13591 -----------------------------------------------------------------------------------------
13592 -- 4262811 Multiperiod Accounting
13593 -----------------------------------------------------------------------------------------
13594 -- No MPA option is assigned.
13595
13596
13597 END IF;
13598 END IF;
13599 --
13600
13601 --
13602 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
13603 trace
13604 (p_msg => 'END of AcctLineType_62'
13605 ,p_level => C_LEVEL_PROCEDURE
13606 ,p_module => l_log_module);
13607 END IF;
13608 --
13609 EXCEPTION
13610 WHEN xla_exceptions_pkg.application_exception THEN
13611 RAISE;
13612 WHEN OTHERS THEN
13613 xla_exceptions_pkg.raise_message
13614 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_62');
13615 END AcctLineType_62;
13616 --
13617
13618 ---------------------------------------
13619 --
13620 -- PRIVATE FUNCTION
13621 -- AcctLineType_63
13622 --
13623 ---------------------------------------
13624 PROCEDURE AcctLineType_63 (
13625 p_application_id IN NUMBER
13626 ,p_event_id IN NUMBER
13627 ,p_calculate_acctd_flag IN VARCHAR2
13628 ,p_calculate_g_l_flag IN VARCHAR2
13629 ,p_actual_flag IN OUT VARCHAR2
13630 ,p_balance_type_code OUT VARCHAR2
13631 ,p_gain_or_loss_ref OUT VARCHAR2
13635 --Automatic Offsets Value
13632
13633 --Invoice Distribution Description
13634 , p_source_1 IN VARCHAR2
13636 , p_source_10 IN VARCHAR2
13637 , p_source_10_meaning IN VARCHAR2
13638 --Purchase Order Rate Variance Gain Account
13639 , p_source_15 IN NUMBER
13640 --Invoice Distribution Ledger Amount
13641 , p_source_16 IN NUMBER
13642 --Destination Type of the PO Distribution
13643 , p_source_17 IN VARCHAR2
13644 , p_source_17_meaning IN VARCHAR2
13645 --Purchase Order Rate Variance Loss Account
13646 , p_source_18 IN NUMBER
13647 --Invoice Distribution Account
13648 , p_source_25 IN NUMBER
13649 --Invoice Distribution Type
13650 , p_source_28 IN VARCHAR2
13651 , p_source_28_meaning IN VARCHAR2
13652 --Automatic Offsets Flag
13653 , p_source_43 IN VARCHAR2
13654 , p_source_43_meaning IN VARCHAR2
13655 --Accounting Reversal Indicator
13656 , p_source_58 IN VARCHAR2
13657 --Distribution Link Type
13658 , p_source_60 IN VARCHAR2
13659 --Allocation to Main Distribution Identifier
13660 , p_source_62 IN NUMBER
13661 --Invoice Identifier
13662 , p_source_63 IN NUMBER
13663 --Invoice Distribution Identifier
13664 , p_source_69 IN NUMBER
13665 --Payables Encumbrance Upgrade Credit Account
13666 , p_source_70 IN NUMBER
13667 --Payables Encumbrance Upgrade Credit Amount
13668 , p_source_71 IN NUMBER
13669 --Invoice Currency Code
13670 , p_source_72 IN VARCHAR2
13671 --Payables Encumbrance Upgrade Credit Base Amount
13672 , p_source_73 IN NUMBER
13673 --Payables Encumbrance Upgrade Debit Account
13674 , p_source_74 IN NUMBER
13675 --Payables Encumbrance Upgrade Debit Amount
13676 , p_source_75 IN NUMBER
13677 --Payables Encumbrance Upgrade Debit Base Amount
13678 , p_source_76 IN NUMBER
13679 --Payables Encumbrance Upgrade Option
13680 , p_source_77 IN VARCHAR2
13681 --Deferred Accounting End Date
13682 , p_source_82 IN DATE
13683 --Deferred Accounting Option
13684 , p_source_83 IN VARCHAR2
13685 --Deferred Accounting Start Date
13686 , p_source_84 IN DATE
13687 --Override Accounted Amount Indicator
13688 , p_source_85 IN VARCHAR2
13689 , p_source_85_meaning IN VARCHAR2
13690 --Invoice Supplier Identifier
13691 , p_source_86 IN NUMBER
13692 --Invoice Supplier Site Identifier
13693 , p_source_87 IN NUMBER
13694 --Third Party Type
13695 , p_source_88 IN VARCHAR2
13696 --Parent Reversal Identifier
13697 , p_source_89 IN NUMBER
13698 --Invoice Distribution Statistical Amount
13699 , p_source_90 IN NUMBER
13700 --Invoice Distribution Tax Line Identifier
13701 , p_source_91 IN NUMBER
13702 --Invoice Distribution Tax Distribution Identifier from Tax
13703 , p_source_92 IN NUMBER
13704 --Invoice Distribution Summary Tax Line Identifier
13705 , p_source_93 IN NUMBER
13706 --Payables Upgrade Credit Encumbrance Type Identifier
13707 , p_source_94 IN NUMBER
13708 --Payables Upgrade Debit Encumbrance Type Identifier
13709 , p_source_95 IN NUMBER
13710 --Business Flow Accounts Payable Application Identifier
13711 , p_source_96 IN NUMBER
13712 --Business Flow Invoice Distribution Type
13713 , p_source_97 IN VARCHAR2
13714 --Business Flow Invoice Entity Code
13715 , p_source_98 IN VARCHAR2
13716 --Business Flow Invoice Distribution Identifier
13717 , p_source_99 IN NUMBER
13718 --Business Flow Invoice Identifier
13719 , p_source_100 IN NUMBER
13720 )
13721 IS
13722
13723 l_component_type VARCHAR2(80);
13724 l_component_code VARCHAR2(30);
13725 l_component_type_code VARCHAR2(1);
13726 l_component_appl_id INTEGER;
13727 l_amb_context_code VARCHAR2(30);
13728 l_entity_code VARCHAR2(30);
13729 l_event_class_code VARCHAR2(30);
13730 l_ae_header_id NUMBER;
13731 l_event_type_code VARCHAR2(30);
13732 l_line_definition_code VARCHAR2(30);
13733 l_line_definition_owner_code VARCHAR2(1);
13734 --
13735 -- adr variables
13736 l_segment VARCHAR2(30);
13737 l_ccid NUMBER;
13738 l_adr_transaction_coa_id NUMBER;
13739 l_adr_accounting_coa_id NUMBER;
13740 l_adr_flexfield_segment_code VARCHAR2(30);
13741 l_adr_flex_value_set_id NUMBER;
13742 l_adr_value_type_code VARCHAR2(30);
13743 l_adr_value_combination_id NUMBER;
13744 l_adr_value_segment_code VARCHAR2(30);
13745
13746 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
13747 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
13748 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
13749 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
13750
13751 -- 4262811 Variables ------------------------------------------------------------------------------------------
13752 l_entered_amt_idx NUMBER;
13753 l_accted_amt_idx NUMBER;
13754 l_acc_rev_flag VARCHAR2(1);
13755 l_accrual_line_num NUMBER;
13756 l_tmp_amt NUMBER;
13757 l_acc_rev_natural_side_code VARCHAR2(1);
13758
13759 l_num_entries NUMBER;
13763 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
13760 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
13761 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
13762 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
13764 l_recog_line_1 NUMBER;
13765 l_recog_line_2 NUMBER;
13766
13767 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
13768 l_bflow_applied_to_amt NUMBER; -- 5132302
13769 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
13770
13771 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
13772
13773 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
13774 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
13775
13776 ---------------------------------------------------------------------------------------------------------------
13777
13778
13779 --
13780 -- bulk performance
13781 --
13782 l_balance_type_code VARCHAR2(1);
13783 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
13784 l_log_module VARCHAR2(240);
13785
13786 --
13787 -- Upgrade strategy
13788 --
13789 l_actual_upg_option VARCHAR2(1);
13790 l_enc_upg_option VARCHAR2(1);
13791
13792 --
13793 BEGIN
13794 --
13795 IF g_log_enabled THEN
13796 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_63';
13797 END IF;
13798 --
13799 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
13800
13801 trace
13802 (p_msg => 'BEGIN of AcctLineType_63'
13803 ,p_level => C_LEVEL_PROCEDURE
13804 ,p_module => l_log_module);
13805
13806 END IF;
13807 --
13808 l_component_type := 'AMB_JLT';
13809 l_component_code := 'AP_ALC_EX_RATE_VAR_PREPAY';
13810 l_component_type_code := 'S';
13811 l_component_appl_id := 200;
13812 l_amb_context_code := 'DEFAULT';
13813 l_entity_code := 'AP_INVOICES';
13814 l_event_class_code := 'PREPAYMENTS';
13815 l_event_type_code := 'PREPAYMENTS_ALL';
13816 l_line_definition_owner_code := 'S';
13817 l_line_definition_code := 'ACCRUAL_PREPAYMENTS_ALL';
13818 --
13819 l_balance_type_code := 'A';
13820 l_segment := NULL;
13821 l_ccid := NULL;
13822 l_adr_transaction_coa_id := NULL;
13823 l_adr_accounting_coa_id := NULL;
13824 l_adr_flexfield_segment_code := NULL;
13825 l_adr_flex_value_set_id := NULL;
13826 l_adr_value_type_code := NULL;
13827 l_adr_value_combination_id := NULL;
13828 l_adr_value_segment_code := NULL;
13829
13830 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
13831 l_bflow_class_code := ''; -- 4219869 Business Flow
13832 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
13833 l_budgetary_control_flag := 'N';
13834
13835 l_bflow_applied_to_amt_idx := NULL; -- 5132302
13836 l_bflow_applied_to_amt := NULL; -- 5132302
13837 l_entered_amt_idx := NULL; -- 4262811
13838 l_accted_amt_idx := NULL; -- 4262811
13839 l_acc_rev_flag := NULL; -- 4262811
13840 l_accrual_line_num := NULL; -- 4262811
13841 l_tmp_amt := NULL; -- 4262811
13842 --
13843 IF NOT ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
13844 (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
13845 return;
13846 END IF;
13847
13848 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
13849 l_balance_type_code <> 'B' THEN
13850 IF NVL(p_source_28,'
13851 ') = 'ACCRUAL'
13852 THEN
13853
13854 --
13855 XLA_AE_LINES_PKG.SetNewLine;
13856
13857 p_balance_type_code := l_balance_type_code;
13858 -- set the flag so later we will know whether the gain loss line needs to be created
13859
13860 IF(l_balance_type_code = 'A' ) THEN
13861 p_actual_flag :='G';
13862 END IF;
13863
13864 --
13865 -- bulk performance
13866 --
13867 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
13868 p_header_num => 0); -- 4262811
13869 --
13870 -- set accounting line options
13871 --
13872 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
13873 p_natural_side_code => 'G'
13874 , p_gain_or_loss_flag => 'N'
13875 , p_gl_transfer_mode_code => 'S'
13876 , p_acct_entry_type_code => 'A'
13877 , p_switch_side_flag => ''
13878 , p_merge_duplicate_code => 'A'
13879 );
13880 --
13881 l_acc_rev_natural_side_code := 'C'; -- 4262811
13882 --
13883 --
13884 -- set accounting line type info
13885 --
13886 xla_ae_lines_pkg.SetAcctLineType
13887 (p_component_type => l_component_type
13891 ,p_accounting_line_code => l_component_code
13888 ,p_event_type_code => l_event_type_code
13889 ,p_line_definition_owner_code => l_line_definition_owner_code
13890 ,p_line_definition_code => l_line_definition_code
13892 ,p_accounting_line_type_code => l_component_type_code
13893 ,p_accounting_line_appl_id => l_component_appl_id
13894 ,p_amb_context_code => l_amb_context_code
13895 ,p_entity_code => l_entity_code
13896 ,p_event_class_code => l_event_class_code);
13897 --
13898 -- set accounting class
13899 --
13900 xla_ae_lines_pkg.SetAcctClass(
13901 p_accounting_class_code => 'EXCHANGE_RATE_VARIANCE'
13902 , p_ae_header_id => l_ae_header_id
13903 );
13904
13905 --
13906 -- set rounding class
13907 --
13908 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
13909 'EXCHANGE_RATE_VARIANCE';
13910
13911 --
13912 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
13913 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
13914 --
13915 -- bulk performance
13916 --
13917 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
13918
13919 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
13920 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
13921
13922 -- 4955764
13923 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
13924 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
13925
13926 -- 4458381 Public Sector Enh
13927
13928 --
13929 -- set accounting attributes for the line type
13930 --
13931 l_entered_amt_idx := NULL;
13932 l_accted_amt_idx := 23;
13933 l_bflow_applied_to_amt_idx := NULL; -- 5132302
13934 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
13935 l_rec_acct_attrs.array_char_value(1) := p_source_58;
13936 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
13937 l_rec_acct_attrs.array_num_value(2) :=
13938 xla_ae_sources_pkg.GetSystemSourceNum(
13939 p_source_code => 'XLA_EVENT_APPL_ID'
13940 , p_source_type_code => 'Y'
13941 , p_source_application_id => 602
13942 );
13943 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
13944 l_rec_acct_attrs.array_char_value(3) := p_source_60;
13945 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
13946 l_rec_acct_attrs.array_char_value(4) :=
13947 xla_ae_sources_pkg.GetSystemSourceChar(
13948 p_source_code => 'XLA_ENTITY_CODE'
13949 , p_source_type_code => 'Y'
13950 , p_source_application_id => 602
13951 );
13952 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
13953 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_62);
13954 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
13955 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_63);
13956 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
13957 l_rec_acct_attrs.array_num_value(7) := p_source_96;
13958 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
13959 l_rec_acct_attrs.array_char_value(8) := p_source_97;
13960 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
13961 l_rec_acct_attrs.array_char_value(9) := p_source_98;
13962 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
13963 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_99);
13964 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
13965 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_100);
13966 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
13967 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_69);
13968 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
13969 l_rec_acct_attrs.array_char_value(13) := p_source_60;
13970 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
13971 l_rec_acct_attrs.array_num_value(14) := p_source_70;
13972 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
13973 l_rec_acct_attrs.array_num_value(15) := p_source_71;
13974 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
13975 l_rec_acct_attrs.array_char_value(16) := p_source_72;
13976 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
13977 l_rec_acct_attrs.array_num_value(17) := p_source_73;
13978 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
13979 l_rec_acct_attrs.array_num_value(18) := p_source_74;
13980 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
13981 l_rec_acct_attrs.array_num_value(19) := p_source_75;
13982 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
13983 l_rec_acct_attrs.array_char_value(20) := p_source_72;
13984 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
13985 l_rec_acct_attrs.array_num_value(21) := p_source_76;
13986 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
13987 l_rec_acct_attrs.array_char_value(22) := p_source_77;
13988 l_rec_acct_attrs.array_acct_attr_code(23) := 'LEDGER_AMOUNT';
13992 l_rec_acct_attrs.array_acct_attr_code(25) := 'MULTIPERIOD_OPTION';
13989 l_rec_acct_attrs.array_num_value(23) := p_source_16;
13990 l_rec_acct_attrs.array_acct_attr_code(24) := 'MULTIPERIOD_END_DATE';
13991 l_rec_acct_attrs.array_date_value(24) := p_source_82;
13993 l_rec_acct_attrs.array_char_value(25) := p_source_83;
13994 l_rec_acct_attrs.array_acct_attr_code(26) := 'MULTIPERIOD_START_DATE';
13995 l_rec_acct_attrs.array_date_value(26) := p_source_84;
13996 l_rec_acct_attrs.array_acct_attr_code(27) := 'OVERRIDE_ACCTD_AMT_FLAG';
13997 l_rec_acct_attrs.array_char_value(27) := p_source_85;
13998 l_rec_acct_attrs.array_acct_attr_code(28) := 'PARTY_ID';
13999 l_rec_acct_attrs.array_num_value(28) := p_source_86;
14000 l_rec_acct_attrs.array_acct_attr_code(29) := 'PARTY_SITE_ID';
14001 l_rec_acct_attrs.array_num_value(29) := p_source_87;
14002 l_rec_acct_attrs.array_acct_attr_code(30) := 'PARTY_TYPE';
14003 l_rec_acct_attrs.array_char_value(30) := p_source_88;
14004 l_rec_acct_attrs.array_acct_attr_code(31) := 'REVERSED_DISTRIBUTION_ID1';
14005 l_rec_acct_attrs.array_num_value(31) := to_char(p_source_89);
14006 l_rec_acct_attrs.array_acct_attr_code(32) := 'REVERSED_DISTRIBUTION_TYPE';
14007 l_rec_acct_attrs.array_char_value(32) := p_source_60;
14008 l_rec_acct_attrs.array_acct_attr_code(33) := 'STATISTICAL_AMOUNT';
14009 l_rec_acct_attrs.array_num_value(33) := p_source_90;
14010 l_rec_acct_attrs.array_acct_attr_code(34) := 'TAX_LINE_REF_ID';
14011 l_rec_acct_attrs.array_num_value(34) := p_source_91;
14012 l_rec_acct_attrs.array_acct_attr_code(35) := 'TAX_REC_NREC_DIST_REF_ID';
14013 l_rec_acct_attrs.array_num_value(35) := p_source_92;
14014 l_rec_acct_attrs.array_acct_attr_code(36) := 'TAX_SUMMARY_LINE_REF_ID';
14015 l_rec_acct_attrs.array_num_value(36) := p_source_93;
14016 l_rec_acct_attrs.array_acct_attr_code(37) := 'UPG_CR_ENC_TYPE_ID';
14017 l_rec_acct_attrs.array_num_value(37) := p_source_94;
14018 l_rec_acct_attrs.array_acct_attr_code(38) := 'UPG_DR_ENC_TYPE_ID';
14019 l_rec_acct_attrs.array_num_value(38) := p_source_95;
14020
14021 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
14022 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
14023
14024 ---------------------------------------------------------------------------------------------------------------
14025 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
14026 ---------------------------------------------------------------------------------------------------------------
14027 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
14028
14029 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
14030 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
14031
14032 IF xla_accounting_cache_pkg.GetValueChar
14033 (p_source_code => 'LEDGER_CATEGORY_CODE'
14034 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
14035 AND l_bflow_method_code = 'PRIOR_ENTRY'
14036 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
14037 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
14038 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
14039 )
14040 THEN
14041 xla_ae_lines_pkg.BflowUpgEntry
14042 (p_business_method_code => l_bflow_method_code
14043 ,p_business_class_code => l_bflow_class_code
14044 ,p_balance_type => l_balance_type_code);
14045 ELSE
14046 NULL;
14047 -- No business flow processing for business flow method of NONE.
14048 END IF;
14049
14050 --
14051 -- call analytical criteria
14052 --
14053
14054 --
14055 -- call description
14056 --
14057
14058 xla_ae_lines_pkg.SetLineDescription(
14059 p_ae_header_id => l_ae_header_id
14060 ,p_description => Description_2 (
14061 p_application_id => p_application_id
14062 , p_ae_header_id => l_ae_header_id
14063 , p_source_1 => p_source_1
14064 )
14065 );
14066
14067
14068 --
14069 -- call ADRs
14070 -- Bug 4922099
14071 --
14072 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
14073 (NVL(l_actual_upg_option, 'N') = 'O') OR
14074 (NVL(l_enc_upg_option, 'N') = 'O')
14075 )
14076 THEN
14077 NULL;
14078 --
14079 --
14080
14081 l_ccid := AcctDerRule_32(
14082 p_application_id => p_application_id
14083 , p_ae_header_id => l_ae_header_id
14084 , p_source_10 => p_source_10
14085 , p_source_10_meaning => p_source_10_meaning
14086 , p_source_15 => p_source_15
14087 , p_source_16 => p_source_16
14088 , p_source_17 => p_source_17
14089 , p_source_17_meaning => p_source_17_meaning
14090 , p_source_18 => p_source_18
14091 , p_source_25 => p_source_25
14092 , p_source_43 => p_source_43
14093 , p_source_43_meaning => p_source_43_meaning
14094 , x_transaction_coa_id => l_adr_transaction_coa_id
14095 , x_accounting_coa_id => l_adr_accounting_coa_id
14096 , x_value_type_code => l_adr_value_type_code
14097 , p_side => 'ALL'
14098 );
14099
14100 xla_ae_lines_pkg.set_ccid(
14101 p_code_combination_id => l_ccid
14105 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
14102 , p_value_type_code => l_adr_value_type_code
14103 , p_transaction_coa_id => l_adr_transaction_coa_id
14104 , p_accounting_coa_id => l_adr_accounting_coa_id
14106 , p_adr_type_code => 'S'
14107 , p_component_type => l_component_type
14108 , p_component_code => l_component_code
14109 , p_component_type_code => l_component_type_code
14110 , p_component_appl_id => l_component_appl_id
14111 , p_amb_context_code => l_amb_context_code
14112 , p_side => 'ALL'
14113 );
14114
14115
14116 l_segment := AcctDerRule_9(
14117 p_application_id => p_application_id
14118 , p_ae_header_id => l_ae_header_id
14119 , p_source_10 => p_source_10
14120 , p_source_10_meaning => p_source_10_meaning
14121 , p_source_15 => p_source_15
14122 , p_source_17 => p_source_17
14123 , p_source_17_meaning => p_source_17_meaning
14124 , x_transaction_coa_id => l_adr_transaction_coa_id
14125 , x_accounting_coa_id => l_adr_accounting_coa_id
14126 , x_flexfield_segment_code => l_adr_flexfield_segment_code
14127 , x_flex_value_set_id => l_adr_flex_value_set_id
14128 , x_value_type_code => l_adr_value_type_code
14129 , x_value_combination_id => l_adr_value_combination_id
14130 , x_value_segment_code => l_adr_value_segment_code
14131 , p_side => 'CREDIT'
14132 , p_override_seg_flag => 'Y'
14133 );
14134
14135 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
14136
14137 xla_ae_lines_pkg.set_segment(
14138 p_to_segment_code => 'GL_ACCOUNT'
14139 , p_segment_value => l_segment
14140 , p_from_segment_code => l_adr_value_segment_code
14141 , p_from_combination_id => l_adr_value_combination_id
14142 , p_value_type_code => l_adr_value_type_code
14143 , p_transaction_coa_id => l_adr_transaction_coa_id
14144 , p_accounting_coa_id => l_adr_accounting_coa_id
14145 , p_flexfield_segment_code => l_adr_flexfield_segment_code
14146 , p_flex_value_set_id => l_adr_flex_value_set_id
14147 , p_adr_code => 'AP_ERV_GAIN_NAT_ACCT_SEG'
14148 , p_adr_type_code => 'S'
14149 , p_component_type => l_component_type
14150 , p_component_code => l_component_code
14151 , p_component_type_code => l_component_type_code
14152 , p_component_appl_id => l_component_appl_id
14153 , p_amb_context_code => l_amb_context_code
14154 , p_entity_code => 'AP_INVOICES'
14155 , p_event_class_code => 'PREPAYMENTS'
14156 , p_side => 'CREDIT'
14157 );
14158
14159 END IF;
14160
14161 l_segment := AcctDerRule_10(
14162 p_application_id => p_application_id
14163 , p_ae_header_id => l_ae_header_id
14164 , p_source_10 => p_source_10
14165 , p_source_10_meaning => p_source_10_meaning
14166 , p_source_17 => p_source_17
14167 , p_source_17_meaning => p_source_17_meaning
14168 , p_source_18 => p_source_18
14169 , x_transaction_coa_id => l_adr_transaction_coa_id
14170 , x_accounting_coa_id => l_adr_accounting_coa_id
14171 , x_flexfield_segment_code => l_adr_flexfield_segment_code
14172 , x_flex_value_set_id => l_adr_flex_value_set_id
14173 , x_value_type_code => l_adr_value_type_code
14174 , x_value_combination_id => l_adr_value_combination_id
14175 , x_value_segment_code => l_adr_value_segment_code
14176 , p_side => 'DEBIT'
14177 , p_override_seg_flag => 'Y'
14178 );
14179
14180 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
14181
14182 xla_ae_lines_pkg.set_segment(
14183 p_to_segment_code => 'GL_ACCOUNT'
14184 , p_segment_value => l_segment
14185 , p_from_segment_code => l_adr_value_segment_code
14186 , p_from_combination_id => l_adr_value_combination_id
14187 , p_value_type_code => l_adr_value_type_code
14188 , p_transaction_coa_id => l_adr_transaction_coa_id
14189 , p_accounting_coa_id => l_adr_accounting_coa_id
14190 , p_flexfield_segment_code => l_adr_flexfield_segment_code
14191 , p_flex_value_set_id => l_adr_flex_value_set_id
14192 , p_adr_code => 'AP_ERV_LOSS_NAT_ACCT_SEG'
14193 , p_adr_type_code => 'S'
14194 , p_component_type => l_component_type
14195 , p_component_code => l_component_code
14196 , p_component_type_code => l_component_type_code
14197 , p_component_appl_id => l_component_appl_id
14198 , p_amb_context_code => l_amb_context_code
14199 , p_entity_code => 'AP_INVOICES'
14200 , p_event_class_code => 'PREPAYMENTS'
14201 , p_side => 'DEBIT'
14202 );
14203
14204 END IF;
14205
14206 l_segment := AcctDerRule_24(
14207 p_application_id => p_application_id
14208 , p_ae_header_id => l_ae_header_id
14209 , p_source_10 => p_source_10
14210 , p_source_10_meaning => p_source_10_meaning
14211 , p_source_17 => p_source_17
14212 , p_source_17_meaning => p_source_17_meaning
14213 , p_source_25 => p_source_25
14217 , x_flex_value_set_id => l_adr_flex_value_set_id
14214 , x_transaction_coa_id => l_adr_transaction_coa_id
14215 , x_accounting_coa_id => l_adr_accounting_coa_id
14216 , x_flexfield_segment_code => l_adr_flexfield_segment_code
14218 , x_value_type_code => l_adr_value_type_code
14219 , x_value_combination_id => l_adr_value_combination_id
14220 , x_value_segment_code => l_adr_value_segment_code
14221 , p_side => 'ALL'
14222 , p_override_seg_flag => 'Y'
14223 );
14224
14225 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
14226
14227 xla_ae_lines_pkg.set_segment(
14228 p_to_segment_code => 'GL_BALANCING'
14229 , p_segment_value => l_segment
14230 , p_from_segment_code => l_adr_value_segment_code
14231 , p_from_combination_id => l_adr_value_combination_id
14232 , p_value_type_code => l_adr_value_type_code
14233 , p_transaction_coa_id => l_adr_transaction_coa_id
14234 , p_accounting_coa_id => l_adr_accounting_coa_id
14235 , p_flexfield_segment_code => l_adr_flexfield_segment_code
14236 , p_flex_value_set_id => l_adr_flex_value_set_id
14237 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
14238 , p_adr_type_code => 'S'
14239 , p_component_type => l_component_type
14240 , p_component_code => l_component_code
14241 , p_component_type_code => l_component_type_code
14242 , p_component_appl_id => l_component_appl_id
14243 , p_amb_context_code => l_amb_context_code
14244 , p_entity_code => 'AP_INVOICES'
14245 , p_event_class_code => 'PREPAYMENTS'
14246 , p_side => 'ALL'
14247 );
14248
14249 END IF;
14250
14251 --
14252 --
14253 END IF;
14254 --
14255 -- Bug 4922099
14256 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
14257 (NVL(l_enc_upg_option, 'N') = 'O')
14258 ) AND
14259 (l_bflow_method_code = 'PRIOR_ENTRY')
14260 )
14261 THEN
14262 IF
14263 --
14264 1 = 2
14265 --
14266 THEN
14267 xla_accounting_err_pkg.build_message
14268 (p_appli_s_name => 'XLA'
14269 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
14270 ,p_token_1 => 'LINE_NUMBER'
14271 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
14272 ,p_token_2 => 'LINE_TYPE_NAME'
14273 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
14274 l_component_type
14275 ,l_component_code
14276 ,l_component_type_code
14277 ,l_component_appl_id
14278 ,l_amb_context_code
14279 ,l_entity_code
14280 ,l_event_class_code
14281 )
14282 ,p_token_3 => 'OWNER'
14283 ,p_value_3 => xla_lookups_pkg.get_meaning(
14284 p_lookup_type => 'XLA_OWNER_TYPE'
14285 ,p_lookup_code => l_component_type_code
14286 )
14287 ,p_token_4 => 'PRODUCT_NAME'
14288 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
14289 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
14290 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
14291 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
14292 ,p_ae_header_id => NULL
14293 );
14294
14295 IF (C_LEVEL_ERROR>= g_log_level) THEN
14296 trace
14297 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
14298 ,p_level => C_LEVEL_ERROR
14299 ,p_module => l_log_module);
14300 END IF;
14301 END IF;
14302 END IF;
14303 --
14304 --
14305 ------------------------------------------------------------------------------------------------
14306 -- 4219869 Business Flow
14307 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
14308 -- Prior Entry. Currently, the following code is always generated.
14309 ------------------------------------------------------------------------------------------------
14313 -- 4219869 Business Flow
14310 XLA_AE_LINES_PKG.ValidateCurrentLine;
14311
14312 ------------------------------------------------------------------------------------
14314 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
14315 ------------------------------------------------------------------------------------
14316 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
14317
14318 ----------------------------------------------------------------------------------
14319 -- 4219869 Business Flow
14320 -- Update journal entry status -- Need to generate this within IF <condition>
14321 ----------------------------------------------------------------------------------
14322 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
14323 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
14324 ,p_balance_type_code => l_balance_type_code
14325 );
14326
14327 -------------------------------------------------------------------------------------------
14328 -- 4262811 - Generate the Accrual Reversal lines
14329 -------------------------------------------------------------------------------------------
14330 BEGIN
14331 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
14332 (g_array_event(p_event_id).array_value_num('header_index'));
14333 IF l_acc_rev_flag IS NULL THEN
14334 l_acc_rev_flag := 'N';
14335 END IF;
14336 EXCEPTION
14337 WHEN OTHERS THEN
14338 l_acc_rev_flag := 'N';
14339 END;
14340 --
14341 IF (l_acc_rev_flag = 'Y') THEN
14342
14343 -- 4645092 ------------------------------------------------------------------------------
14344 -- To allow MPA report to determine if it should generate report process
14345 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
14346 ------------------------------------------------------------------------------------------
14347
14348 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
14349 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
14350 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
14351 -- call ADRs
14352 -- Bug 4922099
14353 --
14354 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
14355 (NVL(l_actual_upg_option, 'N') = 'O') OR
14356 (NVL(l_enc_upg_option, 'N') = 'O')
14357 )
14358 THEN
14359 NULL;
14360 --
14361 --
14362
14363 l_ccid := AcctDerRule_32(
14364 p_application_id => p_application_id
14365 , p_ae_header_id => l_ae_header_id
14366 , p_source_10 => p_source_10
14367 , p_source_10_meaning => p_source_10_meaning
14368 , p_source_15 => p_source_15
14369 , p_source_16 => p_source_16
14370 , p_source_17 => p_source_17
14371 , p_source_17_meaning => p_source_17_meaning
14372 , p_source_18 => p_source_18
14373 , p_source_25 => p_source_25
14374 , p_source_43 => p_source_43
14375 , p_source_43_meaning => p_source_43_meaning
14376 , x_transaction_coa_id => l_adr_transaction_coa_id
14377 , x_accounting_coa_id => l_adr_accounting_coa_id
14378 , x_value_type_code => l_adr_value_type_code
14379 , p_side => 'ALL'
14380 );
14381
14382 xla_ae_lines_pkg.set_ccid(
14383 p_code_combination_id => l_ccid
14384 , p_value_type_code => l_adr_value_type_code
14385 , p_transaction_coa_id => l_adr_transaction_coa_id
14386 , p_accounting_coa_id => l_adr_accounting_coa_id
14387 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
14388 , p_adr_type_code => 'S'
14389 , p_component_type => l_component_type
14390 , p_component_code => l_component_code
14391 , p_component_type_code => l_component_type_code
14392 , p_component_appl_id => l_component_appl_id
14393 , p_amb_context_code => l_amb_context_code
14394 , p_side => 'ALL'
14395 );
14396
14397
14398 l_segment := AcctDerRule_9(
14399 p_application_id => p_application_id
14400 , p_ae_header_id => l_ae_header_id
14401 , p_source_10 => p_source_10
14402 , p_source_10_meaning => p_source_10_meaning
14403 , p_source_15 => p_source_15
14404 , p_source_17 => p_source_17
14405 , p_source_17_meaning => p_source_17_meaning
14406 , x_transaction_coa_id => l_adr_transaction_coa_id
14407 , x_accounting_coa_id => l_adr_accounting_coa_id
14408 , x_flexfield_segment_code => l_adr_flexfield_segment_code
14409 , x_flex_value_set_id => l_adr_flex_value_set_id
14410 , x_value_type_code => l_adr_value_type_code
14411 , x_value_combination_id => l_adr_value_combination_id
14412 , x_value_segment_code => l_adr_value_segment_code
14413 , p_side => 'CREDIT'
14414 , p_override_seg_flag => 'Y'
14415 );
14416
14417 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
14418
14419 xla_ae_lines_pkg.set_segment(
14420 p_to_segment_code => 'GL_ACCOUNT'
14421 , p_segment_value => l_segment
14422 , p_from_segment_code => l_adr_value_segment_code
14423 , p_from_combination_id => l_adr_value_combination_id
14424 , p_value_type_code => l_adr_value_type_code
14428 , p_flex_value_set_id => l_adr_flex_value_set_id
14425 , p_transaction_coa_id => l_adr_transaction_coa_id
14426 , p_accounting_coa_id => l_adr_accounting_coa_id
14427 , p_flexfield_segment_code => l_adr_flexfield_segment_code
14429 , p_adr_code => 'AP_ERV_GAIN_NAT_ACCT_SEG'
14430 , p_adr_type_code => 'S'
14431 , p_component_type => l_component_type
14432 , p_component_code => l_component_code
14433 , p_component_type_code => l_component_type_code
14434 , p_component_appl_id => l_component_appl_id
14435 , p_amb_context_code => l_amb_context_code
14436 , p_entity_code => 'AP_INVOICES'
14437 , p_event_class_code => 'PREPAYMENTS'
14438 , p_side => 'CREDIT'
14439 );
14440
14441 END IF;
14442
14443 l_segment := AcctDerRule_10(
14444 p_application_id => p_application_id
14445 , p_ae_header_id => l_ae_header_id
14446 , p_source_10 => p_source_10
14447 , p_source_10_meaning => p_source_10_meaning
14448 , p_source_17 => p_source_17
14449 , p_source_17_meaning => p_source_17_meaning
14450 , p_source_18 => p_source_18
14451 , x_transaction_coa_id => l_adr_transaction_coa_id
14452 , x_accounting_coa_id => l_adr_accounting_coa_id
14453 , x_flexfield_segment_code => l_adr_flexfield_segment_code
14454 , x_flex_value_set_id => l_adr_flex_value_set_id
14455 , x_value_type_code => l_adr_value_type_code
14456 , x_value_combination_id => l_adr_value_combination_id
14457 , x_value_segment_code => l_adr_value_segment_code
14458 , p_side => 'DEBIT'
14459 , p_override_seg_flag => 'Y'
14460 );
14461
14462 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
14463
14464 xla_ae_lines_pkg.set_segment(
14465 p_to_segment_code => 'GL_ACCOUNT'
14466 , p_segment_value => l_segment
14467 , p_from_segment_code => l_adr_value_segment_code
14468 , p_from_combination_id => l_adr_value_combination_id
14469 , p_value_type_code => l_adr_value_type_code
14470 , p_transaction_coa_id => l_adr_transaction_coa_id
14471 , p_accounting_coa_id => l_adr_accounting_coa_id
14472 , p_flexfield_segment_code => l_adr_flexfield_segment_code
14473 , p_flex_value_set_id => l_adr_flex_value_set_id
14474 , p_adr_code => 'AP_ERV_LOSS_NAT_ACCT_SEG'
14475 , p_adr_type_code => 'S'
14476 , p_component_type => l_component_type
14477 , p_component_code => l_component_code
14478 , p_component_type_code => l_component_type_code
14479 , p_component_appl_id => l_component_appl_id
14480 , p_amb_context_code => l_amb_context_code
14481 , p_entity_code => 'AP_INVOICES'
14482 , p_event_class_code => 'PREPAYMENTS'
14483 , p_side => 'DEBIT'
14484 );
14485
14486 END IF;
14487
14488 l_segment := AcctDerRule_24(
14489 p_application_id => p_application_id
14490 , p_ae_header_id => l_ae_header_id
14491 , p_source_10 => p_source_10
14492 , p_source_10_meaning => p_source_10_meaning
14493 , p_source_17 => p_source_17
14494 , p_source_17_meaning => p_source_17_meaning
14495 , p_source_25 => p_source_25
14496 , x_transaction_coa_id => l_adr_transaction_coa_id
14497 , x_accounting_coa_id => l_adr_accounting_coa_id
14498 , x_flexfield_segment_code => l_adr_flexfield_segment_code
14499 , x_flex_value_set_id => l_adr_flex_value_set_id
14500 , x_value_type_code => l_adr_value_type_code
14501 , x_value_combination_id => l_adr_value_combination_id
14502 , x_value_segment_code => l_adr_value_segment_code
14503 , p_side => 'ALL'
14504 , p_override_seg_flag => 'Y'
14505 );
14506
14507 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
14508
14509 xla_ae_lines_pkg.set_segment(
14510 p_to_segment_code => 'GL_BALANCING'
14511 , p_segment_value => l_segment
14512 , p_from_segment_code => l_adr_value_segment_code
14513 , p_from_combination_id => l_adr_value_combination_id
14514 , p_value_type_code => l_adr_value_type_code
14515 , p_transaction_coa_id => l_adr_transaction_coa_id
14516 , p_accounting_coa_id => l_adr_accounting_coa_id
14517 , p_flexfield_segment_code => l_adr_flexfield_segment_code
14518 , p_flex_value_set_id => l_adr_flex_value_set_id
14519 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
14520 , p_adr_type_code => 'S'
14521 , p_component_type => l_component_type
14522 , p_component_code => l_component_code
14523 , p_component_type_code => l_component_type_code
14524 , p_component_appl_id => l_component_appl_id
14525 , p_amb_context_code => l_amb_context_code
14526 , p_entity_code => 'AP_INVOICES'
14527 , p_event_class_code => 'PREPAYMENTS'
14528 , p_side => 'ALL'
14529 );
14530
14531 END IF;
14532
14536
14533 --
14534 --
14535 END IF;
14537 --
14538 -- Update the line information that should be overwritten
14539 --
14540 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
14541 p_header_num => 1);
14542 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
14543
14544 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
14545
14546 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
14547 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
14548 END IF;
14549
14550 --
14551 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
14552 --
14553 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
14554 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
14555 ELSE
14556 ---------------------------------------------------------------------------------------------------
14557 -- 4262811a Switch Sign
14558 ---------------------------------------------------------------------------------------------------
14559 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
14560 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
14561 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
14562 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
14563 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
14564 -- 5132302
14565 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
14566 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
14567
14568 END IF;
14569
14570 -- 4955764
14571 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
14572 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
14573
14574
14575 XLA_AE_LINES_PKG.ValidateCurrentLine;
14576 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
14577
14578 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
14579 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
14580 ,p_balance_type_code => l_balance_type_code);
14581
14582 END IF;
14583
14584 -----------------------------------------------------------------------------------------
14585 -- 4262811 Multiperiod Accounting
14586 -----------------------------------------------------------------------------------------
14587 -- No MPA option is assigned.
14588
14589
14590 END IF;
14591 END IF;
14592 --
14593
14594 --
14595 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
14596 trace
14597 (p_msg => 'END of AcctLineType_63'
14598 ,p_level => C_LEVEL_PROCEDURE
14599 ,p_module => l_log_module);
14600 END IF;
14601 --
14602 EXCEPTION
14603 WHEN xla_exceptions_pkg.application_exception THEN
14604 RAISE;
14605 WHEN OTHERS THEN
14606 xla_exceptions_pkg.raise_message
14607 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_63');
14608 END AcctLineType_63;
14609 --
14610
14611 ---------------------------------------
14612 --
14613 -- PRIVATE FUNCTION
14614 -- AcctLineType_64
14615 --
14616 ---------------------------------------
14617 PROCEDURE AcctLineType_64 (
14618 p_application_id IN NUMBER
14619 ,p_event_id IN NUMBER
14620 ,p_calculate_acctd_flag IN VARCHAR2
14621 ,p_calculate_g_l_flag IN VARCHAR2
14622 ,p_actual_flag IN OUT VARCHAR2
14623 ,p_balance_type_code OUT VARCHAR2
14624 ,p_gain_or_loss_ref OUT VARCHAR2
14625
14626 --Invoice Distribution Description
14627 , p_source_1 IN VARCHAR2
14628 --Automatic Offsets Value
14629 , p_source_10 IN VARCHAR2
14630 , p_source_10_meaning IN VARCHAR2
14631 --Purchase Order Rate Variance Gain Account
14632 , p_source_15 IN NUMBER
14633 --Invoice Distribution Ledger Amount
14634 , p_source_16 IN NUMBER
14635 --Destination Type of the PO Distribution
14636 , p_source_17 IN VARCHAR2
14637 , p_source_17_meaning IN VARCHAR2
14638 --Purchase Order Rate Variance Loss Account
14639 , p_source_18 IN NUMBER
14640 --Invoice Distribution Account
14641 , p_source_25 IN NUMBER
14642 --Invoice Distribution Type
14643 , p_source_28 IN VARCHAR2
14644 , p_source_28_meaning IN VARCHAR2
14645 --Automatic Offsets Flag
14646 , p_source_43 IN VARCHAR2
14647 , p_source_43_meaning IN VARCHAR2
14648 --Accrue on Receipt Option
14649 , p_source_54 IN VARCHAR2
14650 , p_source_54_meaning IN VARCHAR2
14651 --Accounting Reversal Indicator
14652 , p_source_58 IN VARCHAR2
14653 --Distribution Link Type
14654 , p_source_60 IN VARCHAR2
14655 --Allocation to Main Distribution Identifier
14656 , p_source_62 IN NUMBER
14657 --Invoice Identifier
14661 --Payables Encumbrance Upgrade Credit Account
14658 , p_source_63 IN NUMBER
14659 --Invoice Distribution Identifier
14660 , p_source_69 IN NUMBER
14662 , p_source_70 IN NUMBER
14663 --Payables Encumbrance Upgrade Credit Amount
14664 , p_source_71 IN NUMBER
14665 --Invoice Currency Code
14666 , p_source_72 IN VARCHAR2
14667 --Payables Encumbrance Upgrade Credit Base Amount
14668 , p_source_73 IN NUMBER
14669 --Payables Encumbrance Upgrade Debit Account
14670 , p_source_74 IN NUMBER
14671 --Payables Encumbrance Upgrade Debit Amount
14672 , p_source_75 IN NUMBER
14673 --Payables Encumbrance Upgrade Debit Base Amount
14674 , p_source_76 IN NUMBER
14675 --Payables Encumbrance Upgrade Option
14676 , p_source_77 IN VARCHAR2
14677 --Deferred Accounting End Date
14678 , p_source_82 IN DATE
14679 --Deferred Accounting Option
14680 , p_source_83 IN VARCHAR2
14681 --Deferred Accounting Start Date
14682 , p_source_84 IN DATE
14683 --Override Accounted Amount Indicator
14684 , p_source_85 IN VARCHAR2
14685 , p_source_85_meaning IN VARCHAR2
14686 --Invoice Supplier Identifier
14687 , p_source_86 IN NUMBER
14688 --Invoice Supplier Site Identifier
14689 , p_source_87 IN NUMBER
14690 --Third Party Type
14691 , p_source_88 IN VARCHAR2
14692 --Parent Reversal Identifier
14693 , p_source_89 IN NUMBER
14694 --Invoice Distribution Statistical Amount
14695 , p_source_90 IN NUMBER
14696 --Invoice Distribution Tax Line Identifier
14697 , p_source_91 IN NUMBER
14698 --Invoice Distribution Tax Distribution Identifier from Tax
14699 , p_source_92 IN NUMBER
14700 --Invoice Distribution Summary Tax Line Identifier
14701 , p_source_93 IN NUMBER
14702 --Payables Upgrade Credit Encumbrance Type Identifier
14703 , p_source_94 IN NUMBER
14704 --Payables Upgrade Debit Encumbrance Type Identifier
14705 , p_source_95 IN NUMBER
14706 --Business Flow Accounts Payable Application Identifier
14707 , p_source_96 IN NUMBER
14708 --Business Flow Invoice Distribution Type
14709 , p_source_97 IN VARCHAR2
14710 --Business Flow Invoice Entity Code
14711 , p_source_98 IN VARCHAR2
14712 --Business Flow Invoice Distribution Identifier
14713 , p_source_99 IN NUMBER
14714 --Business Flow Invoice Identifier
14715 , p_source_100 IN NUMBER
14716 )
14717 IS
14718
14719 l_component_type VARCHAR2(80);
14720 l_component_code VARCHAR2(30);
14721 l_component_type_code VARCHAR2(1);
14722 l_component_appl_id INTEGER;
14723 l_amb_context_code VARCHAR2(30);
14724 l_entity_code VARCHAR2(30);
14725 l_event_class_code VARCHAR2(30);
14726 l_ae_header_id NUMBER;
14727 l_event_type_code VARCHAR2(30);
14728 l_line_definition_code VARCHAR2(30);
14729 l_line_definition_owner_code VARCHAR2(1);
14730 --
14731 -- adr variables
14732 l_segment VARCHAR2(30);
14733 l_ccid NUMBER;
14734 l_adr_transaction_coa_id NUMBER;
14735 l_adr_accounting_coa_id NUMBER;
14736 l_adr_flexfield_segment_code VARCHAR2(30);
14737 l_adr_flex_value_set_id NUMBER;
14738 l_adr_value_type_code VARCHAR2(30);
14739 l_adr_value_combination_id NUMBER;
14740 l_adr_value_segment_code VARCHAR2(30);
14741
14742 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
14743 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
14744 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
14745 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
14746
14747 -- 4262811 Variables ------------------------------------------------------------------------------------------
14748 l_entered_amt_idx NUMBER;
14749 l_accted_amt_idx NUMBER;
14750 l_acc_rev_flag VARCHAR2(1);
14751 l_accrual_line_num NUMBER;
14752 l_tmp_amt NUMBER;
14753 l_acc_rev_natural_side_code VARCHAR2(1);
14754
14755 l_num_entries NUMBER;
14756 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
14757 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
14758 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
14759 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
14760 l_recog_line_1 NUMBER;
14761 l_recog_line_2 NUMBER;
14762
14763 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
14764 l_bflow_applied_to_amt NUMBER; -- 5132302
14765 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
14766
14767 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
14768
14769 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
14770 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
14771
14772 ---------------------------------------------------------------------------------------------------------------
14773
14774
14775 --
14776 -- bulk performance
14777 --
14781
14778 l_balance_type_code VARCHAR2(1);
14779 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
14780 l_log_module VARCHAR2(240);
14782 --
14783 -- Upgrade strategy
14784 --
14785 l_actual_upg_option VARCHAR2(1);
14786 l_enc_upg_option VARCHAR2(1);
14787
14788 --
14789 BEGIN
14790 --
14791 IF g_log_enabled THEN
14792 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_64';
14793 END IF;
14794 --
14795 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
14796
14797 trace
14798 (p_msg => 'BEGIN of AcctLineType_64'
14799 ,p_level => C_LEVEL_PROCEDURE
14800 ,p_module => l_log_module);
14801
14802 END IF;
14803 --
14804 l_component_type := 'AMB_JLT';
14805 l_component_code := 'AP_ALC_TAX_EX_RATE_VAR_CM';
14806 l_component_type_code := 'S';
14807 l_component_appl_id := 200;
14808 l_amb_context_code := 'DEFAULT';
14809 l_entity_code := 'AP_INVOICES';
14810 l_event_class_code := 'CREDIT MEMOS';
14811 l_event_type_code := 'CREDIT MEMOS_ALL';
14812 l_line_definition_owner_code := 'S';
14813 l_line_definition_code := 'ACCRUAL_CREDIT MEMOS_ALL';
14814 --
14815 l_balance_type_code := 'A';
14816 l_segment := NULL;
14817 l_ccid := NULL;
14818 l_adr_transaction_coa_id := NULL;
14819 l_adr_accounting_coa_id := NULL;
14820 l_adr_flexfield_segment_code := NULL;
14821 l_adr_flex_value_set_id := NULL;
14822 l_adr_value_type_code := NULL;
14823 l_adr_value_combination_id := NULL;
14824 l_adr_value_segment_code := NULL;
14825
14826 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
14827 l_bflow_class_code := ''; -- 4219869 Business Flow
14828 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
14829 l_budgetary_control_flag := 'N';
14830
14831 l_bflow_applied_to_amt_idx := NULL; -- 5132302
14832 l_bflow_applied_to_amt := NULL; -- 5132302
14833 l_entered_amt_idx := NULL; -- 4262811
14834 l_accted_amt_idx := NULL; -- 4262811
14835 l_acc_rev_flag := NULL; -- 4262811
14836 l_accrual_line_num := NULL; -- 4262811
14837 l_tmp_amt := NULL; -- 4262811
14838 --
14839 IF NOT ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
14840 (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
14841 return;
14842 END IF;
14843
14844 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
14845 l_balance_type_code <> 'B' THEN
14846 IF NVL(p_source_28,'
14847 ') = 'NONREC_TAX' AND
14848 NVL(p_source_54,'
14849 ') = 'Y'
14850 THEN
14851
14852 --
14853 XLA_AE_LINES_PKG.SetNewLine;
14854
14855 p_balance_type_code := l_balance_type_code;
14856 -- set the flag so later we will know whether the gain loss line needs to be created
14857
14858 IF(l_balance_type_code = 'A' ) THEN
14859 p_actual_flag :='G';
14860 END IF;
14861
14862 --
14863 -- bulk performance
14864 --
14865 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
14866 p_header_num => 0); -- 4262811
14867 --
14868 -- set accounting line options
14869 --
14870 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
14871 p_natural_side_code => 'G'
14872 , p_gain_or_loss_flag => 'N'
14873 , p_gl_transfer_mode_code => 'S'
14874 , p_acct_entry_type_code => 'A'
14875 , p_switch_side_flag => ''
14876 , p_merge_duplicate_code => 'A'
14877 );
14878 --
14879 l_acc_rev_natural_side_code := 'C'; -- 4262811
14880 --
14881 --
14882 -- set accounting line type info
14883 --
14884 xla_ae_lines_pkg.SetAcctLineType
14885 (p_component_type => l_component_type
14886 ,p_event_type_code => l_event_type_code
14887 ,p_line_definition_owner_code => l_line_definition_owner_code
14888 ,p_line_definition_code => l_line_definition_code
14889 ,p_accounting_line_code => l_component_code
14890 ,p_accounting_line_type_code => l_component_type_code
14891 ,p_accounting_line_appl_id => l_component_appl_id
14892 ,p_amb_context_code => l_amb_context_code
14893 ,p_entity_code => l_entity_code
14894 ,p_event_class_code => l_event_class_code);
14895 --
14896 -- set accounting class
14897 --
14898 xla_ae_lines_pkg.SetAcctClass(
14899 p_accounting_class_code => 'TERV'
14900 , p_ae_header_id => l_ae_header_id
14901 );
14902
14903 --
14904 -- set rounding class
14905 --
14906 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
14907 'TERV';
14908
14909 --
14913 -- bulk performance
14910 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
14911 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
14912 --
14914 --
14915 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
14916
14917 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
14918 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
14919
14920 -- 4955764
14921 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
14922 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
14923
14924 -- 4458381 Public Sector Enh
14925
14926 --
14927 -- set accounting attributes for the line type
14928 --
14929 l_entered_amt_idx := NULL;
14930 l_accted_amt_idx := 23;
14931 l_bflow_applied_to_amt_idx := NULL; -- 5132302
14932 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
14933 l_rec_acct_attrs.array_char_value(1) := p_source_58;
14934 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
14935 l_rec_acct_attrs.array_num_value(2) :=
14936 xla_ae_sources_pkg.GetSystemSourceNum(
14937 p_source_code => 'XLA_EVENT_APPL_ID'
14938 , p_source_type_code => 'Y'
14939 , p_source_application_id => 602
14940 );
14941 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
14942 l_rec_acct_attrs.array_char_value(3) := p_source_60;
14943 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
14944 l_rec_acct_attrs.array_char_value(4) :=
14945 xla_ae_sources_pkg.GetSystemSourceChar(
14946 p_source_code => 'XLA_ENTITY_CODE'
14947 , p_source_type_code => 'Y'
14948 , p_source_application_id => 602
14949 );
14950 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
14951 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_62);
14952 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
14953 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_63);
14954 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
14955 l_rec_acct_attrs.array_num_value(7) := p_source_96;
14956 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
14957 l_rec_acct_attrs.array_char_value(8) := p_source_97;
14958 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
14959 l_rec_acct_attrs.array_char_value(9) := p_source_98;
14960 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
14961 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_99);
14962 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
14963 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_100);
14964 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
14965 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_69);
14966 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
14967 l_rec_acct_attrs.array_char_value(13) := p_source_60;
14968 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
14969 l_rec_acct_attrs.array_num_value(14) := p_source_70;
14970 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
14971 l_rec_acct_attrs.array_num_value(15) := p_source_71;
14972 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
14973 l_rec_acct_attrs.array_char_value(16) := p_source_72;
14974 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
14975 l_rec_acct_attrs.array_num_value(17) := p_source_73;
14976 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
14977 l_rec_acct_attrs.array_num_value(18) := p_source_74;
14978 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
14979 l_rec_acct_attrs.array_num_value(19) := p_source_75;
14980 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
14981 l_rec_acct_attrs.array_char_value(20) := p_source_72;
14982 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
14983 l_rec_acct_attrs.array_num_value(21) := p_source_76;
14984 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
14985 l_rec_acct_attrs.array_char_value(22) := p_source_77;
14986 l_rec_acct_attrs.array_acct_attr_code(23) := 'LEDGER_AMOUNT';
14987 l_rec_acct_attrs.array_num_value(23) := p_source_16;
14988 l_rec_acct_attrs.array_acct_attr_code(24) := 'MULTIPERIOD_END_DATE';
14989 l_rec_acct_attrs.array_date_value(24) := p_source_82;
14990 l_rec_acct_attrs.array_acct_attr_code(25) := 'MULTIPERIOD_OPTION';
14991 l_rec_acct_attrs.array_char_value(25) := p_source_83;
14992 l_rec_acct_attrs.array_acct_attr_code(26) := 'MULTIPERIOD_START_DATE';
14993 l_rec_acct_attrs.array_date_value(26) := p_source_84;
14994 l_rec_acct_attrs.array_acct_attr_code(27) := 'OVERRIDE_ACCTD_AMT_FLAG';
14995 l_rec_acct_attrs.array_char_value(27) := p_source_85;
14996 l_rec_acct_attrs.array_acct_attr_code(28) := 'PARTY_ID';
14997 l_rec_acct_attrs.array_num_value(28) := p_source_86;
14998 l_rec_acct_attrs.array_acct_attr_code(29) := 'PARTY_SITE_ID';
14999 l_rec_acct_attrs.array_num_value(29) := p_source_87;
15000 l_rec_acct_attrs.array_acct_attr_code(30) := 'PARTY_TYPE';
15001 l_rec_acct_attrs.array_char_value(30) := p_source_88;
15005 l_rec_acct_attrs.array_char_value(32) := p_source_60;
15002 l_rec_acct_attrs.array_acct_attr_code(31) := 'REVERSED_DISTRIBUTION_ID1';
15003 l_rec_acct_attrs.array_num_value(31) := to_char(p_source_89);
15004 l_rec_acct_attrs.array_acct_attr_code(32) := 'REVERSED_DISTRIBUTION_TYPE';
15006 l_rec_acct_attrs.array_acct_attr_code(33) := 'STATISTICAL_AMOUNT';
15007 l_rec_acct_attrs.array_num_value(33) := p_source_90;
15008 l_rec_acct_attrs.array_acct_attr_code(34) := 'TAX_LINE_REF_ID';
15009 l_rec_acct_attrs.array_num_value(34) := p_source_91;
15010 l_rec_acct_attrs.array_acct_attr_code(35) := 'TAX_REC_NREC_DIST_REF_ID';
15011 l_rec_acct_attrs.array_num_value(35) := p_source_92;
15012 l_rec_acct_attrs.array_acct_attr_code(36) := 'TAX_SUMMARY_LINE_REF_ID';
15013 l_rec_acct_attrs.array_num_value(36) := p_source_93;
15014 l_rec_acct_attrs.array_acct_attr_code(37) := 'UPG_CR_ENC_TYPE_ID';
15015 l_rec_acct_attrs.array_num_value(37) := p_source_94;
15016 l_rec_acct_attrs.array_acct_attr_code(38) := 'UPG_DR_ENC_TYPE_ID';
15017 l_rec_acct_attrs.array_num_value(38) := p_source_95;
15018
15019 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
15020 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
15021
15022 ---------------------------------------------------------------------------------------------------------------
15023 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
15024 ---------------------------------------------------------------------------------------------------------------
15025 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
15026
15027 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
15028 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
15029
15030 IF xla_accounting_cache_pkg.GetValueChar
15031 (p_source_code => 'LEDGER_CATEGORY_CODE'
15032 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
15033 AND l_bflow_method_code = 'PRIOR_ENTRY'
15034 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
15035 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
15036 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
15037 )
15038 THEN
15039 xla_ae_lines_pkg.BflowUpgEntry
15040 (p_business_method_code => l_bflow_method_code
15041 ,p_business_class_code => l_bflow_class_code
15042 ,p_balance_type => l_balance_type_code);
15043 ELSE
15044 NULL;
15045 -- No business flow processing for business flow method of NONE.
15046 END IF;
15047
15048 --
15049 -- call analytical criteria
15050 --
15051
15052 --
15053 -- call description
15054 --
15055
15056 xla_ae_lines_pkg.SetLineDescription(
15057 p_ae_header_id => l_ae_header_id
15058 ,p_description => Description_2 (
15059 p_application_id => p_application_id
15060 , p_ae_header_id => l_ae_header_id
15061 , p_source_1 => p_source_1
15062 )
15063 );
15064
15065
15066 --
15067 -- call ADRs
15068 -- Bug 4922099
15069 --
15070 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
15071 (NVL(l_actual_upg_option, 'N') = 'O') OR
15072 (NVL(l_enc_upg_option, 'N') = 'O')
15073 )
15074 THEN
15075 NULL;
15076 --
15077 --
15078
15079 l_ccid := AcctDerRule_32(
15080 p_application_id => p_application_id
15081 , p_ae_header_id => l_ae_header_id
15082 , p_source_10 => p_source_10
15083 , p_source_10_meaning => p_source_10_meaning
15084 , p_source_15 => p_source_15
15085 , p_source_16 => p_source_16
15086 , p_source_17 => p_source_17
15087 , p_source_17_meaning => p_source_17_meaning
15088 , p_source_18 => p_source_18
15089 , p_source_25 => p_source_25
15090 , p_source_43 => p_source_43
15091 , p_source_43_meaning => p_source_43_meaning
15092 , x_transaction_coa_id => l_adr_transaction_coa_id
15093 , x_accounting_coa_id => l_adr_accounting_coa_id
15094 , x_value_type_code => l_adr_value_type_code
15095 , p_side => 'ALL'
15096 );
15097
15098 xla_ae_lines_pkg.set_ccid(
15099 p_code_combination_id => l_ccid
15100 , p_value_type_code => l_adr_value_type_code
15101 , p_transaction_coa_id => l_adr_transaction_coa_id
15102 , p_accounting_coa_id => l_adr_accounting_coa_id
15103 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
15104 , p_adr_type_code => 'S'
15105 , p_component_type => l_component_type
15106 , p_component_code => l_component_code
15107 , p_component_type_code => l_component_type_code
15108 , p_component_appl_id => l_component_appl_id
15109 , p_amb_context_code => l_amb_context_code
15110 , p_side => 'ALL'
15111 );
15112
15113
15114 l_segment := AcctDerRule_9(
15115 p_application_id => p_application_id
15116 , p_ae_header_id => l_ae_header_id
15117 , p_source_10 => p_source_10
15118 , p_source_10_meaning => p_source_10_meaning
15119 , p_source_15 => p_source_15
15120 , p_source_17 => p_source_17
15124 , x_flexfield_segment_code => l_adr_flexfield_segment_code
15121 , p_source_17_meaning => p_source_17_meaning
15122 , x_transaction_coa_id => l_adr_transaction_coa_id
15123 , x_accounting_coa_id => l_adr_accounting_coa_id
15125 , x_flex_value_set_id => l_adr_flex_value_set_id
15126 , x_value_type_code => l_adr_value_type_code
15127 , x_value_combination_id => l_adr_value_combination_id
15128 , x_value_segment_code => l_adr_value_segment_code
15129 , p_side => 'DEBIT'
15130 , p_override_seg_flag => 'Y'
15131 );
15132
15133 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
15134
15135 xla_ae_lines_pkg.set_segment(
15136 p_to_segment_code => 'GL_ACCOUNT'
15137 , p_segment_value => l_segment
15138 , p_from_segment_code => l_adr_value_segment_code
15139 , p_from_combination_id => l_adr_value_combination_id
15140 , p_value_type_code => l_adr_value_type_code
15141 , p_transaction_coa_id => l_adr_transaction_coa_id
15142 , p_accounting_coa_id => l_adr_accounting_coa_id
15143 , p_flexfield_segment_code => l_adr_flexfield_segment_code
15144 , p_flex_value_set_id => l_adr_flex_value_set_id
15145 , p_adr_code => 'AP_ERV_GAIN_NAT_ACCT_SEG'
15146 , p_adr_type_code => 'S'
15147 , p_component_type => l_component_type
15148 , p_component_code => l_component_code
15149 , p_component_type_code => l_component_type_code
15150 , p_component_appl_id => l_component_appl_id
15151 , p_amb_context_code => l_amb_context_code
15152 , p_entity_code => 'AP_INVOICES'
15153 , p_event_class_code => 'CREDIT MEMOS'
15154 , p_side => 'DEBIT'
15155 );
15156
15157 END IF;
15158
15159 l_segment := AcctDerRule_10(
15160 p_application_id => p_application_id
15161 , p_ae_header_id => l_ae_header_id
15162 , p_source_10 => p_source_10
15163 , p_source_10_meaning => p_source_10_meaning
15164 , p_source_17 => p_source_17
15165 , p_source_17_meaning => p_source_17_meaning
15166 , p_source_18 => p_source_18
15167 , x_transaction_coa_id => l_adr_transaction_coa_id
15168 , x_accounting_coa_id => l_adr_accounting_coa_id
15169 , x_flexfield_segment_code => l_adr_flexfield_segment_code
15170 , x_flex_value_set_id => l_adr_flex_value_set_id
15171 , x_value_type_code => l_adr_value_type_code
15172 , x_value_combination_id => l_adr_value_combination_id
15173 , x_value_segment_code => l_adr_value_segment_code
15174 , p_side => 'CREDIT'
15175 , p_override_seg_flag => 'Y'
15176 );
15177
15178 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
15179
15180 xla_ae_lines_pkg.set_segment(
15181 p_to_segment_code => 'GL_ACCOUNT'
15182 , p_segment_value => l_segment
15183 , p_from_segment_code => l_adr_value_segment_code
15184 , p_from_combination_id => l_adr_value_combination_id
15185 , p_value_type_code => l_adr_value_type_code
15186 , p_transaction_coa_id => l_adr_transaction_coa_id
15187 , p_accounting_coa_id => l_adr_accounting_coa_id
15188 , p_flexfield_segment_code => l_adr_flexfield_segment_code
15189 , p_flex_value_set_id => l_adr_flex_value_set_id
15190 , p_adr_code => 'AP_ERV_LOSS_NAT_ACCT_SEG'
15191 , p_adr_type_code => 'S'
15192 , p_component_type => l_component_type
15193 , p_component_code => l_component_code
15194 , p_component_type_code => l_component_type_code
15195 , p_component_appl_id => l_component_appl_id
15196 , p_amb_context_code => l_amb_context_code
15197 , p_entity_code => 'AP_INVOICES'
15198 , p_event_class_code => 'CREDIT MEMOS'
15199 , p_side => 'CREDIT'
15200 );
15201
15202 END IF;
15203
15204 l_segment := AcctDerRule_24(
15205 p_application_id => p_application_id
15206 , p_ae_header_id => l_ae_header_id
15207 , p_source_10 => p_source_10
15208 , p_source_10_meaning => p_source_10_meaning
15209 , p_source_17 => p_source_17
15210 , p_source_17_meaning => p_source_17_meaning
15211 , p_source_25 => p_source_25
15212 , x_transaction_coa_id => l_adr_transaction_coa_id
15213 , x_accounting_coa_id => l_adr_accounting_coa_id
15214 , x_flexfield_segment_code => l_adr_flexfield_segment_code
15215 , x_flex_value_set_id => l_adr_flex_value_set_id
15216 , x_value_type_code => l_adr_value_type_code
15217 , x_value_combination_id => l_adr_value_combination_id
15218 , x_value_segment_code => l_adr_value_segment_code
15219 , p_side => 'ALL'
15220 , p_override_seg_flag => 'Y'
15221 );
15222
15223 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
15224
15225 xla_ae_lines_pkg.set_segment(
15226 p_to_segment_code => 'GL_BALANCING'
15227 , p_segment_value => l_segment
15231 , p_transaction_coa_id => l_adr_transaction_coa_id
15228 , p_from_segment_code => l_adr_value_segment_code
15229 , p_from_combination_id => l_adr_value_combination_id
15230 , p_value_type_code => l_adr_value_type_code
15232 , p_accounting_coa_id => l_adr_accounting_coa_id
15233 , p_flexfield_segment_code => l_adr_flexfield_segment_code
15234 , p_flex_value_set_id => l_adr_flex_value_set_id
15235 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
15236 , p_adr_type_code => 'S'
15237 , p_component_type => l_component_type
15238 , p_component_code => l_component_code
15239 , p_component_type_code => l_component_type_code
15240 , p_component_appl_id => l_component_appl_id
15241 , p_amb_context_code => l_amb_context_code
15242 , p_entity_code => 'AP_INVOICES'
15243 , p_event_class_code => 'CREDIT MEMOS'
15244 , p_side => 'ALL'
15245 );
15246
15247 END IF;
15248
15249 --
15250 --
15251 END IF;
15252 --
15253 -- Bug 4922099
15254 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
15255 (NVL(l_enc_upg_option, 'N') = 'O')
15256 ) AND
15257 (l_bflow_method_code = 'PRIOR_ENTRY')
15258 )
15259 THEN
15260 IF
15261 --
15262 1 = 2
15263 --
15264 THEN
15265 xla_accounting_err_pkg.build_message
15266 (p_appli_s_name => 'XLA'
15267 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
15268 ,p_token_1 => 'LINE_NUMBER'
15269 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
15270 ,p_token_2 => 'LINE_TYPE_NAME'
15271 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
15272 l_component_type
15273 ,l_component_code
15274 ,l_component_type_code
15275 ,l_component_appl_id
15276 ,l_amb_context_code
15277 ,l_entity_code
15278 ,l_event_class_code
15279 )
15280 ,p_token_3 => 'OWNER'
15281 ,p_value_3 => xla_lookups_pkg.get_meaning(
15282 p_lookup_type => 'XLA_OWNER_TYPE'
15283 ,p_lookup_code => l_component_type_code
15284 )
15285 ,p_token_4 => 'PRODUCT_NAME'
15286 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
15287 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
15288 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
15289 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
15290 ,p_ae_header_id => NULL
15291 );
15292
15293 IF (C_LEVEL_ERROR>= g_log_level) THEN
15294 trace
15295 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
15296 ,p_level => C_LEVEL_ERROR
15297 ,p_module => l_log_module);
15298 END IF;
15299 END IF;
15300 END IF;
15301 --
15302 --
15303 ------------------------------------------------------------------------------------------------
15304 -- 4219869 Business Flow
15305 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
15306 -- Prior Entry. Currently, the following code is always generated.
15307 ------------------------------------------------------------------------------------------------
15308 XLA_AE_LINES_PKG.ValidateCurrentLine;
15309
15310 ------------------------------------------------------------------------------------
15311 -- 4219869 Business Flow
15312 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
15313 ------------------------------------------------------------------------------------
15314 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
15315
15316 ----------------------------------------------------------------------------------
15317 -- 4219869 Business Flow
15318 -- Update journal entry status -- Need to generate this within IF <condition>
15319 ----------------------------------------------------------------------------------
15320 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
15324
15321 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
15322 ,p_balance_type_code => l_balance_type_code
15323 );
15325 -------------------------------------------------------------------------------------------
15326 -- 4262811 - Generate the Accrual Reversal lines
15327 -------------------------------------------------------------------------------------------
15328 BEGIN
15329 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
15330 (g_array_event(p_event_id).array_value_num('header_index'));
15331 IF l_acc_rev_flag IS NULL THEN
15332 l_acc_rev_flag := 'N';
15333 END IF;
15334 EXCEPTION
15335 WHEN OTHERS THEN
15336 l_acc_rev_flag := 'N';
15337 END;
15338 --
15339 IF (l_acc_rev_flag = 'Y') THEN
15340
15341 -- 4645092 ------------------------------------------------------------------------------
15342 -- To allow MPA report to determine if it should generate report process
15343 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
15344 ------------------------------------------------------------------------------------------
15345
15346 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
15347 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
15348 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
15349 -- call ADRs
15350 -- Bug 4922099
15351 --
15352 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
15353 (NVL(l_actual_upg_option, 'N') = 'O') OR
15354 (NVL(l_enc_upg_option, 'N') = 'O')
15355 )
15356 THEN
15357 NULL;
15358 --
15359 --
15360
15361 l_ccid := AcctDerRule_32(
15362 p_application_id => p_application_id
15363 , p_ae_header_id => l_ae_header_id
15364 , p_source_10 => p_source_10
15365 , p_source_10_meaning => p_source_10_meaning
15366 , p_source_15 => p_source_15
15367 , p_source_16 => p_source_16
15368 , p_source_17 => p_source_17
15369 , p_source_17_meaning => p_source_17_meaning
15370 , p_source_18 => p_source_18
15371 , p_source_25 => p_source_25
15372 , p_source_43 => p_source_43
15373 , p_source_43_meaning => p_source_43_meaning
15374 , x_transaction_coa_id => l_adr_transaction_coa_id
15375 , x_accounting_coa_id => l_adr_accounting_coa_id
15376 , x_value_type_code => l_adr_value_type_code
15377 , p_side => 'ALL'
15378 );
15379
15380 xla_ae_lines_pkg.set_ccid(
15381 p_code_combination_id => l_ccid
15382 , p_value_type_code => l_adr_value_type_code
15383 , p_transaction_coa_id => l_adr_transaction_coa_id
15384 , p_accounting_coa_id => l_adr_accounting_coa_id
15385 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
15386 , p_adr_type_code => 'S'
15387 , p_component_type => l_component_type
15388 , p_component_code => l_component_code
15389 , p_component_type_code => l_component_type_code
15390 , p_component_appl_id => l_component_appl_id
15391 , p_amb_context_code => l_amb_context_code
15392 , p_side => 'ALL'
15393 );
15394
15395
15396 l_segment := AcctDerRule_9(
15397 p_application_id => p_application_id
15398 , p_ae_header_id => l_ae_header_id
15399 , p_source_10 => p_source_10
15400 , p_source_10_meaning => p_source_10_meaning
15401 , p_source_15 => p_source_15
15402 , p_source_17 => p_source_17
15403 , p_source_17_meaning => p_source_17_meaning
15404 , x_transaction_coa_id => l_adr_transaction_coa_id
15405 , x_accounting_coa_id => l_adr_accounting_coa_id
15406 , x_flexfield_segment_code => l_adr_flexfield_segment_code
15407 , x_flex_value_set_id => l_adr_flex_value_set_id
15408 , x_value_type_code => l_adr_value_type_code
15409 , x_value_combination_id => l_adr_value_combination_id
15410 , x_value_segment_code => l_adr_value_segment_code
15411 , p_side => 'DEBIT'
15412 , p_override_seg_flag => 'Y'
15413 );
15414
15415 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
15416
15417 xla_ae_lines_pkg.set_segment(
15418 p_to_segment_code => 'GL_ACCOUNT'
15419 , p_segment_value => l_segment
15420 , p_from_segment_code => l_adr_value_segment_code
15421 , p_from_combination_id => l_adr_value_combination_id
15422 , p_value_type_code => l_adr_value_type_code
15423 , p_transaction_coa_id => l_adr_transaction_coa_id
15424 , p_accounting_coa_id => l_adr_accounting_coa_id
15425 , p_flexfield_segment_code => l_adr_flexfield_segment_code
15426 , p_flex_value_set_id => l_adr_flex_value_set_id
15427 , p_adr_code => 'AP_ERV_GAIN_NAT_ACCT_SEG'
15428 , p_adr_type_code => 'S'
15429 , p_component_type => l_component_type
15430 , p_component_code => l_component_code
15431 , p_component_type_code => l_component_type_code
15432 , p_component_appl_id => l_component_appl_id
15433 , p_amb_context_code => l_amb_context_code
15434 , p_entity_code => 'AP_INVOICES'
15438
15435 , p_event_class_code => 'CREDIT MEMOS'
15436 , p_side => 'DEBIT'
15437 );
15439 END IF;
15440
15441 l_segment := AcctDerRule_10(
15442 p_application_id => p_application_id
15443 , p_ae_header_id => l_ae_header_id
15444 , p_source_10 => p_source_10
15445 , p_source_10_meaning => p_source_10_meaning
15446 , p_source_17 => p_source_17
15447 , p_source_17_meaning => p_source_17_meaning
15448 , p_source_18 => p_source_18
15449 , x_transaction_coa_id => l_adr_transaction_coa_id
15450 , x_accounting_coa_id => l_adr_accounting_coa_id
15451 , x_flexfield_segment_code => l_adr_flexfield_segment_code
15452 , x_flex_value_set_id => l_adr_flex_value_set_id
15453 , x_value_type_code => l_adr_value_type_code
15454 , x_value_combination_id => l_adr_value_combination_id
15455 , x_value_segment_code => l_adr_value_segment_code
15456 , p_side => 'CREDIT'
15457 , p_override_seg_flag => 'Y'
15458 );
15459
15460 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
15461
15462 xla_ae_lines_pkg.set_segment(
15463 p_to_segment_code => 'GL_ACCOUNT'
15464 , p_segment_value => l_segment
15465 , p_from_segment_code => l_adr_value_segment_code
15466 , p_from_combination_id => l_adr_value_combination_id
15467 , p_value_type_code => l_adr_value_type_code
15468 , p_transaction_coa_id => l_adr_transaction_coa_id
15469 , p_accounting_coa_id => l_adr_accounting_coa_id
15470 , p_flexfield_segment_code => l_adr_flexfield_segment_code
15471 , p_flex_value_set_id => l_adr_flex_value_set_id
15472 , p_adr_code => 'AP_ERV_LOSS_NAT_ACCT_SEG'
15473 , p_adr_type_code => 'S'
15474 , p_component_type => l_component_type
15475 , p_component_code => l_component_code
15476 , p_component_type_code => l_component_type_code
15477 , p_component_appl_id => l_component_appl_id
15478 , p_amb_context_code => l_amb_context_code
15479 , p_entity_code => 'AP_INVOICES'
15480 , p_event_class_code => 'CREDIT MEMOS'
15481 , p_side => 'CREDIT'
15482 );
15483
15484 END IF;
15485
15486 l_segment := AcctDerRule_24(
15487 p_application_id => p_application_id
15488 , p_ae_header_id => l_ae_header_id
15489 , p_source_10 => p_source_10
15490 , p_source_10_meaning => p_source_10_meaning
15491 , p_source_17 => p_source_17
15492 , p_source_17_meaning => p_source_17_meaning
15493 , p_source_25 => p_source_25
15494 , x_transaction_coa_id => l_adr_transaction_coa_id
15495 , x_accounting_coa_id => l_adr_accounting_coa_id
15496 , x_flexfield_segment_code => l_adr_flexfield_segment_code
15497 , x_flex_value_set_id => l_adr_flex_value_set_id
15498 , x_value_type_code => l_adr_value_type_code
15499 , x_value_combination_id => l_adr_value_combination_id
15500 , x_value_segment_code => l_adr_value_segment_code
15501 , p_side => 'ALL'
15502 , p_override_seg_flag => 'Y'
15503 );
15504
15505 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
15506
15507 xla_ae_lines_pkg.set_segment(
15508 p_to_segment_code => 'GL_BALANCING'
15509 , p_segment_value => l_segment
15510 , p_from_segment_code => l_adr_value_segment_code
15511 , p_from_combination_id => l_adr_value_combination_id
15512 , p_value_type_code => l_adr_value_type_code
15513 , p_transaction_coa_id => l_adr_transaction_coa_id
15514 , p_accounting_coa_id => l_adr_accounting_coa_id
15515 , p_flexfield_segment_code => l_adr_flexfield_segment_code
15516 , p_flex_value_set_id => l_adr_flex_value_set_id
15517 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
15518 , p_adr_type_code => 'S'
15519 , p_component_type => l_component_type
15520 , p_component_code => l_component_code
15521 , p_component_type_code => l_component_type_code
15522 , p_component_appl_id => l_component_appl_id
15523 , p_amb_context_code => l_amb_context_code
15524 , p_entity_code => 'AP_INVOICES'
15525 , p_event_class_code => 'CREDIT MEMOS'
15526 , p_side => 'ALL'
15527 );
15528
15529 END IF;
15530
15531 --
15532 --
15533 END IF;
15534
15535 --
15536 -- Update the line information that should be overwritten
15537 --
15538 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
15539 p_header_num => 1);
15540 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
15541
15542 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
15543
15544 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
15545 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
15546 END IF;
15547
15548 --
15552 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
15549 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
15550 --
15551 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
15553 ELSE
15554 ---------------------------------------------------------------------------------------------------
15555 -- 4262811a Switch Sign
15556 ---------------------------------------------------------------------------------------------------
15557 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
15558 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
15559 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
15560 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
15561 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
15562 -- 5132302
15563 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
15564 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
15565
15566 END IF;
15567
15568 -- 4955764
15569 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
15570 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
15571
15572
15573 XLA_AE_LINES_PKG.ValidateCurrentLine;
15574 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
15575
15576 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
15577 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
15578 ,p_balance_type_code => l_balance_type_code);
15579
15580 END IF;
15581
15582 -----------------------------------------------------------------------------------------
15583 -- 4262811 Multiperiod Accounting
15584 -----------------------------------------------------------------------------------------
15585 -- No MPA option is assigned.
15586
15587
15588 END IF;
15589 END IF;
15590 --
15591
15592 --
15593 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
15594 trace
15595 (p_msg => 'END of AcctLineType_64'
15596 ,p_level => C_LEVEL_PROCEDURE
15597 ,p_module => l_log_module);
15598 END IF;
15599 --
15600 EXCEPTION
15601 WHEN xla_exceptions_pkg.application_exception THEN
15602 RAISE;
15603 WHEN OTHERS THEN
15604 xla_exceptions_pkg.raise_message
15605 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_64');
15606 END AcctLineType_64;
15607 --
15608
15609 ---------------------------------------
15610 --
15611 -- PRIVATE FUNCTION
15612 -- AcctLineType_65
15613 --
15614 ---------------------------------------
15615 PROCEDURE AcctLineType_65 (
15616 p_application_id IN NUMBER
15617 ,p_event_id IN NUMBER
15618 ,p_calculate_acctd_flag IN VARCHAR2
15619 ,p_calculate_g_l_flag IN VARCHAR2
15620 ,p_actual_flag IN OUT VARCHAR2
15621 ,p_balance_type_code OUT VARCHAR2
15622 ,p_gain_or_loss_ref OUT VARCHAR2
15623
15624 --Invoice Distribution Description
15625 , p_source_1 IN VARCHAR2
15626 --Automatic Offsets Value
15627 , p_source_10 IN VARCHAR2
15628 , p_source_10_meaning IN VARCHAR2
15629 --Purchase Order Rate Variance Gain Account
15630 , p_source_15 IN NUMBER
15631 --Invoice Distribution Ledger Amount
15632 , p_source_16 IN NUMBER
15633 --Destination Type of the PO Distribution
15634 , p_source_17 IN VARCHAR2
15635 , p_source_17_meaning IN VARCHAR2
15636 --Purchase Order Rate Variance Loss Account
15637 , p_source_18 IN NUMBER
15638 --Invoice Distribution Account
15639 , p_source_25 IN NUMBER
15640 --Invoice Distribution Type
15641 , p_source_28 IN VARCHAR2
15642 , p_source_28_meaning IN VARCHAR2
15643 --Automatic Offsets Flag
15644 , p_source_43 IN VARCHAR2
15645 , p_source_43_meaning IN VARCHAR2
15646 --Accrue on Receipt Option
15647 , p_source_54 IN VARCHAR2
15648 , p_source_54_meaning IN VARCHAR2
15649 --Accounting Reversal Indicator
15650 , p_source_58 IN VARCHAR2
15651 --Distribution Link Type
15652 , p_source_60 IN VARCHAR2
15653 --Allocation to Main Distribution Identifier
15654 , p_source_62 IN NUMBER
15655 --Invoice Identifier
15656 , p_source_63 IN NUMBER
15657 --Invoice Distribution Identifier
15658 , p_source_69 IN NUMBER
15659 --Payables Encumbrance Upgrade Credit Account
15660 , p_source_70 IN NUMBER
15661 --Payables Encumbrance Upgrade Credit Amount
15662 , p_source_71 IN NUMBER
15663 --Invoice Currency Code
15664 , p_source_72 IN VARCHAR2
15665 --Payables Encumbrance Upgrade Credit Base Amount
15666 , p_source_73 IN NUMBER
15667 --Payables Encumbrance Upgrade Debit Account
15668 , p_source_74 IN NUMBER
15669 --Payables Encumbrance Upgrade Debit Amount
15670 , p_source_75 IN NUMBER
15671 --Payables Encumbrance Upgrade Debit Base Amount
15672 , p_source_76 IN NUMBER
15676 , p_source_82 IN DATE
15673 --Payables Encumbrance Upgrade Option
15674 , p_source_77 IN VARCHAR2
15675 --Deferred Accounting End Date
15677 --Deferred Accounting Option
15678 , p_source_83 IN VARCHAR2
15679 --Deferred Accounting Start Date
15680 , p_source_84 IN DATE
15681 --Override Accounted Amount Indicator
15682 , p_source_85 IN VARCHAR2
15683 , p_source_85_meaning IN VARCHAR2
15684 --Invoice Supplier Identifier
15685 , p_source_86 IN NUMBER
15686 --Invoice Supplier Site Identifier
15687 , p_source_87 IN NUMBER
15688 --Third Party Type
15689 , p_source_88 IN VARCHAR2
15690 --Parent Reversal Identifier
15691 , p_source_89 IN NUMBER
15692 --Invoice Distribution Tax Line Identifier
15693 , p_source_91 IN NUMBER
15694 --Invoice Distribution Tax Distribution Identifier from Tax
15695 , p_source_92 IN NUMBER
15696 --Invoice Distribution Summary Tax Line Identifier
15697 , p_source_93 IN NUMBER
15698 --Payables Upgrade Credit Encumbrance Type Identifier
15699 , p_source_94 IN NUMBER
15700 --Payables Upgrade Debit Encumbrance Type Identifier
15701 , p_source_95 IN NUMBER
15702 --Business Flow Accounts Payable Application Identifier
15703 , p_source_96 IN NUMBER
15704 --Business Flow Invoice Distribution Type
15705 , p_source_97 IN VARCHAR2
15706 --Business Flow Invoice Entity Code
15707 , p_source_98 IN VARCHAR2
15708 --Business Flow Invoice Distribution Identifier
15709 , p_source_99 IN NUMBER
15710 --Business Flow Invoice Identifier
15711 , p_source_100 IN NUMBER
15712 )
15713 IS
15714
15715 l_component_type VARCHAR2(80);
15716 l_component_code VARCHAR2(30);
15717 l_component_type_code VARCHAR2(1);
15718 l_component_appl_id INTEGER;
15719 l_amb_context_code VARCHAR2(30);
15720 l_entity_code VARCHAR2(30);
15721 l_event_class_code VARCHAR2(30);
15722 l_ae_header_id NUMBER;
15723 l_event_type_code VARCHAR2(30);
15724 l_line_definition_code VARCHAR2(30);
15725 l_line_definition_owner_code VARCHAR2(1);
15726 --
15727 -- adr variables
15728 l_segment VARCHAR2(30);
15729 l_ccid NUMBER;
15730 l_adr_transaction_coa_id NUMBER;
15731 l_adr_accounting_coa_id NUMBER;
15732 l_adr_flexfield_segment_code VARCHAR2(30);
15733 l_adr_flex_value_set_id NUMBER;
15734 l_adr_value_type_code VARCHAR2(30);
15735 l_adr_value_combination_id NUMBER;
15736 l_adr_value_segment_code VARCHAR2(30);
15737
15738 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
15739 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
15740 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
15741 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
15742
15743 -- 4262811 Variables ------------------------------------------------------------------------------------------
15744 l_entered_amt_idx NUMBER;
15745 l_accted_amt_idx NUMBER;
15746 l_acc_rev_flag VARCHAR2(1);
15747 l_accrual_line_num NUMBER;
15748 l_tmp_amt NUMBER;
15749 l_acc_rev_natural_side_code VARCHAR2(1);
15750
15751 l_num_entries NUMBER;
15752 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
15753 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
15754 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
15755 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
15756 l_recog_line_1 NUMBER;
15757 l_recog_line_2 NUMBER;
15758
15759 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
15760 l_bflow_applied_to_amt NUMBER; -- 5132302
15761 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
15762
15763 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
15764
15765 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
15766 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
15767
15768 ---------------------------------------------------------------------------------------------------------------
15769
15770
15771 --
15772 -- bulk performance
15773 --
15774 l_balance_type_code VARCHAR2(1);
15775 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
15776 l_log_module VARCHAR2(240);
15777
15778 --
15779 -- Upgrade strategy
15780 --
15781 l_actual_upg_option VARCHAR2(1);
15782 l_enc_upg_option VARCHAR2(1);
15783
15784 --
15785 BEGIN
15786 --
15787 IF g_log_enabled THEN
15788 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_65';
15789 END IF;
15790 --
15791 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
15792
15793 trace
15794 (p_msg => 'BEGIN of AcctLineType_65'
15795 ,p_level => C_LEVEL_PROCEDURE
15796 ,p_module => l_log_module);
15797
15798 END IF;
15799 --
15800 l_component_type := 'AMB_JLT';
15801 l_component_code := 'AP_ALC_TAX_EX_RATE_VAR_DM';
15802 l_component_type_code := 'S';
15806 l_event_class_code := 'DEBIT MEMOS';
15803 l_component_appl_id := 200;
15804 l_amb_context_code := 'DEFAULT';
15805 l_entity_code := 'AP_INVOICES';
15807 l_event_type_code := 'DEBIT MEMOS_ALL';
15808 l_line_definition_owner_code := 'S';
15809 l_line_definition_code := 'ACCRUAL_DEBIT MEMOS_ALL';
15810 --
15811 l_balance_type_code := 'A';
15812 l_segment := NULL;
15813 l_ccid := NULL;
15814 l_adr_transaction_coa_id := NULL;
15815 l_adr_accounting_coa_id := NULL;
15816 l_adr_flexfield_segment_code := NULL;
15817 l_adr_flex_value_set_id := NULL;
15818 l_adr_value_type_code := NULL;
15819 l_adr_value_combination_id := NULL;
15820 l_adr_value_segment_code := NULL;
15821
15822 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
15823 l_bflow_class_code := ''; -- 4219869 Business Flow
15824 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
15825 l_budgetary_control_flag := 'N';
15826
15827 l_bflow_applied_to_amt_idx := NULL; -- 5132302
15828 l_bflow_applied_to_amt := NULL; -- 5132302
15829 l_entered_amt_idx := NULL; -- 4262811
15830 l_accted_amt_idx := NULL; -- 4262811
15831 l_acc_rev_flag := NULL; -- 4262811
15832 l_accrual_line_num := NULL; -- 4262811
15833 l_tmp_amt := NULL; -- 4262811
15834 --
15835 IF NOT ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
15836 (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
15837 return;
15838 END IF;
15839
15840 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
15841 l_balance_type_code <> 'B' THEN
15842 IF NVL(p_source_28,'
15843 ') = 'NONREC_TAX' AND
15844 NVL(p_source_54,'
15845 ') = 'Y'
15846 THEN
15847
15848 --
15849 XLA_AE_LINES_PKG.SetNewLine;
15850
15851 p_balance_type_code := l_balance_type_code;
15852 -- set the flag so later we will know whether the gain loss line needs to be created
15853
15854 IF(l_balance_type_code = 'A' ) THEN
15855 p_actual_flag :='G';
15856 END IF;
15857
15858 --
15859 -- bulk performance
15860 --
15861 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
15862 p_header_num => 0); -- 4262811
15863 --
15864 -- set accounting line options
15865 --
15866 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
15867 p_natural_side_code => 'G'
15868 , p_gain_or_loss_flag => 'N'
15869 , p_gl_transfer_mode_code => 'S'
15870 , p_acct_entry_type_code => 'A'
15871 , p_switch_side_flag => ''
15872 , p_merge_duplicate_code => 'A'
15873 );
15874 --
15875 l_acc_rev_natural_side_code := 'C'; -- 4262811
15876 --
15877 --
15878 -- set accounting line type info
15879 --
15880 xla_ae_lines_pkg.SetAcctLineType
15881 (p_component_type => l_component_type
15882 ,p_event_type_code => l_event_type_code
15883 ,p_line_definition_owner_code => l_line_definition_owner_code
15884 ,p_line_definition_code => l_line_definition_code
15885 ,p_accounting_line_code => l_component_code
15886 ,p_accounting_line_type_code => l_component_type_code
15887 ,p_accounting_line_appl_id => l_component_appl_id
15888 ,p_amb_context_code => l_amb_context_code
15889 ,p_entity_code => l_entity_code
15890 ,p_event_class_code => l_event_class_code);
15891 --
15892 -- set accounting class
15893 --
15894 xla_ae_lines_pkg.SetAcctClass(
15895 p_accounting_class_code => 'TERV'
15896 , p_ae_header_id => l_ae_header_id
15897 );
15898
15899 --
15900 -- set rounding class
15901 --
15902 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
15903 'TERV';
15904
15905 --
15906 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
15907 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
15908 --
15909 -- bulk performance
15910 --
15911 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
15912
15913 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
15914 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
15915
15916 -- 4955764
15917 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
15918 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
15919
15920 -- 4458381 Public Sector Enh
15921
15922 --
15923 -- set accounting attributes for the line type
15924 --
15925 l_entered_amt_idx := NULL;
15926 l_accted_amt_idx := 23;
15930 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
15927 l_bflow_applied_to_amt_idx := NULL; -- 5132302
15928 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
15929 l_rec_acct_attrs.array_char_value(1) := p_source_58;
15931 l_rec_acct_attrs.array_num_value(2) :=
15932 xla_ae_sources_pkg.GetSystemSourceNum(
15933 p_source_code => 'XLA_EVENT_APPL_ID'
15934 , p_source_type_code => 'Y'
15935 , p_source_application_id => 602
15936 );
15937 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
15938 l_rec_acct_attrs.array_char_value(3) := p_source_60;
15939 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
15940 l_rec_acct_attrs.array_char_value(4) :=
15941 xla_ae_sources_pkg.GetSystemSourceChar(
15942 p_source_code => 'XLA_ENTITY_CODE'
15943 , p_source_type_code => 'Y'
15944 , p_source_application_id => 602
15945 );
15946 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
15947 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_62);
15948 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
15949 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_63);
15950 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
15951 l_rec_acct_attrs.array_num_value(7) := p_source_96;
15952 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
15953 l_rec_acct_attrs.array_char_value(8) := p_source_97;
15954 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
15955 l_rec_acct_attrs.array_char_value(9) := p_source_98;
15956 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
15957 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_99);
15958 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
15959 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_100);
15960 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
15961 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_69);
15962 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
15963 l_rec_acct_attrs.array_char_value(13) := p_source_60;
15964 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
15965 l_rec_acct_attrs.array_num_value(14) := p_source_70;
15966 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
15967 l_rec_acct_attrs.array_num_value(15) := p_source_71;
15968 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
15969 l_rec_acct_attrs.array_char_value(16) := p_source_72;
15970 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
15971 l_rec_acct_attrs.array_num_value(17) := p_source_73;
15972 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
15973 l_rec_acct_attrs.array_num_value(18) := p_source_74;
15974 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
15975 l_rec_acct_attrs.array_num_value(19) := p_source_75;
15976 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
15977 l_rec_acct_attrs.array_char_value(20) := p_source_72;
15978 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
15979 l_rec_acct_attrs.array_num_value(21) := p_source_76;
15980 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
15981 l_rec_acct_attrs.array_char_value(22) := p_source_77;
15982 l_rec_acct_attrs.array_acct_attr_code(23) := 'LEDGER_AMOUNT';
15983 l_rec_acct_attrs.array_num_value(23) := p_source_16;
15984 l_rec_acct_attrs.array_acct_attr_code(24) := 'MULTIPERIOD_END_DATE';
15985 l_rec_acct_attrs.array_date_value(24) := p_source_82;
15986 l_rec_acct_attrs.array_acct_attr_code(25) := 'MULTIPERIOD_OPTION';
15987 l_rec_acct_attrs.array_char_value(25) := p_source_83;
15988 l_rec_acct_attrs.array_acct_attr_code(26) := 'MULTIPERIOD_START_DATE';
15989 l_rec_acct_attrs.array_date_value(26) := p_source_84;
15990 l_rec_acct_attrs.array_acct_attr_code(27) := 'OVERRIDE_ACCTD_AMT_FLAG';
15991 l_rec_acct_attrs.array_char_value(27) := p_source_85;
15992 l_rec_acct_attrs.array_acct_attr_code(28) := 'PARTY_ID';
15993 l_rec_acct_attrs.array_num_value(28) := p_source_86;
15994 l_rec_acct_attrs.array_acct_attr_code(29) := 'PARTY_SITE_ID';
15995 l_rec_acct_attrs.array_num_value(29) := p_source_87;
15996 l_rec_acct_attrs.array_acct_attr_code(30) := 'PARTY_TYPE';
15997 l_rec_acct_attrs.array_char_value(30) := p_source_88;
15998 l_rec_acct_attrs.array_acct_attr_code(31) := 'REVERSED_DISTRIBUTION_ID1';
15999 l_rec_acct_attrs.array_num_value(31) := to_char(p_source_89);
16000 l_rec_acct_attrs.array_acct_attr_code(32) := 'REVERSED_DISTRIBUTION_TYPE';
16001 l_rec_acct_attrs.array_char_value(32) := p_source_60;
16002 l_rec_acct_attrs.array_acct_attr_code(33) := 'TAX_LINE_REF_ID';
16003 l_rec_acct_attrs.array_num_value(33) := p_source_91;
16004 l_rec_acct_attrs.array_acct_attr_code(34) := 'TAX_REC_NREC_DIST_REF_ID';
16005 l_rec_acct_attrs.array_num_value(34) := p_source_92;
16006 l_rec_acct_attrs.array_acct_attr_code(35) := 'TAX_SUMMARY_LINE_REF_ID';
16007 l_rec_acct_attrs.array_num_value(35) := p_source_93;
16008 l_rec_acct_attrs.array_acct_attr_code(36) := 'UPG_CR_ENC_TYPE_ID';
16009 l_rec_acct_attrs.array_num_value(36) := p_source_94;
16010 l_rec_acct_attrs.array_acct_attr_code(37) := 'UPG_DR_ENC_TYPE_ID';
16011 l_rec_acct_attrs.array_num_value(37) := p_source_95;
16012
16013 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
16017 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
16014 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
16015
16016 ---------------------------------------------------------------------------------------------------------------
16018 ---------------------------------------------------------------------------------------------------------------
16019 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
16020
16021 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
16022 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
16023
16024 IF xla_accounting_cache_pkg.GetValueChar
16025 (p_source_code => 'LEDGER_CATEGORY_CODE'
16026 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
16027 AND l_bflow_method_code = 'PRIOR_ENTRY'
16028 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
16029 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
16030 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
16031 )
16032 THEN
16033 xla_ae_lines_pkg.BflowUpgEntry
16034 (p_business_method_code => l_bflow_method_code
16035 ,p_business_class_code => l_bflow_class_code
16036 ,p_balance_type => l_balance_type_code);
16037 ELSE
16038 NULL;
16039 -- No business flow processing for business flow method of NONE.
16040 END IF;
16041
16042 --
16043 -- call analytical criteria
16044 --
16045
16046 --
16047 -- call description
16048 --
16049
16050 xla_ae_lines_pkg.SetLineDescription(
16051 p_ae_header_id => l_ae_header_id
16052 ,p_description => Description_2 (
16053 p_application_id => p_application_id
16054 , p_ae_header_id => l_ae_header_id
16055 , p_source_1 => p_source_1
16056 )
16057 );
16058
16059
16060 --
16061 -- call ADRs
16062 -- Bug 4922099
16063 --
16064 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
16065 (NVL(l_actual_upg_option, 'N') = 'O') OR
16066 (NVL(l_enc_upg_option, 'N') = 'O')
16067 )
16068 THEN
16069 NULL;
16070 --
16071 --
16072
16073 l_ccid := AcctDerRule_32(
16074 p_application_id => p_application_id
16075 , p_ae_header_id => l_ae_header_id
16076 , p_source_10 => p_source_10
16077 , p_source_10_meaning => p_source_10_meaning
16078 , p_source_15 => p_source_15
16079 , p_source_16 => p_source_16
16080 , p_source_17 => p_source_17
16081 , p_source_17_meaning => p_source_17_meaning
16082 , p_source_18 => p_source_18
16083 , p_source_25 => p_source_25
16084 , p_source_43 => p_source_43
16085 , p_source_43_meaning => p_source_43_meaning
16086 , x_transaction_coa_id => l_adr_transaction_coa_id
16087 , x_accounting_coa_id => l_adr_accounting_coa_id
16088 , x_value_type_code => l_adr_value_type_code
16089 , p_side => 'ALL'
16090 );
16091
16092 xla_ae_lines_pkg.set_ccid(
16093 p_code_combination_id => l_ccid
16094 , p_value_type_code => l_adr_value_type_code
16095 , p_transaction_coa_id => l_adr_transaction_coa_id
16096 , p_accounting_coa_id => l_adr_accounting_coa_id
16097 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
16098 , p_adr_type_code => 'S'
16099 , p_component_type => l_component_type
16100 , p_component_code => l_component_code
16101 , p_component_type_code => l_component_type_code
16102 , p_component_appl_id => l_component_appl_id
16103 , p_amb_context_code => l_amb_context_code
16104 , p_side => 'ALL'
16105 );
16106
16107
16108 l_segment := AcctDerRule_9(
16109 p_application_id => p_application_id
16110 , p_ae_header_id => l_ae_header_id
16111 , p_source_10 => p_source_10
16112 , p_source_10_meaning => p_source_10_meaning
16113 , p_source_15 => p_source_15
16114 , p_source_17 => p_source_17
16115 , p_source_17_meaning => p_source_17_meaning
16116 , x_transaction_coa_id => l_adr_transaction_coa_id
16117 , x_accounting_coa_id => l_adr_accounting_coa_id
16118 , x_flexfield_segment_code => l_adr_flexfield_segment_code
16119 , x_flex_value_set_id => l_adr_flex_value_set_id
16120 , x_value_type_code => l_adr_value_type_code
16121 , x_value_combination_id => l_adr_value_combination_id
16122 , x_value_segment_code => l_adr_value_segment_code
16123 , p_side => 'DEBIT'
16124 , p_override_seg_flag => 'Y'
16125 );
16126
16127 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
16128
16129 xla_ae_lines_pkg.set_segment(
16130 p_to_segment_code => 'GL_ACCOUNT'
16131 , p_segment_value => l_segment
16132 , p_from_segment_code => l_adr_value_segment_code
16133 , p_from_combination_id => l_adr_value_combination_id
16134 , p_value_type_code => l_adr_value_type_code
16135 , p_transaction_coa_id => l_adr_transaction_coa_id
16139 , p_adr_code => 'AP_ERV_GAIN_NAT_ACCT_SEG'
16136 , p_accounting_coa_id => l_adr_accounting_coa_id
16137 , p_flexfield_segment_code => l_adr_flexfield_segment_code
16138 , p_flex_value_set_id => l_adr_flex_value_set_id
16140 , p_adr_type_code => 'S'
16141 , p_component_type => l_component_type
16142 , p_component_code => l_component_code
16143 , p_component_type_code => l_component_type_code
16144 , p_component_appl_id => l_component_appl_id
16145 , p_amb_context_code => l_amb_context_code
16146 , p_entity_code => 'AP_INVOICES'
16147 , p_event_class_code => 'DEBIT MEMOS'
16148 , p_side => 'DEBIT'
16149 );
16150
16151 END IF;
16152
16153 l_segment := AcctDerRule_10(
16154 p_application_id => p_application_id
16155 , p_ae_header_id => l_ae_header_id
16156 , p_source_10 => p_source_10
16157 , p_source_10_meaning => p_source_10_meaning
16158 , p_source_17 => p_source_17
16159 , p_source_17_meaning => p_source_17_meaning
16160 , p_source_18 => p_source_18
16161 , x_transaction_coa_id => l_adr_transaction_coa_id
16162 , x_accounting_coa_id => l_adr_accounting_coa_id
16163 , x_flexfield_segment_code => l_adr_flexfield_segment_code
16164 , x_flex_value_set_id => l_adr_flex_value_set_id
16165 , x_value_type_code => l_adr_value_type_code
16166 , x_value_combination_id => l_adr_value_combination_id
16167 , x_value_segment_code => l_adr_value_segment_code
16168 , p_side => 'CREDIT'
16169 , p_override_seg_flag => 'Y'
16170 );
16171
16172 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
16173
16174 xla_ae_lines_pkg.set_segment(
16175 p_to_segment_code => 'GL_ACCOUNT'
16176 , p_segment_value => l_segment
16177 , p_from_segment_code => l_adr_value_segment_code
16178 , p_from_combination_id => l_adr_value_combination_id
16179 , p_value_type_code => l_adr_value_type_code
16180 , p_transaction_coa_id => l_adr_transaction_coa_id
16181 , p_accounting_coa_id => l_adr_accounting_coa_id
16182 , p_flexfield_segment_code => l_adr_flexfield_segment_code
16183 , p_flex_value_set_id => l_adr_flex_value_set_id
16184 , p_adr_code => 'AP_ERV_LOSS_NAT_ACCT_SEG'
16185 , p_adr_type_code => 'S'
16186 , p_component_type => l_component_type
16187 , p_component_code => l_component_code
16188 , p_component_type_code => l_component_type_code
16189 , p_component_appl_id => l_component_appl_id
16190 , p_amb_context_code => l_amb_context_code
16191 , p_entity_code => 'AP_INVOICES'
16192 , p_event_class_code => 'DEBIT MEMOS'
16193 , p_side => 'CREDIT'
16194 );
16195
16196 END IF;
16197
16198 l_segment := AcctDerRule_24(
16199 p_application_id => p_application_id
16200 , p_ae_header_id => l_ae_header_id
16201 , p_source_10 => p_source_10
16202 , p_source_10_meaning => p_source_10_meaning
16203 , p_source_17 => p_source_17
16204 , p_source_17_meaning => p_source_17_meaning
16205 , p_source_25 => p_source_25
16206 , x_transaction_coa_id => l_adr_transaction_coa_id
16207 , x_accounting_coa_id => l_adr_accounting_coa_id
16208 , x_flexfield_segment_code => l_adr_flexfield_segment_code
16209 , x_flex_value_set_id => l_adr_flex_value_set_id
16210 , x_value_type_code => l_adr_value_type_code
16211 , x_value_combination_id => l_adr_value_combination_id
16212 , x_value_segment_code => l_adr_value_segment_code
16213 , p_side => 'ALL'
16214 , p_override_seg_flag => 'Y'
16215 );
16216
16217 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
16218
16219 xla_ae_lines_pkg.set_segment(
16220 p_to_segment_code => 'GL_BALANCING'
16221 , p_segment_value => l_segment
16222 , p_from_segment_code => l_adr_value_segment_code
16223 , p_from_combination_id => l_adr_value_combination_id
16224 , p_value_type_code => l_adr_value_type_code
16225 , p_transaction_coa_id => l_adr_transaction_coa_id
16226 , p_accounting_coa_id => l_adr_accounting_coa_id
16227 , p_flexfield_segment_code => l_adr_flexfield_segment_code
16228 , p_flex_value_set_id => l_adr_flex_value_set_id
16229 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
16230 , p_adr_type_code => 'S'
16231 , p_component_type => l_component_type
16232 , p_component_code => l_component_code
16233 , p_component_type_code => l_component_type_code
16234 , p_component_appl_id => l_component_appl_id
16235 , p_amb_context_code => l_amb_context_code
16236 , p_entity_code => 'AP_INVOICES'
16237 , p_event_class_code => 'DEBIT MEMOS'
16238 , p_side => 'ALL'
16239 );
16240
16241 END IF;
16242
16246 --
16243 --
16244 --
16245 END IF;
16247 -- Bug 4922099
16248 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
16249 (NVL(l_enc_upg_option, 'N') = 'O')
16250 ) AND
16251 (l_bflow_method_code = 'PRIOR_ENTRY')
16252 )
16253 THEN
16254 IF
16255 --
16256 1 = 2
16257 --
16258 THEN
16259 xla_accounting_err_pkg.build_message
16260 (p_appli_s_name => 'XLA'
16261 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
16262 ,p_token_1 => 'LINE_NUMBER'
16263 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
16264 ,p_token_2 => 'LINE_TYPE_NAME'
16265 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
16266 l_component_type
16267 ,l_component_code
16268 ,l_component_type_code
16269 ,l_component_appl_id
16270 ,l_amb_context_code
16271 ,l_entity_code
16272 ,l_event_class_code
16273 )
16274 ,p_token_3 => 'OWNER'
16275 ,p_value_3 => xla_lookups_pkg.get_meaning(
16276 p_lookup_type => 'XLA_OWNER_TYPE'
16277 ,p_lookup_code => l_component_type_code
16278 )
16279 ,p_token_4 => 'PRODUCT_NAME'
16280 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
16281 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
16282 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
16283 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
16284 ,p_ae_header_id => NULL
16285 );
16286
16287 IF (C_LEVEL_ERROR>= g_log_level) THEN
16288 trace
16289 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
16290 ,p_level => C_LEVEL_ERROR
16291 ,p_module => l_log_module);
16292 END IF;
16293 END IF;
16294 END IF;
16295 --
16296 --
16297 ------------------------------------------------------------------------------------------------
16298 -- 4219869 Business Flow
16299 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
16300 -- Prior Entry. Currently, the following code is always generated.
16301 ------------------------------------------------------------------------------------------------
16302 XLA_AE_LINES_PKG.ValidateCurrentLine;
16303
16304 ------------------------------------------------------------------------------------
16305 -- 4219869 Business Flow
16306 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
16307 ------------------------------------------------------------------------------------
16308 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
16309
16310 ----------------------------------------------------------------------------------
16311 -- 4219869 Business Flow
16312 -- Update journal entry status -- Need to generate this within IF <condition>
16313 ----------------------------------------------------------------------------------
16314 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
16315 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
16316 ,p_balance_type_code => l_balance_type_code
16317 );
16318
16319 -------------------------------------------------------------------------------------------
16320 -- 4262811 - Generate the Accrual Reversal lines
16321 -------------------------------------------------------------------------------------------
16322 BEGIN
16323 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
16324 (g_array_event(p_event_id).array_value_num('header_index'));
16325 IF l_acc_rev_flag IS NULL THEN
16326 l_acc_rev_flag := 'N';
16327 END IF;
16328 EXCEPTION
16329 WHEN OTHERS THEN
16330 l_acc_rev_flag := 'N';
16331 END;
16332 --
16333 IF (l_acc_rev_flag = 'Y') THEN
16334
16335 -- 4645092 ------------------------------------------------------------------------------
16336 -- To allow MPA report to determine if it should generate report process
16337 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
16341 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
16338 ------------------------------------------------------------------------------------------
16339
16340 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
16342 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
16343 -- call ADRs
16344 -- Bug 4922099
16345 --
16346 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
16347 (NVL(l_actual_upg_option, 'N') = 'O') OR
16348 (NVL(l_enc_upg_option, 'N') = 'O')
16349 )
16350 THEN
16351 NULL;
16352 --
16353 --
16354
16355 l_ccid := AcctDerRule_32(
16356 p_application_id => p_application_id
16357 , p_ae_header_id => l_ae_header_id
16358 , p_source_10 => p_source_10
16359 , p_source_10_meaning => p_source_10_meaning
16360 , p_source_15 => p_source_15
16361 , p_source_16 => p_source_16
16362 , p_source_17 => p_source_17
16363 , p_source_17_meaning => p_source_17_meaning
16364 , p_source_18 => p_source_18
16365 , p_source_25 => p_source_25
16366 , p_source_43 => p_source_43
16367 , p_source_43_meaning => p_source_43_meaning
16368 , x_transaction_coa_id => l_adr_transaction_coa_id
16369 , x_accounting_coa_id => l_adr_accounting_coa_id
16370 , x_value_type_code => l_adr_value_type_code
16371 , p_side => 'ALL'
16372 );
16373
16374 xla_ae_lines_pkg.set_ccid(
16375 p_code_combination_id => l_ccid
16376 , p_value_type_code => l_adr_value_type_code
16377 , p_transaction_coa_id => l_adr_transaction_coa_id
16378 , p_accounting_coa_id => l_adr_accounting_coa_id
16379 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
16380 , p_adr_type_code => 'S'
16381 , p_component_type => l_component_type
16382 , p_component_code => l_component_code
16383 , p_component_type_code => l_component_type_code
16384 , p_component_appl_id => l_component_appl_id
16385 , p_amb_context_code => l_amb_context_code
16386 , p_side => 'ALL'
16387 );
16388
16389
16390 l_segment := AcctDerRule_9(
16391 p_application_id => p_application_id
16392 , p_ae_header_id => l_ae_header_id
16393 , p_source_10 => p_source_10
16394 , p_source_10_meaning => p_source_10_meaning
16395 , p_source_15 => p_source_15
16396 , p_source_17 => p_source_17
16397 , p_source_17_meaning => p_source_17_meaning
16398 , x_transaction_coa_id => l_adr_transaction_coa_id
16399 , x_accounting_coa_id => l_adr_accounting_coa_id
16400 , x_flexfield_segment_code => l_adr_flexfield_segment_code
16401 , x_flex_value_set_id => l_adr_flex_value_set_id
16402 , x_value_type_code => l_adr_value_type_code
16403 , x_value_combination_id => l_adr_value_combination_id
16404 , x_value_segment_code => l_adr_value_segment_code
16405 , p_side => 'DEBIT'
16406 , p_override_seg_flag => 'Y'
16407 );
16408
16409 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
16410
16411 xla_ae_lines_pkg.set_segment(
16412 p_to_segment_code => 'GL_ACCOUNT'
16413 , p_segment_value => l_segment
16414 , p_from_segment_code => l_adr_value_segment_code
16415 , p_from_combination_id => l_adr_value_combination_id
16416 , p_value_type_code => l_adr_value_type_code
16417 , p_transaction_coa_id => l_adr_transaction_coa_id
16418 , p_accounting_coa_id => l_adr_accounting_coa_id
16419 , p_flexfield_segment_code => l_adr_flexfield_segment_code
16420 , p_flex_value_set_id => l_adr_flex_value_set_id
16421 , p_adr_code => 'AP_ERV_GAIN_NAT_ACCT_SEG'
16422 , p_adr_type_code => 'S'
16423 , p_component_type => l_component_type
16424 , p_component_code => l_component_code
16425 , p_component_type_code => l_component_type_code
16426 , p_component_appl_id => l_component_appl_id
16427 , p_amb_context_code => l_amb_context_code
16428 , p_entity_code => 'AP_INVOICES'
16429 , p_event_class_code => 'DEBIT MEMOS'
16430 , p_side => 'DEBIT'
16431 );
16432
16433 END IF;
16434
16435 l_segment := AcctDerRule_10(
16436 p_application_id => p_application_id
16437 , p_ae_header_id => l_ae_header_id
16438 , p_source_10 => p_source_10
16439 , p_source_10_meaning => p_source_10_meaning
16440 , p_source_17 => p_source_17
16441 , p_source_17_meaning => p_source_17_meaning
16442 , p_source_18 => p_source_18
16443 , x_transaction_coa_id => l_adr_transaction_coa_id
16444 , x_accounting_coa_id => l_adr_accounting_coa_id
16445 , x_flexfield_segment_code => l_adr_flexfield_segment_code
16446 , x_flex_value_set_id => l_adr_flex_value_set_id
16447 , x_value_type_code => l_adr_value_type_code
16448 , x_value_combination_id => l_adr_value_combination_id
16449 , x_value_segment_code => l_adr_value_segment_code
16450 , p_side => 'CREDIT'
16451 , p_override_seg_flag => 'Y'
16452 );
16453
16454 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
16458 , p_segment_value => l_segment
16455
16456 xla_ae_lines_pkg.set_segment(
16457 p_to_segment_code => 'GL_ACCOUNT'
16459 , p_from_segment_code => l_adr_value_segment_code
16460 , p_from_combination_id => l_adr_value_combination_id
16461 , p_value_type_code => l_adr_value_type_code
16462 , p_transaction_coa_id => l_adr_transaction_coa_id
16463 , p_accounting_coa_id => l_adr_accounting_coa_id
16464 , p_flexfield_segment_code => l_adr_flexfield_segment_code
16465 , p_flex_value_set_id => l_adr_flex_value_set_id
16466 , p_adr_code => 'AP_ERV_LOSS_NAT_ACCT_SEG'
16467 , p_adr_type_code => 'S'
16468 , p_component_type => l_component_type
16469 , p_component_code => l_component_code
16470 , p_component_type_code => l_component_type_code
16471 , p_component_appl_id => l_component_appl_id
16472 , p_amb_context_code => l_amb_context_code
16473 , p_entity_code => 'AP_INVOICES'
16474 , p_event_class_code => 'DEBIT MEMOS'
16475 , p_side => 'CREDIT'
16476 );
16477
16478 END IF;
16479
16480 l_segment := AcctDerRule_24(
16481 p_application_id => p_application_id
16482 , p_ae_header_id => l_ae_header_id
16483 , p_source_10 => p_source_10
16484 , p_source_10_meaning => p_source_10_meaning
16485 , p_source_17 => p_source_17
16486 , p_source_17_meaning => p_source_17_meaning
16487 , p_source_25 => p_source_25
16488 , x_transaction_coa_id => l_adr_transaction_coa_id
16489 , x_accounting_coa_id => l_adr_accounting_coa_id
16490 , x_flexfield_segment_code => l_adr_flexfield_segment_code
16491 , x_flex_value_set_id => l_adr_flex_value_set_id
16492 , x_value_type_code => l_adr_value_type_code
16493 , x_value_combination_id => l_adr_value_combination_id
16494 , x_value_segment_code => l_adr_value_segment_code
16495 , p_side => 'ALL'
16496 , p_override_seg_flag => 'Y'
16497 );
16498
16499 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
16500
16501 xla_ae_lines_pkg.set_segment(
16502 p_to_segment_code => 'GL_BALANCING'
16503 , p_segment_value => l_segment
16504 , p_from_segment_code => l_adr_value_segment_code
16505 , p_from_combination_id => l_adr_value_combination_id
16506 , p_value_type_code => l_adr_value_type_code
16507 , p_transaction_coa_id => l_adr_transaction_coa_id
16508 , p_accounting_coa_id => l_adr_accounting_coa_id
16509 , p_flexfield_segment_code => l_adr_flexfield_segment_code
16510 , p_flex_value_set_id => l_adr_flex_value_set_id
16511 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
16512 , p_adr_type_code => 'S'
16513 , p_component_type => l_component_type
16514 , p_component_code => l_component_code
16515 , p_component_type_code => l_component_type_code
16516 , p_component_appl_id => l_component_appl_id
16517 , p_amb_context_code => l_amb_context_code
16518 , p_entity_code => 'AP_INVOICES'
16519 , p_event_class_code => 'DEBIT MEMOS'
16520 , p_side => 'ALL'
16521 );
16522
16523 END IF;
16524
16525 --
16526 --
16527 END IF;
16528
16529 --
16530 -- Update the line information that should be overwritten
16531 --
16532 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
16533 p_header_num => 1);
16534 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
16535
16536 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
16537
16538 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
16539 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
16540 END IF;
16541
16542 --
16543 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
16544 --
16545 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
16546 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
16547 ELSE
16548 ---------------------------------------------------------------------------------------------------
16549 -- 4262811a Switch Sign
16550 ---------------------------------------------------------------------------------------------------
16551 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
16552 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
16553 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
16554 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
16555 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
16556 -- 5132302
16557 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
16561
16558 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
16559
16560 END IF;
16562 -- 4955764
16563 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
16564 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
16565
16566
16567 XLA_AE_LINES_PKG.ValidateCurrentLine;
16568 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
16569
16570 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
16571 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
16572 ,p_balance_type_code => l_balance_type_code);
16573
16574 END IF;
16575
16576 -----------------------------------------------------------------------------------------
16577 -- 4262811 Multiperiod Accounting
16578 -----------------------------------------------------------------------------------------
16579 -- No MPA option is assigned.
16580
16581
16582 END IF;
16583 END IF;
16584 --
16585
16586 --
16587 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
16588 trace
16589 (p_msg => 'END of AcctLineType_65'
16590 ,p_level => C_LEVEL_PROCEDURE
16591 ,p_module => l_log_module);
16592 END IF;
16593 --
16594 EXCEPTION
16595 WHEN xla_exceptions_pkg.application_exception THEN
16596 RAISE;
16597 WHEN OTHERS THEN
16598 xla_exceptions_pkg.raise_message
16599 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_65');
16600 END AcctLineType_65;
16601 --
16602
16603 ---------------------------------------
16604 --
16605 -- PRIVATE FUNCTION
16606 -- AcctLineType_66
16607 --
16608 ---------------------------------------
16609 PROCEDURE AcctLineType_66 (
16610 p_application_id IN NUMBER
16611 ,p_event_id IN NUMBER
16612 ,p_calculate_acctd_flag IN VARCHAR2
16613 ,p_calculate_g_l_flag IN VARCHAR2
16614 ,p_actual_flag IN OUT VARCHAR2
16615 ,p_balance_type_code OUT VARCHAR2
16616 ,p_gain_or_loss_ref OUT VARCHAR2
16617
16618 --Invoice Distribution Description
16619 , p_source_1 IN VARCHAR2
16620 --Automatic Offsets Value
16621 , p_source_10 IN VARCHAR2
16622 , p_source_10_meaning IN VARCHAR2
16623 --Purchase Order Rate Variance Gain Account
16624 , p_source_15 IN NUMBER
16625 --Invoice Distribution Ledger Amount
16626 , p_source_16 IN NUMBER
16627 --Destination Type of the PO Distribution
16628 , p_source_17 IN VARCHAR2
16629 , p_source_17_meaning IN VARCHAR2
16630 --Purchase Order Rate Variance Loss Account
16631 , p_source_18 IN NUMBER
16632 --Invoice Distribution Account
16633 , p_source_25 IN NUMBER
16634 --Invoice Distribution Type
16635 , p_source_28 IN VARCHAR2
16636 , p_source_28_meaning IN VARCHAR2
16637 --Automatic Offsets Flag
16638 , p_source_43 IN VARCHAR2
16639 , p_source_43_meaning IN VARCHAR2
16640 --Accrue on Receipt Option
16641 , p_source_54 IN VARCHAR2
16642 , p_source_54_meaning IN VARCHAR2
16643 --Accounting Reversal Indicator
16644 , p_source_58 IN VARCHAR2
16645 --Distribution Link Type
16646 , p_source_60 IN VARCHAR2
16647 --Allocation to Main Distribution Identifier
16648 , p_source_62 IN NUMBER
16649 --Invoice Identifier
16650 , p_source_63 IN NUMBER
16651 --Invoice Distribution Identifier
16652 , p_source_69 IN NUMBER
16653 --Payables Encumbrance Upgrade Credit Account
16654 , p_source_70 IN NUMBER
16655 --Payables Encumbrance Upgrade Credit Amount
16656 , p_source_71 IN NUMBER
16657 --Invoice Currency Code
16658 , p_source_72 IN VARCHAR2
16659 --Payables Encumbrance Upgrade Credit Base Amount
16660 , p_source_73 IN NUMBER
16661 --Payables Encumbrance Upgrade Debit Account
16662 , p_source_74 IN NUMBER
16663 --Payables Encumbrance Upgrade Debit Amount
16664 , p_source_75 IN NUMBER
16665 --Payables Encumbrance Upgrade Debit Base Amount
16666 , p_source_76 IN NUMBER
16667 --Payables Encumbrance Upgrade Option
16668 , p_source_77 IN VARCHAR2
16669 --Invoice Distribution Amount
16670 , p_source_78 IN NUMBER
16671 --Deferred Accounting End Date
16672 , p_source_82 IN DATE
16673 --Deferred Accounting Option
16674 , p_source_83 IN VARCHAR2
16675 --Deferred Accounting Start Date
16676 , p_source_84 IN DATE
16677 --Override Accounted Amount Indicator
16678 , p_source_85 IN VARCHAR2
16679 , p_source_85_meaning IN VARCHAR2
16680 --Invoice Supplier Identifier
16681 , p_source_86 IN NUMBER
16682 --Invoice Supplier Site Identifier
16683 , p_source_87 IN NUMBER
16684 --Third Party Type
16685 , p_source_88 IN VARCHAR2
16686 --Parent Reversal Identifier
16687 , p_source_89 IN NUMBER
16688 --Invoice Distribution Statistical Amount
16689 , p_source_90 IN NUMBER
16690 --Invoice Distribution Tax Line Identifier
16691 , p_source_91 IN NUMBER
16692 --Invoice Distribution Tax Distribution Identifier from Tax
16693 , p_source_92 IN NUMBER
16697 , p_source_94 IN NUMBER
16694 --Invoice Distribution Summary Tax Line Identifier
16695 , p_source_93 IN NUMBER
16696 --Payables Upgrade Credit Encumbrance Type Identifier
16698 --Payables Upgrade Debit Encumbrance Type Identifier
16699 , p_source_95 IN NUMBER
16700 --Business Flow Accounts Payable Application Identifier
16701 , p_source_96 IN NUMBER
16702 --Business Flow Invoice Distribution Type
16703 , p_source_97 IN VARCHAR2
16704 --Business Flow Invoice Entity Code
16705 , p_source_98 IN VARCHAR2
16706 --Business Flow Invoice Distribution Identifier
16707 , p_source_99 IN NUMBER
16708 --Business Flow Invoice Identifier
16709 , p_source_100 IN NUMBER
16710 )
16711 IS
16712
16713 l_component_type VARCHAR2(80);
16714 l_component_code VARCHAR2(30);
16715 l_component_type_code VARCHAR2(1);
16716 l_component_appl_id INTEGER;
16717 l_amb_context_code VARCHAR2(30);
16718 l_entity_code VARCHAR2(30);
16719 l_event_class_code VARCHAR2(30);
16720 l_ae_header_id NUMBER;
16721 l_event_type_code VARCHAR2(30);
16722 l_line_definition_code VARCHAR2(30);
16723 l_line_definition_owner_code VARCHAR2(1);
16724 --
16725 -- adr variables
16726 l_segment VARCHAR2(30);
16727 l_ccid NUMBER;
16728 l_adr_transaction_coa_id NUMBER;
16729 l_adr_accounting_coa_id NUMBER;
16730 l_adr_flexfield_segment_code VARCHAR2(30);
16731 l_adr_flex_value_set_id NUMBER;
16732 l_adr_value_type_code VARCHAR2(30);
16733 l_adr_value_combination_id NUMBER;
16734 l_adr_value_segment_code VARCHAR2(30);
16735
16736 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
16737 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
16738 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
16739 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
16740
16741 -- 4262811 Variables ------------------------------------------------------------------------------------------
16742 l_entered_amt_idx NUMBER;
16743 l_accted_amt_idx NUMBER;
16744 l_acc_rev_flag VARCHAR2(1);
16745 l_accrual_line_num NUMBER;
16746 l_tmp_amt NUMBER;
16747 l_acc_rev_natural_side_code VARCHAR2(1);
16748
16749 l_num_entries NUMBER;
16750 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
16751 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
16752 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
16753 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
16754 l_recog_line_1 NUMBER;
16755 l_recog_line_2 NUMBER;
16756
16757 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
16758 l_bflow_applied_to_amt NUMBER; -- 5132302
16759 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
16760
16761 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
16762
16763 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
16764 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
16765
16766 ---------------------------------------------------------------------------------------------------------------
16767
16768
16769 --
16770 -- bulk performance
16771 --
16772 l_balance_type_code VARCHAR2(1);
16773 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
16774 l_log_module VARCHAR2(240);
16775
16776 --
16777 -- Upgrade strategy
16778 --
16779 l_actual_upg_option VARCHAR2(1);
16780 l_enc_upg_option VARCHAR2(1);
16781
16782 --
16783 BEGIN
16784 --
16785 IF g_log_enabled THEN
16786 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_66';
16787 END IF;
16788 --
16789 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
16790
16791 trace
16792 (p_msg => 'BEGIN of AcctLineType_66'
16793 ,p_level => C_LEVEL_PROCEDURE
16794 ,p_module => l_log_module);
16795
16796 END IF;
16797 --
16798 l_component_type := 'AMB_JLT';
16799 l_component_code := 'AP_ALC_TAX_EX_RATE_VAR_INV';
16800 l_component_type_code := 'S';
16801 l_component_appl_id := 200;
16802 l_amb_context_code := 'DEFAULT';
16803 l_entity_code := 'AP_INVOICES';
16804 l_event_class_code := 'INVOICES';
16805 l_event_type_code := 'INVOICES_ALL';
16806 l_line_definition_owner_code := 'S';
16807 l_line_definition_code := 'ACCRUAL_INVOICES_ALL';
16808 --
16809 l_balance_type_code := 'A';
16810 l_segment := NULL;
16811 l_ccid := NULL;
16812 l_adr_transaction_coa_id := NULL;
16813 l_adr_accounting_coa_id := NULL;
16814 l_adr_flexfield_segment_code := NULL;
16815 l_adr_flex_value_set_id := NULL;
16816 l_adr_value_type_code := NULL;
16817 l_adr_value_combination_id := NULL;
16818 l_adr_value_segment_code := NULL;
16819
16820 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
16821 l_bflow_class_code := ''; -- 4219869 Business Flow
16825 l_bflow_applied_to_amt_idx := NULL; -- 5132302
16822 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
16823 l_budgetary_control_flag := 'N';
16824
16826 l_bflow_applied_to_amt := NULL; -- 5132302
16827 l_entered_amt_idx := NULL; -- 4262811
16828 l_accted_amt_idx := NULL; -- 4262811
16829 l_acc_rev_flag := NULL; -- 4262811
16830 l_accrual_line_num := NULL; -- 4262811
16831 l_tmp_amt := NULL; -- 4262811
16832 --
16833 IF NOT ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
16834 (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
16835 return;
16836 END IF;
16837
16838 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
16839 l_balance_type_code <> 'B' THEN
16840 IF NVL(p_source_28,'
16841 ') = 'NONREC_TAX' AND
16842 NVL(p_source_54,'
16843 ') = 'Y'
16844 THEN
16845
16846 --
16847 XLA_AE_LINES_PKG.SetNewLine;
16848
16849 p_balance_type_code := l_balance_type_code;
16850 -- set the flag so later we will know whether the gain loss line needs to be created
16851
16852 IF(l_balance_type_code = 'A' ) THEN
16853 p_actual_flag :='G';
16854 END IF;
16855
16856 --
16857 -- bulk performance
16858 --
16859 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
16860 p_header_num => 0); -- 4262811
16861 --
16862 -- set accounting line options
16863 --
16864 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
16865 p_natural_side_code => 'G'
16866 , p_gain_or_loss_flag => 'N'
16867 , p_gl_transfer_mode_code => 'S'
16868 , p_acct_entry_type_code => 'A'
16869 , p_switch_side_flag => ''
16870 , p_merge_duplicate_code => 'A'
16871 );
16872 --
16873 l_acc_rev_natural_side_code := 'C'; -- 4262811
16874 --
16875 --
16876 -- set accounting line type info
16877 --
16878 xla_ae_lines_pkg.SetAcctLineType
16879 (p_component_type => l_component_type
16880 ,p_event_type_code => l_event_type_code
16881 ,p_line_definition_owner_code => l_line_definition_owner_code
16882 ,p_line_definition_code => l_line_definition_code
16883 ,p_accounting_line_code => l_component_code
16884 ,p_accounting_line_type_code => l_component_type_code
16885 ,p_accounting_line_appl_id => l_component_appl_id
16886 ,p_amb_context_code => l_amb_context_code
16887 ,p_entity_code => l_entity_code
16888 ,p_event_class_code => l_event_class_code);
16889 --
16890 -- set accounting class
16891 --
16892 xla_ae_lines_pkg.SetAcctClass(
16893 p_accounting_class_code => 'TERV'
16894 , p_ae_header_id => l_ae_header_id
16895 );
16896
16897 --
16898 -- set rounding class
16899 --
16900 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
16901 'TERV';
16902
16903 --
16904 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
16905 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
16906 --
16907 -- bulk performance
16908 --
16909 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
16910
16911 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
16912 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
16913
16914 -- 4955764
16915 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
16916 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
16917
16918 -- 4458381 Public Sector Enh
16919
16920 --
16921 -- set accounting attributes for the line type
16922 --
16923 l_entered_amt_idx := NULL;
16924 l_accted_amt_idx := 24;
16925 l_bflow_applied_to_amt_idx := 7; -- 5132302
16926 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
16927 l_rec_acct_attrs.array_char_value(1) := p_source_58;
16928 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
16929 l_rec_acct_attrs.array_num_value(2) :=
16930 xla_ae_sources_pkg.GetSystemSourceNum(
16931 p_source_code => 'XLA_EVENT_APPL_ID'
16932 , p_source_type_code => 'Y'
16933 , p_source_application_id => 602
16934 );
16935 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
16936 l_rec_acct_attrs.array_char_value(3) := p_source_60;
16937 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
16938 l_rec_acct_attrs.array_char_value(4) :=
16939 xla_ae_sources_pkg.GetSystemSourceChar(
16940 p_source_code => 'XLA_ENTITY_CODE'
16941 , p_source_type_code => 'Y'
16942 , p_source_application_id => 602
16943 );
16944 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
16948 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
16945 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_62);
16946 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
16947 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_63);
16949 l_rec_acct_attrs.array_num_value(7) := p_source_78;
16950 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
16951 l_rec_acct_attrs.array_num_value(8) := p_source_96;
16952 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
16953 l_rec_acct_attrs.array_char_value(9) := p_source_97;
16954 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
16955 l_rec_acct_attrs.array_char_value(10) := p_source_98;
16956 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
16957 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_99);
16958 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
16959 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_100);
16960 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
16961 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_69);
16962 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
16963 l_rec_acct_attrs.array_char_value(14) := p_source_60;
16964 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
16965 l_rec_acct_attrs.array_num_value(15) := p_source_70;
16966 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
16967 l_rec_acct_attrs.array_num_value(16) := p_source_71;
16968 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
16969 l_rec_acct_attrs.array_char_value(17) := p_source_72;
16970 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
16971 l_rec_acct_attrs.array_num_value(18) := p_source_73;
16972 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
16973 l_rec_acct_attrs.array_num_value(19) := p_source_74;
16974 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
16975 l_rec_acct_attrs.array_num_value(20) := p_source_75;
16976 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
16977 l_rec_acct_attrs.array_char_value(21) := p_source_72;
16978 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
16979 l_rec_acct_attrs.array_num_value(22) := p_source_76;
16980 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
16981 l_rec_acct_attrs.array_char_value(23) := p_source_77;
16982 l_rec_acct_attrs.array_acct_attr_code(24) := 'LEDGER_AMOUNT';
16983 l_rec_acct_attrs.array_num_value(24) := p_source_16;
16984 l_rec_acct_attrs.array_acct_attr_code(25) := 'MULTIPERIOD_END_DATE';
16985 l_rec_acct_attrs.array_date_value(25) := p_source_82;
16986 l_rec_acct_attrs.array_acct_attr_code(26) := 'MULTIPERIOD_OPTION';
16987 l_rec_acct_attrs.array_char_value(26) := p_source_83;
16988 l_rec_acct_attrs.array_acct_attr_code(27) := 'MULTIPERIOD_START_DATE';
16989 l_rec_acct_attrs.array_date_value(27) := p_source_84;
16990 l_rec_acct_attrs.array_acct_attr_code(28) := 'OVERRIDE_ACCTD_AMT_FLAG';
16991 l_rec_acct_attrs.array_char_value(28) := p_source_85;
16992 l_rec_acct_attrs.array_acct_attr_code(29) := 'PARTY_ID';
16993 l_rec_acct_attrs.array_num_value(29) := p_source_86;
16994 l_rec_acct_attrs.array_acct_attr_code(30) := 'PARTY_SITE_ID';
16995 l_rec_acct_attrs.array_num_value(30) := p_source_87;
16996 l_rec_acct_attrs.array_acct_attr_code(31) := 'PARTY_TYPE';
16997 l_rec_acct_attrs.array_char_value(31) := p_source_88;
16998 l_rec_acct_attrs.array_acct_attr_code(32) := 'REVERSED_DISTRIBUTION_ID1';
16999 l_rec_acct_attrs.array_num_value(32) := to_char(p_source_89);
17000 l_rec_acct_attrs.array_acct_attr_code(33) := 'REVERSED_DISTRIBUTION_TYPE';
17001 l_rec_acct_attrs.array_char_value(33) := p_source_60;
17002 l_rec_acct_attrs.array_acct_attr_code(34) := 'STATISTICAL_AMOUNT';
17003 l_rec_acct_attrs.array_num_value(34) := p_source_90;
17004 l_rec_acct_attrs.array_acct_attr_code(35) := 'TAX_LINE_REF_ID';
17005 l_rec_acct_attrs.array_num_value(35) := p_source_91;
17006 l_rec_acct_attrs.array_acct_attr_code(36) := 'TAX_REC_NREC_DIST_REF_ID';
17007 l_rec_acct_attrs.array_num_value(36) := p_source_92;
17008 l_rec_acct_attrs.array_acct_attr_code(37) := 'TAX_SUMMARY_LINE_REF_ID';
17009 l_rec_acct_attrs.array_num_value(37) := p_source_93;
17010 l_rec_acct_attrs.array_acct_attr_code(38) := 'UPG_CR_ENC_TYPE_ID';
17011 l_rec_acct_attrs.array_num_value(38) := p_source_94;
17012 l_rec_acct_attrs.array_acct_attr_code(39) := 'UPG_DR_ENC_TYPE_ID';
17013 l_rec_acct_attrs.array_num_value(39) := p_source_95;
17014
17015 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
17016 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
17017
17018 ---------------------------------------------------------------------------------------------------------------
17019 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
17020 ---------------------------------------------------------------------------------------------------------------
17021 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
17022
17023 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
17024 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
17025
17026 IF xla_accounting_cache_pkg.GetValueChar
17030 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
17027 (p_source_code => 'LEDGER_CATEGORY_CODE'
17028 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
17029 AND l_bflow_method_code = 'PRIOR_ENTRY'
17031 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
17032 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
17033 )
17034 THEN
17035 xla_ae_lines_pkg.BflowUpgEntry
17036 (p_business_method_code => l_bflow_method_code
17037 ,p_business_class_code => l_bflow_class_code
17038 ,p_balance_type => l_balance_type_code);
17039 ELSE
17040 NULL;
17041 -- No business flow processing for business flow method of NONE.
17042 END IF;
17043
17044 --
17045 -- call analytical criteria
17046 --
17047
17048 --
17049 -- call description
17050 --
17051
17052 xla_ae_lines_pkg.SetLineDescription(
17053 p_ae_header_id => l_ae_header_id
17054 ,p_description => Description_2 (
17055 p_application_id => p_application_id
17056 , p_ae_header_id => l_ae_header_id
17057 , p_source_1 => p_source_1
17058 )
17059 );
17060
17061
17062 --
17063 -- call ADRs
17064 -- Bug 4922099
17065 --
17066 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
17067 (NVL(l_actual_upg_option, 'N') = 'O') OR
17068 (NVL(l_enc_upg_option, 'N') = 'O')
17069 )
17070 THEN
17071 NULL;
17072 --
17073 --
17074
17075 l_ccid := AcctDerRule_32(
17076 p_application_id => p_application_id
17077 , p_ae_header_id => l_ae_header_id
17078 , p_source_10 => p_source_10
17079 , p_source_10_meaning => p_source_10_meaning
17080 , p_source_15 => p_source_15
17081 , p_source_16 => p_source_16
17082 , p_source_17 => p_source_17
17083 , p_source_17_meaning => p_source_17_meaning
17084 , p_source_18 => p_source_18
17085 , p_source_25 => p_source_25
17086 , p_source_43 => p_source_43
17087 , p_source_43_meaning => p_source_43_meaning
17088 , x_transaction_coa_id => l_adr_transaction_coa_id
17089 , x_accounting_coa_id => l_adr_accounting_coa_id
17090 , x_value_type_code => l_adr_value_type_code
17091 , p_side => 'ALL'
17092 );
17093
17094 xla_ae_lines_pkg.set_ccid(
17095 p_code_combination_id => l_ccid
17096 , p_value_type_code => l_adr_value_type_code
17097 , p_transaction_coa_id => l_adr_transaction_coa_id
17098 , p_accounting_coa_id => l_adr_accounting_coa_id
17099 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
17100 , p_adr_type_code => 'S'
17101 , p_component_type => l_component_type
17102 , p_component_code => l_component_code
17103 , p_component_type_code => l_component_type_code
17104 , p_component_appl_id => l_component_appl_id
17105 , p_amb_context_code => l_amb_context_code
17106 , p_side => 'ALL'
17107 );
17108
17109
17110 l_segment := AcctDerRule_9(
17111 p_application_id => p_application_id
17112 , p_ae_header_id => l_ae_header_id
17113 , p_source_10 => p_source_10
17114 , p_source_10_meaning => p_source_10_meaning
17115 , p_source_15 => p_source_15
17116 , p_source_17 => p_source_17
17117 , p_source_17_meaning => p_source_17_meaning
17118 , x_transaction_coa_id => l_adr_transaction_coa_id
17119 , x_accounting_coa_id => l_adr_accounting_coa_id
17120 , x_flexfield_segment_code => l_adr_flexfield_segment_code
17121 , x_flex_value_set_id => l_adr_flex_value_set_id
17122 , x_value_type_code => l_adr_value_type_code
17123 , x_value_combination_id => l_adr_value_combination_id
17124 , x_value_segment_code => l_adr_value_segment_code
17125 , p_side => 'CREDIT'
17126 , p_override_seg_flag => 'Y'
17127 );
17128
17129 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
17130
17131 xla_ae_lines_pkg.set_segment(
17132 p_to_segment_code => 'GL_ACCOUNT'
17133 , p_segment_value => l_segment
17134 , p_from_segment_code => l_adr_value_segment_code
17135 , p_from_combination_id => l_adr_value_combination_id
17136 , p_value_type_code => l_adr_value_type_code
17137 , p_transaction_coa_id => l_adr_transaction_coa_id
17138 , p_accounting_coa_id => l_adr_accounting_coa_id
17139 , p_flexfield_segment_code => l_adr_flexfield_segment_code
17140 , p_flex_value_set_id => l_adr_flex_value_set_id
17141 , p_adr_code => 'AP_ERV_GAIN_NAT_ACCT_SEG'
17142 , p_adr_type_code => 'S'
17143 , p_component_type => l_component_type
17144 , p_component_code => l_component_code
17145 , p_component_type_code => l_component_type_code
17146 , p_component_appl_id => l_component_appl_id
17150 , p_side => 'CREDIT'
17147 , p_amb_context_code => l_amb_context_code
17148 , p_entity_code => 'AP_INVOICES'
17149 , p_event_class_code => 'INVOICES'
17151 );
17152
17153 END IF;
17154
17155 l_segment := AcctDerRule_10(
17156 p_application_id => p_application_id
17157 , p_ae_header_id => l_ae_header_id
17158 , p_source_10 => p_source_10
17159 , p_source_10_meaning => p_source_10_meaning
17160 , p_source_17 => p_source_17
17161 , p_source_17_meaning => p_source_17_meaning
17162 , p_source_18 => p_source_18
17163 , x_transaction_coa_id => l_adr_transaction_coa_id
17164 , x_accounting_coa_id => l_adr_accounting_coa_id
17165 , x_flexfield_segment_code => l_adr_flexfield_segment_code
17166 , x_flex_value_set_id => l_adr_flex_value_set_id
17167 , x_value_type_code => l_adr_value_type_code
17168 , x_value_combination_id => l_adr_value_combination_id
17169 , x_value_segment_code => l_adr_value_segment_code
17170 , p_side => 'DEBIT'
17171 , p_override_seg_flag => 'Y'
17172 );
17173
17174 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
17175
17176 xla_ae_lines_pkg.set_segment(
17177 p_to_segment_code => 'GL_ACCOUNT'
17178 , p_segment_value => l_segment
17179 , p_from_segment_code => l_adr_value_segment_code
17180 , p_from_combination_id => l_adr_value_combination_id
17181 , p_value_type_code => l_adr_value_type_code
17182 , p_transaction_coa_id => l_adr_transaction_coa_id
17183 , p_accounting_coa_id => l_adr_accounting_coa_id
17184 , p_flexfield_segment_code => l_adr_flexfield_segment_code
17185 , p_flex_value_set_id => l_adr_flex_value_set_id
17186 , p_adr_code => 'AP_ERV_LOSS_NAT_ACCT_SEG'
17187 , p_adr_type_code => 'S'
17188 , p_component_type => l_component_type
17189 , p_component_code => l_component_code
17190 , p_component_type_code => l_component_type_code
17191 , p_component_appl_id => l_component_appl_id
17192 , p_amb_context_code => l_amb_context_code
17193 , p_entity_code => 'AP_INVOICES'
17194 , p_event_class_code => 'INVOICES'
17195 , p_side => 'DEBIT'
17196 );
17197
17198 END IF;
17199
17200 l_segment := AcctDerRule_24(
17201 p_application_id => p_application_id
17202 , p_ae_header_id => l_ae_header_id
17203 , p_source_10 => p_source_10
17204 , p_source_10_meaning => p_source_10_meaning
17205 , p_source_17 => p_source_17
17206 , p_source_17_meaning => p_source_17_meaning
17207 , p_source_25 => p_source_25
17208 , x_transaction_coa_id => l_adr_transaction_coa_id
17209 , x_accounting_coa_id => l_adr_accounting_coa_id
17210 , x_flexfield_segment_code => l_adr_flexfield_segment_code
17211 , x_flex_value_set_id => l_adr_flex_value_set_id
17212 , x_value_type_code => l_adr_value_type_code
17213 , x_value_combination_id => l_adr_value_combination_id
17214 , x_value_segment_code => l_adr_value_segment_code
17215 , p_side => 'ALL'
17216 , p_override_seg_flag => 'Y'
17217 );
17218
17219 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
17220
17221 xla_ae_lines_pkg.set_segment(
17222 p_to_segment_code => 'GL_BALANCING'
17223 , p_segment_value => l_segment
17224 , p_from_segment_code => l_adr_value_segment_code
17225 , p_from_combination_id => l_adr_value_combination_id
17226 , p_value_type_code => l_adr_value_type_code
17227 , p_transaction_coa_id => l_adr_transaction_coa_id
17228 , p_accounting_coa_id => l_adr_accounting_coa_id
17229 , p_flexfield_segment_code => l_adr_flexfield_segment_code
17230 , p_flex_value_set_id => l_adr_flex_value_set_id
17231 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
17232 , p_adr_type_code => 'S'
17233 , p_component_type => l_component_type
17234 , p_component_code => l_component_code
17235 , p_component_type_code => l_component_type_code
17236 , p_component_appl_id => l_component_appl_id
17237 , p_amb_context_code => l_amb_context_code
17238 , p_entity_code => 'AP_INVOICES'
17239 , p_event_class_code => 'INVOICES'
17240 , p_side => 'ALL'
17241 );
17242
17243 END IF;
17244
17245 --
17246 --
17247 END IF;
17248 --
17249 -- Bug 4922099
17250 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
17251 (NVL(l_enc_upg_option, 'N') = 'O')
17252 ) AND
17253 (l_bflow_method_code = 'PRIOR_ENTRY')
17254 )
17255 THEN
17256 IF
17257 --
17258 1 = 2
17259 --
17260 THEN
17261 xla_accounting_err_pkg.build_message
17262 (p_appli_s_name => 'XLA'
17263 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
17267 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
17264 ,p_token_1 => 'LINE_NUMBER'
17265 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
17266 ,p_token_2 => 'LINE_TYPE_NAME'
17268 l_component_type
17269 ,l_component_code
17270 ,l_component_type_code
17271 ,l_component_appl_id
17272 ,l_amb_context_code
17273 ,l_entity_code
17274 ,l_event_class_code
17275 )
17276 ,p_token_3 => 'OWNER'
17277 ,p_value_3 => xla_lookups_pkg.get_meaning(
17278 p_lookup_type => 'XLA_OWNER_TYPE'
17279 ,p_lookup_code => l_component_type_code
17280 )
17281 ,p_token_4 => 'PRODUCT_NAME'
17282 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
17283 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
17284 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
17285 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
17286 ,p_ae_header_id => NULL
17287 );
17288
17289 IF (C_LEVEL_ERROR>= g_log_level) THEN
17290 trace
17291 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
17292 ,p_level => C_LEVEL_ERROR
17293 ,p_module => l_log_module);
17294 END IF;
17295 END IF;
17296 END IF;
17297 --
17298 --
17299 ------------------------------------------------------------------------------------------------
17300 -- 4219869 Business Flow
17301 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
17302 -- Prior Entry. Currently, the following code is always generated.
17303 ------------------------------------------------------------------------------------------------
17304 XLA_AE_LINES_PKG.ValidateCurrentLine;
17305
17306 ------------------------------------------------------------------------------------
17307 -- 4219869 Business Flow
17308 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
17309 ------------------------------------------------------------------------------------
17310 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
17311
17312 ----------------------------------------------------------------------------------
17313 -- 4219869 Business Flow
17314 -- Update journal entry status -- Need to generate this within IF <condition>
17315 ----------------------------------------------------------------------------------
17316 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
17317 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
17318 ,p_balance_type_code => l_balance_type_code
17319 );
17320
17321 -------------------------------------------------------------------------------------------
17322 -- 4262811 - Generate the Accrual Reversal lines
17323 -------------------------------------------------------------------------------------------
17324 BEGIN
17325 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
17326 (g_array_event(p_event_id).array_value_num('header_index'));
17327 IF l_acc_rev_flag IS NULL THEN
17328 l_acc_rev_flag := 'N';
17329 END IF;
17330 EXCEPTION
17331 WHEN OTHERS THEN
17332 l_acc_rev_flag := 'N';
17333 END;
17334 --
17335 IF (l_acc_rev_flag = 'Y') THEN
17336
17337 -- 4645092 ------------------------------------------------------------------------------
17338 -- To allow MPA report to determine if it should generate report process
17339 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
17340 ------------------------------------------------------------------------------------------
17341
17342 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
17343 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
17344 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
17345 -- call ADRs
17346 -- Bug 4922099
17347 --
17348 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
17349 (NVL(l_actual_upg_option, 'N') = 'O') OR
17350 (NVL(l_enc_upg_option, 'N') = 'O')
17351 )
17352 THEN
17353 NULL;
17354 --
17355 --
17356
17357 l_ccid := AcctDerRule_32(
17361 , p_source_10_meaning => p_source_10_meaning
17358 p_application_id => p_application_id
17359 , p_ae_header_id => l_ae_header_id
17360 , p_source_10 => p_source_10
17362 , p_source_15 => p_source_15
17363 , p_source_16 => p_source_16
17364 , p_source_17 => p_source_17
17365 , p_source_17_meaning => p_source_17_meaning
17366 , p_source_18 => p_source_18
17367 , p_source_25 => p_source_25
17368 , p_source_43 => p_source_43
17369 , p_source_43_meaning => p_source_43_meaning
17370 , x_transaction_coa_id => l_adr_transaction_coa_id
17371 , x_accounting_coa_id => l_adr_accounting_coa_id
17372 , x_value_type_code => l_adr_value_type_code
17373 , p_side => 'ALL'
17374 );
17375
17376 xla_ae_lines_pkg.set_ccid(
17377 p_code_combination_id => l_ccid
17378 , p_value_type_code => l_adr_value_type_code
17379 , p_transaction_coa_id => l_adr_transaction_coa_id
17380 , p_accounting_coa_id => l_adr_accounting_coa_id
17381 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
17382 , p_adr_type_code => 'S'
17383 , p_component_type => l_component_type
17384 , p_component_code => l_component_code
17385 , p_component_type_code => l_component_type_code
17386 , p_component_appl_id => l_component_appl_id
17387 , p_amb_context_code => l_amb_context_code
17388 , p_side => 'ALL'
17389 );
17390
17391
17392 l_segment := AcctDerRule_9(
17393 p_application_id => p_application_id
17394 , p_ae_header_id => l_ae_header_id
17395 , p_source_10 => p_source_10
17396 , p_source_10_meaning => p_source_10_meaning
17397 , p_source_15 => p_source_15
17398 , p_source_17 => p_source_17
17399 , p_source_17_meaning => p_source_17_meaning
17400 , x_transaction_coa_id => l_adr_transaction_coa_id
17401 , x_accounting_coa_id => l_adr_accounting_coa_id
17402 , x_flexfield_segment_code => l_adr_flexfield_segment_code
17403 , x_flex_value_set_id => l_adr_flex_value_set_id
17404 , x_value_type_code => l_adr_value_type_code
17405 , x_value_combination_id => l_adr_value_combination_id
17406 , x_value_segment_code => l_adr_value_segment_code
17407 , p_side => 'CREDIT'
17408 , p_override_seg_flag => 'Y'
17409 );
17410
17411 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
17412
17413 xla_ae_lines_pkg.set_segment(
17414 p_to_segment_code => 'GL_ACCOUNT'
17415 , p_segment_value => l_segment
17416 , p_from_segment_code => l_adr_value_segment_code
17417 , p_from_combination_id => l_adr_value_combination_id
17418 , p_value_type_code => l_adr_value_type_code
17419 , p_transaction_coa_id => l_adr_transaction_coa_id
17420 , p_accounting_coa_id => l_adr_accounting_coa_id
17421 , p_flexfield_segment_code => l_adr_flexfield_segment_code
17422 , p_flex_value_set_id => l_adr_flex_value_set_id
17423 , p_adr_code => 'AP_ERV_GAIN_NAT_ACCT_SEG'
17424 , p_adr_type_code => 'S'
17425 , p_component_type => l_component_type
17426 , p_component_code => l_component_code
17427 , p_component_type_code => l_component_type_code
17428 , p_component_appl_id => l_component_appl_id
17429 , p_amb_context_code => l_amb_context_code
17430 , p_entity_code => 'AP_INVOICES'
17431 , p_event_class_code => 'INVOICES'
17432 , p_side => 'CREDIT'
17433 );
17434
17435 END IF;
17436
17437 l_segment := AcctDerRule_10(
17438 p_application_id => p_application_id
17439 , p_ae_header_id => l_ae_header_id
17440 , p_source_10 => p_source_10
17441 , p_source_10_meaning => p_source_10_meaning
17442 , p_source_17 => p_source_17
17443 , p_source_17_meaning => p_source_17_meaning
17444 , p_source_18 => p_source_18
17445 , x_transaction_coa_id => l_adr_transaction_coa_id
17446 , x_accounting_coa_id => l_adr_accounting_coa_id
17447 , x_flexfield_segment_code => l_adr_flexfield_segment_code
17448 , x_flex_value_set_id => l_adr_flex_value_set_id
17449 , x_value_type_code => l_adr_value_type_code
17450 , x_value_combination_id => l_adr_value_combination_id
17451 , x_value_segment_code => l_adr_value_segment_code
17452 , p_side => 'DEBIT'
17453 , p_override_seg_flag => 'Y'
17454 );
17455
17456 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
17457
17458 xla_ae_lines_pkg.set_segment(
17459 p_to_segment_code => 'GL_ACCOUNT'
17460 , p_segment_value => l_segment
17461 , p_from_segment_code => l_adr_value_segment_code
17462 , p_from_combination_id => l_adr_value_combination_id
17463 , p_value_type_code => l_adr_value_type_code
17464 , p_transaction_coa_id => l_adr_transaction_coa_id
17465 , p_accounting_coa_id => l_adr_accounting_coa_id
17466 , p_flexfield_segment_code => l_adr_flexfield_segment_code
17470 , p_component_type => l_component_type
17467 , p_flex_value_set_id => l_adr_flex_value_set_id
17468 , p_adr_code => 'AP_ERV_LOSS_NAT_ACCT_SEG'
17469 , p_adr_type_code => 'S'
17471 , p_component_code => l_component_code
17472 , p_component_type_code => l_component_type_code
17473 , p_component_appl_id => l_component_appl_id
17474 , p_amb_context_code => l_amb_context_code
17475 , p_entity_code => 'AP_INVOICES'
17476 , p_event_class_code => 'INVOICES'
17477 , p_side => 'DEBIT'
17478 );
17479
17480 END IF;
17481
17482 l_segment := AcctDerRule_24(
17483 p_application_id => p_application_id
17484 , p_ae_header_id => l_ae_header_id
17485 , p_source_10 => p_source_10
17486 , p_source_10_meaning => p_source_10_meaning
17487 , p_source_17 => p_source_17
17488 , p_source_17_meaning => p_source_17_meaning
17489 , p_source_25 => p_source_25
17490 , x_transaction_coa_id => l_adr_transaction_coa_id
17491 , x_accounting_coa_id => l_adr_accounting_coa_id
17492 , x_flexfield_segment_code => l_adr_flexfield_segment_code
17493 , x_flex_value_set_id => l_adr_flex_value_set_id
17494 , x_value_type_code => l_adr_value_type_code
17495 , x_value_combination_id => l_adr_value_combination_id
17496 , x_value_segment_code => l_adr_value_segment_code
17497 , p_side => 'ALL'
17498 , p_override_seg_flag => 'Y'
17499 );
17500
17501 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
17502
17503 xla_ae_lines_pkg.set_segment(
17504 p_to_segment_code => 'GL_BALANCING'
17505 , p_segment_value => l_segment
17506 , p_from_segment_code => l_adr_value_segment_code
17507 , p_from_combination_id => l_adr_value_combination_id
17508 , p_value_type_code => l_adr_value_type_code
17509 , p_transaction_coa_id => l_adr_transaction_coa_id
17510 , p_accounting_coa_id => l_adr_accounting_coa_id
17511 , p_flexfield_segment_code => l_adr_flexfield_segment_code
17512 , p_flex_value_set_id => l_adr_flex_value_set_id
17513 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
17514 , p_adr_type_code => 'S'
17515 , p_component_type => l_component_type
17516 , p_component_code => l_component_code
17517 , p_component_type_code => l_component_type_code
17518 , p_component_appl_id => l_component_appl_id
17519 , p_amb_context_code => l_amb_context_code
17520 , p_entity_code => 'AP_INVOICES'
17521 , p_event_class_code => 'INVOICES'
17522 , p_side => 'ALL'
17523 );
17524
17525 END IF;
17526
17527 --
17528 --
17529 END IF;
17530
17531 --
17532 -- Update the line information that should be overwritten
17533 --
17534 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
17535 p_header_num => 1);
17536 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
17537
17538 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
17539
17540 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
17541 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
17542 END IF;
17543
17544 --
17545 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
17546 --
17547 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
17548 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
17549 ELSE
17550 ---------------------------------------------------------------------------------------------------
17551 -- 4262811a Switch Sign
17552 ---------------------------------------------------------------------------------------------------
17553 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
17554 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
17555 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
17556 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
17557 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
17558 -- 5132302
17559 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
17560 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
17561
17562 END IF;
17563
17564 -- 4955764
17565 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
17566 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
17567
17568
17569 XLA_AE_LINES_PKG.ValidateCurrentLine;
17570 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
17574 ,p_balance_type_code => l_balance_type_code);
17571
17572 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
17573 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
17575
17576 END IF;
17577
17578 -----------------------------------------------------------------------------------------
17579 -- 4262811 Multiperiod Accounting
17580 -----------------------------------------------------------------------------------------
17581 -- No MPA option is assigned.
17582
17583
17584 END IF;
17585 END IF;
17586 --
17587
17588 --
17589 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
17590 trace
17591 (p_msg => 'END of AcctLineType_66'
17592 ,p_level => C_LEVEL_PROCEDURE
17593 ,p_module => l_log_module);
17594 END IF;
17595 --
17596 EXCEPTION
17597 WHEN xla_exceptions_pkg.application_exception THEN
17598 RAISE;
17599 WHEN OTHERS THEN
17600 xla_exceptions_pkg.raise_message
17601 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_66');
17602 END AcctLineType_66;
17603 --
17604
17605 ---------------------------------------
17606 --
17607 -- PRIVATE FUNCTION
17608 -- AcctLineType_67
17609 --
17610 ---------------------------------------
17611 PROCEDURE AcctLineType_67 (
17612 p_application_id IN NUMBER
17613 ,p_event_id IN NUMBER
17614 ,p_calculate_acctd_flag IN VARCHAR2
17615 ,p_calculate_g_l_flag IN VARCHAR2
17616 ,p_actual_flag IN OUT VARCHAR2
17617 ,p_balance_type_code OUT VARCHAR2
17618 ,p_gain_or_loss_ref OUT VARCHAR2
17619
17620 --Invoice Distribution Description
17621 , p_source_1 IN VARCHAR2
17622 --Automatic Offsets Value
17623 , p_source_10 IN VARCHAR2
17624 , p_source_10_meaning IN VARCHAR2
17625 --Purchase Order Rate Variance Gain Account
17626 , p_source_15 IN NUMBER
17627 --Invoice Distribution Ledger Amount
17628 , p_source_16 IN NUMBER
17629 --Destination Type of the PO Distribution
17630 , p_source_17 IN VARCHAR2
17631 , p_source_17_meaning IN VARCHAR2
17632 --Purchase Order Rate Variance Loss Account
17633 , p_source_18 IN NUMBER
17634 --Invoice Distribution Account
17635 , p_source_25 IN NUMBER
17636 --Invoice Distribution Type
17637 , p_source_28 IN VARCHAR2
17638 , p_source_28_meaning IN VARCHAR2
17639 --Automatic Offsets Flag
17640 , p_source_43 IN VARCHAR2
17641 , p_source_43_meaning IN VARCHAR2
17642 --Accrue on Receipt Option
17643 , p_source_54 IN VARCHAR2
17644 , p_source_54_meaning IN VARCHAR2
17645 --Accounting Reversal Indicator
17646 , p_source_58 IN VARCHAR2
17647 --Distribution Link Type
17648 , p_source_60 IN VARCHAR2
17649 --Allocation to Main Distribution Identifier
17650 , p_source_62 IN NUMBER
17651 --Invoice Identifier
17652 , p_source_63 IN NUMBER
17653 --Invoice Distribution Identifier
17654 , p_source_69 IN NUMBER
17655 --Payables Encumbrance Upgrade Credit Account
17656 , p_source_70 IN NUMBER
17657 --Payables Encumbrance Upgrade Credit Amount
17658 , p_source_71 IN NUMBER
17659 --Invoice Currency Code
17660 , p_source_72 IN VARCHAR2
17661 --Payables Encumbrance Upgrade Credit Base Amount
17662 , p_source_73 IN NUMBER
17663 --Payables Encumbrance Upgrade Debit Account
17664 , p_source_74 IN NUMBER
17665 --Payables Encumbrance Upgrade Debit Amount
17666 , p_source_75 IN NUMBER
17667 --Payables Encumbrance Upgrade Debit Base Amount
17668 , p_source_76 IN NUMBER
17669 --Payables Encumbrance Upgrade Option
17670 , p_source_77 IN VARCHAR2
17671 --Deferred Accounting End Date
17672 , p_source_82 IN DATE
17673 --Deferred Accounting Option
17674 , p_source_83 IN VARCHAR2
17675 --Deferred Accounting Start Date
17676 , p_source_84 IN DATE
17677 --Override Accounted Amount Indicator
17678 , p_source_85 IN VARCHAR2
17679 , p_source_85_meaning IN VARCHAR2
17680 --Invoice Supplier Identifier
17681 , p_source_86 IN NUMBER
17682 --Invoice Supplier Site Identifier
17683 , p_source_87 IN NUMBER
17684 --Third Party Type
17685 , p_source_88 IN VARCHAR2
17686 --Parent Reversal Identifier
17687 , p_source_89 IN NUMBER
17688 --Invoice Distribution Statistical Amount
17689 , p_source_90 IN NUMBER
17690 --Invoice Distribution Tax Line Identifier
17691 , p_source_91 IN NUMBER
17692 --Invoice Distribution Tax Distribution Identifier from Tax
17693 , p_source_92 IN NUMBER
17694 --Invoice Distribution Summary Tax Line Identifier
17695 , p_source_93 IN NUMBER
17696 --Payables Upgrade Credit Encumbrance Type Identifier
17697 , p_source_94 IN NUMBER
17698 --Payables Upgrade Debit Encumbrance Type Identifier
17699 , p_source_95 IN NUMBER
17700 --Business Flow Accounts Payable Application Identifier
17701 , p_source_96 IN NUMBER
17702 --Business Flow Invoice Distribution Type
17703 , p_source_97 IN VARCHAR2
17704 --Business Flow Invoice Entity Code
17705 , p_source_98 IN VARCHAR2
17706 --Business Flow Invoice Distribution Identifier
17710 )
17707 , p_source_99 IN NUMBER
17708 --Business Flow Invoice Identifier
17709 , p_source_100 IN NUMBER
17711 IS
17712
17713 l_component_type VARCHAR2(80);
17714 l_component_code VARCHAR2(30);
17715 l_component_type_code VARCHAR2(1);
17716 l_component_appl_id INTEGER;
17717 l_amb_context_code VARCHAR2(30);
17718 l_entity_code VARCHAR2(30);
17719 l_event_class_code VARCHAR2(30);
17720 l_ae_header_id NUMBER;
17721 l_event_type_code VARCHAR2(30);
17722 l_line_definition_code VARCHAR2(30);
17723 l_line_definition_owner_code VARCHAR2(1);
17724 --
17725 -- adr variables
17726 l_segment VARCHAR2(30);
17727 l_ccid NUMBER;
17728 l_adr_transaction_coa_id NUMBER;
17729 l_adr_accounting_coa_id NUMBER;
17730 l_adr_flexfield_segment_code VARCHAR2(30);
17731 l_adr_flex_value_set_id NUMBER;
17732 l_adr_value_type_code VARCHAR2(30);
17733 l_adr_value_combination_id NUMBER;
17734 l_adr_value_segment_code VARCHAR2(30);
17735
17736 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
17737 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
17738 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
17739 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
17740
17741 -- 4262811 Variables ------------------------------------------------------------------------------------------
17742 l_entered_amt_idx NUMBER;
17743 l_accted_amt_idx NUMBER;
17744 l_acc_rev_flag VARCHAR2(1);
17745 l_accrual_line_num NUMBER;
17746 l_tmp_amt NUMBER;
17747 l_acc_rev_natural_side_code VARCHAR2(1);
17748
17749 l_num_entries NUMBER;
17750 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
17751 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
17752 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
17753 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
17754 l_recog_line_1 NUMBER;
17755 l_recog_line_2 NUMBER;
17756
17757 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
17758 l_bflow_applied_to_amt NUMBER; -- 5132302
17759 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
17760
17761 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
17762
17763 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
17764 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
17765
17766 ---------------------------------------------------------------------------------------------------------------
17767
17768
17769 --
17770 -- bulk performance
17771 --
17772 l_balance_type_code VARCHAR2(1);
17773 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
17774 l_log_module VARCHAR2(240);
17775
17776 --
17777 -- Upgrade strategy
17778 --
17779 l_actual_upg_option VARCHAR2(1);
17780 l_enc_upg_option VARCHAR2(1);
17781
17782 --
17783 BEGIN
17784 --
17785 IF g_log_enabled THEN
17786 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_67';
17787 END IF;
17788 --
17789 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
17790
17791 trace
17792 (p_msg => 'BEGIN of AcctLineType_67'
17793 ,p_level => C_LEVEL_PROCEDURE
17794 ,p_module => l_log_module);
17795
17796 END IF;
17797 --
17798 l_component_type := 'AMB_JLT';
17799 l_component_code := 'AP_ALC_TAX_EX_RATE_VAR_PREPAY';
17800 l_component_type_code := 'S';
17801 l_component_appl_id := 200;
17802 l_amb_context_code := 'DEFAULT';
17803 l_entity_code := 'AP_INVOICES';
17804 l_event_class_code := 'PREPAYMENTS';
17805 l_event_type_code := 'PREPAYMENTS_ALL';
17806 l_line_definition_owner_code := 'S';
17807 l_line_definition_code := 'ACCRUAL_PREPAYMENTS_ALL';
17808 --
17809 l_balance_type_code := 'A';
17810 l_segment := NULL;
17811 l_ccid := NULL;
17812 l_adr_transaction_coa_id := NULL;
17813 l_adr_accounting_coa_id := NULL;
17814 l_adr_flexfield_segment_code := NULL;
17815 l_adr_flex_value_set_id := NULL;
17816 l_adr_value_type_code := NULL;
17817 l_adr_value_combination_id := NULL;
17818 l_adr_value_segment_code := NULL;
17819
17820 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
17821 l_bflow_class_code := ''; -- 4219869 Business Flow
17822 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
17823 l_budgetary_control_flag := 'N';
17824
17825 l_bflow_applied_to_amt_idx := NULL; -- 5132302
17826 l_bflow_applied_to_amt := NULL; -- 5132302
17827 l_entered_amt_idx := NULL; -- 4262811
17828 l_accted_amt_idx := NULL; -- 4262811
17829 l_acc_rev_flag := NULL; -- 4262811
17830 l_accrual_line_num := NULL; -- 4262811
17831 l_tmp_amt := NULL; -- 4262811
17832 --
17836 END IF;
17833 IF NOT ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
17834 (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
17835 return;
17837
17838 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
17839 l_balance_type_code <> 'B' THEN
17840 IF NVL(p_source_28,'
17841 ') = 'NONREC_TAX' AND
17842 NVL(p_source_54,'
17843 ') = 'Y'
17844 THEN
17845
17846 --
17847 XLA_AE_LINES_PKG.SetNewLine;
17848
17849 p_balance_type_code := l_balance_type_code;
17850 -- set the flag so later we will know whether the gain loss line needs to be created
17851
17852 IF(l_balance_type_code = 'A' ) THEN
17853 p_actual_flag :='G';
17854 END IF;
17855
17856 --
17857 -- bulk performance
17858 --
17859 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
17860 p_header_num => 0); -- 4262811
17861 --
17862 -- set accounting line options
17863 --
17864 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
17865 p_natural_side_code => 'G'
17866 , p_gain_or_loss_flag => 'N'
17867 , p_gl_transfer_mode_code => 'S'
17868 , p_acct_entry_type_code => 'A'
17869 , p_switch_side_flag => ''
17870 , p_merge_duplicate_code => 'A'
17871 );
17872 --
17873 l_acc_rev_natural_side_code := 'C'; -- 4262811
17874 --
17875 --
17876 -- set accounting line type info
17877 --
17878 xla_ae_lines_pkg.SetAcctLineType
17879 (p_component_type => l_component_type
17880 ,p_event_type_code => l_event_type_code
17881 ,p_line_definition_owner_code => l_line_definition_owner_code
17882 ,p_line_definition_code => l_line_definition_code
17883 ,p_accounting_line_code => l_component_code
17884 ,p_accounting_line_type_code => l_component_type_code
17885 ,p_accounting_line_appl_id => l_component_appl_id
17886 ,p_amb_context_code => l_amb_context_code
17887 ,p_entity_code => l_entity_code
17888 ,p_event_class_code => l_event_class_code);
17889 --
17890 -- set accounting class
17891 --
17892 xla_ae_lines_pkg.SetAcctClass(
17893 p_accounting_class_code => 'TERV'
17894 , p_ae_header_id => l_ae_header_id
17895 );
17896
17897 --
17898 -- set rounding class
17899 --
17900 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
17901 'TERV';
17902
17903 --
17904 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
17905 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
17906 --
17907 -- bulk performance
17908 --
17909 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
17910
17911 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
17912 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
17913
17914 -- 4955764
17915 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
17916 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
17917
17918 -- 4458381 Public Sector Enh
17919
17920 --
17921 -- set accounting attributes for the line type
17922 --
17923 l_entered_amt_idx := NULL;
17924 l_accted_amt_idx := 23;
17925 l_bflow_applied_to_amt_idx := NULL; -- 5132302
17926 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
17927 l_rec_acct_attrs.array_char_value(1) := p_source_58;
17928 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
17929 l_rec_acct_attrs.array_num_value(2) :=
17930 xla_ae_sources_pkg.GetSystemSourceNum(
17931 p_source_code => 'XLA_EVENT_APPL_ID'
17932 , p_source_type_code => 'Y'
17933 , p_source_application_id => 602
17934 );
17935 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
17936 l_rec_acct_attrs.array_char_value(3) := p_source_60;
17937 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
17938 l_rec_acct_attrs.array_char_value(4) :=
17939 xla_ae_sources_pkg.GetSystemSourceChar(
17940 p_source_code => 'XLA_ENTITY_CODE'
17941 , p_source_type_code => 'Y'
17942 , p_source_application_id => 602
17943 );
17944 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
17945 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_62);
17946 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
17947 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_63);
17948 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
17949 l_rec_acct_attrs.array_num_value(7) := p_source_96;
17950 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
17951 l_rec_acct_attrs.array_char_value(8) := p_source_97;
17952 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
17956 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
17953 l_rec_acct_attrs.array_char_value(9) := p_source_98;
17954 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
17955 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_99);
17957 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_100);
17958 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
17959 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_69);
17960 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
17961 l_rec_acct_attrs.array_char_value(13) := p_source_60;
17962 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
17963 l_rec_acct_attrs.array_num_value(14) := p_source_70;
17964 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
17965 l_rec_acct_attrs.array_num_value(15) := p_source_71;
17966 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
17967 l_rec_acct_attrs.array_char_value(16) := p_source_72;
17968 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
17969 l_rec_acct_attrs.array_num_value(17) := p_source_73;
17970 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
17971 l_rec_acct_attrs.array_num_value(18) := p_source_74;
17972 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
17973 l_rec_acct_attrs.array_num_value(19) := p_source_75;
17974 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
17975 l_rec_acct_attrs.array_char_value(20) := p_source_72;
17976 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
17977 l_rec_acct_attrs.array_num_value(21) := p_source_76;
17978 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
17979 l_rec_acct_attrs.array_char_value(22) := p_source_77;
17980 l_rec_acct_attrs.array_acct_attr_code(23) := 'LEDGER_AMOUNT';
17981 l_rec_acct_attrs.array_num_value(23) := p_source_16;
17982 l_rec_acct_attrs.array_acct_attr_code(24) := 'MULTIPERIOD_END_DATE';
17983 l_rec_acct_attrs.array_date_value(24) := p_source_82;
17984 l_rec_acct_attrs.array_acct_attr_code(25) := 'MULTIPERIOD_OPTION';
17985 l_rec_acct_attrs.array_char_value(25) := p_source_83;
17986 l_rec_acct_attrs.array_acct_attr_code(26) := 'MULTIPERIOD_START_DATE';
17987 l_rec_acct_attrs.array_date_value(26) := p_source_84;
17988 l_rec_acct_attrs.array_acct_attr_code(27) := 'OVERRIDE_ACCTD_AMT_FLAG';
17989 l_rec_acct_attrs.array_char_value(27) := p_source_85;
17990 l_rec_acct_attrs.array_acct_attr_code(28) := 'PARTY_ID';
17991 l_rec_acct_attrs.array_num_value(28) := p_source_86;
17992 l_rec_acct_attrs.array_acct_attr_code(29) := 'PARTY_SITE_ID';
17993 l_rec_acct_attrs.array_num_value(29) := p_source_87;
17994 l_rec_acct_attrs.array_acct_attr_code(30) := 'PARTY_TYPE';
17995 l_rec_acct_attrs.array_char_value(30) := p_source_88;
17996 l_rec_acct_attrs.array_acct_attr_code(31) := 'REVERSED_DISTRIBUTION_ID1';
17997 l_rec_acct_attrs.array_num_value(31) := to_char(p_source_89);
17998 l_rec_acct_attrs.array_acct_attr_code(32) := 'REVERSED_DISTRIBUTION_TYPE';
17999 l_rec_acct_attrs.array_char_value(32) := p_source_60;
18000 l_rec_acct_attrs.array_acct_attr_code(33) := 'STATISTICAL_AMOUNT';
18001 l_rec_acct_attrs.array_num_value(33) := p_source_90;
18002 l_rec_acct_attrs.array_acct_attr_code(34) := 'TAX_LINE_REF_ID';
18003 l_rec_acct_attrs.array_num_value(34) := p_source_91;
18004 l_rec_acct_attrs.array_acct_attr_code(35) := 'TAX_REC_NREC_DIST_REF_ID';
18005 l_rec_acct_attrs.array_num_value(35) := p_source_92;
18006 l_rec_acct_attrs.array_acct_attr_code(36) := 'TAX_SUMMARY_LINE_REF_ID';
18007 l_rec_acct_attrs.array_num_value(36) := p_source_93;
18008 l_rec_acct_attrs.array_acct_attr_code(37) := 'UPG_CR_ENC_TYPE_ID';
18009 l_rec_acct_attrs.array_num_value(37) := p_source_94;
18010 l_rec_acct_attrs.array_acct_attr_code(38) := 'UPG_DR_ENC_TYPE_ID';
18011 l_rec_acct_attrs.array_num_value(38) := p_source_95;
18012
18013 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
18014 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
18015
18016 ---------------------------------------------------------------------------------------------------------------
18017 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
18018 ---------------------------------------------------------------------------------------------------------------
18019 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
18020
18021 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
18022 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
18023
18024 IF xla_accounting_cache_pkg.GetValueChar
18025 (p_source_code => 'LEDGER_CATEGORY_CODE'
18026 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
18027 AND l_bflow_method_code = 'PRIOR_ENTRY'
18028 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
18029 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
18030 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
18031 )
18032 THEN
18033 xla_ae_lines_pkg.BflowUpgEntry
18034 (p_business_method_code => l_bflow_method_code
18035 ,p_business_class_code => l_bflow_class_code
18036 ,p_balance_type => l_balance_type_code);
18037 ELSE
18038 NULL;
18042 --
18039 -- No business flow processing for business flow method of NONE.
18040 END IF;
18041
18043 -- call analytical criteria
18044 --
18045
18046 --
18047 -- call description
18048 --
18049
18050 xla_ae_lines_pkg.SetLineDescription(
18051 p_ae_header_id => l_ae_header_id
18052 ,p_description => Description_2 (
18053 p_application_id => p_application_id
18054 , p_ae_header_id => l_ae_header_id
18055 , p_source_1 => p_source_1
18056 )
18057 );
18058
18059
18060 --
18061 -- call ADRs
18062 -- Bug 4922099
18063 --
18064 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
18065 (NVL(l_actual_upg_option, 'N') = 'O') OR
18066 (NVL(l_enc_upg_option, 'N') = 'O')
18067 )
18068 THEN
18069 NULL;
18070 --
18071 --
18072
18073 l_ccid := AcctDerRule_32(
18074 p_application_id => p_application_id
18075 , p_ae_header_id => l_ae_header_id
18076 , p_source_10 => p_source_10
18077 , p_source_10_meaning => p_source_10_meaning
18078 , p_source_15 => p_source_15
18079 , p_source_16 => p_source_16
18080 , p_source_17 => p_source_17
18081 , p_source_17_meaning => p_source_17_meaning
18082 , p_source_18 => p_source_18
18083 , p_source_25 => p_source_25
18084 , p_source_43 => p_source_43
18085 , p_source_43_meaning => p_source_43_meaning
18086 , x_transaction_coa_id => l_adr_transaction_coa_id
18087 , x_accounting_coa_id => l_adr_accounting_coa_id
18088 , x_value_type_code => l_adr_value_type_code
18089 , p_side => 'ALL'
18090 );
18091
18092 xla_ae_lines_pkg.set_ccid(
18093 p_code_combination_id => l_ccid
18094 , p_value_type_code => l_adr_value_type_code
18095 , p_transaction_coa_id => l_adr_transaction_coa_id
18096 , p_accounting_coa_id => l_adr_accounting_coa_id
18097 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
18098 , p_adr_type_code => 'S'
18099 , p_component_type => l_component_type
18100 , p_component_code => l_component_code
18101 , p_component_type_code => l_component_type_code
18102 , p_component_appl_id => l_component_appl_id
18103 , p_amb_context_code => l_amb_context_code
18104 , p_side => 'ALL'
18105 );
18106
18107
18108 l_segment := AcctDerRule_9(
18109 p_application_id => p_application_id
18110 , p_ae_header_id => l_ae_header_id
18111 , p_source_10 => p_source_10
18112 , p_source_10_meaning => p_source_10_meaning
18113 , p_source_15 => p_source_15
18114 , p_source_17 => p_source_17
18115 , p_source_17_meaning => p_source_17_meaning
18116 , x_transaction_coa_id => l_adr_transaction_coa_id
18117 , x_accounting_coa_id => l_adr_accounting_coa_id
18118 , x_flexfield_segment_code => l_adr_flexfield_segment_code
18119 , x_flex_value_set_id => l_adr_flex_value_set_id
18120 , x_value_type_code => l_adr_value_type_code
18121 , x_value_combination_id => l_adr_value_combination_id
18122 , x_value_segment_code => l_adr_value_segment_code
18123 , p_side => 'CREDIT'
18124 , p_override_seg_flag => 'Y'
18125 );
18126
18127 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
18128
18129 xla_ae_lines_pkg.set_segment(
18130 p_to_segment_code => 'GL_ACCOUNT'
18131 , p_segment_value => l_segment
18132 , p_from_segment_code => l_adr_value_segment_code
18133 , p_from_combination_id => l_adr_value_combination_id
18134 , p_value_type_code => l_adr_value_type_code
18135 , p_transaction_coa_id => l_adr_transaction_coa_id
18136 , p_accounting_coa_id => l_adr_accounting_coa_id
18137 , p_flexfield_segment_code => l_adr_flexfield_segment_code
18138 , p_flex_value_set_id => l_adr_flex_value_set_id
18139 , p_adr_code => 'AP_ERV_GAIN_NAT_ACCT_SEG'
18140 , p_adr_type_code => 'S'
18141 , p_component_type => l_component_type
18142 , p_component_code => l_component_code
18143 , p_component_type_code => l_component_type_code
18144 , p_component_appl_id => l_component_appl_id
18145 , p_amb_context_code => l_amb_context_code
18146 , p_entity_code => 'AP_INVOICES'
18147 , p_event_class_code => 'PREPAYMENTS'
18148 , p_side => 'CREDIT'
18149 );
18150
18151 END IF;
18152
18153 l_segment := AcctDerRule_10(
18154 p_application_id => p_application_id
18155 , p_ae_header_id => l_ae_header_id
18156 , p_source_10 => p_source_10
18157 , p_source_10_meaning => p_source_10_meaning
18158 , p_source_17 => p_source_17
18159 , p_source_17_meaning => p_source_17_meaning
18160 , p_source_18 => p_source_18
18161 , x_transaction_coa_id => l_adr_transaction_coa_id
18162 , x_accounting_coa_id => l_adr_accounting_coa_id
18163 , x_flexfield_segment_code => l_adr_flexfield_segment_code
18164 , x_flex_value_set_id => l_adr_flex_value_set_id
18168 , p_side => 'DEBIT'
18165 , x_value_type_code => l_adr_value_type_code
18166 , x_value_combination_id => l_adr_value_combination_id
18167 , x_value_segment_code => l_adr_value_segment_code
18169 , p_override_seg_flag => 'Y'
18170 );
18171
18172 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
18173
18174 xla_ae_lines_pkg.set_segment(
18175 p_to_segment_code => 'GL_ACCOUNT'
18176 , p_segment_value => l_segment
18177 , p_from_segment_code => l_adr_value_segment_code
18178 , p_from_combination_id => l_adr_value_combination_id
18179 , p_value_type_code => l_adr_value_type_code
18180 , p_transaction_coa_id => l_adr_transaction_coa_id
18181 , p_accounting_coa_id => l_adr_accounting_coa_id
18182 , p_flexfield_segment_code => l_adr_flexfield_segment_code
18183 , p_flex_value_set_id => l_adr_flex_value_set_id
18184 , p_adr_code => 'AP_ERV_LOSS_NAT_ACCT_SEG'
18185 , p_adr_type_code => 'S'
18186 , p_component_type => l_component_type
18187 , p_component_code => l_component_code
18188 , p_component_type_code => l_component_type_code
18189 , p_component_appl_id => l_component_appl_id
18190 , p_amb_context_code => l_amb_context_code
18191 , p_entity_code => 'AP_INVOICES'
18192 , p_event_class_code => 'PREPAYMENTS'
18193 , p_side => 'DEBIT'
18194 );
18195
18196 END IF;
18197
18198 l_segment := AcctDerRule_24(
18199 p_application_id => p_application_id
18200 , p_ae_header_id => l_ae_header_id
18201 , p_source_10 => p_source_10
18202 , p_source_10_meaning => p_source_10_meaning
18203 , p_source_17 => p_source_17
18204 , p_source_17_meaning => p_source_17_meaning
18205 , p_source_25 => p_source_25
18206 , x_transaction_coa_id => l_adr_transaction_coa_id
18207 , x_accounting_coa_id => l_adr_accounting_coa_id
18208 , x_flexfield_segment_code => l_adr_flexfield_segment_code
18209 , x_flex_value_set_id => l_adr_flex_value_set_id
18210 , x_value_type_code => l_adr_value_type_code
18211 , x_value_combination_id => l_adr_value_combination_id
18212 , x_value_segment_code => l_adr_value_segment_code
18213 , p_side => 'ALL'
18214 , p_override_seg_flag => 'Y'
18215 );
18216
18217 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
18218
18219 xla_ae_lines_pkg.set_segment(
18220 p_to_segment_code => 'GL_BALANCING'
18221 , p_segment_value => l_segment
18222 , p_from_segment_code => l_adr_value_segment_code
18223 , p_from_combination_id => l_adr_value_combination_id
18224 , p_value_type_code => l_adr_value_type_code
18225 , p_transaction_coa_id => l_adr_transaction_coa_id
18226 , p_accounting_coa_id => l_adr_accounting_coa_id
18227 , p_flexfield_segment_code => l_adr_flexfield_segment_code
18228 , p_flex_value_set_id => l_adr_flex_value_set_id
18229 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
18230 , p_adr_type_code => 'S'
18231 , p_component_type => l_component_type
18232 , p_component_code => l_component_code
18233 , p_component_type_code => l_component_type_code
18234 , p_component_appl_id => l_component_appl_id
18235 , p_amb_context_code => l_amb_context_code
18236 , p_entity_code => 'AP_INVOICES'
18237 , p_event_class_code => 'PREPAYMENTS'
18238 , p_side => 'ALL'
18239 );
18240
18241 END IF;
18242
18243 --
18244 --
18245 END IF;
18246 --
18247 -- Bug 4922099
18248 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
18249 (NVL(l_enc_upg_option, 'N') = 'O')
18250 ) AND
18251 (l_bflow_method_code = 'PRIOR_ENTRY')
18252 )
18253 THEN
18254 IF
18255 --
18256 1 = 2
18257 --
18258 THEN
18259 xla_accounting_err_pkg.build_message
18260 (p_appli_s_name => 'XLA'
18261 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
18262 ,p_token_1 => 'LINE_NUMBER'
18263 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
18264 ,p_token_2 => 'LINE_TYPE_NAME'
18265 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
18266 l_component_type
18267 ,l_component_code
18268 ,l_component_type_code
18269 ,l_component_appl_id
18270 ,l_amb_context_code
18274 ,p_token_3 => 'OWNER'
18271 ,l_entity_code
18272 ,l_event_class_code
18273 )
18275 ,p_value_3 => xla_lookups_pkg.get_meaning(
18276 p_lookup_type => 'XLA_OWNER_TYPE'
18277 ,p_lookup_code => l_component_type_code
18278 )
18279 ,p_token_4 => 'PRODUCT_NAME'
18280 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
18281 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
18282 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
18283 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
18284 ,p_ae_header_id => NULL
18285 );
18286
18287 IF (C_LEVEL_ERROR>= g_log_level) THEN
18288 trace
18289 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
18290 ,p_level => C_LEVEL_ERROR
18291 ,p_module => l_log_module);
18292 END IF;
18293 END IF;
18294 END IF;
18295 --
18296 --
18297 ------------------------------------------------------------------------------------------------
18298 -- 4219869 Business Flow
18299 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
18300 -- Prior Entry. Currently, the following code is always generated.
18301 ------------------------------------------------------------------------------------------------
18302 XLA_AE_LINES_PKG.ValidateCurrentLine;
18303
18304 ------------------------------------------------------------------------------------
18305 -- 4219869 Business Flow
18306 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
18307 ------------------------------------------------------------------------------------
18308 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
18309
18310 ----------------------------------------------------------------------------------
18311 -- 4219869 Business Flow
18312 -- Update journal entry status -- Need to generate this within IF <condition>
18313 ----------------------------------------------------------------------------------
18314 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
18315 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
18316 ,p_balance_type_code => l_balance_type_code
18317 );
18318
18319 -------------------------------------------------------------------------------------------
18320 -- 4262811 - Generate the Accrual Reversal lines
18321 -------------------------------------------------------------------------------------------
18322 BEGIN
18323 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
18324 (g_array_event(p_event_id).array_value_num('header_index'));
18325 IF l_acc_rev_flag IS NULL THEN
18326 l_acc_rev_flag := 'N';
18327 END IF;
18328 EXCEPTION
18329 WHEN OTHERS THEN
18330 l_acc_rev_flag := 'N';
18331 END;
18332 --
18333 IF (l_acc_rev_flag = 'Y') THEN
18334
18335 -- 4645092 ------------------------------------------------------------------------------
18336 -- To allow MPA report to determine if it should generate report process
18337 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
18338 ------------------------------------------------------------------------------------------
18339
18340 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
18341 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
18342 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
18343 -- call ADRs
18344 -- Bug 4922099
18345 --
18346 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
18347 (NVL(l_actual_upg_option, 'N') = 'O') OR
18348 (NVL(l_enc_upg_option, 'N') = 'O')
18349 )
18350 THEN
18351 NULL;
18352 --
18353 --
18354
18355 l_ccid := AcctDerRule_32(
18356 p_application_id => p_application_id
18357 , p_ae_header_id => l_ae_header_id
18358 , p_source_10 => p_source_10
18359 , p_source_10_meaning => p_source_10_meaning
18360 , p_source_15 => p_source_15
18361 , p_source_16 => p_source_16
18362 , p_source_17 => p_source_17
18363 , p_source_17_meaning => p_source_17_meaning
18364 , p_source_18 => p_source_18
18365 , p_source_25 => p_source_25
18366 , p_source_43 => p_source_43
18367 , p_source_43_meaning => p_source_43_meaning
18368 , x_transaction_coa_id => l_adr_transaction_coa_id
18369 , x_accounting_coa_id => l_adr_accounting_coa_id
18370 , x_value_type_code => l_adr_value_type_code
18371 , p_side => 'ALL'
18372 );
18373
18374 xla_ae_lines_pkg.set_ccid(
18378 , p_accounting_coa_id => l_adr_accounting_coa_id
18375 p_code_combination_id => l_ccid
18376 , p_value_type_code => l_adr_value_type_code
18377 , p_transaction_coa_id => l_adr_transaction_coa_id
18379 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
18380 , p_adr_type_code => 'S'
18381 , p_component_type => l_component_type
18382 , p_component_code => l_component_code
18383 , p_component_type_code => l_component_type_code
18384 , p_component_appl_id => l_component_appl_id
18385 , p_amb_context_code => l_amb_context_code
18386 , p_side => 'ALL'
18387 );
18388
18389
18390 l_segment := AcctDerRule_9(
18391 p_application_id => p_application_id
18392 , p_ae_header_id => l_ae_header_id
18393 , p_source_10 => p_source_10
18394 , p_source_10_meaning => p_source_10_meaning
18395 , p_source_15 => p_source_15
18396 , p_source_17 => p_source_17
18397 , p_source_17_meaning => p_source_17_meaning
18398 , x_transaction_coa_id => l_adr_transaction_coa_id
18399 , x_accounting_coa_id => l_adr_accounting_coa_id
18400 , x_flexfield_segment_code => l_adr_flexfield_segment_code
18401 , x_flex_value_set_id => l_adr_flex_value_set_id
18402 , x_value_type_code => l_adr_value_type_code
18403 , x_value_combination_id => l_adr_value_combination_id
18404 , x_value_segment_code => l_adr_value_segment_code
18405 , p_side => 'CREDIT'
18406 , p_override_seg_flag => 'Y'
18407 );
18408
18409 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
18410
18411 xla_ae_lines_pkg.set_segment(
18412 p_to_segment_code => 'GL_ACCOUNT'
18413 , p_segment_value => l_segment
18414 , p_from_segment_code => l_adr_value_segment_code
18415 , p_from_combination_id => l_adr_value_combination_id
18416 , p_value_type_code => l_adr_value_type_code
18417 , p_transaction_coa_id => l_adr_transaction_coa_id
18418 , p_accounting_coa_id => l_adr_accounting_coa_id
18419 , p_flexfield_segment_code => l_adr_flexfield_segment_code
18420 , p_flex_value_set_id => l_adr_flex_value_set_id
18421 , p_adr_code => 'AP_ERV_GAIN_NAT_ACCT_SEG'
18422 , p_adr_type_code => 'S'
18423 , p_component_type => l_component_type
18424 , p_component_code => l_component_code
18425 , p_component_type_code => l_component_type_code
18426 , p_component_appl_id => l_component_appl_id
18427 , p_amb_context_code => l_amb_context_code
18428 , p_entity_code => 'AP_INVOICES'
18429 , p_event_class_code => 'PREPAYMENTS'
18430 , p_side => 'CREDIT'
18431 );
18432
18433 END IF;
18434
18435 l_segment := AcctDerRule_10(
18436 p_application_id => p_application_id
18437 , p_ae_header_id => l_ae_header_id
18438 , p_source_10 => p_source_10
18439 , p_source_10_meaning => p_source_10_meaning
18440 , p_source_17 => p_source_17
18441 , p_source_17_meaning => p_source_17_meaning
18442 , p_source_18 => p_source_18
18443 , x_transaction_coa_id => l_adr_transaction_coa_id
18444 , x_accounting_coa_id => l_adr_accounting_coa_id
18445 , x_flexfield_segment_code => l_adr_flexfield_segment_code
18446 , x_flex_value_set_id => l_adr_flex_value_set_id
18447 , x_value_type_code => l_adr_value_type_code
18448 , x_value_combination_id => l_adr_value_combination_id
18449 , x_value_segment_code => l_adr_value_segment_code
18450 , p_side => 'DEBIT'
18451 , p_override_seg_flag => 'Y'
18452 );
18453
18454 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
18455
18456 xla_ae_lines_pkg.set_segment(
18457 p_to_segment_code => 'GL_ACCOUNT'
18458 , p_segment_value => l_segment
18459 , p_from_segment_code => l_adr_value_segment_code
18460 , p_from_combination_id => l_adr_value_combination_id
18461 , p_value_type_code => l_adr_value_type_code
18462 , p_transaction_coa_id => l_adr_transaction_coa_id
18463 , p_accounting_coa_id => l_adr_accounting_coa_id
18464 , p_flexfield_segment_code => l_adr_flexfield_segment_code
18465 , p_flex_value_set_id => l_adr_flex_value_set_id
18466 , p_adr_code => 'AP_ERV_LOSS_NAT_ACCT_SEG'
18467 , p_adr_type_code => 'S'
18468 , p_component_type => l_component_type
18469 , p_component_code => l_component_code
18470 , p_component_type_code => l_component_type_code
18471 , p_component_appl_id => l_component_appl_id
18472 , p_amb_context_code => l_amb_context_code
18473 , p_entity_code => 'AP_INVOICES'
18474 , p_event_class_code => 'PREPAYMENTS'
18475 , p_side => 'DEBIT'
18476 );
18477
18478 END IF;
18479
18480 l_segment := AcctDerRule_24(
18481 p_application_id => p_application_id
18482 , p_ae_header_id => l_ae_header_id
18486 , p_source_17_meaning => p_source_17_meaning
18483 , p_source_10 => p_source_10
18484 , p_source_10_meaning => p_source_10_meaning
18485 , p_source_17 => p_source_17
18487 , p_source_25 => p_source_25
18488 , x_transaction_coa_id => l_adr_transaction_coa_id
18489 , x_accounting_coa_id => l_adr_accounting_coa_id
18490 , x_flexfield_segment_code => l_adr_flexfield_segment_code
18491 , x_flex_value_set_id => l_adr_flex_value_set_id
18492 , x_value_type_code => l_adr_value_type_code
18493 , x_value_combination_id => l_adr_value_combination_id
18494 , x_value_segment_code => l_adr_value_segment_code
18495 , p_side => 'ALL'
18496 , p_override_seg_flag => 'Y'
18497 );
18498
18499 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
18500
18501 xla_ae_lines_pkg.set_segment(
18502 p_to_segment_code => 'GL_BALANCING'
18503 , p_segment_value => l_segment
18504 , p_from_segment_code => l_adr_value_segment_code
18505 , p_from_combination_id => l_adr_value_combination_id
18506 , p_value_type_code => l_adr_value_type_code
18507 , p_transaction_coa_id => l_adr_transaction_coa_id
18508 , p_accounting_coa_id => l_adr_accounting_coa_id
18509 , p_flexfield_segment_code => l_adr_flexfield_segment_code
18510 , p_flex_value_set_id => l_adr_flex_value_set_id
18511 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
18512 , p_adr_type_code => 'S'
18513 , p_component_type => l_component_type
18514 , p_component_code => l_component_code
18515 , p_component_type_code => l_component_type_code
18516 , p_component_appl_id => l_component_appl_id
18517 , p_amb_context_code => l_amb_context_code
18518 , p_entity_code => 'AP_INVOICES'
18519 , p_event_class_code => 'PREPAYMENTS'
18520 , p_side => 'ALL'
18521 );
18522
18523 END IF;
18524
18525 --
18526 --
18527 END IF;
18528
18529 --
18530 -- Update the line information that should be overwritten
18531 --
18532 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
18533 p_header_num => 1);
18534 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
18535
18536 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
18537
18538 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
18539 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
18540 END IF;
18541
18542 --
18543 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
18544 --
18545 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
18546 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
18547 ELSE
18548 ---------------------------------------------------------------------------------------------------
18549 -- 4262811a Switch Sign
18550 ---------------------------------------------------------------------------------------------------
18551 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
18552 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
18553 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
18554 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
18555 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
18556 -- 5132302
18557 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
18558 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
18559
18560 END IF;
18561
18562 -- 4955764
18563 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
18564 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
18565
18566
18567 XLA_AE_LINES_PKG.ValidateCurrentLine;
18568 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
18569
18570 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
18571 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
18572 ,p_balance_type_code => l_balance_type_code);
18573
18574 END IF;
18575
18576 -----------------------------------------------------------------------------------------
18577 -- 4262811 Multiperiod Accounting
18578 -----------------------------------------------------------------------------------------
18579 -- No MPA option is assigned.
18580
18581
18582 END IF;
18583 END IF;
18584 --
18585
18586 --
18587 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
18588 trace
18589 (p_msg => 'END of AcctLineType_67'
18590 ,p_level => C_LEVEL_PROCEDURE
18591 ,p_module => l_log_module);
18592 END IF;
18593 --
18594 EXCEPTION
18595 WHEN xla_exceptions_pkg.application_exception THEN
18596 RAISE;
18600 END AcctLineType_67;
18597 WHEN OTHERS THEN
18598 xla_exceptions_pkg.raise_message
18599 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_67');
18601 --
18602
18603 ---------------------------------------
18604 --
18605 -- PRIVATE FUNCTION
18606 -- AcctLineType_68
18607 --
18608 ---------------------------------------
18609 PROCEDURE AcctLineType_68 (
18610 p_application_id IN NUMBER
18611 ,p_event_id IN NUMBER
18612 ,p_calculate_acctd_flag IN VARCHAR2
18613 ,p_calculate_g_l_flag IN VARCHAR2
18614 ,p_actual_flag IN OUT VARCHAR2
18615 ,p_balance_type_code OUT VARCHAR2
18616 ,p_gain_or_loss_ref OUT VARCHAR2
18617
18618 --Bank Charges Account
18619 , p_source_9 IN NUMBER
18620 --Automatic Offsets Value
18621 , p_source_10 IN VARCHAR2
18622 , p_source_10_meaning IN VARCHAR2
18623 --Invoice Distribution Account
18624 , p_source_25 IN NUMBER
18625 --When to Account for Payment Option
18626 , p_source_57 IN VARCHAR2
18627 --Accounting Reversal Indicator
18628 , p_source_58 IN VARCHAR2
18629 --Distribution Link Type
18630 , p_source_60 IN VARCHAR2
18631 --Override Accounted Amount Indicator
18632 , p_source_85 IN VARCHAR2
18633 , p_source_85_meaning IN VARCHAR2
18634 --Third Party Type
18635 , p_source_88 IN VARCHAR2
18636 --Invoice Distribution Tax Line Identifier
18637 , p_source_91 IN NUMBER
18638 --Invoice Distribution Summary Tax Line Identifier
18639 , p_source_93 IN NUMBER
18640 --Business Flow Accounts Payable Application Identifier
18641 , p_source_96 IN NUMBER
18642 --Payment Distribution Type
18643 , p_source_101 IN VARCHAR2
18644 , p_source_101_meaning IN VARCHAR2
18645 --Payment Distribution Amount
18646 , p_source_102 IN NUMBER
18647 --Business Flow Payment Distribution Type
18648 , p_source_103 IN VARCHAR2
18649 --Business Flow Payment Entity Code
18650 , p_source_104 IN VARCHAR2
18651 --Business Flow Payment Distribution Identifier
18652 , p_source_105 IN NUMBER
18653 --Business Flow Payment Identifier
18654 , p_source_106 IN NUMBER
18655 --Payment Distribution Identifier
18656 , p_source_107 IN NUMBER
18657 --Cleared Currency Code
18658 , p_source_108 IN VARCHAR2
18659 --Cleared Exchange Date
18660 , p_source_109 IN DATE
18661 --Cleared Exchange Rate
18662 , p_source_110 IN NUMBER
18663 --Cleared Exchange Rate Type
18664 , p_source_111 IN VARCHAR2
18665 --Payment Distribution (Cleared Rate) Ledger Amount
18666 , p_source_112 IN NUMBER
18667 --Payment Supplier Identifier
18668 , p_source_113 IN NUMBER
18669 --Payment Supplier Site Identifier
18670 , p_source_114 IN NUMBER
18671 --Payment Distribution Reversed Identifier
18672 , p_source_115 IN NUMBER
18673 )
18674 IS
18675
18676 l_component_type VARCHAR2(80);
18677 l_component_code VARCHAR2(30);
18678 l_component_type_code VARCHAR2(1);
18679 l_component_appl_id INTEGER;
18680 l_amb_context_code VARCHAR2(30);
18681 l_entity_code VARCHAR2(30);
18682 l_event_class_code VARCHAR2(30);
18683 l_ae_header_id NUMBER;
18684 l_event_type_code VARCHAR2(30);
18685 l_line_definition_code VARCHAR2(30);
18686 l_line_definition_owner_code VARCHAR2(1);
18687 --
18688 -- adr variables
18689 l_segment VARCHAR2(30);
18690 l_ccid NUMBER;
18691 l_adr_transaction_coa_id NUMBER;
18692 l_adr_accounting_coa_id NUMBER;
18693 l_adr_flexfield_segment_code VARCHAR2(30);
18694 l_adr_flex_value_set_id NUMBER;
18695 l_adr_value_type_code VARCHAR2(30);
18696 l_adr_value_combination_id NUMBER;
18697 l_adr_value_segment_code VARCHAR2(30);
18698
18699 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
18700 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
18701 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
18702 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
18703
18704 -- 4262811 Variables ------------------------------------------------------------------------------------------
18705 l_entered_amt_idx NUMBER;
18706 l_accted_amt_idx NUMBER;
18707 l_acc_rev_flag VARCHAR2(1);
18708 l_accrual_line_num NUMBER;
18709 l_tmp_amt NUMBER;
18710 l_acc_rev_natural_side_code VARCHAR2(1);
18711
18712 l_num_entries NUMBER;
18713 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
18714 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
18715 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
18716 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
18717 l_recog_line_1 NUMBER;
18718 l_recog_line_2 NUMBER;
18719
18720 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
18721 l_bflow_applied_to_amt NUMBER; -- 5132302
18722 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
18726 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
18723
18724 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
18725
18727 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
18728
18729 ---------------------------------------------------------------------------------------------------------------
18730
18731
18732 --
18733 -- bulk performance
18734 --
18735 l_balance_type_code VARCHAR2(1);
18736 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
18737 l_log_module VARCHAR2(240);
18738
18739 --
18740 -- Upgrade strategy
18741 --
18742 l_actual_upg_option VARCHAR2(1);
18743 l_enc_upg_option VARCHAR2(1);
18744
18745 --
18746 BEGIN
18747 --
18748 IF g_log_enabled THEN
18749 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_68';
18750 END IF;
18751 --
18752 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
18753
18754 trace
18755 (p_msg => 'BEGIN of AcctLineType_68'
18756 ,p_level => C_LEVEL_PROCEDURE
18757 ,p_module => l_log_module);
18758
18759 END IF;
18760 --
18761 l_component_type := 'AMB_JLT';
18762 l_component_code := 'AP_BANK_CHARGES_CLEAR';
18763 l_component_type_code := 'S';
18764 l_component_appl_id := 200;
18765 l_amb_context_code := 'DEFAULT';
18766 l_entity_code := 'AP_PAYMENTS';
18767 l_event_class_code := 'RECONCILED PAYMENTS';
18768 l_event_type_code := 'RECONCILED PAYMENTS_ALL';
18769 l_line_definition_owner_code := 'S';
18770 l_line_definition_code := 'ACCRUAL_RECONCILED PAYMENTS_A4';
18771 --
18772 l_balance_type_code := 'A';
18773 l_segment := NULL;
18774 l_ccid := NULL;
18775 l_adr_transaction_coa_id := NULL;
18776 l_adr_accounting_coa_id := NULL;
18777 l_adr_flexfield_segment_code := NULL;
18778 l_adr_flex_value_set_id := NULL;
18779 l_adr_value_type_code := NULL;
18780 l_adr_value_combination_id := NULL;
18781 l_adr_value_segment_code := NULL;
18782
18783 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
18784 l_bflow_class_code := ''; -- 4219869 Business Flow
18785 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
18786 l_budgetary_control_flag := 'N';
18787
18788 l_bflow_applied_to_amt_idx := NULL; -- 5132302
18789 l_bflow_applied_to_amt := NULL; -- 5132302
18790 l_entered_amt_idx := NULL; -- 4262811
18791 l_accted_amt_idx := NULL; -- 4262811
18792 l_acc_rev_flag := NULL; -- 4262811
18793 l_accrual_line_num := NULL; -- 4262811
18794 l_tmp_amt := NULL; -- 4262811
18795 --
18796
18797 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
18798 l_balance_type_code <> 'B' THEN
18799 IF NVL(p_source_57,'
18800 ') <> 'ISSUE_ISSUE' AND
18801 NVL(p_source_101,'
18802 ') = 'BANK CHARGE'
18803 THEN
18804
18805 --
18806 XLA_AE_LINES_PKG.SetNewLine;
18807
18808 p_balance_type_code := l_balance_type_code;
18809 -- set the flag so later we will know whether the gain loss line needs to be created
18810
18811 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
18812 p_actual_flag :='A';
18813 END IF;
18814
18815 --
18816 -- bulk performance
18817 --
18818 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
18819 p_header_num => 0); -- 4262811
18820 --
18821 -- set accounting line options
18822 --
18823 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
18824 p_natural_side_code => 'D'
18825 , p_gain_or_loss_flag => 'N'
18826 , p_gl_transfer_mode_code => 'S'
18827 , p_acct_entry_type_code => 'A'
18828 , p_switch_side_flag => 'Y'
18829 , p_merge_duplicate_code => 'A'
18830 );
18831 --
18832 l_acc_rev_natural_side_code := 'C'; -- 4262811
18833 --
18834 --
18835 -- set accounting line type info
18836 --
18837 xla_ae_lines_pkg.SetAcctLineType
18838 (p_component_type => l_component_type
18839 ,p_event_type_code => l_event_type_code
18840 ,p_line_definition_owner_code => l_line_definition_owner_code
18841 ,p_line_definition_code => l_line_definition_code
18842 ,p_accounting_line_code => l_component_code
18843 ,p_accounting_line_type_code => l_component_type_code
18844 ,p_accounting_line_appl_id => l_component_appl_id
18845 ,p_amb_context_code => l_amb_context_code
18846 ,p_entity_code => l_entity_code
18847 ,p_event_class_code => l_event_class_code);
18848 --
18849 -- set accounting class
18850 --
18851 xla_ae_lines_pkg.SetAcctClass(
18852 p_accounting_class_code => 'BANK_CHG'
18853 , p_ae_header_id => l_ae_header_id
18854 );
18855
18856 --
18857 -- set rounding class
18861
18858 --
18859 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
18860 'BANK_CHG';
18862 --
18863 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
18864 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
18865 --
18866 -- bulk performance
18867 --
18868 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
18869
18870 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
18871 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
18872
18873 -- 4955764
18874 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
18875 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
18876
18877 -- 4458381 Public Sector Enh
18878
18879 --
18880 -- set accounting attributes for the line type
18881 --
18882 l_entered_amt_idx := 10;
18883 l_accted_amt_idx := 15;
18884 l_bflow_applied_to_amt_idx := 2; -- 5132302
18885 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
18886 l_rec_acct_attrs.array_char_value(1) := p_source_58;
18887 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
18888 l_rec_acct_attrs.array_num_value(2) := p_source_102;
18889 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
18890 l_rec_acct_attrs.array_num_value(3) := p_source_96;
18891 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
18892 l_rec_acct_attrs.array_char_value(4) := p_source_103;
18893 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
18894 l_rec_acct_attrs.array_char_value(5) := p_source_104;
18895 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
18896 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_105);
18897 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
18898 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_106);
18899 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
18900 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_107);
18901 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
18902 l_rec_acct_attrs.array_char_value(9) := p_source_60;
18903 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
18904 l_rec_acct_attrs.array_num_value(10) := p_source_102;
18905 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
18906 l_rec_acct_attrs.array_char_value(11) := p_source_108;
18907 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
18908 l_rec_acct_attrs.array_date_value(12) := p_source_109;
18909 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
18910 l_rec_acct_attrs.array_num_value(13) := p_source_110;
18911 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
18912 l_rec_acct_attrs.array_char_value(14) := p_source_111;
18913 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
18914 l_rec_acct_attrs.array_num_value(15) := p_source_112;
18915 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
18916 l_rec_acct_attrs.array_char_value(16) := p_source_85;
18917 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
18918 l_rec_acct_attrs.array_num_value(17) := p_source_113;
18919 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
18920 l_rec_acct_attrs.array_num_value(18) := p_source_114;
18921 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
18922 l_rec_acct_attrs.array_char_value(19) := p_source_88;
18923 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
18924 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_115);
18925 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
18926 l_rec_acct_attrs.array_char_value(21) := p_source_60;
18927 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
18928 l_rec_acct_attrs.array_num_value(22) := p_source_91;
18929 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
18930 l_rec_acct_attrs.array_num_value(23) := p_source_91;
18931 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
18932 l_rec_acct_attrs.array_num_value(24) := p_source_93;
18933
18934 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
18935 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
18936
18937 ---------------------------------------------------------------------------------------------------------------
18938 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
18939 ---------------------------------------------------------------------------------------------------------------
18940 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
18941
18942 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
18943 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
18944
18945 IF xla_accounting_cache_pkg.GetValueChar
18946 (p_source_code => 'LEDGER_CATEGORY_CODE'
18947 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
18948 AND l_bflow_method_code = 'PRIOR_ENTRY'
18949 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
18953 THEN
18950 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
18951 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
18952 )
18954 xla_ae_lines_pkg.BflowUpgEntry
18955 (p_business_method_code => l_bflow_method_code
18956 ,p_business_class_code => l_bflow_class_code
18957 ,p_balance_type => l_balance_type_code);
18958 ELSE
18959 NULL;
18960 -- No business flow processing for business flow method of NONE.
18961 END IF;
18962
18963 --
18964 -- call analytical criteria
18965 --
18966
18967 --
18968 -- call description
18969 --
18970 -- No description or it is inherited.
18971 --
18972 -- call ADRs
18973 -- Bug 4922099
18974 --
18975 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
18976 (NVL(l_actual_upg_option, 'N') = 'O') OR
18977 (NVL(l_enc_upg_option, 'N') = 'O')
18978 )
18979 THEN
18980 NULL;
18981 --
18982 --
18983
18984 l_ccid := AcctDerRule_28(
18985 p_application_id => p_application_id
18986 , p_ae_header_id => l_ae_header_id
18987 , p_source_9 => p_source_9
18988 , p_source_10 => p_source_10
18989 , p_source_10_meaning => p_source_10_meaning
18990 , p_source_25 => p_source_25
18991 , x_transaction_coa_id => l_adr_transaction_coa_id
18992 , x_accounting_coa_id => l_adr_accounting_coa_id
18993 , x_value_type_code => l_adr_value_type_code
18994 , p_side => 'NA'
18995 );
18996
18997 xla_ae_lines_pkg.set_ccid(
18998 p_code_combination_id => l_ccid
18999 , p_value_type_code => l_adr_value_type_code
19000 , p_transaction_coa_id => l_adr_transaction_coa_id
19001 , p_accounting_coa_id => l_adr_accounting_coa_id
19002 , p_adr_code => 'AP_BANK_CHARGES'
19003 , p_adr_type_code => 'S'
19004 , p_component_type => l_component_type
19005 , p_component_code => l_component_code
19006 , p_component_type_code => l_component_type_code
19007 , p_component_appl_id => l_component_appl_id
19008 , p_amb_context_code => l_amb_context_code
19009 , p_side => 'NA'
19010 );
19011
19012
19013 l_segment := AcctDerRule_4(
19014 p_application_id => p_application_id
19015 , p_ae_header_id => l_ae_header_id
19016 , p_source_9 => p_source_9
19017 , p_source_10 => p_source_10
19018 , p_source_10_meaning => p_source_10_meaning
19019 , x_transaction_coa_id => l_adr_transaction_coa_id
19020 , x_accounting_coa_id => l_adr_accounting_coa_id
19021 , x_flexfield_segment_code => l_adr_flexfield_segment_code
19022 , x_flex_value_set_id => l_adr_flex_value_set_id
19023 , x_value_type_code => l_adr_value_type_code
19024 , x_value_combination_id => l_adr_value_combination_id
19025 , x_value_segment_code => l_adr_value_segment_code
19026 , p_side => 'NA'
19027 , p_override_seg_flag => 'Y'
19028 );
19029
19030 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
19031
19032 xla_ae_lines_pkg.set_segment(
19033 p_to_segment_code => 'GL_ACCOUNT'
19034 , p_segment_value => l_segment
19035 , p_from_segment_code => l_adr_value_segment_code
19036 , p_from_combination_id => l_adr_value_combination_id
19037 , p_value_type_code => l_adr_value_type_code
19038 , p_transaction_coa_id => l_adr_transaction_coa_id
19039 , p_accounting_coa_id => l_adr_accounting_coa_id
19040 , p_flexfield_segment_code => l_adr_flexfield_segment_code
19041 , p_flex_value_set_id => l_adr_flex_value_set_id
19042 , p_adr_code => 'AP_BANK_CHARGES_NAT_ACCT_SEG'
19043 , p_adr_type_code => 'S'
19044 , p_component_type => l_component_type
19045 , p_component_code => l_component_code
19046 , p_component_type_code => l_component_type_code
19047 , p_component_appl_id => l_component_appl_id
19048 , p_amb_context_code => l_amb_context_code
19049 , p_entity_code => 'AP_PAYMENTS'
19050 , p_event_class_code => 'RECONCILED PAYMENTS'
19051 , p_side => 'NA'
19052 );
19053
19054 END IF;
19055
19056 l_segment := AcctDerRule_23(
19057 p_application_id => p_application_id
19058 , p_ae_header_id => l_ae_header_id
19059 , p_source_10 => p_source_10
19060 , p_source_10_meaning => p_source_10_meaning
19061 , p_source_25 => p_source_25
19062 , x_transaction_coa_id => l_adr_transaction_coa_id
19063 , x_accounting_coa_id => l_adr_accounting_coa_id
19064 , x_flexfield_segment_code => l_adr_flexfield_segment_code
19065 , x_flex_value_set_id => l_adr_flex_value_set_id
19066 , x_value_type_code => l_adr_value_type_code
19067 , x_value_combination_id => l_adr_value_combination_id
19068 , x_value_segment_code => l_adr_value_segment_code
19072
19069 , p_side => 'NA'
19070 , p_override_seg_flag => 'Y'
19071 );
19073 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
19074
19075 xla_ae_lines_pkg.set_segment(
19076 p_to_segment_code => 'GL_BALANCING'
19077 , p_segment_value => l_segment
19078 , p_from_segment_code => l_adr_value_segment_code
19079 , p_from_combination_id => l_adr_value_combination_id
19080 , p_value_type_code => l_adr_value_type_code
19081 , p_transaction_coa_id => l_adr_transaction_coa_id
19082 , p_accounting_coa_id => l_adr_accounting_coa_id
19083 , p_flexfield_segment_code => l_adr_flexfield_segment_code
19084 , p_flex_value_set_id => l_adr_flex_value_set_id
19085 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
19086 , p_adr_type_code => 'S'
19087 , p_component_type => l_component_type
19088 , p_component_code => l_component_code
19089 , p_component_type_code => l_component_type_code
19090 , p_component_appl_id => l_component_appl_id
19091 , p_amb_context_code => l_amb_context_code
19092 , p_entity_code => 'AP_PAYMENTS'
19093 , p_event_class_code => 'RECONCILED PAYMENTS'
19094 , p_side => 'NA'
19095 );
19096
19097 END IF;
19098
19099 --
19100 --
19101 END IF;
19102 --
19103 -- Bug 4922099
19104 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
19105 (NVL(l_enc_upg_option, 'N') = 'O')
19106 ) AND
19107 (l_bflow_method_code = 'PRIOR_ENTRY')
19108 )
19109 THEN
19110 IF
19111 --
19112 1 = 2
19113 --
19114 THEN
19115 xla_accounting_err_pkg.build_message
19116 (p_appli_s_name => 'XLA'
19117 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
19118 ,p_token_1 => 'LINE_NUMBER'
19119 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
19120 ,p_token_2 => 'LINE_TYPE_NAME'
19121 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
19122 l_component_type
19123 ,l_component_code
19124 ,l_component_type_code
19125 ,l_component_appl_id
19126 ,l_amb_context_code
19127 ,l_entity_code
19128 ,l_event_class_code
19129 )
19130 ,p_token_3 => 'OWNER'
19131 ,p_value_3 => xla_lookups_pkg.get_meaning(
19132 p_lookup_type => 'XLA_OWNER_TYPE'
19133 ,p_lookup_code => l_component_type_code
19134 )
19135 ,p_token_4 => 'PRODUCT_NAME'
19136 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
19137 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
19138 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
19139 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
19140 ,p_ae_header_id => NULL
19141 );
19142
19143 IF (C_LEVEL_ERROR>= g_log_level) THEN
19144 trace
19145 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
19146 ,p_level => C_LEVEL_ERROR
19147 ,p_module => l_log_module);
19148 END IF;
19149 END IF;
19150 END IF;
19151 --
19152 --
19153 ------------------------------------------------------------------------------------------------
19154 -- 4219869 Business Flow
19155 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
19156 -- Prior Entry. Currently, the following code is always generated.
19157 ------------------------------------------------------------------------------------------------
19158 XLA_AE_LINES_PKG.ValidateCurrentLine;
19159
19160 ------------------------------------------------------------------------------------
19161 -- 4219869 Business Flow
19162 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
19163 ------------------------------------------------------------------------------------
19164 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
19165
19169 ----------------------------------------------------------------------------------
19166 ----------------------------------------------------------------------------------
19167 -- 4219869 Business Flow
19168 -- Update journal entry status -- Need to generate this within IF <condition>
19170 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
19171 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
19172 ,p_balance_type_code => l_balance_type_code
19173 );
19174
19175 -------------------------------------------------------------------------------------------
19176 -- 4262811 - Generate the Accrual Reversal lines
19177 -------------------------------------------------------------------------------------------
19178 BEGIN
19179 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
19180 (g_array_event(p_event_id).array_value_num('header_index'));
19181 IF l_acc_rev_flag IS NULL THEN
19182 l_acc_rev_flag := 'N';
19183 END IF;
19184 EXCEPTION
19185 WHEN OTHERS THEN
19186 l_acc_rev_flag := 'N';
19187 END;
19188 --
19189 IF (l_acc_rev_flag = 'Y') THEN
19190
19191 -- 4645092 ------------------------------------------------------------------------------
19192 -- To allow MPA report to determine if it should generate report process
19193 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
19194 ------------------------------------------------------------------------------------------
19195
19196 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
19197 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
19198 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
19199 -- call ADRs
19200 -- Bug 4922099
19201 --
19202 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
19203 (NVL(l_actual_upg_option, 'N') = 'O') OR
19204 (NVL(l_enc_upg_option, 'N') = 'O')
19205 )
19206 THEN
19207 NULL;
19208 --
19209 --
19210
19211 l_ccid := AcctDerRule_28(
19212 p_application_id => p_application_id
19213 , p_ae_header_id => l_ae_header_id
19214 , p_source_9 => p_source_9
19215 , p_source_10 => p_source_10
19216 , p_source_10_meaning => p_source_10_meaning
19217 , p_source_25 => p_source_25
19218 , x_transaction_coa_id => l_adr_transaction_coa_id
19219 , x_accounting_coa_id => l_adr_accounting_coa_id
19220 , x_value_type_code => l_adr_value_type_code
19221 , p_side => 'NA'
19222 );
19223
19224 xla_ae_lines_pkg.set_ccid(
19225 p_code_combination_id => l_ccid
19226 , p_value_type_code => l_adr_value_type_code
19227 , p_transaction_coa_id => l_adr_transaction_coa_id
19228 , p_accounting_coa_id => l_adr_accounting_coa_id
19229 , p_adr_code => 'AP_BANK_CHARGES'
19230 , p_adr_type_code => 'S'
19231 , p_component_type => l_component_type
19232 , p_component_code => l_component_code
19233 , p_component_type_code => l_component_type_code
19234 , p_component_appl_id => l_component_appl_id
19235 , p_amb_context_code => l_amb_context_code
19236 , p_side => 'NA'
19237 );
19238
19239
19240 l_segment := AcctDerRule_4(
19241 p_application_id => p_application_id
19242 , p_ae_header_id => l_ae_header_id
19243 , p_source_9 => p_source_9
19244 , p_source_10 => p_source_10
19245 , p_source_10_meaning => p_source_10_meaning
19246 , x_transaction_coa_id => l_adr_transaction_coa_id
19247 , x_accounting_coa_id => l_adr_accounting_coa_id
19248 , x_flexfield_segment_code => l_adr_flexfield_segment_code
19249 , x_flex_value_set_id => l_adr_flex_value_set_id
19250 , x_value_type_code => l_adr_value_type_code
19251 , x_value_combination_id => l_adr_value_combination_id
19252 , x_value_segment_code => l_adr_value_segment_code
19253 , p_side => 'NA'
19254 , p_override_seg_flag => 'Y'
19255 );
19256
19257 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
19258
19259 xla_ae_lines_pkg.set_segment(
19260 p_to_segment_code => 'GL_ACCOUNT'
19261 , p_segment_value => l_segment
19262 , p_from_segment_code => l_adr_value_segment_code
19263 , p_from_combination_id => l_adr_value_combination_id
19264 , p_value_type_code => l_adr_value_type_code
19265 , p_transaction_coa_id => l_adr_transaction_coa_id
19266 , p_accounting_coa_id => l_adr_accounting_coa_id
19267 , p_flexfield_segment_code => l_adr_flexfield_segment_code
19268 , p_flex_value_set_id => l_adr_flex_value_set_id
19269 , p_adr_code => 'AP_BANK_CHARGES_NAT_ACCT_SEG'
19270 , p_adr_type_code => 'S'
19271 , p_component_type => l_component_type
19272 , p_component_code => l_component_code
19273 , p_component_type_code => l_component_type_code
19274 , p_component_appl_id => l_component_appl_id
19275 , p_amb_context_code => l_amb_context_code
19276 , p_entity_code => 'AP_PAYMENTS'
19280
19277 , p_event_class_code => 'RECONCILED PAYMENTS'
19278 , p_side => 'NA'
19279 );
19281 END IF;
19282
19283 l_segment := AcctDerRule_23(
19284 p_application_id => p_application_id
19285 , p_ae_header_id => l_ae_header_id
19286 , p_source_10 => p_source_10
19287 , p_source_10_meaning => p_source_10_meaning
19288 , p_source_25 => p_source_25
19289 , x_transaction_coa_id => l_adr_transaction_coa_id
19290 , x_accounting_coa_id => l_adr_accounting_coa_id
19291 , x_flexfield_segment_code => l_adr_flexfield_segment_code
19292 , x_flex_value_set_id => l_adr_flex_value_set_id
19293 , x_value_type_code => l_adr_value_type_code
19294 , x_value_combination_id => l_adr_value_combination_id
19295 , x_value_segment_code => l_adr_value_segment_code
19296 , p_side => 'NA'
19297 , p_override_seg_flag => 'Y'
19298 );
19299
19300 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
19301
19302 xla_ae_lines_pkg.set_segment(
19303 p_to_segment_code => 'GL_BALANCING'
19304 , p_segment_value => l_segment
19305 , p_from_segment_code => l_adr_value_segment_code
19306 , p_from_combination_id => l_adr_value_combination_id
19307 , p_value_type_code => l_adr_value_type_code
19308 , p_transaction_coa_id => l_adr_transaction_coa_id
19309 , p_accounting_coa_id => l_adr_accounting_coa_id
19310 , p_flexfield_segment_code => l_adr_flexfield_segment_code
19311 , p_flex_value_set_id => l_adr_flex_value_set_id
19312 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
19313 , p_adr_type_code => 'S'
19314 , p_component_type => l_component_type
19315 , p_component_code => l_component_code
19316 , p_component_type_code => l_component_type_code
19317 , p_component_appl_id => l_component_appl_id
19318 , p_amb_context_code => l_amb_context_code
19319 , p_entity_code => 'AP_PAYMENTS'
19320 , p_event_class_code => 'RECONCILED PAYMENTS'
19321 , p_side => 'NA'
19322 );
19323
19324 END IF;
19325
19326 --
19327 --
19328 END IF;
19329
19330 --
19331 -- Update the line information that should be overwritten
19332 --
19333 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
19334 p_header_num => 1);
19335 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
19336
19337 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
19338
19339 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
19340 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
19341 END IF;
19342
19343 --
19344 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
19345 --
19346 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
19347 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
19348 ELSE
19349 ---------------------------------------------------------------------------------------------------
19350 -- 4262811a Switch Sign
19351 ---------------------------------------------------------------------------------------------------
19352 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
19353 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
19354 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
19355 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
19356 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
19357 -- 5132302
19358 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
19359 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
19360
19361 END IF;
19362
19363 -- 4955764
19364 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
19365 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
19366
19367
19368 XLA_AE_LINES_PKG.ValidateCurrentLine;
19369 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
19370
19371 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
19372 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
19373 ,p_balance_type_code => l_balance_type_code);
19374
19375 END IF;
19376
19377 -----------------------------------------------------------------------------------------
19378 -- 4262811 Multiperiod Accounting
19379 -----------------------------------------------------------------------------------------
19380 -- No MPA option is assigned.
19381
19382
19383 END IF;
19384 END IF;
19385 --
19386
19387 --
19388 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
19389 trace
19390 (p_msg => 'END of AcctLineType_68'
19391 ,p_level => C_LEVEL_PROCEDURE
19395 EXCEPTION
19392 ,p_module => l_log_module);
19393 END IF;
19394 --
19396 WHEN xla_exceptions_pkg.application_exception THEN
19397 RAISE;
19398 WHEN OTHERS THEN
19399 xla_exceptions_pkg.raise_message
19400 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_68');
19401 END AcctLineType_68;
19402 --
19403
19404 ---------------------------------------
19405 --
19406 -- PRIVATE FUNCTION
19407 -- AcctLineType_69
19408 --
19409 ---------------------------------------
19410 PROCEDURE AcctLineType_69 (
19411 p_application_id IN NUMBER
19412 ,p_event_id IN NUMBER
19413 ,p_calculate_acctd_flag IN VARCHAR2
19414 ,p_calculate_g_l_flag IN VARCHAR2
19415 ,p_actual_flag IN OUT VARCHAR2
19416 ,p_balance_type_code OUT VARCHAR2
19417 ,p_gain_or_loss_ref OUT VARCHAR2
19418
19419 --Automatic Offsets Value
19420 , p_source_10 IN VARCHAR2
19421 , p_source_10_meaning IN VARCHAR2
19422 --Bank Errors Account
19423 , p_source_11 IN NUMBER
19424 --Invoice Distribution Account
19425 , p_source_25 IN NUMBER
19426 --When to Account for Payment Option
19427 , p_source_57 IN VARCHAR2
19428 --Accounting Reversal Indicator
19429 , p_source_58 IN VARCHAR2
19430 --Distribution Link Type
19431 , p_source_60 IN VARCHAR2
19432 --Override Accounted Amount Indicator
19433 , p_source_85 IN VARCHAR2
19434 , p_source_85_meaning IN VARCHAR2
19435 --Third Party Type
19436 , p_source_88 IN VARCHAR2
19437 --Invoice Distribution Tax Line Identifier
19438 , p_source_91 IN NUMBER
19439 --Invoice Distribution Summary Tax Line Identifier
19440 , p_source_93 IN NUMBER
19441 --Business Flow Accounts Payable Application Identifier
19442 , p_source_96 IN NUMBER
19443 --Payment Distribution Type
19444 , p_source_101 IN VARCHAR2
19445 , p_source_101_meaning IN VARCHAR2
19446 --Payment Distribution Amount
19447 , p_source_102 IN NUMBER
19448 --Business Flow Payment Distribution Type
19449 , p_source_103 IN VARCHAR2
19450 --Business Flow Payment Entity Code
19451 , p_source_104 IN VARCHAR2
19452 --Business Flow Payment Distribution Identifier
19453 , p_source_105 IN NUMBER
19454 --Business Flow Payment Identifier
19455 , p_source_106 IN NUMBER
19456 --Payment Distribution Identifier
19457 , p_source_107 IN NUMBER
19458 --Cleared Currency Code
19459 , p_source_108 IN VARCHAR2
19460 --Cleared Exchange Date
19461 , p_source_109 IN DATE
19462 --Cleared Exchange Rate
19463 , p_source_110 IN NUMBER
19464 --Cleared Exchange Rate Type
19465 , p_source_111 IN VARCHAR2
19466 --Payment Distribution (Cleared Rate) Ledger Amount
19467 , p_source_112 IN NUMBER
19468 --Payment Supplier Identifier
19469 , p_source_113 IN NUMBER
19470 --Payment Supplier Site Identifier
19471 , p_source_114 IN NUMBER
19472 --Payment Distribution Reversed Identifier
19473 , p_source_115 IN NUMBER
19474 )
19475 IS
19476
19477 l_component_type VARCHAR2(80);
19478 l_component_code VARCHAR2(30);
19479 l_component_type_code VARCHAR2(1);
19480 l_component_appl_id INTEGER;
19481 l_amb_context_code VARCHAR2(30);
19482 l_entity_code VARCHAR2(30);
19483 l_event_class_code VARCHAR2(30);
19484 l_ae_header_id NUMBER;
19485 l_event_type_code VARCHAR2(30);
19486 l_line_definition_code VARCHAR2(30);
19487 l_line_definition_owner_code VARCHAR2(1);
19488 --
19489 -- adr variables
19490 l_segment VARCHAR2(30);
19491 l_ccid NUMBER;
19492 l_adr_transaction_coa_id NUMBER;
19493 l_adr_accounting_coa_id NUMBER;
19494 l_adr_flexfield_segment_code VARCHAR2(30);
19495 l_adr_flex_value_set_id NUMBER;
19496 l_adr_value_type_code VARCHAR2(30);
19497 l_adr_value_combination_id NUMBER;
19498 l_adr_value_segment_code VARCHAR2(30);
19499
19500 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
19501 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
19502 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
19503 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
19504
19505 -- 4262811 Variables ------------------------------------------------------------------------------------------
19506 l_entered_amt_idx NUMBER;
19507 l_accted_amt_idx NUMBER;
19508 l_acc_rev_flag VARCHAR2(1);
19509 l_accrual_line_num NUMBER;
19510 l_tmp_amt NUMBER;
19511 l_acc_rev_natural_side_code VARCHAR2(1);
19512
19513 l_num_entries NUMBER;
19514 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
19515 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
19516 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
19517 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
19518 l_recog_line_1 NUMBER;
19519 l_recog_line_2 NUMBER;
19520
19521 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
19522 l_bflow_applied_to_amt NUMBER; -- 5132302
19526
19523 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
19524
19525 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
19527 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
19528 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
19529
19530 ---------------------------------------------------------------------------------------------------------------
19531
19532
19533 --
19534 -- bulk performance
19535 --
19536 l_balance_type_code VARCHAR2(1);
19537 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
19538 l_log_module VARCHAR2(240);
19539
19540 --
19541 -- Upgrade strategy
19542 --
19543 l_actual_upg_option VARCHAR2(1);
19544 l_enc_upg_option VARCHAR2(1);
19545
19546 --
19547 BEGIN
19548 --
19549 IF g_log_enabled THEN
19550 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_69';
19551 END IF;
19552 --
19553 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
19554
19555 trace
19556 (p_msg => 'BEGIN of AcctLineType_69'
19557 ,p_level => C_LEVEL_PROCEDURE
19558 ,p_module => l_log_module);
19559
19560 END IF;
19561 --
19562 l_component_type := 'AMB_JLT';
19563 l_component_code := 'AP_BANK_ERROR_CLEAR';
19564 l_component_type_code := 'S';
19565 l_component_appl_id := 200;
19566 l_amb_context_code := 'DEFAULT';
19567 l_entity_code := 'AP_PAYMENTS';
19568 l_event_class_code := 'RECONCILED PAYMENTS';
19569 l_event_type_code := 'RECONCILED PAYMENTS_ALL';
19570 l_line_definition_owner_code := 'S';
19571 l_line_definition_code := 'ACCRUAL_RECONCILED PAYMENTS_A4';
19572 --
19573 l_balance_type_code := 'A';
19574 l_segment := NULL;
19575 l_ccid := NULL;
19576 l_adr_transaction_coa_id := NULL;
19577 l_adr_accounting_coa_id := NULL;
19578 l_adr_flexfield_segment_code := NULL;
19579 l_adr_flex_value_set_id := NULL;
19580 l_adr_value_type_code := NULL;
19581 l_adr_value_combination_id := NULL;
19582 l_adr_value_segment_code := NULL;
19583
19584 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
19585 l_bflow_class_code := ''; -- 4219869 Business Flow
19586 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
19587 l_budgetary_control_flag := 'N';
19588
19589 l_bflow_applied_to_amt_idx := NULL; -- 5132302
19590 l_bflow_applied_to_amt := NULL; -- 5132302
19591 l_entered_amt_idx := NULL; -- 4262811
19592 l_accted_amt_idx := NULL; -- 4262811
19593 l_acc_rev_flag := NULL; -- 4262811
19594 l_accrual_line_num := NULL; -- 4262811
19595 l_tmp_amt := NULL; -- 4262811
19596 --
19597
19598 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
19599 l_balance_type_code <> 'B' THEN
19600 IF NVL(p_source_57,'
19601 ') <> 'ISSUE_ISSUE' AND
19602 NVL(p_source_101,'
19603 ') = 'BANK ERROR'
19604 THEN
19605
19606 --
19607 XLA_AE_LINES_PKG.SetNewLine;
19608
19609 p_balance_type_code := l_balance_type_code;
19610 -- set the flag so later we will know whether the gain loss line needs to be created
19611
19612 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
19613 p_actual_flag :='A';
19614 END IF;
19615
19616 --
19617 -- bulk performance
19618 --
19619 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
19620 p_header_num => 0); -- 4262811
19621 --
19622 -- set accounting line options
19623 --
19624 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
19625 p_natural_side_code => 'D'
19626 , p_gain_or_loss_flag => 'N'
19627 , p_gl_transfer_mode_code => 'S'
19628 , p_acct_entry_type_code => 'A'
19629 , p_switch_side_flag => 'Y'
19630 , p_merge_duplicate_code => 'A'
19631 );
19632 --
19633 l_acc_rev_natural_side_code := 'C'; -- 4262811
19634 --
19635 --
19636 -- set accounting line type info
19637 --
19638 xla_ae_lines_pkg.SetAcctLineType
19639 (p_component_type => l_component_type
19640 ,p_event_type_code => l_event_type_code
19641 ,p_line_definition_owner_code => l_line_definition_owner_code
19642 ,p_line_definition_code => l_line_definition_code
19643 ,p_accounting_line_code => l_component_code
19644 ,p_accounting_line_type_code => l_component_type_code
19645 ,p_accounting_line_appl_id => l_component_appl_id
19646 ,p_amb_context_code => l_amb_context_code
19647 ,p_entity_code => l_entity_code
19648 ,p_event_class_code => l_event_class_code);
19649 --
19650 -- set accounting class
19651 --
19652 xla_ae_lines_pkg.SetAcctClass(
19653 p_accounting_class_code => 'BANK_ERROR'
19654 , p_ae_header_id => l_ae_header_id
19655 );
19656
19657 --
19658 -- set rounding class
19659 --
19663 --
19660 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
19661 'BANK_ERROR';
19662
19664 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
19665 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
19666 --
19667 -- bulk performance
19668 --
19669 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
19670
19671 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
19672 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
19673
19674 -- 4955764
19675 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
19676 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
19677
19678 -- 4458381 Public Sector Enh
19679
19680 --
19681 -- set accounting attributes for the line type
19682 --
19683 l_entered_amt_idx := 10;
19684 l_accted_amt_idx := 15;
19685 l_bflow_applied_to_amt_idx := 2; -- 5132302
19686 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
19687 l_rec_acct_attrs.array_char_value(1) := p_source_58;
19688 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
19689 l_rec_acct_attrs.array_num_value(2) := p_source_102;
19690 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
19691 l_rec_acct_attrs.array_num_value(3) := p_source_96;
19692 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
19693 l_rec_acct_attrs.array_char_value(4) := p_source_103;
19694 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
19695 l_rec_acct_attrs.array_char_value(5) := p_source_104;
19696 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
19697 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_105);
19698 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
19699 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_106);
19700 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
19701 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_107);
19702 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
19703 l_rec_acct_attrs.array_char_value(9) := p_source_60;
19704 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
19705 l_rec_acct_attrs.array_num_value(10) := p_source_102;
19706 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
19707 l_rec_acct_attrs.array_char_value(11) := p_source_108;
19708 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
19709 l_rec_acct_attrs.array_date_value(12) := p_source_109;
19710 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
19711 l_rec_acct_attrs.array_num_value(13) := p_source_110;
19712 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
19713 l_rec_acct_attrs.array_char_value(14) := p_source_111;
19714 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
19715 l_rec_acct_attrs.array_num_value(15) := p_source_112;
19716 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
19717 l_rec_acct_attrs.array_char_value(16) := p_source_85;
19718 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
19719 l_rec_acct_attrs.array_num_value(17) := p_source_113;
19720 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
19721 l_rec_acct_attrs.array_num_value(18) := p_source_114;
19722 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
19723 l_rec_acct_attrs.array_char_value(19) := p_source_88;
19724 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
19725 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_115);
19726 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
19727 l_rec_acct_attrs.array_char_value(21) := p_source_60;
19728 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
19729 l_rec_acct_attrs.array_num_value(22) := p_source_91;
19730 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
19731 l_rec_acct_attrs.array_num_value(23) := p_source_91;
19732 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
19733 l_rec_acct_attrs.array_num_value(24) := p_source_93;
19734
19735 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
19736 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
19737
19738 ---------------------------------------------------------------------------------------------------------------
19739 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
19740 ---------------------------------------------------------------------------------------------------------------
19741 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
19742
19743 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
19744 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
19745
19746 IF xla_accounting_cache_pkg.GetValueChar
19747 (p_source_code => 'LEDGER_CATEGORY_CODE'
19748 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
19749 AND l_bflow_method_code = 'PRIOR_ENTRY'
19753 )
19750 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
19751 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
19752 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
19754 THEN
19755 xla_ae_lines_pkg.BflowUpgEntry
19756 (p_business_method_code => l_bflow_method_code
19757 ,p_business_class_code => l_bflow_class_code
19758 ,p_balance_type => l_balance_type_code);
19759 ELSE
19760 NULL;
19761 -- No business flow processing for business flow method of NONE.
19762 END IF;
19763
19764 --
19765 -- call analytical criteria
19766 --
19767
19768 --
19769 -- call description
19770 --
19771 -- No description or it is inherited.
19772 --
19773 -- call ADRs
19774 -- Bug 4922099
19775 --
19776 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
19777 (NVL(l_actual_upg_option, 'N') = 'O') OR
19778 (NVL(l_enc_upg_option, 'N') = 'O')
19779 )
19780 THEN
19781 NULL;
19782 --
19783 --
19784
19785 l_ccid := AcctDerRule_29(
19786 p_application_id => p_application_id
19787 , p_ae_header_id => l_ae_header_id
19788 , p_source_10 => p_source_10
19789 , p_source_10_meaning => p_source_10_meaning
19790 , p_source_11 => p_source_11
19791 , p_source_25 => p_source_25
19792 , x_transaction_coa_id => l_adr_transaction_coa_id
19793 , x_accounting_coa_id => l_adr_accounting_coa_id
19794 , x_value_type_code => l_adr_value_type_code
19795 , p_side => 'NA'
19796 );
19797
19798 xla_ae_lines_pkg.set_ccid(
19799 p_code_combination_id => l_ccid
19800 , p_value_type_code => l_adr_value_type_code
19801 , p_transaction_coa_id => l_adr_transaction_coa_id
19802 , p_accounting_coa_id => l_adr_accounting_coa_id
19803 , p_adr_code => 'AP_BANK_ERRORS'
19804 , p_adr_type_code => 'S'
19805 , p_component_type => l_component_type
19806 , p_component_code => l_component_code
19807 , p_component_type_code => l_component_type_code
19808 , p_component_appl_id => l_component_appl_id
19809 , p_amb_context_code => l_amb_context_code
19810 , p_side => 'NA'
19811 );
19812
19813
19814 l_segment := AcctDerRule_5(
19815 p_application_id => p_application_id
19816 , p_ae_header_id => l_ae_header_id
19817 , p_source_10 => p_source_10
19818 , p_source_10_meaning => p_source_10_meaning
19819 , p_source_11 => p_source_11
19820 , x_transaction_coa_id => l_adr_transaction_coa_id
19821 , x_accounting_coa_id => l_adr_accounting_coa_id
19822 , x_flexfield_segment_code => l_adr_flexfield_segment_code
19823 , x_flex_value_set_id => l_adr_flex_value_set_id
19824 , x_value_type_code => l_adr_value_type_code
19825 , x_value_combination_id => l_adr_value_combination_id
19826 , x_value_segment_code => l_adr_value_segment_code
19827 , p_side => 'NA'
19828 , p_override_seg_flag => 'Y'
19829 );
19830
19831 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
19832
19833 xla_ae_lines_pkg.set_segment(
19834 p_to_segment_code => 'GL_ACCOUNT'
19835 , p_segment_value => l_segment
19836 , p_from_segment_code => l_adr_value_segment_code
19837 , p_from_combination_id => l_adr_value_combination_id
19838 , p_value_type_code => l_adr_value_type_code
19839 , p_transaction_coa_id => l_adr_transaction_coa_id
19840 , p_accounting_coa_id => l_adr_accounting_coa_id
19841 , p_flexfield_segment_code => l_adr_flexfield_segment_code
19842 , p_flex_value_set_id => l_adr_flex_value_set_id
19843 , p_adr_code => 'AP_BANK_ERRORS_NAT_ACCT_SEG'
19844 , p_adr_type_code => 'S'
19845 , p_component_type => l_component_type
19846 , p_component_code => l_component_code
19847 , p_component_type_code => l_component_type_code
19848 , p_component_appl_id => l_component_appl_id
19849 , p_amb_context_code => l_amb_context_code
19850 , p_entity_code => 'AP_PAYMENTS'
19851 , p_event_class_code => 'RECONCILED PAYMENTS'
19852 , p_side => 'NA'
19853 );
19854
19855 END IF;
19856
19857 l_segment := AcctDerRule_23(
19858 p_application_id => p_application_id
19859 , p_ae_header_id => l_ae_header_id
19860 , p_source_10 => p_source_10
19861 , p_source_10_meaning => p_source_10_meaning
19862 , p_source_25 => p_source_25
19863 , x_transaction_coa_id => l_adr_transaction_coa_id
19864 , x_accounting_coa_id => l_adr_accounting_coa_id
19865 , x_flexfield_segment_code => l_adr_flexfield_segment_code
19866 , x_flex_value_set_id => l_adr_flex_value_set_id
19867 , x_value_type_code => l_adr_value_type_code
19868 , x_value_combination_id => l_adr_value_combination_id
19869 , x_value_segment_code => l_adr_value_segment_code
19873
19870 , p_side => 'NA'
19871 , p_override_seg_flag => 'Y'
19872 );
19874 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
19875
19876 xla_ae_lines_pkg.set_segment(
19877 p_to_segment_code => 'GL_BALANCING'
19878 , p_segment_value => l_segment
19879 , p_from_segment_code => l_adr_value_segment_code
19880 , p_from_combination_id => l_adr_value_combination_id
19881 , p_value_type_code => l_adr_value_type_code
19882 , p_transaction_coa_id => l_adr_transaction_coa_id
19883 , p_accounting_coa_id => l_adr_accounting_coa_id
19884 , p_flexfield_segment_code => l_adr_flexfield_segment_code
19885 , p_flex_value_set_id => l_adr_flex_value_set_id
19886 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
19887 , p_adr_type_code => 'S'
19888 , p_component_type => l_component_type
19889 , p_component_code => l_component_code
19890 , p_component_type_code => l_component_type_code
19891 , p_component_appl_id => l_component_appl_id
19892 , p_amb_context_code => l_amb_context_code
19893 , p_entity_code => 'AP_PAYMENTS'
19894 , p_event_class_code => 'RECONCILED PAYMENTS'
19895 , p_side => 'NA'
19896 );
19897
19898 END IF;
19899
19900 --
19901 --
19902 END IF;
19903 --
19904 -- Bug 4922099
19905 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
19906 (NVL(l_enc_upg_option, 'N') = 'O')
19907 ) AND
19908 (l_bflow_method_code = 'PRIOR_ENTRY')
19909 )
19910 THEN
19911 IF
19912 --
19913 1 = 2
19914 --
19915 THEN
19916 xla_accounting_err_pkg.build_message
19917 (p_appli_s_name => 'XLA'
19918 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
19919 ,p_token_1 => 'LINE_NUMBER'
19920 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
19921 ,p_token_2 => 'LINE_TYPE_NAME'
19922 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
19923 l_component_type
19924 ,l_component_code
19925 ,l_component_type_code
19926 ,l_component_appl_id
19927 ,l_amb_context_code
19928 ,l_entity_code
19929 ,l_event_class_code
19930 )
19931 ,p_token_3 => 'OWNER'
19932 ,p_value_3 => xla_lookups_pkg.get_meaning(
19933 p_lookup_type => 'XLA_OWNER_TYPE'
19934 ,p_lookup_code => l_component_type_code
19935 )
19936 ,p_token_4 => 'PRODUCT_NAME'
19937 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
19938 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
19939 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
19940 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
19941 ,p_ae_header_id => NULL
19942 );
19943
19944 IF (C_LEVEL_ERROR>= g_log_level) THEN
19945 trace
19946 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
19947 ,p_level => C_LEVEL_ERROR
19948 ,p_module => l_log_module);
19949 END IF;
19950 END IF;
19951 END IF;
19952 --
19953 --
19954 ------------------------------------------------------------------------------------------------
19955 -- 4219869 Business Flow
19956 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
19957 -- Prior Entry. Currently, the following code is always generated.
19958 ------------------------------------------------------------------------------------------------
19959 XLA_AE_LINES_PKG.ValidateCurrentLine;
19960
19961 ------------------------------------------------------------------------------------
19962 -- 4219869 Business Flow
19963 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
19964 ------------------------------------------------------------------------------------
19965 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
19966
19970 ----------------------------------------------------------------------------------
19967 ----------------------------------------------------------------------------------
19968 -- 4219869 Business Flow
19969 -- Update journal entry status -- Need to generate this within IF <condition>
19971 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
19972 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
19973 ,p_balance_type_code => l_balance_type_code
19974 );
19975
19976 -------------------------------------------------------------------------------------------
19977 -- 4262811 - Generate the Accrual Reversal lines
19978 -------------------------------------------------------------------------------------------
19979 BEGIN
19980 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
19981 (g_array_event(p_event_id).array_value_num('header_index'));
19982 IF l_acc_rev_flag IS NULL THEN
19983 l_acc_rev_flag := 'N';
19984 END IF;
19985 EXCEPTION
19986 WHEN OTHERS THEN
19987 l_acc_rev_flag := 'N';
19988 END;
19989 --
19990 IF (l_acc_rev_flag = 'Y') THEN
19991
19992 -- 4645092 ------------------------------------------------------------------------------
19993 -- To allow MPA report to determine if it should generate report process
19994 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
19995 ------------------------------------------------------------------------------------------
19996
19997 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
19998 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
19999 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
20000 -- call ADRs
20001 -- Bug 4922099
20002 --
20003 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
20004 (NVL(l_actual_upg_option, 'N') = 'O') OR
20005 (NVL(l_enc_upg_option, 'N') = 'O')
20006 )
20007 THEN
20008 NULL;
20009 --
20010 --
20011
20012 l_ccid := AcctDerRule_29(
20013 p_application_id => p_application_id
20014 , p_ae_header_id => l_ae_header_id
20015 , p_source_10 => p_source_10
20016 , p_source_10_meaning => p_source_10_meaning
20017 , p_source_11 => p_source_11
20018 , p_source_25 => p_source_25
20019 , x_transaction_coa_id => l_adr_transaction_coa_id
20020 , x_accounting_coa_id => l_adr_accounting_coa_id
20021 , x_value_type_code => l_adr_value_type_code
20022 , p_side => 'NA'
20023 );
20024
20025 xla_ae_lines_pkg.set_ccid(
20026 p_code_combination_id => l_ccid
20027 , p_value_type_code => l_adr_value_type_code
20028 , p_transaction_coa_id => l_adr_transaction_coa_id
20029 , p_accounting_coa_id => l_adr_accounting_coa_id
20030 , p_adr_code => 'AP_BANK_ERRORS'
20031 , p_adr_type_code => 'S'
20032 , p_component_type => l_component_type
20033 , p_component_code => l_component_code
20034 , p_component_type_code => l_component_type_code
20035 , p_component_appl_id => l_component_appl_id
20036 , p_amb_context_code => l_amb_context_code
20037 , p_side => 'NA'
20038 );
20039
20040
20041 l_segment := AcctDerRule_5(
20042 p_application_id => p_application_id
20043 , p_ae_header_id => l_ae_header_id
20044 , p_source_10 => p_source_10
20045 , p_source_10_meaning => p_source_10_meaning
20046 , p_source_11 => p_source_11
20047 , x_transaction_coa_id => l_adr_transaction_coa_id
20048 , x_accounting_coa_id => l_adr_accounting_coa_id
20049 , x_flexfield_segment_code => l_adr_flexfield_segment_code
20050 , x_flex_value_set_id => l_adr_flex_value_set_id
20051 , x_value_type_code => l_adr_value_type_code
20052 , x_value_combination_id => l_adr_value_combination_id
20053 , x_value_segment_code => l_adr_value_segment_code
20054 , p_side => 'NA'
20055 , p_override_seg_flag => 'Y'
20056 );
20057
20058 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
20059
20060 xla_ae_lines_pkg.set_segment(
20061 p_to_segment_code => 'GL_ACCOUNT'
20062 , p_segment_value => l_segment
20063 , p_from_segment_code => l_adr_value_segment_code
20064 , p_from_combination_id => l_adr_value_combination_id
20065 , p_value_type_code => l_adr_value_type_code
20066 , p_transaction_coa_id => l_adr_transaction_coa_id
20067 , p_accounting_coa_id => l_adr_accounting_coa_id
20068 , p_flexfield_segment_code => l_adr_flexfield_segment_code
20069 , p_flex_value_set_id => l_adr_flex_value_set_id
20070 , p_adr_code => 'AP_BANK_ERRORS_NAT_ACCT_SEG'
20071 , p_adr_type_code => 'S'
20072 , p_component_type => l_component_type
20073 , p_component_code => l_component_code
20074 , p_component_type_code => l_component_type_code
20075 , p_component_appl_id => l_component_appl_id
20079 , p_side => 'NA'
20076 , p_amb_context_code => l_amb_context_code
20077 , p_entity_code => 'AP_PAYMENTS'
20078 , p_event_class_code => 'RECONCILED PAYMENTS'
20080 );
20081
20082 END IF;
20083
20084 l_segment := AcctDerRule_23(
20085 p_application_id => p_application_id
20086 , p_ae_header_id => l_ae_header_id
20087 , p_source_10 => p_source_10
20088 , p_source_10_meaning => p_source_10_meaning
20089 , p_source_25 => p_source_25
20090 , x_transaction_coa_id => l_adr_transaction_coa_id
20091 , x_accounting_coa_id => l_adr_accounting_coa_id
20092 , x_flexfield_segment_code => l_adr_flexfield_segment_code
20093 , x_flex_value_set_id => l_adr_flex_value_set_id
20094 , x_value_type_code => l_adr_value_type_code
20095 , x_value_combination_id => l_adr_value_combination_id
20096 , x_value_segment_code => l_adr_value_segment_code
20097 , p_side => 'NA'
20098 , p_override_seg_flag => 'Y'
20099 );
20100
20101 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
20102
20103 xla_ae_lines_pkg.set_segment(
20104 p_to_segment_code => 'GL_BALANCING'
20105 , p_segment_value => l_segment
20106 , p_from_segment_code => l_adr_value_segment_code
20107 , p_from_combination_id => l_adr_value_combination_id
20108 , p_value_type_code => l_adr_value_type_code
20109 , p_transaction_coa_id => l_adr_transaction_coa_id
20110 , p_accounting_coa_id => l_adr_accounting_coa_id
20111 , p_flexfield_segment_code => l_adr_flexfield_segment_code
20112 , p_flex_value_set_id => l_adr_flex_value_set_id
20113 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
20114 , p_adr_type_code => 'S'
20115 , p_component_type => l_component_type
20116 , p_component_code => l_component_code
20117 , p_component_type_code => l_component_type_code
20118 , p_component_appl_id => l_component_appl_id
20119 , p_amb_context_code => l_amb_context_code
20120 , p_entity_code => 'AP_PAYMENTS'
20121 , p_event_class_code => 'RECONCILED PAYMENTS'
20122 , p_side => 'NA'
20123 );
20124
20125 END IF;
20126
20127 --
20128 --
20129 END IF;
20130
20131 --
20132 -- Update the line information that should be overwritten
20133 --
20134 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
20135 p_header_num => 1);
20136 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
20137
20138 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
20139
20140 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
20141 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
20142 END IF;
20143
20144 --
20145 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
20146 --
20147 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
20148 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
20149 ELSE
20150 ---------------------------------------------------------------------------------------------------
20151 -- 4262811a Switch Sign
20152 ---------------------------------------------------------------------------------------------------
20153 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
20154 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
20155 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
20156 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
20157 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
20158 -- 5132302
20159 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
20160 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
20161
20162 END IF;
20163
20164 -- 4955764
20165 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
20166 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
20167
20168
20169 XLA_AE_LINES_PKG.ValidateCurrentLine;
20170 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
20171
20172 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
20173 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
20174 ,p_balance_type_code => l_balance_type_code);
20175
20176 END IF;
20177
20178 -----------------------------------------------------------------------------------------
20179 -- 4262811 Multiperiod Accounting
20183
20180 -----------------------------------------------------------------------------------------
20181 -- No MPA option is assigned.
20182
20184 END IF;
20185 END IF;
20186 --
20187
20188 --
20189 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
20190 trace
20191 (p_msg => 'END of AcctLineType_69'
20192 ,p_level => C_LEVEL_PROCEDURE
20193 ,p_module => l_log_module);
20194 END IF;
20195 --
20196 EXCEPTION
20197 WHEN xla_exceptions_pkg.application_exception THEN
20198 RAISE;
20199 WHEN OTHERS THEN
20200 xla_exceptions_pkg.raise_message
20201 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_69');
20202 END AcctLineType_69;
20203 --
20204
20205 ---------------------------------------
20206 --
20207 -- PRIVATE FUNCTION
20208 -- AcctLineType_70
20209 --
20210 ---------------------------------------
20211 PROCEDURE AcctLineType_70 (
20212 p_application_id IN NUMBER
20213 ,p_event_id IN NUMBER
20214 ,p_calculate_acctd_flag IN VARCHAR2
20215 ,p_calculate_g_l_flag IN VARCHAR2
20216 ,p_actual_flag IN OUT VARCHAR2
20217 ,p_balance_type_code OUT VARCHAR2
20218 ,p_gain_or_loss_ref OUT VARCHAR2
20219
20220 --Payment Currency Code
20221 , p_source_8 IN VARCHAR2
20222 --Automatic Offsets Value
20223 , p_source_10 IN VARCHAR2
20224 , p_source_10_meaning IN VARCHAR2
20225 --Bank Cash Account
20226 , p_source_12 IN NUMBER
20227 --When to Account for Payment Option
20228 , p_source_57 IN VARCHAR2
20229 --Accounting Reversal Indicator
20230 , p_source_58 IN VARCHAR2
20231 --Distribution Link Type
20232 , p_source_60 IN VARCHAR2
20233 --Override Accounted Amount Indicator
20234 , p_source_85 IN VARCHAR2
20235 , p_source_85_meaning IN VARCHAR2
20236 --Third Party Type
20237 , p_source_88 IN VARCHAR2
20238 --Invoice Distribution Tax Line Identifier
20239 , p_source_91 IN NUMBER
20240 --Invoice Distribution Summary Tax Line Identifier
20241 , p_source_93 IN NUMBER
20242 --Business Flow Accounts Payable Application Identifier
20243 , p_source_96 IN NUMBER
20244 --Payment Distribution Type
20245 , p_source_101 IN VARCHAR2
20246 , p_source_101_meaning IN VARCHAR2
20247 --Payment Distribution Amount
20248 , p_source_102 IN NUMBER
20249 --Business Flow Payment Distribution Type
20250 , p_source_103 IN VARCHAR2
20251 --Business Flow Payment Entity Code
20252 , p_source_104 IN VARCHAR2
20253 --Business Flow Payment Distribution Identifier
20254 , p_source_105 IN NUMBER
20255 --Business Flow Payment Identifier
20256 , p_source_106 IN NUMBER
20257 --Payment Distribution Identifier
20258 , p_source_107 IN NUMBER
20259 --Cleared Exchange Date
20260 , p_source_109 IN DATE
20261 --Cleared Exchange Rate
20262 , p_source_110 IN NUMBER
20263 --Cleared Exchange Rate Type
20264 , p_source_111 IN VARCHAR2
20265 --Payment Distribution (Cleared Rate) Ledger Amount
20266 , p_source_112 IN NUMBER
20267 --Payment Supplier Identifier
20268 , p_source_113 IN NUMBER
20269 --Payment Supplier Site Identifier
20270 , p_source_114 IN NUMBER
20271 --Payment Distribution Reversed Identifier
20272 , p_source_115 IN NUMBER
20273 --Pooled Bank Account Option
20274 , p_source_116 IN VARCHAR2
20275 , p_source_116_meaning IN VARCHAR2
20276 )
20277 IS
20278
20279 l_component_type VARCHAR2(80);
20280 l_component_code VARCHAR2(30);
20281 l_component_type_code VARCHAR2(1);
20282 l_component_appl_id INTEGER;
20283 l_amb_context_code VARCHAR2(30);
20284 l_entity_code VARCHAR2(30);
20285 l_event_class_code VARCHAR2(30);
20286 l_ae_header_id NUMBER;
20287 l_event_type_code VARCHAR2(30);
20288 l_line_definition_code VARCHAR2(30);
20289 l_line_definition_owner_code VARCHAR2(1);
20290 --
20291 -- adr variables
20292 l_segment VARCHAR2(30);
20293 l_ccid NUMBER;
20294 l_adr_transaction_coa_id NUMBER;
20295 l_adr_accounting_coa_id NUMBER;
20296 l_adr_flexfield_segment_code VARCHAR2(30);
20297 l_adr_flex_value_set_id NUMBER;
20298 l_adr_value_type_code VARCHAR2(30);
20299 l_adr_value_combination_id NUMBER;
20300 l_adr_value_segment_code VARCHAR2(30);
20301
20302 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
20303 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
20304 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
20305 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
20306
20307 -- 4262811 Variables ------------------------------------------------------------------------------------------
20308 l_entered_amt_idx NUMBER;
20309 l_accted_amt_idx NUMBER;
20310 l_acc_rev_flag VARCHAR2(1);
20311 l_accrual_line_num NUMBER;
20312 l_tmp_amt NUMBER;
20313 l_acc_rev_natural_side_code VARCHAR2(1);
20314
20315 l_num_entries NUMBER;
20319 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
20316 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
20317 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
20318 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
20320 l_recog_line_1 NUMBER;
20321 l_recog_line_2 NUMBER;
20322
20323 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
20324 l_bflow_applied_to_amt NUMBER; -- 5132302
20325 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
20326
20327 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
20328
20329 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
20330 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
20331
20332 ---------------------------------------------------------------------------------------------------------------
20333
20334
20335 --
20336 -- bulk performance
20337 --
20338 l_balance_type_code VARCHAR2(1);
20339 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
20340 l_log_module VARCHAR2(240);
20341
20342 --
20343 -- Upgrade strategy
20344 --
20345 l_actual_upg_option VARCHAR2(1);
20346 l_enc_upg_option VARCHAR2(1);
20347
20348 --
20349 BEGIN
20350 --
20351 IF g_log_enabled THEN
20352 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_70';
20353 END IF;
20354 --
20355 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
20356
20357 trace
20358 (p_msg => 'BEGIN of AcctLineType_70'
20359 ,p_level => C_LEVEL_PROCEDURE
20360 ,p_module => l_log_module);
20361
20362 END IF;
20363 --
20364 l_component_type := 'AMB_JLT';
20365 l_component_code := 'AP_CASH_CLEARONLY_AOS_AS';
20366 l_component_type_code := 'S';
20367 l_component_appl_id := 200;
20368 l_amb_context_code := 'DEFAULT';
20369 l_entity_code := 'AP_PAYMENTS';
20370 l_event_class_code := 'RECONCILED PAYMENTS';
20371 l_event_type_code := 'RECONCILED PAYMENTS_ALL';
20372 l_line_definition_owner_code := 'S';
20373 l_line_definition_code := 'ACCRUAL_RECONCILED PAYMENTS_A4';
20374 --
20375 l_balance_type_code := 'A';
20376 l_segment := NULL;
20377 l_ccid := NULL;
20378 l_adr_transaction_coa_id := NULL;
20379 l_adr_accounting_coa_id := NULL;
20380 l_adr_flexfield_segment_code := NULL;
20381 l_adr_flex_value_set_id := NULL;
20382 l_adr_value_type_code := NULL;
20383 l_adr_value_combination_id := NULL;
20384 l_adr_value_segment_code := NULL;
20385
20386 l_bflow_method_code := 'SAME_ENTRY'; -- 4219869 Business Flow
20387 l_bflow_class_code := ''; -- 4219869 Business Flow
20388 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
20389 l_budgetary_control_flag := 'N';
20390
20391 l_bflow_applied_to_amt_idx := NULL; -- 5132302
20392 l_bflow_applied_to_amt := NULL; -- 5132302
20393 l_entered_amt_idx := NULL; -- 4262811
20394 l_accted_amt_idx := NULL; -- 4262811
20395 l_acc_rev_flag := NULL; -- 4262811
20396 l_accrual_line_num := NULL; -- 4262811
20397 l_tmp_amt := NULL; -- 4262811
20398 --
20399
20400 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
20401 l_balance_type_code <> 'B' THEN
20402 IF NVL(p_source_57,'
20403 ') <> 'ISSUE_ISSUE' AND
20404 (NVL(p_source_116,'
20405 ') = 'Y' AND
20406 NVL(p_source_10,'
20407 ') = 'ACCOUNT_SEGMENT_VALUE') AND
20408 (NVL(p_source_101,'
20409 ') = 'CASH' OR
20410 NVL(p_source_101,'
20411 ') = 'BANK CHARGE' OR
20412 NVL(p_source_101,'
20413 ') = 'BANK ERROR')
20414 THEN
20415
20416 --
20417 XLA_AE_LINES_PKG.SetNewLine;
20418
20419 p_balance_type_code := l_balance_type_code;
20420 -- set the flag so later we will know whether the gain loss line needs to be created
20421
20422 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
20423 p_actual_flag :='A';
20424 END IF;
20425
20426 --
20427 -- bulk performance
20428 --
20429 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
20430 p_header_num => 0); -- 4262811
20431 --
20432 -- set accounting line options
20433 --
20434 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
20435 p_natural_side_code => 'C'
20436 , p_gain_or_loss_flag => 'N'
20437 , p_gl_transfer_mode_code => 'S'
20438 , p_acct_entry_type_code => 'A'
20439 , p_switch_side_flag => 'Y'
20440 , p_merge_duplicate_code => 'A'
20441 );
20442 --
20443 l_acc_rev_natural_side_code := 'D'; -- 4262811
20444 --
20445 --
20446 -- set accounting line type info
20447 --
20448 xla_ae_lines_pkg.SetAcctLineType
20449 (p_component_type => l_component_type
20450 ,p_event_type_code => l_event_type_code
20454 ,p_accounting_line_type_code => l_component_type_code
20451 ,p_line_definition_owner_code => l_line_definition_owner_code
20452 ,p_line_definition_code => l_line_definition_code
20453 ,p_accounting_line_code => l_component_code
20455 ,p_accounting_line_appl_id => l_component_appl_id
20456 ,p_amb_context_code => l_amb_context_code
20457 ,p_entity_code => l_entity_code
20458 ,p_event_class_code => l_event_class_code);
20459 --
20460 -- set accounting class
20461 --
20462 xla_ae_lines_pkg.SetAcctClass(
20463 p_accounting_class_code => 'CASH'
20464 , p_ae_header_id => l_ae_header_id
20465 );
20466
20467 --
20468 -- set rounding class
20469 --
20470 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
20471 'CASH';
20472
20473 --
20474 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
20475 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
20476 --
20477 -- bulk performance
20478 --
20479 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
20480
20481 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
20482 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
20483
20484 -- 4955764
20485 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
20486 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
20487
20488 -- 4458381 Public Sector Enh
20489
20490 --
20491 -- set accounting attributes for the line type
20492 --
20493 l_entered_amt_idx := 10;
20494 l_accted_amt_idx := 15;
20495 l_bflow_applied_to_amt_idx := 2; -- 5132302
20496 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
20497 l_rec_acct_attrs.array_char_value(1) := p_source_58;
20498 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
20499 l_rec_acct_attrs.array_num_value(2) := p_source_102;
20500 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
20501 l_rec_acct_attrs.array_num_value(3) := p_source_96;
20502 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
20503 l_rec_acct_attrs.array_char_value(4) := p_source_103;
20504 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
20505 l_rec_acct_attrs.array_char_value(5) := p_source_104;
20506 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
20507 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_105);
20508 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
20509 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_106);
20510 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
20511 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_107);
20512 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
20513 l_rec_acct_attrs.array_char_value(9) := p_source_60;
20514 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
20515 l_rec_acct_attrs.array_num_value(10) := p_source_102;
20516 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
20517 l_rec_acct_attrs.array_char_value(11) := p_source_8;
20518 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
20519 l_rec_acct_attrs.array_date_value(12) := p_source_109;
20520 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
20521 l_rec_acct_attrs.array_num_value(13) := p_source_110;
20522 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
20523 l_rec_acct_attrs.array_char_value(14) := p_source_111;
20524 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
20525 l_rec_acct_attrs.array_num_value(15) := p_source_112;
20526 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
20527 l_rec_acct_attrs.array_char_value(16) := p_source_85;
20528 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
20529 l_rec_acct_attrs.array_num_value(17) := p_source_113;
20530 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
20531 l_rec_acct_attrs.array_num_value(18) := p_source_114;
20532 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
20533 l_rec_acct_attrs.array_char_value(19) := p_source_88;
20534 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
20535 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_115);
20536 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
20537 l_rec_acct_attrs.array_char_value(21) := p_source_60;
20538 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
20539 l_rec_acct_attrs.array_num_value(22) := p_source_91;
20540 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
20541 l_rec_acct_attrs.array_num_value(23) := p_source_91;
20542 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
20543 l_rec_acct_attrs.array_num_value(24) := p_source_93;
20544
20545 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
20546 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
20547
20551 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
20548 ---------------------------------------------------------------------------------------------------------------
20549 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
20550 ---------------------------------------------------------------------------------------------------------------
20552
20553 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
20554 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
20555
20556 IF xla_accounting_cache_pkg.GetValueChar
20557 (p_source_code => 'LEDGER_CATEGORY_CODE'
20558 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
20559 AND l_bflow_method_code = 'PRIOR_ENTRY'
20560 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
20561 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
20562 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
20563 )
20564 THEN
20565 xla_ae_lines_pkg.BflowUpgEntry
20566 (p_business_method_code => l_bflow_method_code
20567 ,p_business_class_code => l_bflow_class_code
20568 ,p_balance_type => l_balance_type_code);
20569 ELSE
20570 NULL;
20571 XLA_AE_LINES_PKG.business_flow_validation(
20572 p_business_method_code => l_bflow_method_code
20573 ,p_business_class_code => l_bflow_class_code
20574 ,p_inherit_description_flag => l_inherit_desc_flag);
20575 END IF;
20576
20577 --
20578 -- call analytical criteria
20579 --
20580
20581 --
20582 -- call description
20583 --
20584 -- No description or it is inherited.
20585 --
20586 -- call ADRs
20587 -- Bug 4922099
20588 --
20589 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
20590 (NVL(l_actual_upg_option, 'N') = 'O') OR
20591 (NVL(l_enc_upg_option, 'N') = 'O')
20592 )
20593 THEN
20594 NULL;
20595 --
20596 --
20597
20598 xla_ae_lines_pkg.Set_Ccid( -- replaced SetCcid
20599 p_code_combination_id => TO_NUMBER(C_NUM)
20600 , p_value_type_code => NULL
20601 , p_transaction_coa_id => null
20602 , p_accounting_coa_id => null
20603 , p_adr_code => NULL
20604 , p_adr_type_code => NULL
20605 , p_component_type => l_component_type
20606 , p_component_code => l_component_code
20607 , p_component_type_code => l_component_type_code
20608 , p_component_appl_id => l_component_appl_id
20609 , p_amb_context_code => l_amb_context_code
20610 , p_side => NULL
20611 );
20612
20613
20614 -- initialise segments
20615 XLA_AE_LINES_PKG.g_rec_lines.array_segment1(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
20616 XLA_AE_LINES_PKG.g_rec_lines.array_segment2(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
20617 XLA_AE_LINES_PKG.g_rec_lines.array_segment3(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
20618 XLA_AE_LINES_PKG.g_rec_lines.array_segment4(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
20619 XLA_AE_LINES_PKG.g_rec_lines.array_segment5(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
20620 XLA_AE_LINES_PKG.g_rec_lines.array_segment6(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
20621 XLA_AE_LINES_PKG.g_rec_lines.array_segment7(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
20622 XLA_AE_LINES_PKG.g_rec_lines.array_segment8(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
20623 XLA_AE_LINES_PKG.g_rec_lines.array_segment9(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
20624 XLA_AE_LINES_PKG.g_rec_lines.array_segment10(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
20625 XLA_AE_LINES_PKG.g_rec_lines.array_segment11(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
20626 XLA_AE_LINES_PKG.g_rec_lines.array_segment12(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
20627 XLA_AE_LINES_PKG.g_rec_lines.array_segment13(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
20628 XLA_AE_LINES_PKG.g_rec_lines.array_segment14(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
20629 XLA_AE_LINES_PKG.g_rec_lines.array_segment15(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
20630 XLA_AE_LINES_PKG.g_rec_lines.array_segment16(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
20631 XLA_AE_LINES_PKG.g_rec_lines.array_segment17(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
20632 XLA_AE_LINES_PKG.g_rec_lines.array_segment18(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
20633 XLA_AE_LINES_PKG.g_rec_lines.array_segment19(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
20634 XLA_AE_LINES_PKG.g_rec_lines.array_segment20(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
20635 XLA_AE_LINES_PKG.g_rec_lines.array_segment21(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
20636 XLA_AE_LINES_PKG.g_rec_lines.array_segment22(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
20637 XLA_AE_LINES_PKG.g_rec_lines.array_segment23(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
20638 XLA_AE_LINES_PKG.g_rec_lines.array_segment24(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
20639 XLA_AE_LINES_PKG.g_rec_lines.array_segment25(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
20640 XLA_AE_LINES_PKG.g_rec_lines.array_segment26(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
20641 XLA_AE_LINES_PKG.g_rec_lines.array_segment27(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
20642 XLA_AE_LINES_PKG.g_rec_lines.array_segment28(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
20646
20643 XLA_AE_LINES_PKG.g_rec_lines.array_segment29(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
20644 XLA_AE_LINES_PKG.g_rec_lines.array_segment30(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
20645 --
20647 --
20648
20649
20650 l_segment := AcctDerRule_6(
20651 p_application_id => p_application_id
20652 , p_ae_header_id => l_ae_header_id
20653 , p_source_12 => p_source_12
20654 , x_transaction_coa_id => l_adr_transaction_coa_id
20655 , x_accounting_coa_id => l_adr_accounting_coa_id
20656 , x_flexfield_segment_code => l_adr_flexfield_segment_code
20657 , x_flex_value_set_id => l_adr_flex_value_set_id
20658 , x_value_type_code => l_adr_value_type_code
20659 , x_value_combination_id => l_adr_value_combination_id
20660 , x_value_segment_code => l_adr_value_segment_code
20661 , p_side => 'NA'
20662 , p_override_seg_flag => 'Y'
20663 );
20664
20665 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
20666
20667 xla_ae_lines_pkg.set_segment(
20668 p_to_segment_code => 'GL_ACCOUNT'
20669 , p_segment_value => l_segment
20670 , p_from_segment_code => l_adr_value_segment_code
20671 , p_from_combination_id => l_adr_value_combination_id
20672 , p_value_type_code => l_adr_value_type_code
20673 , p_transaction_coa_id => l_adr_transaction_coa_id
20674 , p_accounting_coa_id => l_adr_accounting_coa_id
20675 , p_flexfield_segment_code => l_adr_flexfield_segment_code
20676 , p_flex_value_set_id => l_adr_flex_value_set_id
20677 , p_adr_code => 'AP_CASH_NATURAL_ACCT_SEG'
20678 , p_adr_type_code => 'S'
20679 , p_component_type => l_component_type
20680 , p_component_code => l_component_code
20681 , p_component_type_code => l_component_type_code
20682 , p_component_appl_id => l_component_appl_id
20683 , p_amb_context_code => l_amb_context_code
20684 , p_entity_code => 'AP_PAYMENTS'
20685 , p_event_class_code => 'RECONCILED PAYMENTS'
20686 , p_side => 'NA'
20687 );
20688
20689 END IF;
20690
20691 --
20692 --
20693 END IF;
20694 --
20695 -- Bug 4922099
20696 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
20697 (NVL(l_enc_upg_option, 'N') = 'O')
20698 ) AND
20699 (l_bflow_method_code = 'PRIOR_ENTRY')
20700 )
20701 THEN
20702 IF
20703 --
20704 1 = 2
20705 --
20706 THEN
20707 xla_accounting_err_pkg.build_message
20708 (p_appli_s_name => 'XLA'
20709 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
20710 ,p_token_1 => 'LINE_NUMBER'
20711 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
20712 ,p_token_2 => 'LINE_TYPE_NAME'
20713 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
20714 l_component_type
20715 ,l_component_code
20716 ,l_component_type_code
20717 ,l_component_appl_id
20718 ,l_amb_context_code
20719 ,l_entity_code
20720 ,l_event_class_code
20721 )
20722 ,p_token_3 => 'OWNER'
20723 ,p_value_3 => xla_lookups_pkg.get_meaning(
20724 p_lookup_type => 'XLA_OWNER_TYPE'
20725 ,p_lookup_code => l_component_type_code
20726 )
20727 ,p_token_4 => 'PRODUCT_NAME'
20728 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
20729 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
20730 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
20731 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
20732 ,p_ae_header_id => NULL
20733 );
20734
20735 IF (C_LEVEL_ERROR>= g_log_level) THEN
20736 trace
20737 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
20738 ,p_level => C_LEVEL_ERROR
20739 ,p_module => l_log_module);
20740 END IF;
20741 END IF;
20742 END IF;
20746 -- 4219869 Business Flow
20743 --
20744 --
20745 ------------------------------------------------------------------------------------------------
20747 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
20748 -- Prior Entry. Currently, the following code is always generated.
20749 ------------------------------------------------------------------------------------------------
20750 XLA_AE_LINES_PKG.ValidateCurrentLine;
20751
20752 ------------------------------------------------------------------------------------
20753 -- 4219869 Business Flow
20754 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
20755 ------------------------------------------------------------------------------------
20756 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
20757
20758 ----------------------------------------------------------------------------------
20759 -- 4219869 Business Flow
20760 -- Update journal entry status -- Need to generate this within IF <condition>
20761 ----------------------------------------------------------------------------------
20762 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
20763 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
20764 ,p_balance_type_code => l_balance_type_code
20765 );
20766
20767 -------------------------------------------------------------------------------------------
20768 -- 4262811 - Generate the Accrual Reversal lines
20769 -------------------------------------------------------------------------------------------
20770 BEGIN
20771 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
20772 (g_array_event(p_event_id).array_value_num('header_index'));
20773 IF l_acc_rev_flag IS NULL THEN
20774 l_acc_rev_flag := 'N';
20775 END IF;
20776 EXCEPTION
20777 WHEN OTHERS THEN
20778 l_acc_rev_flag := 'N';
20779 END;
20780 --
20781 IF (l_acc_rev_flag = 'Y') THEN
20782
20783 -- 4645092 ------------------------------------------------------------------------------
20784 -- To allow MPA report to determine if it should generate report process
20785 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
20786 ------------------------------------------------------------------------------------------
20787
20788 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
20789 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
20790 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
20791 -- call ADRs
20792 -- Bug 4922099
20793 --
20794 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
20795 (NVL(l_actual_upg_option, 'N') = 'O') OR
20796 (NVL(l_enc_upg_option, 'N') = 'O')
20797 )
20798 THEN
20799 NULL;
20800 --
20801 --
20802
20803 xla_ae_lines_pkg.Set_Ccid( -- replaced SetCcid
20804 p_code_combination_id => TO_NUMBER(C_NUM)
20805 , p_value_type_code => NULL
20806 , p_transaction_coa_id => null
20807 , p_accounting_coa_id => null
20808 , p_adr_code => NULL
20809 , p_adr_type_code => NULL
20810 , p_component_type => l_component_type
20811 , p_component_code => l_component_code
20812 , p_component_type_code => l_component_type_code
20813 , p_component_appl_id => l_component_appl_id
20814 , p_amb_context_code => l_amb_context_code
20815 , p_side => NULL
20816 );
20817
20818
20819 -- initialise segments
20820 XLA_AE_LINES_PKG.g_rec_lines.array_segment1(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
20821 XLA_AE_LINES_PKG.g_rec_lines.array_segment2(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
20822 XLA_AE_LINES_PKG.g_rec_lines.array_segment3(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
20823 XLA_AE_LINES_PKG.g_rec_lines.array_segment4(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
20824 XLA_AE_LINES_PKG.g_rec_lines.array_segment5(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
20825 XLA_AE_LINES_PKG.g_rec_lines.array_segment6(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
20826 XLA_AE_LINES_PKG.g_rec_lines.array_segment7(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
20827 XLA_AE_LINES_PKG.g_rec_lines.array_segment8(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
20828 XLA_AE_LINES_PKG.g_rec_lines.array_segment9(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
20829 XLA_AE_LINES_PKG.g_rec_lines.array_segment10(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
20830 XLA_AE_LINES_PKG.g_rec_lines.array_segment11(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
20831 XLA_AE_LINES_PKG.g_rec_lines.array_segment12(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
20832 XLA_AE_LINES_PKG.g_rec_lines.array_segment13(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
20833 XLA_AE_LINES_PKG.g_rec_lines.array_segment14(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
20834 XLA_AE_LINES_PKG.g_rec_lines.array_segment15(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
20835 XLA_AE_LINES_PKG.g_rec_lines.array_segment16(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
20836 XLA_AE_LINES_PKG.g_rec_lines.array_segment17(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
20837 XLA_AE_LINES_PKG.g_rec_lines.array_segment18(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
20838 XLA_AE_LINES_PKG.g_rec_lines.array_segment19(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
20839 XLA_AE_LINES_PKG.g_rec_lines.array_segment20(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
20840 XLA_AE_LINES_PKG.g_rec_lines.array_segment21(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
20844 XLA_AE_LINES_PKG.g_rec_lines.array_segment25(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
20841 XLA_AE_LINES_PKG.g_rec_lines.array_segment22(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
20842 XLA_AE_LINES_PKG.g_rec_lines.array_segment23(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
20843 XLA_AE_LINES_PKG.g_rec_lines.array_segment24(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
20845 XLA_AE_LINES_PKG.g_rec_lines.array_segment26(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
20846 XLA_AE_LINES_PKG.g_rec_lines.array_segment27(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
20847 XLA_AE_LINES_PKG.g_rec_lines.array_segment28(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
20848 XLA_AE_LINES_PKG.g_rec_lines.array_segment29(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
20849 XLA_AE_LINES_PKG.g_rec_lines.array_segment30(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
20850 --
20851
20852 --
20853
20854
20855 l_segment := AcctDerRule_6(
20856 p_application_id => p_application_id
20857 , p_ae_header_id => l_ae_header_id
20858 , p_source_12 => p_source_12
20859 , x_transaction_coa_id => l_adr_transaction_coa_id
20860 , x_accounting_coa_id => l_adr_accounting_coa_id
20861 , x_flexfield_segment_code => l_adr_flexfield_segment_code
20862 , x_flex_value_set_id => l_adr_flex_value_set_id
20863 , x_value_type_code => l_adr_value_type_code
20864 , x_value_combination_id => l_adr_value_combination_id
20865 , x_value_segment_code => l_adr_value_segment_code
20866 , p_side => 'NA'
20867 , p_override_seg_flag => 'Y'
20868 );
20869
20870 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
20871
20872 xla_ae_lines_pkg.set_segment(
20873 p_to_segment_code => 'GL_ACCOUNT'
20874 , p_segment_value => l_segment
20875 , p_from_segment_code => l_adr_value_segment_code
20876 , p_from_combination_id => l_adr_value_combination_id
20877 , p_value_type_code => l_adr_value_type_code
20878 , p_transaction_coa_id => l_adr_transaction_coa_id
20879 , p_accounting_coa_id => l_adr_accounting_coa_id
20880 , p_flexfield_segment_code => l_adr_flexfield_segment_code
20881 , p_flex_value_set_id => l_adr_flex_value_set_id
20882 , p_adr_code => 'AP_CASH_NATURAL_ACCT_SEG'
20883 , p_adr_type_code => 'S'
20884 , p_component_type => l_component_type
20885 , p_component_code => l_component_code
20886 , p_component_type_code => l_component_type_code
20887 , p_component_appl_id => l_component_appl_id
20888 , p_amb_context_code => l_amb_context_code
20889 , p_entity_code => 'AP_PAYMENTS'
20890 , p_event_class_code => 'RECONCILED PAYMENTS'
20891 , p_side => 'NA'
20892 );
20893
20894 END IF;
20895
20896 --
20897 --
20898 END IF;
20899
20900 --
20901 -- Update the line information that should be overwritten
20902 --
20903 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
20904 p_header_num => 1);
20905 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
20906
20907 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
20908
20909 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
20910 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
20911 END IF;
20912
20913 --
20914 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
20915 --
20916 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
20917 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
20918 ELSE
20919 ---------------------------------------------------------------------------------------------------
20920 -- 4262811a Switch Sign
20921 ---------------------------------------------------------------------------------------------------
20922 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
20923 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
20924 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
20925 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
20926 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
20927 -- 5132302
20928 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
20929 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
20930
20931 END IF;
20932
20933 -- 4955764
20934 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
20935 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
20936
20937
20938 XLA_AE_LINES_PKG.ValidateCurrentLine;
20939 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
20940
20944
20941 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
20942 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
20943 ,p_balance_type_code => l_balance_type_code);
20945 END IF;
20946
20947 -----------------------------------------------------------------------------------------
20948 -- 4262811 Multiperiod Accounting
20949 -----------------------------------------------------------------------------------------
20950 -- No MPA option is assigned.
20951
20952
20953 END IF;
20954 END IF;
20955 --
20956
20957 --
20958 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
20959 trace
20960 (p_msg => 'END of AcctLineType_70'
20961 ,p_level => C_LEVEL_PROCEDURE
20962 ,p_module => l_log_module);
20963 END IF;
20964 --
20965 EXCEPTION
20966 WHEN xla_exceptions_pkg.application_exception THEN
20967 RAISE;
20968 WHEN OTHERS THEN
20969 xla_exceptions_pkg.raise_message
20970 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_70');
20971 END AcctLineType_70;
20972 --
20973
20974 ---------------------------------------
20975 --
20976 -- PRIVATE FUNCTION
20977 -- AcctLineType_71
20978 --
20979 ---------------------------------------
20980 PROCEDURE AcctLineType_71 (
20981 p_application_id IN NUMBER
20982 ,p_event_id IN NUMBER
20983 ,p_calculate_acctd_flag IN VARCHAR2
20984 ,p_calculate_g_l_flag IN VARCHAR2
20985 ,p_actual_flag IN OUT VARCHAR2
20986 ,p_balance_type_code OUT VARCHAR2
20987 ,p_gain_or_loss_ref OUT VARCHAR2
20988
20989 --Payment Currency Code
20990 , p_source_8 IN VARCHAR2
20991 --Automatic Offsets Value
20992 , p_source_10 IN VARCHAR2
20993 , p_source_10_meaning IN VARCHAR2
20994 --Bank Cash Account
20995 , p_source_12 IN NUMBER
20996 --When to Account for Payment Option
20997 , p_source_57 IN VARCHAR2
20998 --Accounting Reversal Indicator
20999 , p_source_58 IN VARCHAR2
21000 --Distribution Link Type
21001 , p_source_60 IN VARCHAR2
21002 --Override Accounted Amount Indicator
21003 , p_source_85 IN VARCHAR2
21004 , p_source_85_meaning IN VARCHAR2
21005 --Third Party Type
21006 , p_source_88 IN VARCHAR2
21007 --Invoice Distribution Tax Line Identifier
21008 , p_source_91 IN NUMBER
21009 --Invoice Distribution Summary Tax Line Identifier
21010 , p_source_93 IN NUMBER
21011 --Business Flow Accounts Payable Application Identifier
21012 , p_source_96 IN NUMBER
21013 --Payment Distribution Type
21014 , p_source_101 IN VARCHAR2
21015 , p_source_101_meaning IN VARCHAR2
21016 --Payment Distribution Amount
21017 , p_source_102 IN NUMBER
21018 --Business Flow Payment Distribution Type
21019 , p_source_103 IN VARCHAR2
21020 --Business Flow Payment Entity Code
21021 , p_source_104 IN VARCHAR2
21022 --Business Flow Payment Distribution Identifier
21023 , p_source_105 IN NUMBER
21024 --Business Flow Payment Identifier
21025 , p_source_106 IN NUMBER
21026 --Payment Distribution Identifier
21027 , p_source_107 IN NUMBER
21028 --Cleared Exchange Date
21029 , p_source_109 IN DATE
21030 --Cleared Exchange Rate
21031 , p_source_110 IN NUMBER
21032 --Cleared Exchange Rate Type
21033 , p_source_111 IN VARCHAR2
21034 --Payment Distribution (Cleared Rate) Ledger Amount
21035 , p_source_112 IN NUMBER
21036 --Payment Supplier Identifier
21037 , p_source_113 IN NUMBER
21038 --Payment Supplier Site Identifier
21039 , p_source_114 IN NUMBER
21040 --Payment Distribution Reversed Identifier
21041 , p_source_115 IN NUMBER
21042 --Pooled Bank Account Option
21043 , p_source_116 IN VARCHAR2
21044 , p_source_116_meaning IN VARCHAR2
21045 )
21046 IS
21047
21048 l_component_type VARCHAR2(80);
21049 l_component_code VARCHAR2(30);
21050 l_component_type_code VARCHAR2(1);
21051 l_component_appl_id INTEGER;
21052 l_amb_context_code VARCHAR2(30);
21053 l_entity_code VARCHAR2(30);
21054 l_event_class_code VARCHAR2(30);
21055 l_ae_header_id NUMBER;
21056 l_event_type_code VARCHAR2(30);
21057 l_line_definition_code VARCHAR2(30);
21058 l_line_definition_owner_code VARCHAR2(1);
21059 --
21060 -- adr variables
21061 l_segment VARCHAR2(30);
21062 l_ccid NUMBER;
21063 l_adr_transaction_coa_id NUMBER;
21064 l_adr_accounting_coa_id NUMBER;
21065 l_adr_flexfield_segment_code VARCHAR2(30);
21066 l_adr_flex_value_set_id NUMBER;
21067 l_adr_value_type_code VARCHAR2(30);
21068 l_adr_value_combination_id NUMBER;
21069 l_adr_value_segment_code VARCHAR2(30);
21070
21071 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
21072 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
21073 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
21074 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
21075
21079 l_acc_rev_flag VARCHAR2(1);
21076 -- 4262811 Variables ------------------------------------------------------------------------------------------
21077 l_entered_amt_idx NUMBER;
21078 l_accted_amt_idx NUMBER;
21080 l_accrual_line_num NUMBER;
21081 l_tmp_amt NUMBER;
21082 l_acc_rev_natural_side_code VARCHAR2(1);
21083
21084 l_num_entries NUMBER;
21085 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
21086 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
21087 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
21088 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
21089 l_recog_line_1 NUMBER;
21090 l_recog_line_2 NUMBER;
21091
21092 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
21093 l_bflow_applied_to_amt NUMBER; -- 5132302
21094 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
21095
21096 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
21097
21098 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
21099 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
21100
21101 ---------------------------------------------------------------------------------------------------------------
21102
21103
21104 --
21105 -- bulk performance
21106 --
21107 l_balance_type_code VARCHAR2(1);
21108 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
21109 l_log_module VARCHAR2(240);
21110
21111 --
21112 -- Upgrade strategy
21113 --
21114 l_actual_upg_option VARCHAR2(1);
21115 l_enc_upg_option VARCHAR2(1);
21116
21117 --
21118 BEGIN
21119 --
21120 IF g_log_enabled THEN
21121 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_71';
21122 END IF;
21123 --
21124 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
21125
21126 trace
21127 (p_msg => 'BEGIN of AcctLineType_71'
21128 ,p_level => C_LEVEL_PROCEDURE
21129 ,p_module => l_log_module);
21130
21131 END IF;
21132 --
21133 l_component_type := 'AMB_JLT';
21134 l_component_code := 'AP_CASH_CLEARONLY_AOS_BS';
21135 l_component_type_code := 'S';
21136 l_component_appl_id := 200;
21137 l_amb_context_code := 'DEFAULT';
21138 l_entity_code := 'AP_PAYMENTS';
21139 l_event_class_code := 'RECONCILED PAYMENTS';
21140 l_event_type_code := 'RECONCILED PAYMENTS_ALL';
21141 l_line_definition_owner_code := 'S';
21142 l_line_definition_code := 'ACCRUAL_RECONCILED PAYMENTS_A4';
21143 --
21144 l_balance_type_code := 'A';
21145 l_segment := NULL;
21146 l_ccid := NULL;
21147 l_adr_transaction_coa_id := NULL;
21148 l_adr_accounting_coa_id := NULL;
21149 l_adr_flexfield_segment_code := NULL;
21150 l_adr_flex_value_set_id := NULL;
21151 l_adr_value_type_code := NULL;
21152 l_adr_value_combination_id := NULL;
21153 l_adr_value_segment_code := NULL;
21154
21155 l_bflow_method_code := 'SAME_ENTRY'; -- 4219869 Business Flow
21156 l_bflow_class_code := ''; -- 4219869 Business Flow
21157 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
21158 l_budgetary_control_flag := 'N';
21159
21160 l_bflow_applied_to_amt_idx := NULL; -- 5132302
21161 l_bflow_applied_to_amt := NULL; -- 5132302
21162 l_entered_amt_idx := NULL; -- 4262811
21163 l_accted_amt_idx := NULL; -- 4262811
21164 l_acc_rev_flag := NULL; -- 4262811
21165 l_accrual_line_num := NULL; -- 4262811
21166 l_tmp_amt := NULL; -- 4262811
21167 --
21168
21169 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
21170 l_balance_type_code <> 'B' THEN
21171 IF NVL(p_source_57,'
21172 ') <> 'ISSUE_ISSUE' AND
21173 (NVL(p_source_116,'
21174 ') = 'Y' AND
21175 NVL(p_source_10,'
21176 ') = 'BALANCING_SEGMENT') AND
21177 (NVL(p_source_101,'
21178 ') = 'CASH' OR
21179 NVL(p_source_101,'
21180 ') = 'BANK CHARGE' OR
21181 NVL(p_source_101,'
21182 ') = 'BANK ERROR')
21183 THEN
21184
21185 --
21186 XLA_AE_LINES_PKG.SetNewLine;
21187
21188 p_balance_type_code := l_balance_type_code;
21189 -- set the flag so later we will know whether the gain loss line needs to be created
21190
21191 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
21192 p_actual_flag :='A';
21193 END IF;
21194
21195 --
21196 -- bulk performance
21197 --
21198 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
21199 p_header_num => 0); -- 4262811
21200 --
21201 -- set accounting line options
21202 --
21203 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
21204 p_natural_side_code => 'C'
21205 , p_gain_or_loss_flag => 'N'
21206 , p_gl_transfer_mode_code => 'S'
21207 , p_acct_entry_type_code => 'A'
21208 , p_switch_side_flag => 'Y'
21212 l_acc_rev_natural_side_code := 'D'; -- 4262811
21209 , p_merge_duplicate_code => 'A'
21210 );
21211 --
21213 --
21214 --
21215 -- set accounting line type info
21216 --
21217 xla_ae_lines_pkg.SetAcctLineType
21218 (p_component_type => l_component_type
21219 ,p_event_type_code => l_event_type_code
21220 ,p_line_definition_owner_code => l_line_definition_owner_code
21221 ,p_line_definition_code => l_line_definition_code
21222 ,p_accounting_line_code => l_component_code
21223 ,p_accounting_line_type_code => l_component_type_code
21224 ,p_accounting_line_appl_id => l_component_appl_id
21225 ,p_amb_context_code => l_amb_context_code
21226 ,p_entity_code => l_entity_code
21227 ,p_event_class_code => l_event_class_code);
21228 --
21229 -- set accounting class
21230 --
21231 xla_ae_lines_pkg.SetAcctClass(
21232 p_accounting_class_code => 'CASH'
21233 , p_ae_header_id => l_ae_header_id
21234 );
21235
21236 --
21237 -- set rounding class
21238 --
21239 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
21240 'CASH';
21241
21242 --
21243 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
21244 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
21245 --
21246 -- bulk performance
21247 --
21248 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
21249
21250 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
21251 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
21252
21253 -- 4955764
21254 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
21255 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
21256
21257 -- 4458381 Public Sector Enh
21258
21259 --
21260 -- set accounting attributes for the line type
21261 --
21262 l_entered_amt_idx := 10;
21263 l_accted_amt_idx := 15;
21264 l_bflow_applied_to_amt_idx := 2; -- 5132302
21265 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
21266 l_rec_acct_attrs.array_char_value(1) := p_source_58;
21267 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
21268 l_rec_acct_attrs.array_num_value(2) := p_source_102;
21269 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
21270 l_rec_acct_attrs.array_num_value(3) := p_source_96;
21271 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
21272 l_rec_acct_attrs.array_char_value(4) := p_source_103;
21273 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
21274 l_rec_acct_attrs.array_char_value(5) := p_source_104;
21275 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
21276 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_105);
21277 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
21278 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_106);
21279 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
21280 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_107);
21281 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
21282 l_rec_acct_attrs.array_char_value(9) := p_source_60;
21283 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
21284 l_rec_acct_attrs.array_num_value(10) := p_source_102;
21285 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
21286 l_rec_acct_attrs.array_char_value(11) := p_source_8;
21287 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
21288 l_rec_acct_attrs.array_date_value(12) := p_source_109;
21289 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
21290 l_rec_acct_attrs.array_num_value(13) := p_source_110;
21291 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
21292 l_rec_acct_attrs.array_char_value(14) := p_source_111;
21293 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
21294 l_rec_acct_attrs.array_num_value(15) := p_source_112;
21295 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
21296 l_rec_acct_attrs.array_char_value(16) := p_source_85;
21297 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
21298 l_rec_acct_attrs.array_num_value(17) := p_source_113;
21299 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
21300 l_rec_acct_attrs.array_num_value(18) := p_source_114;
21301 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
21302 l_rec_acct_attrs.array_char_value(19) := p_source_88;
21303 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
21304 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_115);
21305 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
21306 l_rec_acct_attrs.array_char_value(21) := p_source_60;
21307 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
21308 l_rec_acct_attrs.array_num_value(22) := p_source_91;
21309 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
21310 l_rec_acct_attrs.array_num_value(23) := p_source_91;
21311 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
21315 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
21312 l_rec_acct_attrs.array_num_value(24) := p_source_93;
21313
21314 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
21316
21317 ---------------------------------------------------------------------------------------------------------------
21318 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
21319 ---------------------------------------------------------------------------------------------------------------
21320 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
21321
21322 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
21323 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
21324
21325 IF xla_accounting_cache_pkg.GetValueChar
21326 (p_source_code => 'LEDGER_CATEGORY_CODE'
21327 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
21328 AND l_bflow_method_code = 'PRIOR_ENTRY'
21329 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
21330 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
21331 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
21332 )
21333 THEN
21334 xla_ae_lines_pkg.BflowUpgEntry
21335 (p_business_method_code => l_bflow_method_code
21336 ,p_business_class_code => l_bflow_class_code
21337 ,p_balance_type => l_balance_type_code);
21338 ELSE
21339 NULL;
21340 XLA_AE_LINES_PKG.business_flow_validation(
21341 p_business_method_code => l_bflow_method_code
21342 ,p_business_class_code => l_bflow_class_code
21343 ,p_inherit_description_flag => l_inherit_desc_flag);
21344 END IF;
21345
21346 --
21347 -- call analytical criteria
21348 --
21349
21350 --
21351 -- call description
21352 --
21353 -- No description or it is inherited.
21354 --
21355 -- call ADRs
21356 -- Bug 4922099
21357 --
21358 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
21359 (NVL(l_actual_upg_option, 'N') = 'O') OR
21360 (NVL(l_enc_upg_option, 'N') = 'O')
21361 )
21362 THEN
21363 NULL;
21364 --
21365 --
21366
21367 l_ccid := AcctDerRule_30(
21368 p_application_id => p_application_id
21369 , p_ae_header_id => l_ae_header_id
21370 , p_source_12 => p_source_12
21371 , x_transaction_coa_id => l_adr_transaction_coa_id
21372 , x_accounting_coa_id => l_adr_accounting_coa_id
21373 , x_value_type_code => l_adr_value_type_code
21374 , p_side => 'NA'
21375 );
21376
21377 xla_ae_lines_pkg.set_ccid(
21378 p_code_combination_id => l_ccid
21379 , p_value_type_code => l_adr_value_type_code
21380 , p_transaction_coa_id => l_adr_transaction_coa_id
21381 , p_accounting_coa_id => l_adr_accounting_coa_id
21382 , p_adr_code => 'AP_CASH'
21383 , p_adr_type_code => 'S'
21384 , p_component_type => l_component_type
21385 , p_component_code => l_component_code
21386 , p_component_type_code => l_component_type_code
21387 , p_component_appl_id => l_component_appl_id
21388 , p_amb_context_code => l_amb_context_code
21389 , p_side => 'NA'
21390 );
21391
21392
21393 xla_ae_lines_pkg.Set_Segment( -- replaced SetSegment
21394 p_to_segment_code => 'GL_BALANCING'
21395 , p_segment_value => C_CHAR
21396 , p_from_segment_code => NULL
21397 , p_from_combination_id => NULL
21398 , p_value_type_code => NULL
21399 , p_transaction_coa_id => null
21400 , p_accounting_coa_id => null
21401 , p_flexfield_segment_code => NULL
21402 , p_flex_value_set_id => NULL
21403 , p_adr_code => NULL
21404 , p_adr_type_code => NULL
21405 , p_component_type => l_component_type
21406 , p_component_code => l_component_code
21407 , p_component_type_code => l_component_type_code
21408 , p_component_appl_id => l_component_appl_id
21409 , p_amb_context_code => l_amb_context_code
21410 , p_entity_code => 'AP_PAYMENTS'
21411 , p_event_class_code => 'RECONCILED PAYMENTS'
21412 , p_side => 'NA'
21413 );
21414 --
21415
21416
21417 --
21418 --
21419 END IF;
21420 --
21421 -- Bug 4922099
21422 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
21423 (NVL(l_enc_upg_option, 'N') = 'O')
21424 ) AND
21425 (l_bflow_method_code = 'PRIOR_ENTRY')
21426 )
21427 THEN
21428 IF
21429 --
21430 1 = 2
21431 --
21432 THEN
21433 xla_accounting_err_pkg.build_message
21434 (p_appli_s_name => 'XLA'
21435 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
21439 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
21436 ,p_token_1 => 'LINE_NUMBER'
21437 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
21438 ,p_token_2 => 'LINE_TYPE_NAME'
21440 l_component_type
21441 ,l_component_code
21442 ,l_component_type_code
21443 ,l_component_appl_id
21444 ,l_amb_context_code
21445 ,l_entity_code
21446 ,l_event_class_code
21447 )
21448 ,p_token_3 => 'OWNER'
21449 ,p_value_3 => xla_lookups_pkg.get_meaning(
21450 p_lookup_type => 'XLA_OWNER_TYPE'
21451 ,p_lookup_code => l_component_type_code
21452 )
21453 ,p_token_4 => 'PRODUCT_NAME'
21454 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
21455 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
21456 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
21457 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
21458 ,p_ae_header_id => NULL
21459 );
21460
21461 IF (C_LEVEL_ERROR>= g_log_level) THEN
21462 trace
21463 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
21464 ,p_level => C_LEVEL_ERROR
21465 ,p_module => l_log_module);
21466 END IF;
21467 END IF;
21468 END IF;
21469 --
21470 --
21471 ------------------------------------------------------------------------------------------------
21472 -- 4219869 Business Flow
21473 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
21474 -- Prior Entry. Currently, the following code is always generated.
21475 ------------------------------------------------------------------------------------------------
21476 XLA_AE_LINES_PKG.ValidateCurrentLine;
21477
21478 ------------------------------------------------------------------------------------
21479 -- 4219869 Business Flow
21480 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
21481 ------------------------------------------------------------------------------------
21482 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
21483
21484 ----------------------------------------------------------------------------------
21485 -- 4219869 Business Flow
21486 -- Update journal entry status -- Need to generate this within IF <condition>
21487 ----------------------------------------------------------------------------------
21488 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
21489 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
21490 ,p_balance_type_code => l_balance_type_code
21491 );
21492
21493 -------------------------------------------------------------------------------------------
21494 -- 4262811 - Generate the Accrual Reversal lines
21495 -------------------------------------------------------------------------------------------
21496 BEGIN
21497 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
21498 (g_array_event(p_event_id).array_value_num('header_index'));
21499 IF l_acc_rev_flag IS NULL THEN
21500 l_acc_rev_flag := 'N';
21501 END IF;
21502 EXCEPTION
21503 WHEN OTHERS THEN
21504 l_acc_rev_flag := 'N';
21505 END;
21506 --
21507 IF (l_acc_rev_flag = 'Y') THEN
21508
21509 -- 4645092 ------------------------------------------------------------------------------
21510 -- To allow MPA report to determine if it should generate report process
21511 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
21512 ------------------------------------------------------------------------------------------
21513
21514 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
21515 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
21516 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
21517 -- call ADRs
21518 -- Bug 4922099
21519 --
21520 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
21521 (NVL(l_actual_upg_option, 'N') = 'O') OR
21522 (NVL(l_enc_upg_option, 'N') = 'O')
21523 )
21524 THEN
21525 NULL;
21526 --
21527 --
21528
21529 l_ccid := AcctDerRule_30(
21533 , x_transaction_coa_id => l_adr_transaction_coa_id
21530 p_application_id => p_application_id
21531 , p_ae_header_id => l_ae_header_id
21532 , p_source_12 => p_source_12
21534 , x_accounting_coa_id => l_adr_accounting_coa_id
21535 , x_value_type_code => l_adr_value_type_code
21536 , p_side => 'NA'
21537 );
21538
21539 xla_ae_lines_pkg.set_ccid(
21540 p_code_combination_id => l_ccid
21541 , p_value_type_code => l_adr_value_type_code
21542 , p_transaction_coa_id => l_adr_transaction_coa_id
21543 , p_accounting_coa_id => l_adr_accounting_coa_id
21544 , p_adr_code => 'AP_CASH'
21545 , p_adr_type_code => 'S'
21546 , p_component_type => l_component_type
21547 , p_component_code => l_component_code
21548 , p_component_type_code => l_component_type_code
21549 , p_component_appl_id => l_component_appl_id
21550 , p_amb_context_code => l_amb_context_code
21551 , p_side => 'NA'
21552 );
21553
21554
21555 xla_ae_lines_pkg.Set_Segment( -- replaced SetSegment
21556 p_to_segment_code => 'GL_BALANCING'
21557 , p_segment_value => C_CHAR
21558 , p_from_segment_code => NULL
21559 , p_from_combination_id => NULL
21560 , p_value_type_code => NULL
21561 , p_transaction_coa_id => null
21562 , p_accounting_coa_id => null
21563 , p_flexfield_segment_code => NULL
21564 , p_flex_value_set_id => NULL
21565 , p_adr_code => NULL
21566 , p_adr_type_code => NULL
21567 , p_component_type => l_component_type
21568 , p_component_code => l_component_code
21569 , p_component_type_code => l_component_type_code
21570 , p_component_appl_id => l_component_appl_id
21571 , p_amb_context_code => l_amb_context_code
21572 , p_entity_code => 'AP_PAYMENTS'
21573 , p_event_class_code => 'RECONCILED PAYMENTS'
21574 , p_side => 'NA'
21575 );
21576 --
21577
21578
21579 --
21580 --
21581 END IF;
21582
21583 --
21584 -- Update the line information that should be overwritten
21585 --
21586 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
21587 p_header_num => 1);
21588 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
21589
21590 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
21591
21592 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
21593 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
21594 END IF;
21595
21596 --
21597 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
21598 --
21599 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
21600 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
21601 ELSE
21602 ---------------------------------------------------------------------------------------------------
21603 -- 4262811a Switch Sign
21604 ---------------------------------------------------------------------------------------------------
21605 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
21606 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
21607 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
21608 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
21609 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
21610 -- 5132302
21611 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
21612 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
21613
21614 END IF;
21615
21616 -- 4955764
21617 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
21618 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
21619
21620
21621 XLA_AE_LINES_PKG.ValidateCurrentLine;
21622 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
21623
21624 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
21625 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
21626 ,p_balance_type_code => l_balance_type_code);
21627
21628 END IF;
21629
21630 -----------------------------------------------------------------------------------------
21631 -- 4262811 Multiperiod Accounting
21632 -----------------------------------------------------------------------------------------
21633 -- No MPA option is assigned.
21634
21635
21636 END IF;
21637 END IF;
21638 --
21639
21640 --
21641 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
21642 trace
21643 (p_msg => 'END of AcctLineType_71'
21647 --
21644 ,p_level => C_LEVEL_PROCEDURE
21645 ,p_module => l_log_module);
21646 END IF;
21648 EXCEPTION
21649 WHEN xla_exceptions_pkg.application_exception THEN
21650 RAISE;
21651 WHEN OTHERS THEN
21652 xla_exceptions_pkg.raise_message
21653 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_71');
21654 END AcctLineType_71;
21655 --
21656
21657 ---------------------------------------
21658 --
21659 -- PRIVATE FUNCTION
21660 -- AcctLineType_72
21661 --
21662 ---------------------------------------
21663 PROCEDURE AcctLineType_72 (
21664 p_application_id IN NUMBER
21665 ,p_event_id IN NUMBER
21666 ,p_calculate_acctd_flag IN VARCHAR2
21667 ,p_calculate_g_l_flag IN VARCHAR2
21668 ,p_actual_flag IN OUT VARCHAR2
21669 ,p_balance_type_code OUT VARCHAR2
21670 ,p_gain_or_loss_ref OUT VARCHAR2
21671
21672 --Payment Currency Code
21673 , p_source_8 IN VARCHAR2
21674 --Bank Cash Account
21675 , p_source_12 IN NUMBER
21676 --Automatic Offsets Flag
21677 , p_source_43 IN VARCHAR2
21678 , p_source_43_meaning IN VARCHAR2
21679 --When to Account for Payment Option
21680 , p_source_57 IN VARCHAR2
21681 --Accounting Reversal Indicator
21682 , p_source_58 IN VARCHAR2
21683 --Distribution Link Type
21684 , p_source_60 IN VARCHAR2
21685 --Override Accounted Amount Indicator
21686 , p_source_85 IN VARCHAR2
21687 , p_source_85_meaning IN VARCHAR2
21688 --Third Party Type
21689 , p_source_88 IN VARCHAR2
21690 --Invoice Distribution Tax Line Identifier
21691 , p_source_91 IN NUMBER
21692 --Invoice Distribution Summary Tax Line Identifier
21693 , p_source_93 IN NUMBER
21694 --Business Flow Accounts Payable Application Identifier
21695 , p_source_96 IN NUMBER
21696 --Payment Distribution Type
21697 , p_source_101 IN VARCHAR2
21698 , p_source_101_meaning IN VARCHAR2
21699 --Payment Distribution Amount
21700 , p_source_102 IN NUMBER
21701 --Business Flow Payment Distribution Type
21702 , p_source_103 IN VARCHAR2
21703 --Business Flow Payment Entity Code
21704 , p_source_104 IN VARCHAR2
21705 --Business Flow Payment Distribution Identifier
21706 , p_source_105 IN NUMBER
21707 --Business Flow Payment Identifier
21708 , p_source_106 IN NUMBER
21709 --Payment Distribution Identifier
21710 , p_source_107 IN NUMBER
21711 --Cleared Exchange Date
21712 , p_source_109 IN DATE
21713 --Cleared Exchange Rate
21714 , p_source_110 IN NUMBER
21715 --Cleared Exchange Rate Type
21716 , p_source_111 IN VARCHAR2
21717 --Payment Distribution (Cleared Rate) Ledger Amount
21718 , p_source_112 IN NUMBER
21719 --Payment Supplier Identifier
21720 , p_source_113 IN NUMBER
21721 --Payment Supplier Site Identifier
21722 , p_source_114 IN NUMBER
21723 --Payment Distribution Reversed Identifier
21724 , p_source_115 IN NUMBER
21725 --Pooled Bank Account Option
21726 , p_source_116 IN VARCHAR2
21727 , p_source_116_meaning IN VARCHAR2
21728 )
21729 IS
21730
21731 l_component_type VARCHAR2(80);
21732 l_component_code VARCHAR2(30);
21733 l_component_type_code VARCHAR2(1);
21734 l_component_appl_id INTEGER;
21735 l_amb_context_code VARCHAR2(30);
21736 l_entity_code VARCHAR2(30);
21737 l_event_class_code VARCHAR2(30);
21738 l_ae_header_id NUMBER;
21739 l_event_type_code VARCHAR2(30);
21740 l_line_definition_code VARCHAR2(30);
21741 l_line_definition_owner_code VARCHAR2(1);
21742 --
21743 -- adr variables
21744 l_segment VARCHAR2(30);
21745 l_ccid NUMBER;
21746 l_adr_transaction_coa_id NUMBER;
21747 l_adr_accounting_coa_id NUMBER;
21748 l_adr_flexfield_segment_code VARCHAR2(30);
21749 l_adr_flex_value_set_id NUMBER;
21750 l_adr_value_type_code VARCHAR2(30);
21751 l_adr_value_combination_id NUMBER;
21752 l_adr_value_segment_code VARCHAR2(30);
21753
21754 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
21755 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
21756 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
21757 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
21758
21759 -- 4262811 Variables ------------------------------------------------------------------------------------------
21760 l_entered_amt_idx NUMBER;
21761 l_accted_amt_idx NUMBER;
21762 l_acc_rev_flag VARCHAR2(1);
21763 l_accrual_line_num NUMBER;
21764 l_tmp_amt NUMBER;
21765 l_acc_rev_natural_side_code VARCHAR2(1);
21766
21767 l_num_entries NUMBER;
21768 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
21769 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
21770 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
21771 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
21775 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
21772 l_recog_line_1 NUMBER;
21773 l_recog_line_2 NUMBER;
21774
21776 l_bflow_applied_to_amt NUMBER; -- 5132302
21777 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
21778
21779 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
21780
21781 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
21782 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
21783
21784 ---------------------------------------------------------------------------------------------------------------
21785
21786
21787 --
21788 -- bulk performance
21789 --
21790 l_balance_type_code VARCHAR2(1);
21791 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
21792 l_log_module VARCHAR2(240);
21793
21794 --
21795 -- Upgrade strategy
21796 --
21797 l_actual_upg_option VARCHAR2(1);
21798 l_enc_upg_option VARCHAR2(1);
21799
21800 --
21801 BEGIN
21802 --
21803 IF g_log_enabled THEN
21804 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_72';
21805 END IF;
21806 --
21807 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
21808
21809 trace
21810 (p_msg => 'BEGIN of AcctLineType_72'
21811 ,p_level => C_LEVEL_PROCEDURE
21812 ,p_module => l_log_module);
21813
21814 END IF;
21815 --
21816 l_component_type := 'AMB_JLT';
21817 l_component_code := 'AP_CASH_CLEARONLY_NP';
21818 l_component_type_code := 'S';
21819 l_component_appl_id := 200;
21820 l_amb_context_code := 'DEFAULT';
21821 l_entity_code := 'AP_PAYMENTS';
21822 l_event_class_code := 'RECONCILED PAYMENTS';
21823 l_event_type_code := 'RECONCILED PAYMENTS_ALL';
21824 l_line_definition_owner_code := 'S';
21825 l_line_definition_code := 'ACCRUAL_RECONCILED PAYMENTS_A4';
21826 --
21827 l_balance_type_code := 'A';
21828 l_segment := NULL;
21829 l_ccid := NULL;
21830 l_adr_transaction_coa_id := NULL;
21831 l_adr_accounting_coa_id := NULL;
21832 l_adr_flexfield_segment_code := NULL;
21833 l_adr_flex_value_set_id := NULL;
21834 l_adr_value_type_code := NULL;
21835 l_adr_value_combination_id := NULL;
21836 l_adr_value_segment_code := NULL;
21837
21838 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
21839 l_bflow_class_code := ''; -- 4219869 Business Flow
21840 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
21841 l_budgetary_control_flag := 'N';
21842
21843 l_bflow_applied_to_amt_idx := NULL; -- 5132302
21844 l_bflow_applied_to_amt := NULL; -- 5132302
21845 l_entered_amt_idx := NULL; -- 4262811
21846 l_accted_amt_idx := NULL; -- 4262811
21847 l_acc_rev_flag := NULL; -- 4262811
21848 l_accrual_line_num := NULL; -- 4262811
21849 l_tmp_amt := NULL; -- 4262811
21850 --
21851
21852 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
21853 l_balance_type_code <> 'B' THEN
21854 IF NVL(p_source_57,'
21855 ') <> 'ISSUE_ISSUE' AND
21856 (NVL(p_source_43,'
21857 ') <> 'Y' OR
21858 NVL(p_source_43,'
21859 ') = 'Y' AND
21860 NVL(p_source_116,'
21861 ') <> 'Y') AND
21862 (NVL(p_source_101,'
21863 ') = 'CASH' OR
21864 NVL(p_source_101,'
21865 ') = 'BANK CHARGE' OR
21866 NVL(p_source_101,'
21867 ') = 'BANK ERROR')
21868 THEN
21869
21870 --
21871 XLA_AE_LINES_PKG.SetNewLine;
21872
21873 p_balance_type_code := l_balance_type_code;
21874 -- set the flag so later we will know whether the gain loss line needs to be created
21875
21876 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
21877 p_actual_flag :='A';
21878 END IF;
21879
21880 --
21881 -- bulk performance
21882 --
21883 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
21884 p_header_num => 0); -- 4262811
21885 --
21886 -- set accounting line options
21887 --
21888 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
21889 p_natural_side_code => 'C'
21890 , p_gain_or_loss_flag => 'N'
21891 , p_gl_transfer_mode_code => 'S'
21892 , p_acct_entry_type_code => 'A'
21893 , p_switch_side_flag => 'Y'
21894 , p_merge_duplicate_code => 'A'
21895 );
21896 --
21897 l_acc_rev_natural_side_code := 'D'; -- 4262811
21898 --
21899 --
21900 -- set accounting line type info
21901 --
21902 xla_ae_lines_pkg.SetAcctLineType
21903 (p_component_type => l_component_type
21904 ,p_event_type_code => l_event_type_code
21905 ,p_line_definition_owner_code => l_line_definition_owner_code
21906 ,p_line_definition_code => l_line_definition_code
21907 ,p_accounting_line_code => l_component_code
21908 ,p_accounting_line_type_code => l_component_type_code
21909 ,p_accounting_line_appl_id => l_component_appl_id
21913 --
21910 ,p_amb_context_code => l_amb_context_code
21911 ,p_entity_code => l_entity_code
21912 ,p_event_class_code => l_event_class_code);
21914 -- set accounting class
21915 --
21916 xla_ae_lines_pkg.SetAcctClass(
21917 p_accounting_class_code => 'CASH'
21918 , p_ae_header_id => l_ae_header_id
21919 );
21920
21921 --
21922 -- set rounding class
21923 --
21924 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
21925 'CASH';
21926
21927 --
21928 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
21929 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
21930 --
21931 -- bulk performance
21932 --
21933 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
21934
21935 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
21936 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
21937
21938 -- 4955764
21939 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
21940 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
21941
21942 -- 4458381 Public Sector Enh
21943
21944 --
21945 -- set accounting attributes for the line type
21946 --
21947 l_entered_amt_idx := 10;
21948 l_accted_amt_idx := 15;
21949 l_bflow_applied_to_amt_idx := 2; -- 5132302
21950 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
21951 l_rec_acct_attrs.array_char_value(1) := p_source_58;
21952 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
21953 l_rec_acct_attrs.array_num_value(2) := p_source_102;
21954 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
21955 l_rec_acct_attrs.array_num_value(3) := p_source_96;
21956 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
21957 l_rec_acct_attrs.array_char_value(4) := p_source_103;
21958 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
21959 l_rec_acct_attrs.array_char_value(5) := p_source_104;
21960 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
21961 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_105);
21962 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
21963 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_106);
21964 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
21965 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_107);
21966 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
21967 l_rec_acct_attrs.array_char_value(9) := p_source_60;
21968 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
21969 l_rec_acct_attrs.array_num_value(10) := p_source_102;
21970 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
21971 l_rec_acct_attrs.array_char_value(11) := p_source_8;
21972 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
21973 l_rec_acct_attrs.array_date_value(12) := p_source_109;
21974 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
21975 l_rec_acct_attrs.array_num_value(13) := p_source_110;
21976 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
21977 l_rec_acct_attrs.array_char_value(14) := p_source_111;
21978 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
21979 l_rec_acct_attrs.array_num_value(15) := p_source_112;
21980 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
21981 l_rec_acct_attrs.array_char_value(16) := p_source_85;
21982 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
21983 l_rec_acct_attrs.array_num_value(17) := p_source_113;
21984 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
21985 l_rec_acct_attrs.array_num_value(18) := p_source_114;
21986 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
21987 l_rec_acct_attrs.array_char_value(19) := p_source_88;
21988 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
21989 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_115);
21990 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
21991 l_rec_acct_attrs.array_char_value(21) := p_source_60;
21992 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
21993 l_rec_acct_attrs.array_num_value(22) := p_source_91;
21994 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
21995 l_rec_acct_attrs.array_num_value(23) := p_source_91;
21996 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
21997 l_rec_acct_attrs.array_num_value(24) := p_source_93;
21998
21999 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
22000 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
22001
22002 ---------------------------------------------------------------------------------------------------------------
22003 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
22004 ---------------------------------------------------------------------------------------------------------------
22005 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
22006
22010 IF xla_accounting_cache_pkg.GetValueChar
22007 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
22008 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
22009
22011 (p_source_code => 'LEDGER_CATEGORY_CODE'
22012 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
22013 AND l_bflow_method_code = 'PRIOR_ENTRY'
22014 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
22015 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
22016 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
22017 )
22018 THEN
22019 xla_ae_lines_pkg.BflowUpgEntry
22020 (p_business_method_code => l_bflow_method_code
22021 ,p_business_class_code => l_bflow_class_code
22022 ,p_balance_type => l_balance_type_code);
22023 ELSE
22024 NULL;
22025 -- No business flow processing for business flow method of NONE.
22026 END IF;
22027
22028 --
22029 -- call analytical criteria
22030 --
22031
22032 --
22033 -- call description
22034 --
22035 -- No description or it is inherited.
22036 --
22037 -- call ADRs
22038 -- Bug 4922099
22039 --
22040 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
22041 (NVL(l_actual_upg_option, 'N') = 'O') OR
22042 (NVL(l_enc_upg_option, 'N') = 'O')
22043 )
22044 THEN
22045 NULL;
22046 --
22047 --
22048
22049 l_ccid := AcctDerRule_30(
22050 p_application_id => p_application_id
22051 , p_ae_header_id => l_ae_header_id
22052 , p_source_12 => p_source_12
22053 , x_transaction_coa_id => l_adr_transaction_coa_id
22054 , x_accounting_coa_id => l_adr_accounting_coa_id
22055 , x_value_type_code => l_adr_value_type_code
22056 , p_side => 'NA'
22057 );
22058
22059 xla_ae_lines_pkg.set_ccid(
22060 p_code_combination_id => l_ccid
22061 , p_value_type_code => l_adr_value_type_code
22062 , p_transaction_coa_id => l_adr_transaction_coa_id
22063 , p_accounting_coa_id => l_adr_accounting_coa_id
22064 , p_adr_code => 'AP_CASH'
22065 , p_adr_type_code => 'S'
22066 , p_component_type => l_component_type
22067 , p_component_code => l_component_code
22068 , p_component_type_code => l_component_type_code
22069 , p_component_appl_id => l_component_appl_id
22070 , p_amb_context_code => l_amb_context_code
22071 , p_side => 'NA'
22072 );
22073
22074
22075 --
22076 --
22077 END IF;
22078 --
22079 -- Bug 4922099
22080 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
22081 (NVL(l_enc_upg_option, 'N') = 'O')
22082 ) AND
22083 (l_bflow_method_code = 'PRIOR_ENTRY')
22084 )
22085 THEN
22086 IF
22087 --
22088 1 = 2
22089 --
22090 THEN
22091 xla_accounting_err_pkg.build_message
22092 (p_appli_s_name => 'XLA'
22093 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
22094 ,p_token_1 => 'LINE_NUMBER'
22095 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
22096 ,p_token_2 => 'LINE_TYPE_NAME'
22097 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
22098 l_component_type
22099 ,l_component_code
22100 ,l_component_type_code
22101 ,l_component_appl_id
22102 ,l_amb_context_code
22103 ,l_entity_code
22104 ,l_event_class_code
22105 )
22106 ,p_token_3 => 'OWNER'
22107 ,p_value_3 => xla_lookups_pkg.get_meaning(
22108 p_lookup_type => 'XLA_OWNER_TYPE'
22109 ,p_lookup_code => l_component_type_code
22110 )
22111 ,p_token_4 => 'PRODUCT_NAME'
22112 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
22113 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
22114 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
22118
22115 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
22116 ,p_ae_header_id => NULL
22117 );
22119 IF (C_LEVEL_ERROR>= g_log_level) THEN
22120 trace
22121 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
22122 ,p_level => C_LEVEL_ERROR
22123 ,p_module => l_log_module);
22124 END IF;
22125 END IF;
22126 END IF;
22127 --
22128 --
22129 ------------------------------------------------------------------------------------------------
22130 -- 4219869 Business Flow
22131 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
22132 -- Prior Entry. Currently, the following code is always generated.
22133 ------------------------------------------------------------------------------------------------
22134 XLA_AE_LINES_PKG.ValidateCurrentLine;
22135
22136 ------------------------------------------------------------------------------------
22137 -- 4219869 Business Flow
22138 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
22139 ------------------------------------------------------------------------------------
22140 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
22141
22142 ----------------------------------------------------------------------------------
22143 -- 4219869 Business Flow
22144 -- Update journal entry status -- Need to generate this within IF <condition>
22145 ----------------------------------------------------------------------------------
22146 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
22147 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
22148 ,p_balance_type_code => l_balance_type_code
22149 );
22150
22151 -------------------------------------------------------------------------------------------
22152 -- 4262811 - Generate the Accrual Reversal lines
22153 -------------------------------------------------------------------------------------------
22154 BEGIN
22155 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
22156 (g_array_event(p_event_id).array_value_num('header_index'));
22157 IF l_acc_rev_flag IS NULL THEN
22158 l_acc_rev_flag := 'N';
22159 END IF;
22160 EXCEPTION
22161 WHEN OTHERS THEN
22162 l_acc_rev_flag := 'N';
22163 END;
22164 --
22165 IF (l_acc_rev_flag = 'Y') THEN
22166
22167 -- 4645092 ------------------------------------------------------------------------------
22168 -- To allow MPA report to determine if it should generate report process
22169 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
22170 ------------------------------------------------------------------------------------------
22171
22172 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
22173 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
22174 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
22175 -- call ADRs
22176 -- Bug 4922099
22177 --
22178 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
22179 (NVL(l_actual_upg_option, 'N') = 'O') OR
22180 (NVL(l_enc_upg_option, 'N') = 'O')
22181 )
22182 THEN
22183 NULL;
22184 --
22185 --
22186
22187 l_ccid := AcctDerRule_30(
22188 p_application_id => p_application_id
22189 , p_ae_header_id => l_ae_header_id
22190 , p_source_12 => p_source_12
22191 , x_transaction_coa_id => l_adr_transaction_coa_id
22192 , x_accounting_coa_id => l_adr_accounting_coa_id
22193 , x_value_type_code => l_adr_value_type_code
22194 , p_side => 'NA'
22195 );
22196
22197 xla_ae_lines_pkg.set_ccid(
22198 p_code_combination_id => l_ccid
22199 , p_value_type_code => l_adr_value_type_code
22200 , p_transaction_coa_id => l_adr_transaction_coa_id
22201 , p_accounting_coa_id => l_adr_accounting_coa_id
22202 , p_adr_code => 'AP_CASH'
22203 , p_adr_type_code => 'S'
22204 , p_component_type => l_component_type
22205 , p_component_code => l_component_code
22206 , p_component_type_code => l_component_type_code
22207 , p_component_appl_id => l_component_appl_id
22208 , p_amb_context_code => l_amb_context_code
22209 , p_side => 'NA'
22210 );
22211
22212
22213 --
22214 --
22215 END IF;
22216
22217 --
22218 -- Update the line information that should be overwritten
22219 --
22220 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
22221 p_header_num => 1);
22222 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
22223
22224 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
22225
22226 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
22230 --
22227 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
22228 END IF;
22229
22231 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
22232 --
22233 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
22234 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
22235 ELSE
22236 ---------------------------------------------------------------------------------------------------
22237 -- 4262811a Switch Sign
22238 ---------------------------------------------------------------------------------------------------
22239 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
22240 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
22241 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
22242 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
22243 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
22244 -- 5132302
22245 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
22246 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
22247
22248 END IF;
22249
22250 -- 4955764
22251 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
22252 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
22253
22254
22255 XLA_AE_LINES_PKG.ValidateCurrentLine;
22256 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
22257
22258 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
22259 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
22260 ,p_balance_type_code => l_balance_type_code);
22261
22262 END IF;
22263
22264 -----------------------------------------------------------------------------------------
22265 -- 4262811 Multiperiod Accounting
22266 -----------------------------------------------------------------------------------------
22267 -- No MPA option is assigned.
22268
22269
22270 END IF;
22271 END IF;
22272 --
22273
22274 --
22275 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
22276 trace
22277 (p_msg => 'END of AcctLineType_72'
22278 ,p_level => C_LEVEL_PROCEDURE
22279 ,p_module => l_log_module);
22280 END IF;
22281 --
22282 EXCEPTION
22283 WHEN xla_exceptions_pkg.application_exception THEN
22284 RAISE;
22285 WHEN OTHERS THEN
22286 xla_exceptions_pkg.raise_message
22287 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_72');
22288 END AcctLineType_72;
22289 --
22290
22291 ---------------------------------------
22292 --
22293 -- PRIVATE FUNCTION
22294 -- AcctLineType_73
22295 --
22296 ---------------------------------------
22297 PROCEDURE AcctLineType_73 (
22298 p_application_id IN NUMBER
22299 ,p_event_id IN NUMBER
22300 ,p_calculate_acctd_flag IN VARCHAR2
22301 ,p_calculate_g_l_flag IN VARCHAR2
22302 ,p_actual_flag IN OUT VARCHAR2
22303 ,p_balance_type_code OUT VARCHAR2
22304 ,p_gain_or_loss_ref OUT VARCHAR2
22305
22306 --Payment Currency Code
22307 , p_source_8 IN VARCHAR2
22308 --When to Account for Payment Option
22309 , p_source_57 IN VARCHAR2
22310 --Accounting Reversal Indicator
22311 , p_source_58 IN VARCHAR2
22312 --Distribution Link Type
22313 , p_source_60 IN VARCHAR2
22314 --Override Accounted Amount Indicator
22315 , p_source_85 IN VARCHAR2
22316 , p_source_85_meaning IN VARCHAR2
22317 --Third Party Type
22318 , p_source_88 IN VARCHAR2
22319 --Invoice Distribution Tax Line Identifier
22320 , p_source_91 IN NUMBER
22321 --Invoice Distribution Summary Tax Line Identifier
22322 , p_source_93 IN NUMBER
22323 --Business Flow Accounts Payable Application Identifier
22324 , p_source_96 IN NUMBER
22325 --Payment Distribution Type
22326 , p_source_101 IN VARCHAR2
22327 , p_source_101_meaning IN VARCHAR2
22328 --Payment Distribution Amount
22329 , p_source_102 IN NUMBER
22330 --Business Flow Payment Distribution Type
22331 , p_source_103 IN VARCHAR2
22332 --Business Flow Payment Entity Code
22333 , p_source_104 IN VARCHAR2
22334 --Business Flow Payment Distribution Identifier
22335 , p_source_105 IN NUMBER
22336 --Business Flow Payment Identifier
22337 , p_source_106 IN NUMBER
22338 --Payment Distribution Identifier
22339 , p_source_107 IN NUMBER
22340 --Payment Distribution Reversed Identifier
22341 , p_source_115 IN NUMBER
22342 --Payment Maturity Date
22343 , p_source_117 IN DATE
22344 --Payment Distribution (Payment Rate) Ledger Amount
22345 , p_source_118 IN NUMBER
22346 )
22347 IS
22348
22349 l_component_type VARCHAR2(80);
22350 l_component_code VARCHAR2(30);
22351 l_component_type_code VARCHAR2(1);
22352 l_component_appl_id INTEGER;
22353 l_amb_context_code VARCHAR2(30);
22357 l_event_type_code VARCHAR2(30);
22354 l_entity_code VARCHAR2(30);
22355 l_event_class_code VARCHAR2(30);
22356 l_ae_header_id NUMBER;
22358 l_line_definition_code VARCHAR2(30);
22359 l_line_definition_owner_code VARCHAR2(1);
22360 --
22361 -- adr variables
22362 l_segment VARCHAR2(30);
22363 l_ccid NUMBER;
22364 l_adr_transaction_coa_id NUMBER;
22365 l_adr_accounting_coa_id NUMBER;
22366 l_adr_flexfield_segment_code VARCHAR2(30);
22367 l_adr_flex_value_set_id NUMBER;
22368 l_adr_value_type_code VARCHAR2(30);
22369 l_adr_value_combination_id NUMBER;
22370 l_adr_value_segment_code VARCHAR2(30);
22371
22372 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
22373 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
22374 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
22375 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
22376
22377 -- 4262811 Variables ------------------------------------------------------------------------------------------
22378 l_entered_amt_idx NUMBER;
22379 l_accted_amt_idx NUMBER;
22380 l_acc_rev_flag VARCHAR2(1);
22381 l_accrual_line_num NUMBER;
22382 l_tmp_amt NUMBER;
22383 l_acc_rev_natural_side_code VARCHAR2(1);
22384
22385 l_num_entries NUMBER;
22386 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
22387 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
22388 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
22389 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
22390 l_recog_line_1 NUMBER;
22391 l_recog_line_2 NUMBER;
22392
22393 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
22394 l_bflow_applied_to_amt NUMBER; -- 5132302
22395 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
22396
22397 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
22398
22399 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
22400 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
22401
22402 ---------------------------------------------------------------------------------------------------------------
22403
22404
22405 --
22406 -- bulk performance
22407 --
22408 l_balance_type_code VARCHAR2(1);
22409 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
22410 l_log_module VARCHAR2(240);
22411
22412 --
22413 -- Upgrade strategy
22414 --
22415 l_actual_upg_option VARCHAR2(1);
22416 l_enc_upg_option VARCHAR2(1);
22417
22418 --
22419 BEGIN
22420 --
22421 IF g_log_enabled THEN
22422 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_73';
22423 END IF;
22424 --
22425 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
22426
22427 trace
22428 (p_msg => 'BEGIN of AcctLineType_73'
22429 ,p_level => C_LEVEL_PROCEDURE
22430 ,p_module => l_log_module);
22431
22432 END IF;
22433 --
22434 l_component_type := 'AMB_JLT';
22435 l_component_code := 'AP_CASH_CLEAR_CLEAR';
22436 l_component_type_code := 'S';
22437 l_component_appl_id := 200;
22438 l_amb_context_code := 'DEFAULT';
22439 l_entity_code := 'AP_PAYMENTS';
22440 l_event_class_code := 'RECONCILED PAYMENTS';
22441 l_event_type_code := 'RECONCILED PAYMENTS_ALL';
22442 l_line_definition_owner_code := 'S';
22443 l_line_definition_code := 'ACCRUAL_RECONCILED PAYMENTS_A4';
22444 --
22445 l_balance_type_code := 'A';
22446 l_segment := NULL;
22447 l_ccid := NULL;
22448 l_adr_transaction_coa_id := NULL;
22449 l_adr_accounting_coa_id := NULL;
22450 l_adr_flexfield_segment_code := NULL;
22451 l_adr_flex_value_set_id := NULL;
22452 l_adr_value_type_code := NULL;
22453 l_adr_value_combination_id := NULL;
22454 l_adr_value_segment_code := NULL;
22455
22456 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
22457 l_bflow_class_code := 'AP_CASH_CLEARING'; -- 4219869 Business Flow
22458 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
22459 l_budgetary_control_flag := 'N';
22460
22461 l_bflow_applied_to_amt_idx := NULL; -- 5132302
22462 l_bflow_applied_to_amt := NULL; -- 5132302
22463 l_entered_amt_idx := NULL; -- 4262811
22464 l_accted_amt_idx := NULL; -- 4262811
22465 l_acc_rev_flag := NULL; -- 4262811
22466 l_accrual_line_num := NULL; -- 4262811
22467 l_tmp_amt := NULL; -- 4262811
22468 --
22469
22470 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
22471 l_balance_type_code <> 'B' THEN
22472 IF (NVL(p_source_57,'
22473 ') = 'ALWAYS_ALWAYS' OR
22474 NVL(p_source_57,'
22475 ') = 'ALWAYS_ISSUE') AND
22476 NVL(p_source_101,'
22477 ') = 'CASH' AND
22478 p_source_117 IS NULL
22479 THEN
22480
22481 --
22482 XLA_AE_LINES_PKG.SetNewLine;
22483
22484 p_balance_type_code := l_balance_type_code;
22488 p_actual_flag :='A';
22485 -- set the flag so later we will know whether the gain loss line needs to be created
22486
22487 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
22489 END IF;
22490
22491 --
22492 -- bulk performance
22493 --
22494 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
22495 p_header_num => 0); -- 4262811
22496 --
22497 -- set accounting line options
22498 --
22499 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
22500 p_natural_side_code => 'D'
22501 , p_gain_or_loss_flag => 'N'
22502 , p_gl_transfer_mode_code => 'S'
22503 , p_acct_entry_type_code => 'A'
22504 , p_switch_side_flag => 'Y'
22505 , p_merge_duplicate_code => 'A'
22506 );
22507 --
22508 l_acc_rev_natural_side_code := 'C'; -- 4262811
22509 --
22510 --
22511 -- set accounting line type info
22512 --
22513 xla_ae_lines_pkg.SetAcctLineType
22514 (p_component_type => l_component_type
22515 ,p_event_type_code => l_event_type_code
22516 ,p_line_definition_owner_code => l_line_definition_owner_code
22517 ,p_line_definition_code => l_line_definition_code
22518 ,p_accounting_line_code => l_component_code
22519 ,p_accounting_line_type_code => l_component_type_code
22520 ,p_accounting_line_appl_id => l_component_appl_id
22521 ,p_amb_context_code => l_amb_context_code
22522 ,p_entity_code => l_entity_code
22523 ,p_event_class_code => l_event_class_code);
22524 --
22525 -- set accounting class
22526 --
22527 xla_ae_lines_pkg.SetAcctClass(
22528 p_accounting_class_code => 'CASH_CLEARING'
22529 , p_ae_header_id => l_ae_header_id
22530 );
22531
22532 --
22533 -- set rounding class
22534 --
22535 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
22536 'CASH_CLEARING';
22537
22538 --
22539 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
22540 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
22541 --
22542 -- bulk performance
22543 --
22544 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
22545
22546 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
22547 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
22548
22549 -- 4955764
22550 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
22551 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
22552
22553 -- 4458381 Public Sector Enh
22554
22555 --
22556 -- set accounting attributes for the line type
22557 --
22558 l_entered_amt_idx := 10;
22559 l_accted_amt_idx := 12;
22560 l_bflow_applied_to_amt_idx := 2; -- 5132302
22561 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
22562 l_rec_acct_attrs.array_char_value(1) := p_source_58;
22563 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
22564 l_rec_acct_attrs.array_num_value(2) := p_source_102;
22565 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
22566 l_rec_acct_attrs.array_num_value(3) := p_source_96;
22567 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
22568 l_rec_acct_attrs.array_char_value(4) := p_source_103;
22569 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
22570 l_rec_acct_attrs.array_char_value(5) := p_source_104;
22571 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
22572 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_105);
22573 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
22574 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_106);
22575 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
22576 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_107);
22577 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
22578 l_rec_acct_attrs.array_char_value(9) := p_source_60;
22579 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
22580 l_rec_acct_attrs.array_num_value(10) := p_source_102;
22581 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
22582 l_rec_acct_attrs.array_char_value(11) := p_source_8;
22583 l_rec_acct_attrs.array_acct_attr_code(12) := 'LEDGER_AMOUNT';
22584 l_rec_acct_attrs.array_num_value(12) := p_source_118;
22585 l_rec_acct_attrs.array_acct_attr_code(13) := 'OVERRIDE_ACCTD_AMT_FLAG';
22586 l_rec_acct_attrs.array_char_value(13) := p_source_85;
22587 l_rec_acct_attrs.array_acct_attr_code(14) := 'PARTY_TYPE';
22588 l_rec_acct_attrs.array_char_value(14) := p_source_88;
22589 l_rec_acct_attrs.array_acct_attr_code(15) := 'REVERSED_DISTRIBUTION_ID1';
22590 l_rec_acct_attrs.array_num_value(15) := to_char(p_source_115);
22591 l_rec_acct_attrs.array_acct_attr_code(16) := 'REVERSED_DISTRIBUTION_TYPE';
22592 l_rec_acct_attrs.array_char_value(16) := p_source_60;
22593 l_rec_acct_attrs.array_acct_attr_code(17) := 'TAX_LINE_REF_ID';
22594 l_rec_acct_attrs.array_num_value(17) := p_source_91;
22598 l_rec_acct_attrs.array_num_value(19) := p_source_93;
22595 l_rec_acct_attrs.array_acct_attr_code(18) := 'TAX_REC_NREC_DIST_REF_ID';
22596 l_rec_acct_attrs.array_num_value(18) := p_source_91;
22597 l_rec_acct_attrs.array_acct_attr_code(19) := 'TAX_SUMMARY_LINE_REF_ID';
22599
22600 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
22601 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
22602
22603 ---------------------------------------------------------------------------------------------------------------
22604 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
22605 ---------------------------------------------------------------------------------------------------------------
22606 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
22607
22608 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
22609 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
22610
22611 IF xla_accounting_cache_pkg.GetValueChar
22612 (p_source_code => 'LEDGER_CATEGORY_CODE'
22613 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
22614 AND l_bflow_method_code = 'PRIOR_ENTRY'
22615 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
22616 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
22617 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
22618 )
22619 THEN
22620 xla_ae_lines_pkg.BflowUpgEntry
22621 (p_business_method_code => l_bflow_method_code
22622 ,p_business_class_code => l_bflow_class_code
22623 ,p_balance_type => l_balance_type_code);
22624 ELSE
22625 NULL;
22626 XLA_AE_LINES_PKG.business_flow_validation(
22627 p_business_method_code => l_bflow_method_code
22628 ,p_business_class_code => l_bflow_class_code
22629 ,p_inherit_description_flag => l_inherit_desc_flag);
22630 END IF;
22631
22632 --
22633 -- call analytical criteria
22634 --
22635 -- Inherited Analytical Criteria for business flow method of Prior Entry.
22636 --
22637 -- call description
22638 --
22639 -- No description or it is inherited.
22640 --
22641 -- call ADRs
22642 -- Bug 4922099
22643 --
22644 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
22645 (NVL(l_actual_upg_option, 'N') = 'O') OR
22646 (NVL(l_enc_upg_option, 'N') = 'O')
22647 )
22648 THEN
22649 NULL;
22650 --
22651 --
22652
22653 --
22654 --
22655 END IF;
22656 --
22657 -- Bug 4922099
22658 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
22659 (NVL(l_enc_upg_option, 'N') = 'O')
22660 ) AND
22661 (l_bflow_method_code = 'PRIOR_ENTRY')
22662 )
22663 THEN
22664 IF
22665 --
22666 1 = 1
22667 --
22668 THEN
22669 xla_accounting_err_pkg.build_message
22670 (p_appli_s_name => 'XLA'
22671 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
22672 ,p_token_1 => 'LINE_NUMBER'
22673 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
22674 ,p_token_2 => 'LINE_TYPE_NAME'
22675 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
22676 l_component_type
22677 ,l_component_code
22678 ,l_component_type_code
22679 ,l_component_appl_id
22680 ,l_amb_context_code
22681 ,l_entity_code
22682 ,l_event_class_code
22683 )
22684 ,p_token_3 => 'OWNER'
22685 ,p_value_3 => xla_lookups_pkg.get_meaning(
22686 p_lookup_type => 'XLA_OWNER_TYPE'
22687 ,p_lookup_code => l_component_type_code
22688 )
22689 ,p_token_4 => 'PRODUCT_NAME'
22690 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
22691 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
22692 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
22693 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
22694 ,p_ae_header_id => NULL
22698 trace
22695 );
22696
22697 IF (C_LEVEL_ERROR>= g_log_level) THEN
22699 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
22700 ,p_level => C_LEVEL_ERROR
22701 ,p_module => l_log_module);
22702 END IF;
22703 END IF;
22704 END IF;
22705 --
22706 --
22707 ------------------------------------------------------------------------------------------------
22708 -- 4219869 Business Flow
22709 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
22710 -- Prior Entry. Currently, the following code is always generated.
22711 ------------------------------------------------------------------------------------------------
22712 -- No ValidateCurrentLine for business flow method of Prior Entry
22713
22714 ------------------------------------------------------------------------------------
22715 -- 4219869 Business Flow
22716 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
22717 ------------------------------------------------------------------------------------
22718 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
22719
22720 ----------------------------------------------------------------------------------
22721 -- 4219869 Business Flow
22722 -- Update journal entry status -- Need to generate this within IF <condition>
22723 ----------------------------------------------------------------------------------
22724 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
22725 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
22726 ,p_balance_type_code => l_balance_type_code
22727 );
22728
22729 -------------------------------------------------------------------------------------------
22730 -- 4262811 - Generate the Accrual Reversal lines
22731 -------------------------------------------------------------------------------------------
22732 BEGIN
22733 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
22734 (g_array_event(p_event_id).array_value_num('header_index'));
22735 IF l_acc_rev_flag IS NULL THEN
22736 l_acc_rev_flag := 'N';
22737 END IF;
22738 EXCEPTION
22739 WHEN OTHERS THEN
22740 l_acc_rev_flag := 'N';
22741 END;
22742 --
22743 IF (l_acc_rev_flag = 'Y') THEN
22744
22745 -- 4645092 ------------------------------------------------------------------------------
22746 -- To allow MPA report to determine if it should generate report process
22747 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
22748 ------------------------------------------------------------------------------------------
22749
22750 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
22751 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
22752 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
22753 -- call ADRs
22754 -- Bug 4922099
22755 --
22756 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
22757 (NVL(l_actual_upg_option, 'N') = 'O') OR
22758 (NVL(l_enc_upg_option, 'N') = 'O')
22759 )
22760 THEN
22761 NULL;
22762 --
22763 --
22764
22765 --
22766 --
22767 END IF;
22768
22769 --
22770 -- Update the line information that should be overwritten
22771 --
22772 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
22773 p_header_num => 1);
22774 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
22775
22776 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
22777
22778 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
22779 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
22780 END IF;
22781
22782 --
22783 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
22784 --
22785 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
22786 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
22787 ELSE
22788 ---------------------------------------------------------------------------------------------------
22789 -- 4262811a Switch Sign
22790 ---------------------------------------------------------------------------------------------------
22791 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
22792 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
22793 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
22794 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
22795 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
22796 -- 5132302
22797 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
22798 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
22799
22803 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
22800 END IF;
22801
22802 -- 4955764
22804 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
22805
22806
22807 XLA_AE_LINES_PKG.ValidateCurrentLine;
22808 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
22809
22810 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
22811 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
22812 ,p_balance_type_code => l_balance_type_code);
22813
22814 END IF;
22815
22816 -----------------------------------------------------------------------------------------
22817 -- 4262811 Multiperiod Accounting
22818 -----------------------------------------------------------------------------------------
22819 -- No MPA option is assigned.
22820
22821
22822 END IF;
22823 END IF;
22824 --
22825
22826 --
22827 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
22828 trace
22829 (p_msg => 'END of AcctLineType_73'
22830 ,p_level => C_LEVEL_PROCEDURE
22831 ,p_module => l_log_module);
22832 END IF;
22833 --
22834 EXCEPTION
22835 WHEN xla_exceptions_pkg.application_exception THEN
22836 RAISE;
22837 WHEN OTHERS THEN
22838 xla_exceptions_pkg.raise_message
22839 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_73');
22840 END AcctLineType_73;
22841 --
22842
22843 ---------------------------------------
22844 --
22845 -- PRIVATE FUNCTION
22846 -- AcctLineType_74
22847 --
22848 ---------------------------------------
22849 PROCEDURE AcctLineType_74 (
22850 p_application_id IN NUMBER
22851 ,p_event_id IN NUMBER
22852 ,p_calculate_acctd_flag IN VARCHAR2
22853 ,p_calculate_g_l_flag IN VARCHAR2
22854 ,p_actual_flag IN OUT VARCHAR2
22855 ,p_balance_type_code OUT VARCHAR2
22856 ,p_gain_or_loss_ref OUT VARCHAR2
22857
22858 --Payment Currency Code
22859 , p_source_8 IN VARCHAR2
22860 --When to Account for Payment Option
22861 , p_source_57 IN VARCHAR2
22862 --Accounting Reversal Indicator
22863 , p_source_58 IN VARCHAR2
22864 --Distribution Link Type
22865 , p_source_60 IN VARCHAR2
22866 --Override Accounted Amount Indicator
22867 , p_source_85 IN VARCHAR2
22868 , p_source_85_meaning IN VARCHAR2
22869 --Third Party Type
22870 , p_source_88 IN VARCHAR2
22871 --Invoice Distribution Tax Line Identifier
22872 , p_source_91 IN NUMBER
22873 --Invoice Distribution Summary Tax Line Identifier
22874 , p_source_93 IN NUMBER
22875 --Business Flow Accounts Payable Application Identifier
22876 , p_source_96 IN NUMBER
22877 --Payment Distribution Type
22878 , p_source_101 IN VARCHAR2
22879 , p_source_101_meaning IN VARCHAR2
22880 --Payment Distribution Amount
22881 , p_source_102 IN NUMBER
22882 --Business Flow Payment Distribution Type
22883 , p_source_103 IN VARCHAR2
22884 --Business Flow Payment Entity Code
22885 , p_source_104 IN VARCHAR2
22886 --Business Flow Payment Distribution Identifier
22887 , p_source_105 IN NUMBER
22888 --Business Flow Payment Identifier
22889 , p_source_106 IN NUMBER
22890 --Payment Distribution Identifier
22891 , p_source_107 IN NUMBER
22892 --Payment Distribution Reversed Identifier
22893 , p_source_115 IN NUMBER
22894 --Payment Maturity Date
22895 , p_source_117 IN DATE
22896 --Payment Distribution (Invoice Rate) Ledger Amount
22897 , p_source_119 IN NUMBER
22898 )
22899 IS
22900
22901 l_component_type VARCHAR2(80);
22902 l_component_code VARCHAR2(30);
22903 l_component_type_code VARCHAR2(1);
22904 l_component_appl_id INTEGER;
22905 l_amb_context_code VARCHAR2(30);
22906 l_entity_code VARCHAR2(30);
22907 l_event_class_code VARCHAR2(30);
22908 l_ae_header_id NUMBER;
22909 l_event_type_code VARCHAR2(30);
22910 l_line_definition_code VARCHAR2(30);
22911 l_line_definition_owner_code VARCHAR2(1);
22912 --
22913 -- adr variables
22914 l_segment VARCHAR2(30);
22915 l_ccid NUMBER;
22916 l_adr_transaction_coa_id NUMBER;
22917 l_adr_accounting_coa_id NUMBER;
22918 l_adr_flexfield_segment_code VARCHAR2(30);
22919 l_adr_flex_value_set_id NUMBER;
22920 l_adr_value_type_code VARCHAR2(30);
22921 l_adr_value_combination_id NUMBER;
22922 l_adr_value_segment_code VARCHAR2(30);
22923
22924 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
22925 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
22926 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
22927 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
22928
22929 -- 4262811 Variables ------------------------------------------------------------------------------------------
22930 l_entered_amt_idx NUMBER;
22931 l_accted_amt_idx NUMBER;
22932 l_acc_rev_flag VARCHAR2(1);
22933 l_accrual_line_num NUMBER;
22937 l_num_entries NUMBER;
22934 l_tmp_amt NUMBER;
22935 l_acc_rev_natural_side_code VARCHAR2(1);
22936
22938 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
22939 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
22940 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
22941 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
22942 l_recog_line_1 NUMBER;
22943 l_recog_line_2 NUMBER;
22944
22945 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
22946 l_bflow_applied_to_amt NUMBER; -- 5132302
22947 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
22948
22949 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
22950
22951 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
22952 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
22953
22954 ---------------------------------------------------------------------------------------------------------------
22955
22956
22957 --
22958 -- bulk performance
22959 --
22960 l_balance_type_code VARCHAR2(1);
22961 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
22962 l_log_module VARCHAR2(240);
22963
22964 --
22965 -- Upgrade strategy
22966 --
22967 l_actual_upg_option VARCHAR2(1);
22968 l_enc_upg_option VARCHAR2(1);
22969
22970 --
22971 BEGIN
22972 --
22973 IF g_log_enabled THEN
22974 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_74';
22975 END IF;
22976 --
22977 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
22978
22979 trace
22980 (p_msg => 'BEGIN of AcctLineType_74'
22981 ,p_level => C_LEVEL_PROCEDURE
22982 ,p_module => l_log_module);
22983
22984 END IF;
22985 --
22986 l_component_type := 'AMB_JLT';
22987 l_component_code := 'AP_CASH_CLEAR_CLEAR_INVXRATE';
22988 l_component_type_code := 'S';
22989 l_component_appl_id := 200;
22990 l_amb_context_code := 'DEFAULT';
22991 l_entity_code := 'AP_PAYMENTS';
22992 l_event_class_code := 'RECONCILED PAYMENTS';
22993 l_event_type_code := 'RECONCILED PAYMENTS_ALL';
22994 l_line_definition_owner_code := 'S';
22995 l_line_definition_code := 'ACCRUAL_RECONCILED PAYMENTS_A4';
22996 --
22997 l_balance_type_code := 'A';
22998 l_segment := NULL;
22999 l_ccid := NULL;
23000 l_adr_transaction_coa_id := NULL;
23001 l_adr_accounting_coa_id := NULL;
23002 l_adr_flexfield_segment_code := NULL;
23003 l_adr_flex_value_set_id := NULL;
23004 l_adr_value_type_code := NULL;
23005 l_adr_value_combination_id := NULL;
23006 l_adr_value_segment_code := NULL;
23007
23008 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
23009 l_bflow_class_code := 'AP_CASH_CLEARING'; -- 4219869 Business Flow
23010 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
23011 l_budgetary_control_flag := 'N';
23012
23013 l_bflow_applied_to_amt_idx := NULL; -- 5132302
23014 l_bflow_applied_to_amt := NULL; -- 5132302
23015 l_entered_amt_idx := NULL; -- 4262811
23016 l_accted_amt_idx := NULL; -- 4262811
23017 l_acc_rev_flag := NULL; -- 4262811
23018 l_accrual_line_num := NULL; -- 4262811
23019 l_tmp_amt := NULL; -- 4262811
23020 --
23021
23022 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
23023 l_balance_type_code <> 'B' THEN
23024 IF NVL(p_source_57,'
23025 ') = 'ALWAYS_CLEAR' AND
23026 NVL(p_source_101,'
23027 ') = 'CASH' AND
23028 p_source_117 IS NULL
23029 THEN
23030
23031 --
23032 XLA_AE_LINES_PKG.SetNewLine;
23033
23034 p_balance_type_code := l_balance_type_code;
23035 -- set the flag so later we will know whether the gain loss line needs to be created
23036
23037 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
23038 p_actual_flag :='A';
23039 END IF;
23040
23041 --
23042 -- bulk performance
23043 --
23044 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
23045 p_header_num => 0); -- 4262811
23046 --
23047 -- set accounting line options
23048 --
23049 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
23050 p_natural_side_code => 'D'
23051 , p_gain_or_loss_flag => 'N'
23052 , p_gl_transfer_mode_code => 'S'
23053 , p_acct_entry_type_code => 'A'
23054 , p_switch_side_flag => 'Y'
23055 , p_merge_duplicate_code => 'A'
23056 );
23057 --
23058 l_acc_rev_natural_side_code := 'C'; -- 4262811
23059 --
23060 --
23061 -- set accounting line type info
23062 --
23063 xla_ae_lines_pkg.SetAcctLineType
23064 (p_component_type => l_component_type
23065 ,p_event_type_code => l_event_type_code
23066 ,p_line_definition_owner_code => l_line_definition_owner_code
23070 ,p_accounting_line_appl_id => l_component_appl_id
23067 ,p_line_definition_code => l_line_definition_code
23068 ,p_accounting_line_code => l_component_code
23069 ,p_accounting_line_type_code => l_component_type_code
23071 ,p_amb_context_code => l_amb_context_code
23072 ,p_entity_code => l_entity_code
23073 ,p_event_class_code => l_event_class_code);
23074 --
23075 -- set accounting class
23076 --
23077 xla_ae_lines_pkg.SetAcctClass(
23078 p_accounting_class_code => 'CASH_CLEARING'
23079 , p_ae_header_id => l_ae_header_id
23080 );
23081
23082 --
23083 -- set rounding class
23084 --
23085 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
23086 'CASH_CLEARING';
23087
23088 --
23089 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
23090 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
23091 --
23092 -- bulk performance
23093 --
23094 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
23095
23096 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
23097 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
23098
23099 -- 4955764
23100 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
23101 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
23102
23103 -- 4458381 Public Sector Enh
23104
23105 --
23106 -- set accounting attributes for the line type
23107 --
23108 l_entered_amt_idx := 10;
23109 l_accted_amt_idx := 12;
23110 l_bflow_applied_to_amt_idx := 2; -- 5132302
23111 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
23112 l_rec_acct_attrs.array_char_value(1) := p_source_58;
23113 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
23114 l_rec_acct_attrs.array_num_value(2) := p_source_102;
23115 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
23116 l_rec_acct_attrs.array_num_value(3) := p_source_96;
23117 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
23118 l_rec_acct_attrs.array_char_value(4) := p_source_103;
23119 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
23120 l_rec_acct_attrs.array_char_value(5) := p_source_104;
23121 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
23122 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_105);
23123 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
23124 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_106);
23125 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
23126 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_107);
23127 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
23128 l_rec_acct_attrs.array_char_value(9) := p_source_60;
23129 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
23130 l_rec_acct_attrs.array_num_value(10) := p_source_102;
23131 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
23132 l_rec_acct_attrs.array_char_value(11) := p_source_8;
23133 l_rec_acct_attrs.array_acct_attr_code(12) := 'LEDGER_AMOUNT';
23134 l_rec_acct_attrs.array_num_value(12) := p_source_119;
23135 l_rec_acct_attrs.array_acct_attr_code(13) := 'OVERRIDE_ACCTD_AMT_FLAG';
23136 l_rec_acct_attrs.array_char_value(13) := p_source_85;
23137 l_rec_acct_attrs.array_acct_attr_code(14) := 'PARTY_TYPE';
23138 l_rec_acct_attrs.array_char_value(14) := p_source_88;
23139 l_rec_acct_attrs.array_acct_attr_code(15) := 'REVERSED_DISTRIBUTION_ID1';
23140 l_rec_acct_attrs.array_num_value(15) := to_char(p_source_115);
23141 l_rec_acct_attrs.array_acct_attr_code(16) := 'REVERSED_DISTRIBUTION_TYPE';
23142 l_rec_acct_attrs.array_char_value(16) := p_source_60;
23143 l_rec_acct_attrs.array_acct_attr_code(17) := 'TAX_LINE_REF_ID';
23144 l_rec_acct_attrs.array_num_value(17) := p_source_91;
23145 l_rec_acct_attrs.array_acct_attr_code(18) := 'TAX_REC_NREC_DIST_REF_ID';
23146 l_rec_acct_attrs.array_num_value(18) := p_source_91;
23147 l_rec_acct_attrs.array_acct_attr_code(19) := 'TAX_SUMMARY_LINE_REF_ID';
23148 l_rec_acct_attrs.array_num_value(19) := p_source_93;
23149
23150 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
23151 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
23152
23153 ---------------------------------------------------------------------------------------------------------------
23154 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
23155 ---------------------------------------------------------------------------------------------------------------
23156 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
23157
23158 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
23159 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
23160
23161 IF xla_accounting_cache_pkg.GetValueChar
23162 (p_source_code => 'LEDGER_CATEGORY_CODE'
23166 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
23163 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
23164 AND l_bflow_method_code = 'PRIOR_ENTRY'
23165 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
23167 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
23168 )
23169 THEN
23170 xla_ae_lines_pkg.BflowUpgEntry
23171 (p_business_method_code => l_bflow_method_code
23172 ,p_business_class_code => l_bflow_class_code
23173 ,p_balance_type => l_balance_type_code);
23174 ELSE
23175 NULL;
23176 XLA_AE_LINES_PKG.business_flow_validation(
23177 p_business_method_code => l_bflow_method_code
23178 ,p_business_class_code => l_bflow_class_code
23179 ,p_inherit_description_flag => l_inherit_desc_flag);
23180 END IF;
23181
23182 --
23183 -- call analytical criteria
23184 --
23185 -- Inherited Analytical Criteria for business flow method of Prior Entry.
23186 --
23187 -- call description
23188 --
23189 -- No description or it is inherited.
23190 --
23191 -- call ADRs
23192 -- Bug 4922099
23193 --
23194 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
23195 (NVL(l_actual_upg_option, 'N') = 'O') OR
23196 (NVL(l_enc_upg_option, 'N') = 'O')
23197 )
23198 THEN
23199 NULL;
23200 --
23201 --
23202
23203 --
23204 --
23205 END IF;
23206 --
23207 -- Bug 4922099
23208 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
23209 (NVL(l_enc_upg_option, 'N') = 'O')
23210 ) AND
23211 (l_bflow_method_code = 'PRIOR_ENTRY')
23212 )
23213 THEN
23214 IF
23215 --
23216 1 = 1
23217 --
23218 THEN
23219 xla_accounting_err_pkg.build_message
23220 (p_appli_s_name => 'XLA'
23221 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
23222 ,p_token_1 => 'LINE_NUMBER'
23223 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
23224 ,p_token_2 => 'LINE_TYPE_NAME'
23225 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
23226 l_component_type
23227 ,l_component_code
23228 ,l_component_type_code
23229 ,l_component_appl_id
23230 ,l_amb_context_code
23231 ,l_entity_code
23232 ,l_event_class_code
23233 )
23234 ,p_token_3 => 'OWNER'
23235 ,p_value_3 => xla_lookups_pkg.get_meaning(
23236 p_lookup_type => 'XLA_OWNER_TYPE'
23237 ,p_lookup_code => l_component_type_code
23238 )
23239 ,p_token_4 => 'PRODUCT_NAME'
23240 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
23241 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
23242 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
23243 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
23244 ,p_ae_header_id => NULL
23245 );
23246
23247 IF (C_LEVEL_ERROR>= g_log_level) THEN
23248 trace
23249 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
23250 ,p_level => C_LEVEL_ERROR
23251 ,p_module => l_log_module);
23252 END IF;
23253 END IF;
23254 END IF;
23255 --
23256 --
23257 ------------------------------------------------------------------------------------------------
23258 -- 4219869 Business Flow
23259 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
23260 -- Prior Entry. Currently, the following code is always generated.
23261 ------------------------------------------------------------------------------------------------
23262 -- No ValidateCurrentLine for business flow method of Prior Entry
23263
23264 ------------------------------------------------------------------------------------
23265 -- 4219869 Business Flow
23266 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
23267 ------------------------------------------------------------------------------------
23271 -- 4219869 Business Flow
23268 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
23269
23270 ----------------------------------------------------------------------------------
23272 -- Update journal entry status -- Need to generate this within IF <condition>
23273 ----------------------------------------------------------------------------------
23274 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
23275 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
23276 ,p_balance_type_code => l_balance_type_code
23277 );
23278
23279 -------------------------------------------------------------------------------------------
23280 -- 4262811 - Generate the Accrual Reversal lines
23281 -------------------------------------------------------------------------------------------
23282 BEGIN
23283 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
23284 (g_array_event(p_event_id).array_value_num('header_index'));
23285 IF l_acc_rev_flag IS NULL THEN
23286 l_acc_rev_flag := 'N';
23287 END IF;
23288 EXCEPTION
23289 WHEN OTHERS THEN
23290 l_acc_rev_flag := 'N';
23291 END;
23292 --
23293 IF (l_acc_rev_flag = 'Y') THEN
23294
23295 -- 4645092 ------------------------------------------------------------------------------
23296 -- To allow MPA report to determine if it should generate report process
23297 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
23298 ------------------------------------------------------------------------------------------
23299
23300 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
23301 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
23302 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
23303 -- call ADRs
23304 -- Bug 4922099
23305 --
23306 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
23307 (NVL(l_actual_upg_option, 'N') = 'O') OR
23308 (NVL(l_enc_upg_option, 'N') = 'O')
23309 )
23310 THEN
23311 NULL;
23312 --
23313 --
23314
23315 --
23316 --
23317 END IF;
23318
23319 --
23320 -- Update the line information that should be overwritten
23321 --
23322 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
23323 p_header_num => 1);
23324 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
23325
23326 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
23327
23328 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
23329 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
23330 END IF;
23331
23332 --
23333 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
23334 --
23335 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
23336 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
23337 ELSE
23338 ---------------------------------------------------------------------------------------------------
23339 -- 4262811a Switch Sign
23340 ---------------------------------------------------------------------------------------------------
23341 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
23342 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
23343 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
23344 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
23345 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
23346 -- 5132302
23347 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
23348 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
23349
23350 END IF;
23351
23352 -- 4955764
23353 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
23354 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
23355
23356
23357 XLA_AE_LINES_PKG.ValidateCurrentLine;
23358 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
23359
23360 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
23361 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
23362 ,p_balance_type_code => l_balance_type_code);
23363
23364 END IF;
23365
23366 -----------------------------------------------------------------------------------------
23367 -- 4262811 Multiperiod Accounting
23368 -----------------------------------------------------------------------------------------
23369 -- No MPA option is assigned.
23370
23371
23372 END IF;
23373 END IF;
23374 --
23375
23376 --
23377 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
23378 trace
23379 (p_msg => 'END of AcctLineType_74'
23380 ,p_level => C_LEVEL_PROCEDURE
23381 ,p_module => l_log_module);
23382 END IF;
23383 --
23384 EXCEPTION
23388 xla_exceptions_pkg.raise_message
23385 WHEN xla_exceptions_pkg.application_exception THEN
23386 RAISE;
23387 WHEN OTHERS THEN
23389 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_74');
23390 END AcctLineType_74;
23391 --
23392
23393 ---------------------------------------
23394 --
23395 -- PRIVATE FUNCTION
23396 -- AcctLineType_75
23397 --
23398 ---------------------------------------
23399 PROCEDURE AcctLineType_75 (
23400 p_application_id IN NUMBER
23401 ,p_event_id IN NUMBER
23402 ,p_calculate_acctd_flag IN VARCHAR2
23403 ,p_calculate_g_l_flag IN VARCHAR2
23404 ,p_actual_flag IN OUT VARCHAR2
23405 ,p_balance_type_code OUT VARCHAR2
23406 ,p_gain_or_loss_ref OUT VARCHAR2
23407
23408 --Payment Currency Code
23409 , p_source_8 IN VARCHAR2
23410 --Automatic Offsets Value
23411 , p_source_10 IN VARCHAR2
23412 , p_source_10_meaning IN VARCHAR2
23413 --Bank Cash Clearing Account
23414 , p_source_30 IN NUMBER
23415 --When to Account for Payment Option
23416 , p_source_57 IN VARCHAR2
23417 --Accounting Reversal Indicator
23418 , p_source_58 IN VARCHAR2
23419 --Distribution Link Type
23420 , p_source_60 IN VARCHAR2
23421 --Override Accounted Amount Indicator
23422 , p_source_85 IN VARCHAR2
23423 , p_source_85_meaning IN VARCHAR2
23424 --Third Party Type
23425 , p_source_88 IN VARCHAR2
23426 --Business Flow Accounts Payable Application Identifier
23427 , p_source_96 IN NUMBER
23428 --Payment Distribution Type
23429 , p_source_101 IN VARCHAR2
23430 , p_source_101_meaning IN VARCHAR2
23431 --Payment Distribution Amount
23432 , p_source_102 IN NUMBER
23433 --Business Flow Payment Distribution Type
23434 , p_source_103 IN VARCHAR2
23435 --Business Flow Payment Entity Code
23436 , p_source_104 IN VARCHAR2
23437 --Business Flow Payment Distribution Identifier
23438 , p_source_105 IN NUMBER
23439 --Business Flow Payment Identifier
23440 , p_source_106 IN NUMBER
23441 --Payment Distribution Identifier
23442 , p_source_107 IN NUMBER
23443 --Payment Supplier Identifier
23444 , p_source_113 IN NUMBER
23445 --Payment Supplier Site Identifier
23446 , p_source_114 IN NUMBER
23447 --Payment Distribution Reversed Identifier
23448 , p_source_115 IN NUMBER
23449 --Pooled Bank Account Option
23450 , p_source_116 IN VARCHAR2
23451 , p_source_116_meaning IN VARCHAR2
23452 --Payment Maturity Date
23453 , p_source_117 IN DATE
23454 --Payment Distribution (Invoice Rate) Ledger Amount
23455 , p_source_119 IN NUMBER
23456 --Payment Exchange Date
23457 , p_source_120 IN DATE
23458 --Payment Exchange Rate
23459 , p_source_121 IN NUMBER
23460 --Payment Exchange Rate Type
23461 , p_source_122 IN VARCHAR2
23462 )
23463 IS
23464
23465 l_component_type VARCHAR2(80);
23466 l_component_code VARCHAR2(30);
23467 l_component_type_code VARCHAR2(1);
23468 l_component_appl_id INTEGER;
23469 l_amb_context_code VARCHAR2(30);
23470 l_entity_code VARCHAR2(30);
23471 l_event_class_code VARCHAR2(30);
23472 l_ae_header_id NUMBER;
23473 l_event_type_code VARCHAR2(30);
23474 l_line_definition_code VARCHAR2(30);
23475 l_line_definition_owner_code VARCHAR2(1);
23476 --
23477 -- adr variables
23478 l_segment VARCHAR2(30);
23479 l_ccid NUMBER;
23480 l_adr_transaction_coa_id NUMBER;
23481 l_adr_accounting_coa_id NUMBER;
23482 l_adr_flexfield_segment_code VARCHAR2(30);
23483 l_adr_flex_value_set_id NUMBER;
23484 l_adr_value_type_code VARCHAR2(30);
23485 l_adr_value_combination_id NUMBER;
23486 l_adr_value_segment_code VARCHAR2(30);
23487
23488 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
23489 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
23490 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
23491 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
23492
23493 -- 4262811 Variables ------------------------------------------------------------------------------------------
23494 l_entered_amt_idx NUMBER;
23495 l_accted_amt_idx NUMBER;
23496 l_acc_rev_flag VARCHAR2(1);
23497 l_accrual_line_num NUMBER;
23498 l_tmp_amt NUMBER;
23499 l_acc_rev_natural_side_code VARCHAR2(1);
23500
23501 l_num_entries NUMBER;
23502 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
23503 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
23504 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
23505 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
23506 l_recog_line_1 NUMBER;
23507 l_recog_line_2 NUMBER;
23508
23509 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
23510 l_bflow_applied_to_amt NUMBER; -- 5132302
23511 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
23512
23516 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
23513 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
23514
23515 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
23517
23518 ---------------------------------------------------------------------------------------------------------------
23519
23520
23521 --
23522 -- bulk performance
23523 --
23524 l_balance_type_code VARCHAR2(1);
23525 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
23526 l_log_module VARCHAR2(240);
23527
23528 --
23529 -- Upgrade strategy
23530 --
23531 l_actual_upg_option VARCHAR2(1);
23532 l_enc_upg_option VARCHAR2(1);
23533
23534 --
23535 BEGIN
23536 --
23537 IF g_log_enabled THEN
23538 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_75';
23539 END IF;
23540 --
23541 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
23542
23543 trace
23544 (p_msg => 'BEGIN of AcctLineType_75'
23545 ,p_level => C_LEVEL_PROCEDURE
23546 ,p_module => l_log_module);
23547
23548 END IF;
23549 --
23550 l_component_type := 'AMB_JLT';
23551 l_component_code := 'AP_CASH_CLEAR_MAT_AS_INVXRATE';
23552 l_component_type_code := 'S';
23553 l_component_appl_id := 200;
23554 l_amb_context_code := 'DEFAULT';
23555 l_entity_code := 'AP_PAYMENTS';
23556 l_event_class_code := 'FUTURE DATED PAYMENTS';
23557 l_event_type_code := 'FUTURE DATED PAYMENTS_ALL';
23558 l_line_definition_owner_code := 'S';
23559 l_line_definition_code := 'ACCRUAL_FUTURE DATED PAYMENTS1';
23560 --
23561 l_balance_type_code := 'A';
23562 l_segment := NULL;
23563 l_ccid := NULL;
23564 l_adr_transaction_coa_id := NULL;
23565 l_adr_accounting_coa_id := NULL;
23566 l_adr_flexfield_segment_code := NULL;
23567 l_adr_flex_value_set_id := NULL;
23568 l_adr_value_type_code := NULL;
23569 l_adr_value_combination_id := NULL;
23570 l_adr_value_segment_code := NULL;
23571
23572 l_bflow_method_code := 'SAME_ENTRY'; -- 4219869 Business Flow
23573 l_bflow_class_code := 'AP_CASH_CLEARING'; -- 4219869 Business Flow
23574 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
23575 l_budgetary_control_flag := 'N';
23576
23577 l_bflow_applied_to_amt_idx := NULL; -- 5132302
23578 l_bflow_applied_to_amt := NULL; -- 5132302
23579 l_entered_amt_idx := NULL; -- 4262811
23580 l_accted_amt_idx := NULL; -- 4262811
23581 l_acc_rev_flag := NULL; -- 4262811
23582 l_accrual_line_num := NULL; -- 4262811
23583 l_tmp_amt := NULL; -- 4262811
23584 --
23585
23586 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
23587 l_balance_type_code <> 'B' THEN
23588 IF NVL(p_source_57,'
23589 ') = 'ALWAYS_CLEAR' AND
23590 (NVL(p_source_116,'
23591 ') = 'Y' AND
23592 NVL(p_source_10,'
23593 ') = 'ACCOUNT_SEGMENT_VALUE') AND
23594 p_source_117 IS NOT NULL AND
23595 NVL(p_source_101,'
23596 ') = 'CASH'
23597 THEN
23598
23599 --
23600 XLA_AE_LINES_PKG.SetNewLine;
23601
23602 p_balance_type_code := l_balance_type_code;
23603 -- set the flag so later we will know whether the gain loss line needs to be created
23604
23605 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
23606 p_actual_flag :='A';
23607 END IF;
23608
23609 --
23610 -- bulk performance
23611 --
23612 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
23613 p_header_num => 0); -- 4262811
23614 --
23615 -- set accounting line options
23616 --
23617 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
23618 p_natural_side_code => 'C'
23619 , p_gain_or_loss_flag => 'N'
23620 , p_gl_transfer_mode_code => 'S'
23621 , p_acct_entry_type_code => 'A'
23622 , p_switch_side_flag => 'Y'
23623 , p_merge_duplicate_code => 'A'
23624 );
23625 --
23626 l_acc_rev_natural_side_code := 'D'; -- 4262811
23627 --
23628 --
23629 -- set accounting line type info
23630 --
23631 xla_ae_lines_pkg.SetAcctLineType
23632 (p_component_type => l_component_type
23633 ,p_event_type_code => l_event_type_code
23634 ,p_line_definition_owner_code => l_line_definition_owner_code
23635 ,p_line_definition_code => l_line_definition_code
23636 ,p_accounting_line_code => l_component_code
23637 ,p_accounting_line_type_code => l_component_type_code
23638 ,p_accounting_line_appl_id => l_component_appl_id
23639 ,p_amb_context_code => l_amb_context_code
23640 ,p_entity_code => l_entity_code
23641 ,p_event_class_code => l_event_class_code);
23642 --
23643 -- set accounting class
23644 --
23645 xla_ae_lines_pkg.SetAcctClass(
23646 p_accounting_class_code => 'CASH_CLEARING'
23647 , p_ae_header_id => l_ae_header_id
23648 );
23649
23650 --
23651 -- set rounding class
23652 --
23656 --
23653 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
23654 'CASH_CLEARING';
23655
23657 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
23658 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
23659 --
23660 -- bulk performance
23661 --
23662 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
23663
23664 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
23665 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
23666
23667 -- 4955764
23668 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
23669 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
23670
23671 -- 4458381 Public Sector Enh
23672
23673 --
23674 -- set accounting attributes for the line type
23675 --
23676 l_entered_amt_idx := 9;
23677 l_accted_amt_idx := 14;
23678 l_bflow_applied_to_amt_idx := NULL; -- 5132302
23679 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
23680 l_rec_acct_attrs.array_char_value(1) := p_source_58;
23681 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_APPLICATION_ID';
23682 l_rec_acct_attrs.array_num_value(2) := p_source_96;
23683 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_DISTRIBUTION_TYPE';
23684 l_rec_acct_attrs.array_char_value(3) := p_source_103;
23685 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_ENTITY_CODE';
23686 l_rec_acct_attrs.array_char_value(4) := p_source_104;
23687 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_FIRST_DIST_ID';
23688 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_105);
23689 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
23690 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_106);
23691 l_rec_acct_attrs.array_acct_attr_code(7) := 'DISTRIBUTION_IDENTIFIER_1';
23692 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_107);
23693 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_TYPE';
23694 l_rec_acct_attrs.array_char_value(8) := p_source_60;
23695 l_rec_acct_attrs.array_acct_attr_code(9) := 'ENTERED_CURRENCY_AMOUNT';
23696 l_rec_acct_attrs.array_num_value(9) := p_source_102;
23697 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_CODE';
23698 l_rec_acct_attrs.array_char_value(10) := p_source_8;
23699 l_rec_acct_attrs.array_acct_attr_code(11) := 'EXCHANGE_DATE';
23700 l_rec_acct_attrs.array_date_value(11) := p_source_120;
23701 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_RATE';
23702 l_rec_acct_attrs.array_num_value(12) := p_source_121;
23703 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE_TYPE';
23704 l_rec_acct_attrs.array_char_value(13) := p_source_122;
23705 l_rec_acct_attrs.array_acct_attr_code(14) := 'LEDGER_AMOUNT';
23706 l_rec_acct_attrs.array_num_value(14) := p_source_119;
23707 l_rec_acct_attrs.array_acct_attr_code(15) := 'OVERRIDE_ACCTD_AMT_FLAG';
23708 l_rec_acct_attrs.array_char_value(15) := p_source_85;
23709 l_rec_acct_attrs.array_acct_attr_code(16) := 'PARTY_ID';
23710 l_rec_acct_attrs.array_num_value(16) := p_source_113;
23711 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_SITE_ID';
23712 l_rec_acct_attrs.array_num_value(17) := p_source_114;
23713 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_TYPE';
23714 l_rec_acct_attrs.array_char_value(18) := p_source_88;
23715 l_rec_acct_attrs.array_acct_attr_code(19) := 'REVERSED_DISTRIBUTION_ID1';
23716 l_rec_acct_attrs.array_num_value(19) := to_char(p_source_115);
23717 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_TYPE';
23718 l_rec_acct_attrs.array_char_value(20) := p_source_60;
23719
23720 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
23721 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
23722
23723 ---------------------------------------------------------------------------------------------------------------
23724 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
23725 ---------------------------------------------------------------------------------------------------------------
23726 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
23727
23728 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
23729 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
23730
23731 IF xla_accounting_cache_pkg.GetValueChar
23732 (p_source_code => 'LEDGER_CATEGORY_CODE'
23733 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
23734 AND l_bflow_method_code = 'PRIOR_ENTRY'
23735 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
23736 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
23737 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
23738 )
23739 THEN
23740 xla_ae_lines_pkg.BflowUpgEntry
23741 (p_business_method_code => l_bflow_method_code
23742 ,p_business_class_code => l_bflow_class_code
23743 ,p_balance_type => l_balance_type_code);
23744 ELSE
23745 NULL;
23746 XLA_AE_LINES_PKG.business_flow_validation(
23750 END IF;
23747 p_business_method_code => l_bflow_method_code
23748 ,p_business_class_code => l_bflow_class_code
23749 ,p_inherit_description_flag => l_inherit_desc_flag);
23751
23752 --
23753 -- call analytical criteria
23754 --
23755
23756 --
23757 -- call description
23758 --
23759 -- No description or it is inherited.
23760 --
23761 -- call ADRs
23762 -- Bug 4922099
23763 --
23764 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
23765 (NVL(l_actual_upg_option, 'N') = 'O') OR
23766 (NVL(l_enc_upg_option, 'N') = 'O')
23767 )
23768 THEN
23769 NULL;
23770 --
23771 --
23772
23773 xla_ae_lines_pkg.Set_Ccid( -- replaced SetCcid
23774 p_code_combination_id => TO_NUMBER(C_NUM)
23775 , p_value_type_code => NULL
23776 , p_transaction_coa_id => null
23777 , p_accounting_coa_id => null
23778 , p_adr_code => NULL
23779 , p_adr_type_code => NULL
23780 , p_component_type => l_component_type
23781 , p_component_code => l_component_code
23782 , p_component_type_code => l_component_type_code
23783 , p_component_appl_id => l_component_appl_id
23784 , p_amb_context_code => l_amb_context_code
23785 , p_side => NULL
23786 );
23787
23788
23789 -- initialise segments
23790 XLA_AE_LINES_PKG.g_rec_lines.array_segment1(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
23791 XLA_AE_LINES_PKG.g_rec_lines.array_segment2(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
23792 XLA_AE_LINES_PKG.g_rec_lines.array_segment3(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
23793 XLA_AE_LINES_PKG.g_rec_lines.array_segment4(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
23794 XLA_AE_LINES_PKG.g_rec_lines.array_segment5(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
23795 XLA_AE_LINES_PKG.g_rec_lines.array_segment6(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
23796 XLA_AE_LINES_PKG.g_rec_lines.array_segment7(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
23797 XLA_AE_LINES_PKG.g_rec_lines.array_segment8(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
23798 XLA_AE_LINES_PKG.g_rec_lines.array_segment9(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
23799 XLA_AE_LINES_PKG.g_rec_lines.array_segment10(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
23800 XLA_AE_LINES_PKG.g_rec_lines.array_segment11(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
23801 XLA_AE_LINES_PKG.g_rec_lines.array_segment12(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
23802 XLA_AE_LINES_PKG.g_rec_lines.array_segment13(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
23803 XLA_AE_LINES_PKG.g_rec_lines.array_segment14(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
23804 XLA_AE_LINES_PKG.g_rec_lines.array_segment15(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
23805 XLA_AE_LINES_PKG.g_rec_lines.array_segment16(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
23806 XLA_AE_LINES_PKG.g_rec_lines.array_segment17(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
23807 XLA_AE_LINES_PKG.g_rec_lines.array_segment18(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
23808 XLA_AE_LINES_PKG.g_rec_lines.array_segment19(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
23809 XLA_AE_LINES_PKG.g_rec_lines.array_segment20(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
23810 XLA_AE_LINES_PKG.g_rec_lines.array_segment21(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
23811 XLA_AE_LINES_PKG.g_rec_lines.array_segment22(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
23812 XLA_AE_LINES_PKG.g_rec_lines.array_segment23(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
23813 XLA_AE_LINES_PKG.g_rec_lines.array_segment24(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
23814 XLA_AE_LINES_PKG.g_rec_lines.array_segment25(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
23815 XLA_AE_LINES_PKG.g_rec_lines.array_segment26(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
23816 XLA_AE_LINES_PKG.g_rec_lines.array_segment27(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
23817 XLA_AE_LINES_PKG.g_rec_lines.array_segment28(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
23818 XLA_AE_LINES_PKG.g_rec_lines.array_segment29(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
23819 XLA_AE_LINES_PKG.g_rec_lines.array_segment30(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
23820 --
23821
23822 --
23823
23824
23825 l_segment := AcctDerRule_16(
23826 p_application_id => p_application_id
23827 , p_ae_header_id => l_ae_header_id
23828 , p_source_30 => p_source_30
23829 , x_transaction_coa_id => l_adr_transaction_coa_id
23830 , x_accounting_coa_id => l_adr_accounting_coa_id
23831 , x_flexfield_segment_code => l_adr_flexfield_segment_code
23832 , x_flex_value_set_id => l_adr_flex_value_set_id
23833 , x_value_type_code => l_adr_value_type_code
23834 , x_value_combination_id => l_adr_value_combination_id
23835 , x_value_segment_code => l_adr_value_segment_code
23836 , p_side => 'NA'
23837 , p_override_seg_flag => 'Y'
23838 );
23839
23840 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
23841
23842 xla_ae_lines_pkg.set_segment(
23843 p_to_segment_code => 'GL_ACCOUNT'
23844 , p_segment_value => l_segment
23845 , p_from_segment_code => l_adr_value_segment_code
23846 , p_from_combination_id => l_adr_value_combination_id
23850 , p_flexfield_segment_code => l_adr_flexfield_segment_code
23847 , p_value_type_code => l_adr_value_type_code
23848 , p_transaction_coa_id => l_adr_transaction_coa_id
23849 , p_accounting_coa_id => l_adr_accounting_coa_id
23851 , p_flex_value_set_id => l_adr_flex_value_set_id
23852 , p_adr_code => 'AP_PMT_CASH_CLEAR_NAT_ACC_POOL'
23853 , p_adr_type_code => 'S'
23854 , p_component_type => l_component_type
23855 , p_component_code => l_component_code
23856 , p_component_type_code => l_component_type_code
23857 , p_component_appl_id => l_component_appl_id
23858 , p_amb_context_code => l_amb_context_code
23859 , p_entity_code => 'AP_PAYMENTS'
23860 , p_event_class_code => 'FUTURE DATED PAYMENTS'
23861 , p_side => 'NA'
23862 );
23863
23864 END IF;
23865
23866 --
23867 --
23868 END IF;
23869 --
23870 -- Bug 4922099
23871 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
23872 (NVL(l_enc_upg_option, 'N') = 'O')
23873 ) AND
23874 (l_bflow_method_code = 'PRIOR_ENTRY')
23875 )
23876 THEN
23877 IF
23878 --
23879 1 = 2
23880 --
23881 THEN
23882 xla_accounting_err_pkg.build_message
23883 (p_appli_s_name => 'XLA'
23884 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
23885 ,p_token_1 => 'LINE_NUMBER'
23886 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
23887 ,p_token_2 => 'LINE_TYPE_NAME'
23888 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
23889 l_component_type
23890 ,l_component_code
23891 ,l_component_type_code
23892 ,l_component_appl_id
23893 ,l_amb_context_code
23894 ,l_entity_code
23895 ,l_event_class_code
23896 )
23897 ,p_token_3 => 'OWNER'
23898 ,p_value_3 => xla_lookups_pkg.get_meaning(
23899 p_lookup_type => 'XLA_OWNER_TYPE'
23900 ,p_lookup_code => l_component_type_code
23901 )
23902 ,p_token_4 => 'PRODUCT_NAME'
23903 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
23904 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
23905 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
23906 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
23907 ,p_ae_header_id => NULL
23908 );
23909
23910 IF (C_LEVEL_ERROR>= g_log_level) THEN
23911 trace
23912 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
23913 ,p_level => C_LEVEL_ERROR
23914 ,p_module => l_log_module);
23915 END IF;
23916 END IF;
23917 END IF;
23918 --
23919 --
23920 ------------------------------------------------------------------------------------------------
23921 -- 4219869 Business Flow
23922 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
23923 -- Prior Entry. Currently, the following code is always generated.
23924 ------------------------------------------------------------------------------------------------
23925 XLA_AE_LINES_PKG.ValidateCurrentLine;
23926
23927 ------------------------------------------------------------------------------------
23928 -- 4219869 Business Flow
23929 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
23930 ------------------------------------------------------------------------------------
23931 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
23932
23933 ----------------------------------------------------------------------------------
23934 -- 4219869 Business Flow
23935 -- Update journal entry status -- Need to generate this within IF <condition>
23936 ----------------------------------------------------------------------------------
23937 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
23938 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
23939 ,p_balance_type_code => l_balance_type_code
23943 -- 4262811 - Generate the Accrual Reversal lines
23940 );
23941
23942 -------------------------------------------------------------------------------------------
23944 -------------------------------------------------------------------------------------------
23945 BEGIN
23946 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
23947 (g_array_event(p_event_id).array_value_num('header_index'));
23948 IF l_acc_rev_flag IS NULL THEN
23949 l_acc_rev_flag := 'N';
23950 END IF;
23951 EXCEPTION
23952 WHEN OTHERS THEN
23953 l_acc_rev_flag := 'N';
23954 END;
23955 --
23956 IF (l_acc_rev_flag = 'Y') THEN
23957
23958 -- 4645092 ------------------------------------------------------------------------------
23959 -- To allow MPA report to determine if it should generate report process
23960 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
23961 ------------------------------------------------------------------------------------------
23962
23963 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
23964 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
23965 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
23966 -- call ADRs
23967 -- Bug 4922099
23968 --
23969 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
23970 (NVL(l_actual_upg_option, 'N') = 'O') OR
23971 (NVL(l_enc_upg_option, 'N') = 'O')
23972 )
23973 THEN
23974 NULL;
23975 --
23976 --
23977
23978 xla_ae_lines_pkg.Set_Ccid( -- replaced SetCcid
23979 p_code_combination_id => TO_NUMBER(C_NUM)
23980 , p_value_type_code => NULL
23981 , p_transaction_coa_id => null
23982 , p_accounting_coa_id => null
23983 , p_adr_code => NULL
23984 , p_adr_type_code => NULL
23985 , p_component_type => l_component_type
23986 , p_component_code => l_component_code
23987 , p_component_type_code => l_component_type_code
23988 , p_component_appl_id => l_component_appl_id
23989 , p_amb_context_code => l_amb_context_code
23990 , p_side => NULL
23991 );
23992
23993
23994 -- initialise segments
23995 XLA_AE_LINES_PKG.g_rec_lines.array_segment1(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
23996 XLA_AE_LINES_PKG.g_rec_lines.array_segment2(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
23997 XLA_AE_LINES_PKG.g_rec_lines.array_segment3(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
23998 XLA_AE_LINES_PKG.g_rec_lines.array_segment4(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
23999 XLA_AE_LINES_PKG.g_rec_lines.array_segment5(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
24000 XLA_AE_LINES_PKG.g_rec_lines.array_segment6(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
24001 XLA_AE_LINES_PKG.g_rec_lines.array_segment7(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
24002 XLA_AE_LINES_PKG.g_rec_lines.array_segment8(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
24003 XLA_AE_LINES_PKG.g_rec_lines.array_segment9(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
24004 XLA_AE_LINES_PKG.g_rec_lines.array_segment10(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
24005 XLA_AE_LINES_PKG.g_rec_lines.array_segment11(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
24006 XLA_AE_LINES_PKG.g_rec_lines.array_segment12(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
24007 XLA_AE_LINES_PKG.g_rec_lines.array_segment13(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
24008 XLA_AE_LINES_PKG.g_rec_lines.array_segment14(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
24009 XLA_AE_LINES_PKG.g_rec_lines.array_segment15(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
24010 XLA_AE_LINES_PKG.g_rec_lines.array_segment16(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
24011 XLA_AE_LINES_PKG.g_rec_lines.array_segment17(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
24012 XLA_AE_LINES_PKG.g_rec_lines.array_segment18(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
24013 XLA_AE_LINES_PKG.g_rec_lines.array_segment19(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
24014 XLA_AE_LINES_PKG.g_rec_lines.array_segment20(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
24015 XLA_AE_LINES_PKG.g_rec_lines.array_segment21(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
24016 XLA_AE_LINES_PKG.g_rec_lines.array_segment22(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
24017 XLA_AE_LINES_PKG.g_rec_lines.array_segment23(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
24018 XLA_AE_LINES_PKG.g_rec_lines.array_segment24(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
24019 XLA_AE_LINES_PKG.g_rec_lines.array_segment25(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
24020 XLA_AE_LINES_PKG.g_rec_lines.array_segment26(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
24021 XLA_AE_LINES_PKG.g_rec_lines.array_segment27(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
24022 XLA_AE_LINES_PKG.g_rec_lines.array_segment28(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
24023 XLA_AE_LINES_PKG.g_rec_lines.array_segment29(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
24024 XLA_AE_LINES_PKG.g_rec_lines.array_segment30(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
24025 --
24026
24027 --
24028
24029
24030 l_segment := AcctDerRule_16(
24031 p_application_id => p_application_id
24032 , p_ae_header_id => l_ae_header_id
24033 , p_source_30 => p_source_30
24034 , x_transaction_coa_id => l_adr_transaction_coa_id
24035 , x_accounting_coa_id => l_adr_accounting_coa_id
24036 , x_flexfield_segment_code => l_adr_flexfield_segment_code
24037 , x_flex_value_set_id => l_adr_flex_value_set_id
24038 , x_value_type_code => l_adr_value_type_code
24042 , p_override_seg_flag => 'Y'
24039 , x_value_combination_id => l_adr_value_combination_id
24040 , x_value_segment_code => l_adr_value_segment_code
24041 , p_side => 'NA'
24043 );
24044
24045 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
24046
24047 xla_ae_lines_pkg.set_segment(
24048 p_to_segment_code => 'GL_ACCOUNT'
24049 , p_segment_value => l_segment
24050 , p_from_segment_code => l_adr_value_segment_code
24051 , p_from_combination_id => l_adr_value_combination_id
24052 , p_value_type_code => l_adr_value_type_code
24053 , p_transaction_coa_id => l_adr_transaction_coa_id
24054 , p_accounting_coa_id => l_adr_accounting_coa_id
24055 , p_flexfield_segment_code => l_adr_flexfield_segment_code
24056 , p_flex_value_set_id => l_adr_flex_value_set_id
24057 , p_adr_code => 'AP_PMT_CASH_CLEAR_NAT_ACC_POOL'
24058 , p_adr_type_code => 'S'
24059 , p_component_type => l_component_type
24060 , p_component_code => l_component_code
24061 , p_component_type_code => l_component_type_code
24062 , p_component_appl_id => l_component_appl_id
24063 , p_amb_context_code => l_amb_context_code
24064 , p_entity_code => 'AP_PAYMENTS'
24065 , p_event_class_code => 'FUTURE DATED PAYMENTS'
24066 , p_side => 'NA'
24067 );
24068
24069 END IF;
24070
24071 --
24072 --
24073 END IF;
24074
24075 --
24076 -- Update the line information that should be overwritten
24077 --
24078 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
24079 p_header_num => 1);
24080 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
24081
24082 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
24083
24084 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
24085 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
24086 END IF;
24087
24088 --
24089 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
24090 --
24091 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
24092 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
24093 ELSE
24094 ---------------------------------------------------------------------------------------------------
24095 -- 4262811a Switch Sign
24096 ---------------------------------------------------------------------------------------------------
24097 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
24098 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
24099 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
24100 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
24101 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
24102 -- 5132302
24103 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
24104 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
24105
24106 END IF;
24107
24108 -- 4955764
24109 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
24110 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
24111
24112
24113 XLA_AE_LINES_PKG.ValidateCurrentLine;
24114 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
24115
24116 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
24117 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
24118 ,p_balance_type_code => l_balance_type_code);
24119
24120 END IF;
24121
24122 -----------------------------------------------------------------------------------------
24123 -- 4262811 Multiperiod Accounting
24124 -----------------------------------------------------------------------------------------
24125 -- No MPA option is assigned.
24126
24127
24128 END IF;
24129 END IF;
24130 --
24131
24132 --
24133 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
24134 trace
24135 (p_msg => 'END of AcctLineType_75'
24136 ,p_level => C_LEVEL_PROCEDURE
24137 ,p_module => l_log_module);
24138 END IF;
24139 --
24140 EXCEPTION
24141 WHEN xla_exceptions_pkg.application_exception THEN
24142 RAISE;
24143 WHEN OTHERS THEN
24144 xla_exceptions_pkg.raise_message
24145 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_75');
24146 END AcctLineType_75;
24147 --
24148
24149 ---------------------------------------
24150 --
24151 -- PRIVATE FUNCTION
24152 -- AcctLineType_76
24153 --
24154 ---------------------------------------
24155 PROCEDURE AcctLineType_76 (
24156 p_application_id IN NUMBER
24160 ,p_actual_flag IN OUT VARCHAR2
24157 ,p_event_id IN NUMBER
24158 ,p_calculate_acctd_flag IN VARCHAR2
24159 ,p_calculate_g_l_flag IN VARCHAR2
24161 ,p_balance_type_code OUT VARCHAR2
24162 ,p_gain_or_loss_ref OUT VARCHAR2
24163
24164 --Payment Currency Code
24165 , p_source_8 IN VARCHAR2
24166 --Automatic Offsets Value
24167 , p_source_10 IN VARCHAR2
24168 , p_source_10_meaning IN VARCHAR2
24169 --Bank Cash Clearing Account
24170 , p_source_30 IN NUMBER
24171 --When to Account for Payment Option
24172 , p_source_57 IN VARCHAR2
24173 --Accounting Reversal Indicator
24174 , p_source_58 IN VARCHAR2
24175 --Distribution Link Type
24176 , p_source_60 IN VARCHAR2
24177 --Override Accounted Amount Indicator
24178 , p_source_85 IN VARCHAR2
24179 , p_source_85_meaning IN VARCHAR2
24180 --Third Party Type
24181 , p_source_88 IN VARCHAR2
24182 --Business Flow Accounts Payable Application Identifier
24183 , p_source_96 IN NUMBER
24184 --Payment Distribution Type
24185 , p_source_101 IN VARCHAR2
24186 , p_source_101_meaning IN VARCHAR2
24187 --Payment Distribution Amount
24188 , p_source_102 IN NUMBER
24189 --Business Flow Payment Distribution Type
24190 , p_source_103 IN VARCHAR2
24191 --Business Flow Payment Entity Code
24192 , p_source_104 IN VARCHAR2
24193 --Business Flow Payment Distribution Identifier
24194 , p_source_105 IN NUMBER
24195 --Business Flow Payment Identifier
24196 , p_source_106 IN NUMBER
24197 --Payment Distribution Identifier
24198 , p_source_107 IN NUMBER
24199 --Payment Supplier Identifier
24200 , p_source_113 IN NUMBER
24201 --Payment Supplier Site Identifier
24202 , p_source_114 IN NUMBER
24203 --Payment Distribution Reversed Identifier
24204 , p_source_115 IN NUMBER
24205 --Pooled Bank Account Option
24206 , p_source_116 IN VARCHAR2
24207 , p_source_116_meaning IN VARCHAR2
24208 --Payment Maturity Date
24209 , p_source_117 IN DATE
24210 --Payment Distribution (Invoice Rate) Ledger Amount
24211 , p_source_119 IN NUMBER
24212 --Payment Exchange Date
24213 , p_source_120 IN DATE
24214 --Payment Exchange Rate
24215 , p_source_121 IN NUMBER
24216 --Payment Exchange Rate Type
24217 , p_source_122 IN VARCHAR2
24218 )
24219 IS
24220
24221 l_component_type VARCHAR2(80);
24222 l_component_code VARCHAR2(30);
24223 l_component_type_code VARCHAR2(1);
24224 l_component_appl_id INTEGER;
24225 l_amb_context_code VARCHAR2(30);
24226 l_entity_code VARCHAR2(30);
24227 l_event_class_code VARCHAR2(30);
24228 l_ae_header_id NUMBER;
24229 l_event_type_code VARCHAR2(30);
24230 l_line_definition_code VARCHAR2(30);
24231 l_line_definition_owner_code VARCHAR2(1);
24232 --
24233 -- adr variables
24234 l_segment VARCHAR2(30);
24235 l_ccid NUMBER;
24236 l_adr_transaction_coa_id NUMBER;
24237 l_adr_accounting_coa_id NUMBER;
24238 l_adr_flexfield_segment_code VARCHAR2(30);
24239 l_adr_flex_value_set_id NUMBER;
24240 l_adr_value_type_code VARCHAR2(30);
24241 l_adr_value_combination_id NUMBER;
24242 l_adr_value_segment_code VARCHAR2(30);
24243
24244 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
24245 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
24246 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
24247 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
24248
24249 -- 4262811 Variables ------------------------------------------------------------------------------------------
24250 l_entered_amt_idx NUMBER;
24251 l_accted_amt_idx NUMBER;
24252 l_acc_rev_flag VARCHAR2(1);
24253 l_accrual_line_num NUMBER;
24254 l_tmp_amt NUMBER;
24255 l_acc_rev_natural_side_code VARCHAR2(1);
24256
24257 l_num_entries NUMBER;
24258 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
24259 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
24260 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
24261 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
24262 l_recog_line_1 NUMBER;
24263 l_recog_line_2 NUMBER;
24264
24265 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
24266 l_bflow_applied_to_amt NUMBER; -- 5132302
24267 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
24268
24269 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
24270
24271 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
24272 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
24273
24274 ---------------------------------------------------------------------------------------------------------------
24275
24276
24277 --
24278 -- bulk performance
24279 --
24280 l_balance_type_code VARCHAR2(1);
24281 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
24285 -- Upgrade strategy
24282 l_log_module VARCHAR2(240);
24283
24284 --
24286 --
24287 l_actual_upg_option VARCHAR2(1);
24288 l_enc_upg_option VARCHAR2(1);
24289
24290 --
24291 BEGIN
24292 --
24293 IF g_log_enabled THEN
24294 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_76';
24295 END IF;
24296 --
24297 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
24298
24299 trace
24300 (p_msg => 'BEGIN of AcctLineType_76'
24301 ,p_level => C_LEVEL_PROCEDURE
24302 ,p_module => l_log_module);
24303
24304 END IF;
24305 --
24306 l_component_type := 'AMB_JLT';
24307 l_component_code := 'AP_CASH_CLEAR_MAT_BS_INVXRATE';
24308 l_component_type_code := 'S';
24309 l_component_appl_id := 200;
24310 l_amb_context_code := 'DEFAULT';
24311 l_entity_code := 'AP_PAYMENTS';
24312 l_event_class_code := 'FUTURE DATED PAYMENTS';
24313 l_event_type_code := 'FUTURE DATED PAYMENTS_ALL';
24314 l_line_definition_owner_code := 'S';
24315 l_line_definition_code := 'ACCRUAL_FUTURE DATED PAYMENTS1';
24316 --
24317 l_balance_type_code := 'A';
24318 l_segment := NULL;
24319 l_ccid := NULL;
24320 l_adr_transaction_coa_id := NULL;
24321 l_adr_accounting_coa_id := NULL;
24322 l_adr_flexfield_segment_code := NULL;
24323 l_adr_flex_value_set_id := NULL;
24324 l_adr_value_type_code := NULL;
24325 l_adr_value_combination_id := NULL;
24326 l_adr_value_segment_code := NULL;
24327
24328 l_bflow_method_code := 'SAME_ENTRY'; -- 4219869 Business Flow
24329 l_bflow_class_code := 'AP_CASH_CLEARING'; -- 4219869 Business Flow
24330 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
24331 l_budgetary_control_flag := 'N';
24332
24333 l_bflow_applied_to_amt_idx := NULL; -- 5132302
24334 l_bflow_applied_to_amt := NULL; -- 5132302
24335 l_entered_amt_idx := NULL; -- 4262811
24336 l_accted_amt_idx := NULL; -- 4262811
24337 l_acc_rev_flag := NULL; -- 4262811
24338 l_accrual_line_num := NULL; -- 4262811
24339 l_tmp_amt := NULL; -- 4262811
24340 --
24341
24342 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
24343 l_balance_type_code <> 'B' THEN
24344 IF NVL(p_source_57,'
24345 ') = 'ALWAYS_CLEAR' AND
24346 (NVL(p_source_116,'
24347 ') = 'Y' AND
24348 NVL(p_source_10,'
24349 ') = 'BALANCING_SEGMENT') AND
24350 p_source_117 IS NOT NULL AND
24351 NVL(p_source_101,'
24352 ') = 'CASH'
24353 THEN
24354
24355 --
24356 XLA_AE_LINES_PKG.SetNewLine;
24357
24358 p_balance_type_code := l_balance_type_code;
24359 -- set the flag so later we will know whether the gain loss line needs to be created
24360
24361 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
24362 p_actual_flag :='A';
24363 END IF;
24364
24365 --
24366 -- bulk performance
24367 --
24368 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
24369 p_header_num => 0); -- 4262811
24370 --
24371 -- set accounting line options
24372 --
24373 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
24374 p_natural_side_code => 'C'
24375 , p_gain_or_loss_flag => 'N'
24376 , p_gl_transfer_mode_code => 'S'
24377 , p_acct_entry_type_code => 'A'
24378 , p_switch_side_flag => 'Y'
24379 , p_merge_duplicate_code => 'A'
24380 );
24381 --
24382 l_acc_rev_natural_side_code := 'D'; -- 4262811
24383 --
24384 --
24385 -- set accounting line type info
24386 --
24387 xla_ae_lines_pkg.SetAcctLineType
24388 (p_component_type => l_component_type
24389 ,p_event_type_code => l_event_type_code
24390 ,p_line_definition_owner_code => l_line_definition_owner_code
24391 ,p_line_definition_code => l_line_definition_code
24392 ,p_accounting_line_code => l_component_code
24393 ,p_accounting_line_type_code => l_component_type_code
24394 ,p_accounting_line_appl_id => l_component_appl_id
24395 ,p_amb_context_code => l_amb_context_code
24396 ,p_entity_code => l_entity_code
24397 ,p_event_class_code => l_event_class_code);
24398 --
24399 -- set accounting class
24400 --
24401 xla_ae_lines_pkg.SetAcctClass(
24402 p_accounting_class_code => 'CASH_CLEARING'
24403 , p_ae_header_id => l_ae_header_id
24404 );
24405
24406 --
24407 -- set rounding class
24408 --
24409 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
24410 'CASH_CLEARING';
24411
24412 --
24413 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
24414 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
24415 --
24416 -- bulk performance
24417 --
24418 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
24419
24423 -- 4955764
24420 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
24421 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
24422
24424 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
24425 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
24426
24427 -- 4458381 Public Sector Enh
24428
24429 --
24430 -- set accounting attributes for the line type
24431 --
24432 l_entered_amt_idx := 9;
24433 l_accted_amt_idx := 14;
24434 l_bflow_applied_to_amt_idx := NULL; -- 5132302
24435 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
24436 l_rec_acct_attrs.array_char_value(1) := p_source_58;
24437 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_APPLICATION_ID';
24438 l_rec_acct_attrs.array_num_value(2) := p_source_96;
24439 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_DISTRIBUTION_TYPE';
24440 l_rec_acct_attrs.array_char_value(3) := p_source_103;
24441 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_ENTITY_CODE';
24442 l_rec_acct_attrs.array_char_value(4) := p_source_104;
24443 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_FIRST_DIST_ID';
24444 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_105);
24445 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
24446 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_106);
24447 l_rec_acct_attrs.array_acct_attr_code(7) := 'DISTRIBUTION_IDENTIFIER_1';
24448 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_107);
24449 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_TYPE';
24450 l_rec_acct_attrs.array_char_value(8) := p_source_60;
24451 l_rec_acct_attrs.array_acct_attr_code(9) := 'ENTERED_CURRENCY_AMOUNT';
24452 l_rec_acct_attrs.array_num_value(9) := p_source_102;
24453 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_CODE';
24454 l_rec_acct_attrs.array_char_value(10) := p_source_8;
24455 l_rec_acct_attrs.array_acct_attr_code(11) := 'EXCHANGE_DATE';
24456 l_rec_acct_attrs.array_date_value(11) := p_source_120;
24457 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_RATE';
24458 l_rec_acct_attrs.array_num_value(12) := p_source_121;
24459 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE_TYPE';
24460 l_rec_acct_attrs.array_char_value(13) := p_source_122;
24461 l_rec_acct_attrs.array_acct_attr_code(14) := 'LEDGER_AMOUNT';
24462 l_rec_acct_attrs.array_num_value(14) := p_source_119;
24463 l_rec_acct_attrs.array_acct_attr_code(15) := 'OVERRIDE_ACCTD_AMT_FLAG';
24464 l_rec_acct_attrs.array_char_value(15) := p_source_85;
24465 l_rec_acct_attrs.array_acct_attr_code(16) := 'PARTY_ID';
24466 l_rec_acct_attrs.array_num_value(16) := p_source_113;
24467 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_SITE_ID';
24468 l_rec_acct_attrs.array_num_value(17) := p_source_114;
24469 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_TYPE';
24470 l_rec_acct_attrs.array_char_value(18) := p_source_88;
24471 l_rec_acct_attrs.array_acct_attr_code(19) := 'REVERSED_DISTRIBUTION_ID1';
24472 l_rec_acct_attrs.array_num_value(19) := to_char(p_source_115);
24473 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_TYPE';
24474 l_rec_acct_attrs.array_char_value(20) := p_source_60;
24475
24476 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
24477 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
24478
24479 ---------------------------------------------------------------------------------------------------------------
24480 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
24481 ---------------------------------------------------------------------------------------------------------------
24482 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
24483
24484 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
24485 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
24486
24487 IF xla_accounting_cache_pkg.GetValueChar
24488 (p_source_code => 'LEDGER_CATEGORY_CODE'
24489 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
24490 AND l_bflow_method_code = 'PRIOR_ENTRY'
24491 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
24492 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
24493 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
24494 )
24495 THEN
24496 xla_ae_lines_pkg.BflowUpgEntry
24497 (p_business_method_code => l_bflow_method_code
24498 ,p_business_class_code => l_bflow_class_code
24499 ,p_balance_type => l_balance_type_code);
24500 ELSE
24501 NULL;
24502 XLA_AE_LINES_PKG.business_flow_validation(
24503 p_business_method_code => l_bflow_method_code
24504 ,p_business_class_code => l_bflow_class_code
24505 ,p_inherit_description_flag => l_inherit_desc_flag);
24506 END IF;
24507
24508 --
24509 -- call analytical criteria
24510 --
24511
24512 --
24513 -- call description
24514 --
24518 -- Bug 4922099
24515 -- No description or it is inherited.
24516 --
24517 -- call ADRs
24519 --
24520 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
24521 (NVL(l_actual_upg_option, 'N') = 'O') OR
24522 (NVL(l_enc_upg_option, 'N') = 'O')
24523 )
24524 THEN
24525 NULL;
24526 --
24527 --
24528
24529 l_ccid := AcctDerRule_38(
24530 p_application_id => p_application_id
24531 , p_ae_header_id => l_ae_header_id
24532 , p_source_30 => p_source_30
24533 , x_transaction_coa_id => l_adr_transaction_coa_id
24534 , x_accounting_coa_id => l_adr_accounting_coa_id
24535 , x_value_type_code => l_adr_value_type_code
24536 , p_side => 'NA'
24537 );
24538
24539 xla_ae_lines_pkg.set_ccid(
24540 p_code_combination_id => l_ccid
24541 , p_value_type_code => l_adr_value_type_code
24542 , p_transaction_coa_id => l_adr_transaction_coa_id
24543 , p_accounting_coa_id => l_adr_accounting_coa_id
24544 , p_adr_code => 'AP_PMT_CASH_CLEAR'
24545 , p_adr_type_code => 'S'
24546 , p_component_type => l_component_type
24547 , p_component_code => l_component_code
24548 , p_component_type_code => l_component_type_code
24549 , p_component_appl_id => l_component_appl_id
24550 , p_amb_context_code => l_amb_context_code
24551 , p_side => 'NA'
24552 );
24553
24554
24555 xla_ae_lines_pkg.Set_Segment( -- replaced SetSegment
24556 p_to_segment_code => 'GL_BALANCING'
24557 , p_segment_value => C_CHAR
24558 , p_from_segment_code => NULL
24559 , p_from_combination_id => NULL
24560 , p_value_type_code => NULL
24561 , p_transaction_coa_id => null
24562 , p_accounting_coa_id => null
24563 , p_flexfield_segment_code => NULL
24564 , p_flex_value_set_id => NULL
24565 , p_adr_code => NULL
24566 , p_adr_type_code => NULL
24567 , p_component_type => l_component_type
24568 , p_component_code => l_component_code
24569 , p_component_type_code => l_component_type_code
24570 , p_component_appl_id => l_component_appl_id
24571 , p_amb_context_code => l_amb_context_code
24572 , p_entity_code => 'AP_PAYMENTS'
24573 , p_event_class_code => 'FUTURE DATED PAYMENTS'
24574 , p_side => 'NA'
24575 );
24576 --
24577
24578
24579 --
24580 --
24581 END IF;
24582 --
24583 -- Bug 4922099
24584 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
24585 (NVL(l_enc_upg_option, 'N') = 'O')
24586 ) AND
24587 (l_bflow_method_code = 'PRIOR_ENTRY')
24588 )
24589 THEN
24590 IF
24591 --
24592 1 = 2
24593 --
24594 THEN
24595 xla_accounting_err_pkg.build_message
24596 (p_appli_s_name => 'XLA'
24597 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
24598 ,p_token_1 => 'LINE_NUMBER'
24599 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
24600 ,p_token_2 => 'LINE_TYPE_NAME'
24601 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
24602 l_component_type
24603 ,l_component_code
24604 ,l_component_type_code
24605 ,l_component_appl_id
24606 ,l_amb_context_code
24607 ,l_entity_code
24608 ,l_event_class_code
24609 )
24610 ,p_token_3 => 'OWNER'
24611 ,p_value_3 => xla_lookups_pkg.get_meaning(
24612 p_lookup_type => 'XLA_OWNER_TYPE'
24613 ,p_lookup_code => l_component_type_code
24614 )
24615 ,p_token_4 => 'PRODUCT_NAME'
24616 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
24617 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
24618 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
24619 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
24620 ,p_ae_header_id => NULL
24621 );
24622
24626 ,p_level => C_LEVEL_ERROR
24623 IF (C_LEVEL_ERROR>= g_log_level) THEN
24624 trace
24625 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
24627 ,p_module => l_log_module);
24628 END IF;
24629 END IF;
24630 END IF;
24631 --
24632 --
24633 ------------------------------------------------------------------------------------------------
24634 -- 4219869 Business Flow
24635 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
24636 -- Prior Entry. Currently, the following code is always generated.
24637 ------------------------------------------------------------------------------------------------
24638 XLA_AE_LINES_PKG.ValidateCurrentLine;
24639
24640 ------------------------------------------------------------------------------------
24641 -- 4219869 Business Flow
24642 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
24643 ------------------------------------------------------------------------------------
24644 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
24645
24646 ----------------------------------------------------------------------------------
24647 -- 4219869 Business Flow
24648 -- Update journal entry status -- Need to generate this within IF <condition>
24649 ----------------------------------------------------------------------------------
24650 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
24651 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
24652 ,p_balance_type_code => l_balance_type_code
24653 );
24654
24655 -------------------------------------------------------------------------------------------
24656 -- 4262811 - Generate the Accrual Reversal lines
24657 -------------------------------------------------------------------------------------------
24658 BEGIN
24659 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
24660 (g_array_event(p_event_id).array_value_num('header_index'));
24661 IF l_acc_rev_flag IS NULL THEN
24662 l_acc_rev_flag := 'N';
24663 END IF;
24664 EXCEPTION
24665 WHEN OTHERS THEN
24666 l_acc_rev_flag := 'N';
24667 END;
24668 --
24669 IF (l_acc_rev_flag = 'Y') THEN
24670
24671 -- 4645092 ------------------------------------------------------------------------------
24672 -- To allow MPA report to determine if it should generate report process
24673 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
24674 ------------------------------------------------------------------------------------------
24675
24676 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
24677 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
24678 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
24679 -- call ADRs
24680 -- Bug 4922099
24681 --
24682 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
24683 (NVL(l_actual_upg_option, 'N') = 'O') OR
24684 (NVL(l_enc_upg_option, 'N') = 'O')
24685 )
24686 THEN
24687 NULL;
24688 --
24689 --
24690
24691 l_ccid := AcctDerRule_38(
24692 p_application_id => p_application_id
24693 , p_ae_header_id => l_ae_header_id
24694 , p_source_30 => p_source_30
24695 , x_transaction_coa_id => l_adr_transaction_coa_id
24696 , x_accounting_coa_id => l_adr_accounting_coa_id
24697 , x_value_type_code => l_adr_value_type_code
24698 , p_side => 'NA'
24699 );
24700
24701 xla_ae_lines_pkg.set_ccid(
24702 p_code_combination_id => l_ccid
24703 , p_value_type_code => l_adr_value_type_code
24704 , p_transaction_coa_id => l_adr_transaction_coa_id
24705 , p_accounting_coa_id => l_adr_accounting_coa_id
24706 , p_adr_code => 'AP_PMT_CASH_CLEAR'
24707 , p_adr_type_code => 'S'
24708 , p_component_type => l_component_type
24709 , p_component_code => l_component_code
24710 , p_component_type_code => l_component_type_code
24711 , p_component_appl_id => l_component_appl_id
24712 , p_amb_context_code => l_amb_context_code
24713 , p_side => 'NA'
24714 );
24715
24716
24717 xla_ae_lines_pkg.Set_Segment( -- replaced SetSegment
24718 p_to_segment_code => 'GL_BALANCING'
24719 , p_segment_value => C_CHAR
24720 , p_from_segment_code => NULL
24721 , p_from_combination_id => NULL
24722 , p_value_type_code => NULL
24723 , p_transaction_coa_id => null
24724 , p_accounting_coa_id => null
24725 , p_flexfield_segment_code => NULL
24726 , p_flex_value_set_id => NULL
24727 , p_adr_code => NULL
24728 , p_adr_type_code => NULL
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_entity_code => 'AP_PAYMENTS'
24735 , p_event_class_code => 'FUTURE DATED PAYMENTS'
24739
24736 , p_side => 'NA'
24737 );
24738 --
24740
24741 --
24742 --
24743 END IF;
24744
24745 --
24746 -- Update the line information that should be overwritten
24747 --
24748 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
24749 p_header_num => 1);
24750 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
24751
24752 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
24753
24754 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
24755 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
24756 END IF;
24757
24758 --
24759 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
24760 --
24761 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
24762 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
24763 ELSE
24764 ---------------------------------------------------------------------------------------------------
24765 -- 4262811a Switch Sign
24766 ---------------------------------------------------------------------------------------------------
24767 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
24768 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
24769 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
24770 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
24771 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
24772 -- 5132302
24773 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
24774 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
24775
24776 END IF;
24777
24778 -- 4955764
24779 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
24780 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
24781
24782
24783 XLA_AE_LINES_PKG.ValidateCurrentLine;
24784 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
24785
24786 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
24787 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
24788 ,p_balance_type_code => l_balance_type_code);
24789
24790 END IF;
24791
24792 -----------------------------------------------------------------------------------------
24793 -- 4262811 Multiperiod Accounting
24794 -----------------------------------------------------------------------------------------
24795 -- No MPA option is assigned.
24796
24797
24798 END IF;
24799 END IF;
24800 --
24801
24802 --
24803 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
24804 trace
24805 (p_msg => 'END of AcctLineType_76'
24806 ,p_level => C_LEVEL_PROCEDURE
24807 ,p_module => l_log_module);
24808 END IF;
24809 --
24810 EXCEPTION
24811 WHEN xla_exceptions_pkg.application_exception THEN
24812 RAISE;
24813 WHEN OTHERS THEN
24814 xla_exceptions_pkg.raise_message
24815 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_76');
24816 END AcctLineType_76;
24817 --
24818
24819 ---------------------------------------
24820 --
24821 -- PRIVATE FUNCTION
24822 -- AcctLineType_77
24823 --
24824 ---------------------------------------
24825 PROCEDURE AcctLineType_77 (
24826 p_application_id IN NUMBER
24827 ,p_event_id IN NUMBER
24828 ,p_calculate_acctd_flag IN VARCHAR2
24829 ,p_calculate_g_l_flag IN VARCHAR2
24830 ,p_actual_flag IN OUT VARCHAR2
24831 ,p_balance_type_code OUT VARCHAR2
24832 ,p_gain_or_loss_ref OUT VARCHAR2
24833
24834 --Payment Currency Code
24835 , p_source_8 IN VARCHAR2
24836 --When to Account for Payment Option
24837 , p_source_57 IN VARCHAR2
24838 --Accounting Reversal Indicator
24839 , p_source_58 IN VARCHAR2
24840 --Distribution Link Type
24841 , p_source_60 IN VARCHAR2
24842 --Override Accounted Amount Indicator
24843 , p_source_85 IN VARCHAR2
24844 , p_source_85_meaning IN VARCHAR2
24845 --Third Party Type
24846 , p_source_88 IN VARCHAR2
24847 --Invoice Distribution Tax Line Identifier
24848 , p_source_91 IN NUMBER
24849 --Invoice Distribution Summary Tax Line Identifier
24850 , p_source_93 IN NUMBER
24851 --Business Flow Accounts Payable Application Identifier
24852 , p_source_96 IN NUMBER
24853 --Payment Distribution Type
24854 , p_source_101 IN VARCHAR2
24855 , p_source_101_meaning IN VARCHAR2
24856 --Payment Distribution Amount
24857 , p_source_102 IN NUMBER
24858 --Business Flow Payment Distribution Type
24859 , p_source_103 IN VARCHAR2
24860 --Business Flow Payment Entity Code
24861 , p_source_104 IN VARCHAR2
24862 --Business Flow Payment Identifier
24866 --Payment Distribution Reversed Identifier
24863 , p_source_106 IN NUMBER
24864 --Payment Distribution Identifier
24865 , p_source_107 IN NUMBER
24867 , p_source_115 IN NUMBER
24868 --Payment Maturity Date
24869 , p_source_117 IN DATE
24870 --Business Flow Payment Maturity Identifier
24871 , p_source_123 IN NUMBER
24872 --Payment Distribution (Matured Rate) Ledger Amount
24873 , p_source_124 IN NUMBER
24874 )
24875 IS
24876
24877 l_component_type VARCHAR2(80);
24878 l_component_code VARCHAR2(30);
24879 l_component_type_code VARCHAR2(1);
24880 l_component_appl_id INTEGER;
24881 l_amb_context_code VARCHAR2(30);
24882 l_entity_code VARCHAR2(30);
24883 l_event_class_code VARCHAR2(30);
24884 l_ae_header_id NUMBER;
24885 l_event_type_code VARCHAR2(30);
24886 l_line_definition_code VARCHAR2(30);
24887 l_line_definition_owner_code VARCHAR2(1);
24888 --
24889 -- adr variables
24890 l_segment VARCHAR2(30);
24891 l_ccid NUMBER;
24892 l_adr_transaction_coa_id NUMBER;
24893 l_adr_accounting_coa_id NUMBER;
24894 l_adr_flexfield_segment_code VARCHAR2(30);
24895 l_adr_flex_value_set_id NUMBER;
24896 l_adr_value_type_code VARCHAR2(30);
24897 l_adr_value_combination_id NUMBER;
24898 l_adr_value_segment_code VARCHAR2(30);
24899
24900 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
24901 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
24902 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
24903 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
24904
24905 -- 4262811 Variables ------------------------------------------------------------------------------------------
24906 l_entered_amt_idx NUMBER;
24907 l_accted_amt_idx NUMBER;
24908 l_acc_rev_flag VARCHAR2(1);
24909 l_accrual_line_num NUMBER;
24910 l_tmp_amt NUMBER;
24911 l_acc_rev_natural_side_code VARCHAR2(1);
24912
24913 l_num_entries NUMBER;
24914 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
24915 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
24916 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
24917 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
24918 l_recog_line_1 NUMBER;
24919 l_recog_line_2 NUMBER;
24920
24921 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
24922 l_bflow_applied_to_amt NUMBER; -- 5132302
24923 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
24924
24925 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
24926
24927 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
24928 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
24929
24930 ---------------------------------------------------------------------------------------------------------------
24931
24932
24933 --
24934 -- bulk performance
24935 --
24936 l_balance_type_code VARCHAR2(1);
24937 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
24938 l_log_module VARCHAR2(240);
24939
24940 --
24941 -- Upgrade strategy
24942 --
24943 l_actual_upg_option VARCHAR2(1);
24944 l_enc_upg_option VARCHAR2(1);
24945
24946 --
24947 BEGIN
24948 --
24949 IF g_log_enabled THEN
24950 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_77';
24951 END IF;
24952 --
24953 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
24954
24955 trace
24956 (p_msg => 'BEGIN of AcctLineType_77'
24957 ,p_level => C_LEVEL_PROCEDURE
24958 ,p_module => l_log_module);
24959
24960 END IF;
24961 --
24962 l_component_type := 'AMB_JLT';
24963 l_component_code := 'AP_CASH_CLEAR_MAT_CLEAR';
24964 l_component_type_code := 'S';
24965 l_component_appl_id := 200;
24966 l_amb_context_code := 'DEFAULT';
24967 l_entity_code := 'AP_PAYMENTS';
24968 l_event_class_code := 'RECONCILED PAYMENTS';
24969 l_event_type_code := 'RECONCILED PAYMENTS_ALL';
24970 l_line_definition_owner_code := 'S';
24971 l_line_definition_code := 'ACCRUAL_RECONCILED PAYMENTS_A4';
24972 --
24973 l_balance_type_code := 'A';
24974 l_segment := NULL;
24975 l_ccid := NULL;
24976 l_adr_transaction_coa_id := NULL;
24977 l_adr_accounting_coa_id := NULL;
24978 l_adr_flexfield_segment_code := NULL;
24979 l_adr_flex_value_set_id := NULL;
24980 l_adr_value_type_code := NULL;
24981 l_adr_value_combination_id := NULL;
24982 l_adr_value_segment_code := NULL;
24983
24984 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
24985 l_bflow_class_code := 'AP_CASH_CLEARING'; -- 4219869 Business Flow
24986 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
24987 l_budgetary_control_flag := 'N';
24988
24989 l_bflow_applied_to_amt_idx := NULL; -- 5132302
24990 l_bflow_applied_to_amt := NULL; -- 5132302
24994 l_accrual_line_num := NULL; -- 4262811
24991 l_entered_amt_idx := NULL; -- 4262811
24992 l_accted_amt_idx := NULL; -- 4262811
24993 l_acc_rev_flag := NULL; -- 4262811
24995 l_tmp_amt := NULL; -- 4262811
24996 --
24997
24998 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
24999 l_balance_type_code <> 'B' THEN
25000 IF (NVL(p_source_57,'
25001 ') = 'ALWAYS_ALWAYS' OR
25002 NVL(p_source_57,'
25003 ') = 'ALWAYS_CLEAR' OR
25004 NVL(p_source_57,'
25005 ') = 'ALWAYS_ISSUE') AND
25006 NVL(p_source_101,'
25007 ') = 'CASH' AND
25008 p_source_117 IS NOT NULL
25009 THEN
25010
25011 --
25012 XLA_AE_LINES_PKG.SetNewLine;
25013
25014 p_balance_type_code := l_balance_type_code;
25015 -- set the flag so later we will know whether the gain loss line needs to be created
25016
25017 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
25018 p_actual_flag :='A';
25019 END IF;
25020
25021 --
25022 -- bulk performance
25023 --
25024 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
25025 p_header_num => 0); -- 4262811
25026 --
25027 -- set accounting line options
25028 --
25029 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
25030 p_natural_side_code => 'D'
25031 , p_gain_or_loss_flag => 'N'
25032 , p_gl_transfer_mode_code => 'S'
25033 , p_acct_entry_type_code => 'A'
25034 , p_switch_side_flag => 'Y'
25035 , p_merge_duplicate_code => 'A'
25036 );
25037 --
25038 l_acc_rev_natural_side_code := 'C'; -- 4262811
25039 --
25040 --
25041 -- set accounting line type info
25042 --
25043 xla_ae_lines_pkg.SetAcctLineType
25044 (p_component_type => l_component_type
25045 ,p_event_type_code => l_event_type_code
25046 ,p_line_definition_owner_code => l_line_definition_owner_code
25047 ,p_line_definition_code => l_line_definition_code
25048 ,p_accounting_line_code => l_component_code
25049 ,p_accounting_line_type_code => l_component_type_code
25050 ,p_accounting_line_appl_id => l_component_appl_id
25051 ,p_amb_context_code => l_amb_context_code
25052 ,p_entity_code => l_entity_code
25053 ,p_event_class_code => l_event_class_code);
25054 --
25055 -- set accounting class
25056 --
25057 xla_ae_lines_pkg.SetAcctClass(
25058 p_accounting_class_code => 'CASH_CLEARING'
25059 , p_ae_header_id => l_ae_header_id
25060 );
25061
25062 --
25063 -- set rounding class
25064 --
25065 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
25066 'CASH_CLEARING';
25067
25068 --
25069 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
25070 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
25071 --
25072 -- bulk performance
25073 --
25074 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
25075
25076 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
25077 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
25078
25079 -- 4955764
25080 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
25081 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
25082
25083 -- 4458381 Public Sector Enh
25084
25085 --
25086 -- set accounting attributes for the line type
25087 --
25088 l_entered_amt_idx := 10;
25089 l_accted_amt_idx := 12;
25090 l_bflow_applied_to_amt_idx := 2; -- 5132302
25091 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
25092 l_rec_acct_attrs.array_char_value(1) := p_source_58;
25093 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
25094 l_rec_acct_attrs.array_num_value(2) := p_source_102;
25095 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
25096 l_rec_acct_attrs.array_num_value(3) := p_source_96;
25097 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
25098 l_rec_acct_attrs.array_char_value(4) := p_source_103;
25099 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
25100 l_rec_acct_attrs.array_char_value(5) := p_source_104;
25101 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
25102 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_123);
25103 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
25104 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_106);
25105 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
25106 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_107);
25107 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
25108 l_rec_acct_attrs.array_char_value(9) := p_source_60;
25109 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
25110 l_rec_acct_attrs.array_num_value(10) := p_source_102;
25114 l_rec_acct_attrs.array_num_value(12) := p_source_124;
25111 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
25112 l_rec_acct_attrs.array_char_value(11) := p_source_8;
25113 l_rec_acct_attrs.array_acct_attr_code(12) := 'LEDGER_AMOUNT';
25115 l_rec_acct_attrs.array_acct_attr_code(13) := 'OVERRIDE_ACCTD_AMT_FLAG';
25116 l_rec_acct_attrs.array_char_value(13) := p_source_85;
25117 l_rec_acct_attrs.array_acct_attr_code(14) := 'PARTY_TYPE';
25118 l_rec_acct_attrs.array_char_value(14) := p_source_88;
25119 l_rec_acct_attrs.array_acct_attr_code(15) := 'REVERSED_DISTRIBUTION_ID1';
25120 l_rec_acct_attrs.array_num_value(15) := to_char(p_source_115);
25121 l_rec_acct_attrs.array_acct_attr_code(16) := 'REVERSED_DISTRIBUTION_TYPE';
25122 l_rec_acct_attrs.array_char_value(16) := p_source_60;
25123 l_rec_acct_attrs.array_acct_attr_code(17) := 'TAX_LINE_REF_ID';
25124 l_rec_acct_attrs.array_num_value(17) := p_source_91;
25125 l_rec_acct_attrs.array_acct_attr_code(18) := 'TAX_REC_NREC_DIST_REF_ID';
25126 l_rec_acct_attrs.array_num_value(18) := p_source_91;
25127 l_rec_acct_attrs.array_acct_attr_code(19) := 'TAX_SUMMARY_LINE_REF_ID';
25128 l_rec_acct_attrs.array_num_value(19) := p_source_93;
25129
25130 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
25131 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
25132
25133 ---------------------------------------------------------------------------------------------------------------
25134 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
25135 ---------------------------------------------------------------------------------------------------------------
25136 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
25137
25138 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
25139 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
25140
25141 IF xla_accounting_cache_pkg.GetValueChar
25142 (p_source_code => 'LEDGER_CATEGORY_CODE'
25143 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
25144 AND l_bflow_method_code = 'PRIOR_ENTRY'
25145 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
25146 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
25147 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
25148 )
25149 THEN
25150 xla_ae_lines_pkg.BflowUpgEntry
25151 (p_business_method_code => l_bflow_method_code
25152 ,p_business_class_code => l_bflow_class_code
25153 ,p_balance_type => l_balance_type_code);
25154 ELSE
25155 NULL;
25156 XLA_AE_LINES_PKG.business_flow_validation(
25157 p_business_method_code => l_bflow_method_code
25158 ,p_business_class_code => l_bflow_class_code
25159 ,p_inherit_description_flag => l_inherit_desc_flag);
25160 END IF;
25161
25162 --
25163 -- call analytical criteria
25164 --
25165 -- Inherited Analytical Criteria for business flow method of Prior Entry.
25166 --
25167 -- call description
25168 --
25169 -- No description or it is inherited.
25170 --
25171 -- call ADRs
25172 -- Bug 4922099
25173 --
25174 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
25175 (NVL(l_actual_upg_option, 'N') = 'O') OR
25176 (NVL(l_enc_upg_option, 'N') = 'O')
25177 )
25178 THEN
25179 NULL;
25180 --
25181 --
25182
25183 --
25184 --
25185 END IF;
25186 --
25187 -- Bug 4922099
25188 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
25189 (NVL(l_enc_upg_option, 'N') = 'O')
25190 ) AND
25191 (l_bflow_method_code = 'PRIOR_ENTRY')
25192 )
25193 THEN
25194 IF
25195 --
25196 1 = 1
25197 --
25198 THEN
25199 xla_accounting_err_pkg.build_message
25200 (p_appli_s_name => 'XLA'
25201 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
25202 ,p_token_1 => 'LINE_NUMBER'
25203 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
25204 ,p_token_2 => 'LINE_TYPE_NAME'
25205 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
25206 l_component_type
25207 ,l_component_code
25208 ,l_component_type_code
25209 ,l_component_appl_id
25210 ,l_amb_context_code
25211 ,l_entity_code
25212 ,l_event_class_code
25213 )
25214 ,p_token_3 => 'OWNER'
25218 )
25215 ,p_value_3 => xla_lookups_pkg.get_meaning(
25216 p_lookup_type => 'XLA_OWNER_TYPE'
25217 ,p_lookup_code => l_component_type_code
25219 ,p_token_4 => 'PRODUCT_NAME'
25220 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
25221 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
25222 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
25223 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
25224 ,p_ae_header_id => NULL
25225 );
25226
25227 IF (C_LEVEL_ERROR>= g_log_level) THEN
25228 trace
25229 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
25230 ,p_level => C_LEVEL_ERROR
25231 ,p_module => l_log_module);
25232 END IF;
25233 END IF;
25234 END IF;
25235 --
25236 --
25237 ------------------------------------------------------------------------------------------------
25238 -- 4219869 Business Flow
25239 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
25240 -- Prior Entry. Currently, the following code is always generated.
25241 ------------------------------------------------------------------------------------------------
25242 -- No ValidateCurrentLine for business flow method of Prior Entry
25243
25244 ------------------------------------------------------------------------------------
25245 -- 4219869 Business Flow
25246 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
25247 ------------------------------------------------------------------------------------
25248 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
25249
25250 ----------------------------------------------------------------------------------
25251 -- 4219869 Business Flow
25252 -- Update journal entry status -- Need to generate this within IF <condition>
25253 ----------------------------------------------------------------------------------
25254 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
25255 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
25256 ,p_balance_type_code => l_balance_type_code
25257 );
25258
25259 -------------------------------------------------------------------------------------------
25260 -- 4262811 - Generate the Accrual Reversal lines
25261 -------------------------------------------------------------------------------------------
25262 BEGIN
25263 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
25264 (g_array_event(p_event_id).array_value_num('header_index'));
25265 IF l_acc_rev_flag IS NULL THEN
25266 l_acc_rev_flag := 'N';
25267 END IF;
25268 EXCEPTION
25269 WHEN OTHERS THEN
25270 l_acc_rev_flag := 'N';
25271 END;
25272 --
25273 IF (l_acc_rev_flag = 'Y') THEN
25274
25275 -- 4645092 ------------------------------------------------------------------------------
25276 -- To allow MPA report to determine if it should generate report process
25277 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
25278 ------------------------------------------------------------------------------------------
25279
25280 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
25281 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
25282 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
25283 -- call ADRs
25284 -- Bug 4922099
25285 --
25286 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
25287 (NVL(l_actual_upg_option, 'N') = 'O') OR
25288 (NVL(l_enc_upg_option, 'N') = 'O')
25289 )
25290 THEN
25291 NULL;
25292 --
25293 --
25294
25295 --
25296 --
25297 END IF;
25298
25299 --
25300 -- Update the line information that should be overwritten
25301 --
25302 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
25303 p_header_num => 1);
25304 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
25305
25306 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
25307
25308 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
25309 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
25310 END IF;
25311
25312 --
25313 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
25314 --
25315 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
25316 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
25317 ELSE
25321 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
25318 ---------------------------------------------------------------------------------------------------
25319 -- 4262811a Switch Sign
25320 ---------------------------------------------------------------------------------------------------
25322 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
25323 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
25324 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
25325 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
25326 -- 5132302
25327 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
25328 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
25329
25330 END IF;
25331
25332 -- 4955764
25333 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
25334 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
25335
25336
25337 XLA_AE_LINES_PKG.ValidateCurrentLine;
25338 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
25339
25340 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
25341 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
25342 ,p_balance_type_code => l_balance_type_code);
25343
25344 END IF;
25345
25346 -----------------------------------------------------------------------------------------
25347 -- 4262811 Multiperiod Accounting
25348 -----------------------------------------------------------------------------------------
25349 -- No MPA option is assigned.
25350
25351
25352 END IF;
25353 END IF;
25354 --
25355
25356 --
25357 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
25358 trace
25359 (p_msg => 'END of AcctLineType_77'
25360 ,p_level => C_LEVEL_PROCEDURE
25361 ,p_module => l_log_module);
25362 END IF;
25363 --
25364 EXCEPTION
25365 WHEN xla_exceptions_pkg.application_exception THEN
25366 RAISE;
25367 WHEN OTHERS THEN
25368 xla_exceptions_pkg.raise_message
25369 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_77');
25370 END AcctLineType_77;
25371 --
25372
25373 ---------------------------------------
25374 --
25375 -- PRIVATE FUNCTION
25376 -- AcctLineType_78
25377 --
25378 ---------------------------------------
25379 PROCEDURE AcctLineType_78 (
25380 p_application_id IN NUMBER
25381 ,p_event_id IN NUMBER
25382 ,p_calculate_acctd_flag IN VARCHAR2
25383 ,p_calculate_g_l_flag IN VARCHAR2
25384 ,p_actual_flag IN OUT VARCHAR2
25385 ,p_balance_type_code OUT VARCHAR2
25386 ,p_gain_or_loss_ref OUT VARCHAR2
25387
25388 --Payment Currency Code
25389 , p_source_8 IN VARCHAR2
25390 --Bank Cash Clearing Account
25391 , p_source_30 IN NUMBER
25392 --Automatic Offsets Flag
25393 , p_source_43 IN VARCHAR2
25394 , p_source_43_meaning IN VARCHAR2
25395 --When to Account for Payment Option
25396 , p_source_57 IN VARCHAR2
25397 --Accounting Reversal Indicator
25398 , p_source_58 IN VARCHAR2
25399 --Distribution Link Type
25400 , p_source_60 IN VARCHAR2
25401 --Override Accounted Amount Indicator
25402 , p_source_85 IN VARCHAR2
25403 , p_source_85_meaning IN VARCHAR2
25404 --Third Party Type
25405 , p_source_88 IN VARCHAR2
25406 --Invoice Distribution Tax Line Identifier
25407 , p_source_91 IN NUMBER
25408 --Invoice Distribution Tax Distribution Identifier from Tax
25409 , p_source_92 IN NUMBER
25410 --Invoice Distribution Summary Tax Line Identifier
25411 , p_source_93 IN NUMBER
25412 --Business Flow Accounts Payable Application Identifier
25413 , p_source_96 IN NUMBER
25414 --Business Flow Invoice Distribution Type
25415 , p_source_97 IN VARCHAR2
25416 --Business Flow Invoice Entity Code
25417 , p_source_98 IN VARCHAR2
25418 --Business Flow Invoice Distribution Identifier
25419 , p_source_99 IN NUMBER
25420 --Business Flow Invoice Identifier
25421 , p_source_100 IN NUMBER
25422 --Payment Distribution Type
25423 , p_source_101 IN VARCHAR2
25424 , p_source_101_meaning IN VARCHAR2
25425 --Payment Distribution Amount
25426 , p_source_102 IN NUMBER
25427 --Payment Distribution Identifier
25428 , p_source_107 IN NUMBER
25429 --Payment Supplier Identifier
25430 , p_source_113 IN NUMBER
25431 --Payment Supplier Site Identifier
25432 , p_source_114 IN NUMBER
25433 --Payment Distribution Reversed Identifier
25434 , p_source_115 IN NUMBER
25435 --Pooled Bank Account Option
25436 , p_source_116 IN VARCHAR2
25437 , p_source_116_meaning IN VARCHAR2
25438 --Payment Maturity Date
25439 , p_source_117 IN DATE
25440 --Payment Distribution (Payment Rate) Ledger Amount
25441 , p_source_118 IN NUMBER
25442 --Payment Exchange Date
25446 --Payment Exchange Rate Type
25443 , p_source_120 IN DATE
25444 --Payment Exchange Rate
25445 , p_source_121 IN NUMBER
25447 , p_source_122 IN VARCHAR2
25448 --Payment Type
25449 , p_source_125 IN VARCHAR2
25450 , p_source_125_meaning IN VARCHAR2
25451 --Payment Processing Type
25452 , p_source_126 IN VARCHAR2
25453 --Invoice Distribution Amount of the Payment Distribution
25454 , p_source_127 IN NUMBER
25455 )
25456 IS
25457
25458 l_component_type VARCHAR2(80);
25459 l_component_code VARCHAR2(30);
25460 l_component_type_code VARCHAR2(1);
25461 l_component_appl_id INTEGER;
25462 l_amb_context_code VARCHAR2(30);
25463 l_entity_code VARCHAR2(30);
25464 l_event_class_code VARCHAR2(30);
25465 l_ae_header_id NUMBER;
25466 l_event_type_code VARCHAR2(30);
25467 l_line_definition_code VARCHAR2(30);
25468 l_line_definition_owner_code VARCHAR2(1);
25469 --
25470 -- adr variables
25471 l_segment VARCHAR2(30);
25472 l_ccid NUMBER;
25473 l_adr_transaction_coa_id NUMBER;
25474 l_adr_accounting_coa_id NUMBER;
25475 l_adr_flexfield_segment_code VARCHAR2(30);
25476 l_adr_flex_value_set_id NUMBER;
25477 l_adr_value_type_code VARCHAR2(30);
25478 l_adr_value_combination_id NUMBER;
25479 l_adr_value_segment_code VARCHAR2(30);
25480
25481 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
25482 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
25483 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
25484 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
25485
25486 -- 4262811 Variables ------------------------------------------------------------------------------------------
25487 l_entered_amt_idx NUMBER;
25488 l_accted_amt_idx NUMBER;
25489 l_acc_rev_flag VARCHAR2(1);
25490 l_accrual_line_num NUMBER;
25491 l_tmp_amt NUMBER;
25492 l_acc_rev_natural_side_code VARCHAR2(1);
25493
25494 l_num_entries NUMBER;
25495 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
25496 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
25497 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
25498 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
25499 l_recog_line_1 NUMBER;
25500 l_recog_line_2 NUMBER;
25501
25502 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
25503 l_bflow_applied_to_amt NUMBER; -- 5132302
25504 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
25505
25506 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
25507
25508 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
25509 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
25510
25511 ---------------------------------------------------------------------------------------------------------------
25512
25513
25514 --
25515 -- bulk performance
25516 --
25517 l_balance_type_code VARCHAR2(1);
25518 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
25519 l_log_module VARCHAR2(240);
25520
25521 --
25522 -- Upgrade strategy
25523 --
25524 l_actual_upg_option VARCHAR2(1);
25525 l_enc_upg_option VARCHAR2(1);
25526
25527 --
25528 BEGIN
25529 --
25530 IF g_log_enabled THEN
25531 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_78';
25532 END IF;
25533 --
25534 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
25535
25536 trace
25537 (p_msg => 'BEGIN of AcctLineType_78'
25538 ,p_level => C_LEVEL_PROCEDURE
25539 ,p_module => l_log_module);
25540
25541 END IF;
25542 --
25543 l_component_type := 'AMB_JLT';
25544 l_component_code := 'AP_CASH_CLEAR_PMT';
25545 l_component_type_code := 'S';
25546 l_component_appl_id := 200;
25547 l_amb_context_code := 'DEFAULT';
25548 l_entity_code := 'AP_PAYMENTS';
25549 l_event_class_code := 'PAYMENTS';
25550 l_event_type_code := 'PAYMENTS_ALL';
25551 l_line_definition_owner_code := 'S';
25552 l_line_definition_code := 'ACCRUAL_PAYMENTS_ALL';
25553 --
25554 l_balance_type_code := 'A';
25555 l_segment := NULL;
25556 l_ccid := NULL;
25557 l_adr_transaction_coa_id := NULL;
25558 l_adr_accounting_coa_id := NULL;
25559 l_adr_flexfield_segment_code := NULL;
25560 l_adr_flex_value_set_id := NULL;
25561 l_adr_value_type_code := NULL;
25562 l_adr_value_combination_id := NULL;
25563 l_adr_value_segment_code := NULL;
25564
25565 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
25566 l_bflow_class_code := 'AP_CASH_CLEARING'; -- 4219869 Business Flow
25567 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
25568 l_budgetary_control_flag := 'N';
25569
25570 l_bflow_applied_to_amt_idx := NULL; -- 5132302
25571 l_bflow_applied_to_amt := NULL; -- 5132302
25572 l_entered_amt_idx := NULL; -- 4262811
25576 l_tmp_amt := NULL; -- 4262811
25573 l_accted_amt_idx := NULL; -- 4262811
25574 l_acc_rev_flag := NULL; -- 4262811
25575 l_accrual_line_num := NULL; -- 4262811
25577 --
25578
25579 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
25580 l_balance_type_code <> 'B' THEN
25581 IF NVL(p_source_57,'
25582 ') = 'ALWAYS_ALWAYS' AND
25583 (NVL(p_source_43,'
25584 ') <> 'Y' OR
25585 NVL(p_source_43,'
25586 ') = 'Y' AND
25587 NVL(p_source_116,'
25588 ') <> 'Y') AND
25589 p_source_117 IS NULL AND
25590 NVL(p_source_101,'
25591 ') = 'CASH' AND
25592 NVL(p_source_125,'
25593 ') <> 'R' AND
25594 NVL(p_source_126,'
25595 ') <> 'PAYMENTCARD'
25596 THEN
25597
25598 --
25599 XLA_AE_LINES_PKG.SetNewLine;
25600
25601 p_balance_type_code := l_balance_type_code;
25602 -- set the flag so later we will know whether the gain loss line needs to be created
25603
25604 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
25605 p_actual_flag :='A';
25606 END IF;
25607
25608 --
25609 -- bulk performance
25610 --
25611 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
25612 p_header_num => 0); -- 4262811
25613 --
25614 -- set accounting line options
25615 --
25616 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
25617 p_natural_side_code => 'C'
25618 , p_gain_or_loss_flag => 'N'
25619 , p_gl_transfer_mode_code => 'S'
25620 , p_acct_entry_type_code => 'A'
25621 , p_switch_side_flag => 'Y'
25622 , p_merge_duplicate_code => 'A'
25623 );
25624 --
25625 l_acc_rev_natural_side_code := 'D'; -- 4262811
25626 --
25627 --
25628 -- set accounting line type info
25629 --
25630 xla_ae_lines_pkg.SetAcctLineType
25631 (p_component_type => l_component_type
25632 ,p_event_type_code => l_event_type_code
25633 ,p_line_definition_owner_code => l_line_definition_owner_code
25634 ,p_line_definition_code => l_line_definition_code
25635 ,p_accounting_line_code => l_component_code
25636 ,p_accounting_line_type_code => l_component_type_code
25637 ,p_accounting_line_appl_id => l_component_appl_id
25638 ,p_amb_context_code => l_amb_context_code
25639 ,p_entity_code => l_entity_code
25640 ,p_event_class_code => l_event_class_code);
25641 --
25642 -- set accounting class
25643 --
25644 xla_ae_lines_pkg.SetAcctClass(
25645 p_accounting_class_code => 'CASH_CLEARING'
25646 , p_ae_header_id => l_ae_header_id
25647 );
25648
25649 --
25650 -- set rounding class
25651 --
25652 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
25653 'CASH_CLEARING';
25654
25655 --
25656 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
25657 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
25658 --
25659 -- bulk performance
25660 --
25661 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
25662
25663 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
25664 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
25665
25666 -- 4955764
25667 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
25668 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
25669
25670 -- 4458381 Public Sector Enh
25671
25672 --
25673 -- set accounting attributes for the line type
25674 --
25675 l_entered_amt_idx := 10;
25676 l_accted_amt_idx := 15;
25677 l_bflow_applied_to_amt_idx := 2; -- 5132302
25678 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
25679 l_rec_acct_attrs.array_char_value(1) := p_source_58;
25680 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
25681 l_rec_acct_attrs.array_num_value(2) := p_source_127;
25682 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
25683 l_rec_acct_attrs.array_num_value(3) := p_source_96;
25684 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
25685 l_rec_acct_attrs.array_char_value(4) := p_source_97;
25686 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
25687 l_rec_acct_attrs.array_char_value(5) := p_source_98;
25688 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
25689 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_99);
25690 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
25691 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_100);
25692 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
25693 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_107);
25694 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
25695 l_rec_acct_attrs.array_char_value(9) := p_source_60;
25696 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
25700 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
25697 l_rec_acct_attrs.array_num_value(10) := p_source_102;
25698 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
25699 l_rec_acct_attrs.array_char_value(11) := p_source_8;
25701 l_rec_acct_attrs.array_date_value(12) := p_source_120;
25702 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
25703 l_rec_acct_attrs.array_num_value(13) := p_source_121;
25704 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
25705 l_rec_acct_attrs.array_char_value(14) := p_source_122;
25706 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
25707 l_rec_acct_attrs.array_num_value(15) := p_source_118;
25708 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
25709 l_rec_acct_attrs.array_char_value(16) := p_source_85;
25710 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
25711 l_rec_acct_attrs.array_num_value(17) := p_source_113;
25712 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
25713 l_rec_acct_attrs.array_num_value(18) := p_source_114;
25714 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
25715 l_rec_acct_attrs.array_char_value(19) := p_source_88;
25716 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
25717 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_115);
25718 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
25719 l_rec_acct_attrs.array_char_value(21) := p_source_60;
25720 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
25721 l_rec_acct_attrs.array_num_value(22) := p_source_91;
25722 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
25723 l_rec_acct_attrs.array_num_value(23) := p_source_92;
25724 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
25725 l_rec_acct_attrs.array_num_value(24) := p_source_93;
25726
25727 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
25728 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
25729
25730 ---------------------------------------------------------------------------------------------------------------
25731 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
25732 ---------------------------------------------------------------------------------------------------------------
25733 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
25734
25735 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
25736 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
25737
25738 IF xla_accounting_cache_pkg.GetValueChar
25739 (p_source_code => 'LEDGER_CATEGORY_CODE'
25740 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
25741 AND l_bflow_method_code = 'PRIOR_ENTRY'
25742 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
25743 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
25744 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
25745 )
25746 THEN
25747 xla_ae_lines_pkg.BflowUpgEntry
25748 (p_business_method_code => l_bflow_method_code
25749 ,p_business_class_code => l_bflow_class_code
25750 ,p_balance_type => l_balance_type_code);
25751 ELSE
25752 NULL;
25753 -- No business flow processing for business flow method of NONE.
25754 END IF;
25755
25756 --
25757 -- call analytical criteria
25758 --
25759
25760 --
25761 -- call description
25762 --
25763 -- No description or it is inherited.
25764 --
25765 -- call ADRs
25766 -- Bug 4922099
25767 --
25768 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
25769 (NVL(l_actual_upg_option, 'N') = 'O') OR
25770 (NVL(l_enc_upg_option, 'N') = 'O')
25771 )
25772 THEN
25773 NULL;
25774 --
25775 --
25776
25777 l_ccid := AcctDerRule_38(
25778 p_application_id => p_application_id
25779 , p_ae_header_id => l_ae_header_id
25780 , p_source_30 => p_source_30
25781 , x_transaction_coa_id => l_adr_transaction_coa_id
25782 , x_accounting_coa_id => l_adr_accounting_coa_id
25783 , x_value_type_code => l_adr_value_type_code
25784 , p_side => 'NA'
25785 );
25786
25787 xla_ae_lines_pkg.set_ccid(
25788 p_code_combination_id => l_ccid
25789 , p_value_type_code => l_adr_value_type_code
25790 , p_transaction_coa_id => l_adr_transaction_coa_id
25791 , p_accounting_coa_id => l_adr_accounting_coa_id
25792 , p_adr_code => 'AP_PMT_CASH_CLEAR'
25793 , p_adr_type_code => 'S'
25794 , p_component_type => l_component_type
25795 , p_component_code => l_component_code
25796 , p_component_type_code => l_component_type_code
25797 , p_component_appl_id => l_component_appl_id
25798 , p_amb_context_code => l_amb_context_code
25799 , p_side => 'NA'
25800 );
25801
25802
25803 --
25804 --
25805 END IF;
25806 --
25807 -- Bug 4922099
25811 (l_bflow_method_code = 'PRIOR_ENTRY')
25808 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
25809 (NVL(l_enc_upg_option, 'N') = 'O')
25810 ) AND
25812 )
25813 THEN
25814 IF
25815 --
25816 1 = 2
25817 --
25818 THEN
25819 xla_accounting_err_pkg.build_message
25820 (p_appli_s_name => 'XLA'
25821 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
25822 ,p_token_1 => 'LINE_NUMBER'
25823 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
25824 ,p_token_2 => 'LINE_TYPE_NAME'
25825 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
25826 l_component_type
25827 ,l_component_code
25828 ,l_component_type_code
25829 ,l_component_appl_id
25830 ,l_amb_context_code
25831 ,l_entity_code
25832 ,l_event_class_code
25833 )
25834 ,p_token_3 => 'OWNER'
25835 ,p_value_3 => xla_lookups_pkg.get_meaning(
25836 p_lookup_type => 'XLA_OWNER_TYPE'
25837 ,p_lookup_code => l_component_type_code
25838 )
25839 ,p_token_4 => 'PRODUCT_NAME'
25840 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
25841 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
25842 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
25843 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
25844 ,p_ae_header_id => NULL
25845 );
25846
25847 IF (C_LEVEL_ERROR>= g_log_level) THEN
25848 trace
25849 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
25850 ,p_level => C_LEVEL_ERROR
25851 ,p_module => l_log_module);
25852 END IF;
25853 END IF;
25854 END IF;
25855 --
25856 --
25857 ------------------------------------------------------------------------------------------------
25858 -- 4219869 Business Flow
25859 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
25860 -- Prior Entry. Currently, the following code is always generated.
25861 ------------------------------------------------------------------------------------------------
25862 XLA_AE_LINES_PKG.ValidateCurrentLine;
25863
25864 ------------------------------------------------------------------------------------
25865 -- 4219869 Business Flow
25866 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
25867 ------------------------------------------------------------------------------------
25868 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
25869
25870 ----------------------------------------------------------------------------------
25871 -- 4219869 Business Flow
25872 -- Update journal entry status -- Need to generate this within IF <condition>
25873 ----------------------------------------------------------------------------------
25874 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
25875 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
25876 ,p_balance_type_code => l_balance_type_code
25877 );
25878
25879 -------------------------------------------------------------------------------------------
25880 -- 4262811 - Generate the Accrual Reversal lines
25881 -------------------------------------------------------------------------------------------
25882 BEGIN
25883 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
25884 (g_array_event(p_event_id).array_value_num('header_index'));
25885 IF l_acc_rev_flag IS NULL THEN
25886 l_acc_rev_flag := 'N';
25887 END IF;
25888 EXCEPTION
25889 WHEN OTHERS THEN
25890 l_acc_rev_flag := 'N';
25891 END;
25892 --
25893 IF (l_acc_rev_flag = 'Y') THEN
25894
25895 -- 4645092 ------------------------------------------------------------------------------
25896 -- To allow MPA report to determine if it should generate report process
25897 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
25898 ------------------------------------------------------------------------------------------
25899
25900 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
25901 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
25905 --
25902 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
25903 -- call ADRs
25904 -- Bug 4922099
25906 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
25907 (NVL(l_actual_upg_option, 'N') = 'O') OR
25908 (NVL(l_enc_upg_option, 'N') = 'O')
25909 )
25910 THEN
25911 NULL;
25912 --
25913 --
25914
25915 l_ccid := AcctDerRule_38(
25916 p_application_id => p_application_id
25917 , p_ae_header_id => l_ae_header_id
25918 , p_source_30 => p_source_30
25919 , x_transaction_coa_id => l_adr_transaction_coa_id
25920 , x_accounting_coa_id => l_adr_accounting_coa_id
25921 , x_value_type_code => l_adr_value_type_code
25922 , p_side => 'NA'
25923 );
25924
25925 xla_ae_lines_pkg.set_ccid(
25926 p_code_combination_id => l_ccid
25927 , p_value_type_code => l_adr_value_type_code
25928 , p_transaction_coa_id => l_adr_transaction_coa_id
25929 , p_accounting_coa_id => l_adr_accounting_coa_id
25930 , p_adr_code => 'AP_PMT_CASH_CLEAR'
25931 , p_adr_type_code => 'S'
25932 , p_component_type => l_component_type
25933 , p_component_code => l_component_code
25934 , p_component_type_code => l_component_type_code
25935 , p_component_appl_id => l_component_appl_id
25936 , p_amb_context_code => l_amb_context_code
25937 , p_side => 'NA'
25938 );
25939
25940
25941 --
25942 --
25943 END IF;
25944
25945 --
25946 -- Update the line information that should be overwritten
25947 --
25948 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
25949 p_header_num => 1);
25950 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
25951
25952 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
25953
25954 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
25955 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
25956 END IF;
25957
25958 --
25959 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
25960 --
25961 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
25962 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
25963 ELSE
25964 ---------------------------------------------------------------------------------------------------
25965 -- 4262811a Switch Sign
25966 ---------------------------------------------------------------------------------------------------
25967 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
25968 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
25969 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
25970 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
25971 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
25972 -- 5132302
25973 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
25974 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
25975
25976 END IF;
25977
25978 -- 4955764
25979 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
25980 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
25981
25982
25983 XLA_AE_LINES_PKG.ValidateCurrentLine;
25984 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
25985
25986 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
25987 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
25988 ,p_balance_type_code => l_balance_type_code);
25989
25990 END IF;
25991
25992 -----------------------------------------------------------------------------------------
25993 -- 4262811 Multiperiod Accounting
25994 -----------------------------------------------------------------------------------------
25995 -- No MPA option is assigned.
25996
25997
25998 END IF;
25999 END IF;
26000 --
26001
26002 --
26003 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
26004 trace
26005 (p_msg => 'END of AcctLineType_78'
26006 ,p_level => C_LEVEL_PROCEDURE
26007 ,p_module => l_log_module);
26008 END IF;
26009 --
26010 EXCEPTION
26011 WHEN xla_exceptions_pkg.application_exception THEN
26012 RAISE;
26013 WHEN OTHERS THEN
26014 xla_exceptions_pkg.raise_message
26015 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_78');
26016 END AcctLineType_78;
26017 --
26018
26019 ---------------------------------------
26020 --
26021 -- PRIVATE FUNCTION
26022 -- AcctLineType_79
26023 --
26027 ,p_event_id IN NUMBER
26024 ---------------------------------------
26025 PROCEDURE AcctLineType_79 (
26026 p_application_id IN NUMBER
26028 ,p_calculate_acctd_flag IN VARCHAR2
26029 ,p_calculate_g_l_flag IN VARCHAR2
26030 ,p_actual_flag IN OUT VARCHAR2
26031 ,p_balance_type_code OUT VARCHAR2
26032 ,p_gain_or_loss_ref OUT VARCHAR2
26033
26034 --Payment Currency Code
26035 , p_source_8 IN VARCHAR2
26036 --Automatic Offsets Value
26037 , p_source_10 IN VARCHAR2
26038 , p_source_10_meaning IN VARCHAR2
26039 --Bank Cash Clearing Account
26040 , p_source_30 IN NUMBER
26041 --When to Account for Payment Option
26042 , p_source_57 IN VARCHAR2
26043 --Accounting Reversal Indicator
26044 , p_source_58 IN VARCHAR2
26045 --Distribution Link Type
26046 , p_source_60 IN VARCHAR2
26047 --Override Accounted Amount Indicator
26048 , p_source_85 IN VARCHAR2
26049 , p_source_85_meaning IN VARCHAR2
26050 --Third Party Type
26051 , p_source_88 IN VARCHAR2
26052 --Invoice Distribution Tax Line Identifier
26053 , p_source_91 IN NUMBER
26054 --Invoice Distribution Tax Distribution Identifier from Tax
26055 , p_source_92 IN NUMBER
26056 --Invoice Distribution Summary Tax Line Identifier
26057 , p_source_93 IN NUMBER
26058 --Business Flow Accounts Payable Application Identifier
26059 , p_source_96 IN NUMBER
26060 --Business Flow Invoice Distribution Type
26061 , p_source_97 IN VARCHAR2
26062 --Business Flow Invoice Entity Code
26063 , p_source_98 IN VARCHAR2
26064 --Business Flow Invoice Distribution Identifier
26065 , p_source_99 IN NUMBER
26066 --Business Flow Invoice Identifier
26067 , p_source_100 IN NUMBER
26068 --Payment Distribution Type
26069 , p_source_101 IN VARCHAR2
26070 , p_source_101_meaning IN VARCHAR2
26071 --Payment Distribution Amount
26072 , p_source_102 IN NUMBER
26073 --Payment Distribution Identifier
26074 , p_source_107 IN NUMBER
26075 --Payment Supplier Identifier
26076 , p_source_113 IN NUMBER
26077 --Payment Supplier Site Identifier
26078 , p_source_114 IN NUMBER
26079 --Payment Distribution Reversed Identifier
26080 , p_source_115 IN NUMBER
26081 --Pooled Bank Account Option
26082 , p_source_116 IN VARCHAR2
26083 , p_source_116_meaning IN VARCHAR2
26084 --Payment Maturity Date
26085 , p_source_117 IN DATE
26086 --Payment Distribution (Payment Rate) Ledger Amount
26087 , p_source_118 IN NUMBER
26088 --Payment Exchange Date
26089 , p_source_120 IN DATE
26090 --Payment Exchange Rate
26091 , p_source_121 IN NUMBER
26092 --Payment Exchange Rate Type
26093 , p_source_122 IN VARCHAR2
26094 --Payment Type
26095 , p_source_125 IN VARCHAR2
26096 , p_source_125_meaning IN VARCHAR2
26097 --Payment Processing Type
26098 , p_source_126 IN VARCHAR2
26099 --Invoice Distribution Amount of the Payment Distribution
26100 , p_source_127 IN NUMBER
26101 )
26102 IS
26103
26104 l_component_type VARCHAR2(80);
26105 l_component_code VARCHAR2(30);
26106 l_component_type_code VARCHAR2(1);
26107 l_component_appl_id INTEGER;
26108 l_amb_context_code VARCHAR2(30);
26109 l_entity_code VARCHAR2(30);
26110 l_event_class_code VARCHAR2(30);
26111 l_ae_header_id NUMBER;
26112 l_event_type_code VARCHAR2(30);
26113 l_line_definition_code VARCHAR2(30);
26114 l_line_definition_owner_code VARCHAR2(1);
26115 --
26116 -- adr variables
26117 l_segment VARCHAR2(30);
26118 l_ccid NUMBER;
26119 l_adr_transaction_coa_id NUMBER;
26120 l_adr_accounting_coa_id NUMBER;
26121 l_adr_flexfield_segment_code VARCHAR2(30);
26122 l_adr_flex_value_set_id NUMBER;
26123 l_adr_value_type_code VARCHAR2(30);
26124 l_adr_value_combination_id NUMBER;
26125 l_adr_value_segment_code VARCHAR2(30);
26126
26127 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
26128 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
26129 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
26130 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
26131
26132 -- 4262811 Variables ------------------------------------------------------------------------------------------
26133 l_entered_amt_idx NUMBER;
26134 l_accted_amt_idx NUMBER;
26135 l_acc_rev_flag VARCHAR2(1);
26136 l_accrual_line_num NUMBER;
26137 l_tmp_amt NUMBER;
26138 l_acc_rev_natural_side_code VARCHAR2(1);
26139
26140 l_num_entries NUMBER;
26141 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
26142 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
26143 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
26144 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
26145 l_recog_line_1 NUMBER;
26146 l_recog_line_2 NUMBER;
26147
26148 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
26152 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
26149 l_bflow_applied_to_amt NUMBER; -- 5132302
26150 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
26151
26153
26154 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
26155 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
26156
26157 ---------------------------------------------------------------------------------------------------------------
26158
26159
26160 --
26161 -- bulk performance
26162 --
26163 l_balance_type_code VARCHAR2(1);
26164 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
26165 l_log_module VARCHAR2(240);
26166
26167 --
26168 -- Upgrade strategy
26169 --
26170 l_actual_upg_option VARCHAR2(1);
26171 l_enc_upg_option VARCHAR2(1);
26172
26173 --
26174 BEGIN
26175 --
26176 IF g_log_enabled THEN
26177 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_79';
26178 END IF;
26179 --
26180 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
26181
26182 trace
26183 (p_msg => 'BEGIN of AcctLineType_79'
26184 ,p_level => C_LEVEL_PROCEDURE
26185 ,p_module => l_log_module);
26186
26187 END IF;
26188 --
26189 l_component_type := 'AMB_JLT';
26190 l_component_code := 'AP_CASH_CLEAR_PMT_AOS_AS';
26191 l_component_type_code := 'S';
26192 l_component_appl_id := 200;
26193 l_amb_context_code := 'DEFAULT';
26194 l_entity_code := 'AP_PAYMENTS';
26195 l_event_class_code := 'PAYMENTS';
26196 l_event_type_code := 'PAYMENTS_ALL';
26197 l_line_definition_owner_code := 'S';
26198 l_line_definition_code := 'ACCRUAL_PAYMENTS_ALL';
26199 --
26200 l_balance_type_code := 'A';
26201 l_segment := NULL;
26202 l_ccid := NULL;
26203 l_adr_transaction_coa_id := NULL;
26204 l_adr_accounting_coa_id := NULL;
26205 l_adr_flexfield_segment_code := NULL;
26206 l_adr_flex_value_set_id := NULL;
26207 l_adr_value_type_code := NULL;
26208 l_adr_value_combination_id := NULL;
26209 l_adr_value_segment_code := NULL;
26210
26211 l_bflow_method_code := 'SAME_ENTRY'; -- 4219869 Business Flow
26212 l_bflow_class_code := 'AP_CASH_CLEARING'; -- 4219869 Business Flow
26213 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
26214 l_budgetary_control_flag := 'N';
26215
26216 l_bflow_applied_to_amt_idx := NULL; -- 5132302
26217 l_bflow_applied_to_amt := NULL; -- 5132302
26218 l_entered_amt_idx := NULL; -- 4262811
26219 l_accted_amt_idx := NULL; -- 4262811
26220 l_acc_rev_flag := NULL; -- 4262811
26221 l_accrual_line_num := NULL; -- 4262811
26222 l_tmp_amt := NULL; -- 4262811
26223 --
26224
26225 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
26226 l_balance_type_code <> 'B' THEN
26227 IF NVL(p_source_57,'
26228 ') = 'ALWAYS_ALWAYS' AND
26229 (NVL(p_source_116,'
26230 ') = 'Y' AND
26231 NVL(p_source_10,'
26232 ') = 'ACCOUNT_SEGMENT_VALUE') AND
26233 p_source_117 IS NULL AND
26234 NVL(p_source_101,'
26235 ') = 'CASH' AND
26236 NVL(p_source_125,'
26237 ') <> 'R' AND
26238 NVL(p_source_126,'
26239 ') <> 'PAYMENTCARD'
26240 THEN
26241
26242 --
26243 XLA_AE_LINES_PKG.SetNewLine;
26244
26245 p_balance_type_code := l_balance_type_code;
26246 -- set the flag so later we will know whether the gain loss line needs to be created
26247
26248 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
26249 p_actual_flag :='A';
26250 END IF;
26251
26252 --
26253 -- bulk performance
26254 --
26255 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
26256 p_header_num => 0); -- 4262811
26257 --
26258 -- set accounting line options
26259 --
26260 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
26261 p_natural_side_code => 'C'
26262 , p_gain_or_loss_flag => 'N'
26263 , p_gl_transfer_mode_code => 'S'
26264 , p_acct_entry_type_code => 'A'
26265 , p_switch_side_flag => 'Y'
26266 , p_merge_duplicate_code => 'A'
26267 );
26268 --
26269 l_acc_rev_natural_side_code := 'D'; -- 4262811
26270 --
26271 --
26272 -- set accounting line type info
26273 --
26274 xla_ae_lines_pkg.SetAcctLineType
26275 (p_component_type => l_component_type
26276 ,p_event_type_code => l_event_type_code
26277 ,p_line_definition_owner_code => l_line_definition_owner_code
26278 ,p_line_definition_code => l_line_definition_code
26279 ,p_accounting_line_code => l_component_code
26280 ,p_accounting_line_type_code => l_component_type_code
26281 ,p_accounting_line_appl_id => l_component_appl_id
26282 ,p_amb_context_code => l_amb_context_code
26283 ,p_entity_code => l_entity_code
26287 --
26284 ,p_event_class_code => l_event_class_code);
26285 --
26286 -- set accounting class
26288 xla_ae_lines_pkg.SetAcctClass(
26289 p_accounting_class_code => 'CASH_CLEARING'
26290 , p_ae_header_id => l_ae_header_id
26291 );
26292
26293 --
26294 -- set rounding class
26295 --
26296 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
26297 'CASH_CLEARING';
26298
26299 --
26300 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
26301 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
26302 --
26303 -- bulk performance
26304 --
26305 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
26306
26307 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
26308 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
26309
26310 -- 4955764
26311 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
26312 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
26313
26314 -- 4458381 Public Sector Enh
26315
26316 --
26317 -- set accounting attributes for the line type
26318 --
26319 l_entered_amt_idx := 10;
26320 l_accted_amt_idx := 15;
26321 l_bflow_applied_to_amt_idx := 2; -- 5132302
26322 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
26323 l_rec_acct_attrs.array_char_value(1) := p_source_58;
26324 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
26325 l_rec_acct_attrs.array_num_value(2) := p_source_127;
26326 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
26327 l_rec_acct_attrs.array_num_value(3) := p_source_96;
26328 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
26329 l_rec_acct_attrs.array_char_value(4) := p_source_97;
26330 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
26331 l_rec_acct_attrs.array_char_value(5) := p_source_98;
26332 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
26333 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_99);
26334 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
26335 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_100);
26336 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
26337 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_107);
26338 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
26339 l_rec_acct_attrs.array_char_value(9) := p_source_60;
26340 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
26341 l_rec_acct_attrs.array_num_value(10) := p_source_102;
26342 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
26343 l_rec_acct_attrs.array_char_value(11) := p_source_8;
26344 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
26345 l_rec_acct_attrs.array_date_value(12) := p_source_120;
26346 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
26347 l_rec_acct_attrs.array_num_value(13) := p_source_121;
26348 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
26349 l_rec_acct_attrs.array_char_value(14) := p_source_122;
26350 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
26351 l_rec_acct_attrs.array_num_value(15) := p_source_118;
26352 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
26353 l_rec_acct_attrs.array_char_value(16) := p_source_85;
26354 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
26355 l_rec_acct_attrs.array_num_value(17) := p_source_113;
26356 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
26357 l_rec_acct_attrs.array_num_value(18) := p_source_114;
26358 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
26359 l_rec_acct_attrs.array_char_value(19) := p_source_88;
26360 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
26361 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_115);
26362 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
26363 l_rec_acct_attrs.array_char_value(21) := p_source_60;
26364 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
26365 l_rec_acct_attrs.array_num_value(22) := p_source_91;
26366 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
26367 l_rec_acct_attrs.array_num_value(23) := p_source_92;
26368 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
26369 l_rec_acct_attrs.array_num_value(24) := p_source_93;
26370
26371 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
26372 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
26373
26374 ---------------------------------------------------------------------------------------------------------------
26375 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
26376 ---------------------------------------------------------------------------------------------------------------
26377 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
26378
26379 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
26383 (p_source_code => 'LEDGER_CATEGORY_CODE'
26380 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
26381
26382 IF xla_accounting_cache_pkg.GetValueChar
26384 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
26385 AND l_bflow_method_code = 'PRIOR_ENTRY'
26386 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
26387 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
26388 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
26389 )
26390 THEN
26391 xla_ae_lines_pkg.BflowUpgEntry
26392 (p_business_method_code => l_bflow_method_code
26393 ,p_business_class_code => l_bflow_class_code
26394 ,p_balance_type => l_balance_type_code);
26395 ELSE
26396 NULL;
26397 XLA_AE_LINES_PKG.business_flow_validation(
26398 p_business_method_code => l_bflow_method_code
26399 ,p_business_class_code => l_bflow_class_code
26400 ,p_inherit_description_flag => l_inherit_desc_flag);
26401 END IF;
26402
26403 --
26404 -- call analytical criteria
26405 --
26406
26407 --
26408 -- call description
26409 --
26410 -- No description or it is inherited.
26411 --
26412 -- call ADRs
26413 -- Bug 4922099
26414 --
26415 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
26416 (NVL(l_actual_upg_option, 'N') = 'O') OR
26417 (NVL(l_enc_upg_option, 'N') = 'O')
26418 )
26419 THEN
26420 NULL;
26421 --
26422 --
26423
26424 xla_ae_lines_pkg.Set_Ccid( -- replaced SetCcid
26425 p_code_combination_id => TO_NUMBER(C_NUM)
26426 , p_value_type_code => NULL
26427 , p_transaction_coa_id => null
26428 , p_accounting_coa_id => null
26429 , p_adr_code => NULL
26430 , p_adr_type_code => NULL
26431 , p_component_type => l_component_type
26432 , p_component_code => l_component_code
26433 , p_component_type_code => l_component_type_code
26434 , p_component_appl_id => l_component_appl_id
26435 , p_amb_context_code => l_amb_context_code
26436 , p_side => NULL
26437 );
26438
26439
26440 -- initialise segments
26441 XLA_AE_LINES_PKG.g_rec_lines.array_segment1(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
26442 XLA_AE_LINES_PKG.g_rec_lines.array_segment2(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
26443 XLA_AE_LINES_PKG.g_rec_lines.array_segment3(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
26444 XLA_AE_LINES_PKG.g_rec_lines.array_segment4(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
26445 XLA_AE_LINES_PKG.g_rec_lines.array_segment5(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
26446 XLA_AE_LINES_PKG.g_rec_lines.array_segment6(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
26447 XLA_AE_LINES_PKG.g_rec_lines.array_segment7(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
26448 XLA_AE_LINES_PKG.g_rec_lines.array_segment8(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
26449 XLA_AE_LINES_PKG.g_rec_lines.array_segment9(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
26450 XLA_AE_LINES_PKG.g_rec_lines.array_segment10(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
26451 XLA_AE_LINES_PKG.g_rec_lines.array_segment11(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
26452 XLA_AE_LINES_PKG.g_rec_lines.array_segment12(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
26453 XLA_AE_LINES_PKG.g_rec_lines.array_segment13(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
26454 XLA_AE_LINES_PKG.g_rec_lines.array_segment14(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
26455 XLA_AE_LINES_PKG.g_rec_lines.array_segment15(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
26456 XLA_AE_LINES_PKG.g_rec_lines.array_segment16(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
26457 XLA_AE_LINES_PKG.g_rec_lines.array_segment17(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
26458 XLA_AE_LINES_PKG.g_rec_lines.array_segment18(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
26459 XLA_AE_LINES_PKG.g_rec_lines.array_segment19(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
26460 XLA_AE_LINES_PKG.g_rec_lines.array_segment20(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
26461 XLA_AE_LINES_PKG.g_rec_lines.array_segment21(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
26462 XLA_AE_LINES_PKG.g_rec_lines.array_segment22(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
26463 XLA_AE_LINES_PKG.g_rec_lines.array_segment23(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
26464 XLA_AE_LINES_PKG.g_rec_lines.array_segment24(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
26465 XLA_AE_LINES_PKG.g_rec_lines.array_segment25(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
26466 XLA_AE_LINES_PKG.g_rec_lines.array_segment26(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
26467 XLA_AE_LINES_PKG.g_rec_lines.array_segment27(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
26468 XLA_AE_LINES_PKG.g_rec_lines.array_segment28(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
26469 XLA_AE_LINES_PKG.g_rec_lines.array_segment29(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
26470 XLA_AE_LINES_PKG.g_rec_lines.array_segment30(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
26471 --
26472
26473 --
26474
26475
26476 l_segment := AcctDerRule_16(
26477 p_application_id => p_application_id
26478 , p_ae_header_id => l_ae_header_id
26479 , p_source_30 => p_source_30
26480 , x_transaction_coa_id => l_adr_transaction_coa_id
26481 , x_accounting_coa_id => l_adr_accounting_coa_id
26485 , x_value_combination_id => l_adr_value_combination_id
26482 , x_flexfield_segment_code => l_adr_flexfield_segment_code
26483 , x_flex_value_set_id => l_adr_flex_value_set_id
26484 , x_value_type_code => l_adr_value_type_code
26486 , x_value_segment_code => l_adr_value_segment_code
26487 , p_side => 'NA'
26488 , p_override_seg_flag => 'Y'
26489 );
26490
26491 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
26492
26493 xla_ae_lines_pkg.set_segment(
26494 p_to_segment_code => 'GL_ACCOUNT'
26495 , p_segment_value => l_segment
26496 , p_from_segment_code => l_adr_value_segment_code
26497 , p_from_combination_id => l_adr_value_combination_id
26498 , p_value_type_code => l_adr_value_type_code
26499 , p_transaction_coa_id => l_adr_transaction_coa_id
26500 , p_accounting_coa_id => l_adr_accounting_coa_id
26501 , p_flexfield_segment_code => l_adr_flexfield_segment_code
26502 , p_flex_value_set_id => l_adr_flex_value_set_id
26503 , p_adr_code => 'AP_PMT_CASH_CLEAR_NAT_ACC_POOL'
26504 , p_adr_type_code => 'S'
26505 , p_component_type => l_component_type
26506 , p_component_code => l_component_code
26507 , p_component_type_code => l_component_type_code
26508 , p_component_appl_id => l_component_appl_id
26509 , p_amb_context_code => l_amb_context_code
26510 , p_entity_code => 'AP_PAYMENTS'
26511 , p_event_class_code => 'PAYMENTS'
26512 , p_side => 'NA'
26513 );
26514
26515 END IF;
26516
26517 --
26518 --
26519 END IF;
26520 --
26521 -- Bug 4922099
26522 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
26523 (NVL(l_enc_upg_option, 'N') = 'O')
26524 ) AND
26525 (l_bflow_method_code = 'PRIOR_ENTRY')
26526 )
26527 THEN
26528 IF
26529 --
26530 1 = 2
26531 --
26532 THEN
26533 xla_accounting_err_pkg.build_message
26534 (p_appli_s_name => 'XLA'
26535 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
26536 ,p_token_1 => 'LINE_NUMBER'
26537 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
26538 ,p_token_2 => 'LINE_TYPE_NAME'
26539 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
26540 l_component_type
26541 ,l_component_code
26542 ,l_component_type_code
26543 ,l_component_appl_id
26544 ,l_amb_context_code
26545 ,l_entity_code
26546 ,l_event_class_code
26547 )
26548 ,p_token_3 => 'OWNER'
26549 ,p_value_3 => xla_lookups_pkg.get_meaning(
26550 p_lookup_type => 'XLA_OWNER_TYPE'
26551 ,p_lookup_code => l_component_type_code
26552 )
26553 ,p_token_4 => 'PRODUCT_NAME'
26554 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
26555 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
26556 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
26557 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
26558 ,p_ae_header_id => NULL
26559 );
26560
26561 IF (C_LEVEL_ERROR>= g_log_level) THEN
26562 trace
26563 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
26564 ,p_level => C_LEVEL_ERROR
26565 ,p_module => l_log_module);
26566 END IF;
26567 END IF;
26568 END IF;
26569 --
26570 --
26571 ------------------------------------------------------------------------------------------------
26572 -- 4219869 Business Flow
26573 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
26574 -- Prior Entry. Currently, the following code is always generated.
26575 ------------------------------------------------------------------------------------------------
26576 XLA_AE_LINES_PKG.ValidateCurrentLine;
26577
26581 ------------------------------------------------------------------------------------
26578 ------------------------------------------------------------------------------------
26579 -- 4219869 Business Flow
26580 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
26582 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
26583
26584 ----------------------------------------------------------------------------------
26585 -- 4219869 Business Flow
26586 -- Update journal entry status -- Need to generate this within IF <condition>
26587 ----------------------------------------------------------------------------------
26588 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
26589 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
26590 ,p_balance_type_code => l_balance_type_code
26591 );
26592
26593 -------------------------------------------------------------------------------------------
26594 -- 4262811 - Generate the Accrual Reversal lines
26595 -------------------------------------------------------------------------------------------
26596 BEGIN
26597 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
26598 (g_array_event(p_event_id).array_value_num('header_index'));
26599 IF l_acc_rev_flag IS NULL THEN
26600 l_acc_rev_flag := 'N';
26601 END IF;
26602 EXCEPTION
26603 WHEN OTHERS THEN
26604 l_acc_rev_flag := 'N';
26605 END;
26606 --
26607 IF (l_acc_rev_flag = 'Y') THEN
26608
26609 -- 4645092 ------------------------------------------------------------------------------
26610 -- To allow MPA report to determine if it should generate report process
26611 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
26612 ------------------------------------------------------------------------------------------
26613
26614 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
26615 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
26616 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
26617 -- call ADRs
26618 -- Bug 4922099
26619 --
26620 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
26621 (NVL(l_actual_upg_option, 'N') = 'O') OR
26622 (NVL(l_enc_upg_option, 'N') = 'O')
26623 )
26624 THEN
26625 NULL;
26626 --
26627 --
26628
26629 xla_ae_lines_pkg.Set_Ccid( -- replaced SetCcid
26630 p_code_combination_id => TO_NUMBER(C_NUM)
26631 , p_value_type_code => NULL
26632 , p_transaction_coa_id => null
26633 , p_accounting_coa_id => null
26634 , p_adr_code => NULL
26635 , p_adr_type_code => NULL
26636 , p_component_type => l_component_type
26637 , p_component_code => l_component_code
26638 , p_component_type_code => l_component_type_code
26639 , p_component_appl_id => l_component_appl_id
26640 , p_amb_context_code => l_amb_context_code
26641 , p_side => NULL
26642 );
26643
26644
26645 -- initialise segments
26646 XLA_AE_LINES_PKG.g_rec_lines.array_segment1(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
26647 XLA_AE_LINES_PKG.g_rec_lines.array_segment2(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
26648 XLA_AE_LINES_PKG.g_rec_lines.array_segment3(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
26649 XLA_AE_LINES_PKG.g_rec_lines.array_segment4(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
26650 XLA_AE_LINES_PKG.g_rec_lines.array_segment5(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
26651 XLA_AE_LINES_PKG.g_rec_lines.array_segment6(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
26652 XLA_AE_LINES_PKG.g_rec_lines.array_segment7(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
26653 XLA_AE_LINES_PKG.g_rec_lines.array_segment8(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
26654 XLA_AE_LINES_PKG.g_rec_lines.array_segment9(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
26655 XLA_AE_LINES_PKG.g_rec_lines.array_segment10(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
26656 XLA_AE_LINES_PKG.g_rec_lines.array_segment11(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
26657 XLA_AE_LINES_PKG.g_rec_lines.array_segment12(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
26658 XLA_AE_LINES_PKG.g_rec_lines.array_segment13(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
26659 XLA_AE_LINES_PKG.g_rec_lines.array_segment14(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
26660 XLA_AE_LINES_PKG.g_rec_lines.array_segment15(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
26661 XLA_AE_LINES_PKG.g_rec_lines.array_segment16(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
26662 XLA_AE_LINES_PKG.g_rec_lines.array_segment17(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
26663 XLA_AE_LINES_PKG.g_rec_lines.array_segment18(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
26664 XLA_AE_LINES_PKG.g_rec_lines.array_segment19(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
26665 XLA_AE_LINES_PKG.g_rec_lines.array_segment20(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
26666 XLA_AE_LINES_PKG.g_rec_lines.array_segment21(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
26667 XLA_AE_LINES_PKG.g_rec_lines.array_segment22(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
26668 XLA_AE_LINES_PKG.g_rec_lines.array_segment23(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
26669 XLA_AE_LINES_PKG.g_rec_lines.array_segment24(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
26670 XLA_AE_LINES_PKG.g_rec_lines.array_segment25(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
26671 XLA_AE_LINES_PKG.g_rec_lines.array_segment26(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
26675 XLA_AE_LINES_PKG.g_rec_lines.array_segment30(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
26672 XLA_AE_LINES_PKG.g_rec_lines.array_segment27(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
26673 XLA_AE_LINES_PKG.g_rec_lines.array_segment28(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
26674 XLA_AE_LINES_PKG.g_rec_lines.array_segment29(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
26676 --
26677
26678 --
26679
26680
26681 l_segment := AcctDerRule_16(
26682 p_application_id => p_application_id
26683 , p_ae_header_id => l_ae_header_id
26684 , p_source_30 => p_source_30
26685 , x_transaction_coa_id => l_adr_transaction_coa_id
26686 , x_accounting_coa_id => l_adr_accounting_coa_id
26687 , x_flexfield_segment_code => l_adr_flexfield_segment_code
26688 , x_flex_value_set_id => l_adr_flex_value_set_id
26689 , x_value_type_code => l_adr_value_type_code
26690 , x_value_combination_id => l_adr_value_combination_id
26691 , x_value_segment_code => l_adr_value_segment_code
26692 , p_side => 'NA'
26693 , p_override_seg_flag => 'Y'
26694 );
26695
26696 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
26697
26698 xla_ae_lines_pkg.set_segment(
26699 p_to_segment_code => 'GL_ACCOUNT'
26700 , p_segment_value => l_segment
26701 , p_from_segment_code => l_adr_value_segment_code
26702 , p_from_combination_id => l_adr_value_combination_id
26703 , p_value_type_code => l_adr_value_type_code
26704 , p_transaction_coa_id => l_adr_transaction_coa_id
26705 , p_accounting_coa_id => l_adr_accounting_coa_id
26706 , p_flexfield_segment_code => l_adr_flexfield_segment_code
26707 , p_flex_value_set_id => l_adr_flex_value_set_id
26708 , p_adr_code => 'AP_PMT_CASH_CLEAR_NAT_ACC_POOL'
26709 , p_adr_type_code => 'S'
26710 , p_component_type => l_component_type
26711 , p_component_code => l_component_code
26712 , p_component_type_code => l_component_type_code
26713 , p_component_appl_id => l_component_appl_id
26714 , p_amb_context_code => l_amb_context_code
26715 , p_entity_code => 'AP_PAYMENTS'
26716 , p_event_class_code => 'PAYMENTS'
26717 , p_side => 'NA'
26718 );
26719
26720 END IF;
26721
26722 --
26723 --
26724 END IF;
26725
26726 --
26727 -- Update the line information that should be overwritten
26728 --
26729 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
26730 p_header_num => 1);
26731 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
26732
26733 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
26734
26735 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
26736 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
26737 END IF;
26738
26739 --
26740 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
26741 --
26742 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
26743 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
26744 ELSE
26745 ---------------------------------------------------------------------------------------------------
26746 -- 4262811a Switch Sign
26747 ---------------------------------------------------------------------------------------------------
26748 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
26749 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
26750 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
26751 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
26752 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
26753 -- 5132302
26754 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
26755 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
26756
26757 END IF;
26758
26759 -- 4955764
26760 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
26761 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
26762
26763
26764 XLA_AE_LINES_PKG.ValidateCurrentLine;
26765 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
26766
26767 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
26768 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
26769 ,p_balance_type_code => l_balance_type_code);
26770
26771 END IF;
26772
26773 -----------------------------------------------------------------------------------------
26774 -- 4262811 Multiperiod Accounting
26778
26775 -----------------------------------------------------------------------------------------
26776 -- No MPA option is assigned.
26777
26779 END IF;
26780 END IF;
26781 --
26782
26783 --
26784 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
26785 trace
26786 (p_msg => 'END of AcctLineType_79'
26787 ,p_level => C_LEVEL_PROCEDURE
26788 ,p_module => l_log_module);
26789 END IF;
26790 --
26791 EXCEPTION
26792 WHEN xla_exceptions_pkg.application_exception THEN
26793 RAISE;
26794 WHEN OTHERS THEN
26795 xla_exceptions_pkg.raise_message
26796 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_79');
26797 END AcctLineType_79;
26798 --
26799
26800 ---------------------------------------
26801 --
26802 -- PRIVATE FUNCTION
26803 -- AcctLineType_80
26804 --
26805 ---------------------------------------
26806 PROCEDURE AcctLineType_80 (
26807 p_application_id IN NUMBER
26808 ,p_event_id IN NUMBER
26809 ,p_calculate_acctd_flag IN VARCHAR2
26810 ,p_calculate_g_l_flag IN VARCHAR2
26811 ,p_actual_flag IN OUT VARCHAR2
26812 ,p_balance_type_code OUT VARCHAR2
26813 ,p_gain_or_loss_ref OUT VARCHAR2
26814
26815 --Payment Currency Code
26816 , p_source_8 IN VARCHAR2
26817 --Automatic Offsets Value
26818 , p_source_10 IN VARCHAR2
26819 , p_source_10_meaning IN VARCHAR2
26820 --Bank Cash Clearing Account
26821 , p_source_30 IN NUMBER
26822 --When to Account for Payment Option
26823 , p_source_57 IN VARCHAR2
26824 --Accounting Reversal Indicator
26825 , p_source_58 IN VARCHAR2
26826 --Distribution Link Type
26827 , p_source_60 IN VARCHAR2
26828 --Override Accounted Amount Indicator
26829 , p_source_85 IN VARCHAR2
26830 , p_source_85_meaning IN VARCHAR2
26831 --Third Party Type
26832 , p_source_88 IN VARCHAR2
26833 --Invoice Distribution Tax Line Identifier
26834 , p_source_91 IN NUMBER
26835 --Invoice Distribution Tax Distribution Identifier from Tax
26836 , p_source_92 IN NUMBER
26837 --Invoice Distribution Summary Tax Line Identifier
26838 , p_source_93 IN NUMBER
26839 --Business Flow Accounts Payable Application Identifier
26840 , p_source_96 IN NUMBER
26841 --Business Flow Invoice Distribution Type
26842 , p_source_97 IN VARCHAR2
26843 --Business Flow Invoice Entity Code
26844 , p_source_98 IN VARCHAR2
26845 --Business Flow Invoice Distribution Identifier
26846 , p_source_99 IN NUMBER
26847 --Business Flow Invoice Identifier
26848 , p_source_100 IN NUMBER
26849 --Payment Distribution Type
26850 , p_source_101 IN VARCHAR2
26851 , p_source_101_meaning IN VARCHAR2
26852 --Payment Distribution Amount
26853 , p_source_102 IN NUMBER
26854 --Payment Distribution Identifier
26855 , p_source_107 IN NUMBER
26856 --Payment Supplier Identifier
26857 , p_source_113 IN NUMBER
26858 --Payment Supplier Site Identifier
26859 , p_source_114 IN NUMBER
26860 --Payment Distribution Reversed Identifier
26861 , p_source_115 IN NUMBER
26862 --Pooled Bank Account Option
26863 , p_source_116 IN VARCHAR2
26864 , p_source_116_meaning IN VARCHAR2
26865 --Payment Maturity Date
26866 , p_source_117 IN DATE
26867 --Payment Distribution (Payment Rate) Ledger Amount
26868 , p_source_118 IN NUMBER
26869 --Payment Exchange Date
26870 , p_source_120 IN DATE
26871 --Payment Exchange Rate
26872 , p_source_121 IN NUMBER
26873 --Payment Exchange Rate Type
26874 , p_source_122 IN VARCHAR2
26875 --Payment Type
26876 , p_source_125 IN VARCHAR2
26877 , p_source_125_meaning IN VARCHAR2
26878 --Payment Processing Type
26879 , p_source_126 IN VARCHAR2
26880 --Invoice Distribution Amount of the Payment Distribution
26881 , p_source_127 IN NUMBER
26882 )
26883 IS
26884
26885 l_component_type VARCHAR2(80);
26886 l_component_code VARCHAR2(30);
26887 l_component_type_code VARCHAR2(1);
26888 l_component_appl_id INTEGER;
26889 l_amb_context_code VARCHAR2(30);
26890 l_entity_code VARCHAR2(30);
26891 l_event_class_code VARCHAR2(30);
26892 l_ae_header_id NUMBER;
26893 l_event_type_code VARCHAR2(30);
26894 l_line_definition_code VARCHAR2(30);
26895 l_line_definition_owner_code VARCHAR2(1);
26896 --
26897 -- adr variables
26898 l_segment VARCHAR2(30);
26899 l_ccid NUMBER;
26900 l_adr_transaction_coa_id NUMBER;
26901 l_adr_accounting_coa_id NUMBER;
26902 l_adr_flexfield_segment_code VARCHAR2(30);
26903 l_adr_flex_value_set_id NUMBER;
26904 l_adr_value_type_code VARCHAR2(30);
26905 l_adr_value_combination_id NUMBER;
26906 l_adr_value_segment_code VARCHAR2(30);
26907
26908 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
26909 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
26910 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
26911 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
26912
26916 l_acc_rev_flag VARCHAR2(1);
26913 -- 4262811 Variables ------------------------------------------------------------------------------------------
26914 l_entered_amt_idx NUMBER;
26915 l_accted_amt_idx NUMBER;
26917 l_accrual_line_num NUMBER;
26918 l_tmp_amt NUMBER;
26919 l_acc_rev_natural_side_code VARCHAR2(1);
26920
26921 l_num_entries NUMBER;
26922 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
26923 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
26924 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
26925 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
26926 l_recog_line_1 NUMBER;
26927 l_recog_line_2 NUMBER;
26928
26929 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
26930 l_bflow_applied_to_amt NUMBER; -- 5132302
26931 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
26932
26933 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
26934
26935 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
26936 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
26937
26938 ---------------------------------------------------------------------------------------------------------------
26939
26940
26941 --
26942 -- bulk performance
26943 --
26944 l_balance_type_code VARCHAR2(1);
26945 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
26946 l_log_module VARCHAR2(240);
26947
26948 --
26949 -- Upgrade strategy
26950 --
26951 l_actual_upg_option VARCHAR2(1);
26952 l_enc_upg_option VARCHAR2(1);
26953
26954 --
26955 BEGIN
26956 --
26957 IF g_log_enabled THEN
26958 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_80';
26959 END IF;
26960 --
26961 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
26962
26963 trace
26964 (p_msg => 'BEGIN of AcctLineType_80'
26965 ,p_level => C_LEVEL_PROCEDURE
26966 ,p_module => l_log_module);
26967
26968 END IF;
26969 --
26970 l_component_type := 'AMB_JLT';
26971 l_component_code := 'AP_CASH_CLEAR_PMT_AOS_BS';
26972 l_component_type_code := 'S';
26973 l_component_appl_id := 200;
26974 l_amb_context_code := 'DEFAULT';
26975 l_entity_code := 'AP_PAYMENTS';
26976 l_event_class_code := 'PAYMENTS';
26977 l_event_type_code := 'PAYMENTS_ALL';
26978 l_line_definition_owner_code := 'S';
26979 l_line_definition_code := 'ACCRUAL_PAYMENTS_ALL';
26980 --
26981 l_balance_type_code := 'A';
26982 l_segment := NULL;
26983 l_ccid := NULL;
26984 l_adr_transaction_coa_id := NULL;
26985 l_adr_accounting_coa_id := NULL;
26986 l_adr_flexfield_segment_code := NULL;
26987 l_adr_flex_value_set_id := NULL;
26988 l_adr_value_type_code := NULL;
26989 l_adr_value_combination_id := NULL;
26990 l_adr_value_segment_code := NULL;
26991
26992 l_bflow_method_code := 'SAME_ENTRY'; -- 4219869 Business Flow
26993 l_bflow_class_code := 'AP_CASH_CLEARING'; -- 4219869 Business Flow
26994 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
26995 l_budgetary_control_flag := 'N';
26996
26997 l_bflow_applied_to_amt_idx := NULL; -- 5132302
26998 l_bflow_applied_to_amt := NULL; -- 5132302
26999 l_entered_amt_idx := NULL; -- 4262811
27000 l_accted_amt_idx := NULL; -- 4262811
27001 l_acc_rev_flag := NULL; -- 4262811
27002 l_accrual_line_num := NULL; -- 4262811
27003 l_tmp_amt := NULL; -- 4262811
27004 --
27005
27006 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
27007 l_balance_type_code <> 'B' THEN
27008 IF NVL(p_source_57,'
27009 ') = 'ALWAYS_ALWAYS' AND
27010 (NVL(p_source_116,'
27011 ') = 'Y' AND
27012 NVL(p_source_10,'
27013 ') = 'BALANCING_SEGMENT') AND
27014 p_source_117 IS NULL AND
27015 NVL(p_source_101,'
27016 ') = 'CASH' AND
27017 NVL(p_source_125,'
27018 ') <> 'R' AND
27019 NVL(p_source_126,'
27020 ') <> 'PAYMENTCARD'
27021 THEN
27022
27023 --
27024 XLA_AE_LINES_PKG.SetNewLine;
27025
27026 p_balance_type_code := l_balance_type_code;
27027 -- set the flag so later we will know whether the gain loss line needs to be created
27028
27029 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
27030 p_actual_flag :='A';
27031 END IF;
27032
27033 --
27034 -- bulk performance
27035 --
27036 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
27037 p_header_num => 0); -- 4262811
27038 --
27039 -- set accounting line options
27040 --
27041 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
27042 p_natural_side_code => 'C'
27043 , p_gain_or_loss_flag => 'N'
27044 , p_gl_transfer_mode_code => 'S'
27045 , p_acct_entry_type_code => 'A'
27046 , p_switch_side_flag => 'Y'
27047 , p_merge_duplicate_code => 'A'
27051 --
27048 );
27049 --
27050 l_acc_rev_natural_side_code := 'D'; -- 4262811
27052 --
27053 -- set accounting line type info
27054 --
27055 xla_ae_lines_pkg.SetAcctLineType
27056 (p_component_type => l_component_type
27057 ,p_event_type_code => l_event_type_code
27058 ,p_line_definition_owner_code => l_line_definition_owner_code
27059 ,p_line_definition_code => l_line_definition_code
27060 ,p_accounting_line_code => l_component_code
27061 ,p_accounting_line_type_code => l_component_type_code
27062 ,p_accounting_line_appl_id => l_component_appl_id
27063 ,p_amb_context_code => l_amb_context_code
27064 ,p_entity_code => l_entity_code
27065 ,p_event_class_code => l_event_class_code);
27066 --
27067 -- set accounting class
27068 --
27069 xla_ae_lines_pkg.SetAcctClass(
27070 p_accounting_class_code => 'CASH_CLEARING'
27071 , p_ae_header_id => l_ae_header_id
27072 );
27073
27074 --
27075 -- set rounding class
27076 --
27077 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
27078 'CASH_CLEARING';
27079
27080 --
27081 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
27082 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
27083 --
27084 -- bulk performance
27085 --
27086 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
27087
27088 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
27089 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
27090
27091 -- 4955764
27092 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
27093 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
27094
27095 -- 4458381 Public Sector Enh
27096
27097 --
27098 -- set accounting attributes for the line type
27099 --
27100 l_entered_amt_idx := 10;
27101 l_accted_amt_idx := 15;
27102 l_bflow_applied_to_amt_idx := 2; -- 5132302
27103 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
27104 l_rec_acct_attrs.array_char_value(1) := p_source_58;
27105 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
27106 l_rec_acct_attrs.array_num_value(2) := p_source_127;
27107 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
27108 l_rec_acct_attrs.array_num_value(3) := p_source_96;
27109 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
27110 l_rec_acct_attrs.array_char_value(4) := p_source_97;
27111 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
27112 l_rec_acct_attrs.array_char_value(5) := p_source_98;
27113 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
27114 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_99);
27115 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
27116 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_100);
27117 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
27118 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_107);
27119 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
27120 l_rec_acct_attrs.array_char_value(9) := p_source_60;
27121 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
27122 l_rec_acct_attrs.array_num_value(10) := p_source_102;
27123 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
27124 l_rec_acct_attrs.array_char_value(11) := p_source_8;
27125 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
27126 l_rec_acct_attrs.array_date_value(12) := p_source_120;
27127 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
27128 l_rec_acct_attrs.array_num_value(13) := p_source_121;
27129 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
27130 l_rec_acct_attrs.array_char_value(14) := p_source_122;
27131 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
27132 l_rec_acct_attrs.array_num_value(15) := p_source_118;
27133 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
27134 l_rec_acct_attrs.array_char_value(16) := p_source_85;
27135 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
27136 l_rec_acct_attrs.array_num_value(17) := p_source_113;
27137 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
27138 l_rec_acct_attrs.array_num_value(18) := p_source_114;
27139 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
27140 l_rec_acct_attrs.array_char_value(19) := p_source_88;
27141 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
27142 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_115);
27143 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
27144 l_rec_acct_attrs.array_char_value(21) := p_source_60;
27145 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
27146 l_rec_acct_attrs.array_num_value(22) := p_source_91;
27147 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
27148 l_rec_acct_attrs.array_num_value(23) := p_source_92;
27152 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
27149 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
27150 l_rec_acct_attrs.array_num_value(24) := p_source_93;
27151
27153 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
27154
27155 ---------------------------------------------------------------------------------------------------------------
27156 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
27157 ---------------------------------------------------------------------------------------------------------------
27158 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
27159
27160 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
27161 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
27162
27163 IF xla_accounting_cache_pkg.GetValueChar
27164 (p_source_code => 'LEDGER_CATEGORY_CODE'
27165 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
27166 AND l_bflow_method_code = 'PRIOR_ENTRY'
27167 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
27168 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
27169 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
27170 )
27171 THEN
27172 xla_ae_lines_pkg.BflowUpgEntry
27173 (p_business_method_code => l_bflow_method_code
27174 ,p_business_class_code => l_bflow_class_code
27175 ,p_balance_type => l_balance_type_code);
27176 ELSE
27177 NULL;
27178 XLA_AE_LINES_PKG.business_flow_validation(
27179 p_business_method_code => l_bflow_method_code
27180 ,p_business_class_code => l_bflow_class_code
27181 ,p_inherit_description_flag => l_inherit_desc_flag);
27182 END IF;
27183
27184 --
27185 -- call analytical criteria
27186 --
27187
27188 --
27189 -- call description
27190 --
27191 -- No description or it is inherited.
27192 --
27193 -- call ADRs
27194 -- Bug 4922099
27195 --
27196 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
27197 (NVL(l_actual_upg_option, 'N') = 'O') OR
27198 (NVL(l_enc_upg_option, 'N') = 'O')
27199 )
27200 THEN
27201 NULL;
27202 --
27203 --
27204
27205 l_ccid := AcctDerRule_38(
27206 p_application_id => p_application_id
27207 , p_ae_header_id => l_ae_header_id
27208 , p_source_30 => p_source_30
27209 , x_transaction_coa_id => l_adr_transaction_coa_id
27210 , x_accounting_coa_id => l_adr_accounting_coa_id
27211 , x_value_type_code => l_adr_value_type_code
27212 , p_side => 'NA'
27213 );
27214
27215 xla_ae_lines_pkg.set_ccid(
27216 p_code_combination_id => l_ccid
27217 , p_value_type_code => l_adr_value_type_code
27218 , p_transaction_coa_id => l_adr_transaction_coa_id
27219 , p_accounting_coa_id => l_adr_accounting_coa_id
27220 , p_adr_code => 'AP_PMT_CASH_CLEAR'
27221 , p_adr_type_code => 'S'
27222 , p_component_type => l_component_type
27223 , p_component_code => l_component_code
27224 , p_component_type_code => l_component_type_code
27225 , p_component_appl_id => l_component_appl_id
27226 , p_amb_context_code => l_amb_context_code
27227 , p_side => 'NA'
27228 );
27229
27230
27231 xla_ae_lines_pkg.Set_Segment( -- replaced SetSegment
27232 p_to_segment_code => 'GL_BALANCING'
27233 , p_segment_value => C_CHAR
27234 , p_from_segment_code => NULL
27235 , p_from_combination_id => NULL
27236 , p_value_type_code => NULL
27237 , p_transaction_coa_id => null
27238 , p_accounting_coa_id => null
27239 , p_flexfield_segment_code => NULL
27240 , p_flex_value_set_id => NULL
27241 , p_adr_code => NULL
27242 , p_adr_type_code => NULL
27243 , p_component_type => l_component_type
27244 , p_component_code => l_component_code
27245 , p_component_type_code => l_component_type_code
27246 , p_component_appl_id => l_component_appl_id
27247 , p_amb_context_code => l_amb_context_code
27248 , p_entity_code => 'AP_PAYMENTS'
27249 , p_event_class_code => 'PAYMENTS'
27250 , p_side => 'NA'
27251 );
27252 --
27253
27254
27255 --
27256 --
27257 END IF;
27258 --
27259 -- Bug 4922099
27260 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
27261 (NVL(l_enc_upg_option, 'N') = 'O')
27262 ) AND
27263 (l_bflow_method_code = 'PRIOR_ENTRY')
27264 )
27265 THEN
27266 IF
27267 --
27268 1 = 2
27269 --
27270 THEN
27271 xla_accounting_err_pkg.build_message
27272 (p_appli_s_name => 'XLA'
27273 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
27277 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
27274 ,p_token_1 => 'LINE_NUMBER'
27275 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
27276 ,p_token_2 => 'LINE_TYPE_NAME'
27278 l_component_type
27279 ,l_component_code
27280 ,l_component_type_code
27281 ,l_component_appl_id
27282 ,l_amb_context_code
27283 ,l_entity_code
27284 ,l_event_class_code
27285 )
27286 ,p_token_3 => 'OWNER'
27287 ,p_value_3 => xla_lookups_pkg.get_meaning(
27288 p_lookup_type => 'XLA_OWNER_TYPE'
27289 ,p_lookup_code => l_component_type_code
27290 )
27291 ,p_token_4 => 'PRODUCT_NAME'
27292 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
27293 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
27294 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
27295 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
27296 ,p_ae_header_id => NULL
27297 );
27298
27299 IF (C_LEVEL_ERROR>= g_log_level) THEN
27300 trace
27301 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
27302 ,p_level => C_LEVEL_ERROR
27303 ,p_module => l_log_module);
27304 END IF;
27305 END IF;
27306 END IF;
27307 --
27308 --
27309 ------------------------------------------------------------------------------------------------
27310 -- 4219869 Business Flow
27311 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
27312 -- Prior Entry. Currently, the following code is always generated.
27313 ------------------------------------------------------------------------------------------------
27314 XLA_AE_LINES_PKG.ValidateCurrentLine;
27315
27316 ------------------------------------------------------------------------------------
27317 -- 4219869 Business Flow
27318 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
27319 ------------------------------------------------------------------------------------
27320 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
27321
27322 ----------------------------------------------------------------------------------
27323 -- 4219869 Business Flow
27324 -- Update journal entry status -- Need to generate this within IF <condition>
27325 ----------------------------------------------------------------------------------
27326 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
27327 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
27328 ,p_balance_type_code => l_balance_type_code
27329 );
27330
27331 -------------------------------------------------------------------------------------------
27332 -- 4262811 - Generate the Accrual Reversal lines
27333 -------------------------------------------------------------------------------------------
27334 BEGIN
27335 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
27336 (g_array_event(p_event_id).array_value_num('header_index'));
27337 IF l_acc_rev_flag IS NULL THEN
27338 l_acc_rev_flag := 'N';
27339 END IF;
27340 EXCEPTION
27341 WHEN OTHERS THEN
27342 l_acc_rev_flag := 'N';
27343 END;
27344 --
27345 IF (l_acc_rev_flag = 'Y') THEN
27346
27347 -- 4645092 ------------------------------------------------------------------------------
27348 -- To allow MPA report to determine if it should generate report process
27349 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
27350 ------------------------------------------------------------------------------------------
27351
27352 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
27353 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
27354 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
27355 -- call ADRs
27356 -- Bug 4922099
27357 --
27358 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
27359 (NVL(l_actual_upg_option, 'N') = 'O') OR
27360 (NVL(l_enc_upg_option, 'N') = 'O')
27361 )
27362 THEN
27363 NULL;
27364 --
27365 --
27366
27370 , p_source_30 => p_source_30
27367 l_ccid := AcctDerRule_38(
27368 p_application_id => p_application_id
27369 , p_ae_header_id => l_ae_header_id
27371 , x_transaction_coa_id => l_adr_transaction_coa_id
27372 , x_accounting_coa_id => l_adr_accounting_coa_id
27373 , x_value_type_code => l_adr_value_type_code
27374 , p_side => 'NA'
27375 );
27376
27377 xla_ae_lines_pkg.set_ccid(
27378 p_code_combination_id => l_ccid
27379 , p_value_type_code => l_adr_value_type_code
27380 , p_transaction_coa_id => l_adr_transaction_coa_id
27381 , p_accounting_coa_id => l_adr_accounting_coa_id
27382 , p_adr_code => 'AP_PMT_CASH_CLEAR'
27383 , p_adr_type_code => 'S'
27384 , p_component_type => l_component_type
27385 , p_component_code => l_component_code
27386 , p_component_type_code => l_component_type_code
27387 , p_component_appl_id => l_component_appl_id
27388 , p_amb_context_code => l_amb_context_code
27389 , p_side => 'NA'
27390 );
27391
27392
27393 xla_ae_lines_pkg.Set_Segment( -- replaced SetSegment
27394 p_to_segment_code => 'GL_BALANCING'
27395 , p_segment_value => C_CHAR
27396 , p_from_segment_code => NULL
27397 , p_from_combination_id => NULL
27398 , p_value_type_code => NULL
27399 , p_transaction_coa_id => null
27400 , p_accounting_coa_id => null
27401 , p_flexfield_segment_code => NULL
27402 , p_flex_value_set_id => NULL
27403 , p_adr_code => NULL
27404 , p_adr_type_code => NULL
27405 , p_component_type => l_component_type
27406 , p_component_code => l_component_code
27407 , p_component_type_code => l_component_type_code
27408 , p_component_appl_id => l_component_appl_id
27409 , p_amb_context_code => l_amb_context_code
27410 , p_entity_code => 'AP_PAYMENTS'
27411 , p_event_class_code => 'PAYMENTS'
27412 , p_side => 'NA'
27413 );
27414 --
27415
27416
27417 --
27418 --
27419 END IF;
27420
27421 --
27422 -- Update the line information that should be overwritten
27423 --
27424 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
27425 p_header_num => 1);
27426 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
27427
27428 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
27429
27430 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
27431 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
27432 END IF;
27433
27434 --
27435 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
27436 --
27437 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
27438 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
27439 ELSE
27440 ---------------------------------------------------------------------------------------------------
27441 -- 4262811a Switch Sign
27442 ---------------------------------------------------------------------------------------------------
27443 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
27444 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
27445 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
27446 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
27447 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
27448 -- 5132302
27449 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
27450 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
27451
27452 END IF;
27453
27454 -- 4955764
27455 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
27456 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
27457
27458
27459 XLA_AE_LINES_PKG.ValidateCurrentLine;
27460 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
27461
27462 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
27463 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
27464 ,p_balance_type_code => l_balance_type_code);
27465
27466 END IF;
27467
27468 -----------------------------------------------------------------------------------------
27469 -- 4262811 Multiperiod Accounting
27470 -----------------------------------------------------------------------------------------
27471 -- No MPA option is assigned.
27472
27473
27474 END IF;
27475 END IF;
27476 --
27477
27478 --
27479 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
27480 trace
27484 END IF;
27481 (p_msg => 'END of AcctLineType_80'
27482 ,p_level => C_LEVEL_PROCEDURE
27483 ,p_module => l_log_module);
27485 --
27486 EXCEPTION
27487 WHEN xla_exceptions_pkg.application_exception THEN
27488 RAISE;
27489 WHEN OTHERS THEN
27490 xla_exceptions_pkg.raise_message
27491 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_80');
27492 END AcctLineType_80;
27493 --
27494
27495 ---------------------------------------
27496 --
27497 -- PRIVATE FUNCTION
27498 -- AcctLineType_81
27499 --
27500 ---------------------------------------
27501 PROCEDURE AcctLineType_81 (
27502 p_application_id IN NUMBER
27503 ,p_event_id IN NUMBER
27504 ,p_calculate_acctd_flag IN VARCHAR2
27505 ,p_calculate_g_l_flag IN VARCHAR2
27506 ,p_actual_flag IN OUT VARCHAR2
27507 ,p_balance_type_code OUT VARCHAR2
27508 ,p_gain_or_loss_ref OUT VARCHAR2
27509
27510 --Payment Currency Code
27511 , p_source_8 IN VARCHAR2
27512 --Automatic Offsets Value
27513 , p_source_10 IN VARCHAR2
27514 , p_source_10_meaning IN VARCHAR2
27515 --Bank Cash Clearing Account
27516 , p_source_30 IN NUMBER
27517 --When to Account for Payment Option
27518 , p_source_57 IN VARCHAR2
27519 --Accounting Reversal Indicator
27520 , p_source_58 IN VARCHAR2
27521 --Distribution Link Type
27522 , p_source_60 IN VARCHAR2
27523 --Override Accounted Amount Indicator
27524 , p_source_85 IN VARCHAR2
27525 , p_source_85_meaning IN VARCHAR2
27526 --Third Party Type
27527 , p_source_88 IN VARCHAR2
27528 --Invoice Distribution Tax Line Identifier
27529 , p_source_91 IN NUMBER
27530 --Invoice Distribution Tax Distribution Identifier from Tax
27531 , p_source_92 IN NUMBER
27532 --Invoice Distribution Summary Tax Line Identifier
27533 , p_source_93 IN NUMBER
27534 --Business Flow Accounts Payable Application Identifier
27535 , p_source_96 IN NUMBER
27536 --Business Flow Invoice Distribution Type
27537 , p_source_97 IN VARCHAR2
27538 --Business Flow Invoice Entity Code
27539 , p_source_98 IN VARCHAR2
27540 --Business Flow Invoice Distribution Identifier
27541 , p_source_99 IN NUMBER
27542 --Business Flow Invoice Identifier
27543 , p_source_100 IN NUMBER
27544 --Payment Distribution Type
27545 , p_source_101 IN VARCHAR2
27546 , p_source_101_meaning IN VARCHAR2
27547 --Payment Distribution Amount
27548 , p_source_102 IN NUMBER
27549 --Payment Distribution Identifier
27550 , p_source_107 IN NUMBER
27551 --Payment Supplier Identifier
27552 , p_source_113 IN NUMBER
27553 --Payment Supplier Site Identifier
27554 , p_source_114 IN NUMBER
27555 --Payment Distribution Reversed Identifier
27556 , p_source_115 IN NUMBER
27557 --Pooled Bank Account Option
27558 , p_source_116 IN VARCHAR2
27559 , p_source_116_meaning IN VARCHAR2
27560 --Payment Maturity Date
27561 , p_source_117 IN DATE
27562 --Payment Distribution (Invoice Rate) Ledger Amount
27563 , p_source_119 IN NUMBER
27564 --Payment Exchange Date
27565 , p_source_120 IN DATE
27566 --Payment Exchange Rate
27567 , p_source_121 IN NUMBER
27568 --Payment Exchange Rate Type
27569 , p_source_122 IN VARCHAR2
27570 --Payment Type
27571 , p_source_125 IN VARCHAR2
27572 , p_source_125_meaning IN VARCHAR2
27573 --Payment Processing Type
27574 , p_source_126 IN VARCHAR2
27575 --Invoice Distribution Amount of the Payment Distribution
27576 , p_source_127 IN NUMBER
27577 )
27578 IS
27579
27580 l_component_type VARCHAR2(80);
27581 l_component_code VARCHAR2(30);
27582 l_component_type_code VARCHAR2(1);
27583 l_component_appl_id INTEGER;
27584 l_amb_context_code VARCHAR2(30);
27585 l_entity_code VARCHAR2(30);
27586 l_event_class_code VARCHAR2(30);
27587 l_ae_header_id NUMBER;
27588 l_event_type_code VARCHAR2(30);
27589 l_line_definition_code VARCHAR2(30);
27590 l_line_definition_owner_code VARCHAR2(1);
27591 --
27592 -- adr variables
27593 l_segment VARCHAR2(30);
27594 l_ccid NUMBER;
27595 l_adr_transaction_coa_id NUMBER;
27596 l_adr_accounting_coa_id NUMBER;
27597 l_adr_flexfield_segment_code VARCHAR2(30);
27598 l_adr_flex_value_set_id NUMBER;
27599 l_adr_value_type_code VARCHAR2(30);
27600 l_adr_value_combination_id NUMBER;
27601 l_adr_value_segment_code VARCHAR2(30);
27602
27603 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
27604 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
27605 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
27606 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
27607
27608 -- 4262811 Variables ------------------------------------------------------------------------------------------
27609 l_entered_amt_idx NUMBER;
27610 l_accted_amt_idx NUMBER;
27611 l_acc_rev_flag VARCHAR2(1);
27612 l_accrual_line_num NUMBER;
27616 l_num_entries NUMBER;
27613 l_tmp_amt NUMBER;
27614 l_acc_rev_natural_side_code VARCHAR2(1);
27615
27617 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
27618 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
27619 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
27620 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
27621 l_recog_line_1 NUMBER;
27622 l_recog_line_2 NUMBER;
27623
27624 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
27625 l_bflow_applied_to_amt NUMBER; -- 5132302
27626 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
27627
27628 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
27629
27630 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
27631 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
27632
27633 ---------------------------------------------------------------------------------------------------------------
27634
27635
27636 --
27637 -- bulk performance
27638 --
27639 l_balance_type_code VARCHAR2(1);
27640 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
27641 l_log_module VARCHAR2(240);
27642
27643 --
27644 -- Upgrade strategy
27645 --
27646 l_actual_upg_option VARCHAR2(1);
27647 l_enc_upg_option VARCHAR2(1);
27648
27649 --
27650 BEGIN
27651 --
27652 IF g_log_enabled THEN
27653 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_81';
27654 END IF;
27655 --
27656 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
27657
27658 trace
27659 (p_msg => 'BEGIN of AcctLineType_81'
27660 ,p_level => C_LEVEL_PROCEDURE
27661 ,p_module => l_log_module);
27662
27663 END IF;
27664 --
27665 l_component_type := 'AMB_JLT';
27666 l_component_code := 'AP_CASH_CLEAR_PMT_AS_INVXRATE';
27667 l_component_type_code := 'S';
27668 l_component_appl_id := 200;
27669 l_amb_context_code := 'DEFAULT';
27670 l_entity_code := 'AP_PAYMENTS';
27671 l_event_class_code := 'PAYMENTS';
27672 l_event_type_code := 'PAYMENTS_ALL';
27673 l_line_definition_owner_code := 'S';
27674 l_line_definition_code := 'ACCRUAL_PAYMENTS_ALL';
27675 --
27676 l_balance_type_code := 'A';
27677 l_segment := NULL;
27678 l_ccid := NULL;
27679 l_adr_transaction_coa_id := NULL;
27680 l_adr_accounting_coa_id := NULL;
27681 l_adr_flexfield_segment_code := NULL;
27682 l_adr_flex_value_set_id := NULL;
27683 l_adr_value_type_code := NULL;
27684 l_adr_value_combination_id := NULL;
27685 l_adr_value_segment_code := NULL;
27686
27687 l_bflow_method_code := 'SAME_ENTRY'; -- 4219869 Business Flow
27688 l_bflow_class_code := 'AP_CASH_CLEARING'; -- 4219869 Business Flow
27689 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
27690 l_budgetary_control_flag := 'N';
27691
27692 l_bflow_applied_to_amt_idx := NULL; -- 5132302
27693 l_bflow_applied_to_amt := NULL; -- 5132302
27694 l_entered_amt_idx := NULL; -- 4262811
27695 l_accted_amt_idx := NULL; -- 4262811
27696 l_acc_rev_flag := NULL; -- 4262811
27697 l_accrual_line_num := NULL; -- 4262811
27698 l_tmp_amt := NULL; -- 4262811
27699 --
27700
27701 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
27702 l_balance_type_code <> 'B' THEN
27703 IF NVL(p_source_57,'
27704 ') = 'ALWAYS_CLEAR' AND
27705 (NVL(p_source_116,'
27706 ') = 'Y' AND
27707 NVL(p_source_10,'
27708 ') = 'ACCOUNT_SEGMENT_VALUE') AND
27709 p_source_117 IS NULL AND
27710 NVL(p_source_101,'
27711 ') = 'CASH' AND
27712 NVL(p_source_125,'
27713 ') <> 'R' AND
27714 NVL(p_source_126,'
27715 ') <> 'PAYMENTCARD'
27716 THEN
27717
27718 --
27719 XLA_AE_LINES_PKG.SetNewLine;
27720
27721 p_balance_type_code := l_balance_type_code;
27722 -- set the flag so later we will know whether the gain loss line needs to be created
27723
27724 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
27725 p_actual_flag :='A';
27726 END IF;
27727
27728 --
27729 -- bulk performance
27730 --
27731 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
27732 p_header_num => 0); -- 4262811
27733 --
27734 -- set accounting line options
27735 --
27736 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
27737 p_natural_side_code => 'C'
27738 , p_gain_or_loss_flag => 'N'
27739 , p_gl_transfer_mode_code => 'S'
27740 , p_acct_entry_type_code => 'A'
27741 , p_switch_side_flag => 'Y'
27742 , p_merge_duplicate_code => 'A'
27743 );
27744 --
27745 l_acc_rev_natural_side_code := 'D'; -- 4262811
27746 --
27747 --
27748 -- set accounting line type info
27749 --
27750 xla_ae_lines_pkg.SetAcctLineType
27754 ,p_line_definition_code => l_line_definition_code
27751 (p_component_type => l_component_type
27752 ,p_event_type_code => l_event_type_code
27753 ,p_line_definition_owner_code => l_line_definition_owner_code
27755 ,p_accounting_line_code => l_component_code
27756 ,p_accounting_line_type_code => l_component_type_code
27757 ,p_accounting_line_appl_id => l_component_appl_id
27758 ,p_amb_context_code => l_amb_context_code
27759 ,p_entity_code => l_entity_code
27760 ,p_event_class_code => l_event_class_code);
27761 --
27762 -- set accounting class
27763 --
27764 xla_ae_lines_pkg.SetAcctClass(
27765 p_accounting_class_code => 'CASH_CLEARING'
27766 , p_ae_header_id => l_ae_header_id
27767 );
27768
27769 --
27770 -- set rounding class
27771 --
27772 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
27773 'CASH_CLEARING';
27774
27775 --
27776 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
27777 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
27778 --
27779 -- bulk performance
27780 --
27781 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
27782
27783 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
27784 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
27785
27786 -- 4955764
27787 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
27788 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
27789
27790 -- 4458381 Public Sector Enh
27791
27792 --
27793 -- set accounting attributes for the line type
27794 --
27795 l_entered_amt_idx := 10;
27796 l_accted_amt_idx := 15;
27797 l_bflow_applied_to_amt_idx := 2; -- 5132302
27798 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
27799 l_rec_acct_attrs.array_char_value(1) := p_source_58;
27800 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
27801 l_rec_acct_attrs.array_num_value(2) := p_source_127;
27802 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
27803 l_rec_acct_attrs.array_num_value(3) := p_source_96;
27804 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
27805 l_rec_acct_attrs.array_char_value(4) := p_source_97;
27806 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
27807 l_rec_acct_attrs.array_char_value(5) := p_source_98;
27808 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
27809 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_99);
27810 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
27811 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_100);
27812 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
27813 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_107);
27814 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
27815 l_rec_acct_attrs.array_char_value(9) := p_source_60;
27816 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
27817 l_rec_acct_attrs.array_num_value(10) := p_source_102;
27818 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
27819 l_rec_acct_attrs.array_char_value(11) := p_source_8;
27820 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
27821 l_rec_acct_attrs.array_date_value(12) := p_source_120;
27822 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
27823 l_rec_acct_attrs.array_num_value(13) := p_source_121;
27824 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
27825 l_rec_acct_attrs.array_char_value(14) := p_source_122;
27826 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
27827 l_rec_acct_attrs.array_num_value(15) := p_source_119;
27828 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
27829 l_rec_acct_attrs.array_char_value(16) := p_source_85;
27830 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
27831 l_rec_acct_attrs.array_num_value(17) := p_source_113;
27832 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
27833 l_rec_acct_attrs.array_num_value(18) := p_source_114;
27834 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
27835 l_rec_acct_attrs.array_char_value(19) := p_source_88;
27836 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
27837 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_115);
27838 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
27839 l_rec_acct_attrs.array_char_value(21) := p_source_60;
27840 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
27841 l_rec_acct_attrs.array_num_value(22) := p_source_91;
27842 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
27843 l_rec_acct_attrs.array_num_value(23) := p_source_92;
27844 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
27845 l_rec_acct_attrs.array_num_value(24) := p_source_93;
27846
27847 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
27848 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
27849
27853 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
27850 ---------------------------------------------------------------------------------------------------------------
27851 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
27852 ---------------------------------------------------------------------------------------------------------------
27854
27855 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
27856 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
27857
27858 IF xla_accounting_cache_pkg.GetValueChar
27859 (p_source_code => 'LEDGER_CATEGORY_CODE'
27860 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
27861 AND l_bflow_method_code = 'PRIOR_ENTRY'
27862 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
27863 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
27864 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
27865 )
27866 THEN
27867 xla_ae_lines_pkg.BflowUpgEntry
27868 (p_business_method_code => l_bflow_method_code
27869 ,p_business_class_code => l_bflow_class_code
27870 ,p_balance_type => l_balance_type_code);
27871 ELSE
27872 NULL;
27873 XLA_AE_LINES_PKG.business_flow_validation(
27874 p_business_method_code => l_bflow_method_code
27875 ,p_business_class_code => l_bflow_class_code
27876 ,p_inherit_description_flag => l_inherit_desc_flag);
27877 END IF;
27878
27879 --
27880 -- call analytical criteria
27881 --
27882
27883 --
27884 -- call description
27885 --
27886 -- No description or it is inherited.
27887 --
27888 -- call ADRs
27889 -- Bug 4922099
27890 --
27891 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
27892 (NVL(l_actual_upg_option, 'N') = 'O') OR
27893 (NVL(l_enc_upg_option, 'N') = 'O')
27894 )
27895 THEN
27896 NULL;
27897 --
27898 --
27899
27900 xla_ae_lines_pkg.Set_Ccid( -- replaced SetCcid
27901 p_code_combination_id => TO_NUMBER(C_NUM)
27902 , p_value_type_code => NULL
27903 , p_transaction_coa_id => null
27904 , p_accounting_coa_id => null
27905 , p_adr_code => NULL
27906 , p_adr_type_code => NULL
27907 , p_component_type => l_component_type
27908 , p_component_code => l_component_code
27909 , p_component_type_code => l_component_type_code
27910 , p_component_appl_id => l_component_appl_id
27911 , p_amb_context_code => l_amb_context_code
27912 , p_side => NULL
27913 );
27914
27915
27916 -- initialise segments
27917 XLA_AE_LINES_PKG.g_rec_lines.array_segment1(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27918 XLA_AE_LINES_PKG.g_rec_lines.array_segment2(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27919 XLA_AE_LINES_PKG.g_rec_lines.array_segment3(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27920 XLA_AE_LINES_PKG.g_rec_lines.array_segment4(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27921 XLA_AE_LINES_PKG.g_rec_lines.array_segment5(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27922 XLA_AE_LINES_PKG.g_rec_lines.array_segment6(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27923 XLA_AE_LINES_PKG.g_rec_lines.array_segment7(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27924 XLA_AE_LINES_PKG.g_rec_lines.array_segment8(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27925 XLA_AE_LINES_PKG.g_rec_lines.array_segment9(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27926 XLA_AE_LINES_PKG.g_rec_lines.array_segment10(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27927 XLA_AE_LINES_PKG.g_rec_lines.array_segment11(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27928 XLA_AE_LINES_PKG.g_rec_lines.array_segment12(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27929 XLA_AE_LINES_PKG.g_rec_lines.array_segment13(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27930 XLA_AE_LINES_PKG.g_rec_lines.array_segment14(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27931 XLA_AE_LINES_PKG.g_rec_lines.array_segment15(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27932 XLA_AE_LINES_PKG.g_rec_lines.array_segment16(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27933 XLA_AE_LINES_PKG.g_rec_lines.array_segment17(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27934 XLA_AE_LINES_PKG.g_rec_lines.array_segment18(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27935 XLA_AE_LINES_PKG.g_rec_lines.array_segment19(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27936 XLA_AE_LINES_PKG.g_rec_lines.array_segment20(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27937 XLA_AE_LINES_PKG.g_rec_lines.array_segment21(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27938 XLA_AE_LINES_PKG.g_rec_lines.array_segment22(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27939 XLA_AE_LINES_PKG.g_rec_lines.array_segment23(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27940 XLA_AE_LINES_PKG.g_rec_lines.array_segment24(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27941 XLA_AE_LINES_PKG.g_rec_lines.array_segment25(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27942 XLA_AE_LINES_PKG.g_rec_lines.array_segment26(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27943 XLA_AE_LINES_PKG.g_rec_lines.array_segment27(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27944 XLA_AE_LINES_PKG.g_rec_lines.array_segment28(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27945 XLA_AE_LINES_PKG.g_rec_lines.array_segment29(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27949 --
27946 XLA_AE_LINES_PKG.g_rec_lines.array_segment30(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27947 --
27948
27950
27951
27952 l_segment := AcctDerRule_16(
27953 p_application_id => p_application_id
27954 , p_ae_header_id => l_ae_header_id
27955 , p_source_30 => p_source_30
27956 , x_transaction_coa_id => l_adr_transaction_coa_id
27957 , x_accounting_coa_id => l_adr_accounting_coa_id
27958 , x_flexfield_segment_code => l_adr_flexfield_segment_code
27959 , x_flex_value_set_id => l_adr_flex_value_set_id
27960 , x_value_type_code => l_adr_value_type_code
27961 , x_value_combination_id => l_adr_value_combination_id
27962 , x_value_segment_code => l_adr_value_segment_code
27963 , p_side => 'NA'
27964 , p_override_seg_flag => 'Y'
27965 );
27966
27967 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
27968
27969 xla_ae_lines_pkg.set_segment(
27970 p_to_segment_code => 'GL_ACCOUNT'
27971 , p_segment_value => l_segment
27972 , p_from_segment_code => l_adr_value_segment_code
27973 , p_from_combination_id => l_adr_value_combination_id
27974 , p_value_type_code => l_adr_value_type_code
27975 , p_transaction_coa_id => l_adr_transaction_coa_id
27976 , p_accounting_coa_id => l_adr_accounting_coa_id
27977 , p_flexfield_segment_code => l_adr_flexfield_segment_code
27978 , p_flex_value_set_id => l_adr_flex_value_set_id
27979 , p_adr_code => 'AP_PMT_CASH_CLEAR_NAT_ACC_POOL'
27980 , p_adr_type_code => 'S'
27981 , p_component_type => l_component_type
27982 , p_component_code => l_component_code
27983 , p_component_type_code => l_component_type_code
27984 , p_component_appl_id => l_component_appl_id
27985 , p_amb_context_code => l_amb_context_code
27986 , p_entity_code => 'AP_PAYMENTS'
27987 , p_event_class_code => 'PAYMENTS'
27988 , p_side => 'NA'
27989 );
27990
27991 END IF;
27992
27993 --
27994 --
27995 END IF;
27996 --
27997 -- Bug 4922099
27998 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
27999 (NVL(l_enc_upg_option, 'N') = 'O')
28000 ) AND
28001 (l_bflow_method_code = 'PRIOR_ENTRY')
28002 )
28003 THEN
28004 IF
28005 --
28006 1 = 2
28007 --
28008 THEN
28009 xla_accounting_err_pkg.build_message
28010 (p_appli_s_name => 'XLA'
28011 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
28012 ,p_token_1 => 'LINE_NUMBER'
28013 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
28014 ,p_token_2 => 'LINE_TYPE_NAME'
28015 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
28016 l_component_type
28017 ,l_component_code
28018 ,l_component_type_code
28019 ,l_component_appl_id
28020 ,l_amb_context_code
28021 ,l_entity_code
28022 ,l_event_class_code
28023 )
28024 ,p_token_3 => 'OWNER'
28025 ,p_value_3 => xla_lookups_pkg.get_meaning(
28026 p_lookup_type => 'XLA_OWNER_TYPE'
28027 ,p_lookup_code => l_component_type_code
28028 )
28029 ,p_token_4 => 'PRODUCT_NAME'
28030 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
28031 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
28032 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
28033 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
28034 ,p_ae_header_id => NULL
28035 );
28036
28037 IF (C_LEVEL_ERROR>= g_log_level) THEN
28038 trace
28039 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
28040 ,p_level => C_LEVEL_ERROR
28041 ,p_module => l_log_module);
28042 END IF;
28043 END IF;
28044 END IF;
28045 --
28049 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
28046 --
28047 ------------------------------------------------------------------------------------------------
28048 -- 4219869 Business Flow
28050 -- Prior Entry. Currently, the following code is always generated.
28051 ------------------------------------------------------------------------------------------------
28052 XLA_AE_LINES_PKG.ValidateCurrentLine;
28053
28054 ------------------------------------------------------------------------------------
28055 -- 4219869 Business Flow
28056 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
28057 ------------------------------------------------------------------------------------
28058 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
28059
28060 ----------------------------------------------------------------------------------
28061 -- 4219869 Business Flow
28062 -- Update journal entry status -- Need to generate this within IF <condition>
28063 ----------------------------------------------------------------------------------
28064 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
28065 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
28066 ,p_balance_type_code => l_balance_type_code
28067 );
28068
28069 -------------------------------------------------------------------------------------------
28070 -- 4262811 - Generate the Accrual Reversal lines
28071 -------------------------------------------------------------------------------------------
28072 BEGIN
28073 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
28074 (g_array_event(p_event_id).array_value_num('header_index'));
28075 IF l_acc_rev_flag IS NULL THEN
28076 l_acc_rev_flag := 'N';
28077 END IF;
28078 EXCEPTION
28079 WHEN OTHERS THEN
28080 l_acc_rev_flag := 'N';
28081 END;
28082 --
28083 IF (l_acc_rev_flag = 'Y') THEN
28084
28085 -- 4645092 ------------------------------------------------------------------------------
28086 -- To allow MPA report to determine if it should generate report process
28087 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
28088 ------------------------------------------------------------------------------------------
28089
28090 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
28091 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
28092 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
28093 -- call ADRs
28094 -- Bug 4922099
28095 --
28096 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
28097 (NVL(l_actual_upg_option, 'N') = 'O') OR
28098 (NVL(l_enc_upg_option, 'N') = 'O')
28099 )
28100 THEN
28101 NULL;
28102 --
28103 --
28104
28105 xla_ae_lines_pkg.Set_Ccid( -- replaced SetCcid
28106 p_code_combination_id => TO_NUMBER(C_NUM)
28107 , p_value_type_code => NULL
28108 , p_transaction_coa_id => null
28109 , p_accounting_coa_id => null
28110 , p_adr_code => NULL
28111 , p_adr_type_code => NULL
28112 , p_component_type => l_component_type
28113 , p_component_code => l_component_code
28114 , p_component_type_code => l_component_type_code
28115 , p_component_appl_id => l_component_appl_id
28116 , p_amb_context_code => l_amb_context_code
28117 , p_side => NULL
28118 );
28119
28120
28121 -- initialise segments
28122 XLA_AE_LINES_PKG.g_rec_lines.array_segment1(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
28123 XLA_AE_LINES_PKG.g_rec_lines.array_segment2(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
28124 XLA_AE_LINES_PKG.g_rec_lines.array_segment3(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
28125 XLA_AE_LINES_PKG.g_rec_lines.array_segment4(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
28126 XLA_AE_LINES_PKG.g_rec_lines.array_segment5(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
28127 XLA_AE_LINES_PKG.g_rec_lines.array_segment6(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
28128 XLA_AE_LINES_PKG.g_rec_lines.array_segment7(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
28129 XLA_AE_LINES_PKG.g_rec_lines.array_segment8(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
28130 XLA_AE_LINES_PKG.g_rec_lines.array_segment9(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
28131 XLA_AE_LINES_PKG.g_rec_lines.array_segment10(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
28132 XLA_AE_LINES_PKG.g_rec_lines.array_segment11(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
28133 XLA_AE_LINES_PKG.g_rec_lines.array_segment12(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
28134 XLA_AE_LINES_PKG.g_rec_lines.array_segment13(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
28135 XLA_AE_LINES_PKG.g_rec_lines.array_segment14(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
28136 XLA_AE_LINES_PKG.g_rec_lines.array_segment15(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
28137 XLA_AE_LINES_PKG.g_rec_lines.array_segment16(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
28138 XLA_AE_LINES_PKG.g_rec_lines.array_segment17(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
28139 XLA_AE_LINES_PKG.g_rec_lines.array_segment18(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
28140 XLA_AE_LINES_PKG.g_rec_lines.array_segment19(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
28141 XLA_AE_LINES_PKG.g_rec_lines.array_segment20(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
28145 XLA_AE_LINES_PKG.g_rec_lines.array_segment24(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
28142 XLA_AE_LINES_PKG.g_rec_lines.array_segment21(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
28143 XLA_AE_LINES_PKG.g_rec_lines.array_segment22(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
28144 XLA_AE_LINES_PKG.g_rec_lines.array_segment23(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
28146 XLA_AE_LINES_PKG.g_rec_lines.array_segment25(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
28147 XLA_AE_LINES_PKG.g_rec_lines.array_segment26(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
28148 XLA_AE_LINES_PKG.g_rec_lines.array_segment27(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
28149 XLA_AE_LINES_PKG.g_rec_lines.array_segment28(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
28150 XLA_AE_LINES_PKG.g_rec_lines.array_segment29(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
28151 XLA_AE_LINES_PKG.g_rec_lines.array_segment30(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
28152 --
28153
28154 --
28155
28156
28157 l_segment := AcctDerRule_16(
28158 p_application_id => p_application_id
28159 , p_ae_header_id => l_ae_header_id
28160 , p_source_30 => p_source_30
28161 , x_transaction_coa_id => l_adr_transaction_coa_id
28162 , x_accounting_coa_id => l_adr_accounting_coa_id
28163 , x_flexfield_segment_code => l_adr_flexfield_segment_code
28164 , x_flex_value_set_id => l_adr_flex_value_set_id
28165 , x_value_type_code => l_adr_value_type_code
28166 , x_value_combination_id => l_adr_value_combination_id
28167 , x_value_segment_code => l_adr_value_segment_code
28168 , p_side => 'NA'
28169 , p_override_seg_flag => 'Y'
28170 );
28171
28172 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
28173
28174 xla_ae_lines_pkg.set_segment(
28175 p_to_segment_code => 'GL_ACCOUNT'
28176 , p_segment_value => l_segment
28177 , p_from_segment_code => l_adr_value_segment_code
28178 , p_from_combination_id => l_adr_value_combination_id
28179 , p_value_type_code => l_adr_value_type_code
28180 , p_transaction_coa_id => l_adr_transaction_coa_id
28181 , p_accounting_coa_id => l_adr_accounting_coa_id
28182 , p_flexfield_segment_code => l_adr_flexfield_segment_code
28183 , p_flex_value_set_id => l_adr_flex_value_set_id
28184 , p_adr_code => 'AP_PMT_CASH_CLEAR_NAT_ACC_POOL'
28185 , p_adr_type_code => 'S'
28186 , p_component_type => l_component_type
28187 , p_component_code => l_component_code
28188 , p_component_type_code => l_component_type_code
28189 , p_component_appl_id => l_component_appl_id
28190 , p_amb_context_code => l_amb_context_code
28191 , p_entity_code => 'AP_PAYMENTS'
28192 , p_event_class_code => 'PAYMENTS'
28193 , p_side => 'NA'
28194 );
28195
28196 END IF;
28197
28198 --
28199 --
28200 END IF;
28201
28202 --
28203 -- Update the line information that should be overwritten
28204 --
28205 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
28206 p_header_num => 1);
28207 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
28208
28209 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
28210
28211 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
28212 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
28213 END IF;
28214
28215 --
28216 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
28217 --
28218 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
28219 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
28220 ELSE
28221 ---------------------------------------------------------------------------------------------------
28222 -- 4262811a Switch Sign
28223 ---------------------------------------------------------------------------------------------------
28224 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
28225 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
28226 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
28227 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
28228 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
28229 -- 5132302
28230 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
28231 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
28232
28233 END IF;
28234
28235 -- 4955764
28236 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
28237 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
28238
28239
28240 XLA_AE_LINES_PKG.ValidateCurrentLine;
28244 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
28241 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
28242
28243 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
28245 ,p_balance_type_code => l_balance_type_code);
28246
28247 END IF;
28248
28249 -----------------------------------------------------------------------------------------
28250 -- 4262811 Multiperiod Accounting
28251 -----------------------------------------------------------------------------------------
28252 -- No MPA option is assigned.
28253
28254
28255 END IF;
28256 END IF;
28257 --
28258
28259 --
28260 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
28261 trace
28262 (p_msg => 'END of AcctLineType_81'
28263 ,p_level => C_LEVEL_PROCEDURE
28264 ,p_module => l_log_module);
28265 END IF;
28266 --
28267 EXCEPTION
28268 WHEN xla_exceptions_pkg.application_exception THEN
28269 RAISE;
28270 WHEN OTHERS THEN
28271 xla_exceptions_pkg.raise_message
28272 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_81');
28273 END AcctLineType_81;
28274 --
28275
28276 ---------------------------------------
28277 --
28278 -- PRIVATE FUNCTION
28279 -- AcctLineType_82
28280 --
28281 ---------------------------------------
28282 PROCEDURE AcctLineType_82 (
28283 p_application_id IN NUMBER
28284 ,p_event_id IN NUMBER
28285 ,p_calculate_acctd_flag IN VARCHAR2
28286 ,p_calculate_g_l_flag IN VARCHAR2
28287 ,p_actual_flag IN OUT VARCHAR2
28288 ,p_balance_type_code OUT VARCHAR2
28289 ,p_gain_or_loss_ref OUT VARCHAR2
28290
28291 --Payment Currency Code
28292 , p_source_8 IN VARCHAR2
28293 --Automatic Offsets Value
28294 , p_source_10 IN VARCHAR2
28295 , p_source_10_meaning IN VARCHAR2
28296 --Bank Cash Clearing Account
28297 , p_source_30 IN NUMBER
28298 --When to Account for Payment Option
28299 , p_source_57 IN VARCHAR2
28300 --Accounting Reversal Indicator
28301 , p_source_58 IN VARCHAR2
28302 --Distribution Link Type
28303 , p_source_60 IN VARCHAR2
28304 --Override Accounted Amount Indicator
28305 , p_source_85 IN VARCHAR2
28306 , p_source_85_meaning IN VARCHAR2
28307 --Third Party Type
28308 , p_source_88 IN VARCHAR2
28309 --Invoice Distribution Tax Line Identifier
28310 , p_source_91 IN NUMBER
28311 --Invoice Distribution Tax Distribution Identifier from Tax
28312 , p_source_92 IN NUMBER
28313 --Invoice Distribution Summary Tax Line Identifier
28314 , p_source_93 IN NUMBER
28315 --Business Flow Accounts Payable Application Identifier
28316 , p_source_96 IN NUMBER
28317 --Business Flow Invoice Distribution Type
28318 , p_source_97 IN VARCHAR2
28319 --Business Flow Invoice Entity Code
28320 , p_source_98 IN VARCHAR2
28321 --Business Flow Invoice Distribution Identifier
28322 , p_source_99 IN NUMBER
28323 --Business Flow Invoice Identifier
28324 , p_source_100 IN NUMBER
28325 --Payment Distribution Type
28326 , p_source_101 IN VARCHAR2
28327 , p_source_101_meaning IN VARCHAR2
28328 --Payment Distribution Amount
28329 , p_source_102 IN NUMBER
28330 --Payment Distribution Identifier
28331 , p_source_107 IN NUMBER
28332 --Payment Supplier Identifier
28333 , p_source_113 IN NUMBER
28334 --Payment Supplier Site Identifier
28335 , p_source_114 IN NUMBER
28336 --Payment Distribution Reversed Identifier
28337 , p_source_115 IN NUMBER
28338 --Pooled Bank Account Option
28339 , p_source_116 IN VARCHAR2
28340 , p_source_116_meaning IN VARCHAR2
28341 --Payment Maturity Date
28342 , p_source_117 IN DATE
28343 --Payment Distribution (Invoice Rate) Ledger Amount
28344 , p_source_119 IN NUMBER
28345 --Payment Exchange Date
28346 , p_source_120 IN DATE
28347 --Payment Exchange Rate
28348 , p_source_121 IN NUMBER
28349 --Payment Exchange Rate Type
28350 , p_source_122 IN VARCHAR2
28351 --Payment Type
28352 , p_source_125 IN VARCHAR2
28353 , p_source_125_meaning IN VARCHAR2
28354 --Payment Processing Type
28355 , p_source_126 IN VARCHAR2
28356 --Invoice Distribution Amount of the Payment Distribution
28357 , p_source_127 IN NUMBER
28358 )
28359 IS
28360
28361 l_component_type VARCHAR2(80);
28362 l_component_code VARCHAR2(30);
28363 l_component_type_code VARCHAR2(1);
28364 l_component_appl_id INTEGER;
28365 l_amb_context_code VARCHAR2(30);
28366 l_entity_code VARCHAR2(30);
28367 l_event_class_code VARCHAR2(30);
28368 l_ae_header_id NUMBER;
28369 l_event_type_code VARCHAR2(30);
28370 l_line_definition_code VARCHAR2(30);
28371 l_line_definition_owner_code VARCHAR2(1);
28372 --
28373 -- adr variables
28374 l_segment VARCHAR2(30);
28375 l_ccid NUMBER;
28376 l_adr_transaction_coa_id NUMBER;
28377 l_adr_accounting_coa_id NUMBER;
28378 l_adr_flexfield_segment_code VARCHAR2(30);
28379 l_adr_flex_value_set_id NUMBER;
28380 l_adr_value_type_code VARCHAR2(30);
28384 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
28381 l_adr_value_combination_id NUMBER;
28382 l_adr_value_segment_code VARCHAR2(30);
28383
28385 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
28386 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
28387 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
28388
28389 -- 4262811 Variables ------------------------------------------------------------------------------------------
28390 l_entered_amt_idx NUMBER;
28391 l_accted_amt_idx NUMBER;
28392 l_acc_rev_flag VARCHAR2(1);
28393 l_accrual_line_num NUMBER;
28394 l_tmp_amt NUMBER;
28395 l_acc_rev_natural_side_code VARCHAR2(1);
28396
28397 l_num_entries NUMBER;
28398 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
28399 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
28400 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
28401 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
28402 l_recog_line_1 NUMBER;
28403 l_recog_line_2 NUMBER;
28404
28405 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
28406 l_bflow_applied_to_amt NUMBER; -- 5132302
28407 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
28408
28409 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
28410
28411 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
28412 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
28413
28414 ---------------------------------------------------------------------------------------------------------------
28415
28416
28417 --
28418 -- bulk performance
28419 --
28420 l_balance_type_code VARCHAR2(1);
28421 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
28422 l_log_module VARCHAR2(240);
28423
28424 --
28425 -- Upgrade strategy
28426 --
28427 l_actual_upg_option VARCHAR2(1);
28428 l_enc_upg_option VARCHAR2(1);
28429
28430 --
28431 BEGIN
28432 --
28433 IF g_log_enabled THEN
28434 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_82';
28435 END IF;
28436 --
28437 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
28438
28439 trace
28440 (p_msg => 'BEGIN of AcctLineType_82'
28441 ,p_level => C_LEVEL_PROCEDURE
28442 ,p_module => l_log_module);
28443
28444 END IF;
28445 --
28446 l_component_type := 'AMB_JLT';
28447 l_component_code := 'AP_CASH_CLEAR_PMT_BS_INVXRATE';
28448 l_component_type_code := 'S';
28449 l_component_appl_id := 200;
28450 l_amb_context_code := 'DEFAULT';
28451 l_entity_code := 'AP_PAYMENTS';
28452 l_event_class_code := 'PAYMENTS';
28453 l_event_type_code := 'PAYMENTS_ALL';
28454 l_line_definition_owner_code := 'S';
28455 l_line_definition_code := 'ACCRUAL_PAYMENTS_ALL';
28456 --
28457 l_balance_type_code := 'A';
28458 l_segment := NULL;
28459 l_ccid := NULL;
28460 l_adr_transaction_coa_id := NULL;
28461 l_adr_accounting_coa_id := NULL;
28462 l_adr_flexfield_segment_code := NULL;
28463 l_adr_flex_value_set_id := NULL;
28464 l_adr_value_type_code := NULL;
28465 l_adr_value_combination_id := NULL;
28466 l_adr_value_segment_code := NULL;
28467
28468 l_bflow_method_code := 'SAME_ENTRY'; -- 4219869 Business Flow
28469 l_bflow_class_code := 'AP_CASH_CLEARING'; -- 4219869 Business Flow
28470 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
28471 l_budgetary_control_flag := 'N';
28472
28473 l_bflow_applied_to_amt_idx := NULL; -- 5132302
28474 l_bflow_applied_to_amt := NULL; -- 5132302
28475 l_entered_amt_idx := NULL; -- 4262811
28476 l_accted_amt_idx := NULL; -- 4262811
28477 l_acc_rev_flag := NULL; -- 4262811
28478 l_accrual_line_num := NULL; -- 4262811
28479 l_tmp_amt := NULL; -- 4262811
28480 --
28481
28482 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
28483 l_balance_type_code <> 'B' THEN
28484 IF NVL(p_source_57,'
28485 ') = 'ALWAYS_CLEAR' AND
28486 (NVL(p_source_116,'
28487 ') = 'Y' AND
28488 NVL(p_source_10,'
28489 ') = 'BALANCING_SEGMENT') AND
28490 p_source_117 IS NULL AND
28491 NVL(p_source_101,'
28492 ') = 'CASH' AND
28493 NVL(p_source_125,'
28494 ') <> 'R' AND
28495 NVL(p_source_126,'
28496 ') <> 'PAYMENTCARD'
28497 THEN
28498
28499 --
28500 XLA_AE_LINES_PKG.SetNewLine;
28501
28502 p_balance_type_code := l_balance_type_code;
28503 -- set the flag so later we will know whether the gain loss line needs to be created
28504
28505 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
28506 p_actual_flag :='A';
28507 END IF;
28508
28509 --
28510 -- bulk performance
28511 --
28512 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
28513 p_header_num => 0); -- 4262811
28517 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
28514 --
28515 -- set accounting line options
28516 --
28518 p_natural_side_code => 'C'
28519 , p_gain_or_loss_flag => 'N'
28520 , p_gl_transfer_mode_code => 'S'
28521 , p_acct_entry_type_code => 'A'
28522 , p_switch_side_flag => 'Y'
28523 , p_merge_duplicate_code => 'A'
28524 );
28525 --
28526 l_acc_rev_natural_side_code := 'D'; -- 4262811
28527 --
28528 --
28529 -- set accounting line type info
28530 --
28531 xla_ae_lines_pkg.SetAcctLineType
28532 (p_component_type => l_component_type
28533 ,p_event_type_code => l_event_type_code
28534 ,p_line_definition_owner_code => l_line_definition_owner_code
28535 ,p_line_definition_code => l_line_definition_code
28536 ,p_accounting_line_code => l_component_code
28537 ,p_accounting_line_type_code => l_component_type_code
28538 ,p_accounting_line_appl_id => l_component_appl_id
28539 ,p_amb_context_code => l_amb_context_code
28540 ,p_entity_code => l_entity_code
28541 ,p_event_class_code => l_event_class_code);
28542 --
28543 -- set accounting class
28544 --
28545 xla_ae_lines_pkg.SetAcctClass(
28546 p_accounting_class_code => 'CASH_CLEARING'
28547 , p_ae_header_id => l_ae_header_id
28548 );
28549
28550 --
28551 -- set rounding class
28552 --
28553 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
28554 'CASH_CLEARING';
28555
28556 --
28557 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
28558 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
28559 --
28560 -- bulk performance
28561 --
28562 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
28563
28564 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
28565 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
28566
28567 -- 4955764
28568 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
28569 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
28570
28571 -- 4458381 Public Sector Enh
28572
28573 --
28574 -- set accounting attributes for the line type
28575 --
28576 l_entered_amt_idx := 10;
28577 l_accted_amt_idx := 15;
28578 l_bflow_applied_to_amt_idx := 2; -- 5132302
28579 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
28580 l_rec_acct_attrs.array_char_value(1) := p_source_58;
28581 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
28582 l_rec_acct_attrs.array_num_value(2) := p_source_127;
28583 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
28584 l_rec_acct_attrs.array_num_value(3) := p_source_96;
28585 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
28586 l_rec_acct_attrs.array_char_value(4) := p_source_97;
28587 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
28588 l_rec_acct_attrs.array_char_value(5) := p_source_98;
28589 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
28590 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_99);
28591 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
28592 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_100);
28593 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
28594 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_107);
28595 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
28596 l_rec_acct_attrs.array_char_value(9) := p_source_60;
28597 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
28598 l_rec_acct_attrs.array_num_value(10) := p_source_102;
28599 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
28600 l_rec_acct_attrs.array_char_value(11) := p_source_8;
28601 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
28602 l_rec_acct_attrs.array_date_value(12) := p_source_120;
28603 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
28604 l_rec_acct_attrs.array_num_value(13) := p_source_121;
28605 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
28606 l_rec_acct_attrs.array_char_value(14) := p_source_122;
28607 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
28608 l_rec_acct_attrs.array_num_value(15) := p_source_119;
28609 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
28610 l_rec_acct_attrs.array_char_value(16) := p_source_85;
28611 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
28612 l_rec_acct_attrs.array_num_value(17) := p_source_113;
28613 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
28614 l_rec_acct_attrs.array_num_value(18) := p_source_114;
28615 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
28616 l_rec_acct_attrs.array_char_value(19) := p_source_88;
28617 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
28618 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_115);
28622 l_rec_acct_attrs.array_num_value(22) := p_source_91;
28619 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
28620 l_rec_acct_attrs.array_char_value(21) := p_source_60;
28621 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
28623 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
28624 l_rec_acct_attrs.array_num_value(23) := p_source_92;
28625 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
28626 l_rec_acct_attrs.array_num_value(24) := p_source_93;
28627
28628 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
28629 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
28630
28631 ---------------------------------------------------------------------------------------------------------------
28632 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
28633 ---------------------------------------------------------------------------------------------------------------
28634 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
28635
28636 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
28637 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
28638
28639 IF xla_accounting_cache_pkg.GetValueChar
28640 (p_source_code => 'LEDGER_CATEGORY_CODE'
28641 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
28642 AND l_bflow_method_code = 'PRIOR_ENTRY'
28643 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
28644 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
28645 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
28646 )
28647 THEN
28648 xla_ae_lines_pkg.BflowUpgEntry
28649 (p_business_method_code => l_bflow_method_code
28650 ,p_business_class_code => l_bflow_class_code
28651 ,p_balance_type => l_balance_type_code);
28652 ELSE
28653 NULL;
28654 XLA_AE_LINES_PKG.business_flow_validation(
28655 p_business_method_code => l_bflow_method_code
28656 ,p_business_class_code => l_bflow_class_code
28657 ,p_inherit_description_flag => l_inherit_desc_flag);
28658 END IF;
28659
28660 --
28661 -- call analytical criteria
28662 --
28663
28664 --
28665 -- call description
28666 --
28667 -- No description or it is inherited.
28668 --
28669 -- call ADRs
28670 -- Bug 4922099
28671 --
28672 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
28673 (NVL(l_actual_upg_option, 'N') = 'O') OR
28674 (NVL(l_enc_upg_option, 'N') = 'O')
28675 )
28676 THEN
28677 NULL;
28678 --
28679 --
28680
28681 l_ccid := AcctDerRule_38(
28682 p_application_id => p_application_id
28683 , p_ae_header_id => l_ae_header_id
28684 , p_source_30 => p_source_30
28685 , x_transaction_coa_id => l_adr_transaction_coa_id
28686 , x_accounting_coa_id => l_adr_accounting_coa_id
28687 , x_value_type_code => l_adr_value_type_code
28688 , p_side => 'NA'
28689 );
28690
28691 xla_ae_lines_pkg.set_ccid(
28692 p_code_combination_id => l_ccid
28693 , p_value_type_code => l_adr_value_type_code
28694 , p_transaction_coa_id => l_adr_transaction_coa_id
28695 , p_accounting_coa_id => l_adr_accounting_coa_id
28696 , p_adr_code => 'AP_PMT_CASH_CLEAR'
28697 , p_adr_type_code => 'S'
28698 , p_component_type => l_component_type
28699 , p_component_code => l_component_code
28700 , p_component_type_code => l_component_type_code
28701 , p_component_appl_id => l_component_appl_id
28702 , p_amb_context_code => l_amb_context_code
28703 , p_side => 'NA'
28704 );
28705
28706
28707 xla_ae_lines_pkg.Set_Segment( -- replaced SetSegment
28708 p_to_segment_code => 'GL_BALANCING'
28709 , p_segment_value => C_CHAR
28710 , p_from_segment_code => NULL
28711 , p_from_combination_id => NULL
28712 , p_value_type_code => NULL
28713 , p_transaction_coa_id => null
28714 , p_accounting_coa_id => null
28715 , p_flexfield_segment_code => NULL
28716 , p_flex_value_set_id => NULL
28717 , p_adr_code => NULL
28718 , p_adr_type_code => NULL
28719 , p_component_type => l_component_type
28720 , p_component_code => l_component_code
28721 , p_component_type_code => l_component_type_code
28722 , p_component_appl_id => l_component_appl_id
28723 , p_amb_context_code => l_amb_context_code
28724 , p_entity_code => 'AP_PAYMENTS'
28725 , p_event_class_code => 'PAYMENTS'
28726 , p_side => 'NA'
28727 );
28728 --
28729
28730
28731 --
28732 --
28733 END IF;
28734 --
28735 -- Bug 4922099
28739 (l_bflow_method_code = 'PRIOR_ENTRY')
28736 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
28737 (NVL(l_enc_upg_option, 'N') = 'O')
28738 ) AND
28740 )
28741 THEN
28742 IF
28743 --
28744 1 = 2
28745 --
28746 THEN
28747 xla_accounting_err_pkg.build_message
28748 (p_appli_s_name => 'XLA'
28749 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
28750 ,p_token_1 => 'LINE_NUMBER'
28751 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
28752 ,p_token_2 => 'LINE_TYPE_NAME'
28753 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
28754 l_component_type
28755 ,l_component_code
28756 ,l_component_type_code
28757 ,l_component_appl_id
28758 ,l_amb_context_code
28759 ,l_entity_code
28760 ,l_event_class_code
28761 )
28762 ,p_token_3 => 'OWNER'
28763 ,p_value_3 => xla_lookups_pkg.get_meaning(
28764 p_lookup_type => 'XLA_OWNER_TYPE'
28765 ,p_lookup_code => l_component_type_code
28766 )
28767 ,p_token_4 => 'PRODUCT_NAME'
28768 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
28769 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
28770 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
28771 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
28772 ,p_ae_header_id => NULL
28773 );
28774
28775 IF (C_LEVEL_ERROR>= g_log_level) THEN
28776 trace
28777 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
28778 ,p_level => C_LEVEL_ERROR
28779 ,p_module => l_log_module);
28780 END IF;
28781 END IF;
28782 END IF;
28783 --
28784 --
28785 ------------------------------------------------------------------------------------------------
28786 -- 4219869 Business Flow
28787 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
28788 -- Prior Entry. Currently, the following code is always generated.
28789 ------------------------------------------------------------------------------------------------
28790 XLA_AE_LINES_PKG.ValidateCurrentLine;
28791
28792 ------------------------------------------------------------------------------------
28793 -- 4219869 Business Flow
28794 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
28795 ------------------------------------------------------------------------------------
28796 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
28797
28798 ----------------------------------------------------------------------------------
28799 -- 4219869 Business Flow
28800 -- Update journal entry status -- Need to generate this within IF <condition>
28801 ----------------------------------------------------------------------------------
28802 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
28803 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
28804 ,p_balance_type_code => l_balance_type_code
28805 );
28806
28807 -------------------------------------------------------------------------------------------
28808 -- 4262811 - Generate the Accrual Reversal lines
28809 -------------------------------------------------------------------------------------------
28810 BEGIN
28811 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
28812 (g_array_event(p_event_id).array_value_num('header_index'));
28813 IF l_acc_rev_flag IS NULL THEN
28814 l_acc_rev_flag := 'N';
28815 END IF;
28816 EXCEPTION
28817 WHEN OTHERS THEN
28818 l_acc_rev_flag := 'N';
28819 END;
28820 --
28821 IF (l_acc_rev_flag = 'Y') THEN
28822
28823 -- 4645092 ------------------------------------------------------------------------------
28824 -- To allow MPA report to determine if it should generate report process
28825 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
28826 ------------------------------------------------------------------------------------------
28830 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
28827
28828 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
28829 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
28831 -- call ADRs
28832 -- Bug 4922099
28833 --
28834 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
28835 (NVL(l_actual_upg_option, 'N') = 'O') OR
28836 (NVL(l_enc_upg_option, 'N') = 'O')
28837 )
28838 THEN
28839 NULL;
28840 --
28841 --
28842
28843 l_ccid := AcctDerRule_38(
28844 p_application_id => p_application_id
28845 , p_ae_header_id => l_ae_header_id
28846 , p_source_30 => p_source_30
28847 , x_transaction_coa_id => l_adr_transaction_coa_id
28848 , x_accounting_coa_id => l_adr_accounting_coa_id
28849 , x_value_type_code => l_adr_value_type_code
28850 , p_side => 'NA'
28851 );
28852
28853 xla_ae_lines_pkg.set_ccid(
28854 p_code_combination_id => l_ccid
28855 , p_value_type_code => l_adr_value_type_code
28856 , p_transaction_coa_id => l_adr_transaction_coa_id
28857 , p_accounting_coa_id => l_adr_accounting_coa_id
28858 , p_adr_code => 'AP_PMT_CASH_CLEAR'
28859 , p_adr_type_code => 'S'
28860 , p_component_type => l_component_type
28861 , p_component_code => l_component_code
28862 , p_component_type_code => l_component_type_code
28863 , p_component_appl_id => l_component_appl_id
28864 , p_amb_context_code => l_amb_context_code
28865 , p_side => 'NA'
28866 );
28867
28868
28869 xla_ae_lines_pkg.Set_Segment( -- replaced SetSegment
28870 p_to_segment_code => 'GL_BALANCING'
28871 , p_segment_value => C_CHAR
28872 , p_from_segment_code => NULL
28873 , p_from_combination_id => NULL
28874 , p_value_type_code => NULL
28875 , p_transaction_coa_id => null
28876 , p_accounting_coa_id => null
28877 , p_flexfield_segment_code => NULL
28878 , p_flex_value_set_id => NULL
28879 , p_adr_code => NULL
28880 , p_adr_type_code => NULL
28881 , p_component_type => l_component_type
28882 , p_component_code => l_component_code
28883 , p_component_type_code => l_component_type_code
28884 , p_component_appl_id => l_component_appl_id
28885 , p_amb_context_code => l_amb_context_code
28886 , p_entity_code => 'AP_PAYMENTS'
28887 , p_event_class_code => 'PAYMENTS'
28888 , p_side => 'NA'
28889 );
28890 --
28891
28892
28893 --
28894 --
28895 END IF;
28896
28897 --
28898 -- Update the line information that should be overwritten
28899 --
28900 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
28901 p_header_num => 1);
28902 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
28903
28904 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
28905
28906 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
28907 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
28908 END IF;
28909
28910 --
28911 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
28912 --
28913 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
28914 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
28915 ELSE
28916 ---------------------------------------------------------------------------------------------------
28917 -- 4262811a Switch Sign
28918 ---------------------------------------------------------------------------------------------------
28919 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
28920 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
28921 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
28922 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
28923 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
28924 -- 5132302
28925 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
28926 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
28927
28928 END IF;
28929
28930 -- 4955764
28931 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
28932 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
28933
28934
28935 XLA_AE_LINES_PKG.ValidateCurrentLine;
28936 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
28937
28938 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
28939 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
28943
28940 ,p_balance_type_code => l_balance_type_code);
28941
28942 END IF;
28944 -----------------------------------------------------------------------------------------
28945 -- 4262811 Multiperiod Accounting
28946 -----------------------------------------------------------------------------------------
28947 -- No MPA option is assigned.
28948
28949
28950 END IF;
28951 END IF;
28952 --
28953
28954 --
28955 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
28956 trace
28957 (p_msg => 'END of AcctLineType_82'
28958 ,p_level => C_LEVEL_PROCEDURE
28959 ,p_module => l_log_module);
28960 END IF;
28961 --
28962 EXCEPTION
28963 WHEN xla_exceptions_pkg.application_exception THEN
28964 RAISE;
28965 WHEN OTHERS THEN
28966 xla_exceptions_pkg.raise_message
28967 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_82');
28968 END AcctLineType_82;
28969 --
28970
28971 ---------------------------------------
28972 --
28973 -- PRIVATE FUNCTION
28974 -- AcctLineType_83
28975 --
28976 ---------------------------------------
28977 PROCEDURE AcctLineType_83 (
28978 p_application_id IN NUMBER
28979 ,p_event_id IN NUMBER
28980 ,p_calculate_acctd_flag IN VARCHAR2
28981 ,p_calculate_g_l_flag IN VARCHAR2
28982 ,p_actual_flag IN OUT VARCHAR2
28983 ,p_balance_type_code OUT VARCHAR2
28984 ,p_gain_or_loss_ref OUT VARCHAR2
28985
28986 --Payment Currency Code
28987 , p_source_8 IN VARCHAR2
28988 --Bank Cash Clearing Account
28989 , p_source_30 IN NUMBER
28990 --Automatic Offsets Flag
28991 , p_source_43 IN VARCHAR2
28992 , p_source_43_meaning IN VARCHAR2
28993 --When to Account for Payment Option
28994 , p_source_57 IN VARCHAR2
28995 --Accounting Reversal Indicator
28996 , p_source_58 IN VARCHAR2
28997 --Distribution Link Type
28998 , p_source_60 IN VARCHAR2
28999 --Override Accounted Amount Indicator
29000 , p_source_85 IN VARCHAR2
29001 , p_source_85_meaning IN VARCHAR2
29002 --Third Party Type
29003 , p_source_88 IN VARCHAR2
29004 --Invoice Distribution Tax Line Identifier
29005 , p_source_91 IN NUMBER
29006 --Invoice Distribution Tax Distribution Identifier from Tax
29007 , p_source_92 IN NUMBER
29008 --Invoice Distribution Summary Tax Line Identifier
29009 , p_source_93 IN NUMBER
29010 --Business Flow Accounts Payable Application Identifier
29011 , p_source_96 IN NUMBER
29012 --Business Flow Invoice Distribution Type
29013 , p_source_97 IN VARCHAR2
29014 --Business Flow Invoice Entity Code
29015 , p_source_98 IN VARCHAR2
29016 --Business Flow Invoice Distribution Identifier
29017 , p_source_99 IN NUMBER
29018 --Business Flow Invoice Identifier
29019 , p_source_100 IN NUMBER
29020 --Payment Distribution Type
29021 , p_source_101 IN VARCHAR2
29022 , p_source_101_meaning IN VARCHAR2
29023 --Payment Distribution Amount
29024 , p_source_102 IN NUMBER
29025 --Payment Distribution Identifier
29026 , p_source_107 IN NUMBER
29027 --Payment Supplier Identifier
29028 , p_source_113 IN NUMBER
29029 --Payment Supplier Site Identifier
29030 , p_source_114 IN NUMBER
29031 --Payment Distribution Reversed Identifier
29032 , p_source_115 IN NUMBER
29033 --Pooled Bank Account Option
29034 , p_source_116 IN VARCHAR2
29035 , p_source_116_meaning IN VARCHAR2
29036 --Payment Maturity Date
29037 , p_source_117 IN DATE
29038 --Payment Distribution (Invoice Rate) Ledger Amount
29039 , p_source_119 IN NUMBER
29040 --Payment Exchange Date
29041 , p_source_120 IN DATE
29042 --Payment Exchange Rate
29043 , p_source_121 IN NUMBER
29044 --Payment Exchange Rate Type
29045 , p_source_122 IN VARCHAR2
29046 --Payment Type
29047 , p_source_125 IN VARCHAR2
29048 , p_source_125_meaning IN VARCHAR2
29049 --Payment Processing Type
29050 , p_source_126 IN VARCHAR2
29051 --Invoice Distribution Amount of the Payment Distribution
29052 , p_source_127 IN NUMBER
29053 )
29054 IS
29055
29056 l_component_type VARCHAR2(80);
29057 l_component_code VARCHAR2(30);
29058 l_component_type_code VARCHAR2(1);
29059 l_component_appl_id INTEGER;
29060 l_amb_context_code VARCHAR2(30);
29061 l_entity_code VARCHAR2(30);
29062 l_event_class_code VARCHAR2(30);
29063 l_ae_header_id NUMBER;
29064 l_event_type_code VARCHAR2(30);
29065 l_line_definition_code VARCHAR2(30);
29066 l_line_definition_owner_code VARCHAR2(1);
29067 --
29068 -- adr variables
29069 l_segment VARCHAR2(30);
29070 l_ccid NUMBER;
29071 l_adr_transaction_coa_id NUMBER;
29072 l_adr_accounting_coa_id NUMBER;
29073 l_adr_flexfield_segment_code VARCHAR2(30);
29074 l_adr_flex_value_set_id NUMBER;
29075 l_adr_value_type_code VARCHAR2(30);
29076 l_adr_value_combination_id NUMBER;
29077 l_adr_value_segment_code VARCHAR2(30);
29078
29079 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
29083
29080 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
29081 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
29082 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
29084 -- 4262811 Variables ------------------------------------------------------------------------------------------
29085 l_entered_amt_idx NUMBER;
29086 l_accted_amt_idx NUMBER;
29087 l_acc_rev_flag VARCHAR2(1);
29088 l_accrual_line_num NUMBER;
29089 l_tmp_amt NUMBER;
29090 l_acc_rev_natural_side_code VARCHAR2(1);
29091
29092 l_num_entries NUMBER;
29093 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
29094 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
29095 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
29096 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
29097 l_recog_line_1 NUMBER;
29098 l_recog_line_2 NUMBER;
29099
29100 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
29101 l_bflow_applied_to_amt NUMBER; -- 5132302
29102 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
29103
29104 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
29105
29106 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
29107 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
29108
29109 ---------------------------------------------------------------------------------------------------------------
29110
29111
29112 --
29113 -- bulk performance
29114 --
29115 l_balance_type_code VARCHAR2(1);
29116 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
29117 l_log_module VARCHAR2(240);
29118
29119 --
29120 -- Upgrade strategy
29121 --
29122 l_actual_upg_option VARCHAR2(1);
29123 l_enc_upg_option VARCHAR2(1);
29124
29125 --
29126 BEGIN
29127 --
29128 IF g_log_enabled THEN
29129 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_83';
29130 END IF;
29131 --
29132 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
29133
29134 trace
29135 (p_msg => 'BEGIN of AcctLineType_83'
29136 ,p_level => C_LEVEL_PROCEDURE
29137 ,p_module => l_log_module);
29138
29139 END IF;
29140 --
29141 l_component_type := 'AMB_JLT';
29142 l_component_code := 'AP_CASH_CLEAR_PMT_INVXRATE';
29143 l_component_type_code := 'S';
29144 l_component_appl_id := 200;
29145 l_amb_context_code := 'DEFAULT';
29146 l_entity_code := 'AP_PAYMENTS';
29147 l_event_class_code := 'PAYMENTS';
29148 l_event_type_code := 'PAYMENTS_ALL';
29149 l_line_definition_owner_code := 'S';
29150 l_line_definition_code := 'ACCRUAL_PAYMENTS_ALL';
29151 --
29152 l_balance_type_code := 'A';
29153 l_segment := NULL;
29154 l_ccid := NULL;
29155 l_adr_transaction_coa_id := NULL;
29156 l_adr_accounting_coa_id := NULL;
29157 l_adr_flexfield_segment_code := NULL;
29158 l_adr_flex_value_set_id := NULL;
29159 l_adr_value_type_code := NULL;
29160 l_adr_value_combination_id := NULL;
29161 l_adr_value_segment_code := NULL;
29162
29163 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
29164 l_bflow_class_code := 'AP_CASH_CLEARING'; -- 4219869 Business Flow
29165 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
29166 l_budgetary_control_flag := 'N';
29167
29168 l_bflow_applied_to_amt_idx := NULL; -- 5132302
29169 l_bflow_applied_to_amt := NULL; -- 5132302
29170 l_entered_amt_idx := NULL; -- 4262811
29171 l_accted_amt_idx := NULL; -- 4262811
29172 l_acc_rev_flag := NULL; -- 4262811
29173 l_accrual_line_num := NULL; -- 4262811
29174 l_tmp_amt := NULL; -- 4262811
29175 --
29176
29177 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
29178 l_balance_type_code <> 'B' THEN
29179 IF NVL(p_source_57,'
29180 ') = 'ALWAYS_CLEAR' AND
29181 (NVL(p_source_43,'
29182 ') <> 'Y' OR
29183 NVL(p_source_43,'
29184 ') = 'Y' AND
29185 NVL(p_source_116,'
29186 ') <> 'Y') AND
29187 p_source_117 IS NULL AND
29188 NVL(p_source_101,'
29189 ') = 'CASH' AND
29190 NVL(p_source_125,'
29191 ') <> 'R' AND
29192 NVL(p_source_126,'
29193 ') <> 'PAYMENTCARD'
29194 THEN
29195
29196 --
29197 XLA_AE_LINES_PKG.SetNewLine;
29198
29199 p_balance_type_code := l_balance_type_code;
29200 -- set the flag so later we will know whether the gain loss line needs to be created
29201
29202 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
29203 p_actual_flag :='A';
29204 END IF;
29205
29206 --
29207 -- bulk performance
29208 --
29209 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
29210 p_header_num => 0); -- 4262811
29211 --
29212 -- set accounting line options
29213 --
29214 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
29215 p_natural_side_code => 'C'
29219 , p_switch_side_flag => 'Y'
29216 , p_gain_or_loss_flag => 'N'
29217 , p_gl_transfer_mode_code => 'S'
29218 , p_acct_entry_type_code => 'A'
29220 , p_merge_duplicate_code => 'A'
29221 );
29222 --
29223 l_acc_rev_natural_side_code := 'D'; -- 4262811
29224 --
29225 --
29226 -- set accounting line type info
29227 --
29228 xla_ae_lines_pkg.SetAcctLineType
29229 (p_component_type => l_component_type
29230 ,p_event_type_code => l_event_type_code
29231 ,p_line_definition_owner_code => l_line_definition_owner_code
29232 ,p_line_definition_code => l_line_definition_code
29233 ,p_accounting_line_code => l_component_code
29234 ,p_accounting_line_type_code => l_component_type_code
29235 ,p_accounting_line_appl_id => l_component_appl_id
29236 ,p_amb_context_code => l_amb_context_code
29237 ,p_entity_code => l_entity_code
29238 ,p_event_class_code => l_event_class_code);
29239 --
29240 -- set accounting class
29241 --
29242 xla_ae_lines_pkg.SetAcctClass(
29243 p_accounting_class_code => 'CASH_CLEARING'
29244 , p_ae_header_id => l_ae_header_id
29245 );
29246
29247 --
29248 -- set rounding class
29249 --
29250 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
29251 'CASH_CLEARING';
29252
29253 --
29254 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
29255 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
29256 --
29257 -- bulk performance
29258 --
29259 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
29260
29261 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
29262 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
29263
29264 -- 4955764
29265 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
29266 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
29267
29268 -- 4458381 Public Sector Enh
29269
29270 --
29271 -- set accounting attributes for the line type
29272 --
29273 l_entered_amt_idx := 10;
29274 l_accted_amt_idx := 15;
29275 l_bflow_applied_to_amt_idx := 2; -- 5132302
29276 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
29277 l_rec_acct_attrs.array_char_value(1) := p_source_58;
29278 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
29279 l_rec_acct_attrs.array_num_value(2) := p_source_127;
29280 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
29281 l_rec_acct_attrs.array_num_value(3) := p_source_96;
29282 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
29283 l_rec_acct_attrs.array_char_value(4) := p_source_97;
29284 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
29285 l_rec_acct_attrs.array_char_value(5) := p_source_98;
29286 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
29287 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_99);
29288 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
29289 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_100);
29290 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
29291 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_107);
29292 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
29293 l_rec_acct_attrs.array_char_value(9) := p_source_60;
29294 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
29295 l_rec_acct_attrs.array_num_value(10) := p_source_102;
29296 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
29297 l_rec_acct_attrs.array_char_value(11) := p_source_8;
29298 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
29299 l_rec_acct_attrs.array_date_value(12) := p_source_120;
29300 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
29301 l_rec_acct_attrs.array_num_value(13) := p_source_121;
29302 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
29303 l_rec_acct_attrs.array_char_value(14) := p_source_122;
29304 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
29305 l_rec_acct_attrs.array_num_value(15) := p_source_119;
29306 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
29307 l_rec_acct_attrs.array_char_value(16) := p_source_85;
29308 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
29309 l_rec_acct_attrs.array_num_value(17) := p_source_113;
29310 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
29311 l_rec_acct_attrs.array_num_value(18) := p_source_114;
29312 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
29313 l_rec_acct_attrs.array_char_value(19) := p_source_88;
29314 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
29315 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_115);
29316 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
29317 l_rec_acct_attrs.array_char_value(21) := p_source_60;
29321 l_rec_acct_attrs.array_num_value(23) := p_source_92;
29318 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
29319 l_rec_acct_attrs.array_num_value(22) := p_source_91;
29320 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
29322 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
29323 l_rec_acct_attrs.array_num_value(24) := p_source_93;
29324
29325 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
29326 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
29327
29328 ---------------------------------------------------------------------------------------------------------------
29329 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
29330 ---------------------------------------------------------------------------------------------------------------
29331 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
29332
29333 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
29334 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
29335
29336 IF xla_accounting_cache_pkg.GetValueChar
29337 (p_source_code => 'LEDGER_CATEGORY_CODE'
29338 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
29339 AND l_bflow_method_code = 'PRIOR_ENTRY'
29340 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
29341 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
29342 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
29343 )
29344 THEN
29345 xla_ae_lines_pkg.BflowUpgEntry
29346 (p_business_method_code => l_bflow_method_code
29347 ,p_business_class_code => l_bflow_class_code
29348 ,p_balance_type => l_balance_type_code);
29349 ELSE
29350 NULL;
29351 -- No business flow processing for business flow method of NONE.
29352 END IF;
29353
29354 --
29355 -- call analytical criteria
29356 --
29357
29358 --
29359 -- call description
29360 --
29361 -- No description or it is inherited.
29362 --
29363 -- call ADRs
29364 -- Bug 4922099
29365 --
29366 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
29367 (NVL(l_actual_upg_option, 'N') = 'O') OR
29368 (NVL(l_enc_upg_option, 'N') = 'O')
29369 )
29370 THEN
29371 NULL;
29372 --
29373 --
29374
29375 l_ccid := AcctDerRule_38(
29376 p_application_id => p_application_id
29377 , p_ae_header_id => l_ae_header_id
29378 , p_source_30 => p_source_30
29379 , x_transaction_coa_id => l_adr_transaction_coa_id
29380 , x_accounting_coa_id => l_adr_accounting_coa_id
29381 , x_value_type_code => l_adr_value_type_code
29382 , p_side => 'NA'
29383 );
29384
29385 xla_ae_lines_pkg.set_ccid(
29386 p_code_combination_id => l_ccid
29387 , p_value_type_code => l_adr_value_type_code
29388 , p_transaction_coa_id => l_adr_transaction_coa_id
29389 , p_accounting_coa_id => l_adr_accounting_coa_id
29390 , p_adr_code => 'AP_PMT_CASH_CLEAR'
29391 , p_adr_type_code => 'S'
29392 , p_component_type => l_component_type
29393 , p_component_code => l_component_code
29394 , p_component_type_code => l_component_type_code
29395 , p_component_appl_id => l_component_appl_id
29396 , p_amb_context_code => l_amb_context_code
29397 , p_side => 'NA'
29398 );
29399
29400
29401 --
29402 --
29403 END IF;
29404 --
29405 -- Bug 4922099
29406 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
29407 (NVL(l_enc_upg_option, 'N') = 'O')
29408 ) AND
29409 (l_bflow_method_code = 'PRIOR_ENTRY')
29410 )
29411 THEN
29412 IF
29413 --
29414 1 = 2
29415 --
29416 THEN
29417 xla_accounting_err_pkg.build_message
29418 (p_appli_s_name => 'XLA'
29419 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
29420 ,p_token_1 => 'LINE_NUMBER'
29421 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
29422 ,p_token_2 => 'LINE_TYPE_NAME'
29423 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
29424 l_component_type
29425 ,l_component_code
29426 ,l_component_type_code
29427 ,l_component_appl_id
29428 ,l_amb_context_code
29429 ,l_entity_code
29433 ,p_value_3 => xla_lookups_pkg.get_meaning(
29430 ,l_event_class_code
29431 )
29432 ,p_token_3 => 'OWNER'
29434 p_lookup_type => 'XLA_OWNER_TYPE'
29435 ,p_lookup_code => l_component_type_code
29436 )
29437 ,p_token_4 => 'PRODUCT_NAME'
29438 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
29439 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
29440 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
29441 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
29442 ,p_ae_header_id => NULL
29443 );
29444
29445 IF (C_LEVEL_ERROR>= g_log_level) THEN
29446 trace
29447 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
29448 ,p_level => C_LEVEL_ERROR
29449 ,p_module => l_log_module);
29450 END IF;
29451 END IF;
29452 END IF;
29453 --
29454 --
29455 ------------------------------------------------------------------------------------------------
29456 -- 4219869 Business Flow
29457 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
29458 -- Prior Entry. Currently, the following code is always generated.
29459 ------------------------------------------------------------------------------------------------
29460 XLA_AE_LINES_PKG.ValidateCurrentLine;
29461
29462 ------------------------------------------------------------------------------------
29463 -- 4219869 Business Flow
29464 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
29465 ------------------------------------------------------------------------------------
29466 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
29467
29468 ----------------------------------------------------------------------------------
29469 -- 4219869 Business Flow
29470 -- Update journal entry status -- Need to generate this within IF <condition>
29471 ----------------------------------------------------------------------------------
29472 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
29473 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
29474 ,p_balance_type_code => l_balance_type_code
29475 );
29476
29477 -------------------------------------------------------------------------------------------
29478 -- 4262811 - Generate the Accrual Reversal lines
29479 -------------------------------------------------------------------------------------------
29480 BEGIN
29481 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
29482 (g_array_event(p_event_id).array_value_num('header_index'));
29483 IF l_acc_rev_flag IS NULL THEN
29484 l_acc_rev_flag := 'N';
29485 END IF;
29486 EXCEPTION
29487 WHEN OTHERS THEN
29488 l_acc_rev_flag := 'N';
29489 END;
29490 --
29491 IF (l_acc_rev_flag = 'Y') THEN
29492
29493 -- 4645092 ------------------------------------------------------------------------------
29494 -- To allow MPA report to determine if it should generate report process
29495 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
29496 ------------------------------------------------------------------------------------------
29497
29498 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
29499 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
29500 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
29501 -- call ADRs
29502 -- Bug 4922099
29503 --
29504 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
29505 (NVL(l_actual_upg_option, 'N') = 'O') OR
29506 (NVL(l_enc_upg_option, 'N') = 'O')
29507 )
29508 THEN
29509 NULL;
29510 --
29511 --
29512
29513 l_ccid := AcctDerRule_38(
29514 p_application_id => p_application_id
29515 , p_ae_header_id => l_ae_header_id
29516 , p_source_30 => p_source_30
29517 , x_transaction_coa_id => l_adr_transaction_coa_id
29518 , x_accounting_coa_id => l_adr_accounting_coa_id
29519 , x_value_type_code => l_adr_value_type_code
29520 , p_side => 'NA'
29521 );
29522
29523 xla_ae_lines_pkg.set_ccid(
29524 p_code_combination_id => l_ccid
29525 , p_value_type_code => l_adr_value_type_code
29526 , p_transaction_coa_id => l_adr_transaction_coa_id
29527 , p_accounting_coa_id => l_adr_accounting_coa_id
29528 , p_adr_code => 'AP_PMT_CASH_CLEAR'
29529 , p_adr_type_code => 'S'
29530 , p_component_type => l_component_type
29534 , p_amb_context_code => l_amb_context_code
29531 , p_component_code => l_component_code
29532 , p_component_type_code => l_component_type_code
29533 , p_component_appl_id => l_component_appl_id
29535 , p_side => 'NA'
29536 );
29537
29538
29539 --
29540 --
29541 END IF;
29542
29543 --
29544 -- Update the line information that should be overwritten
29545 --
29546 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
29547 p_header_num => 1);
29548 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
29549
29550 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
29551
29552 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
29553 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
29554 END IF;
29555
29556 --
29557 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
29558 --
29559 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
29560 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
29561 ELSE
29562 ---------------------------------------------------------------------------------------------------
29563 -- 4262811a Switch Sign
29564 ---------------------------------------------------------------------------------------------------
29565 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
29566 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
29567 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
29568 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
29569 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
29570 -- 5132302
29571 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
29572 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
29573
29574 END IF;
29575
29576 -- 4955764
29577 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
29578 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
29579
29580
29581 XLA_AE_LINES_PKG.ValidateCurrentLine;
29582 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
29583
29584 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
29585 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
29586 ,p_balance_type_code => l_balance_type_code);
29587
29588 END IF;
29589
29590 -----------------------------------------------------------------------------------------
29591 -- 4262811 Multiperiod Accounting
29592 -----------------------------------------------------------------------------------------
29593 -- No MPA option is assigned.
29594
29595
29596 END IF;
29597 END IF;
29598 --
29599
29600 --
29601 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
29602 trace
29603 (p_msg => 'END of AcctLineType_83'
29604 ,p_level => C_LEVEL_PROCEDURE
29605 ,p_module => l_log_module);
29606 END IF;
29607 --
29608 EXCEPTION
29609 WHEN xla_exceptions_pkg.application_exception THEN
29610 RAISE;
29611 WHEN OTHERS THEN
29612 xla_exceptions_pkg.raise_message
29613 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_83');
29614 END AcctLineType_83;
29615 --
29616
29617 ---------------------------------------
29618 --
29619 -- PRIVATE FUNCTION
29620 -- AcctLineType_84
29621 --
29622 ---------------------------------------
29623 PROCEDURE AcctLineType_84 (
29624 p_application_id IN NUMBER
29625 ,p_event_id IN NUMBER
29626 ,p_calculate_acctd_flag IN VARCHAR2
29627 ,p_calculate_g_l_flag IN VARCHAR2
29628 ,p_actual_flag IN OUT VARCHAR2
29629 ,p_balance_type_code OUT VARCHAR2
29630 ,p_gain_or_loss_ref OUT VARCHAR2
29631
29632 --Payment Currency Code
29633 , p_source_8 IN VARCHAR2
29634 --Bank Cash Clearing Account
29635 , p_source_30 IN NUMBER
29636 --Automatic Offsets Flag
29637 , p_source_43 IN VARCHAR2
29638 , p_source_43_meaning IN VARCHAR2
29639 --When to Account for Payment Option
29640 , p_source_57 IN VARCHAR2
29641 --Accounting Reversal Indicator
29642 , p_source_58 IN VARCHAR2
29643 --Distribution Link Type
29644 , p_source_60 IN VARCHAR2
29645 --Override Accounted Amount Indicator
29646 , p_source_85 IN VARCHAR2
29647 , p_source_85_meaning IN VARCHAR2
29648 --Third Party Type
29649 , p_source_88 IN VARCHAR2
29650 --Business Flow Accounts Payable Application Identifier
29651 , p_source_96 IN NUMBER
29652 --Payment Distribution Type
29653 , p_source_101 IN VARCHAR2
29654 , p_source_101_meaning IN VARCHAR2
29655 --Payment Distribution Amount
29656 , p_source_102 IN NUMBER
29660 , p_source_104 IN VARCHAR2
29657 --Business Flow Payment Distribution Type
29658 , p_source_103 IN VARCHAR2
29659 --Business Flow Payment Entity Code
29661 --Business Flow Payment Distribution Identifier
29662 , p_source_105 IN NUMBER
29663 --Business Flow Payment Identifier
29664 , p_source_106 IN NUMBER
29665 --Payment Distribution Identifier
29666 , p_source_107 IN NUMBER
29667 --Payment Supplier Identifier
29668 , p_source_113 IN NUMBER
29669 --Payment Supplier Site Identifier
29670 , p_source_114 IN NUMBER
29671 --Payment Distribution Reversed Identifier
29672 , p_source_115 IN NUMBER
29673 --Pooled Bank Account Option
29674 , p_source_116 IN VARCHAR2
29675 , p_source_116_meaning IN VARCHAR2
29676 --Payment Maturity Date
29677 , p_source_117 IN DATE
29678 --Payment Exchange Date
29679 , p_source_120 IN DATE
29680 --Payment Exchange Rate
29681 , p_source_121 IN NUMBER
29682 --Payment Exchange Rate Type
29683 , p_source_122 IN VARCHAR2
29684 --Payment Distribution (Matured Rate) Ledger Amount
29685 , p_source_124 IN NUMBER
29686 )
29687 IS
29688
29689 l_component_type VARCHAR2(80);
29690 l_component_code VARCHAR2(30);
29691 l_component_type_code VARCHAR2(1);
29692 l_component_appl_id INTEGER;
29693 l_amb_context_code VARCHAR2(30);
29694 l_entity_code VARCHAR2(30);
29695 l_event_class_code VARCHAR2(30);
29696 l_ae_header_id NUMBER;
29697 l_event_type_code VARCHAR2(30);
29698 l_line_definition_code VARCHAR2(30);
29699 l_line_definition_owner_code VARCHAR2(1);
29700 --
29701 -- adr variables
29702 l_segment VARCHAR2(30);
29703 l_ccid NUMBER;
29704 l_adr_transaction_coa_id NUMBER;
29705 l_adr_accounting_coa_id NUMBER;
29706 l_adr_flexfield_segment_code VARCHAR2(30);
29707 l_adr_flex_value_set_id NUMBER;
29708 l_adr_value_type_code VARCHAR2(30);
29709 l_adr_value_combination_id NUMBER;
29710 l_adr_value_segment_code VARCHAR2(30);
29711
29712 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
29713 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
29714 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
29715 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
29716
29717 -- 4262811 Variables ------------------------------------------------------------------------------------------
29718 l_entered_amt_idx NUMBER;
29719 l_accted_amt_idx NUMBER;
29720 l_acc_rev_flag VARCHAR2(1);
29721 l_accrual_line_num NUMBER;
29722 l_tmp_amt NUMBER;
29723 l_acc_rev_natural_side_code VARCHAR2(1);
29724
29725 l_num_entries NUMBER;
29726 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
29727 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
29728 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
29729 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
29730 l_recog_line_1 NUMBER;
29731 l_recog_line_2 NUMBER;
29732
29733 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
29734 l_bflow_applied_to_amt NUMBER; -- 5132302
29735 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
29736
29737 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
29738
29739 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
29740 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
29741
29742 ---------------------------------------------------------------------------------------------------------------
29743
29744
29745 --
29746 -- bulk performance
29747 --
29748 l_balance_type_code VARCHAR2(1);
29749 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
29750 l_log_module VARCHAR2(240);
29751
29752 --
29753 -- Upgrade strategy
29754 --
29755 l_actual_upg_option VARCHAR2(1);
29756 l_enc_upg_option VARCHAR2(1);
29757
29758 --
29759 BEGIN
29760 --
29761 IF g_log_enabled THEN
29762 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_84';
29763 END IF;
29764 --
29765 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
29766
29767 trace
29768 (p_msg => 'BEGIN of AcctLineType_84'
29769 ,p_level => C_LEVEL_PROCEDURE
29770 ,p_module => l_log_module);
29771
29772 END IF;
29773 --
29774 l_component_type := 'AMB_JLT';
29775 l_component_code := 'AP_CASH_CLEAR_PMT_MAT';
29776 l_component_type_code := 'S';
29777 l_component_appl_id := 200;
29778 l_amb_context_code := 'DEFAULT';
29779 l_entity_code := 'AP_PAYMENTS';
29780 l_event_class_code := 'FUTURE DATED PAYMENTS';
29781 l_event_type_code := 'FUTURE DATED PAYMENTS_ALL';
29782 l_line_definition_owner_code := 'S';
29783 l_line_definition_code := 'ACCRUAL_FUTURE DATED PAYMENTS1';
29784 --
29785 l_balance_type_code := 'A';
29786 l_segment := NULL;
29790 l_adr_flexfield_segment_code := NULL;
29787 l_ccid := NULL;
29788 l_adr_transaction_coa_id := NULL;
29789 l_adr_accounting_coa_id := NULL;
29791 l_adr_flex_value_set_id := NULL;
29792 l_adr_value_type_code := NULL;
29793 l_adr_value_combination_id := NULL;
29794 l_adr_value_segment_code := NULL;
29795
29796 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
29797 l_bflow_class_code := 'AP_CASH_CLEARING'; -- 4219869 Business Flow
29798 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
29799 l_budgetary_control_flag := 'N';
29800
29801 l_bflow_applied_to_amt_idx := NULL; -- 5132302
29802 l_bflow_applied_to_amt := NULL; -- 5132302
29803 l_entered_amt_idx := NULL; -- 4262811
29804 l_accted_amt_idx := NULL; -- 4262811
29805 l_acc_rev_flag := NULL; -- 4262811
29806 l_accrual_line_num := NULL; -- 4262811
29807 l_tmp_amt := NULL; -- 4262811
29808 --
29809
29810 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
29811 l_balance_type_code <> 'B' THEN
29812 IF (NVL(p_source_57,'
29813 ') = 'ALWAYS_ALWAYS' OR
29814 NVL(p_source_57,'
29815 ') = 'ALWAYS_ISSUE') AND
29816 (NVL(p_source_43,'
29817 ') <> 'Y' OR
29818 NVL(p_source_43,'
29819 ') = 'Y' AND
29820 NVL(p_source_116,'
29821 ') <> 'Y') AND
29822 p_source_117 IS NOT NULL AND
29823 NVL(p_source_101,'
29824 ') = 'CASH'
29825 THEN
29826
29827 --
29828 XLA_AE_LINES_PKG.SetNewLine;
29829
29830 p_balance_type_code := l_balance_type_code;
29831 -- set the flag so later we will know whether the gain loss line needs to be created
29832
29833 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
29834 p_actual_flag :='A';
29835 END IF;
29836
29837 --
29838 -- bulk performance
29839 --
29840 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
29841 p_header_num => 0); -- 4262811
29842 --
29843 -- set accounting line options
29844 --
29845 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
29846 p_natural_side_code => 'C'
29847 , p_gain_or_loss_flag => 'N'
29848 , p_gl_transfer_mode_code => 'S'
29849 , p_acct_entry_type_code => 'A'
29850 , p_switch_side_flag => 'Y'
29851 , p_merge_duplicate_code => 'A'
29852 );
29853 --
29854 l_acc_rev_natural_side_code := 'D'; -- 4262811
29855 --
29856 --
29857 -- set accounting line type info
29858 --
29859 xla_ae_lines_pkg.SetAcctLineType
29860 (p_component_type => l_component_type
29861 ,p_event_type_code => l_event_type_code
29862 ,p_line_definition_owner_code => l_line_definition_owner_code
29863 ,p_line_definition_code => l_line_definition_code
29864 ,p_accounting_line_code => l_component_code
29865 ,p_accounting_line_type_code => l_component_type_code
29866 ,p_accounting_line_appl_id => l_component_appl_id
29867 ,p_amb_context_code => l_amb_context_code
29868 ,p_entity_code => l_entity_code
29869 ,p_event_class_code => l_event_class_code);
29870 --
29871 -- set accounting class
29872 --
29873 xla_ae_lines_pkg.SetAcctClass(
29874 p_accounting_class_code => 'CASH_CLEARING'
29875 , p_ae_header_id => l_ae_header_id
29876 );
29877
29878 --
29879 -- set rounding class
29880 --
29881 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
29882 'CASH_CLEARING';
29883
29884 --
29885 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
29886 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
29887 --
29888 -- bulk performance
29889 --
29890 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
29891
29892 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
29893 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
29894
29895 -- 4955764
29896 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
29897 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
29898
29899 -- 4458381 Public Sector Enh
29900
29901 --
29902 -- set accounting attributes for the line type
29903 --
29904 l_entered_amt_idx := 9;
29905 l_accted_amt_idx := 14;
29906 l_bflow_applied_to_amt_idx := NULL; -- 5132302
29907 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
29908 l_rec_acct_attrs.array_char_value(1) := p_source_58;
29909 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_APPLICATION_ID';
29910 l_rec_acct_attrs.array_num_value(2) := p_source_96;
29911 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_DISTRIBUTION_TYPE';
29912 l_rec_acct_attrs.array_char_value(3) := p_source_103;
29913 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_ENTITY_CODE';
29914 l_rec_acct_attrs.array_char_value(4) := p_source_104;
29915 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_FIRST_DIST_ID';
29919 l_rec_acct_attrs.array_acct_attr_code(7) := 'DISTRIBUTION_IDENTIFIER_1';
29916 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_105);
29917 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
29918 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_106);
29920 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_107);
29921 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_TYPE';
29922 l_rec_acct_attrs.array_char_value(8) := p_source_60;
29923 l_rec_acct_attrs.array_acct_attr_code(9) := 'ENTERED_CURRENCY_AMOUNT';
29924 l_rec_acct_attrs.array_num_value(9) := p_source_102;
29925 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_CODE';
29926 l_rec_acct_attrs.array_char_value(10) := p_source_8;
29927 l_rec_acct_attrs.array_acct_attr_code(11) := 'EXCHANGE_DATE';
29928 l_rec_acct_attrs.array_date_value(11) := p_source_120;
29929 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_RATE';
29930 l_rec_acct_attrs.array_num_value(12) := p_source_121;
29931 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE_TYPE';
29932 l_rec_acct_attrs.array_char_value(13) := p_source_122;
29933 l_rec_acct_attrs.array_acct_attr_code(14) := 'LEDGER_AMOUNT';
29934 l_rec_acct_attrs.array_num_value(14) := p_source_124;
29935 l_rec_acct_attrs.array_acct_attr_code(15) := 'OVERRIDE_ACCTD_AMT_FLAG';
29936 l_rec_acct_attrs.array_char_value(15) := p_source_85;
29937 l_rec_acct_attrs.array_acct_attr_code(16) := 'PARTY_ID';
29938 l_rec_acct_attrs.array_num_value(16) := p_source_113;
29939 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_SITE_ID';
29940 l_rec_acct_attrs.array_num_value(17) := p_source_114;
29941 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_TYPE';
29942 l_rec_acct_attrs.array_char_value(18) := p_source_88;
29943 l_rec_acct_attrs.array_acct_attr_code(19) := 'REVERSED_DISTRIBUTION_ID1';
29944 l_rec_acct_attrs.array_num_value(19) := to_char(p_source_115);
29945 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_TYPE';
29946 l_rec_acct_attrs.array_char_value(20) := p_source_60;
29947
29948 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
29949 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
29950
29951 ---------------------------------------------------------------------------------------------------------------
29952 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
29953 ---------------------------------------------------------------------------------------------------------------
29954 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
29955
29956 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
29957 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
29958
29959 IF xla_accounting_cache_pkg.GetValueChar
29960 (p_source_code => 'LEDGER_CATEGORY_CODE'
29961 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
29962 AND l_bflow_method_code = 'PRIOR_ENTRY'
29963 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
29964 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
29965 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
29966 )
29967 THEN
29968 xla_ae_lines_pkg.BflowUpgEntry
29969 (p_business_method_code => l_bflow_method_code
29970 ,p_business_class_code => l_bflow_class_code
29971 ,p_balance_type => l_balance_type_code);
29972 ELSE
29973 NULL;
29974 -- No business flow processing for business flow method of NONE.
29975 END IF;
29976
29977 --
29978 -- call analytical criteria
29979 --
29980
29981 --
29982 -- call description
29983 --
29984 -- No description or it is inherited.
29985 --
29986 -- call ADRs
29987 -- Bug 4922099
29988 --
29989 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
29990 (NVL(l_actual_upg_option, 'N') = 'O') OR
29991 (NVL(l_enc_upg_option, 'N') = 'O')
29992 )
29993 THEN
29994 NULL;
29995 --
29996 --
29997
29998 l_ccid := AcctDerRule_38(
29999 p_application_id => p_application_id
30000 , p_ae_header_id => l_ae_header_id
30001 , p_source_30 => p_source_30
30002 , x_transaction_coa_id => l_adr_transaction_coa_id
30003 , x_accounting_coa_id => l_adr_accounting_coa_id
30004 , x_value_type_code => l_adr_value_type_code
30005 , p_side => 'NA'
30006 );
30007
30008 xla_ae_lines_pkg.set_ccid(
30009 p_code_combination_id => l_ccid
30010 , p_value_type_code => l_adr_value_type_code
30011 , p_transaction_coa_id => l_adr_transaction_coa_id
30012 , p_accounting_coa_id => l_adr_accounting_coa_id
30013 , p_adr_code => 'AP_PMT_CASH_CLEAR'
30014 , p_adr_type_code => 'S'
30015 , p_component_type => l_component_type
30016 , p_component_code => l_component_code
30017 , p_component_type_code => l_component_type_code
30018 , p_component_appl_id => l_component_appl_id
30019 , p_amb_context_code => l_amb_context_code
30023
30020 , p_side => 'NA'
30021 );
30022
30024 --
30025 --
30026 END IF;
30027 --
30028 -- Bug 4922099
30029 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
30030 (NVL(l_enc_upg_option, 'N') = 'O')
30031 ) AND
30032 (l_bflow_method_code = 'PRIOR_ENTRY')
30033 )
30034 THEN
30035 IF
30036 --
30037 1 = 2
30038 --
30039 THEN
30040 xla_accounting_err_pkg.build_message
30041 (p_appli_s_name => 'XLA'
30042 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
30043 ,p_token_1 => 'LINE_NUMBER'
30044 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
30045 ,p_token_2 => 'LINE_TYPE_NAME'
30046 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
30047 l_component_type
30048 ,l_component_code
30049 ,l_component_type_code
30050 ,l_component_appl_id
30051 ,l_amb_context_code
30052 ,l_entity_code
30053 ,l_event_class_code
30054 )
30055 ,p_token_3 => 'OWNER'
30056 ,p_value_3 => xla_lookups_pkg.get_meaning(
30057 p_lookup_type => 'XLA_OWNER_TYPE'
30058 ,p_lookup_code => l_component_type_code
30059 )
30060 ,p_token_4 => 'PRODUCT_NAME'
30061 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
30062 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
30063 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
30064 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
30065 ,p_ae_header_id => NULL
30066 );
30067
30068 IF (C_LEVEL_ERROR>= g_log_level) THEN
30069 trace
30070 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
30071 ,p_level => C_LEVEL_ERROR
30072 ,p_module => l_log_module);
30073 END IF;
30074 END IF;
30075 END IF;
30076 --
30077 --
30078 ------------------------------------------------------------------------------------------------
30079 -- 4219869 Business Flow
30080 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
30081 -- Prior Entry. Currently, the following code is always generated.
30082 ------------------------------------------------------------------------------------------------
30083 XLA_AE_LINES_PKG.ValidateCurrentLine;
30084
30085 ------------------------------------------------------------------------------------
30086 -- 4219869 Business Flow
30087 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
30088 ------------------------------------------------------------------------------------
30089 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
30090
30091 ----------------------------------------------------------------------------------
30092 -- 4219869 Business Flow
30093 -- Update journal entry status -- Need to generate this within IF <condition>
30094 ----------------------------------------------------------------------------------
30095 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
30096 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
30097 ,p_balance_type_code => l_balance_type_code
30098 );
30099
30100 -------------------------------------------------------------------------------------------
30101 -- 4262811 - Generate the Accrual Reversal lines
30102 -------------------------------------------------------------------------------------------
30103 BEGIN
30104 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
30105 (g_array_event(p_event_id).array_value_num('header_index'));
30106 IF l_acc_rev_flag IS NULL THEN
30107 l_acc_rev_flag := 'N';
30108 END IF;
30109 EXCEPTION
30110 WHEN OTHERS THEN
30111 l_acc_rev_flag := 'N';
30112 END;
30113 --
30114 IF (l_acc_rev_flag = 'Y') THEN
30115
30116 -- 4645092 ------------------------------------------------------------------------------
30120
30117 -- To allow MPA report to determine if it should generate report process
30118 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
30119 ------------------------------------------------------------------------------------------
30121 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
30122 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
30123 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
30124 -- call ADRs
30125 -- Bug 4922099
30126 --
30127 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
30128 (NVL(l_actual_upg_option, 'N') = 'O') OR
30129 (NVL(l_enc_upg_option, 'N') = 'O')
30130 )
30131 THEN
30132 NULL;
30133 --
30134 --
30135
30136 l_ccid := AcctDerRule_38(
30137 p_application_id => p_application_id
30138 , p_ae_header_id => l_ae_header_id
30139 , p_source_30 => p_source_30
30140 , x_transaction_coa_id => l_adr_transaction_coa_id
30141 , x_accounting_coa_id => l_adr_accounting_coa_id
30142 , x_value_type_code => l_adr_value_type_code
30143 , p_side => 'NA'
30144 );
30145
30146 xla_ae_lines_pkg.set_ccid(
30147 p_code_combination_id => l_ccid
30148 , p_value_type_code => l_adr_value_type_code
30149 , p_transaction_coa_id => l_adr_transaction_coa_id
30150 , p_accounting_coa_id => l_adr_accounting_coa_id
30151 , p_adr_code => 'AP_PMT_CASH_CLEAR'
30152 , p_adr_type_code => 'S'
30153 , p_component_type => l_component_type
30154 , p_component_code => l_component_code
30155 , p_component_type_code => l_component_type_code
30156 , p_component_appl_id => l_component_appl_id
30157 , p_amb_context_code => l_amb_context_code
30158 , p_side => 'NA'
30159 );
30160
30161
30162 --
30163 --
30164 END IF;
30165
30166 --
30167 -- Update the line information that should be overwritten
30168 --
30169 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
30170 p_header_num => 1);
30171 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
30172
30173 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
30174
30175 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
30176 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
30177 END IF;
30178
30179 --
30180 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
30181 --
30182 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
30183 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
30184 ELSE
30185 ---------------------------------------------------------------------------------------------------
30186 -- 4262811a Switch Sign
30187 ---------------------------------------------------------------------------------------------------
30188 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
30189 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
30190 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
30191 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
30192 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
30193 -- 5132302
30194 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
30195 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
30196
30197 END IF;
30198
30199 -- 4955764
30200 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
30201 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
30202
30203
30204 XLA_AE_LINES_PKG.ValidateCurrentLine;
30205 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
30206
30207 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
30208 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
30209 ,p_balance_type_code => l_balance_type_code);
30210
30211 END IF;
30212
30213 -----------------------------------------------------------------------------------------
30214 -- 4262811 Multiperiod Accounting
30215 -----------------------------------------------------------------------------------------
30216 -- No MPA option is assigned.
30217
30218
30219 END IF;
30220 END IF;
30221 --
30222
30223 --
30224 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
30225 trace
30226 (p_msg => 'END of AcctLineType_84'
30227 ,p_level => C_LEVEL_PROCEDURE
30228 ,p_module => l_log_module);
30229 END IF;
30230 --
30231 EXCEPTION
30232 WHEN xla_exceptions_pkg.application_exception THEN
30236 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_84');
30233 RAISE;
30234 WHEN OTHERS THEN
30235 xla_exceptions_pkg.raise_message
30237 END AcctLineType_84;
30238 --
30239
30240 ---------------------------------------
30241 --
30242 -- PRIVATE FUNCTION
30243 -- AcctLineType_85
30244 --
30245 ---------------------------------------
30246 PROCEDURE AcctLineType_85 (
30247 p_application_id IN NUMBER
30248 ,p_event_id IN NUMBER
30249 ,p_calculate_acctd_flag IN VARCHAR2
30250 ,p_calculate_g_l_flag IN VARCHAR2
30251 ,p_actual_flag IN OUT VARCHAR2
30252 ,p_balance_type_code OUT VARCHAR2
30253 ,p_gain_or_loss_ref OUT VARCHAR2
30254
30255 --Payment Currency Code
30256 , p_source_8 IN VARCHAR2
30257 --Automatic Offsets Value
30258 , p_source_10 IN VARCHAR2
30259 , p_source_10_meaning IN VARCHAR2
30260 --Bank Cash Clearing Account
30261 , p_source_30 IN NUMBER
30262 --When to Account for Payment Option
30263 , p_source_57 IN VARCHAR2
30264 --Accounting Reversal Indicator
30265 , p_source_58 IN VARCHAR2
30266 --Distribution Link Type
30267 , p_source_60 IN VARCHAR2
30268 --Override Accounted Amount Indicator
30269 , p_source_85 IN VARCHAR2
30270 , p_source_85_meaning IN VARCHAR2
30271 --Third Party Type
30272 , p_source_88 IN VARCHAR2
30273 --Business Flow Accounts Payable Application Identifier
30274 , p_source_96 IN NUMBER
30275 --Payment Distribution Type
30276 , p_source_101 IN VARCHAR2
30277 , p_source_101_meaning IN VARCHAR2
30278 --Payment Distribution Amount
30279 , p_source_102 IN NUMBER
30280 --Business Flow Payment Distribution Type
30281 , p_source_103 IN VARCHAR2
30282 --Business Flow Payment Entity Code
30283 , p_source_104 IN VARCHAR2
30284 --Business Flow Payment Distribution Identifier
30285 , p_source_105 IN NUMBER
30286 --Business Flow Payment Identifier
30287 , p_source_106 IN NUMBER
30288 --Payment Distribution Identifier
30289 , p_source_107 IN NUMBER
30290 --Payment Supplier Identifier
30291 , p_source_113 IN NUMBER
30292 --Payment Supplier Site Identifier
30293 , p_source_114 IN NUMBER
30294 --Payment Distribution Reversed Identifier
30295 , p_source_115 IN NUMBER
30296 --Pooled Bank Account Option
30297 , p_source_116 IN VARCHAR2
30298 , p_source_116_meaning IN VARCHAR2
30299 --Payment Maturity Date
30300 , p_source_117 IN DATE
30301 --Payment Exchange Date
30302 , p_source_120 IN DATE
30303 --Payment Exchange Rate
30304 , p_source_121 IN NUMBER
30305 --Payment Exchange Rate Type
30306 , p_source_122 IN VARCHAR2
30307 --Payment Distribution (Matured Rate) Ledger Amount
30308 , p_source_124 IN NUMBER
30309 )
30310 IS
30311
30312 l_component_type VARCHAR2(80);
30313 l_component_code VARCHAR2(30);
30314 l_component_type_code VARCHAR2(1);
30315 l_component_appl_id INTEGER;
30316 l_amb_context_code VARCHAR2(30);
30317 l_entity_code VARCHAR2(30);
30318 l_event_class_code VARCHAR2(30);
30319 l_ae_header_id NUMBER;
30320 l_event_type_code VARCHAR2(30);
30321 l_line_definition_code VARCHAR2(30);
30322 l_line_definition_owner_code VARCHAR2(1);
30323 --
30324 -- adr variables
30325 l_segment VARCHAR2(30);
30326 l_ccid NUMBER;
30327 l_adr_transaction_coa_id NUMBER;
30328 l_adr_accounting_coa_id NUMBER;
30329 l_adr_flexfield_segment_code VARCHAR2(30);
30330 l_adr_flex_value_set_id NUMBER;
30331 l_adr_value_type_code VARCHAR2(30);
30332 l_adr_value_combination_id NUMBER;
30333 l_adr_value_segment_code VARCHAR2(30);
30334
30335 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
30336 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
30337 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
30338 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
30339
30340 -- 4262811 Variables ------------------------------------------------------------------------------------------
30341 l_entered_amt_idx NUMBER;
30342 l_accted_amt_idx NUMBER;
30343 l_acc_rev_flag VARCHAR2(1);
30344 l_accrual_line_num NUMBER;
30345 l_tmp_amt NUMBER;
30346 l_acc_rev_natural_side_code VARCHAR2(1);
30347
30348 l_num_entries NUMBER;
30349 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
30350 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
30351 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
30352 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
30353 l_recog_line_1 NUMBER;
30354 l_recog_line_2 NUMBER;
30355
30356 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
30357 l_bflow_applied_to_amt NUMBER; -- 5132302
30358 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
30359
30360 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
30361
30365 ---------------------------------------------------------------------------------------------------------------
30362 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
30363 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
30364
30366
30367
30368 --
30369 -- bulk performance
30370 --
30371 l_balance_type_code VARCHAR2(1);
30372 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
30373 l_log_module VARCHAR2(240);
30374
30375 --
30376 -- Upgrade strategy
30377 --
30378 l_actual_upg_option VARCHAR2(1);
30379 l_enc_upg_option VARCHAR2(1);
30380
30381 --
30382 BEGIN
30383 --
30384 IF g_log_enabled THEN
30385 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_85';
30386 END IF;
30387 --
30388 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
30389
30390 trace
30391 (p_msg => 'BEGIN of AcctLineType_85'
30392 ,p_level => C_LEVEL_PROCEDURE
30393 ,p_module => l_log_module);
30394
30395 END IF;
30396 --
30397 l_component_type := 'AMB_JLT';
30398 l_component_code := 'AP_CASH_CLEAR_PMT_MAT_AOS_AS';
30399 l_component_type_code := 'S';
30400 l_component_appl_id := 200;
30401 l_amb_context_code := 'DEFAULT';
30402 l_entity_code := 'AP_PAYMENTS';
30403 l_event_class_code := 'FUTURE DATED PAYMENTS';
30404 l_event_type_code := 'FUTURE DATED PAYMENTS_ALL';
30405 l_line_definition_owner_code := 'S';
30406 l_line_definition_code := 'ACCRUAL_FUTURE DATED PAYMENTS1';
30407 --
30408 l_balance_type_code := 'A';
30409 l_segment := NULL;
30410 l_ccid := NULL;
30411 l_adr_transaction_coa_id := NULL;
30412 l_adr_accounting_coa_id := NULL;
30413 l_adr_flexfield_segment_code := NULL;
30414 l_adr_flex_value_set_id := NULL;
30415 l_adr_value_type_code := NULL;
30416 l_adr_value_combination_id := NULL;
30417 l_adr_value_segment_code := NULL;
30418
30419 l_bflow_method_code := 'SAME_ENTRY'; -- 4219869 Business Flow
30420 l_bflow_class_code := 'AP_CASH_CLEARING'; -- 4219869 Business Flow
30421 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
30422 l_budgetary_control_flag := 'N';
30423
30424 l_bflow_applied_to_amt_idx := NULL; -- 5132302
30425 l_bflow_applied_to_amt := NULL; -- 5132302
30426 l_entered_amt_idx := NULL; -- 4262811
30427 l_accted_amt_idx := NULL; -- 4262811
30428 l_acc_rev_flag := NULL; -- 4262811
30429 l_accrual_line_num := NULL; -- 4262811
30430 l_tmp_amt := NULL; -- 4262811
30431 --
30432
30433 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
30434 l_balance_type_code <> 'B' THEN
30435 IF (NVL(p_source_57,'
30436 ') = 'ALWAYS_ALWAYS' OR
30437 NVL(p_source_57,'
30438 ') = 'ALWAYS_ISSUE') AND
30439 (NVL(p_source_116,'
30440 ') = 'Y' AND
30441 NVL(p_source_10,'
30442 ') = 'ACCOUNT_SEGMENT_VALUE') AND
30443 p_source_117 IS NOT NULL AND
30444 NVL(p_source_101,'
30445 ') = 'CASH'
30446 THEN
30447
30448 --
30449 XLA_AE_LINES_PKG.SetNewLine;
30450
30451 p_balance_type_code := l_balance_type_code;
30452 -- set the flag so later we will know whether the gain loss line needs to be created
30453
30454 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
30455 p_actual_flag :='A';
30456 END IF;
30457
30458 --
30459 -- bulk performance
30460 --
30461 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
30462 p_header_num => 0); -- 4262811
30463 --
30464 -- set accounting line options
30465 --
30466 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
30467 p_natural_side_code => 'C'
30468 , p_gain_or_loss_flag => 'N'
30469 , p_gl_transfer_mode_code => 'S'
30470 , p_acct_entry_type_code => 'A'
30471 , p_switch_side_flag => 'Y'
30472 , p_merge_duplicate_code => 'A'
30473 );
30474 --
30475 l_acc_rev_natural_side_code := 'D'; -- 4262811
30476 --
30477 --
30478 -- set accounting line type info
30479 --
30480 xla_ae_lines_pkg.SetAcctLineType
30481 (p_component_type => l_component_type
30482 ,p_event_type_code => l_event_type_code
30483 ,p_line_definition_owner_code => l_line_definition_owner_code
30484 ,p_line_definition_code => l_line_definition_code
30485 ,p_accounting_line_code => l_component_code
30486 ,p_accounting_line_type_code => l_component_type_code
30487 ,p_accounting_line_appl_id => l_component_appl_id
30488 ,p_amb_context_code => l_amb_context_code
30489 ,p_entity_code => l_entity_code
30490 ,p_event_class_code => l_event_class_code);
30491 --
30492 -- set accounting class
30493 --
30494 xla_ae_lines_pkg.SetAcctClass(
30495 p_accounting_class_code => 'CASH_CLEARING'
30496 , p_ae_header_id => l_ae_header_id
30497 );
30498
30502 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
30499 --
30500 -- set rounding class
30501 --
30503 'CASH_CLEARING';
30504
30505 --
30506 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
30507 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
30508 --
30509 -- bulk performance
30510 --
30511 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
30512
30513 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
30514 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
30515
30516 -- 4955764
30517 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
30518 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
30519
30520 -- 4458381 Public Sector Enh
30521
30522 --
30523 -- set accounting attributes for the line type
30524 --
30525 l_entered_amt_idx := 9;
30526 l_accted_amt_idx := 14;
30527 l_bflow_applied_to_amt_idx := NULL; -- 5132302
30528 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
30529 l_rec_acct_attrs.array_char_value(1) := p_source_58;
30530 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_APPLICATION_ID';
30531 l_rec_acct_attrs.array_num_value(2) := p_source_96;
30532 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_DISTRIBUTION_TYPE';
30533 l_rec_acct_attrs.array_char_value(3) := p_source_103;
30534 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_ENTITY_CODE';
30535 l_rec_acct_attrs.array_char_value(4) := p_source_104;
30536 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_FIRST_DIST_ID';
30537 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_105);
30538 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
30539 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_106);
30540 l_rec_acct_attrs.array_acct_attr_code(7) := 'DISTRIBUTION_IDENTIFIER_1';
30541 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_107);
30542 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_TYPE';
30543 l_rec_acct_attrs.array_char_value(8) := p_source_60;
30544 l_rec_acct_attrs.array_acct_attr_code(9) := 'ENTERED_CURRENCY_AMOUNT';
30545 l_rec_acct_attrs.array_num_value(9) := p_source_102;
30546 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_CODE';
30547 l_rec_acct_attrs.array_char_value(10) := p_source_8;
30548 l_rec_acct_attrs.array_acct_attr_code(11) := 'EXCHANGE_DATE';
30549 l_rec_acct_attrs.array_date_value(11) := p_source_120;
30550 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_RATE';
30551 l_rec_acct_attrs.array_num_value(12) := p_source_121;
30552 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE_TYPE';
30553 l_rec_acct_attrs.array_char_value(13) := p_source_122;
30554 l_rec_acct_attrs.array_acct_attr_code(14) := 'LEDGER_AMOUNT';
30555 l_rec_acct_attrs.array_num_value(14) := p_source_124;
30556 l_rec_acct_attrs.array_acct_attr_code(15) := 'OVERRIDE_ACCTD_AMT_FLAG';
30557 l_rec_acct_attrs.array_char_value(15) := p_source_85;
30558 l_rec_acct_attrs.array_acct_attr_code(16) := 'PARTY_ID';
30559 l_rec_acct_attrs.array_num_value(16) := p_source_113;
30560 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_SITE_ID';
30561 l_rec_acct_attrs.array_num_value(17) := p_source_114;
30562 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_TYPE';
30563 l_rec_acct_attrs.array_char_value(18) := p_source_88;
30564 l_rec_acct_attrs.array_acct_attr_code(19) := 'REVERSED_DISTRIBUTION_ID1';
30565 l_rec_acct_attrs.array_num_value(19) := to_char(p_source_115);
30566 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_TYPE';
30567 l_rec_acct_attrs.array_char_value(20) := p_source_60;
30568
30569 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
30570 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
30571
30572 ---------------------------------------------------------------------------------------------------------------
30573 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
30574 ---------------------------------------------------------------------------------------------------------------
30575 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
30576
30577 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
30578 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
30579
30580 IF xla_accounting_cache_pkg.GetValueChar
30581 (p_source_code => 'LEDGER_CATEGORY_CODE'
30582 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
30583 AND l_bflow_method_code = 'PRIOR_ENTRY'
30584 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
30585 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
30586 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
30587 )
30588 THEN
30589 xla_ae_lines_pkg.BflowUpgEntry
30590 (p_business_method_code => l_bflow_method_code
30591 ,p_business_class_code => l_bflow_class_code
30592 ,p_balance_type => l_balance_type_code);
30593 ELSE
30594 NULL;
30595 XLA_AE_LINES_PKG.business_flow_validation(
30599 END IF;
30596 p_business_method_code => l_bflow_method_code
30597 ,p_business_class_code => l_bflow_class_code
30598 ,p_inherit_description_flag => l_inherit_desc_flag);
30600
30601 --
30602 -- call analytical criteria
30603 --
30604
30605 --
30606 -- call description
30607 --
30608 -- No description or it is inherited.
30609 --
30610 -- call ADRs
30611 -- Bug 4922099
30612 --
30613 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
30614 (NVL(l_actual_upg_option, 'N') = 'O') OR
30615 (NVL(l_enc_upg_option, 'N') = 'O')
30616 )
30617 THEN
30618 NULL;
30619 --
30620 --
30621
30622 xla_ae_lines_pkg.Set_Ccid( -- replaced SetCcid
30623 p_code_combination_id => TO_NUMBER(C_NUM)
30624 , p_value_type_code => NULL
30625 , p_transaction_coa_id => null
30626 , p_accounting_coa_id => null
30627 , p_adr_code => NULL
30628 , p_adr_type_code => NULL
30629 , p_component_type => l_component_type
30630 , p_component_code => l_component_code
30631 , p_component_type_code => l_component_type_code
30632 , p_component_appl_id => l_component_appl_id
30633 , p_amb_context_code => l_amb_context_code
30634 , p_side => NULL
30635 );
30636
30637
30638 -- initialise segments
30639 XLA_AE_LINES_PKG.g_rec_lines.array_segment1(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
30640 XLA_AE_LINES_PKG.g_rec_lines.array_segment2(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
30641 XLA_AE_LINES_PKG.g_rec_lines.array_segment3(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
30642 XLA_AE_LINES_PKG.g_rec_lines.array_segment4(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
30643 XLA_AE_LINES_PKG.g_rec_lines.array_segment5(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
30644 XLA_AE_LINES_PKG.g_rec_lines.array_segment6(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
30645 XLA_AE_LINES_PKG.g_rec_lines.array_segment7(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
30646 XLA_AE_LINES_PKG.g_rec_lines.array_segment8(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
30647 XLA_AE_LINES_PKG.g_rec_lines.array_segment9(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
30648 XLA_AE_LINES_PKG.g_rec_lines.array_segment10(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
30649 XLA_AE_LINES_PKG.g_rec_lines.array_segment11(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
30650 XLA_AE_LINES_PKG.g_rec_lines.array_segment12(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
30651 XLA_AE_LINES_PKG.g_rec_lines.array_segment13(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
30652 XLA_AE_LINES_PKG.g_rec_lines.array_segment14(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
30653 XLA_AE_LINES_PKG.g_rec_lines.array_segment15(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
30654 XLA_AE_LINES_PKG.g_rec_lines.array_segment16(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
30655 XLA_AE_LINES_PKG.g_rec_lines.array_segment17(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
30656 XLA_AE_LINES_PKG.g_rec_lines.array_segment18(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
30657 XLA_AE_LINES_PKG.g_rec_lines.array_segment19(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
30658 XLA_AE_LINES_PKG.g_rec_lines.array_segment20(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
30659 XLA_AE_LINES_PKG.g_rec_lines.array_segment21(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
30660 XLA_AE_LINES_PKG.g_rec_lines.array_segment22(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
30661 XLA_AE_LINES_PKG.g_rec_lines.array_segment23(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
30662 XLA_AE_LINES_PKG.g_rec_lines.array_segment24(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
30663 XLA_AE_LINES_PKG.g_rec_lines.array_segment25(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
30664 XLA_AE_LINES_PKG.g_rec_lines.array_segment26(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
30665 XLA_AE_LINES_PKG.g_rec_lines.array_segment27(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
30666 XLA_AE_LINES_PKG.g_rec_lines.array_segment28(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
30667 XLA_AE_LINES_PKG.g_rec_lines.array_segment29(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
30668 XLA_AE_LINES_PKG.g_rec_lines.array_segment30(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
30669 --
30670
30671 --
30672
30673
30674 l_segment := AcctDerRule_16(
30675 p_application_id => p_application_id
30676 , p_ae_header_id => l_ae_header_id
30677 , p_source_30 => p_source_30
30678 , x_transaction_coa_id => l_adr_transaction_coa_id
30679 , x_accounting_coa_id => l_adr_accounting_coa_id
30680 , x_flexfield_segment_code => l_adr_flexfield_segment_code
30681 , x_flex_value_set_id => l_adr_flex_value_set_id
30682 , x_value_type_code => l_adr_value_type_code
30683 , x_value_combination_id => l_adr_value_combination_id
30684 , x_value_segment_code => l_adr_value_segment_code
30685 , p_side => 'NA'
30686 , p_override_seg_flag => 'Y'
30687 );
30688
30689 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
30690
30691 xla_ae_lines_pkg.set_segment(
30692 p_to_segment_code => 'GL_ACCOUNT'
30693 , p_segment_value => l_segment
30694 , p_from_segment_code => l_adr_value_segment_code
30695 , p_from_combination_id => l_adr_value_combination_id
30696 , p_value_type_code => l_adr_value_type_code
30700 , p_flex_value_set_id => l_adr_flex_value_set_id
30697 , p_transaction_coa_id => l_adr_transaction_coa_id
30698 , p_accounting_coa_id => l_adr_accounting_coa_id
30699 , p_flexfield_segment_code => l_adr_flexfield_segment_code
30701 , p_adr_code => 'AP_PMT_CASH_CLEAR_NAT_ACC_POOL'
30702 , p_adr_type_code => 'S'
30703 , p_component_type => l_component_type
30704 , p_component_code => l_component_code
30705 , p_component_type_code => l_component_type_code
30706 , p_component_appl_id => l_component_appl_id
30707 , p_amb_context_code => l_amb_context_code
30708 , p_entity_code => 'AP_PAYMENTS'
30709 , p_event_class_code => 'FUTURE DATED PAYMENTS'
30710 , p_side => 'NA'
30711 );
30712
30713 END IF;
30714
30715 --
30716 --
30717 END IF;
30718 --
30719 -- Bug 4922099
30720 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
30721 (NVL(l_enc_upg_option, 'N') = 'O')
30722 ) AND
30723 (l_bflow_method_code = 'PRIOR_ENTRY')
30724 )
30725 THEN
30726 IF
30727 --
30728 1 = 2
30729 --
30730 THEN
30731 xla_accounting_err_pkg.build_message
30732 (p_appli_s_name => 'XLA'
30733 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
30734 ,p_token_1 => 'LINE_NUMBER'
30735 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
30736 ,p_token_2 => 'LINE_TYPE_NAME'
30737 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
30738 l_component_type
30739 ,l_component_code
30740 ,l_component_type_code
30741 ,l_component_appl_id
30742 ,l_amb_context_code
30743 ,l_entity_code
30744 ,l_event_class_code
30745 )
30746 ,p_token_3 => 'OWNER'
30747 ,p_value_3 => xla_lookups_pkg.get_meaning(
30748 p_lookup_type => 'XLA_OWNER_TYPE'
30749 ,p_lookup_code => l_component_type_code
30750 )
30751 ,p_token_4 => 'PRODUCT_NAME'
30752 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
30753 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
30754 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
30755 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
30756 ,p_ae_header_id => NULL
30757 );
30758
30759 IF (C_LEVEL_ERROR>= g_log_level) THEN
30760 trace
30761 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
30762 ,p_level => C_LEVEL_ERROR
30763 ,p_module => l_log_module);
30764 END IF;
30765 END IF;
30766 END IF;
30767 --
30768 --
30769 ------------------------------------------------------------------------------------------------
30770 -- 4219869 Business Flow
30771 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
30772 -- Prior Entry. Currently, the following code is always generated.
30773 ------------------------------------------------------------------------------------------------
30774 XLA_AE_LINES_PKG.ValidateCurrentLine;
30775
30776 ------------------------------------------------------------------------------------
30777 -- 4219869 Business Flow
30778 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
30779 ------------------------------------------------------------------------------------
30780 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
30781
30782 ----------------------------------------------------------------------------------
30783 -- 4219869 Business Flow
30784 -- Update journal entry status -- Need to generate this within IF <condition>
30785 ----------------------------------------------------------------------------------
30786 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
30787 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
30788 ,p_balance_type_code => l_balance_type_code
30789 );
30790
30794 BEGIN
30791 -------------------------------------------------------------------------------------------
30792 -- 4262811 - Generate the Accrual Reversal lines
30793 -------------------------------------------------------------------------------------------
30795 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
30796 (g_array_event(p_event_id).array_value_num('header_index'));
30797 IF l_acc_rev_flag IS NULL THEN
30798 l_acc_rev_flag := 'N';
30799 END IF;
30800 EXCEPTION
30801 WHEN OTHERS THEN
30802 l_acc_rev_flag := 'N';
30803 END;
30804 --
30805 IF (l_acc_rev_flag = 'Y') THEN
30806
30807 -- 4645092 ------------------------------------------------------------------------------
30808 -- To allow MPA report to determine if it should generate report process
30809 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
30810 ------------------------------------------------------------------------------------------
30811
30812 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
30813 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
30814 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
30815 -- call ADRs
30816 -- Bug 4922099
30817 --
30818 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
30819 (NVL(l_actual_upg_option, 'N') = 'O') OR
30820 (NVL(l_enc_upg_option, 'N') = 'O')
30821 )
30822 THEN
30823 NULL;
30824 --
30825 --
30826
30827 xla_ae_lines_pkg.Set_Ccid( -- replaced SetCcid
30828 p_code_combination_id => TO_NUMBER(C_NUM)
30829 , p_value_type_code => NULL
30830 , p_transaction_coa_id => null
30831 , p_accounting_coa_id => null
30832 , p_adr_code => NULL
30833 , p_adr_type_code => NULL
30834 , p_component_type => l_component_type
30835 , p_component_code => l_component_code
30836 , p_component_type_code => l_component_type_code
30837 , p_component_appl_id => l_component_appl_id
30838 , p_amb_context_code => l_amb_context_code
30839 , p_side => NULL
30840 );
30841
30842
30843 -- initialise segments
30844 XLA_AE_LINES_PKG.g_rec_lines.array_segment1(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
30845 XLA_AE_LINES_PKG.g_rec_lines.array_segment2(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
30846 XLA_AE_LINES_PKG.g_rec_lines.array_segment3(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
30847 XLA_AE_LINES_PKG.g_rec_lines.array_segment4(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
30848 XLA_AE_LINES_PKG.g_rec_lines.array_segment5(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
30849 XLA_AE_LINES_PKG.g_rec_lines.array_segment6(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
30850 XLA_AE_LINES_PKG.g_rec_lines.array_segment7(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
30851 XLA_AE_LINES_PKG.g_rec_lines.array_segment8(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
30852 XLA_AE_LINES_PKG.g_rec_lines.array_segment9(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
30853 XLA_AE_LINES_PKG.g_rec_lines.array_segment10(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
30854 XLA_AE_LINES_PKG.g_rec_lines.array_segment11(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
30855 XLA_AE_LINES_PKG.g_rec_lines.array_segment12(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
30856 XLA_AE_LINES_PKG.g_rec_lines.array_segment13(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
30857 XLA_AE_LINES_PKG.g_rec_lines.array_segment14(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
30858 XLA_AE_LINES_PKG.g_rec_lines.array_segment15(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
30859 XLA_AE_LINES_PKG.g_rec_lines.array_segment16(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
30860 XLA_AE_LINES_PKG.g_rec_lines.array_segment17(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
30861 XLA_AE_LINES_PKG.g_rec_lines.array_segment18(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
30862 XLA_AE_LINES_PKG.g_rec_lines.array_segment19(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
30863 XLA_AE_LINES_PKG.g_rec_lines.array_segment20(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
30864 XLA_AE_LINES_PKG.g_rec_lines.array_segment21(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
30865 XLA_AE_LINES_PKG.g_rec_lines.array_segment22(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
30866 XLA_AE_LINES_PKG.g_rec_lines.array_segment23(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
30867 XLA_AE_LINES_PKG.g_rec_lines.array_segment24(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
30868 XLA_AE_LINES_PKG.g_rec_lines.array_segment25(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
30869 XLA_AE_LINES_PKG.g_rec_lines.array_segment26(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
30870 XLA_AE_LINES_PKG.g_rec_lines.array_segment27(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
30871 XLA_AE_LINES_PKG.g_rec_lines.array_segment28(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
30872 XLA_AE_LINES_PKG.g_rec_lines.array_segment29(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
30873 XLA_AE_LINES_PKG.g_rec_lines.array_segment30(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
30874 --
30875
30876 --
30877
30878
30879 l_segment := AcctDerRule_16(
30880 p_application_id => p_application_id
30881 , p_ae_header_id => l_ae_header_id
30882 , p_source_30 => p_source_30
30883 , x_transaction_coa_id => l_adr_transaction_coa_id
30884 , x_accounting_coa_id => l_adr_accounting_coa_id
30885 , x_flexfield_segment_code => l_adr_flexfield_segment_code
30886 , x_flex_value_set_id => l_adr_flex_value_set_id
30890 , p_side => 'NA'
30887 , x_value_type_code => l_adr_value_type_code
30888 , x_value_combination_id => l_adr_value_combination_id
30889 , x_value_segment_code => l_adr_value_segment_code
30891 , p_override_seg_flag => 'Y'
30892 );
30893
30894 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
30895
30896 xla_ae_lines_pkg.set_segment(
30897 p_to_segment_code => 'GL_ACCOUNT'
30898 , p_segment_value => l_segment
30899 , p_from_segment_code => l_adr_value_segment_code
30900 , p_from_combination_id => l_adr_value_combination_id
30901 , p_value_type_code => l_adr_value_type_code
30902 , p_transaction_coa_id => l_adr_transaction_coa_id
30903 , p_accounting_coa_id => l_adr_accounting_coa_id
30904 , p_flexfield_segment_code => l_adr_flexfield_segment_code
30905 , p_flex_value_set_id => l_adr_flex_value_set_id
30906 , p_adr_code => 'AP_PMT_CASH_CLEAR_NAT_ACC_POOL'
30907 , p_adr_type_code => 'S'
30908 , p_component_type => l_component_type
30909 , p_component_code => l_component_code
30910 , p_component_type_code => l_component_type_code
30911 , p_component_appl_id => l_component_appl_id
30912 , p_amb_context_code => l_amb_context_code
30913 , p_entity_code => 'AP_PAYMENTS'
30914 , p_event_class_code => 'FUTURE DATED PAYMENTS'
30915 , p_side => 'NA'
30916 );
30917
30918 END IF;
30919
30920 --
30921 --
30922 END IF;
30923
30924 --
30925 -- Update the line information that should be overwritten
30926 --
30927 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
30928 p_header_num => 1);
30929 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
30930
30931 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
30932
30933 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
30934 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
30935 END IF;
30936
30937 --
30938 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
30939 --
30940 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
30941 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
30942 ELSE
30943 ---------------------------------------------------------------------------------------------------
30944 -- 4262811a Switch Sign
30945 ---------------------------------------------------------------------------------------------------
30946 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
30947 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
30948 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
30949 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
30950 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
30951 -- 5132302
30952 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
30953 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
30954
30955 END IF;
30956
30957 -- 4955764
30958 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
30959 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
30960
30961
30962 XLA_AE_LINES_PKG.ValidateCurrentLine;
30963 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
30964
30965 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
30966 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
30967 ,p_balance_type_code => l_balance_type_code);
30968
30969 END IF;
30970
30971 -----------------------------------------------------------------------------------------
30972 -- 4262811 Multiperiod Accounting
30973 -----------------------------------------------------------------------------------------
30974 -- No MPA option is assigned.
30975
30976
30977 END IF;
30978 END IF;
30979 --
30980
30981 --
30982 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
30983 trace
30984 (p_msg => 'END of AcctLineType_85'
30985 ,p_level => C_LEVEL_PROCEDURE
30986 ,p_module => l_log_module);
30987 END IF;
30988 --
30989 EXCEPTION
30990 WHEN xla_exceptions_pkg.application_exception THEN
30991 RAISE;
30992 WHEN OTHERS THEN
30993 xla_exceptions_pkg.raise_message
30994 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_85');
30995 END AcctLineType_85;
30996 --
30997
30998 ---------------------------------------
30999 --
31000 -- PRIVATE FUNCTION
31001 -- AcctLineType_86
31002 --
31003 ---------------------------------------
31004 PROCEDURE AcctLineType_86 (
31008 ,p_calculate_g_l_flag IN VARCHAR2
31005 p_application_id IN NUMBER
31006 ,p_event_id IN NUMBER
31007 ,p_calculate_acctd_flag IN VARCHAR2
31009 ,p_actual_flag IN OUT VARCHAR2
31010 ,p_balance_type_code OUT VARCHAR2
31011 ,p_gain_or_loss_ref OUT VARCHAR2
31012
31013 --Payment Currency Code
31014 , p_source_8 IN VARCHAR2
31015 --Automatic Offsets Value
31016 , p_source_10 IN VARCHAR2
31017 , p_source_10_meaning IN VARCHAR2
31018 --Bank Cash Clearing Account
31019 , p_source_30 IN NUMBER
31020 --When to Account for Payment Option
31021 , p_source_57 IN VARCHAR2
31022 --Accounting Reversal Indicator
31023 , p_source_58 IN VARCHAR2
31024 --Distribution Link Type
31025 , p_source_60 IN VARCHAR2
31026 --Override Accounted Amount Indicator
31027 , p_source_85 IN VARCHAR2
31028 , p_source_85_meaning IN VARCHAR2
31029 --Third Party Type
31030 , p_source_88 IN VARCHAR2
31031 --Business Flow Accounts Payable Application Identifier
31032 , p_source_96 IN NUMBER
31033 --Payment Distribution Type
31034 , p_source_101 IN VARCHAR2
31035 , p_source_101_meaning IN VARCHAR2
31036 --Payment Distribution Amount
31037 , p_source_102 IN NUMBER
31038 --Business Flow Payment Distribution Type
31039 , p_source_103 IN VARCHAR2
31040 --Business Flow Payment Entity Code
31041 , p_source_104 IN VARCHAR2
31042 --Business Flow Payment Distribution Identifier
31043 , p_source_105 IN NUMBER
31044 --Business Flow Payment Identifier
31045 , p_source_106 IN NUMBER
31046 --Payment Distribution Identifier
31047 , p_source_107 IN NUMBER
31048 --Payment Supplier Identifier
31049 , p_source_113 IN NUMBER
31050 --Payment Supplier Site Identifier
31051 , p_source_114 IN NUMBER
31052 --Payment Distribution Reversed Identifier
31053 , p_source_115 IN NUMBER
31054 --Pooled Bank Account Option
31055 , p_source_116 IN VARCHAR2
31056 , p_source_116_meaning IN VARCHAR2
31057 --Payment Maturity Date
31058 , p_source_117 IN DATE
31059 --Payment Exchange Date
31060 , p_source_120 IN DATE
31061 --Payment Exchange Rate
31062 , p_source_121 IN NUMBER
31063 --Payment Exchange Rate Type
31064 , p_source_122 IN VARCHAR2
31065 --Payment Distribution (Matured Rate) Ledger Amount
31066 , p_source_124 IN NUMBER
31067 )
31068 IS
31069
31070 l_component_type VARCHAR2(80);
31071 l_component_code VARCHAR2(30);
31072 l_component_type_code VARCHAR2(1);
31073 l_component_appl_id INTEGER;
31074 l_amb_context_code VARCHAR2(30);
31075 l_entity_code VARCHAR2(30);
31076 l_event_class_code VARCHAR2(30);
31077 l_ae_header_id NUMBER;
31078 l_event_type_code VARCHAR2(30);
31079 l_line_definition_code VARCHAR2(30);
31080 l_line_definition_owner_code VARCHAR2(1);
31081 --
31082 -- adr variables
31083 l_segment VARCHAR2(30);
31084 l_ccid NUMBER;
31085 l_adr_transaction_coa_id NUMBER;
31086 l_adr_accounting_coa_id NUMBER;
31087 l_adr_flexfield_segment_code VARCHAR2(30);
31088 l_adr_flex_value_set_id NUMBER;
31089 l_adr_value_type_code VARCHAR2(30);
31090 l_adr_value_combination_id NUMBER;
31091 l_adr_value_segment_code VARCHAR2(30);
31092
31093 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
31094 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
31095 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
31096 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
31097
31098 -- 4262811 Variables ------------------------------------------------------------------------------------------
31099 l_entered_amt_idx NUMBER;
31100 l_accted_amt_idx NUMBER;
31101 l_acc_rev_flag VARCHAR2(1);
31102 l_accrual_line_num NUMBER;
31103 l_tmp_amt NUMBER;
31104 l_acc_rev_natural_side_code VARCHAR2(1);
31105
31106 l_num_entries NUMBER;
31107 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
31108 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
31109 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
31110 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
31111 l_recog_line_1 NUMBER;
31112 l_recog_line_2 NUMBER;
31113
31114 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
31115 l_bflow_applied_to_amt NUMBER; -- 5132302
31116 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
31117
31118 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
31119
31120 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
31121 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
31122
31123 ---------------------------------------------------------------------------------------------------------------
31124
31125
31126 --
31127 -- bulk performance
31128 --
31129 l_balance_type_code VARCHAR2(1);
31133 --
31130 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
31131 l_log_module VARCHAR2(240);
31132
31134 -- Upgrade strategy
31135 --
31136 l_actual_upg_option VARCHAR2(1);
31137 l_enc_upg_option VARCHAR2(1);
31138
31139 --
31140 BEGIN
31141 --
31142 IF g_log_enabled THEN
31143 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_86';
31144 END IF;
31145 --
31146 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
31147
31148 trace
31149 (p_msg => 'BEGIN of AcctLineType_86'
31150 ,p_level => C_LEVEL_PROCEDURE
31151 ,p_module => l_log_module);
31152
31153 END IF;
31154 --
31155 l_component_type := 'AMB_JLT';
31156 l_component_code := 'AP_CASH_CLEAR_PMT_MAT_AOS_BS';
31157 l_component_type_code := 'S';
31158 l_component_appl_id := 200;
31159 l_amb_context_code := 'DEFAULT';
31160 l_entity_code := 'AP_PAYMENTS';
31161 l_event_class_code := 'FUTURE DATED PAYMENTS';
31162 l_event_type_code := 'FUTURE DATED PAYMENTS_ALL';
31163 l_line_definition_owner_code := 'S';
31164 l_line_definition_code := 'ACCRUAL_FUTURE DATED PAYMENTS1';
31165 --
31166 l_balance_type_code := 'A';
31167 l_segment := NULL;
31168 l_ccid := NULL;
31169 l_adr_transaction_coa_id := NULL;
31170 l_adr_accounting_coa_id := NULL;
31171 l_adr_flexfield_segment_code := NULL;
31172 l_adr_flex_value_set_id := NULL;
31173 l_adr_value_type_code := NULL;
31174 l_adr_value_combination_id := NULL;
31175 l_adr_value_segment_code := NULL;
31176
31177 l_bflow_method_code := 'SAME_ENTRY'; -- 4219869 Business Flow
31178 l_bflow_class_code := 'AP_CASH_CLEARING'; -- 4219869 Business Flow
31179 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
31180 l_budgetary_control_flag := 'N';
31181
31182 l_bflow_applied_to_amt_idx := NULL; -- 5132302
31183 l_bflow_applied_to_amt := NULL; -- 5132302
31184 l_entered_amt_idx := NULL; -- 4262811
31185 l_accted_amt_idx := NULL; -- 4262811
31186 l_acc_rev_flag := NULL; -- 4262811
31187 l_accrual_line_num := NULL; -- 4262811
31188 l_tmp_amt := NULL; -- 4262811
31189 --
31190
31191 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
31192 l_balance_type_code <> 'B' THEN
31193 IF (NVL(p_source_57,'
31194 ') = 'ALWAYS_ALWAYS' OR
31195 NVL(p_source_57,'
31196 ') = 'ALWAYS_CLEAR' OR
31197 NVL(p_source_57,'
31198 ') = 'ALWAYS_ISSUE') AND
31199 (NVL(p_source_116,'
31200 ') = 'Y' AND
31201 NVL(p_source_10,'
31202 ') = 'BALANCING_SEGMENT') AND
31203 p_source_117 IS NOT NULL AND
31204 NVL(p_source_101,'
31205 ') = 'CASH'
31206 THEN
31207
31208 --
31209 XLA_AE_LINES_PKG.SetNewLine;
31210
31211 p_balance_type_code := l_balance_type_code;
31212 -- set the flag so later we will know whether the gain loss line needs to be created
31213
31214 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
31215 p_actual_flag :='A';
31216 END IF;
31217
31218 --
31219 -- bulk performance
31220 --
31221 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
31222 p_header_num => 0); -- 4262811
31223 --
31224 -- set accounting line options
31225 --
31226 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
31227 p_natural_side_code => 'C'
31228 , p_gain_or_loss_flag => 'N'
31229 , p_gl_transfer_mode_code => 'S'
31230 , p_acct_entry_type_code => 'A'
31231 , p_switch_side_flag => 'Y'
31232 , p_merge_duplicate_code => 'A'
31233 );
31234 --
31235 l_acc_rev_natural_side_code := 'D'; -- 4262811
31236 --
31237 --
31238 -- set accounting line type info
31239 --
31240 xla_ae_lines_pkg.SetAcctLineType
31241 (p_component_type => l_component_type
31242 ,p_event_type_code => l_event_type_code
31243 ,p_line_definition_owner_code => l_line_definition_owner_code
31244 ,p_line_definition_code => l_line_definition_code
31245 ,p_accounting_line_code => l_component_code
31246 ,p_accounting_line_type_code => l_component_type_code
31247 ,p_accounting_line_appl_id => l_component_appl_id
31248 ,p_amb_context_code => l_amb_context_code
31249 ,p_entity_code => l_entity_code
31250 ,p_event_class_code => l_event_class_code);
31251 --
31252 -- set accounting class
31253 --
31254 xla_ae_lines_pkg.SetAcctClass(
31255 p_accounting_class_code => 'CASH_CLEARING'
31256 , p_ae_header_id => l_ae_header_id
31257 );
31258
31259 --
31260 -- set rounding class
31261 --
31262 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
31263 'CASH_CLEARING';
31264
31265 --
31266 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
31267 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
31271 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
31268 --
31269 -- bulk performance
31270 --
31272
31273 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
31274 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
31275
31276 -- 4955764
31277 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
31278 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
31279
31280 -- 4458381 Public Sector Enh
31281
31282 --
31283 -- set accounting attributes for the line type
31284 --
31285 l_entered_amt_idx := 9;
31286 l_accted_amt_idx := 14;
31287 l_bflow_applied_to_amt_idx := NULL; -- 5132302
31288 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
31289 l_rec_acct_attrs.array_char_value(1) := p_source_58;
31290 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_APPLICATION_ID';
31291 l_rec_acct_attrs.array_num_value(2) := p_source_96;
31292 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_DISTRIBUTION_TYPE';
31293 l_rec_acct_attrs.array_char_value(3) := p_source_103;
31294 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_ENTITY_CODE';
31295 l_rec_acct_attrs.array_char_value(4) := p_source_104;
31296 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_FIRST_DIST_ID';
31297 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_105);
31298 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
31299 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_106);
31300 l_rec_acct_attrs.array_acct_attr_code(7) := 'DISTRIBUTION_IDENTIFIER_1';
31301 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_107);
31302 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_TYPE';
31303 l_rec_acct_attrs.array_char_value(8) := p_source_60;
31304 l_rec_acct_attrs.array_acct_attr_code(9) := 'ENTERED_CURRENCY_AMOUNT';
31305 l_rec_acct_attrs.array_num_value(9) := p_source_102;
31306 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_CODE';
31307 l_rec_acct_attrs.array_char_value(10) := p_source_8;
31308 l_rec_acct_attrs.array_acct_attr_code(11) := 'EXCHANGE_DATE';
31309 l_rec_acct_attrs.array_date_value(11) := p_source_120;
31310 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_RATE';
31311 l_rec_acct_attrs.array_num_value(12) := p_source_121;
31312 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE_TYPE';
31313 l_rec_acct_attrs.array_char_value(13) := p_source_122;
31314 l_rec_acct_attrs.array_acct_attr_code(14) := 'LEDGER_AMOUNT';
31315 l_rec_acct_attrs.array_num_value(14) := p_source_124;
31316 l_rec_acct_attrs.array_acct_attr_code(15) := 'OVERRIDE_ACCTD_AMT_FLAG';
31317 l_rec_acct_attrs.array_char_value(15) := p_source_85;
31318 l_rec_acct_attrs.array_acct_attr_code(16) := 'PARTY_ID';
31319 l_rec_acct_attrs.array_num_value(16) := p_source_113;
31320 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_SITE_ID';
31321 l_rec_acct_attrs.array_num_value(17) := p_source_114;
31322 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_TYPE';
31323 l_rec_acct_attrs.array_char_value(18) := p_source_88;
31324 l_rec_acct_attrs.array_acct_attr_code(19) := 'REVERSED_DISTRIBUTION_ID1';
31325 l_rec_acct_attrs.array_num_value(19) := to_char(p_source_115);
31326 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_TYPE';
31327 l_rec_acct_attrs.array_char_value(20) := p_source_60;
31328
31329 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
31330 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
31331
31332 ---------------------------------------------------------------------------------------------------------------
31333 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
31334 ---------------------------------------------------------------------------------------------------------------
31335 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
31336
31337 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
31338 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
31339
31340 IF xla_accounting_cache_pkg.GetValueChar
31341 (p_source_code => 'LEDGER_CATEGORY_CODE'
31342 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
31343 AND l_bflow_method_code = 'PRIOR_ENTRY'
31344 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
31345 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
31346 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
31347 )
31348 THEN
31349 xla_ae_lines_pkg.BflowUpgEntry
31350 (p_business_method_code => l_bflow_method_code
31351 ,p_business_class_code => l_bflow_class_code
31352 ,p_balance_type => l_balance_type_code);
31353 ELSE
31354 NULL;
31355 XLA_AE_LINES_PKG.business_flow_validation(
31356 p_business_method_code => l_bflow_method_code
31357 ,p_business_class_code => l_bflow_class_code
31358 ,p_inherit_description_flag => l_inherit_desc_flag);
31359 END IF;
31363 --
31360
31361 --
31362 -- call analytical criteria
31364
31365 --
31366 -- call description
31367 --
31368 -- No description or it is inherited.
31369 --
31370 -- call ADRs
31371 -- Bug 4922099
31372 --
31373 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
31374 (NVL(l_actual_upg_option, 'N') = 'O') OR
31375 (NVL(l_enc_upg_option, 'N') = 'O')
31376 )
31377 THEN
31378 NULL;
31379 --
31380 --
31381
31382 l_ccid := AcctDerRule_38(
31383 p_application_id => p_application_id
31384 , p_ae_header_id => l_ae_header_id
31385 , p_source_30 => p_source_30
31386 , x_transaction_coa_id => l_adr_transaction_coa_id
31387 , x_accounting_coa_id => l_adr_accounting_coa_id
31388 , x_value_type_code => l_adr_value_type_code
31389 , p_side => 'NA'
31390 );
31391
31392 xla_ae_lines_pkg.set_ccid(
31393 p_code_combination_id => l_ccid
31394 , p_value_type_code => l_adr_value_type_code
31395 , p_transaction_coa_id => l_adr_transaction_coa_id
31396 , p_accounting_coa_id => l_adr_accounting_coa_id
31397 , p_adr_code => 'AP_PMT_CASH_CLEAR'
31398 , p_adr_type_code => 'S'
31399 , p_component_type => l_component_type
31400 , p_component_code => l_component_code
31401 , p_component_type_code => l_component_type_code
31402 , p_component_appl_id => l_component_appl_id
31403 , p_amb_context_code => l_amb_context_code
31404 , p_side => 'NA'
31405 );
31406
31407
31408 xla_ae_lines_pkg.Set_Segment( -- replaced SetSegment
31409 p_to_segment_code => 'GL_BALANCING'
31410 , p_segment_value => C_CHAR
31411 , p_from_segment_code => NULL
31412 , p_from_combination_id => NULL
31413 , p_value_type_code => NULL
31414 , p_transaction_coa_id => null
31415 , p_accounting_coa_id => null
31416 , p_flexfield_segment_code => NULL
31417 , p_flex_value_set_id => NULL
31418 , p_adr_code => NULL
31419 , p_adr_type_code => NULL
31420 , p_component_type => l_component_type
31421 , p_component_code => l_component_code
31422 , p_component_type_code => l_component_type_code
31423 , p_component_appl_id => l_component_appl_id
31424 , p_amb_context_code => l_amb_context_code
31425 , p_entity_code => 'AP_PAYMENTS'
31426 , p_event_class_code => 'FUTURE DATED PAYMENTS'
31427 , p_side => 'NA'
31428 );
31429 --
31430
31431
31432 --
31433 --
31434 END IF;
31435 --
31436 -- Bug 4922099
31437 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
31438 (NVL(l_enc_upg_option, 'N') = 'O')
31439 ) AND
31440 (l_bflow_method_code = 'PRIOR_ENTRY')
31441 )
31442 THEN
31443 IF
31444 --
31445 1 = 2
31446 --
31447 THEN
31448 xla_accounting_err_pkg.build_message
31449 (p_appli_s_name => 'XLA'
31450 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
31451 ,p_token_1 => 'LINE_NUMBER'
31452 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
31453 ,p_token_2 => 'LINE_TYPE_NAME'
31454 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
31455 l_component_type
31456 ,l_component_code
31457 ,l_component_type_code
31458 ,l_component_appl_id
31459 ,l_amb_context_code
31460 ,l_entity_code
31461 ,l_event_class_code
31462 )
31463 ,p_token_3 => 'OWNER'
31464 ,p_value_3 => xla_lookups_pkg.get_meaning(
31465 p_lookup_type => 'XLA_OWNER_TYPE'
31466 ,p_lookup_code => l_component_type_code
31467 )
31468 ,p_token_4 => 'PRODUCT_NAME'
31469 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
31470 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
31471 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
31475
31472 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
31473 ,p_ae_header_id => NULL
31474 );
31476 IF (C_LEVEL_ERROR>= g_log_level) THEN
31477 trace
31478 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
31479 ,p_level => C_LEVEL_ERROR
31480 ,p_module => l_log_module);
31481 END IF;
31482 END IF;
31483 END IF;
31484 --
31485 --
31486 ------------------------------------------------------------------------------------------------
31487 -- 4219869 Business Flow
31488 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
31489 -- Prior Entry. Currently, the following code is always generated.
31490 ------------------------------------------------------------------------------------------------
31491 XLA_AE_LINES_PKG.ValidateCurrentLine;
31492
31493 ------------------------------------------------------------------------------------
31494 -- 4219869 Business Flow
31495 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
31496 ------------------------------------------------------------------------------------
31497 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
31498
31499 ----------------------------------------------------------------------------------
31500 -- 4219869 Business Flow
31501 -- Update journal entry status -- Need to generate this within IF <condition>
31502 ----------------------------------------------------------------------------------
31503 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
31504 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
31505 ,p_balance_type_code => l_balance_type_code
31506 );
31507
31508 -------------------------------------------------------------------------------------------
31509 -- 4262811 - Generate the Accrual Reversal lines
31510 -------------------------------------------------------------------------------------------
31511 BEGIN
31512 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
31513 (g_array_event(p_event_id).array_value_num('header_index'));
31514 IF l_acc_rev_flag IS NULL THEN
31515 l_acc_rev_flag := 'N';
31516 END IF;
31517 EXCEPTION
31518 WHEN OTHERS THEN
31519 l_acc_rev_flag := 'N';
31520 END;
31521 --
31522 IF (l_acc_rev_flag = 'Y') THEN
31523
31524 -- 4645092 ------------------------------------------------------------------------------
31525 -- To allow MPA report to determine if it should generate report process
31526 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
31527 ------------------------------------------------------------------------------------------
31528
31529 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
31530 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
31531 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
31532 -- call ADRs
31533 -- Bug 4922099
31534 --
31535 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
31536 (NVL(l_actual_upg_option, 'N') = 'O') OR
31537 (NVL(l_enc_upg_option, 'N') = 'O')
31538 )
31539 THEN
31540 NULL;
31541 --
31542 --
31543
31544 l_ccid := AcctDerRule_38(
31545 p_application_id => p_application_id
31546 , p_ae_header_id => l_ae_header_id
31547 , p_source_30 => p_source_30
31548 , x_transaction_coa_id => l_adr_transaction_coa_id
31549 , x_accounting_coa_id => l_adr_accounting_coa_id
31550 , x_value_type_code => l_adr_value_type_code
31551 , p_side => 'NA'
31552 );
31553
31554 xla_ae_lines_pkg.set_ccid(
31555 p_code_combination_id => l_ccid
31556 , p_value_type_code => l_adr_value_type_code
31557 , p_transaction_coa_id => l_adr_transaction_coa_id
31558 , p_accounting_coa_id => l_adr_accounting_coa_id
31559 , p_adr_code => 'AP_PMT_CASH_CLEAR'
31560 , p_adr_type_code => 'S'
31561 , p_component_type => l_component_type
31562 , p_component_code => l_component_code
31563 , p_component_type_code => l_component_type_code
31564 , p_component_appl_id => l_component_appl_id
31565 , p_amb_context_code => l_amb_context_code
31566 , p_side => 'NA'
31567 );
31568
31569
31570 xla_ae_lines_pkg.Set_Segment( -- replaced SetSegment
31571 p_to_segment_code => 'GL_BALANCING'
31572 , p_segment_value => C_CHAR
31573 , p_from_segment_code => NULL
31574 , p_from_combination_id => NULL
31575 , p_value_type_code => NULL
31576 , p_transaction_coa_id => null
31577 , p_accounting_coa_id => null
31578 , p_flexfield_segment_code => NULL
31579 , p_flex_value_set_id => NULL
31580 , p_adr_code => NULL
31581 , p_adr_type_code => NULL
31582 , p_component_type => l_component_type
31583 , p_component_code => l_component_code
31584 , p_component_type_code => l_component_type_code
31588 , p_event_class_code => 'FUTURE DATED PAYMENTS'
31585 , p_component_appl_id => l_component_appl_id
31586 , p_amb_context_code => l_amb_context_code
31587 , p_entity_code => 'AP_PAYMENTS'
31589 , p_side => 'NA'
31590 );
31591 --
31592
31593
31594 --
31595 --
31596 END IF;
31597
31598 --
31599 -- Update the line information that should be overwritten
31600 --
31601 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
31602 p_header_num => 1);
31603 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
31604
31605 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
31606
31607 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
31608 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
31609 END IF;
31610
31611 --
31612 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
31613 --
31614 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
31615 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
31616 ELSE
31617 ---------------------------------------------------------------------------------------------------
31618 -- 4262811a Switch Sign
31619 ---------------------------------------------------------------------------------------------------
31620 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
31621 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
31622 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
31623 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
31624 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
31625 -- 5132302
31626 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
31627 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
31628
31629 END IF;
31630
31631 -- 4955764
31632 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
31633 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
31634
31635
31636 XLA_AE_LINES_PKG.ValidateCurrentLine;
31637 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
31638
31639 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
31640 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
31641 ,p_balance_type_code => l_balance_type_code);
31642
31643 END IF;
31644
31645 -----------------------------------------------------------------------------------------
31646 -- 4262811 Multiperiod Accounting
31647 -----------------------------------------------------------------------------------------
31648 -- No MPA option is assigned.
31649
31650
31651 END IF;
31652 END IF;
31653 --
31654
31655 --
31656 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
31657 trace
31658 (p_msg => 'END of AcctLineType_86'
31659 ,p_level => C_LEVEL_PROCEDURE
31660 ,p_module => l_log_module);
31661 END IF;
31662 --
31663 EXCEPTION
31664 WHEN xla_exceptions_pkg.application_exception THEN
31665 RAISE;
31666 WHEN OTHERS THEN
31667 xla_exceptions_pkg.raise_message
31668 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_86');
31669 END AcctLineType_86;
31670 --
31671
31672 ---------------------------------------
31673 --
31674 -- PRIVATE FUNCTION
31675 -- AcctLineType_87
31676 --
31677 ---------------------------------------
31678 PROCEDURE AcctLineType_87 (
31679 p_application_id IN NUMBER
31680 ,p_event_id IN NUMBER
31681 ,p_calculate_acctd_flag IN VARCHAR2
31682 ,p_calculate_g_l_flag IN VARCHAR2
31683 ,p_actual_flag IN OUT VARCHAR2
31684 ,p_balance_type_code OUT VARCHAR2
31685 ,p_gain_or_loss_ref OUT VARCHAR2
31686
31687 --Payment Currency Code
31688 , p_source_8 IN VARCHAR2
31689 --Bank Cash Clearing Account
31690 , p_source_30 IN NUMBER
31691 --Automatic Offsets Flag
31692 , p_source_43 IN VARCHAR2
31693 , p_source_43_meaning IN VARCHAR2
31694 --When to Account for Payment Option
31695 , p_source_57 IN VARCHAR2
31696 --Accounting Reversal Indicator
31697 , p_source_58 IN VARCHAR2
31698 --Distribution Link Type
31699 , p_source_60 IN VARCHAR2
31700 --Override Accounted Amount Indicator
31701 , p_source_85 IN VARCHAR2
31702 , p_source_85_meaning IN VARCHAR2
31703 --Third Party Type
31704 , p_source_88 IN VARCHAR2
31705 --Business Flow Accounts Payable Application Identifier
31706 , p_source_96 IN NUMBER
31707 --Payment Distribution Type
31708 , p_source_101 IN VARCHAR2
31709 , p_source_101_meaning IN VARCHAR2
31710 --Payment Distribution Amount
31711 , p_source_102 IN NUMBER
31715 , p_source_104 IN VARCHAR2
31712 --Business Flow Payment Distribution Type
31713 , p_source_103 IN VARCHAR2
31714 --Business Flow Payment Entity Code
31716 --Business Flow Payment Distribution Identifier
31717 , p_source_105 IN NUMBER
31718 --Business Flow Payment Identifier
31719 , p_source_106 IN NUMBER
31720 --Payment Distribution Identifier
31721 , p_source_107 IN NUMBER
31722 --Payment Supplier Identifier
31723 , p_source_113 IN NUMBER
31724 --Payment Supplier Site Identifier
31725 , p_source_114 IN NUMBER
31726 --Payment Distribution Reversed Identifier
31727 , p_source_115 IN NUMBER
31728 --Pooled Bank Account Option
31729 , p_source_116 IN VARCHAR2
31730 , p_source_116_meaning IN VARCHAR2
31731 --Payment Maturity Date
31732 , p_source_117 IN DATE
31733 --Payment Distribution (Invoice Rate) Ledger Amount
31734 , p_source_119 IN NUMBER
31735 --Payment Exchange Date
31736 , p_source_120 IN DATE
31737 --Payment Exchange Rate
31738 , p_source_121 IN NUMBER
31739 --Payment Exchange Rate Type
31740 , p_source_122 IN VARCHAR2
31741 )
31742 IS
31743
31744 l_component_type VARCHAR2(80);
31745 l_component_code VARCHAR2(30);
31746 l_component_type_code VARCHAR2(1);
31747 l_component_appl_id INTEGER;
31748 l_amb_context_code VARCHAR2(30);
31749 l_entity_code VARCHAR2(30);
31750 l_event_class_code VARCHAR2(30);
31751 l_ae_header_id NUMBER;
31752 l_event_type_code VARCHAR2(30);
31753 l_line_definition_code VARCHAR2(30);
31754 l_line_definition_owner_code VARCHAR2(1);
31755 --
31756 -- adr variables
31757 l_segment VARCHAR2(30);
31758 l_ccid NUMBER;
31759 l_adr_transaction_coa_id NUMBER;
31760 l_adr_accounting_coa_id NUMBER;
31761 l_adr_flexfield_segment_code VARCHAR2(30);
31762 l_adr_flex_value_set_id NUMBER;
31763 l_adr_value_type_code VARCHAR2(30);
31764 l_adr_value_combination_id NUMBER;
31765 l_adr_value_segment_code VARCHAR2(30);
31766
31767 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
31768 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
31769 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
31770 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
31771
31772 -- 4262811 Variables ------------------------------------------------------------------------------------------
31773 l_entered_amt_idx NUMBER;
31774 l_accted_amt_idx NUMBER;
31775 l_acc_rev_flag VARCHAR2(1);
31776 l_accrual_line_num NUMBER;
31777 l_tmp_amt NUMBER;
31778 l_acc_rev_natural_side_code VARCHAR2(1);
31779
31780 l_num_entries NUMBER;
31781 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
31782 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
31783 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
31784 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
31785 l_recog_line_1 NUMBER;
31786 l_recog_line_2 NUMBER;
31787
31788 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
31789 l_bflow_applied_to_amt NUMBER; -- 5132302
31790 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
31791
31792 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
31793
31794 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
31795 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
31796
31797 ---------------------------------------------------------------------------------------------------------------
31798
31799
31800 --
31801 -- bulk performance
31802 --
31803 l_balance_type_code VARCHAR2(1);
31804 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
31805 l_log_module VARCHAR2(240);
31806
31807 --
31808 -- Upgrade strategy
31809 --
31810 l_actual_upg_option VARCHAR2(1);
31811 l_enc_upg_option VARCHAR2(1);
31812
31813 --
31814 BEGIN
31815 --
31816 IF g_log_enabled THEN
31817 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_87';
31818 END IF;
31819 --
31820 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
31821
31822 trace
31823 (p_msg => 'BEGIN of AcctLineType_87'
31824 ,p_level => C_LEVEL_PROCEDURE
31825 ,p_module => l_log_module);
31826
31827 END IF;
31828 --
31829 l_component_type := 'AMB_JLT';
31830 l_component_code := 'AP_CASH_CLEAR_PMT_MAT_INVXRATE';
31831 l_component_type_code := 'S';
31832 l_component_appl_id := 200;
31833 l_amb_context_code := 'DEFAULT';
31834 l_entity_code := 'AP_PAYMENTS';
31835 l_event_class_code := 'FUTURE DATED PAYMENTS';
31836 l_event_type_code := 'FUTURE DATED PAYMENTS_ALL';
31837 l_line_definition_owner_code := 'S';
31838 l_line_definition_code := 'ACCRUAL_FUTURE DATED PAYMENTS1';
31839 --
31840 l_balance_type_code := 'A';
31841 l_segment := NULL;
31845 l_adr_flexfield_segment_code := NULL;
31842 l_ccid := NULL;
31843 l_adr_transaction_coa_id := NULL;
31844 l_adr_accounting_coa_id := NULL;
31846 l_adr_flex_value_set_id := NULL;
31847 l_adr_value_type_code := NULL;
31848 l_adr_value_combination_id := NULL;
31849 l_adr_value_segment_code := NULL;
31850
31851 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
31852 l_bflow_class_code := 'AP_CASH_CLEARING'; -- 4219869 Business Flow
31853 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
31854 l_budgetary_control_flag := 'N';
31855
31856 l_bflow_applied_to_amt_idx := NULL; -- 5132302
31857 l_bflow_applied_to_amt := NULL; -- 5132302
31858 l_entered_amt_idx := NULL; -- 4262811
31859 l_accted_amt_idx := NULL; -- 4262811
31860 l_acc_rev_flag := NULL; -- 4262811
31861 l_accrual_line_num := NULL; -- 4262811
31862 l_tmp_amt := NULL; -- 4262811
31863 --
31864
31865 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
31866 l_balance_type_code <> 'B' THEN
31867 IF NVL(p_source_57,'
31868 ') = 'ALWAYS_CLEAR' AND
31869 (NVL(p_source_43,'
31870 ') <> 'Y' OR
31871 NVL(p_source_43,'
31872 ') = 'Y' AND
31873 NVL(p_source_116,'
31874 ') <> 'Y') AND
31875 p_source_117 IS NOT NULL AND
31876 NVL(p_source_101,'
31877 ') = 'CASH'
31878 THEN
31879
31880 --
31881 XLA_AE_LINES_PKG.SetNewLine;
31882
31883 p_balance_type_code := l_balance_type_code;
31884 -- set the flag so later we will know whether the gain loss line needs to be created
31885
31886 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
31887 p_actual_flag :='A';
31888 END IF;
31889
31890 --
31891 -- bulk performance
31892 --
31893 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
31894 p_header_num => 0); -- 4262811
31895 --
31896 -- set accounting line options
31897 --
31898 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
31899 p_natural_side_code => 'C'
31900 , p_gain_or_loss_flag => 'N'
31901 , p_gl_transfer_mode_code => 'S'
31902 , p_acct_entry_type_code => 'A'
31903 , p_switch_side_flag => 'Y'
31904 , p_merge_duplicate_code => 'A'
31905 );
31906 --
31907 l_acc_rev_natural_side_code := 'D'; -- 4262811
31908 --
31909 --
31910 -- set accounting line type info
31911 --
31912 xla_ae_lines_pkg.SetAcctLineType
31913 (p_component_type => l_component_type
31914 ,p_event_type_code => l_event_type_code
31915 ,p_line_definition_owner_code => l_line_definition_owner_code
31916 ,p_line_definition_code => l_line_definition_code
31917 ,p_accounting_line_code => l_component_code
31918 ,p_accounting_line_type_code => l_component_type_code
31919 ,p_accounting_line_appl_id => l_component_appl_id
31920 ,p_amb_context_code => l_amb_context_code
31921 ,p_entity_code => l_entity_code
31922 ,p_event_class_code => l_event_class_code);
31923 --
31924 -- set accounting class
31925 --
31926 xla_ae_lines_pkg.SetAcctClass(
31927 p_accounting_class_code => 'CASH_CLEARING'
31928 , p_ae_header_id => l_ae_header_id
31929 );
31930
31931 --
31932 -- set rounding class
31933 --
31934 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
31935 'CASH_CLEARING';
31936
31937 --
31938 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
31939 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
31940 --
31941 -- bulk performance
31942 --
31943 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
31944
31945 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
31946 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
31947
31948 -- 4955764
31949 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
31950 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
31951
31952 -- 4458381 Public Sector Enh
31953
31954 --
31955 -- set accounting attributes for the line type
31956 --
31957 l_entered_amt_idx := 9;
31958 l_accted_amt_idx := 14;
31959 l_bflow_applied_to_amt_idx := NULL; -- 5132302
31960 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
31961 l_rec_acct_attrs.array_char_value(1) := p_source_58;
31962 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_APPLICATION_ID';
31963 l_rec_acct_attrs.array_num_value(2) := p_source_96;
31964 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_DISTRIBUTION_TYPE';
31965 l_rec_acct_attrs.array_char_value(3) := p_source_103;
31966 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_ENTITY_CODE';
31967 l_rec_acct_attrs.array_char_value(4) := p_source_104;
31968 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_FIRST_DIST_ID';
31972 l_rec_acct_attrs.array_acct_attr_code(7) := 'DISTRIBUTION_IDENTIFIER_1';
31969 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_105);
31970 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
31971 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_106);
31973 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_107);
31974 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_TYPE';
31975 l_rec_acct_attrs.array_char_value(8) := p_source_60;
31976 l_rec_acct_attrs.array_acct_attr_code(9) := 'ENTERED_CURRENCY_AMOUNT';
31977 l_rec_acct_attrs.array_num_value(9) := p_source_102;
31978 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_CODE';
31979 l_rec_acct_attrs.array_char_value(10) := p_source_8;
31980 l_rec_acct_attrs.array_acct_attr_code(11) := 'EXCHANGE_DATE';
31981 l_rec_acct_attrs.array_date_value(11) := p_source_120;
31982 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_RATE';
31983 l_rec_acct_attrs.array_num_value(12) := p_source_121;
31984 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE_TYPE';
31985 l_rec_acct_attrs.array_char_value(13) := p_source_122;
31986 l_rec_acct_attrs.array_acct_attr_code(14) := 'LEDGER_AMOUNT';
31987 l_rec_acct_attrs.array_num_value(14) := p_source_119;
31988 l_rec_acct_attrs.array_acct_attr_code(15) := 'OVERRIDE_ACCTD_AMT_FLAG';
31989 l_rec_acct_attrs.array_char_value(15) := p_source_85;
31990 l_rec_acct_attrs.array_acct_attr_code(16) := 'PARTY_ID';
31991 l_rec_acct_attrs.array_num_value(16) := p_source_113;
31992 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_SITE_ID';
31993 l_rec_acct_attrs.array_num_value(17) := p_source_114;
31994 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_TYPE';
31995 l_rec_acct_attrs.array_char_value(18) := p_source_88;
31996 l_rec_acct_attrs.array_acct_attr_code(19) := 'REVERSED_DISTRIBUTION_ID1';
31997 l_rec_acct_attrs.array_num_value(19) := to_char(p_source_115);
31998 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_TYPE';
31999 l_rec_acct_attrs.array_char_value(20) := p_source_60;
32000
32001 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
32002 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
32003
32004 ---------------------------------------------------------------------------------------------------------------
32005 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
32006 ---------------------------------------------------------------------------------------------------------------
32007 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
32008
32009 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
32010 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
32011
32012 IF xla_accounting_cache_pkg.GetValueChar
32013 (p_source_code => 'LEDGER_CATEGORY_CODE'
32014 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
32015 AND l_bflow_method_code = 'PRIOR_ENTRY'
32016 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
32017 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
32018 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
32019 )
32020 THEN
32021 xla_ae_lines_pkg.BflowUpgEntry
32022 (p_business_method_code => l_bflow_method_code
32023 ,p_business_class_code => l_bflow_class_code
32024 ,p_balance_type => l_balance_type_code);
32025 ELSE
32026 NULL;
32027 -- No business flow processing for business flow method of NONE.
32028 END IF;
32029
32030 --
32031 -- call analytical criteria
32032 --
32033
32034 --
32035 -- call description
32036 --
32037 -- No description or it is inherited.
32038 --
32039 -- call ADRs
32040 -- Bug 4922099
32041 --
32042 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
32043 (NVL(l_actual_upg_option, 'N') = 'O') OR
32044 (NVL(l_enc_upg_option, 'N') = 'O')
32045 )
32046 THEN
32047 NULL;
32048 --
32049 --
32050
32051 l_ccid := AcctDerRule_38(
32052 p_application_id => p_application_id
32053 , p_ae_header_id => l_ae_header_id
32054 , p_source_30 => p_source_30
32055 , x_transaction_coa_id => l_adr_transaction_coa_id
32056 , x_accounting_coa_id => l_adr_accounting_coa_id
32057 , x_value_type_code => l_adr_value_type_code
32058 , p_side => 'NA'
32059 );
32060
32061 xla_ae_lines_pkg.set_ccid(
32062 p_code_combination_id => l_ccid
32063 , p_value_type_code => l_adr_value_type_code
32064 , p_transaction_coa_id => l_adr_transaction_coa_id
32065 , p_accounting_coa_id => l_adr_accounting_coa_id
32066 , p_adr_code => 'AP_PMT_CASH_CLEAR'
32067 , p_adr_type_code => 'S'
32068 , p_component_type => l_component_type
32069 , p_component_code => l_component_code
32070 , p_component_type_code => l_component_type_code
32071 , p_component_appl_id => l_component_appl_id
32075
32072 , p_amb_context_code => l_amb_context_code
32073 , p_side => 'NA'
32074 );
32076
32077 --
32078 --
32079 END IF;
32080 --
32081 -- Bug 4922099
32082 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
32083 (NVL(l_enc_upg_option, 'N') = 'O')
32084 ) AND
32085 (l_bflow_method_code = 'PRIOR_ENTRY')
32086 )
32087 THEN
32088 IF
32089 --
32090 1 = 2
32091 --
32092 THEN
32093 xla_accounting_err_pkg.build_message
32094 (p_appli_s_name => 'XLA'
32095 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
32096 ,p_token_1 => 'LINE_NUMBER'
32097 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
32098 ,p_token_2 => 'LINE_TYPE_NAME'
32099 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
32100 l_component_type
32101 ,l_component_code
32102 ,l_component_type_code
32103 ,l_component_appl_id
32104 ,l_amb_context_code
32105 ,l_entity_code
32106 ,l_event_class_code
32107 )
32108 ,p_token_3 => 'OWNER'
32109 ,p_value_3 => xla_lookups_pkg.get_meaning(
32110 p_lookup_type => 'XLA_OWNER_TYPE'
32111 ,p_lookup_code => l_component_type_code
32112 )
32113 ,p_token_4 => 'PRODUCT_NAME'
32114 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
32115 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
32116 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
32117 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
32118 ,p_ae_header_id => NULL
32119 );
32120
32121 IF (C_LEVEL_ERROR>= g_log_level) THEN
32122 trace
32123 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
32124 ,p_level => C_LEVEL_ERROR
32125 ,p_module => l_log_module);
32126 END IF;
32127 END IF;
32128 END IF;
32129 --
32130 --
32131 ------------------------------------------------------------------------------------------------
32132 -- 4219869 Business Flow
32133 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
32134 -- Prior Entry. Currently, the following code is always generated.
32135 ------------------------------------------------------------------------------------------------
32136 XLA_AE_LINES_PKG.ValidateCurrentLine;
32137
32138 ------------------------------------------------------------------------------------
32139 -- 4219869 Business Flow
32140 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
32141 ------------------------------------------------------------------------------------
32142 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
32143
32144 ----------------------------------------------------------------------------------
32145 -- 4219869 Business Flow
32146 -- Update journal entry status -- Need to generate this within IF <condition>
32147 ----------------------------------------------------------------------------------
32148 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
32149 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
32150 ,p_balance_type_code => l_balance_type_code
32151 );
32152
32153 -------------------------------------------------------------------------------------------
32154 -- 4262811 - Generate the Accrual Reversal lines
32155 -------------------------------------------------------------------------------------------
32156 BEGIN
32157 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
32158 (g_array_event(p_event_id).array_value_num('header_index'));
32159 IF l_acc_rev_flag IS NULL THEN
32160 l_acc_rev_flag := 'N';
32161 END IF;
32162 EXCEPTION
32163 WHEN OTHERS THEN
32164 l_acc_rev_flag := 'N';
32165 END;
32166 --
32167 IF (l_acc_rev_flag = 'Y') THEN
32168
32169 -- 4645092 ------------------------------------------------------------------------------
32173
32170 -- To allow MPA report to determine if it should generate report process
32171 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
32172 ------------------------------------------------------------------------------------------
32174 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
32175 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
32176 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
32177 -- call ADRs
32178 -- Bug 4922099
32179 --
32180 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
32181 (NVL(l_actual_upg_option, 'N') = 'O') OR
32182 (NVL(l_enc_upg_option, 'N') = 'O')
32183 )
32184 THEN
32185 NULL;
32186 --
32187 --
32188
32189 l_ccid := AcctDerRule_38(
32190 p_application_id => p_application_id
32191 , p_ae_header_id => l_ae_header_id
32192 , p_source_30 => p_source_30
32193 , x_transaction_coa_id => l_adr_transaction_coa_id
32194 , x_accounting_coa_id => l_adr_accounting_coa_id
32195 , x_value_type_code => l_adr_value_type_code
32196 , p_side => 'NA'
32197 );
32198
32199 xla_ae_lines_pkg.set_ccid(
32200 p_code_combination_id => l_ccid
32201 , p_value_type_code => l_adr_value_type_code
32202 , p_transaction_coa_id => l_adr_transaction_coa_id
32203 , p_accounting_coa_id => l_adr_accounting_coa_id
32204 , p_adr_code => 'AP_PMT_CASH_CLEAR'
32205 , p_adr_type_code => 'S'
32206 , p_component_type => l_component_type
32207 , p_component_code => l_component_code
32208 , p_component_type_code => l_component_type_code
32209 , p_component_appl_id => l_component_appl_id
32210 , p_amb_context_code => l_amb_context_code
32211 , p_side => 'NA'
32212 );
32213
32214
32215 --
32216 --
32217 END IF;
32218
32219 --
32220 -- Update the line information that should be overwritten
32221 --
32222 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
32223 p_header_num => 1);
32224 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
32225
32226 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
32227
32228 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
32229 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
32230 END IF;
32231
32232 --
32233 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
32234 --
32235 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
32236 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
32237 ELSE
32238 ---------------------------------------------------------------------------------------------------
32239 -- 4262811a Switch Sign
32240 ---------------------------------------------------------------------------------------------------
32241 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
32242 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
32243 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
32244 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
32245 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
32246 -- 5132302
32247 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
32248 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
32249
32250 END IF;
32251
32252 -- 4955764
32253 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
32254 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
32255
32256
32257 XLA_AE_LINES_PKG.ValidateCurrentLine;
32258 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
32259
32260 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
32261 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
32262 ,p_balance_type_code => l_balance_type_code);
32263
32264 END IF;
32265
32266 -----------------------------------------------------------------------------------------
32267 -- 4262811 Multiperiod Accounting
32268 -----------------------------------------------------------------------------------------
32269 -- No MPA option is assigned.
32270
32271
32272 END IF;
32273 END IF;
32274 --
32275
32276 --
32277 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
32278 trace
32279 (p_msg => 'END of AcctLineType_87'
32280 ,p_level => C_LEVEL_PROCEDURE
32281 ,p_module => l_log_module);
32282 END IF;
32283 --
32284 EXCEPTION
32285 WHEN xla_exceptions_pkg.application_exception THEN
32286 RAISE;
32287 WHEN OTHERS THEN
32291 --
32288 xla_exceptions_pkg.raise_message
32289 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_87');
32290 END AcctLineType_87;
32292
32293 ---------------------------------------
32294 --
32295 -- PRIVATE FUNCTION
32296 -- AcctLineType_88
32297 --
32298 ---------------------------------------
32299 PROCEDURE AcctLineType_88 (
32300 p_application_id IN NUMBER
32301 ,p_event_id IN NUMBER
32302 ,p_calculate_acctd_flag IN VARCHAR2
32303 ,p_calculate_g_l_flag IN VARCHAR2
32304 ,p_actual_flag IN OUT VARCHAR2
32305 ,p_balance_type_code OUT VARCHAR2
32306 ,p_gain_or_loss_ref OUT VARCHAR2
32307
32308 --Payment Currency Code
32309 , p_source_8 IN VARCHAR2
32310 --Bank Cash Clearing Account
32311 , p_source_30 IN NUMBER
32312 --Automatic Offsets Flag
32313 , p_source_43 IN VARCHAR2
32314 , p_source_43_meaning IN VARCHAR2
32315 --When to Account for Payment Option
32316 , p_source_57 IN VARCHAR2
32317 --Accounting Reversal Indicator
32318 , p_source_58 IN VARCHAR2
32319 --Distribution Link Type
32320 , p_source_60 IN VARCHAR2
32321 --Override Accounted Amount Indicator
32322 , p_source_85 IN VARCHAR2
32323 , p_source_85_meaning IN VARCHAR2
32324 --Third Party Type
32325 , p_source_88 IN VARCHAR2
32326 --Invoice Distribution Tax Line Identifier
32327 , p_source_91 IN NUMBER
32328 --Invoice Distribution Tax Distribution Identifier from Tax
32329 , p_source_92 IN NUMBER
32330 --Invoice Distribution Summary Tax Line Identifier
32331 , p_source_93 IN NUMBER
32332 --Business Flow Accounts Payable Application Identifier
32333 , p_source_96 IN NUMBER
32334 --Business Flow Invoice Distribution Type
32335 , p_source_97 IN VARCHAR2
32336 --Business Flow Invoice Entity Code
32337 , p_source_98 IN VARCHAR2
32338 --Business Flow Invoice Distribution Identifier
32339 , p_source_99 IN NUMBER
32340 --Business Flow Invoice Identifier
32341 , p_source_100 IN NUMBER
32342 --Payment Distribution Type
32343 , p_source_101 IN VARCHAR2
32344 , p_source_101_meaning IN VARCHAR2
32345 --Payment Distribution Amount
32346 , p_source_102 IN NUMBER
32347 --Payment Distribution Identifier
32348 , p_source_107 IN NUMBER
32349 --Payment Supplier Identifier
32350 , p_source_113 IN NUMBER
32351 --Payment Supplier Site Identifier
32352 , p_source_114 IN NUMBER
32353 --Payment Distribution Reversed Identifier
32354 , p_source_115 IN NUMBER
32355 --Pooled Bank Account Option
32356 , p_source_116 IN VARCHAR2
32357 , p_source_116_meaning IN VARCHAR2
32358 --Payment Maturity Date
32359 , p_source_117 IN DATE
32360 --Payment Distribution (Payment Rate) Ledger Amount
32361 , p_source_118 IN NUMBER
32362 --Payment Exchange Date
32363 , p_source_120 IN DATE
32364 --Payment Exchange Rate
32365 , p_source_121 IN NUMBER
32366 --Payment Exchange Rate Type
32367 , p_source_122 IN VARCHAR2
32368 --Payment Type
32369 , p_source_125 IN VARCHAR2
32370 , p_source_125_meaning IN VARCHAR2
32371 )
32372 IS
32373
32374 l_component_type VARCHAR2(80);
32375 l_component_code VARCHAR2(30);
32376 l_component_type_code VARCHAR2(1);
32377 l_component_appl_id INTEGER;
32378 l_amb_context_code VARCHAR2(30);
32379 l_entity_code VARCHAR2(30);
32380 l_event_class_code VARCHAR2(30);
32381 l_ae_header_id NUMBER;
32382 l_event_type_code VARCHAR2(30);
32383 l_line_definition_code VARCHAR2(30);
32384 l_line_definition_owner_code VARCHAR2(1);
32385 --
32386 -- adr variables
32387 l_segment VARCHAR2(30);
32388 l_ccid NUMBER;
32389 l_adr_transaction_coa_id NUMBER;
32390 l_adr_accounting_coa_id NUMBER;
32391 l_adr_flexfield_segment_code VARCHAR2(30);
32392 l_adr_flex_value_set_id NUMBER;
32393 l_adr_value_type_code VARCHAR2(30);
32394 l_adr_value_combination_id NUMBER;
32395 l_adr_value_segment_code VARCHAR2(30);
32396
32397 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
32398 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
32399 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
32400 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
32401
32402 -- 4262811 Variables ------------------------------------------------------------------------------------------
32403 l_entered_amt_idx NUMBER;
32404 l_accted_amt_idx NUMBER;
32405 l_acc_rev_flag VARCHAR2(1);
32406 l_accrual_line_num NUMBER;
32407 l_tmp_amt NUMBER;
32408 l_acc_rev_natural_side_code VARCHAR2(1);
32409
32410 l_num_entries NUMBER;
32411 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
32412 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
32413 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
32414 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
32415 l_recog_line_1 NUMBER;
32416 l_recog_line_2 NUMBER;
32417
32421
32418 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
32419 l_bflow_applied_to_amt NUMBER; -- 5132302
32420 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
32422 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
32423
32424 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
32425 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
32426
32427 ---------------------------------------------------------------------------------------------------------------
32428
32429
32430 --
32431 -- bulk performance
32432 --
32433 l_balance_type_code VARCHAR2(1);
32434 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
32435 l_log_module VARCHAR2(240);
32436
32437 --
32438 -- Upgrade strategy
32439 --
32440 l_actual_upg_option VARCHAR2(1);
32441 l_enc_upg_option VARCHAR2(1);
32442
32443 --
32444 BEGIN
32445 --
32446 IF g_log_enabled THEN
32447 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_88';
32448 END IF;
32449 --
32450 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
32451
32452 trace
32453 (p_msg => 'BEGIN of AcctLineType_88'
32454 ,p_level => C_LEVEL_PROCEDURE
32455 ,p_module => l_log_module);
32456
32457 END IF;
32458 --
32459 l_component_type := 'AMB_JLT';
32460 l_component_code := 'AP_CASH_CLEAR_REF';
32461 l_component_type_code := 'S';
32462 l_component_appl_id := 200;
32463 l_amb_context_code := 'DEFAULT';
32464 l_entity_code := 'AP_PAYMENTS';
32465 l_event_class_code := 'REFUNDS';
32466 l_event_type_code := 'REFUNDS_ALL';
32467 l_line_definition_owner_code := 'S';
32468 l_line_definition_code := 'ACCRUAL_REFUNDS_ALL';
32469 --
32470 l_balance_type_code := 'A';
32471 l_segment := NULL;
32472 l_ccid := NULL;
32473 l_adr_transaction_coa_id := NULL;
32474 l_adr_accounting_coa_id := NULL;
32475 l_adr_flexfield_segment_code := NULL;
32476 l_adr_flex_value_set_id := NULL;
32477 l_adr_value_type_code := NULL;
32478 l_adr_value_combination_id := NULL;
32479 l_adr_value_segment_code := NULL;
32480
32481 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
32482 l_bflow_class_code := 'AP_CASH_CLEARING'; -- 4219869 Business Flow
32483 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
32484 l_budgetary_control_flag := 'N';
32485
32486 l_bflow_applied_to_amt_idx := NULL; -- 5132302
32487 l_bflow_applied_to_amt := NULL; -- 5132302
32488 l_entered_amt_idx := NULL; -- 4262811
32489 l_accted_amt_idx := NULL; -- 4262811
32490 l_acc_rev_flag := NULL; -- 4262811
32491 l_accrual_line_num := NULL; -- 4262811
32492 l_tmp_amt := NULL; -- 4262811
32493 --
32494
32495 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
32496 l_balance_type_code <> 'B' THEN
32497 IF NVL(p_source_57,'
32498 ') = 'ALWAYS_ALWAYS' AND
32499 (NVL(p_source_43,'
32500 ') <> 'Y' OR
32501 NVL(p_source_43,'
32502 ') = 'Y' AND
32503 NVL(p_source_116,'
32504 ') <> 'Y') AND
32505 p_source_117 IS NULL AND
32506 NVL(p_source_101,'
32507 ') = 'CASH' AND
32508 NVL(p_source_125,'
32509 ') = 'R'
32510 THEN
32511
32512 --
32513 XLA_AE_LINES_PKG.SetNewLine;
32514
32515 p_balance_type_code := l_balance_type_code;
32516 -- set the flag so later we will know whether the gain loss line needs to be created
32517
32518 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
32519 p_actual_flag :='A';
32520 END IF;
32521
32522 --
32523 -- bulk performance
32524 --
32525 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
32526 p_header_num => 0); -- 4262811
32527 --
32528 -- set accounting line options
32529 --
32530 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
32531 p_natural_side_code => 'C'
32532 , p_gain_or_loss_flag => 'N'
32533 , p_gl_transfer_mode_code => 'S'
32534 , p_acct_entry_type_code => 'A'
32535 , p_switch_side_flag => 'Y'
32536 , p_merge_duplicate_code => 'A'
32537 );
32538 --
32539 l_acc_rev_natural_side_code := 'D'; -- 4262811
32540 --
32541 --
32542 -- set accounting line type info
32543 --
32544 xla_ae_lines_pkg.SetAcctLineType
32545 (p_component_type => l_component_type
32546 ,p_event_type_code => l_event_type_code
32547 ,p_line_definition_owner_code => l_line_definition_owner_code
32548 ,p_line_definition_code => l_line_definition_code
32549 ,p_accounting_line_code => l_component_code
32550 ,p_accounting_line_type_code => l_component_type_code
32551 ,p_accounting_line_appl_id => l_component_appl_id
32552 ,p_amb_context_code => l_amb_context_code
32556 -- set accounting class
32553 ,p_entity_code => l_entity_code
32554 ,p_event_class_code => l_event_class_code);
32555 --
32557 --
32558 xla_ae_lines_pkg.SetAcctClass(
32559 p_accounting_class_code => 'CASH_CLEARING'
32560 , p_ae_header_id => l_ae_header_id
32561 );
32562
32563 --
32564 -- set rounding class
32565 --
32566 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
32567 'CASH_CLEARING';
32568
32569 --
32570 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
32571 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
32572 --
32573 -- bulk performance
32574 --
32575 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
32576
32577 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
32578 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
32579
32580 -- 4955764
32581 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
32582 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
32583
32584 -- 4458381 Public Sector Enh
32585
32586 --
32587 -- set accounting attributes for the line type
32588 --
32589 l_entered_amt_idx := 9;
32590 l_accted_amt_idx := 14;
32591 l_bflow_applied_to_amt_idx := NULL; -- 5132302
32592 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
32593 l_rec_acct_attrs.array_char_value(1) := p_source_58;
32594 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_APPLICATION_ID';
32595 l_rec_acct_attrs.array_num_value(2) := p_source_96;
32596 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_DISTRIBUTION_TYPE';
32597 l_rec_acct_attrs.array_char_value(3) := p_source_97;
32598 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_ENTITY_CODE';
32599 l_rec_acct_attrs.array_char_value(4) := p_source_98;
32600 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_FIRST_DIST_ID';
32601 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_99);
32602 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
32603 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_100);
32604 l_rec_acct_attrs.array_acct_attr_code(7) := 'DISTRIBUTION_IDENTIFIER_1';
32605 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_107);
32606 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_TYPE';
32607 l_rec_acct_attrs.array_char_value(8) := p_source_60;
32608 l_rec_acct_attrs.array_acct_attr_code(9) := 'ENTERED_CURRENCY_AMOUNT';
32609 l_rec_acct_attrs.array_num_value(9) := p_source_102;
32610 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_CODE';
32611 l_rec_acct_attrs.array_char_value(10) := p_source_8;
32612 l_rec_acct_attrs.array_acct_attr_code(11) := 'EXCHANGE_DATE';
32613 l_rec_acct_attrs.array_date_value(11) := p_source_120;
32614 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_RATE';
32615 l_rec_acct_attrs.array_num_value(12) := p_source_121;
32616 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE_TYPE';
32617 l_rec_acct_attrs.array_char_value(13) := p_source_122;
32618 l_rec_acct_attrs.array_acct_attr_code(14) := 'LEDGER_AMOUNT';
32619 l_rec_acct_attrs.array_num_value(14) := p_source_118;
32620 l_rec_acct_attrs.array_acct_attr_code(15) := 'OVERRIDE_ACCTD_AMT_FLAG';
32621 l_rec_acct_attrs.array_char_value(15) := p_source_85;
32622 l_rec_acct_attrs.array_acct_attr_code(16) := 'PARTY_ID';
32623 l_rec_acct_attrs.array_num_value(16) := p_source_113;
32624 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_SITE_ID';
32625 l_rec_acct_attrs.array_num_value(17) := p_source_114;
32626 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_TYPE';
32627 l_rec_acct_attrs.array_char_value(18) := p_source_88;
32628 l_rec_acct_attrs.array_acct_attr_code(19) := 'REVERSED_DISTRIBUTION_ID1';
32629 l_rec_acct_attrs.array_num_value(19) := to_char(p_source_115);
32630 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_TYPE';
32631 l_rec_acct_attrs.array_char_value(20) := p_source_60;
32632 l_rec_acct_attrs.array_acct_attr_code(21) := 'TAX_LINE_REF_ID';
32633 l_rec_acct_attrs.array_num_value(21) := p_source_91;
32634 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_REC_NREC_DIST_REF_ID';
32635 l_rec_acct_attrs.array_num_value(22) := p_source_92;
32636 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_SUMMARY_LINE_REF_ID';
32637 l_rec_acct_attrs.array_num_value(23) := p_source_93;
32638
32639 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
32640 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
32641
32642 ---------------------------------------------------------------------------------------------------------------
32643 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
32644 ---------------------------------------------------------------------------------------------------------------
32645 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
32646
32647 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
32648 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
32649
32650 IF xla_accounting_cache_pkg.GetValueChar
32654 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
32651 (p_source_code => 'LEDGER_CATEGORY_CODE'
32652 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
32653 AND l_bflow_method_code = 'PRIOR_ENTRY'
32655 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
32656 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
32657 )
32658 THEN
32659 xla_ae_lines_pkg.BflowUpgEntry
32660 (p_business_method_code => l_bflow_method_code
32661 ,p_business_class_code => l_bflow_class_code
32662 ,p_balance_type => l_balance_type_code);
32663 ELSE
32664 NULL;
32665 -- No business flow processing for business flow method of NONE.
32666 END IF;
32667
32668 --
32669 -- call analytical criteria
32670 --
32671
32672 --
32673 -- call description
32674 --
32675 -- No description or it is inherited.
32676 --
32677 -- call ADRs
32678 -- Bug 4922099
32679 --
32680 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
32681 (NVL(l_actual_upg_option, 'N') = 'O') OR
32682 (NVL(l_enc_upg_option, 'N') = 'O')
32683 )
32684 THEN
32685 NULL;
32686 --
32687 --
32688
32689 l_ccid := AcctDerRule_38(
32690 p_application_id => p_application_id
32691 , p_ae_header_id => l_ae_header_id
32692 , p_source_30 => p_source_30
32693 , x_transaction_coa_id => l_adr_transaction_coa_id
32694 , x_accounting_coa_id => l_adr_accounting_coa_id
32695 , x_value_type_code => l_adr_value_type_code
32696 , p_side => 'NA'
32697 );
32698
32699 xla_ae_lines_pkg.set_ccid(
32700 p_code_combination_id => l_ccid
32701 , p_value_type_code => l_adr_value_type_code
32702 , p_transaction_coa_id => l_adr_transaction_coa_id
32703 , p_accounting_coa_id => l_adr_accounting_coa_id
32704 , p_adr_code => 'AP_PMT_CASH_CLEAR'
32705 , p_adr_type_code => 'S'
32706 , p_component_type => l_component_type
32707 , p_component_code => l_component_code
32708 , p_component_type_code => l_component_type_code
32709 , p_component_appl_id => l_component_appl_id
32710 , p_amb_context_code => l_amb_context_code
32711 , p_side => 'NA'
32712 );
32713
32714
32715 --
32716 --
32717 END IF;
32718 --
32719 -- Bug 4922099
32720 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
32721 (NVL(l_enc_upg_option, 'N') = 'O')
32722 ) AND
32723 (l_bflow_method_code = 'PRIOR_ENTRY')
32724 )
32725 THEN
32726 IF
32727 --
32728 1 = 2
32729 --
32730 THEN
32731 xla_accounting_err_pkg.build_message
32732 (p_appli_s_name => 'XLA'
32733 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
32734 ,p_token_1 => 'LINE_NUMBER'
32735 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
32736 ,p_token_2 => 'LINE_TYPE_NAME'
32737 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
32738 l_component_type
32739 ,l_component_code
32740 ,l_component_type_code
32741 ,l_component_appl_id
32742 ,l_amb_context_code
32743 ,l_entity_code
32744 ,l_event_class_code
32745 )
32746 ,p_token_3 => 'OWNER'
32747 ,p_value_3 => xla_lookups_pkg.get_meaning(
32748 p_lookup_type => 'XLA_OWNER_TYPE'
32749 ,p_lookup_code => l_component_type_code
32750 )
32751 ,p_token_4 => 'PRODUCT_NAME'
32752 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
32753 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
32754 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
32755 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
32756 ,p_ae_header_id => NULL
32757 );
32758
32759 IF (C_LEVEL_ERROR>= g_log_level) THEN
32760 trace
32764 END IF;
32761 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
32762 ,p_level => C_LEVEL_ERROR
32763 ,p_module => l_log_module);
32765 END IF;
32766 END IF;
32767 --
32768 --
32769 ------------------------------------------------------------------------------------------------
32770 -- 4219869 Business Flow
32771 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
32772 -- Prior Entry. Currently, the following code is always generated.
32773 ------------------------------------------------------------------------------------------------
32774 XLA_AE_LINES_PKG.ValidateCurrentLine;
32775
32776 ------------------------------------------------------------------------------------
32777 -- 4219869 Business Flow
32778 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
32779 ------------------------------------------------------------------------------------
32780 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
32781
32782 ----------------------------------------------------------------------------------
32783 -- 4219869 Business Flow
32784 -- Update journal entry status -- Need to generate this within IF <condition>
32785 ----------------------------------------------------------------------------------
32786 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
32787 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
32788 ,p_balance_type_code => l_balance_type_code
32789 );
32790
32791 -------------------------------------------------------------------------------------------
32792 -- 4262811 - Generate the Accrual Reversal lines
32793 -------------------------------------------------------------------------------------------
32794 BEGIN
32795 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
32796 (g_array_event(p_event_id).array_value_num('header_index'));
32797 IF l_acc_rev_flag IS NULL THEN
32798 l_acc_rev_flag := 'N';
32799 END IF;
32800 EXCEPTION
32801 WHEN OTHERS THEN
32802 l_acc_rev_flag := 'N';
32803 END;
32804 --
32805 IF (l_acc_rev_flag = 'Y') THEN
32806
32807 -- 4645092 ------------------------------------------------------------------------------
32808 -- To allow MPA report to determine if it should generate report process
32809 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
32810 ------------------------------------------------------------------------------------------
32811
32812 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
32813 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
32814 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
32815 -- call ADRs
32816 -- Bug 4922099
32817 --
32818 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
32819 (NVL(l_actual_upg_option, 'N') = 'O') OR
32820 (NVL(l_enc_upg_option, 'N') = 'O')
32821 )
32822 THEN
32823 NULL;
32824 --
32825 --
32826
32827 l_ccid := AcctDerRule_38(
32828 p_application_id => p_application_id
32829 , p_ae_header_id => l_ae_header_id
32830 , p_source_30 => p_source_30
32831 , x_transaction_coa_id => l_adr_transaction_coa_id
32832 , x_accounting_coa_id => l_adr_accounting_coa_id
32833 , x_value_type_code => l_adr_value_type_code
32834 , p_side => 'NA'
32835 );
32836
32837 xla_ae_lines_pkg.set_ccid(
32838 p_code_combination_id => l_ccid
32839 , p_value_type_code => l_adr_value_type_code
32840 , p_transaction_coa_id => l_adr_transaction_coa_id
32841 , p_accounting_coa_id => l_adr_accounting_coa_id
32842 , p_adr_code => 'AP_PMT_CASH_CLEAR'
32843 , p_adr_type_code => 'S'
32844 , p_component_type => l_component_type
32845 , p_component_code => l_component_code
32846 , p_component_type_code => l_component_type_code
32847 , p_component_appl_id => l_component_appl_id
32848 , p_amb_context_code => l_amb_context_code
32849 , p_side => 'NA'
32850 );
32851
32852
32853 --
32854 --
32855 END IF;
32856
32857 --
32858 -- Update the line information that should be overwritten
32859 --
32860 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
32861 p_header_num => 1);
32862 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
32863
32864 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
32865
32866 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
32867 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
32868 END IF;
32869
32870 --
32871 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
32872 --
32873 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
32877 -- 4262811a Switch Sign
32874 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
32875 ELSE
32876 ---------------------------------------------------------------------------------------------------
32878 ---------------------------------------------------------------------------------------------------
32879 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
32880 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
32881 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
32882 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
32883 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
32884 -- 5132302
32885 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
32886 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
32887
32888 END IF;
32889
32890 -- 4955764
32891 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
32892 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
32893
32894
32895 XLA_AE_LINES_PKG.ValidateCurrentLine;
32896 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
32897
32898 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
32899 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
32900 ,p_balance_type_code => l_balance_type_code);
32901
32902 END IF;
32903
32904 -----------------------------------------------------------------------------------------
32905 -- 4262811 Multiperiod Accounting
32906 -----------------------------------------------------------------------------------------
32907 -- No MPA option is assigned.
32908
32909
32910 END IF;
32911 END IF;
32912 --
32913
32914 --
32915 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
32916 trace
32917 (p_msg => 'END of AcctLineType_88'
32918 ,p_level => C_LEVEL_PROCEDURE
32919 ,p_module => l_log_module);
32920 END IF;
32921 --
32922 EXCEPTION
32923 WHEN xla_exceptions_pkg.application_exception THEN
32924 RAISE;
32925 WHEN OTHERS THEN
32926 xla_exceptions_pkg.raise_message
32927 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_88');
32928 END AcctLineType_88;
32929 --
32930
32931 ---------------------------------------
32932 --
32933 -- PRIVATE FUNCTION
32934 -- AcctLineType_89
32935 --
32936 ---------------------------------------
32937 PROCEDURE AcctLineType_89 (
32938 p_application_id IN NUMBER
32939 ,p_event_id IN NUMBER
32940 ,p_calculate_acctd_flag IN VARCHAR2
32941 ,p_calculate_g_l_flag IN VARCHAR2
32942 ,p_actual_flag IN OUT VARCHAR2
32943 ,p_balance_type_code OUT VARCHAR2
32944 ,p_gain_or_loss_ref OUT VARCHAR2
32945
32946 --Payment Currency Code
32947 , p_source_8 IN VARCHAR2
32948 --Automatic Offsets Value
32949 , p_source_10 IN VARCHAR2
32950 , p_source_10_meaning IN VARCHAR2
32951 --Bank Cash Clearing Account
32952 , p_source_30 IN NUMBER
32953 --When to Account for Payment Option
32954 , p_source_57 IN VARCHAR2
32955 --Accounting Reversal Indicator
32956 , p_source_58 IN VARCHAR2
32957 --Distribution Link Type
32958 , p_source_60 IN VARCHAR2
32959 --Override Accounted Amount Indicator
32960 , p_source_85 IN VARCHAR2
32961 , p_source_85_meaning IN VARCHAR2
32962 --Third Party Type
32963 , p_source_88 IN VARCHAR2
32964 --Invoice Distribution Tax Line Identifier
32965 , p_source_91 IN NUMBER
32966 --Invoice Distribution Tax Distribution Identifier from Tax
32967 , p_source_92 IN NUMBER
32968 --Invoice Distribution Summary Tax Line Identifier
32969 , p_source_93 IN NUMBER
32970 --Business Flow Accounts Payable Application Identifier
32971 , p_source_96 IN NUMBER
32972 --Business Flow Invoice Distribution Type
32973 , p_source_97 IN VARCHAR2
32974 --Business Flow Invoice Entity Code
32975 , p_source_98 IN VARCHAR2
32976 --Business Flow Invoice Distribution Identifier
32977 , p_source_99 IN NUMBER
32978 --Business Flow Invoice Identifier
32979 , p_source_100 IN NUMBER
32980 --Payment Distribution Type
32981 , p_source_101 IN VARCHAR2
32982 , p_source_101_meaning IN VARCHAR2
32983 --Payment Distribution Amount
32984 , p_source_102 IN NUMBER
32985 --Payment Distribution Identifier
32986 , p_source_107 IN NUMBER
32987 --Payment Supplier Identifier
32988 , p_source_113 IN NUMBER
32989 --Payment Supplier Site Identifier
32990 , p_source_114 IN NUMBER
32991 --Payment Distribution Reversed Identifier
32992 , p_source_115 IN NUMBER
32993 --Pooled Bank Account Option
32994 , p_source_116 IN VARCHAR2
32995 , p_source_116_meaning IN VARCHAR2
32996 --Payment Maturity Date
32997 , p_source_117 IN DATE
33001 , p_source_120 IN DATE
32998 --Payment Distribution (Payment Rate) Ledger Amount
32999 , p_source_118 IN NUMBER
33000 --Payment Exchange Date
33002 --Payment Exchange Rate
33003 , p_source_121 IN NUMBER
33004 --Payment Exchange Rate Type
33005 , p_source_122 IN VARCHAR2
33006 --Payment Type
33007 , p_source_125 IN VARCHAR2
33008 , p_source_125_meaning IN VARCHAR2
33009 )
33010 IS
33011
33012 l_component_type VARCHAR2(80);
33013 l_component_code VARCHAR2(30);
33014 l_component_type_code VARCHAR2(1);
33015 l_component_appl_id INTEGER;
33016 l_amb_context_code VARCHAR2(30);
33017 l_entity_code VARCHAR2(30);
33018 l_event_class_code VARCHAR2(30);
33019 l_ae_header_id NUMBER;
33020 l_event_type_code VARCHAR2(30);
33021 l_line_definition_code VARCHAR2(30);
33022 l_line_definition_owner_code VARCHAR2(1);
33023 --
33024 -- adr variables
33025 l_segment VARCHAR2(30);
33026 l_ccid NUMBER;
33027 l_adr_transaction_coa_id NUMBER;
33028 l_adr_accounting_coa_id NUMBER;
33029 l_adr_flexfield_segment_code VARCHAR2(30);
33030 l_adr_flex_value_set_id NUMBER;
33031 l_adr_value_type_code VARCHAR2(30);
33032 l_adr_value_combination_id NUMBER;
33033 l_adr_value_segment_code VARCHAR2(30);
33034
33035 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
33036 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
33037 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
33038 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
33039
33040 -- 4262811 Variables ------------------------------------------------------------------------------------------
33041 l_entered_amt_idx NUMBER;
33042 l_accted_amt_idx NUMBER;
33043 l_acc_rev_flag VARCHAR2(1);
33044 l_accrual_line_num NUMBER;
33045 l_tmp_amt NUMBER;
33046 l_acc_rev_natural_side_code VARCHAR2(1);
33047
33048 l_num_entries NUMBER;
33049 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
33050 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
33051 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
33052 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
33053 l_recog_line_1 NUMBER;
33054 l_recog_line_2 NUMBER;
33055
33056 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
33057 l_bflow_applied_to_amt NUMBER; -- 5132302
33058 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
33059
33060 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
33061
33062 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
33063 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
33064
33065 ---------------------------------------------------------------------------------------------------------------
33066
33067
33068 --
33069 -- bulk performance
33070 --
33071 l_balance_type_code VARCHAR2(1);
33072 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
33073 l_log_module VARCHAR2(240);
33074
33075 --
33076 -- Upgrade strategy
33077 --
33078 l_actual_upg_option VARCHAR2(1);
33079 l_enc_upg_option VARCHAR2(1);
33080
33081 --
33082 BEGIN
33083 --
33084 IF g_log_enabled THEN
33085 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_89';
33086 END IF;
33087 --
33088 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
33089
33090 trace
33091 (p_msg => 'BEGIN of AcctLineType_89'
33092 ,p_level => C_LEVEL_PROCEDURE
33093 ,p_module => l_log_module);
33094
33095 END IF;
33096 --
33097 l_component_type := 'AMB_JLT';
33098 l_component_code := 'AP_CASH_CLEAR_REF_AOS_AS';
33099 l_component_type_code := 'S';
33100 l_component_appl_id := 200;
33101 l_amb_context_code := 'DEFAULT';
33102 l_entity_code := 'AP_PAYMENTS';
33103 l_event_class_code := 'REFUNDS';
33104 l_event_type_code := 'REFUNDS_ALL';
33105 l_line_definition_owner_code := 'S';
33106 l_line_definition_code := 'ACCRUAL_REFUNDS_ALL';
33107 --
33108 l_balance_type_code := 'A';
33109 l_segment := NULL;
33110 l_ccid := NULL;
33111 l_adr_transaction_coa_id := NULL;
33112 l_adr_accounting_coa_id := NULL;
33113 l_adr_flexfield_segment_code := NULL;
33114 l_adr_flex_value_set_id := NULL;
33115 l_adr_value_type_code := NULL;
33116 l_adr_value_combination_id := NULL;
33117 l_adr_value_segment_code := NULL;
33118
33119 l_bflow_method_code := 'SAME_ENTRY'; -- 4219869 Business Flow
33120 l_bflow_class_code := 'AP_CASH_CLEARING'; -- 4219869 Business Flow
33121 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
33122 l_budgetary_control_flag := 'N';
33123
33124 l_bflow_applied_to_amt_idx := NULL; -- 5132302
33125 l_bflow_applied_to_amt := NULL; -- 5132302
33126 l_entered_amt_idx := NULL; -- 4262811
33130 l_tmp_amt := NULL; -- 4262811
33127 l_accted_amt_idx := NULL; -- 4262811
33128 l_acc_rev_flag := NULL; -- 4262811
33129 l_accrual_line_num := NULL; -- 4262811
33131 --
33132
33133 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
33134 l_balance_type_code <> 'B' THEN
33135 IF NVL(p_source_57,'
33136 ') = 'ALWAYS_ALWAYS' AND
33137 (NVL(p_source_116,'
33138 ') = 'Y' AND
33139 NVL(p_source_10,'
33140 ') = 'ACCOUNT_SEGMENT_VALUE') AND
33141 p_source_117 IS NULL AND
33142 NVL(p_source_101,'
33143 ') = 'CASH' AND
33144 NVL(p_source_125,'
33145 ') = 'R'
33146 THEN
33147
33148 --
33149 XLA_AE_LINES_PKG.SetNewLine;
33150
33151 p_balance_type_code := l_balance_type_code;
33152 -- set the flag so later we will know whether the gain loss line needs to be created
33153
33154 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
33155 p_actual_flag :='A';
33156 END IF;
33157
33158 --
33159 -- bulk performance
33160 --
33161 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
33162 p_header_num => 0); -- 4262811
33163 --
33164 -- set accounting line options
33165 --
33166 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
33167 p_natural_side_code => 'C'
33168 , p_gain_or_loss_flag => 'N'
33169 , p_gl_transfer_mode_code => 'S'
33170 , p_acct_entry_type_code => 'A'
33171 , p_switch_side_flag => 'Y'
33172 , p_merge_duplicate_code => 'A'
33173 );
33174 --
33175 l_acc_rev_natural_side_code := 'D'; -- 4262811
33176 --
33177 --
33178 -- set accounting line type info
33179 --
33180 xla_ae_lines_pkg.SetAcctLineType
33181 (p_component_type => l_component_type
33182 ,p_event_type_code => l_event_type_code
33183 ,p_line_definition_owner_code => l_line_definition_owner_code
33184 ,p_line_definition_code => l_line_definition_code
33185 ,p_accounting_line_code => l_component_code
33186 ,p_accounting_line_type_code => l_component_type_code
33187 ,p_accounting_line_appl_id => l_component_appl_id
33188 ,p_amb_context_code => l_amb_context_code
33189 ,p_entity_code => l_entity_code
33190 ,p_event_class_code => l_event_class_code);
33191 --
33192 -- set accounting class
33193 --
33194 xla_ae_lines_pkg.SetAcctClass(
33195 p_accounting_class_code => 'CASH_CLEARING'
33196 , p_ae_header_id => l_ae_header_id
33197 );
33198
33199 --
33200 -- set rounding class
33201 --
33202 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
33203 'CASH_CLEARING';
33204
33205 --
33206 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
33207 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
33208 --
33209 -- bulk performance
33210 --
33211 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
33212
33213 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
33214 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
33215
33216 -- 4955764
33217 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
33218 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
33219
33220 -- 4458381 Public Sector Enh
33221
33222 --
33223 -- set accounting attributes for the line type
33224 --
33225 l_entered_amt_idx := 9;
33226 l_accted_amt_idx := 14;
33227 l_bflow_applied_to_amt_idx := NULL; -- 5132302
33228 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
33229 l_rec_acct_attrs.array_char_value(1) := p_source_58;
33230 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_APPLICATION_ID';
33231 l_rec_acct_attrs.array_num_value(2) := p_source_96;
33232 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_DISTRIBUTION_TYPE';
33233 l_rec_acct_attrs.array_char_value(3) := p_source_97;
33234 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_ENTITY_CODE';
33235 l_rec_acct_attrs.array_char_value(4) := p_source_98;
33236 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_FIRST_DIST_ID';
33237 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_99);
33238 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
33239 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_100);
33240 l_rec_acct_attrs.array_acct_attr_code(7) := 'DISTRIBUTION_IDENTIFIER_1';
33241 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_107);
33242 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_TYPE';
33243 l_rec_acct_attrs.array_char_value(8) := p_source_60;
33244 l_rec_acct_attrs.array_acct_attr_code(9) := 'ENTERED_CURRENCY_AMOUNT';
33245 l_rec_acct_attrs.array_num_value(9) := p_source_102;
33246 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_CODE';
33247 l_rec_acct_attrs.array_char_value(10) := p_source_8;
33248 l_rec_acct_attrs.array_acct_attr_code(11) := 'EXCHANGE_DATE';
33252 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE_TYPE';
33249 l_rec_acct_attrs.array_date_value(11) := p_source_120;
33250 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_RATE';
33251 l_rec_acct_attrs.array_num_value(12) := p_source_121;
33253 l_rec_acct_attrs.array_char_value(13) := p_source_122;
33254 l_rec_acct_attrs.array_acct_attr_code(14) := 'LEDGER_AMOUNT';
33255 l_rec_acct_attrs.array_num_value(14) := p_source_118;
33256 l_rec_acct_attrs.array_acct_attr_code(15) := 'OVERRIDE_ACCTD_AMT_FLAG';
33257 l_rec_acct_attrs.array_char_value(15) := p_source_85;
33258 l_rec_acct_attrs.array_acct_attr_code(16) := 'PARTY_ID';
33259 l_rec_acct_attrs.array_num_value(16) := p_source_113;
33260 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_SITE_ID';
33261 l_rec_acct_attrs.array_num_value(17) := p_source_114;
33262 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_TYPE';
33263 l_rec_acct_attrs.array_char_value(18) := p_source_88;
33264 l_rec_acct_attrs.array_acct_attr_code(19) := 'REVERSED_DISTRIBUTION_ID1';
33265 l_rec_acct_attrs.array_num_value(19) := to_char(p_source_115);
33266 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_TYPE';
33267 l_rec_acct_attrs.array_char_value(20) := p_source_60;
33268 l_rec_acct_attrs.array_acct_attr_code(21) := 'TAX_LINE_REF_ID';
33269 l_rec_acct_attrs.array_num_value(21) := p_source_91;
33270 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_REC_NREC_DIST_REF_ID';
33271 l_rec_acct_attrs.array_num_value(22) := p_source_92;
33272 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_SUMMARY_LINE_REF_ID';
33273 l_rec_acct_attrs.array_num_value(23) := p_source_93;
33274
33275 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
33276 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
33277
33278 ---------------------------------------------------------------------------------------------------------------
33279 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
33280 ---------------------------------------------------------------------------------------------------------------
33281 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
33282
33283 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
33284 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
33285
33286 IF xla_accounting_cache_pkg.GetValueChar
33287 (p_source_code => 'LEDGER_CATEGORY_CODE'
33288 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
33289 AND l_bflow_method_code = 'PRIOR_ENTRY'
33290 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
33291 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
33292 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
33293 )
33294 THEN
33295 xla_ae_lines_pkg.BflowUpgEntry
33296 (p_business_method_code => l_bflow_method_code
33297 ,p_business_class_code => l_bflow_class_code
33298 ,p_balance_type => l_balance_type_code);
33299 ELSE
33300 NULL;
33301 XLA_AE_LINES_PKG.business_flow_validation(
33302 p_business_method_code => l_bflow_method_code
33303 ,p_business_class_code => l_bflow_class_code
33304 ,p_inherit_description_flag => l_inherit_desc_flag);
33305 END IF;
33306
33307 --
33308 -- call analytical criteria
33309 --
33310
33311 --
33312 -- call description
33313 --
33314 -- No description or it is inherited.
33315 --
33316 -- call ADRs
33317 -- Bug 4922099
33318 --
33319 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
33320 (NVL(l_actual_upg_option, 'N') = 'O') OR
33321 (NVL(l_enc_upg_option, 'N') = 'O')
33322 )
33323 THEN
33324 NULL;
33325 --
33326 --
33327
33328 xla_ae_lines_pkg.Set_Ccid( -- replaced SetCcid
33329 p_code_combination_id => TO_NUMBER(C_NUM)
33330 , p_value_type_code => NULL
33331 , p_transaction_coa_id => null
33332 , p_accounting_coa_id => null
33333 , p_adr_code => NULL
33334 , p_adr_type_code => NULL
33335 , p_component_type => l_component_type
33336 , p_component_code => l_component_code
33337 , p_component_type_code => l_component_type_code
33338 , p_component_appl_id => l_component_appl_id
33339 , p_amb_context_code => l_amb_context_code
33340 , p_side => NULL
33341 );
33342
33343
33344 -- initialise segments
33345 XLA_AE_LINES_PKG.g_rec_lines.array_segment1(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
33346 XLA_AE_LINES_PKG.g_rec_lines.array_segment2(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
33347 XLA_AE_LINES_PKG.g_rec_lines.array_segment3(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
33348 XLA_AE_LINES_PKG.g_rec_lines.array_segment4(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
33349 XLA_AE_LINES_PKG.g_rec_lines.array_segment5(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
33350 XLA_AE_LINES_PKG.g_rec_lines.array_segment6(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
33351 XLA_AE_LINES_PKG.g_rec_lines.array_segment7(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
33355 XLA_AE_LINES_PKG.g_rec_lines.array_segment11(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
33352 XLA_AE_LINES_PKG.g_rec_lines.array_segment8(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
33353 XLA_AE_LINES_PKG.g_rec_lines.array_segment9(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
33354 XLA_AE_LINES_PKG.g_rec_lines.array_segment10(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
33356 XLA_AE_LINES_PKG.g_rec_lines.array_segment12(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
33357 XLA_AE_LINES_PKG.g_rec_lines.array_segment13(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
33358 XLA_AE_LINES_PKG.g_rec_lines.array_segment14(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
33359 XLA_AE_LINES_PKG.g_rec_lines.array_segment15(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
33360 XLA_AE_LINES_PKG.g_rec_lines.array_segment16(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
33361 XLA_AE_LINES_PKG.g_rec_lines.array_segment17(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
33362 XLA_AE_LINES_PKG.g_rec_lines.array_segment18(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
33363 XLA_AE_LINES_PKG.g_rec_lines.array_segment19(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
33364 XLA_AE_LINES_PKG.g_rec_lines.array_segment20(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
33365 XLA_AE_LINES_PKG.g_rec_lines.array_segment21(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
33366 XLA_AE_LINES_PKG.g_rec_lines.array_segment22(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
33367 XLA_AE_LINES_PKG.g_rec_lines.array_segment23(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
33368 XLA_AE_LINES_PKG.g_rec_lines.array_segment24(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
33369 XLA_AE_LINES_PKG.g_rec_lines.array_segment25(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
33370 XLA_AE_LINES_PKG.g_rec_lines.array_segment26(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
33371 XLA_AE_LINES_PKG.g_rec_lines.array_segment27(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
33372 XLA_AE_LINES_PKG.g_rec_lines.array_segment28(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
33373 XLA_AE_LINES_PKG.g_rec_lines.array_segment29(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
33374 XLA_AE_LINES_PKG.g_rec_lines.array_segment30(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
33375 --
33376
33377 --
33378
33379
33380 l_segment := AcctDerRule_16(
33381 p_application_id => p_application_id
33382 , p_ae_header_id => l_ae_header_id
33383 , p_source_30 => p_source_30
33384 , x_transaction_coa_id => l_adr_transaction_coa_id
33385 , x_accounting_coa_id => l_adr_accounting_coa_id
33386 , x_flexfield_segment_code => l_adr_flexfield_segment_code
33387 , x_flex_value_set_id => l_adr_flex_value_set_id
33388 , x_value_type_code => l_adr_value_type_code
33389 , x_value_combination_id => l_adr_value_combination_id
33390 , x_value_segment_code => l_adr_value_segment_code
33391 , p_side => 'NA'
33392 , p_override_seg_flag => 'Y'
33393 );
33394
33395 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
33396
33397 xla_ae_lines_pkg.set_segment(
33398 p_to_segment_code => 'GL_ACCOUNT'
33399 , p_segment_value => l_segment
33400 , p_from_segment_code => l_adr_value_segment_code
33401 , p_from_combination_id => l_adr_value_combination_id
33402 , p_value_type_code => l_adr_value_type_code
33403 , p_transaction_coa_id => l_adr_transaction_coa_id
33404 , p_accounting_coa_id => l_adr_accounting_coa_id
33405 , p_flexfield_segment_code => l_adr_flexfield_segment_code
33406 , p_flex_value_set_id => l_adr_flex_value_set_id
33407 , p_adr_code => 'AP_PMT_CASH_CLEAR_NAT_ACC_POOL'
33408 , p_adr_type_code => 'S'
33409 , p_component_type => l_component_type
33410 , p_component_code => l_component_code
33411 , p_component_type_code => l_component_type_code
33412 , p_component_appl_id => l_component_appl_id
33413 , p_amb_context_code => l_amb_context_code
33414 , p_entity_code => 'AP_PAYMENTS'
33415 , p_event_class_code => 'REFUNDS'
33416 , p_side => 'NA'
33417 );
33418
33419 END IF;
33420
33421 --
33422 --
33423 END IF;
33424 --
33425 -- Bug 4922099
33426 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
33427 (NVL(l_enc_upg_option, 'N') = 'O')
33428 ) AND
33429 (l_bflow_method_code = 'PRIOR_ENTRY')
33430 )
33431 THEN
33432 IF
33433 --
33434 1 = 2
33435 --
33436 THEN
33437 xla_accounting_err_pkg.build_message
33438 (p_appli_s_name => 'XLA'
33439 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
33440 ,p_token_1 => 'LINE_NUMBER'
33441 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
33442 ,p_token_2 => 'LINE_TYPE_NAME'
33443 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
33444 l_component_type
33445 ,l_component_code
33446 ,l_component_type_code
33447 ,l_component_appl_id
33451 )
33448 ,l_amb_context_code
33449 ,l_entity_code
33450 ,l_event_class_code
33452 ,p_token_3 => 'OWNER'
33453 ,p_value_3 => xla_lookups_pkg.get_meaning(
33454 p_lookup_type => 'XLA_OWNER_TYPE'
33455 ,p_lookup_code => l_component_type_code
33456 )
33457 ,p_token_4 => 'PRODUCT_NAME'
33458 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
33459 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
33460 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
33461 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
33462 ,p_ae_header_id => NULL
33463 );
33464
33465 IF (C_LEVEL_ERROR>= g_log_level) THEN
33466 trace
33467 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
33468 ,p_level => C_LEVEL_ERROR
33469 ,p_module => l_log_module);
33470 END IF;
33471 END IF;
33472 END IF;
33473 --
33474 --
33475 ------------------------------------------------------------------------------------------------
33476 -- 4219869 Business Flow
33477 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
33478 -- Prior Entry. Currently, the following code is always generated.
33479 ------------------------------------------------------------------------------------------------
33480 XLA_AE_LINES_PKG.ValidateCurrentLine;
33481
33482 ------------------------------------------------------------------------------------
33483 -- 4219869 Business Flow
33484 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
33485 ------------------------------------------------------------------------------------
33486 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
33487
33488 ----------------------------------------------------------------------------------
33489 -- 4219869 Business Flow
33490 -- Update journal entry status -- Need to generate this within IF <condition>
33491 ----------------------------------------------------------------------------------
33492 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
33493 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
33494 ,p_balance_type_code => l_balance_type_code
33495 );
33496
33497 -------------------------------------------------------------------------------------------
33498 -- 4262811 - Generate the Accrual Reversal lines
33499 -------------------------------------------------------------------------------------------
33500 BEGIN
33501 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
33502 (g_array_event(p_event_id).array_value_num('header_index'));
33503 IF l_acc_rev_flag IS NULL THEN
33504 l_acc_rev_flag := 'N';
33505 END IF;
33506 EXCEPTION
33507 WHEN OTHERS THEN
33508 l_acc_rev_flag := 'N';
33509 END;
33510 --
33511 IF (l_acc_rev_flag = 'Y') THEN
33512
33513 -- 4645092 ------------------------------------------------------------------------------
33514 -- To allow MPA report to determine if it should generate report process
33515 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
33516 ------------------------------------------------------------------------------------------
33517
33518 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
33519 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
33520 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
33521 -- call ADRs
33522 -- Bug 4922099
33523 --
33524 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
33525 (NVL(l_actual_upg_option, 'N') = 'O') OR
33526 (NVL(l_enc_upg_option, 'N') = 'O')
33527 )
33528 THEN
33529 NULL;
33530 --
33531 --
33532
33533 xla_ae_lines_pkg.Set_Ccid( -- replaced SetCcid
33534 p_code_combination_id => TO_NUMBER(C_NUM)
33535 , p_value_type_code => NULL
33536 , p_transaction_coa_id => null
33537 , p_accounting_coa_id => null
33538 , p_adr_code => NULL
33539 , p_adr_type_code => NULL
33540 , p_component_type => l_component_type
33541 , p_component_code => l_component_code
33542 , p_component_type_code => l_component_type_code
33543 , p_component_appl_id => l_component_appl_id
33544 , p_amb_context_code => l_amb_context_code
33545 , p_side => NULL
33546 );
33547
33548
33552 XLA_AE_LINES_PKG.g_rec_lines.array_segment3(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
33549 -- initialise segments
33550 XLA_AE_LINES_PKG.g_rec_lines.array_segment1(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
33551 XLA_AE_LINES_PKG.g_rec_lines.array_segment2(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
33553 XLA_AE_LINES_PKG.g_rec_lines.array_segment4(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
33554 XLA_AE_LINES_PKG.g_rec_lines.array_segment5(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
33555 XLA_AE_LINES_PKG.g_rec_lines.array_segment6(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
33556 XLA_AE_LINES_PKG.g_rec_lines.array_segment7(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
33557 XLA_AE_LINES_PKG.g_rec_lines.array_segment8(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
33558 XLA_AE_LINES_PKG.g_rec_lines.array_segment9(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
33559 XLA_AE_LINES_PKG.g_rec_lines.array_segment10(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
33560 XLA_AE_LINES_PKG.g_rec_lines.array_segment11(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
33561 XLA_AE_LINES_PKG.g_rec_lines.array_segment12(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
33562 XLA_AE_LINES_PKG.g_rec_lines.array_segment13(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
33563 XLA_AE_LINES_PKG.g_rec_lines.array_segment14(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
33564 XLA_AE_LINES_PKG.g_rec_lines.array_segment15(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
33565 XLA_AE_LINES_PKG.g_rec_lines.array_segment16(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
33566 XLA_AE_LINES_PKG.g_rec_lines.array_segment17(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
33567 XLA_AE_LINES_PKG.g_rec_lines.array_segment18(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
33568 XLA_AE_LINES_PKG.g_rec_lines.array_segment19(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
33569 XLA_AE_LINES_PKG.g_rec_lines.array_segment20(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
33570 XLA_AE_LINES_PKG.g_rec_lines.array_segment21(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
33571 XLA_AE_LINES_PKG.g_rec_lines.array_segment22(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
33572 XLA_AE_LINES_PKG.g_rec_lines.array_segment23(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
33573 XLA_AE_LINES_PKG.g_rec_lines.array_segment24(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
33574 XLA_AE_LINES_PKG.g_rec_lines.array_segment25(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
33575 XLA_AE_LINES_PKG.g_rec_lines.array_segment26(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
33576 XLA_AE_LINES_PKG.g_rec_lines.array_segment27(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
33577 XLA_AE_LINES_PKG.g_rec_lines.array_segment28(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
33578 XLA_AE_LINES_PKG.g_rec_lines.array_segment29(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
33579 XLA_AE_LINES_PKG.g_rec_lines.array_segment30(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
33580 --
33581
33582 --
33583
33584
33585 l_segment := AcctDerRule_16(
33586 p_application_id => p_application_id
33587 , p_ae_header_id => l_ae_header_id
33588 , p_source_30 => p_source_30
33589 , x_transaction_coa_id => l_adr_transaction_coa_id
33590 , x_accounting_coa_id => l_adr_accounting_coa_id
33591 , x_flexfield_segment_code => l_adr_flexfield_segment_code
33592 , x_flex_value_set_id => l_adr_flex_value_set_id
33593 , x_value_type_code => l_adr_value_type_code
33594 , x_value_combination_id => l_adr_value_combination_id
33595 , x_value_segment_code => l_adr_value_segment_code
33596 , p_side => 'NA'
33597 , p_override_seg_flag => 'Y'
33598 );
33599
33600 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
33601
33602 xla_ae_lines_pkg.set_segment(
33603 p_to_segment_code => 'GL_ACCOUNT'
33604 , p_segment_value => l_segment
33605 , p_from_segment_code => l_adr_value_segment_code
33606 , p_from_combination_id => l_adr_value_combination_id
33607 , p_value_type_code => l_adr_value_type_code
33608 , p_transaction_coa_id => l_adr_transaction_coa_id
33609 , p_accounting_coa_id => l_adr_accounting_coa_id
33610 , p_flexfield_segment_code => l_adr_flexfield_segment_code
33611 , p_flex_value_set_id => l_adr_flex_value_set_id
33612 , p_adr_code => 'AP_PMT_CASH_CLEAR_NAT_ACC_POOL'
33613 , p_adr_type_code => 'S'
33614 , p_component_type => l_component_type
33615 , p_component_code => l_component_code
33616 , p_component_type_code => l_component_type_code
33617 , p_component_appl_id => l_component_appl_id
33618 , p_amb_context_code => l_amb_context_code
33619 , p_entity_code => 'AP_PAYMENTS'
33620 , p_event_class_code => 'REFUNDS'
33621 , p_side => 'NA'
33622 );
33623
33624 END IF;
33625
33626 --
33627 --
33628 END IF;
33629
33630 --
33631 -- Update the line information that should be overwritten
33632 --
33633 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
33634 p_header_num => 1);
33635 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
33636
33637 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
33638
33639 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
33643 --
33640 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
33641 END IF;
33642
33644 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
33645 --
33646 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
33647 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
33648 ELSE
33649 ---------------------------------------------------------------------------------------------------
33650 -- 4262811a Switch Sign
33651 ---------------------------------------------------------------------------------------------------
33652 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
33653 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
33654 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
33655 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
33656 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
33657 -- 5132302
33658 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
33659 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
33660
33661 END IF;
33662
33663 -- 4955764
33664 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
33665 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
33666
33667
33668 XLA_AE_LINES_PKG.ValidateCurrentLine;
33669 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
33670
33671 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
33672 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
33673 ,p_balance_type_code => l_balance_type_code);
33674
33675 END IF;
33676
33677 -----------------------------------------------------------------------------------------
33678 -- 4262811 Multiperiod Accounting
33679 -----------------------------------------------------------------------------------------
33680 -- No MPA option is assigned.
33681
33682
33683 END IF;
33684 END IF;
33685 --
33686
33687 --
33688 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
33689 trace
33690 (p_msg => 'END of AcctLineType_89'
33691 ,p_level => C_LEVEL_PROCEDURE
33692 ,p_module => l_log_module);
33693 END IF;
33694 --
33695 EXCEPTION
33696 WHEN xla_exceptions_pkg.application_exception THEN
33697 RAISE;
33698 WHEN OTHERS THEN
33699 xla_exceptions_pkg.raise_message
33700 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_89');
33701 END AcctLineType_89;
33702 --
33703
33704 ---------------------------------------
33705 --
33706 -- PRIVATE FUNCTION
33707 -- AcctLineType_90
33708 --
33709 ---------------------------------------
33710 PROCEDURE AcctLineType_90 (
33711 p_application_id IN NUMBER
33712 ,p_event_id IN NUMBER
33713 ,p_calculate_acctd_flag IN VARCHAR2
33714 ,p_calculate_g_l_flag IN VARCHAR2
33715 ,p_actual_flag IN OUT VARCHAR2
33716 ,p_balance_type_code OUT VARCHAR2
33717 ,p_gain_or_loss_ref OUT VARCHAR2
33718
33719 --Payment Currency Code
33720 , p_source_8 IN VARCHAR2
33721 --Automatic Offsets Value
33722 , p_source_10 IN VARCHAR2
33723 , p_source_10_meaning IN VARCHAR2
33724 --Bank Cash Clearing Account
33725 , p_source_30 IN NUMBER
33726 --When to Account for Payment Option
33727 , p_source_57 IN VARCHAR2
33728 --Accounting Reversal Indicator
33729 , p_source_58 IN VARCHAR2
33730 --Distribution Link Type
33731 , p_source_60 IN VARCHAR2
33732 --Override Accounted Amount Indicator
33733 , p_source_85 IN VARCHAR2
33734 , p_source_85_meaning IN VARCHAR2
33735 --Third Party Type
33736 , p_source_88 IN VARCHAR2
33737 --Invoice Distribution Tax Line Identifier
33738 , p_source_91 IN NUMBER
33739 --Invoice Distribution Tax Distribution Identifier from Tax
33740 , p_source_92 IN NUMBER
33741 --Invoice Distribution Summary Tax Line Identifier
33742 , p_source_93 IN NUMBER
33743 --Business Flow Accounts Payable Application Identifier
33744 , p_source_96 IN NUMBER
33745 --Business Flow Invoice Distribution Type
33746 , p_source_97 IN VARCHAR2
33747 --Business Flow Invoice Entity Code
33748 , p_source_98 IN VARCHAR2
33749 --Business Flow Invoice Distribution Identifier
33750 , p_source_99 IN NUMBER
33751 --Business Flow Invoice Identifier
33752 , p_source_100 IN NUMBER
33753 --Payment Distribution Type
33754 , p_source_101 IN VARCHAR2
33755 , p_source_101_meaning IN VARCHAR2
33756 --Payment Distribution Amount
33757 , p_source_102 IN NUMBER
33758 --Payment Distribution Identifier
33759 , p_source_107 IN NUMBER
33760 --Payment Supplier Identifier
33761 , p_source_113 IN NUMBER
33765 , p_source_115 IN NUMBER
33762 --Payment Supplier Site Identifier
33763 , p_source_114 IN NUMBER
33764 --Payment Distribution Reversed Identifier
33766 --Pooled Bank Account Option
33767 , p_source_116 IN VARCHAR2
33768 , p_source_116_meaning IN VARCHAR2
33769 --Payment Maturity Date
33770 , p_source_117 IN DATE
33771 --Payment Distribution (Payment Rate) Ledger Amount
33772 , p_source_118 IN NUMBER
33773 --Payment Exchange Date
33774 , p_source_120 IN DATE
33775 --Payment Exchange Rate
33776 , p_source_121 IN NUMBER
33777 --Payment Exchange Rate Type
33778 , p_source_122 IN VARCHAR2
33779 --Payment Type
33780 , p_source_125 IN VARCHAR2
33781 , p_source_125_meaning IN VARCHAR2
33782 )
33783 IS
33784
33785 l_component_type VARCHAR2(80);
33786 l_component_code VARCHAR2(30);
33787 l_component_type_code VARCHAR2(1);
33788 l_component_appl_id INTEGER;
33789 l_amb_context_code VARCHAR2(30);
33790 l_entity_code VARCHAR2(30);
33791 l_event_class_code VARCHAR2(30);
33792 l_ae_header_id NUMBER;
33793 l_event_type_code VARCHAR2(30);
33794 l_line_definition_code VARCHAR2(30);
33795 l_line_definition_owner_code VARCHAR2(1);
33796 --
33797 -- adr variables
33798 l_segment VARCHAR2(30);
33799 l_ccid NUMBER;
33800 l_adr_transaction_coa_id NUMBER;
33801 l_adr_accounting_coa_id NUMBER;
33802 l_adr_flexfield_segment_code VARCHAR2(30);
33803 l_adr_flex_value_set_id NUMBER;
33804 l_adr_value_type_code VARCHAR2(30);
33805 l_adr_value_combination_id NUMBER;
33806 l_adr_value_segment_code VARCHAR2(30);
33807
33808 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
33809 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
33810 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
33811 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
33812
33813 -- 4262811 Variables ------------------------------------------------------------------------------------------
33814 l_entered_amt_idx NUMBER;
33815 l_accted_amt_idx NUMBER;
33816 l_acc_rev_flag VARCHAR2(1);
33817 l_accrual_line_num NUMBER;
33818 l_tmp_amt NUMBER;
33819 l_acc_rev_natural_side_code VARCHAR2(1);
33820
33821 l_num_entries NUMBER;
33822 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
33823 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
33824 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
33825 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
33826 l_recog_line_1 NUMBER;
33827 l_recog_line_2 NUMBER;
33828
33829 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
33830 l_bflow_applied_to_amt NUMBER; -- 5132302
33831 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
33832
33833 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
33834
33835 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
33836 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
33837
33838 ---------------------------------------------------------------------------------------------------------------
33839
33840
33841 --
33842 -- bulk performance
33843 --
33844 l_balance_type_code VARCHAR2(1);
33845 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
33846 l_log_module VARCHAR2(240);
33847
33848 --
33849 -- Upgrade strategy
33850 --
33851 l_actual_upg_option VARCHAR2(1);
33852 l_enc_upg_option VARCHAR2(1);
33853
33854 --
33855 BEGIN
33856 --
33857 IF g_log_enabled THEN
33858 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_90';
33859 END IF;
33860 --
33861 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
33862
33863 trace
33864 (p_msg => 'BEGIN of AcctLineType_90'
33865 ,p_level => C_LEVEL_PROCEDURE
33866 ,p_module => l_log_module);
33867
33868 END IF;
33869 --
33870 l_component_type := 'AMB_JLT';
33871 l_component_code := 'AP_CASH_CLEAR_REF_AOS_BS';
33872 l_component_type_code := 'S';
33873 l_component_appl_id := 200;
33874 l_amb_context_code := 'DEFAULT';
33875 l_entity_code := 'AP_PAYMENTS';
33876 l_event_class_code := 'REFUNDS';
33877 l_event_type_code := 'REFUNDS_ALL';
33878 l_line_definition_owner_code := 'S';
33879 l_line_definition_code := 'ACCRUAL_REFUNDS_ALL';
33880 --
33881 l_balance_type_code := 'A';
33882 l_segment := NULL;
33883 l_ccid := NULL;
33884 l_adr_transaction_coa_id := NULL;
33885 l_adr_accounting_coa_id := NULL;
33886 l_adr_flexfield_segment_code := NULL;
33887 l_adr_flex_value_set_id := NULL;
33888 l_adr_value_type_code := NULL;
33889 l_adr_value_combination_id := NULL;
33890 l_adr_value_segment_code := NULL;
33891
33892 l_bflow_method_code := 'SAME_ENTRY'; -- 4219869 Business Flow
33896
33893 l_bflow_class_code := 'AP_CASH_CLEARING'; -- 4219869 Business Flow
33894 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
33895 l_budgetary_control_flag := 'N';
33897 l_bflow_applied_to_amt_idx := NULL; -- 5132302
33898 l_bflow_applied_to_amt := NULL; -- 5132302
33899 l_entered_amt_idx := NULL; -- 4262811
33900 l_accted_amt_idx := NULL; -- 4262811
33901 l_acc_rev_flag := NULL; -- 4262811
33902 l_accrual_line_num := NULL; -- 4262811
33903 l_tmp_amt := NULL; -- 4262811
33904 --
33905
33906 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
33907 l_balance_type_code <> 'B' THEN
33908 IF NVL(p_source_57,'
33909 ') = 'ALWAYS_ALWAYS' AND
33910 (NVL(p_source_116,'
33911 ') = 'Y' AND
33912 NVL(p_source_10,'
33913 ') = 'BALANCING_SEGMENT') AND
33914 p_source_117 IS NULL AND
33915 NVL(p_source_101,'
33916 ') = 'CASH' AND
33917 NVL(p_source_125,'
33918 ') = 'R'
33919 THEN
33920
33921 --
33922 XLA_AE_LINES_PKG.SetNewLine;
33923
33924 p_balance_type_code := l_balance_type_code;
33925 -- set the flag so later we will know whether the gain loss line needs to be created
33926
33927 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
33928 p_actual_flag :='A';
33929 END IF;
33930
33931 --
33932 -- bulk performance
33933 --
33934 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
33935 p_header_num => 0); -- 4262811
33936 --
33937 -- set accounting line options
33938 --
33939 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
33940 p_natural_side_code => 'C'
33941 , p_gain_or_loss_flag => 'N'
33942 , p_gl_transfer_mode_code => 'S'
33943 , p_acct_entry_type_code => 'A'
33944 , p_switch_side_flag => 'Y'
33945 , p_merge_duplicate_code => 'A'
33946 );
33947 --
33948 l_acc_rev_natural_side_code := 'D'; -- 4262811
33949 --
33950 --
33951 -- set accounting line type info
33952 --
33953 xla_ae_lines_pkg.SetAcctLineType
33954 (p_component_type => l_component_type
33955 ,p_event_type_code => l_event_type_code
33956 ,p_line_definition_owner_code => l_line_definition_owner_code
33957 ,p_line_definition_code => l_line_definition_code
33958 ,p_accounting_line_code => l_component_code
33959 ,p_accounting_line_type_code => l_component_type_code
33960 ,p_accounting_line_appl_id => l_component_appl_id
33961 ,p_amb_context_code => l_amb_context_code
33962 ,p_entity_code => l_entity_code
33963 ,p_event_class_code => l_event_class_code);
33964 --
33965 -- set accounting class
33966 --
33967 xla_ae_lines_pkg.SetAcctClass(
33968 p_accounting_class_code => 'CASH_CLEARING'
33969 , p_ae_header_id => l_ae_header_id
33970 );
33971
33972 --
33973 -- set rounding class
33974 --
33975 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
33976 'CASH_CLEARING';
33977
33978 --
33979 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
33980 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
33981 --
33982 -- bulk performance
33983 --
33984 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
33985
33986 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
33987 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
33988
33989 -- 4955764
33990 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
33991 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
33992
33993 -- 4458381 Public Sector Enh
33994
33995 --
33996 -- set accounting attributes for the line type
33997 --
33998 l_entered_amt_idx := 9;
33999 l_accted_amt_idx := 14;
34000 l_bflow_applied_to_amt_idx := NULL; -- 5132302
34001 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
34002 l_rec_acct_attrs.array_char_value(1) := p_source_58;
34003 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_APPLICATION_ID';
34004 l_rec_acct_attrs.array_num_value(2) := p_source_96;
34005 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_DISTRIBUTION_TYPE';
34006 l_rec_acct_attrs.array_char_value(3) := p_source_97;
34007 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_ENTITY_CODE';
34008 l_rec_acct_attrs.array_char_value(4) := p_source_98;
34009 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_FIRST_DIST_ID';
34010 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_99);
34011 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
34012 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_100);
34013 l_rec_acct_attrs.array_acct_attr_code(7) := 'DISTRIBUTION_IDENTIFIER_1';
34014 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_107);
34015 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_TYPE';
34019 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_CODE';
34016 l_rec_acct_attrs.array_char_value(8) := p_source_60;
34017 l_rec_acct_attrs.array_acct_attr_code(9) := 'ENTERED_CURRENCY_AMOUNT';
34018 l_rec_acct_attrs.array_num_value(9) := p_source_102;
34020 l_rec_acct_attrs.array_char_value(10) := p_source_8;
34021 l_rec_acct_attrs.array_acct_attr_code(11) := 'EXCHANGE_DATE';
34022 l_rec_acct_attrs.array_date_value(11) := p_source_120;
34023 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_RATE';
34024 l_rec_acct_attrs.array_num_value(12) := p_source_121;
34025 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE_TYPE';
34026 l_rec_acct_attrs.array_char_value(13) := p_source_122;
34027 l_rec_acct_attrs.array_acct_attr_code(14) := 'LEDGER_AMOUNT';
34028 l_rec_acct_attrs.array_num_value(14) := p_source_118;
34029 l_rec_acct_attrs.array_acct_attr_code(15) := 'OVERRIDE_ACCTD_AMT_FLAG';
34030 l_rec_acct_attrs.array_char_value(15) := p_source_85;
34031 l_rec_acct_attrs.array_acct_attr_code(16) := 'PARTY_ID';
34032 l_rec_acct_attrs.array_num_value(16) := p_source_113;
34033 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_SITE_ID';
34034 l_rec_acct_attrs.array_num_value(17) := p_source_114;
34035 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_TYPE';
34036 l_rec_acct_attrs.array_char_value(18) := p_source_88;
34037 l_rec_acct_attrs.array_acct_attr_code(19) := 'REVERSED_DISTRIBUTION_ID1';
34038 l_rec_acct_attrs.array_num_value(19) := to_char(p_source_115);
34039 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_TYPE';
34040 l_rec_acct_attrs.array_char_value(20) := p_source_60;
34041 l_rec_acct_attrs.array_acct_attr_code(21) := 'TAX_LINE_REF_ID';
34042 l_rec_acct_attrs.array_num_value(21) := p_source_91;
34043 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_REC_NREC_DIST_REF_ID';
34044 l_rec_acct_attrs.array_num_value(22) := p_source_92;
34045 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_SUMMARY_LINE_REF_ID';
34046 l_rec_acct_attrs.array_num_value(23) := p_source_93;
34047
34048 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
34049 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
34050
34051 ---------------------------------------------------------------------------------------------------------------
34052 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
34053 ---------------------------------------------------------------------------------------------------------------
34054 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
34055
34056 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
34057 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
34058
34059 IF xla_accounting_cache_pkg.GetValueChar
34060 (p_source_code => 'LEDGER_CATEGORY_CODE'
34061 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
34062 AND l_bflow_method_code = 'PRIOR_ENTRY'
34063 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
34064 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
34065 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
34066 )
34067 THEN
34068 xla_ae_lines_pkg.BflowUpgEntry
34069 (p_business_method_code => l_bflow_method_code
34070 ,p_business_class_code => l_bflow_class_code
34071 ,p_balance_type => l_balance_type_code);
34072 ELSE
34073 NULL;
34074 XLA_AE_LINES_PKG.business_flow_validation(
34075 p_business_method_code => l_bflow_method_code
34076 ,p_business_class_code => l_bflow_class_code
34077 ,p_inherit_description_flag => l_inherit_desc_flag);
34078 END IF;
34079
34080 --
34081 -- call analytical criteria
34082 --
34083
34084 --
34085 -- call description
34086 --
34087 -- No description or it is inherited.
34088 --
34089 -- call ADRs
34090 -- Bug 4922099
34091 --
34092 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
34093 (NVL(l_actual_upg_option, 'N') = 'O') OR
34094 (NVL(l_enc_upg_option, 'N') = 'O')
34095 )
34096 THEN
34097 NULL;
34098 --
34099 --
34100
34101 l_ccid := AcctDerRule_38(
34102 p_application_id => p_application_id
34103 , p_ae_header_id => l_ae_header_id
34104 , p_source_30 => p_source_30
34105 , x_transaction_coa_id => l_adr_transaction_coa_id
34106 , x_accounting_coa_id => l_adr_accounting_coa_id
34107 , x_value_type_code => l_adr_value_type_code
34108 , p_side => 'NA'
34109 );
34110
34111 xla_ae_lines_pkg.set_ccid(
34112 p_code_combination_id => l_ccid
34113 , p_value_type_code => l_adr_value_type_code
34114 , p_transaction_coa_id => l_adr_transaction_coa_id
34115 , p_accounting_coa_id => l_adr_accounting_coa_id
34116 , p_adr_code => 'AP_PMT_CASH_CLEAR'
34117 , p_adr_type_code => 'S'
34118 , p_component_type => l_component_type
34119 , p_component_code => l_component_code
34123 , p_side => 'NA'
34120 , p_component_type_code => l_component_type_code
34121 , p_component_appl_id => l_component_appl_id
34122 , p_amb_context_code => l_amb_context_code
34124 );
34125
34126
34127 xla_ae_lines_pkg.Set_Segment( -- replaced SetSegment
34128 p_to_segment_code => 'GL_BALANCING'
34129 , p_segment_value => C_CHAR
34130 , p_from_segment_code => NULL
34131 , p_from_combination_id => NULL
34132 , p_value_type_code => NULL
34133 , p_transaction_coa_id => null
34134 , p_accounting_coa_id => null
34135 , p_flexfield_segment_code => NULL
34136 , p_flex_value_set_id => NULL
34137 , p_adr_code => NULL
34138 , p_adr_type_code => NULL
34139 , p_component_type => l_component_type
34140 , p_component_code => l_component_code
34141 , p_component_type_code => l_component_type_code
34142 , p_component_appl_id => l_component_appl_id
34143 , p_amb_context_code => l_amb_context_code
34144 , p_entity_code => 'AP_PAYMENTS'
34145 , p_event_class_code => 'REFUNDS'
34146 , p_side => 'NA'
34147 );
34148 --
34149
34150
34151 --
34152 --
34153 END IF;
34154 --
34155 -- Bug 4922099
34156 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
34157 (NVL(l_enc_upg_option, 'N') = 'O')
34158 ) AND
34159 (l_bflow_method_code = 'PRIOR_ENTRY')
34160 )
34161 THEN
34162 IF
34163 --
34164 1 = 2
34165 --
34166 THEN
34167 xla_accounting_err_pkg.build_message
34168 (p_appli_s_name => 'XLA'
34169 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
34170 ,p_token_1 => 'LINE_NUMBER'
34171 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
34172 ,p_token_2 => 'LINE_TYPE_NAME'
34173 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
34174 l_component_type
34175 ,l_component_code
34176 ,l_component_type_code
34177 ,l_component_appl_id
34178 ,l_amb_context_code
34179 ,l_entity_code
34180 ,l_event_class_code
34181 )
34182 ,p_token_3 => 'OWNER'
34183 ,p_value_3 => xla_lookups_pkg.get_meaning(
34184 p_lookup_type => 'XLA_OWNER_TYPE'
34185 ,p_lookup_code => l_component_type_code
34186 )
34187 ,p_token_4 => 'PRODUCT_NAME'
34188 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
34189 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
34190 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
34191 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
34192 ,p_ae_header_id => NULL
34193 );
34194
34195 IF (C_LEVEL_ERROR>= g_log_level) THEN
34196 trace
34197 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
34198 ,p_level => C_LEVEL_ERROR
34199 ,p_module => l_log_module);
34200 END IF;
34201 END IF;
34202 END IF;
34203 --
34204 --
34205 ------------------------------------------------------------------------------------------------
34206 -- 4219869 Business Flow
34207 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
34208 -- Prior Entry. Currently, the following code is always generated.
34209 ------------------------------------------------------------------------------------------------
34210 XLA_AE_LINES_PKG.ValidateCurrentLine;
34211
34212 ------------------------------------------------------------------------------------
34213 -- 4219869 Business Flow
34214 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
34215 ------------------------------------------------------------------------------------
34216 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
34217
34218 ----------------------------------------------------------------------------------
34219 -- 4219869 Business Flow
34220 -- Update journal entry status -- Need to generate this within IF <condition>
34221 ----------------------------------------------------------------------------------
34225 );
34222 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
34223 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
34224 ,p_balance_type_code => l_balance_type_code
34226
34227 -------------------------------------------------------------------------------------------
34228 -- 4262811 - Generate the Accrual Reversal lines
34229 -------------------------------------------------------------------------------------------
34230 BEGIN
34231 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
34232 (g_array_event(p_event_id).array_value_num('header_index'));
34233 IF l_acc_rev_flag IS NULL THEN
34234 l_acc_rev_flag := 'N';
34235 END IF;
34236 EXCEPTION
34237 WHEN OTHERS THEN
34238 l_acc_rev_flag := 'N';
34239 END;
34240 --
34241 IF (l_acc_rev_flag = 'Y') THEN
34242
34243 -- 4645092 ------------------------------------------------------------------------------
34244 -- To allow MPA report to determine if it should generate report process
34245 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
34246 ------------------------------------------------------------------------------------------
34247
34248 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
34249 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
34250 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
34251 -- call ADRs
34252 -- Bug 4922099
34253 --
34254 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
34255 (NVL(l_actual_upg_option, 'N') = 'O') OR
34256 (NVL(l_enc_upg_option, 'N') = 'O')
34257 )
34258 THEN
34259 NULL;
34260 --
34261 --
34262
34263 l_ccid := AcctDerRule_38(
34264 p_application_id => p_application_id
34265 , p_ae_header_id => l_ae_header_id
34266 , p_source_30 => p_source_30
34267 , x_transaction_coa_id => l_adr_transaction_coa_id
34268 , x_accounting_coa_id => l_adr_accounting_coa_id
34269 , x_value_type_code => l_adr_value_type_code
34270 , p_side => 'NA'
34271 );
34272
34273 xla_ae_lines_pkg.set_ccid(
34274 p_code_combination_id => l_ccid
34275 , p_value_type_code => l_adr_value_type_code
34276 , p_transaction_coa_id => l_adr_transaction_coa_id
34277 , p_accounting_coa_id => l_adr_accounting_coa_id
34278 , p_adr_code => 'AP_PMT_CASH_CLEAR'
34279 , p_adr_type_code => 'S'
34280 , p_component_type => l_component_type
34281 , p_component_code => l_component_code
34282 , p_component_type_code => l_component_type_code
34283 , p_component_appl_id => l_component_appl_id
34284 , p_amb_context_code => l_amb_context_code
34285 , p_side => 'NA'
34286 );
34287
34288
34289 xla_ae_lines_pkg.Set_Segment( -- replaced SetSegment
34290 p_to_segment_code => 'GL_BALANCING'
34291 , p_segment_value => C_CHAR
34292 , p_from_segment_code => NULL
34293 , p_from_combination_id => NULL
34294 , p_value_type_code => NULL
34295 , p_transaction_coa_id => null
34296 , p_accounting_coa_id => null
34297 , p_flexfield_segment_code => NULL
34298 , p_flex_value_set_id => NULL
34299 , p_adr_code => NULL
34300 , p_adr_type_code => NULL
34301 , p_component_type => l_component_type
34302 , p_component_code => l_component_code
34303 , p_component_type_code => l_component_type_code
34304 , p_component_appl_id => l_component_appl_id
34305 , p_amb_context_code => l_amb_context_code
34306 , p_entity_code => 'AP_PAYMENTS'
34307 , p_event_class_code => 'REFUNDS'
34308 , p_side => 'NA'
34309 );
34310 --
34311
34312
34313 --
34314 --
34315 END IF;
34316
34317 --
34318 -- Update the line information that should be overwritten
34319 --
34320 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
34321 p_header_num => 1);
34322 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
34323
34324 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
34325
34326 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
34327 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
34328 END IF;
34329
34330 --
34331 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
34332 --
34333 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
34334 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
34335 ELSE
34336 ---------------------------------------------------------------------------------------------------
34337 -- 4262811a Switch Sign
34338 ---------------------------------------------------------------------------------------------------
34342 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
34339 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
34340 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
34341 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
34343 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
34344 -- 5132302
34345 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
34346 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
34347
34348 END IF;
34349
34350 -- 4955764
34351 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
34352 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
34353
34354
34355 XLA_AE_LINES_PKG.ValidateCurrentLine;
34356 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
34357
34358 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
34359 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
34360 ,p_balance_type_code => l_balance_type_code);
34361
34362 END IF;
34363
34364 -----------------------------------------------------------------------------------------
34365 -- 4262811 Multiperiod Accounting
34366 -----------------------------------------------------------------------------------------
34367 -- No MPA option is assigned.
34368
34369
34370 END IF;
34371 END IF;
34372 --
34373
34374 --
34375 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
34376 trace
34377 (p_msg => 'END of AcctLineType_90'
34378 ,p_level => C_LEVEL_PROCEDURE
34379 ,p_module => l_log_module);
34380 END IF;
34381 --
34382 EXCEPTION
34383 WHEN xla_exceptions_pkg.application_exception THEN
34384 RAISE;
34385 WHEN OTHERS THEN
34386 xla_exceptions_pkg.raise_message
34387 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_90');
34388 END AcctLineType_90;
34389 --
34390
34391 ---------------------------------------
34392 --
34393 -- PRIVATE FUNCTION
34394 -- AcctLineType_91
34395 --
34396 ---------------------------------------
34397 PROCEDURE AcctLineType_91 (
34398 p_application_id IN NUMBER
34399 ,p_event_id IN NUMBER
34400 ,p_calculate_acctd_flag IN VARCHAR2
34401 ,p_calculate_g_l_flag IN VARCHAR2
34402 ,p_actual_flag IN OUT VARCHAR2
34403 ,p_balance_type_code OUT VARCHAR2
34404 ,p_gain_or_loss_ref OUT VARCHAR2
34405
34406 --Payment Currency Code
34407 , p_source_8 IN VARCHAR2
34408 --Automatic Offsets Value
34409 , p_source_10 IN VARCHAR2
34410 , p_source_10_meaning IN VARCHAR2
34411 --Bank Cash Clearing Account
34412 , p_source_30 IN NUMBER
34413 --When to Account for Payment Option
34414 , p_source_57 IN VARCHAR2
34415 --Accounting Reversal Indicator
34416 , p_source_58 IN VARCHAR2
34417 --Distribution Link Type
34418 , p_source_60 IN VARCHAR2
34419 --Override Accounted Amount Indicator
34420 , p_source_85 IN VARCHAR2
34421 , p_source_85_meaning IN VARCHAR2
34422 --Third Party Type
34423 , p_source_88 IN VARCHAR2
34424 --Invoice Distribution Tax Line Identifier
34425 , p_source_91 IN NUMBER
34426 --Invoice Distribution Tax Distribution Identifier from Tax
34427 , p_source_92 IN NUMBER
34428 --Invoice Distribution Summary Tax Line Identifier
34429 , p_source_93 IN NUMBER
34430 --Business Flow Accounts Payable Application Identifier
34431 , p_source_96 IN NUMBER
34432 --Business Flow Invoice Distribution Type
34433 , p_source_97 IN VARCHAR2
34434 --Business Flow Invoice Entity Code
34435 , p_source_98 IN VARCHAR2
34436 --Business Flow Invoice Distribution Identifier
34437 , p_source_99 IN NUMBER
34438 --Business Flow Invoice Identifier
34439 , p_source_100 IN NUMBER
34440 --Payment Distribution Type
34441 , p_source_101 IN VARCHAR2
34442 , p_source_101_meaning IN VARCHAR2
34443 --Payment Distribution Amount
34444 , p_source_102 IN NUMBER
34445 --Payment Distribution Identifier
34446 , p_source_107 IN NUMBER
34447 --Payment Supplier Identifier
34448 , p_source_113 IN NUMBER
34449 --Payment Supplier Site Identifier
34450 , p_source_114 IN NUMBER
34451 --Payment Distribution Reversed Identifier
34452 , p_source_115 IN NUMBER
34453 --Pooled Bank Account Option
34454 , p_source_116 IN VARCHAR2
34455 , p_source_116_meaning IN VARCHAR2
34456 --Payment Maturity Date
34457 , p_source_117 IN DATE
34458 --Payment Distribution (Invoice Rate) Ledger Amount
34459 , p_source_119 IN NUMBER
34460 --Payment Exchange Date
34461 , p_source_120 IN DATE
34462 --Payment Exchange Rate
34463 , p_source_121 IN NUMBER
34464 --Payment Exchange Rate Type
34465 , p_source_122 IN VARCHAR2
34466 --Payment Type
34467 , p_source_125 IN VARCHAR2
34471
34468 , p_source_125_meaning IN VARCHAR2
34469 )
34470 IS
34472 l_component_type VARCHAR2(80);
34473 l_component_code VARCHAR2(30);
34474 l_component_type_code VARCHAR2(1);
34475 l_component_appl_id INTEGER;
34476 l_amb_context_code VARCHAR2(30);
34477 l_entity_code VARCHAR2(30);
34478 l_event_class_code VARCHAR2(30);
34479 l_ae_header_id NUMBER;
34480 l_event_type_code VARCHAR2(30);
34481 l_line_definition_code VARCHAR2(30);
34482 l_line_definition_owner_code VARCHAR2(1);
34483 --
34484 -- adr variables
34485 l_segment VARCHAR2(30);
34486 l_ccid NUMBER;
34487 l_adr_transaction_coa_id NUMBER;
34488 l_adr_accounting_coa_id NUMBER;
34489 l_adr_flexfield_segment_code VARCHAR2(30);
34490 l_adr_flex_value_set_id NUMBER;
34491 l_adr_value_type_code VARCHAR2(30);
34492 l_adr_value_combination_id NUMBER;
34493 l_adr_value_segment_code VARCHAR2(30);
34494
34495 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
34496 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
34497 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
34498 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
34499
34500 -- 4262811 Variables ------------------------------------------------------------------------------------------
34501 l_entered_amt_idx NUMBER;
34502 l_accted_amt_idx NUMBER;
34503 l_acc_rev_flag VARCHAR2(1);
34504 l_accrual_line_num NUMBER;
34505 l_tmp_amt NUMBER;
34506 l_acc_rev_natural_side_code VARCHAR2(1);
34507
34508 l_num_entries NUMBER;
34509 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
34510 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
34511 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
34512 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
34513 l_recog_line_1 NUMBER;
34514 l_recog_line_2 NUMBER;
34515
34516 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
34517 l_bflow_applied_to_amt NUMBER; -- 5132302
34518 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
34519
34520 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
34521
34522 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
34523 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
34524
34525 ---------------------------------------------------------------------------------------------------------------
34526
34527
34528 --
34529 -- bulk performance
34530 --
34531 l_balance_type_code VARCHAR2(1);
34532 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
34533 l_log_module VARCHAR2(240);
34534
34535 --
34536 -- Upgrade strategy
34537 --
34538 l_actual_upg_option VARCHAR2(1);
34539 l_enc_upg_option VARCHAR2(1);
34540
34541 --
34542 BEGIN
34543 --
34544 IF g_log_enabled THEN
34545 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_91';
34546 END IF;
34547 --
34548 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
34549
34550 trace
34551 (p_msg => 'BEGIN of AcctLineType_91'
34552 ,p_level => C_LEVEL_PROCEDURE
34553 ,p_module => l_log_module);
34554
34555 END IF;
34556 --
34557 l_component_type := 'AMB_JLT';
34558 l_component_code := 'AP_CASH_CLEAR_REF_AS_INVXRATE';
34559 l_component_type_code := 'S';
34560 l_component_appl_id := 200;
34561 l_amb_context_code := 'DEFAULT';
34562 l_entity_code := 'AP_PAYMENTS';
34563 l_event_class_code := 'REFUNDS';
34564 l_event_type_code := 'REFUNDS_ALL';
34565 l_line_definition_owner_code := 'S';
34566 l_line_definition_code := 'ACCRUAL_REFUNDS_ALL';
34567 --
34568 l_balance_type_code := 'A';
34569 l_segment := NULL;
34570 l_ccid := NULL;
34571 l_adr_transaction_coa_id := NULL;
34572 l_adr_accounting_coa_id := NULL;
34573 l_adr_flexfield_segment_code := NULL;
34574 l_adr_flex_value_set_id := NULL;
34575 l_adr_value_type_code := NULL;
34576 l_adr_value_combination_id := NULL;
34577 l_adr_value_segment_code := NULL;
34578
34579 l_bflow_method_code := 'SAME_ENTRY'; -- 4219869 Business Flow
34580 l_bflow_class_code := 'AP_CASH_CLEARING'; -- 4219869 Business Flow
34581 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
34582 l_budgetary_control_flag := 'N';
34583
34584 l_bflow_applied_to_amt_idx := NULL; -- 5132302
34585 l_bflow_applied_to_amt := NULL; -- 5132302
34586 l_entered_amt_idx := NULL; -- 4262811
34587 l_accted_amt_idx := NULL; -- 4262811
34588 l_acc_rev_flag := NULL; -- 4262811
34589 l_accrual_line_num := NULL; -- 4262811
34590 l_tmp_amt := NULL; -- 4262811
34591 --
34592
34596 ') = 'ALWAYS_CLEAR' AND
34593 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
34594 l_balance_type_code <> 'B' THEN
34595 IF NVL(p_source_57,'
34597 (NVL(p_source_116,'
34598 ') = 'Y' AND
34599 NVL(p_source_10,'
34600 ') = 'ACCOUNT_SEGMENT_VALUE') AND
34601 p_source_117 IS NULL AND
34602 NVL(p_source_101,'
34603 ') = 'CASH' AND
34604 NVL(p_source_125,'
34605 ') = 'R'
34606 THEN
34607
34608 --
34609 XLA_AE_LINES_PKG.SetNewLine;
34610
34611 p_balance_type_code := l_balance_type_code;
34612 -- set the flag so later we will know whether the gain loss line needs to be created
34613
34614 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
34615 p_actual_flag :='A';
34616 END IF;
34617
34618 --
34619 -- bulk performance
34620 --
34621 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
34622 p_header_num => 0); -- 4262811
34623 --
34624 -- set accounting line options
34625 --
34626 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
34627 p_natural_side_code => 'C'
34628 , p_gain_or_loss_flag => 'N'
34629 , p_gl_transfer_mode_code => 'S'
34630 , p_acct_entry_type_code => 'A'
34631 , p_switch_side_flag => 'Y'
34632 , p_merge_duplicate_code => 'A'
34633 );
34634 --
34635 l_acc_rev_natural_side_code := 'D'; -- 4262811
34636 --
34637 --
34638 -- set accounting line type info
34639 --
34640 xla_ae_lines_pkg.SetAcctLineType
34641 (p_component_type => l_component_type
34642 ,p_event_type_code => l_event_type_code
34643 ,p_line_definition_owner_code => l_line_definition_owner_code
34644 ,p_line_definition_code => l_line_definition_code
34645 ,p_accounting_line_code => l_component_code
34646 ,p_accounting_line_type_code => l_component_type_code
34647 ,p_accounting_line_appl_id => l_component_appl_id
34648 ,p_amb_context_code => l_amb_context_code
34649 ,p_entity_code => l_entity_code
34650 ,p_event_class_code => l_event_class_code);
34651 --
34652 -- set accounting class
34653 --
34654 xla_ae_lines_pkg.SetAcctClass(
34655 p_accounting_class_code => 'CASH_CLEARING'
34656 , p_ae_header_id => l_ae_header_id
34657 );
34658
34659 --
34660 -- set rounding class
34661 --
34662 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
34663 'CASH_CLEARING';
34664
34665 --
34666 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
34667 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
34668 --
34669 -- bulk performance
34670 --
34671 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
34672
34673 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
34674 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
34675
34676 -- 4955764
34677 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
34678 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
34679
34680 -- 4458381 Public Sector Enh
34681
34682 --
34683 -- set accounting attributes for the line type
34684 --
34685 l_entered_amt_idx := 9;
34686 l_accted_amt_idx := 14;
34687 l_bflow_applied_to_amt_idx := NULL; -- 5132302
34688 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
34689 l_rec_acct_attrs.array_char_value(1) := p_source_58;
34690 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_APPLICATION_ID';
34691 l_rec_acct_attrs.array_num_value(2) := p_source_96;
34692 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_DISTRIBUTION_TYPE';
34693 l_rec_acct_attrs.array_char_value(3) := p_source_97;
34694 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_ENTITY_CODE';
34695 l_rec_acct_attrs.array_char_value(4) := p_source_98;
34696 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_FIRST_DIST_ID';
34697 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_99);
34698 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
34699 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_100);
34700 l_rec_acct_attrs.array_acct_attr_code(7) := 'DISTRIBUTION_IDENTIFIER_1';
34701 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_107);
34702 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_TYPE';
34703 l_rec_acct_attrs.array_char_value(8) := p_source_60;
34704 l_rec_acct_attrs.array_acct_attr_code(9) := 'ENTERED_CURRENCY_AMOUNT';
34705 l_rec_acct_attrs.array_num_value(9) := p_source_102;
34706 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_CODE';
34707 l_rec_acct_attrs.array_char_value(10) := p_source_8;
34708 l_rec_acct_attrs.array_acct_attr_code(11) := 'EXCHANGE_DATE';
34709 l_rec_acct_attrs.array_date_value(11) := p_source_120;
34710 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_RATE';
34711 l_rec_acct_attrs.array_num_value(12) := p_source_121;
34712 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE_TYPE';
34716 l_rec_acct_attrs.array_acct_attr_code(15) := 'OVERRIDE_ACCTD_AMT_FLAG';
34713 l_rec_acct_attrs.array_char_value(13) := p_source_122;
34714 l_rec_acct_attrs.array_acct_attr_code(14) := 'LEDGER_AMOUNT';
34715 l_rec_acct_attrs.array_num_value(14) := p_source_119;
34717 l_rec_acct_attrs.array_char_value(15) := p_source_85;
34718 l_rec_acct_attrs.array_acct_attr_code(16) := 'PARTY_ID';
34719 l_rec_acct_attrs.array_num_value(16) := p_source_113;
34720 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_SITE_ID';
34721 l_rec_acct_attrs.array_num_value(17) := p_source_114;
34722 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_TYPE';
34723 l_rec_acct_attrs.array_char_value(18) := p_source_88;
34724 l_rec_acct_attrs.array_acct_attr_code(19) := 'REVERSED_DISTRIBUTION_ID1';
34725 l_rec_acct_attrs.array_num_value(19) := to_char(p_source_115);
34726 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_TYPE';
34727 l_rec_acct_attrs.array_char_value(20) := p_source_60;
34728 l_rec_acct_attrs.array_acct_attr_code(21) := 'TAX_LINE_REF_ID';
34729 l_rec_acct_attrs.array_num_value(21) := p_source_91;
34730 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_REC_NREC_DIST_REF_ID';
34731 l_rec_acct_attrs.array_num_value(22) := p_source_92;
34732 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_SUMMARY_LINE_REF_ID';
34733 l_rec_acct_attrs.array_num_value(23) := p_source_93;
34734
34735 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
34736 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
34737
34738 ---------------------------------------------------------------------------------------------------------------
34739 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
34740 ---------------------------------------------------------------------------------------------------------------
34741 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
34742
34743 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
34744 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
34745
34746 IF xla_accounting_cache_pkg.GetValueChar
34747 (p_source_code => 'LEDGER_CATEGORY_CODE'
34748 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
34749 AND l_bflow_method_code = 'PRIOR_ENTRY'
34750 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
34751 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
34752 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
34753 )
34754 THEN
34755 xla_ae_lines_pkg.BflowUpgEntry
34756 (p_business_method_code => l_bflow_method_code
34757 ,p_business_class_code => l_bflow_class_code
34758 ,p_balance_type => l_balance_type_code);
34759 ELSE
34760 NULL;
34761 XLA_AE_LINES_PKG.business_flow_validation(
34762 p_business_method_code => l_bflow_method_code
34763 ,p_business_class_code => l_bflow_class_code
34764 ,p_inherit_description_flag => l_inherit_desc_flag);
34765 END IF;
34766
34767 --
34768 -- call analytical criteria
34769 --
34770
34771 --
34772 -- call description
34773 --
34774 -- No description or it is inherited.
34775 --
34776 -- call ADRs
34777 -- Bug 4922099
34778 --
34779 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
34780 (NVL(l_actual_upg_option, 'N') = 'O') OR
34781 (NVL(l_enc_upg_option, 'N') = 'O')
34782 )
34783 THEN
34784 NULL;
34785 --
34786 --
34787
34788 xla_ae_lines_pkg.Set_Ccid( -- replaced SetCcid
34789 p_code_combination_id => TO_NUMBER(C_NUM)
34790 , p_value_type_code => NULL
34791 , p_transaction_coa_id => null
34792 , p_accounting_coa_id => null
34793 , p_adr_code => NULL
34794 , p_adr_type_code => NULL
34795 , p_component_type => l_component_type
34796 , p_component_code => l_component_code
34797 , p_component_type_code => l_component_type_code
34798 , p_component_appl_id => l_component_appl_id
34799 , p_amb_context_code => l_amb_context_code
34800 , p_side => NULL
34801 );
34802
34803
34804 -- initialise segments
34805 XLA_AE_LINES_PKG.g_rec_lines.array_segment1(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34806 XLA_AE_LINES_PKG.g_rec_lines.array_segment2(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34807 XLA_AE_LINES_PKG.g_rec_lines.array_segment3(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34808 XLA_AE_LINES_PKG.g_rec_lines.array_segment4(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34809 XLA_AE_LINES_PKG.g_rec_lines.array_segment5(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34810 XLA_AE_LINES_PKG.g_rec_lines.array_segment6(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34811 XLA_AE_LINES_PKG.g_rec_lines.array_segment7(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34812 XLA_AE_LINES_PKG.g_rec_lines.array_segment8(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34813 XLA_AE_LINES_PKG.g_rec_lines.array_segment9(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34814 XLA_AE_LINES_PKG.g_rec_lines.array_segment10(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34815 XLA_AE_LINES_PKG.g_rec_lines.array_segment11(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34819 XLA_AE_LINES_PKG.g_rec_lines.array_segment15(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34816 XLA_AE_LINES_PKG.g_rec_lines.array_segment12(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34817 XLA_AE_LINES_PKG.g_rec_lines.array_segment13(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34818 XLA_AE_LINES_PKG.g_rec_lines.array_segment14(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34820 XLA_AE_LINES_PKG.g_rec_lines.array_segment16(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34821 XLA_AE_LINES_PKG.g_rec_lines.array_segment17(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34822 XLA_AE_LINES_PKG.g_rec_lines.array_segment18(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34823 XLA_AE_LINES_PKG.g_rec_lines.array_segment19(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34824 XLA_AE_LINES_PKG.g_rec_lines.array_segment20(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34825 XLA_AE_LINES_PKG.g_rec_lines.array_segment21(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34826 XLA_AE_LINES_PKG.g_rec_lines.array_segment22(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34827 XLA_AE_LINES_PKG.g_rec_lines.array_segment23(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34828 XLA_AE_LINES_PKG.g_rec_lines.array_segment24(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34829 XLA_AE_LINES_PKG.g_rec_lines.array_segment25(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34830 XLA_AE_LINES_PKG.g_rec_lines.array_segment26(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34831 XLA_AE_LINES_PKG.g_rec_lines.array_segment27(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34832 XLA_AE_LINES_PKG.g_rec_lines.array_segment28(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34833 XLA_AE_LINES_PKG.g_rec_lines.array_segment29(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34834 XLA_AE_LINES_PKG.g_rec_lines.array_segment30(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34835 --
34836
34837 --
34838
34839
34840 l_segment := AcctDerRule_16(
34841 p_application_id => p_application_id
34842 , p_ae_header_id => l_ae_header_id
34843 , p_source_30 => p_source_30
34844 , x_transaction_coa_id => l_adr_transaction_coa_id
34845 , x_accounting_coa_id => l_adr_accounting_coa_id
34846 , x_flexfield_segment_code => l_adr_flexfield_segment_code
34847 , x_flex_value_set_id => l_adr_flex_value_set_id
34848 , x_value_type_code => l_adr_value_type_code
34849 , x_value_combination_id => l_adr_value_combination_id
34850 , x_value_segment_code => l_adr_value_segment_code
34851 , p_side => 'NA'
34852 , p_override_seg_flag => 'Y'
34853 );
34854
34855 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
34856
34857 xla_ae_lines_pkg.set_segment(
34858 p_to_segment_code => 'GL_ACCOUNT'
34859 , p_segment_value => l_segment
34860 , p_from_segment_code => l_adr_value_segment_code
34861 , p_from_combination_id => l_adr_value_combination_id
34862 , p_value_type_code => l_adr_value_type_code
34863 , p_transaction_coa_id => l_adr_transaction_coa_id
34864 , p_accounting_coa_id => l_adr_accounting_coa_id
34865 , p_flexfield_segment_code => l_adr_flexfield_segment_code
34866 , p_flex_value_set_id => l_adr_flex_value_set_id
34867 , p_adr_code => 'AP_PMT_CASH_CLEAR_NAT_ACC_POOL'
34868 , p_adr_type_code => 'S'
34869 , p_component_type => l_component_type
34870 , p_component_code => l_component_code
34871 , p_component_type_code => l_component_type_code
34872 , p_component_appl_id => l_component_appl_id
34873 , p_amb_context_code => l_amb_context_code
34874 , p_entity_code => 'AP_PAYMENTS'
34875 , p_event_class_code => 'REFUNDS'
34876 , p_side => 'NA'
34877 );
34878
34879 END IF;
34880
34881 --
34882 --
34883 END IF;
34884 --
34885 -- Bug 4922099
34886 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
34887 (NVL(l_enc_upg_option, 'N') = 'O')
34888 ) AND
34889 (l_bflow_method_code = 'PRIOR_ENTRY')
34890 )
34891 THEN
34892 IF
34893 --
34894 1 = 2
34895 --
34896 THEN
34897 xla_accounting_err_pkg.build_message
34898 (p_appli_s_name => 'XLA'
34899 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
34900 ,p_token_1 => 'LINE_NUMBER'
34901 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
34902 ,p_token_2 => 'LINE_TYPE_NAME'
34903 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
34904 l_component_type
34905 ,l_component_code
34906 ,l_component_type_code
34907 ,l_component_appl_id
34908 ,l_amb_context_code
34909 ,l_entity_code
34910 ,l_event_class_code
34914 p_lookup_type => 'XLA_OWNER_TYPE'
34911 )
34912 ,p_token_3 => 'OWNER'
34913 ,p_value_3 => xla_lookups_pkg.get_meaning(
34915 ,p_lookup_code => l_component_type_code
34916 )
34917 ,p_token_4 => 'PRODUCT_NAME'
34918 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
34919 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
34920 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
34921 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
34922 ,p_ae_header_id => NULL
34923 );
34924
34925 IF (C_LEVEL_ERROR>= g_log_level) THEN
34926 trace
34927 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
34928 ,p_level => C_LEVEL_ERROR
34929 ,p_module => l_log_module);
34930 END IF;
34931 END IF;
34932 END IF;
34933 --
34934 --
34935 ------------------------------------------------------------------------------------------------
34936 -- 4219869 Business Flow
34937 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
34938 -- Prior Entry. Currently, the following code is always generated.
34939 ------------------------------------------------------------------------------------------------
34940 XLA_AE_LINES_PKG.ValidateCurrentLine;
34941
34942 ------------------------------------------------------------------------------------
34943 -- 4219869 Business Flow
34944 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
34945 ------------------------------------------------------------------------------------
34946 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
34947
34948 ----------------------------------------------------------------------------------
34949 -- 4219869 Business Flow
34950 -- Update journal entry status -- Need to generate this within IF <condition>
34951 ----------------------------------------------------------------------------------
34952 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
34953 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
34954 ,p_balance_type_code => l_balance_type_code
34955 );
34956
34957 -------------------------------------------------------------------------------------------
34958 -- 4262811 - Generate the Accrual Reversal lines
34959 -------------------------------------------------------------------------------------------
34960 BEGIN
34961 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
34962 (g_array_event(p_event_id).array_value_num('header_index'));
34963 IF l_acc_rev_flag IS NULL THEN
34964 l_acc_rev_flag := 'N';
34965 END IF;
34966 EXCEPTION
34967 WHEN OTHERS THEN
34968 l_acc_rev_flag := 'N';
34969 END;
34970 --
34971 IF (l_acc_rev_flag = 'Y') THEN
34972
34973 -- 4645092 ------------------------------------------------------------------------------
34974 -- To allow MPA report to determine if it should generate report process
34975 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
34976 ------------------------------------------------------------------------------------------
34977
34978 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
34979 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
34980 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
34981 -- call ADRs
34982 -- Bug 4922099
34983 --
34984 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
34985 (NVL(l_actual_upg_option, 'N') = 'O') OR
34986 (NVL(l_enc_upg_option, 'N') = 'O')
34987 )
34988 THEN
34989 NULL;
34990 --
34991 --
34992
34993 xla_ae_lines_pkg.Set_Ccid( -- replaced SetCcid
34994 p_code_combination_id => TO_NUMBER(C_NUM)
34995 , p_value_type_code => NULL
34996 , p_transaction_coa_id => null
34997 , p_accounting_coa_id => null
34998 , p_adr_code => NULL
34999 , p_adr_type_code => NULL
35000 , p_component_type => l_component_type
35001 , p_component_code => l_component_code
35002 , p_component_type_code => l_component_type_code
35003 , p_component_appl_id => l_component_appl_id
35004 , p_amb_context_code => l_amb_context_code
35005 , p_side => NULL
35006 );
35007
35008
35009 -- initialise segments
35010 XLA_AE_LINES_PKG.g_rec_lines.array_segment1(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
35011 XLA_AE_LINES_PKG.g_rec_lines.array_segment2(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
35012 XLA_AE_LINES_PKG.g_rec_lines.array_segment3(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
35013 XLA_AE_LINES_PKG.g_rec_lines.array_segment4(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
35017 XLA_AE_LINES_PKG.g_rec_lines.array_segment8(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
35014 XLA_AE_LINES_PKG.g_rec_lines.array_segment5(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
35015 XLA_AE_LINES_PKG.g_rec_lines.array_segment6(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
35016 XLA_AE_LINES_PKG.g_rec_lines.array_segment7(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
35018 XLA_AE_LINES_PKG.g_rec_lines.array_segment9(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
35019 XLA_AE_LINES_PKG.g_rec_lines.array_segment10(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
35020 XLA_AE_LINES_PKG.g_rec_lines.array_segment11(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
35021 XLA_AE_LINES_PKG.g_rec_lines.array_segment12(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
35022 XLA_AE_LINES_PKG.g_rec_lines.array_segment13(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
35023 XLA_AE_LINES_PKG.g_rec_lines.array_segment14(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
35024 XLA_AE_LINES_PKG.g_rec_lines.array_segment15(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
35025 XLA_AE_LINES_PKG.g_rec_lines.array_segment16(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
35026 XLA_AE_LINES_PKG.g_rec_lines.array_segment17(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
35027 XLA_AE_LINES_PKG.g_rec_lines.array_segment18(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
35028 XLA_AE_LINES_PKG.g_rec_lines.array_segment19(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
35029 XLA_AE_LINES_PKG.g_rec_lines.array_segment20(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
35030 XLA_AE_LINES_PKG.g_rec_lines.array_segment21(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
35031 XLA_AE_LINES_PKG.g_rec_lines.array_segment22(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
35032 XLA_AE_LINES_PKG.g_rec_lines.array_segment23(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
35033 XLA_AE_LINES_PKG.g_rec_lines.array_segment24(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
35034 XLA_AE_LINES_PKG.g_rec_lines.array_segment25(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
35035 XLA_AE_LINES_PKG.g_rec_lines.array_segment26(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
35036 XLA_AE_LINES_PKG.g_rec_lines.array_segment27(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
35037 XLA_AE_LINES_PKG.g_rec_lines.array_segment28(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
35038 XLA_AE_LINES_PKG.g_rec_lines.array_segment29(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
35039 XLA_AE_LINES_PKG.g_rec_lines.array_segment30(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
35040 --
35041
35042 --
35043
35044
35045 l_segment := AcctDerRule_16(
35046 p_application_id => p_application_id
35047 , p_ae_header_id => l_ae_header_id
35048 , p_source_30 => p_source_30
35049 , x_transaction_coa_id => l_adr_transaction_coa_id
35050 , x_accounting_coa_id => l_adr_accounting_coa_id
35051 , x_flexfield_segment_code => l_adr_flexfield_segment_code
35052 , x_flex_value_set_id => l_adr_flex_value_set_id
35053 , x_value_type_code => l_adr_value_type_code
35054 , x_value_combination_id => l_adr_value_combination_id
35055 , x_value_segment_code => l_adr_value_segment_code
35056 , p_side => 'NA'
35057 , p_override_seg_flag => 'Y'
35058 );
35059
35060 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
35061
35062 xla_ae_lines_pkg.set_segment(
35063 p_to_segment_code => 'GL_ACCOUNT'
35064 , p_segment_value => l_segment
35065 , p_from_segment_code => l_adr_value_segment_code
35066 , p_from_combination_id => l_adr_value_combination_id
35067 , p_value_type_code => l_adr_value_type_code
35068 , p_transaction_coa_id => l_adr_transaction_coa_id
35069 , p_accounting_coa_id => l_adr_accounting_coa_id
35070 , p_flexfield_segment_code => l_adr_flexfield_segment_code
35071 , p_flex_value_set_id => l_adr_flex_value_set_id
35072 , p_adr_code => 'AP_PMT_CASH_CLEAR_NAT_ACC_POOL'
35073 , p_adr_type_code => 'S'
35074 , p_component_type => l_component_type
35075 , p_component_code => l_component_code
35076 , p_component_type_code => l_component_type_code
35077 , p_component_appl_id => l_component_appl_id
35078 , p_amb_context_code => l_amb_context_code
35079 , p_entity_code => 'AP_PAYMENTS'
35080 , p_event_class_code => 'REFUNDS'
35081 , p_side => 'NA'
35082 );
35083
35084 END IF;
35085
35086 --
35087 --
35088 END IF;
35089
35090 --
35091 -- Update the line information that should be overwritten
35092 --
35093 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
35094 p_header_num => 1);
35095 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
35096
35097 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
35098
35099 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
35100 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
35101 END IF;
35102
35103 --
35104 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
35105 --
35106 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
35110 -- 4262811a Switch Sign
35107 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
35108 ELSE
35109 ---------------------------------------------------------------------------------------------------
35111 ---------------------------------------------------------------------------------------------------
35112 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
35113 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
35114 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
35115 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
35116 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
35117 -- 5132302
35118 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
35119 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
35120
35121 END IF;
35122
35123 -- 4955764
35124 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
35125 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
35126
35127
35128 XLA_AE_LINES_PKG.ValidateCurrentLine;
35129 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
35130
35131 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
35132 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
35133 ,p_balance_type_code => l_balance_type_code);
35134
35135 END IF;
35136
35137 -----------------------------------------------------------------------------------------
35138 -- 4262811 Multiperiod Accounting
35139 -----------------------------------------------------------------------------------------
35140 -- No MPA option is assigned.
35141
35142
35143 END IF;
35144 END IF;
35145 --
35146
35147 --
35148 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
35149 trace
35150 (p_msg => 'END of AcctLineType_91'
35151 ,p_level => C_LEVEL_PROCEDURE
35152 ,p_module => l_log_module);
35153 END IF;
35154 --
35155 EXCEPTION
35156 WHEN xla_exceptions_pkg.application_exception THEN
35157 RAISE;
35158 WHEN OTHERS THEN
35159 xla_exceptions_pkg.raise_message
35160 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_91');
35161 END AcctLineType_91;
35162 --
35163
35164 ---------------------------------------
35165 --
35166 -- PRIVATE FUNCTION
35167 -- AcctLineType_92
35168 --
35169 ---------------------------------------
35170 PROCEDURE AcctLineType_92 (
35171 p_application_id IN NUMBER
35172 ,p_event_id IN NUMBER
35173 ,p_calculate_acctd_flag IN VARCHAR2
35174 ,p_calculate_g_l_flag IN VARCHAR2
35175 ,p_actual_flag IN OUT VARCHAR2
35176 ,p_balance_type_code OUT VARCHAR2
35177 ,p_gain_or_loss_ref OUT VARCHAR2
35178
35179 --Payment Currency Code
35180 , p_source_8 IN VARCHAR2
35181 --Automatic Offsets Value
35182 , p_source_10 IN VARCHAR2
35183 , p_source_10_meaning IN VARCHAR2
35184 --Bank Cash Clearing Account
35185 , p_source_30 IN NUMBER
35186 --When to Account for Payment Option
35187 , p_source_57 IN VARCHAR2
35188 --Accounting Reversal Indicator
35189 , p_source_58 IN VARCHAR2
35190 --Distribution Link Type
35191 , p_source_60 IN VARCHAR2
35192 --Override Accounted Amount Indicator
35193 , p_source_85 IN VARCHAR2
35194 , p_source_85_meaning IN VARCHAR2
35195 --Third Party Type
35196 , p_source_88 IN VARCHAR2
35197 --Invoice Distribution Tax Line Identifier
35198 , p_source_91 IN NUMBER
35199 --Invoice Distribution Tax Distribution Identifier from Tax
35200 , p_source_92 IN NUMBER
35201 --Invoice Distribution Summary Tax Line Identifier
35202 , p_source_93 IN NUMBER
35203 --Business Flow Accounts Payable Application Identifier
35204 , p_source_96 IN NUMBER
35205 --Business Flow Invoice Distribution Type
35206 , p_source_97 IN VARCHAR2
35207 --Business Flow Invoice Entity Code
35208 , p_source_98 IN VARCHAR2
35209 --Business Flow Invoice Distribution Identifier
35210 , p_source_99 IN NUMBER
35211 --Business Flow Invoice Identifier
35212 , p_source_100 IN NUMBER
35213 --Payment Distribution Type
35214 , p_source_101 IN VARCHAR2
35215 , p_source_101_meaning IN VARCHAR2
35216 --Payment Distribution Amount
35217 , p_source_102 IN NUMBER
35218 --Payment Distribution Identifier
35219 , p_source_107 IN NUMBER
35220 --Payment Supplier Identifier
35221 , p_source_113 IN NUMBER
35222 --Payment Supplier Site Identifier
35223 , p_source_114 IN NUMBER
35224 --Payment Distribution Reversed Identifier
35225 , p_source_115 IN NUMBER
35226 --Pooled Bank Account Option
35227 , p_source_116 IN VARCHAR2
35228 , p_source_116_meaning IN VARCHAR2
35229 --Payment Maturity Date
35230 , p_source_117 IN DATE
35234 , p_source_120 IN DATE
35231 --Payment Distribution (Invoice Rate) Ledger Amount
35232 , p_source_119 IN NUMBER
35233 --Payment Exchange Date
35235 --Payment Exchange Rate
35236 , p_source_121 IN NUMBER
35237 --Payment Exchange Rate Type
35238 , p_source_122 IN VARCHAR2
35239 --Payment Type
35240 , p_source_125 IN VARCHAR2
35241 , p_source_125_meaning IN VARCHAR2
35242 )
35243 IS
35244
35245 l_component_type VARCHAR2(80);
35246 l_component_code VARCHAR2(30);
35247 l_component_type_code VARCHAR2(1);
35248 l_component_appl_id INTEGER;
35249 l_amb_context_code VARCHAR2(30);
35250 l_entity_code VARCHAR2(30);
35251 l_event_class_code VARCHAR2(30);
35252 l_ae_header_id NUMBER;
35253 l_event_type_code VARCHAR2(30);
35254 l_line_definition_code VARCHAR2(30);
35255 l_line_definition_owner_code VARCHAR2(1);
35256 --
35257 -- adr variables
35258 l_segment VARCHAR2(30);
35259 l_ccid NUMBER;
35260 l_adr_transaction_coa_id NUMBER;
35261 l_adr_accounting_coa_id NUMBER;
35262 l_adr_flexfield_segment_code VARCHAR2(30);
35263 l_adr_flex_value_set_id NUMBER;
35264 l_adr_value_type_code VARCHAR2(30);
35265 l_adr_value_combination_id NUMBER;
35266 l_adr_value_segment_code VARCHAR2(30);
35267
35268 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
35269 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
35270 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
35271 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
35272
35273 -- 4262811 Variables ------------------------------------------------------------------------------------------
35274 l_entered_amt_idx NUMBER;
35275 l_accted_amt_idx NUMBER;
35276 l_acc_rev_flag VARCHAR2(1);
35277 l_accrual_line_num NUMBER;
35278 l_tmp_amt NUMBER;
35279 l_acc_rev_natural_side_code VARCHAR2(1);
35280
35281 l_num_entries NUMBER;
35282 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
35283 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
35284 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
35285 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
35286 l_recog_line_1 NUMBER;
35287 l_recog_line_2 NUMBER;
35288
35289 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
35290 l_bflow_applied_to_amt NUMBER; -- 5132302
35291 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
35292
35293 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
35294
35295 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
35296 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
35297
35298 ---------------------------------------------------------------------------------------------------------------
35299
35300
35301 --
35302 -- bulk performance
35303 --
35304 l_balance_type_code VARCHAR2(1);
35305 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
35306 l_log_module VARCHAR2(240);
35307
35308 --
35309 -- Upgrade strategy
35310 --
35311 l_actual_upg_option VARCHAR2(1);
35312 l_enc_upg_option VARCHAR2(1);
35313
35314 --
35315 BEGIN
35316 --
35317 IF g_log_enabled THEN
35318 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_92';
35319 END IF;
35320 --
35321 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
35322
35323 trace
35324 (p_msg => 'BEGIN of AcctLineType_92'
35325 ,p_level => C_LEVEL_PROCEDURE
35326 ,p_module => l_log_module);
35327
35328 END IF;
35329 --
35330 l_component_type := 'AMB_JLT';
35331 l_component_code := 'AP_CASH_CLEAR_REF_BS_INVXRATE';
35332 l_component_type_code := 'S';
35333 l_component_appl_id := 200;
35334 l_amb_context_code := 'DEFAULT';
35335 l_entity_code := 'AP_PAYMENTS';
35336 l_event_class_code := 'REFUNDS';
35337 l_event_type_code := 'REFUNDS_ALL';
35338 l_line_definition_owner_code := 'S';
35339 l_line_definition_code := 'ACCRUAL_REFUNDS_ALL';
35340 --
35341 l_balance_type_code := 'A';
35342 l_segment := NULL;
35343 l_ccid := NULL;
35344 l_adr_transaction_coa_id := NULL;
35345 l_adr_accounting_coa_id := NULL;
35346 l_adr_flexfield_segment_code := NULL;
35347 l_adr_flex_value_set_id := NULL;
35348 l_adr_value_type_code := NULL;
35349 l_adr_value_combination_id := NULL;
35350 l_adr_value_segment_code := NULL;
35351
35352 l_bflow_method_code := 'SAME_ENTRY'; -- 4219869 Business Flow
35353 l_bflow_class_code := 'AP_CASH_CLEARING'; -- 4219869 Business Flow
35354 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
35355 l_budgetary_control_flag := 'N';
35356
35357 l_bflow_applied_to_amt_idx := NULL; -- 5132302
35358 l_bflow_applied_to_amt := NULL; -- 5132302
35362 l_accrual_line_num := NULL; -- 4262811
35359 l_entered_amt_idx := NULL; -- 4262811
35360 l_accted_amt_idx := NULL; -- 4262811
35361 l_acc_rev_flag := NULL; -- 4262811
35363 l_tmp_amt := NULL; -- 4262811
35364 --
35365
35366 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
35367 l_balance_type_code <> 'B' THEN
35368 IF NVL(p_source_57,'
35369 ') = 'ALWAYS_CLEAR' AND
35370 (NVL(p_source_116,'
35371 ') = 'Y' AND
35372 NVL(p_source_10,'
35373 ') = 'BALANCING_SEGMENT') AND
35374 p_source_117 IS NULL AND
35375 NVL(p_source_101,'
35376 ') = 'CASH' AND
35377 NVL(p_source_125,'
35378 ') = 'R'
35379 THEN
35380
35381 --
35382 XLA_AE_LINES_PKG.SetNewLine;
35383
35384 p_balance_type_code := l_balance_type_code;
35385 -- set the flag so later we will know whether the gain loss line needs to be created
35386
35387 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
35388 p_actual_flag :='A';
35389 END IF;
35390
35391 --
35392 -- bulk performance
35393 --
35394 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
35395 p_header_num => 0); -- 4262811
35396 --
35397 -- set accounting line options
35398 --
35399 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
35400 p_natural_side_code => 'C'
35401 , p_gain_or_loss_flag => 'N'
35402 , p_gl_transfer_mode_code => 'S'
35403 , p_acct_entry_type_code => 'A'
35404 , p_switch_side_flag => 'Y'
35405 , p_merge_duplicate_code => 'A'
35406 );
35407 --
35408 l_acc_rev_natural_side_code := 'D'; -- 4262811
35409 --
35410 --
35411 -- set accounting line type info
35412 --
35413 xla_ae_lines_pkg.SetAcctLineType
35414 (p_component_type => l_component_type
35415 ,p_event_type_code => l_event_type_code
35416 ,p_line_definition_owner_code => l_line_definition_owner_code
35417 ,p_line_definition_code => l_line_definition_code
35418 ,p_accounting_line_code => l_component_code
35419 ,p_accounting_line_type_code => l_component_type_code
35420 ,p_accounting_line_appl_id => l_component_appl_id
35421 ,p_amb_context_code => l_amb_context_code
35422 ,p_entity_code => l_entity_code
35423 ,p_event_class_code => l_event_class_code);
35424 --
35425 -- set accounting class
35426 --
35427 xla_ae_lines_pkg.SetAcctClass(
35428 p_accounting_class_code => 'CASH_CLEARING'
35429 , p_ae_header_id => l_ae_header_id
35430 );
35431
35432 --
35433 -- set rounding class
35434 --
35435 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
35436 'CASH_CLEARING';
35437
35438 --
35439 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
35440 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
35441 --
35442 -- bulk performance
35443 --
35444 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
35445
35446 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
35447 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
35448
35449 -- 4955764
35450 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
35451 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
35452
35453 -- 4458381 Public Sector Enh
35454
35455 --
35456 -- set accounting attributes for the line type
35457 --
35458 l_entered_amt_idx := 9;
35459 l_accted_amt_idx := 14;
35460 l_bflow_applied_to_amt_idx := NULL; -- 5132302
35461 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
35462 l_rec_acct_attrs.array_char_value(1) := p_source_58;
35463 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_APPLICATION_ID';
35464 l_rec_acct_attrs.array_num_value(2) := p_source_96;
35465 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_DISTRIBUTION_TYPE';
35466 l_rec_acct_attrs.array_char_value(3) := p_source_97;
35467 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_ENTITY_CODE';
35468 l_rec_acct_attrs.array_char_value(4) := p_source_98;
35469 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_FIRST_DIST_ID';
35470 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_99);
35471 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
35472 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_100);
35473 l_rec_acct_attrs.array_acct_attr_code(7) := 'DISTRIBUTION_IDENTIFIER_1';
35474 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_107);
35475 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_TYPE';
35476 l_rec_acct_attrs.array_char_value(8) := p_source_60;
35477 l_rec_acct_attrs.array_acct_attr_code(9) := 'ENTERED_CURRENCY_AMOUNT';
35478 l_rec_acct_attrs.array_num_value(9) := p_source_102;
35479 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_CODE';
35480 l_rec_acct_attrs.array_char_value(10) := p_source_8;
35484 l_rec_acct_attrs.array_num_value(12) := p_source_121;
35481 l_rec_acct_attrs.array_acct_attr_code(11) := 'EXCHANGE_DATE';
35482 l_rec_acct_attrs.array_date_value(11) := p_source_120;
35483 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_RATE';
35485 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE_TYPE';
35486 l_rec_acct_attrs.array_char_value(13) := p_source_122;
35487 l_rec_acct_attrs.array_acct_attr_code(14) := 'LEDGER_AMOUNT';
35488 l_rec_acct_attrs.array_num_value(14) := p_source_119;
35489 l_rec_acct_attrs.array_acct_attr_code(15) := 'OVERRIDE_ACCTD_AMT_FLAG';
35490 l_rec_acct_attrs.array_char_value(15) := p_source_85;
35491 l_rec_acct_attrs.array_acct_attr_code(16) := 'PARTY_ID';
35492 l_rec_acct_attrs.array_num_value(16) := p_source_113;
35493 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_SITE_ID';
35494 l_rec_acct_attrs.array_num_value(17) := p_source_114;
35495 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_TYPE';
35496 l_rec_acct_attrs.array_char_value(18) := p_source_88;
35497 l_rec_acct_attrs.array_acct_attr_code(19) := 'REVERSED_DISTRIBUTION_ID1';
35498 l_rec_acct_attrs.array_num_value(19) := to_char(p_source_115);
35499 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_TYPE';
35500 l_rec_acct_attrs.array_char_value(20) := p_source_60;
35501 l_rec_acct_attrs.array_acct_attr_code(21) := 'TAX_LINE_REF_ID';
35502 l_rec_acct_attrs.array_num_value(21) := p_source_91;
35503 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_REC_NREC_DIST_REF_ID';
35504 l_rec_acct_attrs.array_num_value(22) := p_source_92;
35505 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_SUMMARY_LINE_REF_ID';
35506 l_rec_acct_attrs.array_num_value(23) := p_source_93;
35507
35508 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
35509 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
35510
35511 ---------------------------------------------------------------------------------------------------------------
35512 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
35513 ---------------------------------------------------------------------------------------------------------------
35514 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
35515
35516 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
35517 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
35518
35519 IF xla_accounting_cache_pkg.GetValueChar
35520 (p_source_code => 'LEDGER_CATEGORY_CODE'
35521 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
35522 AND l_bflow_method_code = 'PRIOR_ENTRY'
35523 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
35524 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
35525 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
35526 )
35527 THEN
35528 xla_ae_lines_pkg.BflowUpgEntry
35529 (p_business_method_code => l_bflow_method_code
35530 ,p_business_class_code => l_bflow_class_code
35531 ,p_balance_type => l_balance_type_code);
35532 ELSE
35533 NULL;
35534 XLA_AE_LINES_PKG.business_flow_validation(
35535 p_business_method_code => l_bflow_method_code
35536 ,p_business_class_code => l_bflow_class_code
35537 ,p_inherit_description_flag => l_inherit_desc_flag);
35538 END IF;
35539
35540 --
35541 -- call analytical criteria
35542 --
35543
35544 --
35545 -- call description
35546 --
35547 -- No description or it is inherited.
35548 --
35549 -- call ADRs
35550 -- Bug 4922099
35551 --
35552 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
35553 (NVL(l_actual_upg_option, 'N') = 'O') OR
35554 (NVL(l_enc_upg_option, 'N') = 'O')
35555 )
35556 THEN
35557 NULL;
35558 --
35559 --
35560
35561 l_ccid := AcctDerRule_38(
35562 p_application_id => p_application_id
35563 , p_ae_header_id => l_ae_header_id
35564 , p_source_30 => p_source_30
35565 , x_transaction_coa_id => l_adr_transaction_coa_id
35566 , x_accounting_coa_id => l_adr_accounting_coa_id
35567 , x_value_type_code => l_adr_value_type_code
35568 , p_side => 'NA'
35569 );
35570
35571 xla_ae_lines_pkg.set_ccid(
35572 p_code_combination_id => l_ccid
35573 , p_value_type_code => l_adr_value_type_code
35574 , p_transaction_coa_id => l_adr_transaction_coa_id
35575 , p_accounting_coa_id => l_adr_accounting_coa_id
35576 , p_adr_code => 'AP_PMT_CASH_CLEAR'
35577 , p_adr_type_code => 'S'
35578 , p_component_type => l_component_type
35579 , p_component_code => l_component_code
35580 , p_component_type_code => l_component_type_code
35581 , p_component_appl_id => l_component_appl_id
35582 , p_amb_context_code => l_amb_context_code
35583 , p_side => 'NA'
35584 );
35585
35586
35587 xla_ae_lines_pkg.Set_Segment( -- replaced SetSegment
35588 p_to_segment_code => 'GL_BALANCING'
35592 , p_value_type_code => NULL
35589 , p_segment_value => C_CHAR
35590 , p_from_segment_code => NULL
35591 , p_from_combination_id => NULL
35593 , p_transaction_coa_id => null
35594 , p_accounting_coa_id => null
35595 , p_flexfield_segment_code => NULL
35596 , p_flex_value_set_id => NULL
35597 , p_adr_code => NULL
35598 , p_adr_type_code => NULL
35599 , p_component_type => l_component_type
35600 , p_component_code => l_component_code
35601 , p_component_type_code => l_component_type_code
35602 , p_component_appl_id => l_component_appl_id
35603 , p_amb_context_code => l_amb_context_code
35604 , p_entity_code => 'AP_PAYMENTS'
35605 , p_event_class_code => 'REFUNDS'
35606 , p_side => 'NA'
35607 );
35608 --
35609
35610
35611 --
35612 --
35613 END IF;
35614 --
35615 -- Bug 4922099
35616 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
35617 (NVL(l_enc_upg_option, 'N') = 'O')
35618 ) AND
35619 (l_bflow_method_code = 'PRIOR_ENTRY')
35620 )
35621 THEN
35622 IF
35623 --
35624 1 = 2
35625 --
35626 THEN
35627 xla_accounting_err_pkg.build_message
35628 (p_appli_s_name => 'XLA'
35629 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
35630 ,p_token_1 => 'LINE_NUMBER'
35631 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
35632 ,p_token_2 => 'LINE_TYPE_NAME'
35633 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
35634 l_component_type
35635 ,l_component_code
35636 ,l_component_type_code
35637 ,l_component_appl_id
35638 ,l_amb_context_code
35639 ,l_entity_code
35640 ,l_event_class_code
35641 )
35642 ,p_token_3 => 'OWNER'
35643 ,p_value_3 => xla_lookups_pkg.get_meaning(
35644 p_lookup_type => 'XLA_OWNER_TYPE'
35645 ,p_lookup_code => l_component_type_code
35646 )
35647 ,p_token_4 => 'PRODUCT_NAME'
35648 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
35649 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
35650 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
35651 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
35652 ,p_ae_header_id => NULL
35653 );
35654
35655 IF (C_LEVEL_ERROR>= g_log_level) THEN
35656 trace
35657 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
35658 ,p_level => C_LEVEL_ERROR
35659 ,p_module => l_log_module);
35660 END IF;
35661 END IF;
35662 END IF;
35663 --
35664 --
35665 ------------------------------------------------------------------------------------------------
35666 -- 4219869 Business Flow
35667 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
35668 -- Prior Entry. Currently, the following code is always generated.
35669 ------------------------------------------------------------------------------------------------
35670 XLA_AE_LINES_PKG.ValidateCurrentLine;
35671
35672 ------------------------------------------------------------------------------------
35673 -- 4219869 Business Flow
35674 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
35675 ------------------------------------------------------------------------------------
35676 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
35677
35678 ----------------------------------------------------------------------------------
35679 -- 4219869 Business Flow
35680 -- Update journal entry status -- Need to generate this within IF <condition>
35681 ----------------------------------------------------------------------------------
35682 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
35683 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
35684 ,p_balance_type_code => l_balance_type_code
35685 );
35686
35687 -------------------------------------------------------------------------------------------
35691 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
35688 -- 4262811 - Generate the Accrual Reversal lines
35689 -------------------------------------------------------------------------------------------
35690 BEGIN
35692 (g_array_event(p_event_id).array_value_num('header_index'));
35693 IF l_acc_rev_flag IS NULL THEN
35694 l_acc_rev_flag := 'N';
35695 END IF;
35696 EXCEPTION
35697 WHEN OTHERS THEN
35698 l_acc_rev_flag := 'N';
35699 END;
35700 --
35701 IF (l_acc_rev_flag = 'Y') THEN
35702
35703 -- 4645092 ------------------------------------------------------------------------------
35704 -- To allow MPA report to determine if it should generate report process
35705 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
35706 ------------------------------------------------------------------------------------------
35707
35708 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
35709 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
35710 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
35711 -- call ADRs
35712 -- Bug 4922099
35713 --
35714 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
35715 (NVL(l_actual_upg_option, 'N') = 'O') OR
35716 (NVL(l_enc_upg_option, 'N') = 'O')
35717 )
35718 THEN
35719 NULL;
35720 --
35721 --
35722
35723 l_ccid := AcctDerRule_38(
35724 p_application_id => p_application_id
35725 , p_ae_header_id => l_ae_header_id
35726 , p_source_30 => p_source_30
35727 , x_transaction_coa_id => l_adr_transaction_coa_id
35728 , x_accounting_coa_id => l_adr_accounting_coa_id
35729 , x_value_type_code => l_adr_value_type_code
35730 , p_side => 'NA'
35731 );
35732
35733 xla_ae_lines_pkg.set_ccid(
35734 p_code_combination_id => l_ccid
35735 , p_value_type_code => l_adr_value_type_code
35736 , p_transaction_coa_id => l_adr_transaction_coa_id
35737 , p_accounting_coa_id => l_adr_accounting_coa_id
35738 , p_adr_code => 'AP_PMT_CASH_CLEAR'
35739 , p_adr_type_code => 'S'
35740 , p_component_type => l_component_type
35741 , p_component_code => l_component_code
35742 , p_component_type_code => l_component_type_code
35743 , p_component_appl_id => l_component_appl_id
35744 , p_amb_context_code => l_amb_context_code
35745 , p_side => 'NA'
35746 );
35747
35748
35749 xla_ae_lines_pkg.Set_Segment( -- replaced SetSegment
35750 p_to_segment_code => 'GL_BALANCING'
35751 , p_segment_value => C_CHAR
35752 , p_from_segment_code => NULL
35753 , p_from_combination_id => NULL
35754 , p_value_type_code => NULL
35755 , p_transaction_coa_id => null
35756 , p_accounting_coa_id => null
35757 , p_flexfield_segment_code => NULL
35758 , p_flex_value_set_id => NULL
35759 , p_adr_code => NULL
35760 , p_adr_type_code => NULL
35761 , p_component_type => l_component_type
35762 , p_component_code => l_component_code
35763 , p_component_type_code => l_component_type_code
35764 , p_component_appl_id => l_component_appl_id
35765 , p_amb_context_code => l_amb_context_code
35766 , p_entity_code => 'AP_PAYMENTS'
35767 , p_event_class_code => 'REFUNDS'
35768 , p_side => 'NA'
35769 );
35770 --
35771
35772
35773 --
35774 --
35775 END IF;
35776
35777 --
35778 -- Update the line information that should be overwritten
35779 --
35780 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
35781 p_header_num => 1);
35782 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
35783
35784 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
35785
35786 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
35787 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
35788 END IF;
35789
35790 --
35791 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
35792 --
35793 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
35794 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
35795 ELSE
35796 ---------------------------------------------------------------------------------------------------
35797 -- 4262811a Switch Sign
35798 ---------------------------------------------------------------------------------------------------
35799 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
35800 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
35801 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
35802 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
35806 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
35803 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
35804 -- 5132302
35805 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
35807
35808 END IF;
35809
35810 -- 4955764
35811 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
35812 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
35813
35814
35815 XLA_AE_LINES_PKG.ValidateCurrentLine;
35816 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
35817
35818 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
35819 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
35820 ,p_balance_type_code => l_balance_type_code);
35821
35822 END IF;
35823
35824 -----------------------------------------------------------------------------------------
35825 -- 4262811 Multiperiod Accounting
35826 -----------------------------------------------------------------------------------------
35827 -- No MPA option is assigned.
35828
35829
35830 END IF;
35831 END IF;
35832 --
35833
35834 --
35835 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
35836 trace
35837 (p_msg => 'END of AcctLineType_92'
35838 ,p_level => C_LEVEL_PROCEDURE
35839 ,p_module => l_log_module);
35840 END IF;
35841 --
35842 EXCEPTION
35843 WHEN xla_exceptions_pkg.application_exception THEN
35844 RAISE;
35845 WHEN OTHERS THEN
35846 xla_exceptions_pkg.raise_message
35847 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_92');
35848 END AcctLineType_92;
35849 --
35850
35851 ---------------------------------------
35852 --
35853 -- PRIVATE FUNCTION
35854 -- AcctLineType_93
35855 --
35856 ---------------------------------------
35857 PROCEDURE AcctLineType_93 (
35858 p_application_id IN NUMBER
35859 ,p_event_id IN NUMBER
35860 ,p_calculate_acctd_flag IN VARCHAR2
35861 ,p_calculate_g_l_flag IN VARCHAR2
35862 ,p_actual_flag IN OUT VARCHAR2
35863 ,p_balance_type_code OUT VARCHAR2
35864 ,p_gain_or_loss_ref OUT VARCHAR2
35865
35866 --Payment Currency Code
35867 , p_source_8 IN VARCHAR2
35868 --Bank Cash Clearing Account
35869 , p_source_30 IN NUMBER
35870 --Automatic Offsets Flag
35871 , p_source_43 IN VARCHAR2
35872 , p_source_43_meaning IN VARCHAR2
35873 --When to Account for Payment Option
35874 , p_source_57 IN VARCHAR2
35875 --Accounting Reversal Indicator
35876 , p_source_58 IN VARCHAR2
35877 --Distribution Link Type
35878 , p_source_60 IN VARCHAR2
35879 --Override Accounted Amount Indicator
35880 , p_source_85 IN VARCHAR2
35881 , p_source_85_meaning IN VARCHAR2
35882 --Third Party Type
35883 , p_source_88 IN VARCHAR2
35884 --Invoice Distribution Tax Line Identifier
35885 , p_source_91 IN NUMBER
35886 --Invoice Distribution Tax Distribution Identifier from Tax
35887 , p_source_92 IN NUMBER
35888 --Invoice Distribution Summary Tax Line Identifier
35889 , p_source_93 IN NUMBER
35890 --Business Flow Accounts Payable Application Identifier
35891 , p_source_96 IN NUMBER
35892 --Business Flow Invoice Distribution Type
35893 , p_source_97 IN VARCHAR2
35894 --Business Flow Invoice Entity Code
35895 , p_source_98 IN VARCHAR2
35896 --Business Flow Invoice Distribution Identifier
35897 , p_source_99 IN NUMBER
35898 --Business Flow Invoice Identifier
35899 , p_source_100 IN NUMBER
35900 --Payment Distribution Type
35901 , p_source_101 IN VARCHAR2
35902 , p_source_101_meaning IN VARCHAR2
35903 --Payment Distribution Amount
35904 , p_source_102 IN NUMBER
35905 --Payment Distribution Identifier
35906 , p_source_107 IN NUMBER
35907 --Payment Supplier Identifier
35908 , p_source_113 IN NUMBER
35909 --Payment Supplier Site Identifier
35910 , p_source_114 IN NUMBER
35911 --Payment Distribution Reversed Identifier
35912 , p_source_115 IN NUMBER
35913 --Pooled Bank Account Option
35914 , p_source_116 IN VARCHAR2
35915 , p_source_116_meaning IN VARCHAR2
35916 --Payment Maturity Date
35917 , p_source_117 IN DATE
35918 --Payment Distribution (Invoice Rate) Ledger Amount
35919 , p_source_119 IN NUMBER
35920 --Payment Exchange Date
35921 , p_source_120 IN DATE
35922 --Payment Exchange Rate
35923 , p_source_121 IN NUMBER
35924 --Payment Exchange Rate Type
35925 , p_source_122 IN VARCHAR2
35926 --Payment Type
35927 , p_source_125 IN VARCHAR2
35928 , p_source_125_meaning IN VARCHAR2
35929 )
35930 IS
35931
35932 l_component_type VARCHAR2(80);
35933 l_component_code VARCHAR2(30);
35934 l_component_type_code VARCHAR2(1);
35935 l_component_appl_id INTEGER;
35936 l_amb_context_code VARCHAR2(30);
35937 l_entity_code VARCHAR2(30);
35941 l_line_definition_code VARCHAR2(30);
35938 l_event_class_code VARCHAR2(30);
35939 l_ae_header_id NUMBER;
35940 l_event_type_code VARCHAR2(30);
35942 l_line_definition_owner_code VARCHAR2(1);
35943 --
35944 -- adr variables
35945 l_segment VARCHAR2(30);
35946 l_ccid NUMBER;
35947 l_adr_transaction_coa_id NUMBER;
35948 l_adr_accounting_coa_id NUMBER;
35949 l_adr_flexfield_segment_code VARCHAR2(30);
35950 l_adr_flex_value_set_id NUMBER;
35951 l_adr_value_type_code VARCHAR2(30);
35952 l_adr_value_combination_id NUMBER;
35953 l_adr_value_segment_code VARCHAR2(30);
35954
35955 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
35956 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
35957 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
35958 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
35959
35960 -- 4262811 Variables ------------------------------------------------------------------------------------------
35961 l_entered_amt_idx NUMBER;
35962 l_accted_amt_idx NUMBER;
35963 l_acc_rev_flag VARCHAR2(1);
35964 l_accrual_line_num NUMBER;
35965 l_tmp_amt NUMBER;
35966 l_acc_rev_natural_side_code VARCHAR2(1);
35967
35968 l_num_entries NUMBER;
35969 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
35970 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
35971 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
35972 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
35973 l_recog_line_1 NUMBER;
35974 l_recog_line_2 NUMBER;
35975
35976 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
35977 l_bflow_applied_to_amt NUMBER; -- 5132302
35978 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
35979
35980 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
35981
35982 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
35983 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
35984
35985 ---------------------------------------------------------------------------------------------------------------
35986
35987
35988 --
35989 -- bulk performance
35990 --
35991 l_balance_type_code VARCHAR2(1);
35992 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
35993 l_log_module VARCHAR2(240);
35994
35995 --
35996 -- Upgrade strategy
35997 --
35998 l_actual_upg_option VARCHAR2(1);
35999 l_enc_upg_option VARCHAR2(1);
36000
36001 --
36002 BEGIN
36003 --
36004 IF g_log_enabled THEN
36005 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_93';
36006 END IF;
36007 --
36008 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
36009
36010 trace
36011 (p_msg => 'BEGIN of AcctLineType_93'
36012 ,p_level => C_LEVEL_PROCEDURE
36013 ,p_module => l_log_module);
36014
36015 END IF;
36016 --
36017 l_component_type := 'AMB_JLT';
36018 l_component_code := 'AP_CASH_CLEAR_REF_INVXRATE';
36019 l_component_type_code := 'S';
36020 l_component_appl_id := 200;
36021 l_amb_context_code := 'DEFAULT';
36022 l_entity_code := 'AP_PAYMENTS';
36023 l_event_class_code := 'REFUNDS';
36024 l_event_type_code := 'REFUNDS_ALL';
36025 l_line_definition_owner_code := 'S';
36026 l_line_definition_code := 'ACCRUAL_REFUNDS_ALL';
36027 --
36028 l_balance_type_code := 'A';
36029 l_segment := NULL;
36030 l_ccid := NULL;
36031 l_adr_transaction_coa_id := NULL;
36032 l_adr_accounting_coa_id := NULL;
36033 l_adr_flexfield_segment_code := NULL;
36034 l_adr_flex_value_set_id := NULL;
36035 l_adr_value_type_code := NULL;
36036 l_adr_value_combination_id := NULL;
36037 l_adr_value_segment_code := NULL;
36038
36039 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
36040 l_bflow_class_code := 'AP_CASH_CLEARING'; -- 4219869 Business Flow
36041 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
36042 l_budgetary_control_flag := 'N';
36043
36044 l_bflow_applied_to_amt_idx := NULL; -- 5132302
36045 l_bflow_applied_to_amt := NULL; -- 5132302
36046 l_entered_amt_idx := NULL; -- 4262811
36047 l_accted_amt_idx := NULL; -- 4262811
36048 l_acc_rev_flag := NULL; -- 4262811
36049 l_accrual_line_num := NULL; -- 4262811
36050 l_tmp_amt := NULL; -- 4262811
36051 --
36052
36053 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
36054 l_balance_type_code <> 'B' THEN
36055 IF NVL(p_source_57,'
36056 ') = 'ALWAYS_CLEAR' AND
36057 (NVL(p_source_43,'
36058 ') <> 'Y' OR
36059 NVL(p_source_43,'
36060 ') = 'Y' AND
36061 NVL(p_source_116,'
36062 ') <> 'Y') AND
36063 p_source_117 IS NULL AND
36064 NVL(p_source_101,'
36065 ') = 'CASH' AND
36066 NVL(p_source_125,'
36067 ') = 'R'
36071 XLA_AE_LINES_PKG.SetNewLine;
36068 THEN
36069
36070 --
36072
36073 p_balance_type_code := l_balance_type_code;
36074 -- set the flag so later we will know whether the gain loss line needs to be created
36075
36076 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
36077 p_actual_flag :='A';
36078 END IF;
36079
36080 --
36081 -- bulk performance
36082 --
36083 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
36084 p_header_num => 0); -- 4262811
36085 --
36086 -- set accounting line options
36087 --
36088 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
36089 p_natural_side_code => 'C'
36090 , p_gain_or_loss_flag => 'N'
36091 , p_gl_transfer_mode_code => 'S'
36092 , p_acct_entry_type_code => 'A'
36093 , p_switch_side_flag => 'Y'
36094 , p_merge_duplicate_code => 'A'
36095 );
36096 --
36097 l_acc_rev_natural_side_code := 'D'; -- 4262811
36098 --
36099 --
36100 -- set accounting line type info
36101 --
36102 xla_ae_lines_pkg.SetAcctLineType
36103 (p_component_type => l_component_type
36104 ,p_event_type_code => l_event_type_code
36105 ,p_line_definition_owner_code => l_line_definition_owner_code
36106 ,p_line_definition_code => l_line_definition_code
36107 ,p_accounting_line_code => l_component_code
36108 ,p_accounting_line_type_code => l_component_type_code
36109 ,p_accounting_line_appl_id => l_component_appl_id
36110 ,p_amb_context_code => l_amb_context_code
36111 ,p_entity_code => l_entity_code
36112 ,p_event_class_code => l_event_class_code);
36113 --
36114 -- set accounting class
36115 --
36116 xla_ae_lines_pkg.SetAcctClass(
36117 p_accounting_class_code => 'CASH_CLEARING'
36118 , p_ae_header_id => l_ae_header_id
36119 );
36120
36121 --
36122 -- set rounding class
36123 --
36124 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
36125 'CASH_CLEARING';
36126
36127 --
36128 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
36129 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
36130 --
36131 -- bulk performance
36132 --
36133 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
36134
36135 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
36136 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
36137
36138 -- 4955764
36139 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
36140 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
36141
36142 -- 4458381 Public Sector Enh
36143
36144 --
36145 -- set accounting attributes for the line type
36146 --
36147 l_entered_amt_idx := 9;
36148 l_accted_amt_idx := 14;
36149 l_bflow_applied_to_amt_idx := NULL; -- 5132302
36150 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
36151 l_rec_acct_attrs.array_char_value(1) := p_source_58;
36152 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_APPLICATION_ID';
36153 l_rec_acct_attrs.array_num_value(2) := p_source_96;
36154 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_DISTRIBUTION_TYPE';
36155 l_rec_acct_attrs.array_char_value(3) := p_source_97;
36156 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_ENTITY_CODE';
36157 l_rec_acct_attrs.array_char_value(4) := p_source_98;
36158 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_FIRST_DIST_ID';
36159 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_99);
36160 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
36161 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_100);
36162 l_rec_acct_attrs.array_acct_attr_code(7) := 'DISTRIBUTION_IDENTIFIER_1';
36163 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_107);
36164 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_TYPE';
36165 l_rec_acct_attrs.array_char_value(8) := p_source_60;
36166 l_rec_acct_attrs.array_acct_attr_code(9) := 'ENTERED_CURRENCY_AMOUNT';
36167 l_rec_acct_attrs.array_num_value(9) := p_source_102;
36168 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_CODE';
36169 l_rec_acct_attrs.array_char_value(10) := p_source_8;
36170 l_rec_acct_attrs.array_acct_attr_code(11) := 'EXCHANGE_DATE';
36171 l_rec_acct_attrs.array_date_value(11) := p_source_120;
36172 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_RATE';
36173 l_rec_acct_attrs.array_num_value(12) := p_source_121;
36174 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE_TYPE';
36175 l_rec_acct_attrs.array_char_value(13) := p_source_122;
36176 l_rec_acct_attrs.array_acct_attr_code(14) := 'LEDGER_AMOUNT';
36177 l_rec_acct_attrs.array_num_value(14) := p_source_119;
36178 l_rec_acct_attrs.array_acct_attr_code(15) := 'OVERRIDE_ACCTD_AMT_FLAG';
36179 l_rec_acct_attrs.array_char_value(15) := p_source_85;
36180 l_rec_acct_attrs.array_acct_attr_code(16) := 'PARTY_ID';
36184 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_TYPE';
36181 l_rec_acct_attrs.array_num_value(16) := p_source_113;
36182 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_SITE_ID';
36183 l_rec_acct_attrs.array_num_value(17) := p_source_114;
36185 l_rec_acct_attrs.array_char_value(18) := p_source_88;
36186 l_rec_acct_attrs.array_acct_attr_code(19) := 'REVERSED_DISTRIBUTION_ID1';
36187 l_rec_acct_attrs.array_num_value(19) := to_char(p_source_115);
36188 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_TYPE';
36189 l_rec_acct_attrs.array_char_value(20) := p_source_60;
36190 l_rec_acct_attrs.array_acct_attr_code(21) := 'TAX_LINE_REF_ID';
36191 l_rec_acct_attrs.array_num_value(21) := p_source_91;
36192 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_REC_NREC_DIST_REF_ID';
36193 l_rec_acct_attrs.array_num_value(22) := p_source_92;
36194 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_SUMMARY_LINE_REF_ID';
36195 l_rec_acct_attrs.array_num_value(23) := p_source_93;
36196
36197 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
36198 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
36199
36200 ---------------------------------------------------------------------------------------------------------------
36201 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
36202 ---------------------------------------------------------------------------------------------------------------
36203 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
36204
36205 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
36206 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
36207
36208 IF xla_accounting_cache_pkg.GetValueChar
36209 (p_source_code => 'LEDGER_CATEGORY_CODE'
36210 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
36211 AND l_bflow_method_code = 'PRIOR_ENTRY'
36212 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
36213 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
36214 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
36215 )
36216 THEN
36217 xla_ae_lines_pkg.BflowUpgEntry
36218 (p_business_method_code => l_bflow_method_code
36219 ,p_business_class_code => l_bflow_class_code
36220 ,p_balance_type => l_balance_type_code);
36221 ELSE
36222 NULL;
36223 -- No business flow processing for business flow method of NONE.
36224 END IF;
36225
36226 --
36227 -- call analytical criteria
36228 --
36229
36230 --
36231 -- call description
36232 --
36233 -- No description or it is inherited.
36234 --
36235 -- call ADRs
36236 -- Bug 4922099
36237 --
36238 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
36239 (NVL(l_actual_upg_option, 'N') = 'O') OR
36240 (NVL(l_enc_upg_option, 'N') = 'O')
36241 )
36242 THEN
36243 NULL;
36244 --
36245 --
36246
36247 l_ccid := AcctDerRule_38(
36248 p_application_id => p_application_id
36249 , p_ae_header_id => l_ae_header_id
36250 , p_source_30 => p_source_30
36251 , x_transaction_coa_id => l_adr_transaction_coa_id
36252 , x_accounting_coa_id => l_adr_accounting_coa_id
36253 , x_value_type_code => l_adr_value_type_code
36254 , p_side => 'NA'
36255 );
36256
36257 xla_ae_lines_pkg.set_ccid(
36258 p_code_combination_id => l_ccid
36259 , p_value_type_code => l_adr_value_type_code
36260 , p_transaction_coa_id => l_adr_transaction_coa_id
36261 , p_accounting_coa_id => l_adr_accounting_coa_id
36262 , p_adr_code => 'AP_PMT_CASH_CLEAR'
36263 , p_adr_type_code => 'S'
36264 , p_component_type => l_component_type
36265 , p_component_code => l_component_code
36266 , p_component_type_code => l_component_type_code
36267 , p_component_appl_id => l_component_appl_id
36268 , p_amb_context_code => l_amb_context_code
36269 , p_side => 'NA'
36270 );
36271
36272
36273 --
36274 --
36275 END IF;
36276 --
36277 -- Bug 4922099
36278 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
36279 (NVL(l_enc_upg_option, 'N') = 'O')
36280 ) AND
36281 (l_bflow_method_code = 'PRIOR_ENTRY')
36282 )
36283 THEN
36284 IF
36285 --
36286 1 = 2
36287 --
36288 THEN
36289 xla_accounting_err_pkg.build_message
36290 (p_appli_s_name => 'XLA'
36291 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
36292 ,p_token_1 => 'LINE_NUMBER'
36293 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
36294 ,p_token_2 => 'LINE_TYPE_NAME'
36295 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
36296 l_component_type
36300 ,l_amb_context_code
36297 ,l_component_code
36298 ,l_component_type_code
36299 ,l_component_appl_id
36301 ,l_entity_code
36302 ,l_event_class_code
36303 )
36304 ,p_token_3 => 'OWNER'
36305 ,p_value_3 => xla_lookups_pkg.get_meaning(
36306 p_lookup_type => 'XLA_OWNER_TYPE'
36307 ,p_lookup_code => l_component_type_code
36308 )
36309 ,p_token_4 => 'PRODUCT_NAME'
36310 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
36311 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
36312 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
36313 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
36314 ,p_ae_header_id => NULL
36315 );
36316
36317 IF (C_LEVEL_ERROR>= g_log_level) THEN
36318 trace
36319 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
36320 ,p_level => C_LEVEL_ERROR
36321 ,p_module => l_log_module);
36322 END IF;
36323 END IF;
36324 END IF;
36325 --
36326 --
36327 ------------------------------------------------------------------------------------------------
36328 -- 4219869 Business Flow
36329 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
36330 -- Prior Entry. Currently, the following code is always generated.
36331 ------------------------------------------------------------------------------------------------
36332 XLA_AE_LINES_PKG.ValidateCurrentLine;
36333
36334 ------------------------------------------------------------------------------------
36335 -- 4219869 Business Flow
36336 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
36337 ------------------------------------------------------------------------------------
36338 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
36339
36340 ----------------------------------------------------------------------------------
36341 -- 4219869 Business Flow
36342 -- Update journal entry status -- Need to generate this within IF <condition>
36343 ----------------------------------------------------------------------------------
36344 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
36345 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
36346 ,p_balance_type_code => l_balance_type_code
36347 );
36348
36349 -------------------------------------------------------------------------------------------
36350 -- 4262811 - Generate the Accrual Reversal lines
36351 -------------------------------------------------------------------------------------------
36352 BEGIN
36353 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
36354 (g_array_event(p_event_id).array_value_num('header_index'));
36355 IF l_acc_rev_flag IS NULL THEN
36356 l_acc_rev_flag := 'N';
36357 END IF;
36358 EXCEPTION
36359 WHEN OTHERS THEN
36360 l_acc_rev_flag := 'N';
36361 END;
36362 --
36363 IF (l_acc_rev_flag = 'Y') THEN
36364
36365 -- 4645092 ------------------------------------------------------------------------------
36366 -- To allow MPA report to determine if it should generate report process
36367 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
36368 ------------------------------------------------------------------------------------------
36369
36370 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
36371 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
36372 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
36373 -- call ADRs
36374 -- Bug 4922099
36375 --
36376 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
36377 (NVL(l_actual_upg_option, 'N') = 'O') OR
36378 (NVL(l_enc_upg_option, 'N') = 'O')
36379 )
36380 THEN
36381 NULL;
36382 --
36383 --
36384
36385 l_ccid := AcctDerRule_38(
36386 p_application_id => p_application_id
36387 , p_ae_header_id => l_ae_header_id
36388 , p_source_30 => p_source_30
36389 , x_transaction_coa_id => l_adr_transaction_coa_id
36390 , x_accounting_coa_id => l_adr_accounting_coa_id
36391 , x_value_type_code => l_adr_value_type_code
36392 , p_side => 'NA'
36393 );
36394
36395 xla_ae_lines_pkg.set_ccid(
36399 , p_accounting_coa_id => l_adr_accounting_coa_id
36396 p_code_combination_id => l_ccid
36397 , p_value_type_code => l_adr_value_type_code
36398 , p_transaction_coa_id => l_adr_transaction_coa_id
36400 , p_adr_code => 'AP_PMT_CASH_CLEAR'
36401 , p_adr_type_code => 'S'
36402 , p_component_type => l_component_type
36403 , p_component_code => l_component_code
36404 , p_component_type_code => l_component_type_code
36405 , p_component_appl_id => l_component_appl_id
36406 , p_amb_context_code => l_amb_context_code
36407 , p_side => 'NA'
36408 );
36409
36410
36411 --
36412 --
36413 END IF;
36414
36415 --
36416 -- Update the line information that should be overwritten
36417 --
36418 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
36419 p_header_num => 1);
36420 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
36421
36422 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
36423
36424 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
36425 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
36426 END IF;
36427
36428 --
36429 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
36430 --
36431 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
36432 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
36433 ELSE
36434 ---------------------------------------------------------------------------------------------------
36435 -- 4262811a Switch Sign
36436 ---------------------------------------------------------------------------------------------------
36437 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
36438 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
36439 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
36440 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
36441 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
36442 -- 5132302
36443 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
36444 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
36445
36446 END IF;
36447
36448 -- 4955764
36449 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
36450 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
36451
36452
36453 XLA_AE_LINES_PKG.ValidateCurrentLine;
36454 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
36455
36456 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
36457 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
36458 ,p_balance_type_code => l_balance_type_code);
36459
36460 END IF;
36461
36462 -----------------------------------------------------------------------------------------
36463 -- 4262811 Multiperiod Accounting
36464 -----------------------------------------------------------------------------------------
36465 -- No MPA option is assigned.
36466
36467
36468 END IF;
36469 END IF;
36470 --
36471
36472 --
36473 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
36474 trace
36475 (p_msg => 'END of AcctLineType_93'
36476 ,p_level => C_LEVEL_PROCEDURE
36477 ,p_module => l_log_module);
36478 END IF;
36479 --
36480 EXCEPTION
36481 WHEN xla_exceptions_pkg.application_exception THEN
36482 RAISE;
36483 WHEN OTHERS THEN
36484 xla_exceptions_pkg.raise_message
36485 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_93');
36486 END AcctLineType_93;
36487 --
36488
36489 ---------------------------------------
36490 --
36491 -- PRIVATE FUNCTION
36492 -- AcctLineType_94
36493 --
36494 ---------------------------------------
36495 PROCEDURE AcctLineType_94 (
36496 p_application_id IN NUMBER
36497 ,p_event_id IN NUMBER
36498 ,p_calculate_acctd_flag IN VARCHAR2
36499 ,p_calculate_g_l_flag IN VARCHAR2
36500 ,p_actual_flag IN OUT VARCHAR2
36501 ,p_balance_type_code OUT VARCHAR2
36502 ,p_gain_or_loss_ref OUT VARCHAR2
36503
36504 --Payment Currency Code
36505 , p_source_8 IN VARCHAR2
36506 --Bank Cash Account
36507 , p_source_12 IN NUMBER
36508 --Automatic Offsets Flag
36509 , p_source_43 IN VARCHAR2
36510 , p_source_43_meaning IN VARCHAR2
36511 --When to Account for Payment Option
36512 , p_source_57 IN VARCHAR2
36513 --Accounting Reversal Indicator
36514 , p_source_58 IN VARCHAR2
36515 --Distribution Link Type
36516 , p_source_60 IN VARCHAR2
36517 --Override Accounted Amount Indicator
36518 , p_source_85 IN VARCHAR2
36522 --Invoice Distribution Tax Line Identifier
36519 , p_source_85_meaning IN VARCHAR2
36520 --Third Party Type
36521 , p_source_88 IN VARCHAR2
36523 , p_source_91 IN NUMBER
36524 --Invoice Distribution Tax Distribution Identifier from Tax
36525 , p_source_92 IN NUMBER
36526 --Invoice Distribution Summary Tax Line Identifier
36527 , p_source_93 IN NUMBER
36528 --Business Flow Accounts Payable Application Identifier
36529 , p_source_96 IN NUMBER
36530 --Business Flow Invoice Distribution Type
36531 , p_source_97 IN VARCHAR2
36532 --Business Flow Invoice Entity Code
36533 , p_source_98 IN VARCHAR2
36534 --Business Flow Invoice Distribution Identifier
36535 , p_source_99 IN NUMBER
36536 --Business Flow Invoice Identifier
36537 , p_source_100 IN NUMBER
36538 --Payment Distribution Type
36539 , p_source_101 IN VARCHAR2
36540 , p_source_101_meaning IN VARCHAR2
36541 --Payment Distribution Amount
36542 , p_source_102 IN NUMBER
36543 --Payment Distribution Identifier
36544 , p_source_107 IN NUMBER
36545 --Payment Supplier Identifier
36546 , p_source_113 IN NUMBER
36547 --Payment Supplier Site Identifier
36548 , p_source_114 IN NUMBER
36549 --Payment Distribution Reversed Identifier
36550 , p_source_115 IN NUMBER
36551 --Pooled Bank Account Option
36552 , p_source_116 IN VARCHAR2
36553 , p_source_116_meaning IN VARCHAR2
36554 --Payment Maturity Date
36555 , p_source_117 IN DATE
36556 --Payment Distribution (Payment Rate) Ledger Amount
36557 , p_source_118 IN NUMBER
36558 --Payment Exchange Date
36559 , p_source_120 IN DATE
36560 --Payment Exchange Rate
36561 , p_source_121 IN NUMBER
36562 --Payment Exchange Rate Type
36563 , p_source_122 IN VARCHAR2
36564 --Payment Type
36565 , p_source_125 IN VARCHAR2
36566 , p_source_125_meaning IN VARCHAR2
36567 --Payment Processing Type
36568 , p_source_126 IN VARCHAR2
36569 --Invoice Distribution Amount of the Payment Distribution
36570 , p_source_127 IN NUMBER
36571 )
36572 IS
36573
36574 l_component_type VARCHAR2(80);
36575 l_component_code VARCHAR2(30);
36576 l_component_type_code VARCHAR2(1);
36577 l_component_appl_id INTEGER;
36578 l_amb_context_code VARCHAR2(30);
36579 l_entity_code VARCHAR2(30);
36580 l_event_class_code VARCHAR2(30);
36581 l_ae_header_id NUMBER;
36582 l_event_type_code VARCHAR2(30);
36583 l_line_definition_code VARCHAR2(30);
36584 l_line_definition_owner_code VARCHAR2(1);
36585 --
36586 -- adr variables
36587 l_segment VARCHAR2(30);
36588 l_ccid NUMBER;
36589 l_adr_transaction_coa_id NUMBER;
36590 l_adr_accounting_coa_id NUMBER;
36591 l_adr_flexfield_segment_code VARCHAR2(30);
36592 l_adr_flex_value_set_id NUMBER;
36593 l_adr_value_type_code VARCHAR2(30);
36594 l_adr_value_combination_id NUMBER;
36595 l_adr_value_segment_code VARCHAR2(30);
36596
36597 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
36598 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
36599 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
36600 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
36601
36602 -- 4262811 Variables ------------------------------------------------------------------------------------------
36603 l_entered_amt_idx NUMBER;
36604 l_accted_amt_idx NUMBER;
36605 l_acc_rev_flag VARCHAR2(1);
36606 l_accrual_line_num NUMBER;
36607 l_tmp_amt NUMBER;
36608 l_acc_rev_natural_side_code VARCHAR2(1);
36609
36610 l_num_entries NUMBER;
36611 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
36612 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
36613 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
36614 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
36615 l_recog_line_1 NUMBER;
36616 l_recog_line_2 NUMBER;
36617
36618 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
36619 l_bflow_applied_to_amt NUMBER; -- 5132302
36620 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
36621
36622 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
36623
36624 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
36625 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
36626
36627 ---------------------------------------------------------------------------------------------------------------
36628
36629
36630 --
36631 -- bulk performance
36632 --
36633 l_balance_type_code VARCHAR2(1);
36634 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
36635 l_log_module VARCHAR2(240);
36636
36637 --
36638 -- Upgrade strategy
36639 --
36640 l_actual_upg_option VARCHAR2(1);
36641 l_enc_upg_option VARCHAR2(1);
36642
36643 --
36644 BEGIN
36648 END IF;
36645 --
36646 IF g_log_enabled THEN
36647 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_94';
36649 --
36650 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
36651
36652 trace
36653 (p_msg => 'BEGIN of AcctLineType_94'
36654 ,p_level => C_LEVEL_PROCEDURE
36655 ,p_module => l_log_module);
36656
36657 END IF;
36658 --
36659 l_component_type := 'AMB_JLT';
36660 l_component_code := 'AP_CASH_PMT';
36661 l_component_type_code := 'S';
36662 l_component_appl_id := 200;
36663 l_amb_context_code := 'DEFAULT';
36664 l_entity_code := 'AP_PAYMENTS';
36665 l_event_class_code := 'PAYMENTS';
36666 l_event_type_code := 'PAYMENTS_ALL';
36667 l_line_definition_owner_code := 'S';
36668 l_line_definition_code := 'ACCRUAL_PAYMENTS_ALL';
36669 --
36670 l_balance_type_code := 'A';
36671 l_segment := NULL;
36672 l_ccid := NULL;
36673 l_adr_transaction_coa_id := NULL;
36674 l_adr_accounting_coa_id := NULL;
36675 l_adr_flexfield_segment_code := NULL;
36676 l_adr_flex_value_set_id := NULL;
36677 l_adr_value_type_code := NULL;
36678 l_adr_value_combination_id := NULL;
36679 l_adr_value_segment_code := NULL;
36680
36681 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
36682 l_bflow_class_code := ''; -- 4219869 Business Flow
36683 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
36684 l_budgetary_control_flag := 'N';
36685
36686 l_bflow_applied_to_amt_idx := NULL; -- 5132302
36687 l_bflow_applied_to_amt := NULL; -- 5132302
36688 l_entered_amt_idx := NULL; -- 4262811
36689 l_accted_amt_idx := NULL; -- 4262811
36690 l_acc_rev_flag := NULL; -- 4262811
36691 l_accrual_line_num := NULL; -- 4262811
36692 l_tmp_amt := NULL; -- 4262811
36693 --
36694
36695 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
36696 l_balance_type_code <> 'B' THEN
36697 IF NVL(p_source_57,'
36698 ') = 'ISSUE_ISSUE' AND
36699 (NVL(p_source_43,'
36700 ') <> 'Y' OR
36701 NVL(p_source_43,'
36702 ') = 'Y' AND
36703 NVL(p_source_116,'
36704 ') <> 'Y') AND
36705 p_source_117 IS NULL AND
36706 NVL(p_source_101,'
36707 ') = 'CASH' AND
36708 NVL(p_source_125,'
36709 ') <> 'R' AND
36710 NVL(p_source_126,'
36711 ') <> 'PAYMENTCARD'
36712 THEN
36713
36714 --
36715 XLA_AE_LINES_PKG.SetNewLine;
36716
36717 p_balance_type_code := l_balance_type_code;
36718 -- set the flag so later we will know whether the gain loss line needs to be created
36719
36720 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
36721 p_actual_flag :='A';
36722 END IF;
36723
36724 --
36725 -- bulk performance
36726 --
36727 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
36728 p_header_num => 0); -- 4262811
36729 --
36730 -- set accounting line options
36731 --
36732 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
36733 p_natural_side_code => 'C'
36734 , p_gain_or_loss_flag => 'N'
36735 , p_gl_transfer_mode_code => 'S'
36736 , p_acct_entry_type_code => 'A'
36737 , p_switch_side_flag => 'Y'
36738 , p_merge_duplicate_code => 'A'
36739 );
36740 --
36741 l_acc_rev_natural_side_code := 'D'; -- 4262811
36742 --
36743 --
36744 -- set accounting line type info
36745 --
36746 xla_ae_lines_pkg.SetAcctLineType
36747 (p_component_type => l_component_type
36748 ,p_event_type_code => l_event_type_code
36749 ,p_line_definition_owner_code => l_line_definition_owner_code
36750 ,p_line_definition_code => l_line_definition_code
36751 ,p_accounting_line_code => l_component_code
36752 ,p_accounting_line_type_code => l_component_type_code
36753 ,p_accounting_line_appl_id => l_component_appl_id
36754 ,p_amb_context_code => l_amb_context_code
36755 ,p_entity_code => l_entity_code
36756 ,p_event_class_code => l_event_class_code);
36757 --
36758 -- set accounting class
36759 --
36760 xla_ae_lines_pkg.SetAcctClass(
36761 p_accounting_class_code => 'CASH'
36762 , p_ae_header_id => l_ae_header_id
36763 );
36764
36765 --
36766 -- set rounding class
36767 --
36768 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
36769 'CASH';
36770
36771 --
36772 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
36773 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
36774 --
36775 -- bulk performance
36776 --
36777 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
36778
36779 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
36783 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
36780 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
36781
36782 -- 4955764
36784 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
36785
36786 -- 4458381 Public Sector Enh
36787
36788 --
36789 -- set accounting attributes for the line type
36790 --
36791 l_entered_amt_idx := 10;
36792 l_accted_amt_idx := 15;
36793 l_bflow_applied_to_amt_idx := 2; -- 5132302
36794 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
36795 l_rec_acct_attrs.array_char_value(1) := p_source_58;
36796 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
36797 l_rec_acct_attrs.array_num_value(2) := p_source_127;
36798 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
36799 l_rec_acct_attrs.array_num_value(3) := p_source_96;
36800 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
36801 l_rec_acct_attrs.array_char_value(4) := p_source_97;
36802 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
36803 l_rec_acct_attrs.array_char_value(5) := p_source_98;
36804 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
36805 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_99);
36806 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
36807 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_100);
36808 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
36809 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_107);
36810 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
36811 l_rec_acct_attrs.array_char_value(9) := p_source_60;
36812 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
36813 l_rec_acct_attrs.array_num_value(10) := p_source_102;
36814 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
36815 l_rec_acct_attrs.array_char_value(11) := p_source_8;
36816 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
36817 l_rec_acct_attrs.array_date_value(12) := p_source_120;
36818 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
36819 l_rec_acct_attrs.array_num_value(13) := p_source_121;
36820 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
36821 l_rec_acct_attrs.array_char_value(14) := p_source_122;
36822 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
36823 l_rec_acct_attrs.array_num_value(15) := p_source_118;
36824 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
36825 l_rec_acct_attrs.array_char_value(16) := p_source_85;
36826 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
36827 l_rec_acct_attrs.array_num_value(17) := p_source_113;
36828 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
36829 l_rec_acct_attrs.array_num_value(18) := p_source_114;
36830 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
36831 l_rec_acct_attrs.array_char_value(19) := p_source_88;
36832 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
36833 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_115);
36834 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
36835 l_rec_acct_attrs.array_char_value(21) := p_source_60;
36836 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
36837 l_rec_acct_attrs.array_num_value(22) := p_source_91;
36838 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
36839 l_rec_acct_attrs.array_num_value(23) := p_source_92;
36840 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
36841 l_rec_acct_attrs.array_num_value(24) := p_source_93;
36842
36843 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
36844 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
36845
36846 ---------------------------------------------------------------------------------------------------------------
36847 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
36848 ---------------------------------------------------------------------------------------------------------------
36849 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
36850
36851 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
36852 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
36853
36854 IF xla_accounting_cache_pkg.GetValueChar
36855 (p_source_code => 'LEDGER_CATEGORY_CODE'
36856 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
36857 AND l_bflow_method_code = 'PRIOR_ENTRY'
36858 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
36859 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
36860 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
36861 )
36862 THEN
36863 xla_ae_lines_pkg.BflowUpgEntry
36864 (p_business_method_code => l_bflow_method_code
36865 ,p_business_class_code => l_bflow_class_code
36866 ,p_balance_type => l_balance_type_code);
36867 ELSE
36868 NULL;
36869 -- No business flow processing for business flow method of NONE.
36870 END IF;
36871
36872 --
36876 --
36873 -- call analytical criteria
36874 --
36875
36877 -- call description
36878 --
36879 -- No description or it is inherited.
36880 --
36881 -- call ADRs
36882 -- Bug 4922099
36883 --
36884 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
36885 (NVL(l_actual_upg_option, 'N') = 'O') OR
36886 (NVL(l_enc_upg_option, 'N') = 'O')
36887 )
36888 THEN
36889 NULL;
36890 --
36891 --
36892
36893 l_ccid := AcctDerRule_30(
36894 p_application_id => p_application_id
36895 , p_ae_header_id => l_ae_header_id
36896 , p_source_12 => p_source_12
36897 , x_transaction_coa_id => l_adr_transaction_coa_id
36898 , x_accounting_coa_id => l_adr_accounting_coa_id
36899 , x_value_type_code => l_adr_value_type_code
36900 , p_side => 'NA'
36901 );
36902
36903 xla_ae_lines_pkg.set_ccid(
36904 p_code_combination_id => l_ccid
36905 , p_value_type_code => l_adr_value_type_code
36906 , p_transaction_coa_id => l_adr_transaction_coa_id
36907 , p_accounting_coa_id => l_adr_accounting_coa_id
36908 , p_adr_code => 'AP_CASH'
36909 , p_adr_type_code => 'S'
36910 , p_component_type => l_component_type
36911 , p_component_code => l_component_code
36912 , p_component_type_code => l_component_type_code
36913 , p_component_appl_id => l_component_appl_id
36914 , p_amb_context_code => l_amb_context_code
36915 , p_side => 'NA'
36916 );
36917
36918
36919 --
36920 --
36921 END IF;
36922 --
36923 -- Bug 4922099
36924 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
36925 (NVL(l_enc_upg_option, 'N') = 'O')
36926 ) AND
36927 (l_bflow_method_code = 'PRIOR_ENTRY')
36928 )
36929 THEN
36930 IF
36931 --
36932 1 = 2
36933 --
36934 THEN
36935 xla_accounting_err_pkg.build_message
36936 (p_appli_s_name => 'XLA'
36937 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
36938 ,p_token_1 => 'LINE_NUMBER'
36939 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
36940 ,p_token_2 => 'LINE_TYPE_NAME'
36941 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
36942 l_component_type
36943 ,l_component_code
36944 ,l_component_type_code
36945 ,l_component_appl_id
36946 ,l_amb_context_code
36947 ,l_entity_code
36948 ,l_event_class_code
36949 )
36950 ,p_token_3 => 'OWNER'
36951 ,p_value_3 => xla_lookups_pkg.get_meaning(
36952 p_lookup_type => 'XLA_OWNER_TYPE'
36953 ,p_lookup_code => l_component_type_code
36954 )
36955 ,p_token_4 => 'PRODUCT_NAME'
36956 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
36957 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
36958 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
36959 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
36960 ,p_ae_header_id => NULL
36961 );
36962
36963 IF (C_LEVEL_ERROR>= g_log_level) THEN
36964 trace
36965 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
36966 ,p_level => C_LEVEL_ERROR
36967 ,p_module => l_log_module);
36968 END IF;
36969 END IF;
36970 END IF;
36971 --
36972 --
36973 ------------------------------------------------------------------------------------------------
36974 -- 4219869 Business Flow
36975 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
36976 -- Prior Entry. Currently, the following code is always generated.
36977 ------------------------------------------------------------------------------------------------
36978 XLA_AE_LINES_PKG.ValidateCurrentLine;
36979
36980 ------------------------------------------------------------------------------------
36981 -- 4219869 Business Flow
36985
36982 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
36983 ------------------------------------------------------------------------------------
36984 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
36986 ----------------------------------------------------------------------------------
36987 -- 4219869 Business Flow
36988 -- Update journal entry status -- Need to generate this within IF <condition>
36989 ----------------------------------------------------------------------------------
36990 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
36991 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
36992 ,p_balance_type_code => l_balance_type_code
36993 );
36994
36995 -------------------------------------------------------------------------------------------
36996 -- 4262811 - Generate the Accrual Reversal lines
36997 -------------------------------------------------------------------------------------------
36998 BEGIN
36999 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
37000 (g_array_event(p_event_id).array_value_num('header_index'));
37001 IF l_acc_rev_flag IS NULL THEN
37002 l_acc_rev_flag := 'N';
37003 END IF;
37004 EXCEPTION
37005 WHEN OTHERS THEN
37006 l_acc_rev_flag := 'N';
37007 END;
37008 --
37009 IF (l_acc_rev_flag = 'Y') THEN
37010
37011 -- 4645092 ------------------------------------------------------------------------------
37012 -- To allow MPA report to determine if it should generate report process
37013 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
37014 ------------------------------------------------------------------------------------------
37015
37016 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
37017 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
37018 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
37019 -- call ADRs
37020 -- Bug 4922099
37021 --
37022 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
37023 (NVL(l_actual_upg_option, 'N') = 'O') OR
37024 (NVL(l_enc_upg_option, 'N') = 'O')
37025 )
37026 THEN
37027 NULL;
37028 --
37029 --
37030
37031 l_ccid := AcctDerRule_30(
37032 p_application_id => p_application_id
37033 , p_ae_header_id => l_ae_header_id
37034 , p_source_12 => p_source_12
37035 , x_transaction_coa_id => l_adr_transaction_coa_id
37036 , x_accounting_coa_id => l_adr_accounting_coa_id
37037 , x_value_type_code => l_adr_value_type_code
37038 , p_side => 'NA'
37039 );
37040
37041 xla_ae_lines_pkg.set_ccid(
37042 p_code_combination_id => l_ccid
37043 , p_value_type_code => l_adr_value_type_code
37044 , p_transaction_coa_id => l_adr_transaction_coa_id
37045 , p_accounting_coa_id => l_adr_accounting_coa_id
37046 , p_adr_code => 'AP_CASH'
37047 , p_adr_type_code => 'S'
37048 , p_component_type => l_component_type
37049 , p_component_code => l_component_code
37050 , p_component_type_code => l_component_type_code
37051 , p_component_appl_id => l_component_appl_id
37052 , p_amb_context_code => l_amb_context_code
37053 , p_side => 'NA'
37054 );
37055
37056
37057 --
37058 --
37059 END IF;
37060
37061 --
37062 -- Update the line information that should be overwritten
37063 --
37064 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
37065 p_header_num => 1);
37066 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
37067
37068 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
37069
37070 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
37071 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
37072 END IF;
37073
37074 --
37075 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
37076 --
37077 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
37078 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
37079 ELSE
37080 ---------------------------------------------------------------------------------------------------
37081 -- 4262811a Switch Sign
37082 ---------------------------------------------------------------------------------------------------
37083 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
37084 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
37085 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
37086 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
37087 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
37088 -- 5132302
37089 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
37093
37090 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
37091
37092 END IF;
37094 -- 4955764
37095 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
37096 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
37097
37098
37099 XLA_AE_LINES_PKG.ValidateCurrentLine;
37100 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
37101
37102 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
37103 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
37104 ,p_balance_type_code => l_balance_type_code);
37105
37106 END IF;
37107
37108 -----------------------------------------------------------------------------------------
37109 -- 4262811 Multiperiod Accounting
37110 -----------------------------------------------------------------------------------------
37111 -- No MPA option is assigned.
37112
37113
37114 END IF;
37115 END IF;
37116 --
37117
37118 --
37119 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
37120 trace
37121 (p_msg => 'END of AcctLineType_94'
37122 ,p_level => C_LEVEL_PROCEDURE
37123 ,p_module => l_log_module);
37124 END IF;
37125 --
37126 EXCEPTION
37127 WHEN xla_exceptions_pkg.application_exception THEN
37128 RAISE;
37129 WHEN OTHERS THEN
37130 xla_exceptions_pkg.raise_message
37131 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_94');
37132 END AcctLineType_94;
37133 --
37134
37135 ---------------------------------------
37136 --
37137 -- PRIVATE FUNCTION
37138 -- AcctLineType_95
37139 --
37140 ---------------------------------------
37141 PROCEDURE AcctLineType_95 (
37142 p_application_id IN NUMBER
37143 ,p_event_id IN NUMBER
37144 ,p_calculate_acctd_flag IN VARCHAR2
37145 ,p_calculate_g_l_flag IN VARCHAR2
37146 ,p_actual_flag IN OUT VARCHAR2
37147 ,p_balance_type_code OUT VARCHAR2
37148 ,p_gain_or_loss_ref OUT VARCHAR2
37149
37150 --Payment Currency Code
37151 , p_source_8 IN VARCHAR2
37152 --Automatic Offsets Value
37153 , p_source_10 IN VARCHAR2
37154 , p_source_10_meaning IN VARCHAR2
37155 --Bank Cash Account
37156 , p_source_12 IN NUMBER
37157 --When to Account for Payment Option
37158 , p_source_57 IN VARCHAR2
37159 --Accounting Reversal Indicator
37160 , p_source_58 IN VARCHAR2
37161 --Distribution Link Type
37162 , p_source_60 IN VARCHAR2
37163 --Override Accounted Amount Indicator
37164 , p_source_85 IN VARCHAR2
37165 , p_source_85_meaning IN VARCHAR2
37166 --Third Party Type
37167 , p_source_88 IN VARCHAR2
37168 --Invoice Distribution Tax Line Identifier
37169 , p_source_91 IN NUMBER
37170 --Invoice Distribution Tax Distribution Identifier from Tax
37171 , p_source_92 IN NUMBER
37172 --Invoice Distribution Summary Tax Line Identifier
37173 , p_source_93 IN NUMBER
37174 --Business Flow Accounts Payable Application Identifier
37175 , p_source_96 IN NUMBER
37176 --Business Flow Invoice Distribution Type
37177 , p_source_97 IN VARCHAR2
37178 --Business Flow Invoice Entity Code
37179 , p_source_98 IN VARCHAR2
37180 --Business Flow Invoice Distribution Identifier
37181 , p_source_99 IN NUMBER
37182 --Business Flow Invoice Identifier
37183 , p_source_100 IN NUMBER
37184 --Payment Distribution Type
37185 , p_source_101 IN VARCHAR2
37186 , p_source_101_meaning IN VARCHAR2
37187 --Payment Distribution Amount
37188 , p_source_102 IN NUMBER
37189 --Payment Distribution Identifier
37190 , p_source_107 IN NUMBER
37191 --Payment Supplier Identifier
37192 , p_source_113 IN NUMBER
37193 --Payment Supplier Site Identifier
37194 , p_source_114 IN NUMBER
37195 --Payment Distribution Reversed Identifier
37196 , p_source_115 IN NUMBER
37197 --Pooled Bank Account Option
37198 , p_source_116 IN VARCHAR2
37199 , p_source_116_meaning IN VARCHAR2
37200 --Payment Maturity Date
37201 , p_source_117 IN DATE
37202 --Payment Distribution (Payment Rate) Ledger Amount
37203 , p_source_118 IN NUMBER
37204 --Payment Exchange Date
37205 , p_source_120 IN DATE
37206 --Payment Exchange Rate
37207 , p_source_121 IN NUMBER
37208 --Payment Exchange Rate Type
37209 , p_source_122 IN VARCHAR2
37210 --Payment Type
37211 , p_source_125 IN VARCHAR2
37212 , p_source_125_meaning IN VARCHAR2
37213 --Payment Processing Type
37214 , p_source_126 IN VARCHAR2
37215 --Invoice Distribution Amount of the Payment Distribution
37216 , p_source_127 IN NUMBER
37217 )
37218 IS
37219
37220 l_component_type VARCHAR2(80);
37221 l_component_code VARCHAR2(30);
37222 l_component_type_code VARCHAR2(1);
37223 l_component_appl_id INTEGER;
37224 l_amb_context_code VARCHAR2(30);
37225 l_entity_code VARCHAR2(30);
37226 l_event_class_code VARCHAR2(30);
37227 l_ae_header_id NUMBER;
37228 l_event_type_code VARCHAR2(30);
37232 -- adr variables
37229 l_line_definition_code VARCHAR2(30);
37230 l_line_definition_owner_code VARCHAR2(1);
37231 --
37233 l_segment VARCHAR2(30);
37234 l_ccid NUMBER;
37235 l_adr_transaction_coa_id NUMBER;
37236 l_adr_accounting_coa_id NUMBER;
37237 l_adr_flexfield_segment_code VARCHAR2(30);
37238 l_adr_flex_value_set_id NUMBER;
37239 l_adr_value_type_code VARCHAR2(30);
37240 l_adr_value_combination_id NUMBER;
37241 l_adr_value_segment_code VARCHAR2(30);
37242
37243 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
37244 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
37245 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
37246 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
37247
37248 -- 4262811 Variables ------------------------------------------------------------------------------------------
37249 l_entered_amt_idx NUMBER;
37250 l_accted_amt_idx NUMBER;
37251 l_acc_rev_flag VARCHAR2(1);
37252 l_accrual_line_num NUMBER;
37253 l_tmp_amt NUMBER;
37254 l_acc_rev_natural_side_code VARCHAR2(1);
37255
37256 l_num_entries NUMBER;
37257 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
37258 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
37259 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
37260 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
37261 l_recog_line_1 NUMBER;
37262 l_recog_line_2 NUMBER;
37263
37264 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
37265 l_bflow_applied_to_amt NUMBER; -- 5132302
37266 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
37267
37268 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
37269
37270 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
37271 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
37272
37273 ---------------------------------------------------------------------------------------------------------------
37274
37275
37276 --
37277 -- bulk performance
37278 --
37279 l_balance_type_code VARCHAR2(1);
37280 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
37281 l_log_module VARCHAR2(240);
37282
37283 --
37284 -- Upgrade strategy
37285 --
37286 l_actual_upg_option VARCHAR2(1);
37287 l_enc_upg_option VARCHAR2(1);
37288
37289 --
37290 BEGIN
37291 --
37292 IF g_log_enabled THEN
37293 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_95';
37294 END IF;
37295 --
37296 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
37297
37298 trace
37299 (p_msg => 'BEGIN of AcctLineType_95'
37300 ,p_level => C_LEVEL_PROCEDURE
37301 ,p_module => l_log_module);
37302
37303 END IF;
37304 --
37305 l_component_type := 'AMB_JLT';
37306 l_component_code := 'AP_CASH_PMT_AOS_AS';
37307 l_component_type_code := 'S';
37308 l_component_appl_id := 200;
37309 l_amb_context_code := 'DEFAULT';
37310 l_entity_code := 'AP_PAYMENTS';
37311 l_event_class_code := 'PAYMENTS';
37312 l_event_type_code := 'PAYMENTS_ALL';
37313 l_line_definition_owner_code := 'S';
37314 l_line_definition_code := 'ACCRUAL_PAYMENTS_ALL';
37315 --
37316 l_balance_type_code := 'A';
37317 l_segment := NULL;
37318 l_ccid := NULL;
37319 l_adr_transaction_coa_id := NULL;
37320 l_adr_accounting_coa_id := NULL;
37321 l_adr_flexfield_segment_code := NULL;
37322 l_adr_flex_value_set_id := NULL;
37323 l_adr_value_type_code := NULL;
37324 l_adr_value_combination_id := NULL;
37325 l_adr_value_segment_code := NULL;
37326
37327 l_bflow_method_code := 'SAME_ENTRY'; -- 4219869 Business Flow
37328 l_bflow_class_code := ''; -- 4219869 Business Flow
37329 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
37330 l_budgetary_control_flag := 'N';
37331
37332 l_bflow_applied_to_amt_idx := NULL; -- 5132302
37333 l_bflow_applied_to_amt := NULL; -- 5132302
37334 l_entered_amt_idx := NULL; -- 4262811
37335 l_accted_amt_idx := NULL; -- 4262811
37336 l_acc_rev_flag := NULL; -- 4262811
37337 l_accrual_line_num := NULL; -- 4262811
37338 l_tmp_amt := NULL; -- 4262811
37339 --
37340
37341 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
37342 l_balance_type_code <> 'B' THEN
37343 IF NVL(p_source_57,'
37344 ') = 'ISSUE_ISSUE' AND
37345 (NVL(p_source_116,'
37346 ') = 'Y' AND
37347 NVL(p_source_10,'
37348 ') = 'ACCOUNT_SEGMENT_VALUE') AND
37349 p_source_117 IS NULL AND
37350 NVL(p_source_101,'
37351 ') = 'CASH' AND
37352 NVL(p_source_125,'
37353 ') <> 'R' AND
37354 NVL(p_source_126,'
37355 ') <> 'PAYMENTCARD'
37356 THEN
37357
37358 --
37359 XLA_AE_LINES_PKG.SetNewLine;
37363
37360
37361 p_balance_type_code := l_balance_type_code;
37362 -- set the flag so later we will know whether the gain loss line needs to be created
37364 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
37365 p_actual_flag :='A';
37366 END IF;
37367
37368 --
37369 -- bulk performance
37370 --
37371 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
37372 p_header_num => 0); -- 4262811
37373 --
37374 -- set accounting line options
37375 --
37376 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
37377 p_natural_side_code => 'C'
37378 , p_gain_or_loss_flag => 'N'
37379 , p_gl_transfer_mode_code => 'S'
37380 , p_acct_entry_type_code => 'A'
37381 , p_switch_side_flag => 'Y'
37382 , p_merge_duplicate_code => 'A'
37383 );
37384 --
37385 l_acc_rev_natural_side_code := 'D'; -- 4262811
37386 --
37387 --
37388 -- set accounting line type info
37389 --
37390 xla_ae_lines_pkg.SetAcctLineType
37391 (p_component_type => l_component_type
37392 ,p_event_type_code => l_event_type_code
37393 ,p_line_definition_owner_code => l_line_definition_owner_code
37394 ,p_line_definition_code => l_line_definition_code
37395 ,p_accounting_line_code => l_component_code
37396 ,p_accounting_line_type_code => l_component_type_code
37397 ,p_accounting_line_appl_id => l_component_appl_id
37398 ,p_amb_context_code => l_amb_context_code
37399 ,p_entity_code => l_entity_code
37400 ,p_event_class_code => l_event_class_code);
37401 --
37402 -- set accounting class
37403 --
37404 xla_ae_lines_pkg.SetAcctClass(
37405 p_accounting_class_code => 'CASH'
37406 , p_ae_header_id => l_ae_header_id
37407 );
37408
37409 --
37410 -- set rounding class
37411 --
37412 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
37413 'CASH';
37414
37415 --
37416 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
37417 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
37418 --
37419 -- bulk performance
37420 --
37421 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
37422
37423 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
37424 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
37425
37426 -- 4955764
37427 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
37428 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
37429
37430 -- 4458381 Public Sector Enh
37431
37432 --
37433 -- set accounting attributes for the line type
37434 --
37435 l_entered_amt_idx := 10;
37436 l_accted_amt_idx := 15;
37437 l_bflow_applied_to_amt_idx := 2; -- 5132302
37438 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
37439 l_rec_acct_attrs.array_char_value(1) := p_source_58;
37440 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
37441 l_rec_acct_attrs.array_num_value(2) := p_source_127;
37442 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
37443 l_rec_acct_attrs.array_num_value(3) := p_source_96;
37444 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
37445 l_rec_acct_attrs.array_char_value(4) := p_source_97;
37446 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
37447 l_rec_acct_attrs.array_char_value(5) := p_source_98;
37448 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
37449 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_99);
37450 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
37451 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_100);
37452 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
37453 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_107);
37454 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
37455 l_rec_acct_attrs.array_char_value(9) := p_source_60;
37456 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
37457 l_rec_acct_attrs.array_num_value(10) := p_source_102;
37458 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
37459 l_rec_acct_attrs.array_char_value(11) := p_source_8;
37460 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
37461 l_rec_acct_attrs.array_date_value(12) := p_source_120;
37462 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
37463 l_rec_acct_attrs.array_num_value(13) := p_source_121;
37464 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
37465 l_rec_acct_attrs.array_char_value(14) := p_source_122;
37466 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
37467 l_rec_acct_attrs.array_num_value(15) := p_source_118;
37468 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
37472 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
37469 l_rec_acct_attrs.array_char_value(16) := p_source_85;
37470 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
37471 l_rec_acct_attrs.array_num_value(17) := p_source_113;
37473 l_rec_acct_attrs.array_num_value(18) := p_source_114;
37474 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
37475 l_rec_acct_attrs.array_char_value(19) := p_source_88;
37476 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
37477 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_115);
37478 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
37479 l_rec_acct_attrs.array_char_value(21) := p_source_60;
37480 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
37481 l_rec_acct_attrs.array_num_value(22) := p_source_91;
37482 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
37483 l_rec_acct_attrs.array_num_value(23) := p_source_92;
37484 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
37485 l_rec_acct_attrs.array_num_value(24) := p_source_93;
37486
37487 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
37488 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
37489
37490 ---------------------------------------------------------------------------------------------------------------
37491 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
37492 ---------------------------------------------------------------------------------------------------------------
37493 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
37494
37495 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
37496 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
37497
37498 IF xla_accounting_cache_pkg.GetValueChar
37499 (p_source_code => 'LEDGER_CATEGORY_CODE'
37500 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
37501 AND l_bflow_method_code = 'PRIOR_ENTRY'
37502 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
37503 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
37504 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
37505 )
37506 THEN
37507 xla_ae_lines_pkg.BflowUpgEntry
37508 (p_business_method_code => l_bflow_method_code
37509 ,p_business_class_code => l_bflow_class_code
37510 ,p_balance_type => l_balance_type_code);
37511 ELSE
37512 NULL;
37513 XLA_AE_LINES_PKG.business_flow_validation(
37514 p_business_method_code => l_bflow_method_code
37515 ,p_business_class_code => l_bflow_class_code
37516 ,p_inherit_description_flag => l_inherit_desc_flag);
37517 END IF;
37518
37519 --
37520 -- call analytical criteria
37521 --
37522
37523 --
37524 -- call description
37525 --
37526 -- No description or it is inherited.
37527 --
37528 -- call ADRs
37529 -- Bug 4922099
37530 --
37531 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
37532 (NVL(l_actual_upg_option, 'N') = 'O') OR
37533 (NVL(l_enc_upg_option, 'N') = 'O')
37534 )
37535 THEN
37536 NULL;
37537 --
37538 --
37539
37540 xla_ae_lines_pkg.Set_Ccid( -- replaced SetCcid
37541 p_code_combination_id => TO_NUMBER(C_NUM)
37542 , p_value_type_code => NULL
37543 , p_transaction_coa_id => null
37544 , p_accounting_coa_id => null
37545 , p_adr_code => NULL
37546 , p_adr_type_code => NULL
37547 , p_component_type => l_component_type
37548 , p_component_code => l_component_code
37549 , p_component_type_code => l_component_type_code
37550 , p_component_appl_id => l_component_appl_id
37551 , p_amb_context_code => l_amb_context_code
37552 , p_side => NULL
37553 );
37554
37555
37556 -- initialise segments
37557 XLA_AE_LINES_PKG.g_rec_lines.array_segment1(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
37558 XLA_AE_LINES_PKG.g_rec_lines.array_segment2(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
37559 XLA_AE_LINES_PKG.g_rec_lines.array_segment3(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
37560 XLA_AE_LINES_PKG.g_rec_lines.array_segment4(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
37561 XLA_AE_LINES_PKG.g_rec_lines.array_segment5(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
37562 XLA_AE_LINES_PKG.g_rec_lines.array_segment6(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
37563 XLA_AE_LINES_PKG.g_rec_lines.array_segment7(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
37564 XLA_AE_LINES_PKG.g_rec_lines.array_segment8(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
37565 XLA_AE_LINES_PKG.g_rec_lines.array_segment9(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
37566 XLA_AE_LINES_PKG.g_rec_lines.array_segment10(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
37567 XLA_AE_LINES_PKG.g_rec_lines.array_segment11(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
37568 XLA_AE_LINES_PKG.g_rec_lines.array_segment12(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
37569 XLA_AE_LINES_PKG.g_rec_lines.array_segment13(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
37573 XLA_AE_LINES_PKG.g_rec_lines.array_segment17(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
37570 XLA_AE_LINES_PKG.g_rec_lines.array_segment14(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
37571 XLA_AE_LINES_PKG.g_rec_lines.array_segment15(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
37572 XLA_AE_LINES_PKG.g_rec_lines.array_segment16(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
37574 XLA_AE_LINES_PKG.g_rec_lines.array_segment18(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
37575 XLA_AE_LINES_PKG.g_rec_lines.array_segment19(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
37576 XLA_AE_LINES_PKG.g_rec_lines.array_segment20(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
37577 XLA_AE_LINES_PKG.g_rec_lines.array_segment21(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
37578 XLA_AE_LINES_PKG.g_rec_lines.array_segment22(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
37579 XLA_AE_LINES_PKG.g_rec_lines.array_segment23(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
37580 XLA_AE_LINES_PKG.g_rec_lines.array_segment24(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
37581 XLA_AE_LINES_PKG.g_rec_lines.array_segment25(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
37582 XLA_AE_LINES_PKG.g_rec_lines.array_segment26(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
37583 XLA_AE_LINES_PKG.g_rec_lines.array_segment27(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
37584 XLA_AE_LINES_PKG.g_rec_lines.array_segment28(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
37585 XLA_AE_LINES_PKG.g_rec_lines.array_segment29(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
37586 XLA_AE_LINES_PKG.g_rec_lines.array_segment30(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
37587 --
37588
37589 --
37590
37591
37592 l_segment := AcctDerRule_6(
37593 p_application_id => p_application_id
37594 , p_ae_header_id => l_ae_header_id
37595 , p_source_12 => p_source_12
37596 , x_transaction_coa_id => l_adr_transaction_coa_id
37597 , x_accounting_coa_id => l_adr_accounting_coa_id
37598 , x_flexfield_segment_code => l_adr_flexfield_segment_code
37599 , x_flex_value_set_id => l_adr_flex_value_set_id
37600 , x_value_type_code => l_adr_value_type_code
37601 , x_value_combination_id => l_adr_value_combination_id
37602 , x_value_segment_code => l_adr_value_segment_code
37603 , p_side => 'NA'
37604 , p_override_seg_flag => 'Y'
37605 );
37606
37607 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
37608
37609 xla_ae_lines_pkg.set_segment(
37610 p_to_segment_code => 'GL_ACCOUNT'
37611 , p_segment_value => l_segment
37612 , p_from_segment_code => l_adr_value_segment_code
37613 , p_from_combination_id => l_adr_value_combination_id
37614 , p_value_type_code => l_adr_value_type_code
37615 , p_transaction_coa_id => l_adr_transaction_coa_id
37616 , p_accounting_coa_id => l_adr_accounting_coa_id
37617 , p_flexfield_segment_code => l_adr_flexfield_segment_code
37618 , p_flex_value_set_id => l_adr_flex_value_set_id
37619 , p_adr_code => 'AP_CASH_NATURAL_ACCT_SEG'
37620 , p_adr_type_code => 'S'
37621 , p_component_type => l_component_type
37622 , p_component_code => l_component_code
37623 , p_component_type_code => l_component_type_code
37624 , p_component_appl_id => l_component_appl_id
37625 , p_amb_context_code => l_amb_context_code
37626 , p_entity_code => 'AP_PAYMENTS'
37627 , p_event_class_code => 'PAYMENTS'
37628 , p_side => 'NA'
37629 );
37630
37631 END IF;
37632
37633 --
37634 --
37635 END IF;
37636 --
37637 -- Bug 4922099
37638 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
37639 (NVL(l_enc_upg_option, 'N') = 'O')
37640 ) AND
37641 (l_bflow_method_code = 'PRIOR_ENTRY')
37642 )
37643 THEN
37644 IF
37645 --
37646 1 = 2
37647 --
37648 THEN
37649 xla_accounting_err_pkg.build_message
37650 (p_appli_s_name => 'XLA'
37651 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
37652 ,p_token_1 => 'LINE_NUMBER'
37653 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
37654 ,p_token_2 => 'LINE_TYPE_NAME'
37655 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
37656 l_component_type
37657 ,l_component_code
37658 ,l_component_type_code
37659 ,l_component_appl_id
37660 ,l_amb_context_code
37661 ,l_entity_code
37662 ,l_event_class_code
37663 )
37664 ,p_token_3 => 'OWNER'
37665 ,p_value_3 => xla_lookups_pkg.get_meaning(
37669 ,p_token_4 => 'PRODUCT_NAME'
37666 p_lookup_type => 'XLA_OWNER_TYPE'
37667 ,p_lookup_code => l_component_type_code
37668 )
37670 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
37671 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
37672 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
37673 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
37674 ,p_ae_header_id => NULL
37675 );
37676
37677 IF (C_LEVEL_ERROR>= g_log_level) THEN
37678 trace
37679 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
37680 ,p_level => C_LEVEL_ERROR
37681 ,p_module => l_log_module);
37682 END IF;
37683 END IF;
37684 END IF;
37685 --
37686 --
37687 ------------------------------------------------------------------------------------------------
37688 -- 4219869 Business Flow
37689 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
37690 -- Prior Entry. Currently, the following code is always generated.
37691 ------------------------------------------------------------------------------------------------
37692 XLA_AE_LINES_PKG.ValidateCurrentLine;
37693
37694 ------------------------------------------------------------------------------------
37695 -- 4219869 Business Flow
37696 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
37697 ------------------------------------------------------------------------------------
37698 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
37699
37700 ----------------------------------------------------------------------------------
37701 -- 4219869 Business Flow
37702 -- Update journal entry status -- Need to generate this within IF <condition>
37703 ----------------------------------------------------------------------------------
37704 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
37705 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
37706 ,p_balance_type_code => l_balance_type_code
37707 );
37708
37709 -------------------------------------------------------------------------------------------
37710 -- 4262811 - Generate the Accrual Reversal lines
37711 -------------------------------------------------------------------------------------------
37712 BEGIN
37713 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
37714 (g_array_event(p_event_id).array_value_num('header_index'));
37715 IF l_acc_rev_flag IS NULL THEN
37716 l_acc_rev_flag := 'N';
37717 END IF;
37718 EXCEPTION
37719 WHEN OTHERS THEN
37720 l_acc_rev_flag := 'N';
37721 END;
37722 --
37723 IF (l_acc_rev_flag = 'Y') THEN
37724
37725 -- 4645092 ------------------------------------------------------------------------------
37726 -- To allow MPA report to determine if it should generate report process
37727 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
37728 ------------------------------------------------------------------------------------------
37729
37730 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
37731 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
37732 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
37733 -- call ADRs
37734 -- Bug 4922099
37735 --
37736 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
37737 (NVL(l_actual_upg_option, 'N') = 'O') OR
37738 (NVL(l_enc_upg_option, 'N') = 'O')
37739 )
37740 THEN
37741 NULL;
37742 --
37743 --
37744
37745 xla_ae_lines_pkg.Set_Ccid( -- replaced SetCcid
37746 p_code_combination_id => TO_NUMBER(C_NUM)
37747 , p_value_type_code => NULL
37748 , p_transaction_coa_id => null
37749 , p_accounting_coa_id => null
37750 , p_adr_code => NULL
37751 , p_adr_type_code => NULL
37752 , p_component_type => l_component_type
37753 , p_component_code => l_component_code
37754 , p_component_type_code => l_component_type_code
37755 , p_component_appl_id => l_component_appl_id
37756 , p_amb_context_code => l_amb_context_code
37757 , p_side => NULL
37758 );
37759
37760
37761 -- initialise segments
37762 XLA_AE_LINES_PKG.g_rec_lines.array_segment1(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
37763 XLA_AE_LINES_PKG.g_rec_lines.array_segment2(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
37764 XLA_AE_LINES_PKG.g_rec_lines.array_segment3(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
37765 XLA_AE_LINES_PKG.g_rec_lines.array_segment4(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
37766 XLA_AE_LINES_PKG.g_rec_lines.array_segment5(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
37767 XLA_AE_LINES_PKG.g_rec_lines.array_segment6(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
37768 XLA_AE_LINES_PKG.g_rec_lines.array_segment7(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
37772 XLA_AE_LINES_PKG.g_rec_lines.array_segment11(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
37769 XLA_AE_LINES_PKG.g_rec_lines.array_segment8(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
37770 XLA_AE_LINES_PKG.g_rec_lines.array_segment9(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
37771 XLA_AE_LINES_PKG.g_rec_lines.array_segment10(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
37773 XLA_AE_LINES_PKG.g_rec_lines.array_segment12(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
37774 XLA_AE_LINES_PKG.g_rec_lines.array_segment13(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
37775 XLA_AE_LINES_PKG.g_rec_lines.array_segment14(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
37776 XLA_AE_LINES_PKG.g_rec_lines.array_segment15(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
37777 XLA_AE_LINES_PKG.g_rec_lines.array_segment16(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
37778 XLA_AE_LINES_PKG.g_rec_lines.array_segment17(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
37779 XLA_AE_LINES_PKG.g_rec_lines.array_segment18(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
37780 XLA_AE_LINES_PKG.g_rec_lines.array_segment19(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
37781 XLA_AE_LINES_PKG.g_rec_lines.array_segment20(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
37782 XLA_AE_LINES_PKG.g_rec_lines.array_segment21(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
37783 XLA_AE_LINES_PKG.g_rec_lines.array_segment22(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
37784 XLA_AE_LINES_PKG.g_rec_lines.array_segment23(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
37785 XLA_AE_LINES_PKG.g_rec_lines.array_segment24(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
37786 XLA_AE_LINES_PKG.g_rec_lines.array_segment25(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
37787 XLA_AE_LINES_PKG.g_rec_lines.array_segment26(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
37788 XLA_AE_LINES_PKG.g_rec_lines.array_segment27(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
37789 XLA_AE_LINES_PKG.g_rec_lines.array_segment28(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
37790 XLA_AE_LINES_PKG.g_rec_lines.array_segment29(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
37791 XLA_AE_LINES_PKG.g_rec_lines.array_segment30(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
37792 --
37793
37794 --
37795
37796
37797 l_segment := AcctDerRule_6(
37798 p_application_id => p_application_id
37799 , p_ae_header_id => l_ae_header_id
37800 , p_source_12 => p_source_12
37801 , x_transaction_coa_id => l_adr_transaction_coa_id
37802 , x_accounting_coa_id => l_adr_accounting_coa_id
37803 , x_flexfield_segment_code => l_adr_flexfield_segment_code
37804 , x_flex_value_set_id => l_adr_flex_value_set_id
37805 , x_value_type_code => l_adr_value_type_code
37806 , x_value_combination_id => l_adr_value_combination_id
37807 , x_value_segment_code => l_adr_value_segment_code
37808 , p_side => 'NA'
37809 , p_override_seg_flag => 'Y'
37810 );
37811
37812 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
37813
37814 xla_ae_lines_pkg.set_segment(
37815 p_to_segment_code => 'GL_ACCOUNT'
37816 , p_segment_value => l_segment
37817 , p_from_segment_code => l_adr_value_segment_code
37818 , p_from_combination_id => l_adr_value_combination_id
37819 , p_value_type_code => l_adr_value_type_code
37820 , p_transaction_coa_id => l_adr_transaction_coa_id
37821 , p_accounting_coa_id => l_adr_accounting_coa_id
37822 , p_flexfield_segment_code => l_adr_flexfield_segment_code
37823 , p_flex_value_set_id => l_adr_flex_value_set_id
37824 , p_adr_code => 'AP_CASH_NATURAL_ACCT_SEG'
37825 , p_adr_type_code => 'S'
37826 , p_component_type => l_component_type
37827 , p_component_code => l_component_code
37828 , p_component_type_code => l_component_type_code
37829 , p_component_appl_id => l_component_appl_id
37830 , p_amb_context_code => l_amb_context_code
37831 , p_entity_code => 'AP_PAYMENTS'
37832 , p_event_class_code => 'PAYMENTS'
37833 , p_side => 'NA'
37834 );
37835
37836 END IF;
37837
37838 --
37839 --
37840 END IF;
37841
37842 --
37843 -- Update the line information that should be overwritten
37844 --
37845 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
37846 p_header_num => 1);
37847 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
37848
37849 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
37850
37851 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
37852 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
37853 END IF;
37854
37855 --
37856 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
37857 --
37858 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
37859 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
37860 ELSE
37861 ---------------------------------------------------------------------------------------------------
37862 -- 4262811a Switch Sign
37863 ---------------------------------------------------------------------------------------------------
37867 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
37864 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
37865 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
37866 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
37868 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
37869 -- 5132302
37870 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
37871 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
37872
37873 END IF;
37874
37875 -- 4955764
37876 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
37877 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
37878
37879
37880 XLA_AE_LINES_PKG.ValidateCurrentLine;
37881 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
37882
37883 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
37884 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
37885 ,p_balance_type_code => l_balance_type_code);
37886
37887 END IF;
37888
37889 -----------------------------------------------------------------------------------------
37890 -- 4262811 Multiperiod Accounting
37891 -----------------------------------------------------------------------------------------
37892 -- No MPA option is assigned.
37893
37894
37895 END IF;
37896 END IF;
37897 --
37898
37899 --
37900 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
37901 trace
37902 (p_msg => 'END of AcctLineType_95'
37903 ,p_level => C_LEVEL_PROCEDURE
37904 ,p_module => l_log_module);
37905 END IF;
37906 --
37907 EXCEPTION
37908 WHEN xla_exceptions_pkg.application_exception THEN
37909 RAISE;
37910 WHEN OTHERS THEN
37911 xla_exceptions_pkg.raise_message
37912 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_95');
37913 END AcctLineType_95;
37914 --
37915
37916 ---------------------------------------
37917 --
37918 -- PRIVATE FUNCTION
37919 -- AcctLineType_96
37920 --
37921 ---------------------------------------
37922 PROCEDURE AcctLineType_96 (
37923 p_application_id IN NUMBER
37924 ,p_event_id IN NUMBER
37925 ,p_calculate_acctd_flag IN VARCHAR2
37926 ,p_calculate_g_l_flag IN VARCHAR2
37927 ,p_actual_flag IN OUT VARCHAR2
37928 ,p_balance_type_code OUT VARCHAR2
37929 ,p_gain_or_loss_ref OUT VARCHAR2
37930
37931 --Payment Currency Code
37932 , p_source_8 IN VARCHAR2
37933 --Automatic Offsets Value
37934 , p_source_10 IN VARCHAR2
37935 , p_source_10_meaning IN VARCHAR2
37936 --Bank Cash Account
37937 , p_source_12 IN NUMBER
37938 --When to Account for Payment Option
37939 , p_source_57 IN VARCHAR2
37940 --Accounting Reversal Indicator
37941 , p_source_58 IN VARCHAR2
37942 --Distribution Link Type
37943 , p_source_60 IN VARCHAR2
37944 --Override Accounted Amount Indicator
37945 , p_source_85 IN VARCHAR2
37946 , p_source_85_meaning IN VARCHAR2
37947 --Third Party Type
37948 , p_source_88 IN VARCHAR2
37949 --Invoice Distribution Tax Line Identifier
37950 , p_source_91 IN NUMBER
37951 --Invoice Distribution Tax Distribution Identifier from Tax
37952 , p_source_92 IN NUMBER
37953 --Invoice Distribution Summary Tax Line Identifier
37954 , p_source_93 IN NUMBER
37955 --Business Flow Accounts Payable Application Identifier
37956 , p_source_96 IN NUMBER
37957 --Business Flow Invoice Distribution Type
37958 , p_source_97 IN VARCHAR2
37959 --Business Flow Invoice Entity Code
37960 , p_source_98 IN VARCHAR2
37961 --Business Flow Invoice Distribution Identifier
37962 , p_source_99 IN NUMBER
37963 --Business Flow Invoice Identifier
37964 , p_source_100 IN NUMBER
37965 --Payment Distribution Type
37966 , p_source_101 IN VARCHAR2
37967 , p_source_101_meaning IN VARCHAR2
37968 --Payment Distribution Amount
37969 , p_source_102 IN NUMBER
37970 --Payment Distribution Identifier
37971 , p_source_107 IN NUMBER
37972 --Payment Supplier Identifier
37973 , p_source_113 IN NUMBER
37974 --Payment Supplier Site Identifier
37975 , p_source_114 IN NUMBER
37976 --Payment Distribution Reversed Identifier
37977 , p_source_115 IN NUMBER
37978 --Pooled Bank Account Option
37979 , p_source_116 IN VARCHAR2
37980 , p_source_116_meaning IN VARCHAR2
37981 --Payment Maturity Date
37982 , p_source_117 IN DATE
37983 --Payment Distribution (Payment Rate) Ledger Amount
37984 , p_source_118 IN NUMBER
37985 --Payment Exchange Date
37986 , p_source_120 IN DATE
37987 --Payment Exchange Rate
37988 , p_source_121 IN NUMBER
37989 --Payment Exchange Rate Type
37990 , p_source_122 IN VARCHAR2
37991 --Payment Type
37992 , p_source_125 IN VARCHAR2
37996 --Invoice Distribution Amount of the Payment Distribution
37993 , p_source_125_meaning IN VARCHAR2
37994 --Payment Processing Type
37995 , p_source_126 IN VARCHAR2
37997 , p_source_127 IN NUMBER
37998 )
37999 IS
38000
38001 l_component_type VARCHAR2(80);
38002 l_component_code VARCHAR2(30);
38003 l_component_type_code VARCHAR2(1);
38004 l_component_appl_id INTEGER;
38005 l_amb_context_code VARCHAR2(30);
38006 l_entity_code VARCHAR2(30);
38007 l_event_class_code VARCHAR2(30);
38008 l_ae_header_id NUMBER;
38009 l_event_type_code VARCHAR2(30);
38010 l_line_definition_code VARCHAR2(30);
38011 l_line_definition_owner_code VARCHAR2(1);
38012 --
38013 -- adr variables
38014 l_segment VARCHAR2(30);
38015 l_ccid NUMBER;
38016 l_adr_transaction_coa_id NUMBER;
38017 l_adr_accounting_coa_id NUMBER;
38018 l_adr_flexfield_segment_code VARCHAR2(30);
38019 l_adr_flex_value_set_id NUMBER;
38020 l_adr_value_type_code VARCHAR2(30);
38021 l_adr_value_combination_id NUMBER;
38022 l_adr_value_segment_code VARCHAR2(30);
38023
38024 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
38025 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
38026 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
38027 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
38028
38029 -- 4262811 Variables ------------------------------------------------------------------------------------------
38030 l_entered_amt_idx NUMBER;
38031 l_accted_amt_idx NUMBER;
38032 l_acc_rev_flag VARCHAR2(1);
38033 l_accrual_line_num NUMBER;
38034 l_tmp_amt NUMBER;
38035 l_acc_rev_natural_side_code VARCHAR2(1);
38036
38037 l_num_entries NUMBER;
38038 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
38039 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
38040 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
38041 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
38042 l_recog_line_1 NUMBER;
38043 l_recog_line_2 NUMBER;
38044
38045 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
38046 l_bflow_applied_to_amt NUMBER; -- 5132302
38047 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
38048
38049 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
38050
38051 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
38052 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
38053
38054 ---------------------------------------------------------------------------------------------------------------
38055
38056
38057 --
38058 -- bulk performance
38059 --
38060 l_balance_type_code VARCHAR2(1);
38061 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
38062 l_log_module VARCHAR2(240);
38063
38064 --
38065 -- Upgrade strategy
38066 --
38067 l_actual_upg_option VARCHAR2(1);
38068 l_enc_upg_option VARCHAR2(1);
38069
38070 --
38071 BEGIN
38072 --
38073 IF g_log_enabled THEN
38074 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_96';
38075 END IF;
38076 --
38077 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
38078
38079 trace
38080 (p_msg => 'BEGIN of AcctLineType_96'
38081 ,p_level => C_LEVEL_PROCEDURE
38082 ,p_module => l_log_module);
38083
38084 END IF;
38085 --
38086 l_component_type := 'AMB_JLT';
38087 l_component_code := 'AP_CASH_PMT_AOS_BS';
38088 l_component_type_code := 'S';
38089 l_component_appl_id := 200;
38090 l_amb_context_code := 'DEFAULT';
38091 l_entity_code := 'AP_PAYMENTS';
38092 l_event_class_code := 'PAYMENTS';
38093 l_event_type_code := 'PAYMENTS_ALL';
38094 l_line_definition_owner_code := 'S';
38095 l_line_definition_code := 'ACCRUAL_PAYMENTS_ALL';
38096 --
38097 l_balance_type_code := 'A';
38098 l_segment := NULL;
38099 l_ccid := NULL;
38100 l_adr_transaction_coa_id := NULL;
38101 l_adr_accounting_coa_id := NULL;
38102 l_adr_flexfield_segment_code := NULL;
38103 l_adr_flex_value_set_id := NULL;
38104 l_adr_value_type_code := NULL;
38105 l_adr_value_combination_id := NULL;
38106 l_adr_value_segment_code := NULL;
38107
38108 l_bflow_method_code := 'SAME_ENTRY'; -- 4219869 Business Flow
38109 l_bflow_class_code := ''; -- 4219869 Business Flow
38110 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
38111 l_budgetary_control_flag := 'N';
38112
38113 l_bflow_applied_to_amt_idx := NULL; -- 5132302
38114 l_bflow_applied_to_amt := NULL; -- 5132302
38115 l_entered_amt_idx := NULL; -- 4262811
38116 l_accted_amt_idx := NULL; -- 4262811
38117 l_acc_rev_flag := NULL; -- 4262811
38121
38118 l_accrual_line_num := NULL; -- 4262811
38119 l_tmp_amt := NULL; -- 4262811
38120 --
38122 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
38123 l_balance_type_code <> 'B' THEN
38124 IF NVL(p_source_57,'
38125 ') = 'ISSUE_ISSUE' AND
38126 (NVL(p_source_116,'
38127 ') = 'Y' AND
38128 NVL(p_source_10,'
38129 ') = 'BALANCING_SEGMENT') AND
38130 p_source_117 IS NULL AND
38131 NVL(p_source_101,'
38132 ') = 'CASH' AND
38133 NVL(p_source_125,'
38134 ') <> 'R' AND
38135 NVL(p_source_126,'
38136 ') <> 'PAYMENTCARD'
38137 THEN
38138
38139 --
38140 XLA_AE_LINES_PKG.SetNewLine;
38141
38142 p_balance_type_code := l_balance_type_code;
38143 -- set the flag so later we will know whether the gain loss line needs to be created
38144
38145 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
38146 p_actual_flag :='A';
38147 END IF;
38148
38149 --
38150 -- bulk performance
38151 --
38152 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
38153 p_header_num => 0); -- 4262811
38154 --
38155 -- set accounting line options
38156 --
38157 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
38158 p_natural_side_code => 'C'
38159 , p_gain_or_loss_flag => 'N'
38160 , p_gl_transfer_mode_code => 'S'
38161 , p_acct_entry_type_code => 'A'
38162 , p_switch_side_flag => 'Y'
38163 , p_merge_duplicate_code => 'A'
38164 );
38165 --
38166 l_acc_rev_natural_side_code := 'D'; -- 4262811
38167 --
38168 --
38169 -- set accounting line type info
38170 --
38171 xla_ae_lines_pkg.SetAcctLineType
38172 (p_component_type => l_component_type
38173 ,p_event_type_code => l_event_type_code
38174 ,p_line_definition_owner_code => l_line_definition_owner_code
38175 ,p_line_definition_code => l_line_definition_code
38176 ,p_accounting_line_code => l_component_code
38177 ,p_accounting_line_type_code => l_component_type_code
38178 ,p_accounting_line_appl_id => l_component_appl_id
38179 ,p_amb_context_code => l_amb_context_code
38180 ,p_entity_code => l_entity_code
38181 ,p_event_class_code => l_event_class_code);
38182 --
38183 -- set accounting class
38184 --
38185 xla_ae_lines_pkg.SetAcctClass(
38186 p_accounting_class_code => 'CASH'
38187 , p_ae_header_id => l_ae_header_id
38188 );
38189
38190 --
38191 -- set rounding class
38192 --
38193 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
38194 'CASH';
38195
38196 --
38197 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
38198 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
38199 --
38200 -- bulk performance
38201 --
38202 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
38203
38204 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
38205 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
38206
38207 -- 4955764
38208 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
38209 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
38210
38211 -- 4458381 Public Sector Enh
38212
38213 --
38214 -- set accounting attributes for the line type
38215 --
38216 l_entered_amt_idx := 10;
38217 l_accted_amt_idx := 15;
38218 l_bflow_applied_to_amt_idx := 2; -- 5132302
38219 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
38220 l_rec_acct_attrs.array_char_value(1) := p_source_58;
38221 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
38222 l_rec_acct_attrs.array_num_value(2) := p_source_127;
38223 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
38224 l_rec_acct_attrs.array_num_value(3) := p_source_96;
38225 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
38226 l_rec_acct_attrs.array_char_value(4) := p_source_97;
38227 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
38228 l_rec_acct_attrs.array_char_value(5) := p_source_98;
38229 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
38230 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_99);
38231 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
38232 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_100);
38233 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
38234 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_107);
38235 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
38236 l_rec_acct_attrs.array_char_value(9) := p_source_60;
38237 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
38238 l_rec_acct_attrs.array_num_value(10) := p_source_102;
38239 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
38240 l_rec_acct_attrs.array_char_value(11) := p_source_8;
38244 l_rec_acct_attrs.array_num_value(13) := p_source_121;
38241 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
38242 l_rec_acct_attrs.array_date_value(12) := p_source_120;
38243 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
38245 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
38246 l_rec_acct_attrs.array_char_value(14) := p_source_122;
38247 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
38248 l_rec_acct_attrs.array_num_value(15) := p_source_118;
38249 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
38250 l_rec_acct_attrs.array_char_value(16) := p_source_85;
38251 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
38252 l_rec_acct_attrs.array_num_value(17) := p_source_113;
38253 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
38254 l_rec_acct_attrs.array_num_value(18) := p_source_114;
38255 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
38256 l_rec_acct_attrs.array_char_value(19) := p_source_88;
38257 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
38258 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_115);
38259 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
38260 l_rec_acct_attrs.array_char_value(21) := p_source_60;
38261 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
38262 l_rec_acct_attrs.array_num_value(22) := p_source_91;
38263 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
38264 l_rec_acct_attrs.array_num_value(23) := p_source_92;
38265 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
38266 l_rec_acct_attrs.array_num_value(24) := p_source_93;
38267
38268 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
38269 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
38270
38271 ---------------------------------------------------------------------------------------------------------------
38272 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
38273 ---------------------------------------------------------------------------------------------------------------
38274 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
38275
38276 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
38277 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
38278
38279 IF xla_accounting_cache_pkg.GetValueChar
38280 (p_source_code => 'LEDGER_CATEGORY_CODE'
38281 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
38282 AND l_bflow_method_code = 'PRIOR_ENTRY'
38283 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
38284 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
38285 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
38286 )
38287 THEN
38288 xla_ae_lines_pkg.BflowUpgEntry
38289 (p_business_method_code => l_bflow_method_code
38290 ,p_business_class_code => l_bflow_class_code
38291 ,p_balance_type => l_balance_type_code);
38292 ELSE
38293 NULL;
38294 XLA_AE_LINES_PKG.business_flow_validation(
38295 p_business_method_code => l_bflow_method_code
38296 ,p_business_class_code => l_bflow_class_code
38297 ,p_inherit_description_flag => l_inherit_desc_flag);
38298 END IF;
38299
38300 --
38301 -- call analytical criteria
38302 --
38303
38304 --
38305 -- call description
38306 --
38307 -- No description or it is inherited.
38308 --
38309 -- call ADRs
38310 -- Bug 4922099
38311 --
38312 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
38313 (NVL(l_actual_upg_option, 'N') = 'O') OR
38314 (NVL(l_enc_upg_option, 'N') = 'O')
38315 )
38316 THEN
38317 NULL;
38318 --
38319 --
38320
38321 l_ccid := AcctDerRule_30(
38322 p_application_id => p_application_id
38323 , p_ae_header_id => l_ae_header_id
38324 , p_source_12 => p_source_12
38325 , x_transaction_coa_id => l_adr_transaction_coa_id
38326 , x_accounting_coa_id => l_adr_accounting_coa_id
38327 , x_value_type_code => l_adr_value_type_code
38328 , p_side => 'NA'
38329 );
38330
38331 xla_ae_lines_pkg.set_ccid(
38332 p_code_combination_id => l_ccid
38333 , p_value_type_code => l_adr_value_type_code
38334 , p_transaction_coa_id => l_adr_transaction_coa_id
38335 , p_accounting_coa_id => l_adr_accounting_coa_id
38336 , p_adr_code => 'AP_CASH'
38337 , p_adr_type_code => 'S'
38338 , p_component_type => l_component_type
38339 , p_component_code => l_component_code
38340 , p_component_type_code => l_component_type_code
38341 , p_component_appl_id => l_component_appl_id
38342 , p_amb_context_code => l_amb_context_code
38343 , p_side => 'NA'
38344 );
38345
38346
38347 xla_ae_lines_pkg.Set_Segment( -- replaced SetSegment
38348 p_to_segment_code => 'GL_BALANCING'
38352 , p_value_type_code => NULL
38349 , p_segment_value => C_CHAR
38350 , p_from_segment_code => NULL
38351 , p_from_combination_id => NULL
38353 , p_transaction_coa_id => null
38354 , p_accounting_coa_id => null
38355 , p_flexfield_segment_code => NULL
38356 , p_flex_value_set_id => NULL
38357 , p_adr_code => NULL
38358 , p_adr_type_code => NULL
38359 , p_component_type => l_component_type
38360 , p_component_code => l_component_code
38361 , p_component_type_code => l_component_type_code
38362 , p_component_appl_id => l_component_appl_id
38363 , p_amb_context_code => l_amb_context_code
38364 , p_entity_code => 'AP_PAYMENTS'
38365 , p_event_class_code => 'PAYMENTS'
38366 , p_side => 'NA'
38367 );
38368 --
38369
38370
38371 --
38372 --
38373 END IF;
38374 --
38375 -- Bug 4922099
38376 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
38377 (NVL(l_enc_upg_option, 'N') = 'O')
38378 ) AND
38379 (l_bflow_method_code = 'PRIOR_ENTRY')
38380 )
38381 THEN
38382 IF
38383 --
38384 1 = 2
38385 --
38386 THEN
38387 xla_accounting_err_pkg.build_message
38388 (p_appli_s_name => 'XLA'
38389 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
38390 ,p_token_1 => 'LINE_NUMBER'
38391 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
38392 ,p_token_2 => 'LINE_TYPE_NAME'
38393 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
38394 l_component_type
38395 ,l_component_code
38396 ,l_component_type_code
38397 ,l_component_appl_id
38398 ,l_amb_context_code
38399 ,l_entity_code
38400 ,l_event_class_code
38401 )
38402 ,p_token_3 => 'OWNER'
38403 ,p_value_3 => xla_lookups_pkg.get_meaning(
38404 p_lookup_type => 'XLA_OWNER_TYPE'
38405 ,p_lookup_code => l_component_type_code
38406 )
38407 ,p_token_4 => 'PRODUCT_NAME'
38408 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
38409 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
38410 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
38411 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
38412 ,p_ae_header_id => NULL
38413 );
38414
38415 IF (C_LEVEL_ERROR>= g_log_level) THEN
38416 trace
38417 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
38418 ,p_level => C_LEVEL_ERROR
38419 ,p_module => l_log_module);
38420 END IF;
38421 END IF;
38422 END IF;
38423 --
38424 --
38425 ------------------------------------------------------------------------------------------------
38426 -- 4219869 Business Flow
38427 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
38428 -- Prior Entry. Currently, the following code is always generated.
38429 ------------------------------------------------------------------------------------------------
38430 XLA_AE_LINES_PKG.ValidateCurrentLine;
38431
38432 ------------------------------------------------------------------------------------
38433 -- 4219869 Business Flow
38434 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
38435 ------------------------------------------------------------------------------------
38436 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
38437
38438 ----------------------------------------------------------------------------------
38439 -- 4219869 Business Flow
38440 -- Update journal entry status -- Need to generate this within IF <condition>
38441 ----------------------------------------------------------------------------------
38442 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
38443 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
38444 ,p_balance_type_code => l_balance_type_code
38445 );
38446
38447 -------------------------------------------------------------------------------------------
38448 -- 4262811 - Generate the Accrual Reversal lines
38449 -------------------------------------------------------------------------------------------
38453 IF l_acc_rev_flag IS NULL THEN
38450 BEGIN
38451 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
38452 (g_array_event(p_event_id).array_value_num('header_index'));
38454 l_acc_rev_flag := 'N';
38455 END IF;
38456 EXCEPTION
38457 WHEN OTHERS THEN
38458 l_acc_rev_flag := 'N';
38459 END;
38460 --
38461 IF (l_acc_rev_flag = 'Y') THEN
38462
38463 -- 4645092 ------------------------------------------------------------------------------
38464 -- To allow MPA report to determine if it should generate report process
38465 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
38466 ------------------------------------------------------------------------------------------
38467
38468 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
38469 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
38470 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
38471 -- call ADRs
38472 -- Bug 4922099
38473 --
38474 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
38475 (NVL(l_actual_upg_option, 'N') = 'O') OR
38476 (NVL(l_enc_upg_option, 'N') = 'O')
38477 )
38478 THEN
38479 NULL;
38480 --
38481 --
38482
38483 l_ccid := AcctDerRule_30(
38484 p_application_id => p_application_id
38485 , p_ae_header_id => l_ae_header_id
38486 , p_source_12 => p_source_12
38487 , x_transaction_coa_id => l_adr_transaction_coa_id
38488 , x_accounting_coa_id => l_adr_accounting_coa_id
38489 , x_value_type_code => l_adr_value_type_code
38490 , p_side => 'NA'
38491 );
38492
38493 xla_ae_lines_pkg.set_ccid(
38494 p_code_combination_id => l_ccid
38495 , p_value_type_code => l_adr_value_type_code
38496 , p_transaction_coa_id => l_adr_transaction_coa_id
38497 , p_accounting_coa_id => l_adr_accounting_coa_id
38498 , p_adr_code => 'AP_CASH'
38499 , p_adr_type_code => 'S'
38500 , p_component_type => l_component_type
38501 , p_component_code => l_component_code
38502 , p_component_type_code => l_component_type_code
38503 , p_component_appl_id => l_component_appl_id
38504 , p_amb_context_code => l_amb_context_code
38505 , p_side => 'NA'
38506 );
38507
38508
38509 xla_ae_lines_pkg.Set_Segment( -- replaced SetSegment
38510 p_to_segment_code => 'GL_BALANCING'
38511 , p_segment_value => C_CHAR
38512 , p_from_segment_code => NULL
38513 , p_from_combination_id => NULL
38514 , p_value_type_code => NULL
38515 , p_transaction_coa_id => null
38516 , p_accounting_coa_id => null
38517 , p_flexfield_segment_code => NULL
38518 , p_flex_value_set_id => NULL
38519 , p_adr_code => NULL
38520 , p_adr_type_code => NULL
38521 , p_component_type => l_component_type
38522 , p_component_code => l_component_code
38523 , p_component_type_code => l_component_type_code
38524 , p_component_appl_id => l_component_appl_id
38525 , p_amb_context_code => l_amb_context_code
38526 , p_entity_code => 'AP_PAYMENTS'
38527 , p_event_class_code => 'PAYMENTS'
38528 , p_side => 'NA'
38529 );
38530 --
38531
38532
38533 --
38534 --
38535 END IF;
38536
38537 --
38538 -- Update the line information that should be overwritten
38539 --
38540 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
38541 p_header_num => 1);
38542 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
38543
38544 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
38545
38546 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
38547 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
38548 END IF;
38549
38550 --
38551 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
38552 --
38553 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
38554 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
38555 ELSE
38556 ---------------------------------------------------------------------------------------------------
38557 -- 4262811a Switch Sign
38558 ---------------------------------------------------------------------------------------------------
38559 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
38560 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
38561 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
38562 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
38566 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
38563 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
38564 -- 5132302
38565 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
38567
38568 END IF;
38569
38570 -- 4955764
38571 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
38572 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
38573
38574
38575 XLA_AE_LINES_PKG.ValidateCurrentLine;
38576 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
38577
38578 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
38579 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
38580 ,p_balance_type_code => l_balance_type_code);
38581
38582 END IF;
38583
38584 -----------------------------------------------------------------------------------------
38585 -- 4262811 Multiperiod Accounting
38586 -----------------------------------------------------------------------------------------
38587 -- No MPA option is assigned.
38588
38589
38590 END IF;
38591 END IF;
38592 --
38593
38594 --
38595 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
38596 trace
38597 (p_msg => 'END of AcctLineType_96'
38598 ,p_level => C_LEVEL_PROCEDURE
38599 ,p_module => l_log_module);
38600 END IF;
38601 --
38602 EXCEPTION
38603 WHEN xla_exceptions_pkg.application_exception THEN
38604 RAISE;
38605 WHEN OTHERS THEN
38606 xla_exceptions_pkg.raise_message
38607 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_96');
38608 END AcctLineType_96;
38609 --
38610
38611 ---------------------------------------
38612 --
38613 -- PRIVATE FUNCTION
38614 -- AcctLineType_97
38615 --
38616 ---------------------------------------
38617 PROCEDURE AcctLineType_97 (
38618 p_application_id IN NUMBER
38619 ,p_event_id IN NUMBER
38620 ,p_calculate_acctd_flag IN VARCHAR2
38621 ,p_calculate_g_l_flag IN VARCHAR2
38622 ,p_actual_flag IN OUT VARCHAR2
38623 ,p_balance_type_code OUT VARCHAR2
38624 ,p_gain_or_loss_ref OUT VARCHAR2
38625
38626 --Payment Currency Code
38627 , p_source_8 IN VARCHAR2
38628 --Bank Cash Account
38629 , p_source_12 IN NUMBER
38630 --Automatic Offsets Flag
38631 , p_source_43 IN VARCHAR2
38632 , p_source_43_meaning IN VARCHAR2
38633 --When to Account for Payment Option
38634 , p_source_57 IN VARCHAR2
38635 --Accounting Reversal Indicator
38636 , p_source_58 IN VARCHAR2
38637 --Distribution Link Type
38638 , p_source_60 IN VARCHAR2
38639 --Override Accounted Amount Indicator
38640 , p_source_85 IN VARCHAR2
38641 , p_source_85_meaning IN VARCHAR2
38642 --Third Party Type
38643 , p_source_88 IN VARCHAR2
38644 --Business Flow Accounts Payable Application Identifier
38645 , p_source_96 IN NUMBER
38646 --Payment Distribution Type
38647 , p_source_101 IN VARCHAR2
38648 , p_source_101_meaning IN VARCHAR2
38649 --Payment Distribution Amount
38650 , p_source_102 IN NUMBER
38651 --Business Flow Payment Distribution Type
38652 , p_source_103 IN VARCHAR2
38653 --Business Flow Payment Entity Code
38654 , p_source_104 IN VARCHAR2
38655 --Business Flow Payment Distribution Identifier
38656 , p_source_105 IN NUMBER
38657 --Business Flow Payment Identifier
38658 , p_source_106 IN NUMBER
38659 --Payment Distribution Identifier
38660 , p_source_107 IN NUMBER
38661 --Payment Supplier Identifier
38662 , p_source_113 IN NUMBER
38663 --Payment Supplier Site Identifier
38664 , p_source_114 IN NUMBER
38665 --Payment Distribution Reversed Identifier
38666 , p_source_115 IN NUMBER
38667 --Pooled Bank Account Option
38668 , p_source_116 IN VARCHAR2
38669 , p_source_116_meaning IN VARCHAR2
38670 --Payment Maturity Date
38671 , p_source_117 IN DATE
38672 --Payment Exchange Date
38673 , p_source_120 IN DATE
38674 --Payment Exchange Rate
38675 , p_source_121 IN NUMBER
38676 --Payment Exchange Rate Type
38677 , p_source_122 IN VARCHAR2
38678 --Payment Distribution (Matured Rate) Ledger Amount
38679 , p_source_124 IN NUMBER
38680 )
38681 IS
38682
38683 l_component_type VARCHAR2(80);
38684 l_component_code VARCHAR2(30);
38685 l_component_type_code VARCHAR2(1);
38686 l_component_appl_id INTEGER;
38687 l_amb_context_code VARCHAR2(30);
38688 l_entity_code VARCHAR2(30);
38689 l_event_class_code VARCHAR2(30);
38690 l_ae_header_id NUMBER;
38691 l_event_type_code VARCHAR2(30);
38692 l_line_definition_code VARCHAR2(30);
38693 l_line_definition_owner_code VARCHAR2(1);
38694 --
38695 -- adr variables
38696 l_segment VARCHAR2(30);
38697 l_ccid NUMBER;
38698 l_adr_transaction_coa_id NUMBER;
38702 l_adr_value_type_code VARCHAR2(30);
38699 l_adr_accounting_coa_id NUMBER;
38700 l_adr_flexfield_segment_code VARCHAR2(30);
38701 l_adr_flex_value_set_id NUMBER;
38703 l_adr_value_combination_id NUMBER;
38704 l_adr_value_segment_code VARCHAR2(30);
38705
38706 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
38707 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
38708 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
38709 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
38710
38711 -- 4262811 Variables ------------------------------------------------------------------------------------------
38712 l_entered_amt_idx NUMBER;
38713 l_accted_amt_idx NUMBER;
38714 l_acc_rev_flag VARCHAR2(1);
38715 l_accrual_line_num NUMBER;
38716 l_tmp_amt NUMBER;
38717 l_acc_rev_natural_side_code VARCHAR2(1);
38718
38719 l_num_entries NUMBER;
38720 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
38721 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
38722 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
38723 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
38724 l_recog_line_1 NUMBER;
38725 l_recog_line_2 NUMBER;
38726
38727 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
38728 l_bflow_applied_to_amt NUMBER; -- 5132302
38729 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
38730
38731 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
38732
38733 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
38734 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
38735
38736 ---------------------------------------------------------------------------------------------------------------
38737
38738
38739 --
38740 -- bulk performance
38741 --
38742 l_balance_type_code VARCHAR2(1);
38743 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
38744 l_log_module VARCHAR2(240);
38745
38746 --
38747 -- Upgrade strategy
38748 --
38749 l_actual_upg_option VARCHAR2(1);
38750 l_enc_upg_option VARCHAR2(1);
38751
38752 --
38753 BEGIN
38754 --
38755 IF g_log_enabled THEN
38756 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_97';
38757 END IF;
38758 --
38759 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
38760
38761 trace
38762 (p_msg => 'BEGIN of AcctLineType_97'
38763 ,p_level => C_LEVEL_PROCEDURE
38764 ,p_module => l_log_module);
38765
38766 END IF;
38767 --
38768 l_component_type := 'AMB_JLT';
38769 l_component_code := 'AP_CASH_PMT_MAT';
38770 l_component_type_code := 'S';
38771 l_component_appl_id := 200;
38772 l_amb_context_code := 'DEFAULT';
38773 l_entity_code := 'AP_PAYMENTS';
38774 l_event_class_code := 'FUTURE DATED PAYMENTS';
38775 l_event_type_code := 'FUTURE DATED PAYMENTS_ALL';
38776 l_line_definition_owner_code := 'S';
38777 l_line_definition_code := 'ACCRUAL_FUTURE DATED PAYMENTS1';
38778 --
38779 l_balance_type_code := 'A';
38780 l_segment := NULL;
38781 l_ccid := NULL;
38782 l_adr_transaction_coa_id := NULL;
38783 l_adr_accounting_coa_id := NULL;
38784 l_adr_flexfield_segment_code := NULL;
38785 l_adr_flex_value_set_id := NULL;
38786 l_adr_value_type_code := NULL;
38787 l_adr_value_combination_id := NULL;
38788 l_adr_value_segment_code := NULL;
38789
38790 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
38791 l_bflow_class_code := ''; -- 4219869 Business Flow
38792 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
38793 l_budgetary_control_flag := 'N';
38794
38795 l_bflow_applied_to_amt_idx := NULL; -- 5132302
38796 l_bflow_applied_to_amt := NULL; -- 5132302
38797 l_entered_amt_idx := NULL; -- 4262811
38798 l_accted_amt_idx := NULL; -- 4262811
38799 l_acc_rev_flag := NULL; -- 4262811
38800 l_accrual_line_num := NULL; -- 4262811
38801 l_tmp_amt := NULL; -- 4262811
38802 --
38803
38804 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
38805 l_balance_type_code <> 'B' THEN
38806 IF NVL(p_source_57,'
38807 ') = 'ISSUE_ISSUE' AND
38808 (NVL(p_source_43,'
38809 ') <> 'Y' OR
38810 NVL(p_source_43,'
38811 ') = 'Y' AND
38812 NVL(p_source_116,'
38813 ') <> 'Y') AND
38814 p_source_117 IS NOT NULL AND
38815 NVL(p_source_101,'
38816 ') = 'CASH'
38817 THEN
38818
38819 --
38820 XLA_AE_LINES_PKG.SetNewLine;
38821
38822 p_balance_type_code := l_balance_type_code;
38823 -- set the flag so later we will know whether the gain loss line needs to be created
38824
38825 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
38826 p_actual_flag :='A';
38827 END IF;
38828
38829 --
38833 p_header_num => 0); -- 4262811
38830 -- bulk performance
38831 --
38832 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
38834 --
38835 -- set accounting line options
38836 --
38837 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
38838 p_natural_side_code => 'C'
38839 , p_gain_or_loss_flag => 'N'
38840 , p_gl_transfer_mode_code => 'S'
38841 , p_acct_entry_type_code => 'A'
38842 , p_switch_side_flag => 'Y'
38843 , p_merge_duplicate_code => 'A'
38844 );
38845 --
38846 l_acc_rev_natural_side_code := 'D'; -- 4262811
38847 --
38848 --
38849 -- set accounting line type info
38850 --
38851 xla_ae_lines_pkg.SetAcctLineType
38852 (p_component_type => l_component_type
38853 ,p_event_type_code => l_event_type_code
38854 ,p_line_definition_owner_code => l_line_definition_owner_code
38855 ,p_line_definition_code => l_line_definition_code
38856 ,p_accounting_line_code => l_component_code
38857 ,p_accounting_line_type_code => l_component_type_code
38858 ,p_accounting_line_appl_id => l_component_appl_id
38859 ,p_amb_context_code => l_amb_context_code
38860 ,p_entity_code => l_entity_code
38861 ,p_event_class_code => l_event_class_code);
38862 --
38863 -- set accounting class
38864 --
38865 xla_ae_lines_pkg.SetAcctClass(
38866 p_accounting_class_code => 'CASH'
38867 , p_ae_header_id => l_ae_header_id
38868 );
38869
38870 --
38871 -- set rounding class
38872 --
38873 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
38874 'CASH';
38875
38876 --
38877 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
38878 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
38879 --
38880 -- bulk performance
38881 --
38882 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
38883
38884 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
38885 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
38886
38887 -- 4955764
38888 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
38889 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
38890
38891 -- 4458381 Public Sector Enh
38892
38893 --
38894 -- set accounting attributes for the line type
38895 --
38896 l_entered_amt_idx := 9;
38897 l_accted_amt_idx := 14;
38898 l_bflow_applied_to_amt_idx := NULL; -- 5132302
38899 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
38900 l_rec_acct_attrs.array_char_value(1) := p_source_58;
38901 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_APPLICATION_ID';
38902 l_rec_acct_attrs.array_num_value(2) := p_source_96;
38903 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_DISTRIBUTION_TYPE';
38904 l_rec_acct_attrs.array_char_value(3) := p_source_103;
38905 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_ENTITY_CODE';
38906 l_rec_acct_attrs.array_char_value(4) := p_source_104;
38907 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_FIRST_DIST_ID';
38908 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_105);
38909 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
38910 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_106);
38911 l_rec_acct_attrs.array_acct_attr_code(7) := 'DISTRIBUTION_IDENTIFIER_1';
38912 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_107);
38913 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_TYPE';
38914 l_rec_acct_attrs.array_char_value(8) := p_source_60;
38915 l_rec_acct_attrs.array_acct_attr_code(9) := 'ENTERED_CURRENCY_AMOUNT';
38916 l_rec_acct_attrs.array_num_value(9) := p_source_102;
38917 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_CODE';
38918 l_rec_acct_attrs.array_char_value(10) := p_source_8;
38919 l_rec_acct_attrs.array_acct_attr_code(11) := 'EXCHANGE_DATE';
38920 l_rec_acct_attrs.array_date_value(11) := p_source_120;
38921 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_RATE';
38922 l_rec_acct_attrs.array_num_value(12) := p_source_121;
38923 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE_TYPE';
38924 l_rec_acct_attrs.array_char_value(13) := p_source_122;
38925 l_rec_acct_attrs.array_acct_attr_code(14) := 'LEDGER_AMOUNT';
38926 l_rec_acct_attrs.array_num_value(14) := p_source_124;
38927 l_rec_acct_attrs.array_acct_attr_code(15) := 'OVERRIDE_ACCTD_AMT_FLAG';
38928 l_rec_acct_attrs.array_char_value(15) := p_source_85;
38929 l_rec_acct_attrs.array_acct_attr_code(16) := 'PARTY_ID';
38930 l_rec_acct_attrs.array_num_value(16) := p_source_113;
38931 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_SITE_ID';
38932 l_rec_acct_attrs.array_num_value(17) := p_source_114;
38933 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_TYPE';
38934 l_rec_acct_attrs.array_char_value(18) := p_source_88;
38935 l_rec_acct_attrs.array_acct_attr_code(19) := 'REVERSED_DISTRIBUTION_ID1';
38936 l_rec_acct_attrs.array_num_value(19) := to_char(p_source_115);
38937 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_TYPE';
38941 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
38938 l_rec_acct_attrs.array_char_value(20) := p_source_60;
38939
38940 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
38942
38943 ---------------------------------------------------------------------------------------------------------------
38944 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
38945 ---------------------------------------------------------------------------------------------------------------
38946 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
38947
38948 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
38949 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
38950
38951 IF xla_accounting_cache_pkg.GetValueChar
38952 (p_source_code => 'LEDGER_CATEGORY_CODE'
38953 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
38954 AND l_bflow_method_code = 'PRIOR_ENTRY'
38955 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
38956 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
38957 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
38958 )
38959 THEN
38960 xla_ae_lines_pkg.BflowUpgEntry
38961 (p_business_method_code => l_bflow_method_code
38962 ,p_business_class_code => l_bflow_class_code
38963 ,p_balance_type => l_balance_type_code);
38964 ELSE
38965 NULL;
38966 -- No business flow processing for business flow method of NONE.
38967 END IF;
38968
38969 --
38970 -- call analytical criteria
38971 --
38972
38973 --
38974 -- call description
38975 --
38976 -- No description or it is inherited.
38977 --
38978 -- call ADRs
38979 -- Bug 4922099
38980 --
38981 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
38982 (NVL(l_actual_upg_option, 'N') = 'O') OR
38983 (NVL(l_enc_upg_option, 'N') = 'O')
38984 )
38985 THEN
38986 NULL;
38987 --
38988 --
38989
38990 l_ccid := AcctDerRule_30(
38991 p_application_id => p_application_id
38992 , p_ae_header_id => l_ae_header_id
38993 , p_source_12 => p_source_12
38994 , x_transaction_coa_id => l_adr_transaction_coa_id
38995 , x_accounting_coa_id => l_adr_accounting_coa_id
38996 , x_value_type_code => l_adr_value_type_code
38997 , p_side => 'NA'
38998 );
38999
39000 xla_ae_lines_pkg.set_ccid(
39001 p_code_combination_id => l_ccid
39002 , p_value_type_code => l_adr_value_type_code
39003 , p_transaction_coa_id => l_adr_transaction_coa_id
39004 , p_accounting_coa_id => l_adr_accounting_coa_id
39005 , p_adr_code => 'AP_CASH'
39006 , p_adr_type_code => 'S'
39007 , p_component_type => l_component_type
39008 , p_component_code => l_component_code
39009 , p_component_type_code => l_component_type_code
39010 , p_component_appl_id => l_component_appl_id
39011 , p_amb_context_code => l_amb_context_code
39012 , p_side => 'NA'
39013 );
39014
39015
39016 --
39017 --
39018 END IF;
39019 --
39020 -- Bug 4922099
39021 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
39022 (NVL(l_enc_upg_option, 'N') = 'O')
39023 ) AND
39024 (l_bflow_method_code = 'PRIOR_ENTRY')
39025 )
39026 THEN
39027 IF
39028 --
39029 1 = 2
39030 --
39031 THEN
39032 xla_accounting_err_pkg.build_message
39033 (p_appli_s_name => 'XLA'
39034 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
39035 ,p_token_1 => 'LINE_NUMBER'
39036 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
39037 ,p_token_2 => 'LINE_TYPE_NAME'
39038 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
39039 l_component_type
39040 ,l_component_code
39041 ,l_component_type_code
39042 ,l_component_appl_id
39043 ,l_amb_context_code
39044 ,l_entity_code
39045 ,l_event_class_code
39046 )
39047 ,p_token_3 => 'OWNER'
39048 ,p_value_3 => xla_lookups_pkg.get_meaning(
39049 p_lookup_type => 'XLA_OWNER_TYPE'
39053 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
39050 ,p_lookup_code => l_component_type_code
39051 )
39052 ,p_token_4 => 'PRODUCT_NAME'
39054 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
39055 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
39056 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
39057 ,p_ae_header_id => NULL
39058 );
39059
39060 IF (C_LEVEL_ERROR>= g_log_level) THEN
39061 trace
39062 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
39063 ,p_level => C_LEVEL_ERROR
39064 ,p_module => l_log_module);
39065 END IF;
39066 END IF;
39067 END IF;
39068 --
39069 --
39070 ------------------------------------------------------------------------------------------------
39071 -- 4219869 Business Flow
39072 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
39073 -- Prior Entry. Currently, the following code is always generated.
39074 ------------------------------------------------------------------------------------------------
39075 XLA_AE_LINES_PKG.ValidateCurrentLine;
39076
39077 ------------------------------------------------------------------------------------
39078 -- 4219869 Business Flow
39079 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
39080 ------------------------------------------------------------------------------------
39081 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
39082
39083 ----------------------------------------------------------------------------------
39084 -- 4219869 Business Flow
39085 -- Update journal entry status -- Need to generate this within IF <condition>
39086 ----------------------------------------------------------------------------------
39087 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
39088 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
39089 ,p_balance_type_code => l_balance_type_code
39090 );
39091
39092 -------------------------------------------------------------------------------------------
39093 -- 4262811 - Generate the Accrual Reversal lines
39094 -------------------------------------------------------------------------------------------
39095 BEGIN
39096 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
39097 (g_array_event(p_event_id).array_value_num('header_index'));
39098 IF l_acc_rev_flag IS NULL THEN
39099 l_acc_rev_flag := 'N';
39100 END IF;
39101 EXCEPTION
39102 WHEN OTHERS THEN
39103 l_acc_rev_flag := 'N';
39104 END;
39105 --
39106 IF (l_acc_rev_flag = 'Y') THEN
39107
39108 -- 4645092 ------------------------------------------------------------------------------
39109 -- To allow MPA report to determine if it should generate report process
39110 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
39111 ------------------------------------------------------------------------------------------
39112
39113 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
39114 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
39115 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
39116 -- call ADRs
39117 -- Bug 4922099
39118 --
39119 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
39120 (NVL(l_actual_upg_option, 'N') = 'O') OR
39121 (NVL(l_enc_upg_option, 'N') = 'O')
39122 )
39123 THEN
39124 NULL;
39125 --
39126 --
39127
39128 l_ccid := AcctDerRule_30(
39129 p_application_id => p_application_id
39130 , p_ae_header_id => l_ae_header_id
39131 , p_source_12 => p_source_12
39132 , x_transaction_coa_id => l_adr_transaction_coa_id
39133 , x_accounting_coa_id => l_adr_accounting_coa_id
39134 , x_value_type_code => l_adr_value_type_code
39135 , p_side => 'NA'
39136 );
39137
39138 xla_ae_lines_pkg.set_ccid(
39139 p_code_combination_id => l_ccid
39140 , p_value_type_code => l_adr_value_type_code
39141 , p_transaction_coa_id => l_adr_transaction_coa_id
39142 , p_accounting_coa_id => l_adr_accounting_coa_id
39143 , p_adr_code => 'AP_CASH'
39144 , p_adr_type_code => 'S'
39145 , p_component_type => l_component_type
39146 , p_component_code => l_component_code
39147 , p_component_type_code => l_component_type_code
39148 , p_component_appl_id => l_component_appl_id
39149 , p_amb_context_code => l_amb_context_code
39150 , p_side => 'NA'
39151 );
39152
39153
39154 --
39155 --
39156 END IF;
39157
39158 --
39159 -- Update the line information that should be overwritten
39160 --
39161 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
39165 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
39162 p_header_num => 1);
39163 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
39164
39166
39167 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
39168 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
39169 END IF;
39170
39171 --
39172 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
39173 --
39174 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
39175 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
39176 ELSE
39177 ---------------------------------------------------------------------------------------------------
39178 -- 4262811a Switch Sign
39179 ---------------------------------------------------------------------------------------------------
39180 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
39181 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
39182 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
39183 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
39184 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
39185 -- 5132302
39186 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
39187 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
39188
39189 END IF;
39190
39191 -- 4955764
39192 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
39193 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
39194
39195
39196 XLA_AE_LINES_PKG.ValidateCurrentLine;
39197 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
39198
39199 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
39200 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
39201 ,p_balance_type_code => l_balance_type_code);
39202
39203 END IF;
39204
39205 -----------------------------------------------------------------------------------------
39206 -- 4262811 Multiperiod Accounting
39207 -----------------------------------------------------------------------------------------
39208 -- No MPA option is assigned.
39209
39210
39211 END IF;
39212 END IF;
39213 --
39214
39215 --
39216 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
39217 trace
39218 (p_msg => 'END of AcctLineType_97'
39219 ,p_level => C_LEVEL_PROCEDURE
39220 ,p_module => l_log_module);
39221 END IF;
39222 --
39223 EXCEPTION
39224 WHEN xla_exceptions_pkg.application_exception THEN
39225 RAISE;
39226 WHEN OTHERS THEN
39227 xla_exceptions_pkg.raise_message
39228 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_97');
39229 END AcctLineType_97;
39230 --
39231
39232 ---------------------------------------
39233 --
39234 -- PRIVATE FUNCTION
39235 -- AcctLineType_98
39236 --
39237 ---------------------------------------
39238 PROCEDURE AcctLineType_98 (
39239 p_application_id IN NUMBER
39240 ,p_event_id IN NUMBER
39241 ,p_calculate_acctd_flag IN VARCHAR2
39242 ,p_calculate_g_l_flag IN VARCHAR2
39243 ,p_actual_flag IN OUT VARCHAR2
39244 ,p_balance_type_code OUT VARCHAR2
39245 ,p_gain_or_loss_ref OUT VARCHAR2
39246
39247 --Payment Currency Code
39248 , p_source_8 IN VARCHAR2
39249 --Automatic Offsets Value
39250 , p_source_10 IN VARCHAR2
39251 , p_source_10_meaning IN VARCHAR2
39252 --Bank Cash Account
39253 , p_source_12 IN NUMBER
39254 --When to Account for Payment Option
39255 , p_source_57 IN VARCHAR2
39256 --Accounting Reversal Indicator
39257 , p_source_58 IN VARCHAR2
39258 --Distribution Link Type
39259 , p_source_60 IN VARCHAR2
39260 --Override Accounted Amount Indicator
39261 , p_source_85 IN VARCHAR2
39262 , p_source_85_meaning IN VARCHAR2
39263 --Third Party Type
39264 , p_source_88 IN VARCHAR2
39265 --Business Flow Accounts Payable Application Identifier
39266 , p_source_96 IN NUMBER
39267 --Payment Distribution Type
39268 , p_source_101 IN VARCHAR2
39269 , p_source_101_meaning IN VARCHAR2
39270 --Payment Distribution Amount
39271 , p_source_102 IN NUMBER
39272 --Business Flow Payment Distribution Type
39273 , p_source_103 IN VARCHAR2
39274 --Business Flow Payment Entity Code
39275 , p_source_104 IN VARCHAR2
39276 --Business Flow Payment Distribution Identifier
39277 , p_source_105 IN NUMBER
39278 --Business Flow Payment Identifier
39279 , p_source_106 IN NUMBER
39280 --Payment Distribution Identifier
39281 , p_source_107 IN NUMBER
39282 --Payment Supplier Identifier
39286 --Payment Distribution Reversed Identifier
39283 , p_source_113 IN NUMBER
39284 --Payment Supplier Site Identifier
39285 , p_source_114 IN NUMBER
39287 , p_source_115 IN NUMBER
39288 --Pooled Bank Account Option
39289 , p_source_116 IN VARCHAR2
39290 , p_source_116_meaning IN VARCHAR2
39291 --Payment Maturity Date
39292 , p_source_117 IN DATE
39293 --Payment Exchange Date
39294 , p_source_120 IN DATE
39295 --Payment Exchange Rate
39296 , p_source_121 IN NUMBER
39297 --Payment Exchange Rate Type
39298 , p_source_122 IN VARCHAR2
39299 --Payment Distribution (Matured Rate) Ledger Amount
39300 , p_source_124 IN NUMBER
39301 )
39302 IS
39303
39304 l_component_type VARCHAR2(80);
39305 l_component_code VARCHAR2(30);
39306 l_component_type_code VARCHAR2(1);
39307 l_component_appl_id INTEGER;
39308 l_amb_context_code VARCHAR2(30);
39309 l_entity_code VARCHAR2(30);
39310 l_event_class_code VARCHAR2(30);
39311 l_ae_header_id NUMBER;
39312 l_event_type_code VARCHAR2(30);
39313 l_line_definition_code VARCHAR2(30);
39314 l_line_definition_owner_code VARCHAR2(1);
39315 --
39316 -- adr variables
39317 l_segment VARCHAR2(30);
39318 l_ccid NUMBER;
39319 l_adr_transaction_coa_id NUMBER;
39320 l_adr_accounting_coa_id NUMBER;
39321 l_adr_flexfield_segment_code VARCHAR2(30);
39322 l_adr_flex_value_set_id NUMBER;
39323 l_adr_value_type_code VARCHAR2(30);
39324 l_adr_value_combination_id NUMBER;
39325 l_adr_value_segment_code VARCHAR2(30);
39326
39327 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
39328 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
39329 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
39330 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
39331
39332 -- 4262811 Variables ------------------------------------------------------------------------------------------
39333 l_entered_amt_idx NUMBER;
39334 l_accted_amt_idx NUMBER;
39335 l_acc_rev_flag VARCHAR2(1);
39336 l_accrual_line_num NUMBER;
39337 l_tmp_amt NUMBER;
39338 l_acc_rev_natural_side_code VARCHAR2(1);
39339
39340 l_num_entries NUMBER;
39341 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
39342 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
39343 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
39344 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
39345 l_recog_line_1 NUMBER;
39346 l_recog_line_2 NUMBER;
39347
39348 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
39349 l_bflow_applied_to_amt NUMBER; -- 5132302
39350 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
39351
39352 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
39353
39354 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
39355 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
39356
39357 ---------------------------------------------------------------------------------------------------------------
39358
39359
39360 --
39361 -- bulk performance
39362 --
39363 l_balance_type_code VARCHAR2(1);
39364 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
39365 l_log_module VARCHAR2(240);
39366
39367 --
39368 -- Upgrade strategy
39369 --
39370 l_actual_upg_option VARCHAR2(1);
39371 l_enc_upg_option VARCHAR2(1);
39372
39373 --
39374 BEGIN
39375 --
39376 IF g_log_enabled THEN
39377 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_98';
39378 END IF;
39379 --
39380 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
39381
39382 trace
39383 (p_msg => 'BEGIN of AcctLineType_98'
39384 ,p_level => C_LEVEL_PROCEDURE
39385 ,p_module => l_log_module);
39386
39387 END IF;
39388 --
39389 l_component_type := 'AMB_JLT';
39390 l_component_code := 'AP_CASH_PMT_MAT_AOS_AS';
39391 l_component_type_code := 'S';
39392 l_component_appl_id := 200;
39393 l_amb_context_code := 'DEFAULT';
39394 l_entity_code := 'AP_PAYMENTS';
39395 l_event_class_code := 'FUTURE DATED PAYMENTS';
39396 l_event_type_code := 'FUTURE DATED PAYMENTS_ALL';
39397 l_line_definition_owner_code := 'S';
39398 l_line_definition_code := 'ACCRUAL_FUTURE DATED PAYMENTS1';
39399 --
39400 l_balance_type_code := 'A';
39401 l_segment := NULL;
39402 l_ccid := NULL;
39403 l_adr_transaction_coa_id := NULL;
39404 l_adr_accounting_coa_id := NULL;
39405 l_adr_flexfield_segment_code := NULL;
39406 l_adr_flex_value_set_id := NULL;
39407 l_adr_value_type_code := NULL;
39408 l_adr_value_combination_id := NULL;
39409 l_adr_value_segment_code := NULL;
39410
39411 l_bflow_method_code := 'SAME_ENTRY'; -- 4219869 Business Flow
39415
39412 l_bflow_class_code := ''; -- 4219869 Business Flow
39413 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
39414 l_budgetary_control_flag := 'N';
39416 l_bflow_applied_to_amt_idx := NULL; -- 5132302
39417 l_bflow_applied_to_amt := NULL; -- 5132302
39418 l_entered_amt_idx := NULL; -- 4262811
39419 l_accted_amt_idx := NULL; -- 4262811
39420 l_acc_rev_flag := NULL; -- 4262811
39421 l_accrual_line_num := NULL; -- 4262811
39422 l_tmp_amt := NULL; -- 4262811
39423 --
39424
39425 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
39426 l_balance_type_code <> 'B' THEN
39427 IF NVL(p_source_57,'
39428 ') = 'ISSUE_ISSUE' AND
39429 (NVL(p_source_116,'
39430 ') = 'Y' AND
39431 NVL(p_source_10,'
39432 ') = 'ACCOUNT_SEGMENT_VALUE') AND
39433 p_source_117 IS NOT NULL AND
39434 NVL(p_source_101,'
39435 ') = 'CASH'
39436 THEN
39437
39438 --
39439 XLA_AE_LINES_PKG.SetNewLine;
39440
39441 p_balance_type_code := l_balance_type_code;
39442 -- set the flag so later we will know whether the gain loss line needs to be created
39443
39444 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
39445 p_actual_flag :='A';
39446 END IF;
39447
39448 --
39449 -- bulk performance
39450 --
39451 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
39452 p_header_num => 0); -- 4262811
39453 --
39454 -- set accounting line options
39455 --
39456 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
39457 p_natural_side_code => 'C'
39458 , p_gain_or_loss_flag => 'N'
39459 , p_gl_transfer_mode_code => 'S'
39460 , p_acct_entry_type_code => 'A'
39461 , p_switch_side_flag => 'Y'
39462 , p_merge_duplicate_code => 'A'
39463 );
39464 --
39465 l_acc_rev_natural_side_code := 'D'; -- 4262811
39466 --
39467 --
39468 -- set accounting line type info
39469 --
39470 xla_ae_lines_pkg.SetAcctLineType
39471 (p_component_type => l_component_type
39472 ,p_event_type_code => l_event_type_code
39473 ,p_line_definition_owner_code => l_line_definition_owner_code
39474 ,p_line_definition_code => l_line_definition_code
39475 ,p_accounting_line_code => l_component_code
39476 ,p_accounting_line_type_code => l_component_type_code
39477 ,p_accounting_line_appl_id => l_component_appl_id
39478 ,p_amb_context_code => l_amb_context_code
39479 ,p_entity_code => l_entity_code
39480 ,p_event_class_code => l_event_class_code);
39481 --
39482 -- set accounting class
39483 --
39484 xla_ae_lines_pkg.SetAcctClass(
39485 p_accounting_class_code => 'CASH'
39486 , p_ae_header_id => l_ae_header_id
39487 );
39488
39489 --
39490 -- set rounding class
39491 --
39492 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
39493 'CASH';
39494
39495 --
39496 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
39497 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
39498 --
39499 -- bulk performance
39500 --
39501 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
39502
39503 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
39504 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
39505
39506 -- 4955764
39507 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
39508 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
39509
39510 -- 4458381 Public Sector Enh
39511
39512 --
39513 -- set accounting attributes for the line type
39514 --
39515 l_entered_amt_idx := 9;
39516 l_accted_amt_idx := 14;
39517 l_bflow_applied_to_amt_idx := NULL; -- 5132302
39518 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
39519 l_rec_acct_attrs.array_char_value(1) := p_source_58;
39520 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_APPLICATION_ID';
39521 l_rec_acct_attrs.array_num_value(2) := p_source_96;
39522 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_DISTRIBUTION_TYPE';
39523 l_rec_acct_attrs.array_char_value(3) := p_source_103;
39524 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_ENTITY_CODE';
39525 l_rec_acct_attrs.array_char_value(4) := p_source_104;
39526 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_FIRST_DIST_ID';
39527 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_105);
39528 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
39529 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_106);
39530 l_rec_acct_attrs.array_acct_attr_code(7) := 'DISTRIBUTION_IDENTIFIER_1';
39531 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_107);
39532 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_TYPE';
39536 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_CODE';
39533 l_rec_acct_attrs.array_char_value(8) := p_source_60;
39534 l_rec_acct_attrs.array_acct_attr_code(9) := 'ENTERED_CURRENCY_AMOUNT';
39535 l_rec_acct_attrs.array_num_value(9) := p_source_102;
39537 l_rec_acct_attrs.array_char_value(10) := p_source_8;
39538 l_rec_acct_attrs.array_acct_attr_code(11) := 'EXCHANGE_DATE';
39539 l_rec_acct_attrs.array_date_value(11) := p_source_120;
39540 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_RATE';
39541 l_rec_acct_attrs.array_num_value(12) := p_source_121;
39542 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE_TYPE';
39543 l_rec_acct_attrs.array_char_value(13) := p_source_122;
39544 l_rec_acct_attrs.array_acct_attr_code(14) := 'LEDGER_AMOUNT';
39545 l_rec_acct_attrs.array_num_value(14) := p_source_124;
39546 l_rec_acct_attrs.array_acct_attr_code(15) := 'OVERRIDE_ACCTD_AMT_FLAG';
39547 l_rec_acct_attrs.array_char_value(15) := p_source_85;
39548 l_rec_acct_attrs.array_acct_attr_code(16) := 'PARTY_ID';
39549 l_rec_acct_attrs.array_num_value(16) := p_source_113;
39550 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_SITE_ID';
39551 l_rec_acct_attrs.array_num_value(17) := p_source_114;
39552 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_TYPE';
39553 l_rec_acct_attrs.array_char_value(18) := p_source_88;
39554 l_rec_acct_attrs.array_acct_attr_code(19) := 'REVERSED_DISTRIBUTION_ID1';
39555 l_rec_acct_attrs.array_num_value(19) := to_char(p_source_115);
39556 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_TYPE';
39557 l_rec_acct_attrs.array_char_value(20) := p_source_60;
39558
39559 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
39560 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
39561
39562 ---------------------------------------------------------------------------------------------------------------
39563 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
39564 ---------------------------------------------------------------------------------------------------------------
39565 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
39566
39567 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
39568 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
39569
39570 IF xla_accounting_cache_pkg.GetValueChar
39571 (p_source_code => 'LEDGER_CATEGORY_CODE'
39572 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
39573 AND l_bflow_method_code = 'PRIOR_ENTRY'
39574 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
39575 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
39576 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
39577 )
39578 THEN
39579 xla_ae_lines_pkg.BflowUpgEntry
39580 (p_business_method_code => l_bflow_method_code
39581 ,p_business_class_code => l_bflow_class_code
39582 ,p_balance_type => l_balance_type_code);
39583 ELSE
39584 NULL;
39585 XLA_AE_LINES_PKG.business_flow_validation(
39586 p_business_method_code => l_bflow_method_code
39587 ,p_business_class_code => l_bflow_class_code
39588 ,p_inherit_description_flag => l_inherit_desc_flag);
39589 END IF;
39590
39591 --
39592 -- call analytical criteria
39593 --
39594
39595 --
39596 -- call description
39597 --
39598 -- No description or it is inherited.
39599 --
39600 -- call ADRs
39601 -- Bug 4922099
39602 --
39603 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
39604 (NVL(l_actual_upg_option, 'N') = 'O') OR
39605 (NVL(l_enc_upg_option, 'N') = 'O')
39606 )
39607 THEN
39608 NULL;
39609 --
39610 --
39611
39612 xla_ae_lines_pkg.Set_Ccid( -- replaced SetCcid
39613 p_code_combination_id => TO_NUMBER(C_NUM)
39614 , p_value_type_code => NULL
39615 , p_transaction_coa_id => null
39616 , p_accounting_coa_id => null
39617 , p_adr_code => NULL
39618 , p_adr_type_code => NULL
39619 , p_component_type => l_component_type
39620 , p_component_code => l_component_code
39621 , p_component_type_code => l_component_type_code
39622 , p_component_appl_id => l_component_appl_id
39623 , p_amb_context_code => l_amb_context_code
39624 , p_side => NULL
39625 );
39626
39627
39628 -- initialise segments
39629 XLA_AE_LINES_PKG.g_rec_lines.array_segment1(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
39630 XLA_AE_LINES_PKG.g_rec_lines.array_segment2(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
39631 XLA_AE_LINES_PKG.g_rec_lines.array_segment3(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
39632 XLA_AE_LINES_PKG.g_rec_lines.array_segment4(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
39633 XLA_AE_LINES_PKG.g_rec_lines.array_segment5(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
39634 XLA_AE_LINES_PKG.g_rec_lines.array_segment6(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
39635 XLA_AE_LINES_PKG.g_rec_lines.array_segment7(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
39636 XLA_AE_LINES_PKG.g_rec_lines.array_segment8(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
39640 XLA_AE_LINES_PKG.g_rec_lines.array_segment12(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
39637 XLA_AE_LINES_PKG.g_rec_lines.array_segment9(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
39638 XLA_AE_LINES_PKG.g_rec_lines.array_segment10(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
39639 XLA_AE_LINES_PKG.g_rec_lines.array_segment11(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
39641 XLA_AE_LINES_PKG.g_rec_lines.array_segment13(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
39642 XLA_AE_LINES_PKG.g_rec_lines.array_segment14(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
39643 XLA_AE_LINES_PKG.g_rec_lines.array_segment15(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
39644 XLA_AE_LINES_PKG.g_rec_lines.array_segment16(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
39645 XLA_AE_LINES_PKG.g_rec_lines.array_segment17(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
39646 XLA_AE_LINES_PKG.g_rec_lines.array_segment18(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
39647 XLA_AE_LINES_PKG.g_rec_lines.array_segment19(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
39648 XLA_AE_LINES_PKG.g_rec_lines.array_segment20(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
39649 XLA_AE_LINES_PKG.g_rec_lines.array_segment21(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
39650 XLA_AE_LINES_PKG.g_rec_lines.array_segment22(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
39651 XLA_AE_LINES_PKG.g_rec_lines.array_segment23(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
39652 XLA_AE_LINES_PKG.g_rec_lines.array_segment24(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
39653 XLA_AE_LINES_PKG.g_rec_lines.array_segment25(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
39654 XLA_AE_LINES_PKG.g_rec_lines.array_segment26(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
39655 XLA_AE_LINES_PKG.g_rec_lines.array_segment27(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
39656 XLA_AE_LINES_PKG.g_rec_lines.array_segment28(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
39657 XLA_AE_LINES_PKG.g_rec_lines.array_segment29(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
39658 XLA_AE_LINES_PKG.g_rec_lines.array_segment30(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
39659 --
39660
39661 --
39662
39663
39664 l_segment := AcctDerRule_6(
39665 p_application_id => p_application_id
39666 , p_ae_header_id => l_ae_header_id
39667 , p_source_12 => p_source_12
39668 , x_transaction_coa_id => l_adr_transaction_coa_id
39669 , x_accounting_coa_id => l_adr_accounting_coa_id
39670 , x_flexfield_segment_code => l_adr_flexfield_segment_code
39671 , x_flex_value_set_id => l_adr_flex_value_set_id
39672 , x_value_type_code => l_adr_value_type_code
39673 , x_value_combination_id => l_adr_value_combination_id
39674 , x_value_segment_code => l_adr_value_segment_code
39675 , p_side => 'NA'
39676 , p_override_seg_flag => 'Y'
39677 );
39678
39679 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
39680
39681 xla_ae_lines_pkg.set_segment(
39682 p_to_segment_code => 'GL_ACCOUNT'
39683 , p_segment_value => l_segment
39684 , p_from_segment_code => l_adr_value_segment_code
39685 , p_from_combination_id => l_adr_value_combination_id
39686 , p_value_type_code => l_adr_value_type_code
39687 , p_transaction_coa_id => l_adr_transaction_coa_id
39688 , p_accounting_coa_id => l_adr_accounting_coa_id
39689 , p_flexfield_segment_code => l_adr_flexfield_segment_code
39690 , p_flex_value_set_id => l_adr_flex_value_set_id
39691 , p_adr_code => 'AP_CASH_NATURAL_ACCT_SEG'
39692 , p_adr_type_code => 'S'
39693 , p_component_type => l_component_type
39694 , p_component_code => l_component_code
39695 , p_component_type_code => l_component_type_code
39696 , p_component_appl_id => l_component_appl_id
39697 , p_amb_context_code => l_amb_context_code
39698 , p_entity_code => 'AP_PAYMENTS'
39699 , p_event_class_code => 'FUTURE DATED PAYMENTS'
39700 , p_side => 'NA'
39701 );
39702
39703 END IF;
39704
39705 --
39706 --
39707 END IF;
39708 --
39709 -- Bug 4922099
39710 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
39711 (NVL(l_enc_upg_option, 'N') = 'O')
39712 ) AND
39713 (l_bflow_method_code = 'PRIOR_ENTRY')
39714 )
39715 THEN
39716 IF
39717 --
39718 1 = 2
39719 --
39720 THEN
39721 xla_accounting_err_pkg.build_message
39722 (p_appli_s_name => 'XLA'
39723 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
39724 ,p_token_1 => 'LINE_NUMBER'
39725 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
39726 ,p_token_2 => 'LINE_TYPE_NAME'
39727 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
39728 l_component_type
39729 ,l_component_code
39730 ,l_component_type_code
39731 ,l_component_appl_id
39735 )
39732 ,l_amb_context_code
39733 ,l_entity_code
39734 ,l_event_class_code
39736 ,p_token_3 => 'OWNER'
39737 ,p_value_3 => xla_lookups_pkg.get_meaning(
39738 p_lookup_type => 'XLA_OWNER_TYPE'
39739 ,p_lookup_code => l_component_type_code
39740 )
39741 ,p_token_4 => 'PRODUCT_NAME'
39742 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
39743 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
39744 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
39745 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
39746 ,p_ae_header_id => NULL
39747 );
39748
39749 IF (C_LEVEL_ERROR>= g_log_level) THEN
39750 trace
39751 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
39752 ,p_level => C_LEVEL_ERROR
39753 ,p_module => l_log_module);
39754 END IF;
39755 END IF;
39756 END IF;
39757 --
39758 --
39759 ------------------------------------------------------------------------------------------------
39760 -- 4219869 Business Flow
39761 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
39762 -- Prior Entry. Currently, the following code is always generated.
39763 ------------------------------------------------------------------------------------------------
39764 XLA_AE_LINES_PKG.ValidateCurrentLine;
39765
39766 ------------------------------------------------------------------------------------
39767 -- 4219869 Business Flow
39768 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
39769 ------------------------------------------------------------------------------------
39770 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
39771
39772 ----------------------------------------------------------------------------------
39773 -- 4219869 Business Flow
39774 -- Update journal entry status -- Need to generate this within IF <condition>
39775 ----------------------------------------------------------------------------------
39776 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
39777 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
39778 ,p_balance_type_code => l_balance_type_code
39779 );
39780
39781 -------------------------------------------------------------------------------------------
39782 -- 4262811 - Generate the Accrual Reversal lines
39783 -------------------------------------------------------------------------------------------
39784 BEGIN
39785 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
39786 (g_array_event(p_event_id).array_value_num('header_index'));
39787 IF l_acc_rev_flag IS NULL THEN
39788 l_acc_rev_flag := 'N';
39789 END IF;
39790 EXCEPTION
39791 WHEN OTHERS THEN
39792 l_acc_rev_flag := 'N';
39793 END;
39794 --
39795 IF (l_acc_rev_flag = 'Y') THEN
39796
39797 -- 4645092 ------------------------------------------------------------------------------
39798 -- To allow MPA report to determine if it should generate report process
39799 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
39800 ------------------------------------------------------------------------------------------
39801
39802 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
39803 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
39804 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
39805 -- call ADRs
39806 -- Bug 4922099
39807 --
39808 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
39809 (NVL(l_actual_upg_option, 'N') = 'O') OR
39810 (NVL(l_enc_upg_option, 'N') = 'O')
39811 )
39812 THEN
39813 NULL;
39814 --
39815 --
39816
39817 xla_ae_lines_pkg.Set_Ccid( -- replaced SetCcid
39818 p_code_combination_id => TO_NUMBER(C_NUM)
39819 , p_value_type_code => NULL
39820 , p_transaction_coa_id => null
39821 , p_accounting_coa_id => null
39822 , p_adr_code => NULL
39823 , p_adr_type_code => NULL
39824 , p_component_type => l_component_type
39825 , p_component_code => l_component_code
39826 , p_component_type_code => l_component_type_code
39827 , p_component_appl_id => l_component_appl_id
39828 , p_amb_context_code => l_amb_context_code
39829 , p_side => NULL
39830 );
39831
39832
39833 -- initialise segments
39834 XLA_AE_LINES_PKG.g_rec_lines.array_segment1(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
39838 XLA_AE_LINES_PKG.g_rec_lines.array_segment5(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
39835 XLA_AE_LINES_PKG.g_rec_lines.array_segment2(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
39836 XLA_AE_LINES_PKG.g_rec_lines.array_segment3(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
39837 XLA_AE_LINES_PKG.g_rec_lines.array_segment4(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
39839 XLA_AE_LINES_PKG.g_rec_lines.array_segment6(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
39840 XLA_AE_LINES_PKG.g_rec_lines.array_segment7(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
39841 XLA_AE_LINES_PKG.g_rec_lines.array_segment8(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
39842 XLA_AE_LINES_PKG.g_rec_lines.array_segment9(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
39843 XLA_AE_LINES_PKG.g_rec_lines.array_segment10(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
39844 XLA_AE_LINES_PKG.g_rec_lines.array_segment11(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
39845 XLA_AE_LINES_PKG.g_rec_lines.array_segment12(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
39846 XLA_AE_LINES_PKG.g_rec_lines.array_segment13(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
39847 XLA_AE_LINES_PKG.g_rec_lines.array_segment14(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
39848 XLA_AE_LINES_PKG.g_rec_lines.array_segment15(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
39849 XLA_AE_LINES_PKG.g_rec_lines.array_segment16(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
39850 XLA_AE_LINES_PKG.g_rec_lines.array_segment17(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
39851 XLA_AE_LINES_PKG.g_rec_lines.array_segment18(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
39852 XLA_AE_LINES_PKG.g_rec_lines.array_segment19(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
39853 XLA_AE_LINES_PKG.g_rec_lines.array_segment20(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
39854 XLA_AE_LINES_PKG.g_rec_lines.array_segment21(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
39855 XLA_AE_LINES_PKG.g_rec_lines.array_segment22(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
39856 XLA_AE_LINES_PKG.g_rec_lines.array_segment23(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
39857 XLA_AE_LINES_PKG.g_rec_lines.array_segment24(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
39858 XLA_AE_LINES_PKG.g_rec_lines.array_segment25(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
39859 XLA_AE_LINES_PKG.g_rec_lines.array_segment26(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
39860 XLA_AE_LINES_PKG.g_rec_lines.array_segment27(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
39861 XLA_AE_LINES_PKG.g_rec_lines.array_segment28(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
39862 XLA_AE_LINES_PKG.g_rec_lines.array_segment29(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
39863 XLA_AE_LINES_PKG.g_rec_lines.array_segment30(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
39864 --
39865
39866 --
39867
39868
39869 l_segment := AcctDerRule_6(
39870 p_application_id => p_application_id
39871 , p_ae_header_id => l_ae_header_id
39872 , p_source_12 => p_source_12
39873 , x_transaction_coa_id => l_adr_transaction_coa_id
39874 , x_accounting_coa_id => l_adr_accounting_coa_id
39875 , x_flexfield_segment_code => l_adr_flexfield_segment_code
39876 , x_flex_value_set_id => l_adr_flex_value_set_id
39877 , x_value_type_code => l_adr_value_type_code
39878 , x_value_combination_id => l_adr_value_combination_id
39879 , x_value_segment_code => l_adr_value_segment_code
39880 , p_side => 'NA'
39881 , p_override_seg_flag => 'Y'
39882 );
39883
39884 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
39885
39886 xla_ae_lines_pkg.set_segment(
39887 p_to_segment_code => 'GL_ACCOUNT'
39888 , p_segment_value => l_segment
39889 , p_from_segment_code => l_adr_value_segment_code
39890 , p_from_combination_id => l_adr_value_combination_id
39891 , p_value_type_code => l_adr_value_type_code
39892 , p_transaction_coa_id => l_adr_transaction_coa_id
39893 , p_accounting_coa_id => l_adr_accounting_coa_id
39894 , p_flexfield_segment_code => l_adr_flexfield_segment_code
39895 , p_flex_value_set_id => l_adr_flex_value_set_id
39896 , p_adr_code => 'AP_CASH_NATURAL_ACCT_SEG'
39897 , p_adr_type_code => 'S'
39898 , p_component_type => l_component_type
39899 , p_component_code => l_component_code
39900 , p_component_type_code => l_component_type_code
39901 , p_component_appl_id => l_component_appl_id
39902 , p_amb_context_code => l_amb_context_code
39903 , p_entity_code => 'AP_PAYMENTS'
39904 , p_event_class_code => 'FUTURE DATED PAYMENTS'
39905 , p_side => 'NA'
39906 );
39907
39908 END IF;
39909
39910 --
39911 --
39912 END IF;
39913
39914 --
39915 -- Update the line information that should be overwritten
39916 --
39917 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
39918 p_header_num => 1);
39919 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
39920
39921 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
39922
39923 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
39924 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
39925 END IF;
39929 --
39926
39927 --
39928 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
39930 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
39931 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
39932 ELSE
39933 ---------------------------------------------------------------------------------------------------
39934 -- 4262811a Switch Sign
39935 ---------------------------------------------------------------------------------------------------
39936 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
39937 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
39938 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
39939 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
39940 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
39941 -- 5132302
39942 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
39943 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
39944
39945 END IF;
39946
39947 -- 4955764
39948 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
39949 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
39950
39951
39952 XLA_AE_LINES_PKG.ValidateCurrentLine;
39953 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
39954
39955 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
39956 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
39957 ,p_balance_type_code => l_balance_type_code);
39958
39959 END IF;
39960
39961 -----------------------------------------------------------------------------------------
39962 -- 4262811 Multiperiod Accounting
39963 -----------------------------------------------------------------------------------------
39964 -- No MPA option is assigned.
39965
39966
39967 END IF;
39968 END IF;
39969 --
39970
39971 --
39972 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
39973 trace
39974 (p_msg => 'END of AcctLineType_98'
39975 ,p_level => C_LEVEL_PROCEDURE
39976 ,p_module => l_log_module);
39977 END IF;
39978 --
39979 EXCEPTION
39980 WHEN xla_exceptions_pkg.application_exception THEN
39981 RAISE;
39982 WHEN OTHERS THEN
39983 xla_exceptions_pkg.raise_message
39984 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_98');
39985 END AcctLineType_98;
39986 --
39987
39988 ---------------------------------------
39989 --
39990 -- PRIVATE FUNCTION
39991 -- AcctLineType_99
39992 --
39993 ---------------------------------------
39994 PROCEDURE AcctLineType_99 (
39995 p_application_id IN NUMBER
39996 ,p_event_id IN NUMBER
39997 ,p_calculate_acctd_flag IN VARCHAR2
39998 ,p_calculate_g_l_flag IN VARCHAR2
39999 ,p_actual_flag IN OUT VARCHAR2
40000 ,p_balance_type_code OUT VARCHAR2
40001 ,p_gain_or_loss_ref OUT VARCHAR2
40002
40003 --Payment Currency Code
40004 , p_source_8 IN VARCHAR2
40005 --Automatic Offsets Value
40006 , p_source_10 IN VARCHAR2
40007 , p_source_10_meaning IN VARCHAR2
40008 --Bank Cash Account
40009 , p_source_12 IN NUMBER
40010 --When to Account for Payment Option
40011 , p_source_57 IN VARCHAR2
40012 --Accounting Reversal Indicator
40013 , p_source_58 IN VARCHAR2
40014 --Distribution Link Type
40015 , p_source_60 IN VARCHAR2
40016 --Override Accounted Amount Indicator
40017 , p_source_85 IN VARCHAR2
40018 , p_source_85_meaning IN VARCHAR2
40019 --Third Party Type
40020 , p_source_88 IN VARCHAR2
40021 --Business Flow Accounts Payable Application Identifier
40022 , p_source_96 IN NUMBER
40023 --Payment Distribution Type
40024 , p_source_101 IN VARCHAR2
40025 , p_source_101_meaning IN VARCHAR2
40026 --Payment Distribution Amount
40027 , p_source_102 IN NUMBER
40028 --Business Flow Payment Distribution Type
40029 , p_source_103 IN VARCHAR2
40030 --Business Flow Payment Entity Code
40031 , p_source_104 IN VARCHAR2
40032 --Business Flow Payment Distribution Identifier
40033 , p_source_105 IN NUMBER
40034 --Business Flow Payment Identifier
40035 , p_source_106 IN NUMBER
40036 --Payment Distribution Identifier
40037 , p_source_107 IN NUMBER
40038 --Payment Supplier Identifier
40039 , p_source_113 IN NUMBER
40040 --Payment Supplier Site Identifier
40041 , p_source_114 IN NUMBER
40042 --Payment Distribution Reversed Identifier
40043 , p_source_115 IN NUMBER
40044 --Pooled Bank Account Option
40045 , p_source_116 IN VARCHAR2
40046 , p_source_116_meaning IN VARCHAR2
40047 --Payment Maturity Date
40048 , p_source_117 IN DATE
40049 --Payment Exchange Date
40050 , p_source_120 IN DATE
40054 , p_source_122 IN VARCHAR2
40051 --Payment Exchange Rate
40052 , p_source_121 IN NUMBER
40053 --Payment Exchange Rate Type
40055 --Payment Distribution (Matured Rate) Ledger Amount
40056 , p_source_124 IN NUMBER
40057 )
40058 IS
40059
40060 l_component_type VARCHAR2(80);
40061 l_component_code VARCHAR2(30);
40062 l_component_type_code VARCHAR2(1);
40063 l_component_appl_id INTEGER;
40064 l_amb_context_code VARCHAR2(30);
40065 l_entity_code VARCHAR2(30);
40066 l_event_class_code VARCHAR2(30);
40067 l_ae_header_id NUMBER;
40068 l_event_type_code VARCHAR2(30);
40069 l_line_definition_code VARCHAR2(30);
40070 l_line_definition_owner_code VARCHAR2(1);
40071 --
40072 -- adr variables
40073 l_segment VARCHAR2(30);
40074 l_ccid NUMBER;
40075 l_adr_transaction_coa_id NUMBER;
40076 l_adr_accounting_coa_id NUMBER;
40077 l_adr_flexfield_segment_code VARCHAR2(30);
40078 l_adr_flex_value_set_id NUMBER;
40079 l_adr_value_type_code VARCHAR2(30);
40080 l_adr_value_combination_id NUMBER;
40081 l_adr_value_segment_code VARCHAR2(30);
40082
40083 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
40084 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
40085 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
40086 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
40087
40088 -- 4262811 Variables ------------------------------------------------------------------------------------------
40089 l_entered_amt_idx NUMBER;
40090 l_accted_amt_idx NUMBER;
40091 l_acc_rev_flag VARCHAR2(1);
40092 l_accrual_line_num NUMBER;
40093 l_tmp_amt NUMBER;
40094 l_acc_rev_natural_side_code VARCHAR2(1);
40095
40096 l_num_entries NUMBER;
40097 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
40098 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
40099 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
40100 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
40101 l_recog_line_1 NUMBER;
40102 l_recog_line_2 NUMBER;
40103
40104 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
40105 l_bflow_applied_to_amt NUMBER; -- 5132302
40106 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
40107
40108 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
40109
40110 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
40111 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
40112
40113 ---------------------------------------------------------------------------------------------------------------
40114
40115
40116 --
40117 -- bulk performance
40118 --
40119 l_balance_type_code VARCHAR2(1);
40120 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
40121 l_log_module VARCHAR2(240);
40122
40123 --
40124 -- Upgrade strategy
40125 --
40126 l_actual_upg_option VARCHAR2(1);
40127 l_enc_upg_option VARCHAR2(1);
40128
40129 --
40130 BEGIN
40131 --
40132 IF g_log_enabled THEN
40133 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_99';
40134 END IF;
40135 --
40136 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
40137
40138 trace
40139 (p_msg => 'BEGIN of AcctLineType_99'
40140 ,p_level => C_LEVEL_PROCEDURE
40141 ,p_module => l_log_module);
40142
40143 END IF;
40144 --
40145 l_component_type := 'AMB_JLT';
40146 l_component_code := 'AP_CASH_PMT_MAT_AOS_BS';
40147 l_component_type_code := 'S';
40148 l_component_appl_id := 200;
40149 l_amb_context_code := 'DEFAULT';
40150 l_entity_code := 'AP_PAYMENTS';
40151 l_event_class_code := 'FUTURE DATED PAYMENTS';
40152 l_event_type_code := 'FUTURE DATED PAYMENTS_ALL';
40153 l_line_definition_owner_code := 'S';
40154 l_line_definition_code := 'ACCRUAL_FUTURE DATED PAYMENTS1';
40155 --
40156 l_balance_type_code := 'A';
40157 l_segment := NULL;
40158 l_ccid := NULL;
40159 l_adr_transaction_coa_id := NULL;
40160 l_adr_accounting_coa_id := NULL;
40161 l_adr_flexfield_segment_code := NULL;
40162 l_adr_flex_value_set_id := NULL;
40163 l_adr_value_type_code := NULL;
40164 l_adr_value_combination_id := NULL;
40165 l_adr_value_segment_code := NULL;
40166
40167 l_bflow_method_code := 'SAME_ENTRY'; -- 4219869 Business Flow
40168 l_bflow_class_code := ''; -- 4219869 Business Flow
40169 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
40170 l_budgetary_control_flag := 'N';
40171
40172 l_bflow_applied_to_amt_idx := NULL; -- 5132302
40173 l_bflow_applied_to_amt := NULL; -- 5132302
40174 l_entered_amt_idx := NULL; -- 4262811
40175 l_accted_amt_idx := NULL; -- 4262811
40176 l_acc_rev_flag := NULL; -- 4262811
40180
40177 l_accrual_line_num := NULL; -- 4262811
40178 l_tmp_amt := NULL; -- 4262811
40179 --
40181 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
40182 l_balance_type_code <> 'B' THEN
40183 IF NVL(p_source_57,'
40184 ') = 'ISSUE_ISSUE' AND
40185 (NVL(p_source_116,'
40186 ') = 'Y' AND
40187 NVL(p_source_10,'
40188 ') = 'BALANCING_SEGMENT') AND
40189 p_source_117 IS NOT NULL AND
40190 NVL(p_source_101,'
40191 ') = 'CASH'
40192 THEN
40193
40194 --
40195 XLA_AE_LINES_PKG.SetNewLine;
40196
40197 p_balance_type_code := l_balance_type_code;
40198 -- set the flag so later we will know whether the gain loss line needs to be created
40199
40200 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
40201 p_actual_flag :='A';
40202 END IF;
40203
40204 --
40205 -- bulk performance
40206 --
40207 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
40208 p_header_num => 0); -- 4262811
40209 --
40210 -- set accounting line options
40211 --
40212 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
40213 p_natural_side_code => 'C'
40214 , p_gain_or_loss_flag => 'N'
40215 , p_gl_transfer_mode_code => 'S'
40216 , p_acct_entry_type_code => 'A'
40217 , p_switch_side_flag => 'Y'
40218 , p_merge_duplicate_code => 'A'
40219 );
40220 --
40221 l_acc_rev_natural_side_code := 'D'; -- 4262811
40222 --
40223 --
40224 -- set accounting line type info
40225 --
40226 xla_ae_lines_pkg.SetAcctLineType
40227 (p_component_type => l_component_type
40228 ,p_event_type_code => l_event_type_code
40229 ,p_line_definition_owner_code => l_line_definition_owner_code
40230 ,p_line_definition_code => l_line_definition_code
40231 ,p_accounting_line_code => l_component_code
40232 ,p_accounting_line_type_code => l_component_type_code
40233 ,p_accounting_line_appl_id => l_component_appl_id
40234 ,p_amb_context_code => l_amb_context_code
40235 ,p_entity_code => l_entity_code
40236 ,p_event_class_code => l_event_class_code);
40237 --
40238 -- set accounting class
40239 --
40240 xla_ae_lines_pkg.SetAcctClass(
40241 p_accounting_class_code => 'CASH'
40242 , p_ae_header_id => l_ae_header_id
40243 );
40244
40245 --
40246 -- set rounding class
40247 --
40248 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
40249 'CASH';
40250
40251 --
40252 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
40253 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
40254 --
40255 -- bulk performance
40256 --
40257 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
40258
40259 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
40260 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
40261
40262 -- 4955764
40263 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
40264 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
40265
40266 -- 4458381 Public Sector Enh
40267
40268 --
40269 -- set accounting attributes for the line type
40270 --
40271 l_entered_amt_idx := 9;
40272 l_accted_amt_idx := 14;
40273 l_bflow_applied_to_amt_idx := NULL; -- 5132302
40274 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
40275 l_rec_acct_attrs.array_char_value(1) := p_source_58;
40276 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_APPLICATION_ID';
40277 l_rec_acct_attrs.array_num_value(2) := p_source_96;
40278 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_DISTRIBUTION_TYPE';
40279 l_rec_acct_attrs.array_char_value(3) := p_source_103;
40280 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_ENTITY_CODE';
40281 l_rec_acct_attrs.array_char_value(4) := p_source_104;
40282 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_FIRST_DIST_ID';
40283 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_105);
40284 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
40285 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_106);
40286 l_rec_acct_attrs.array_acct_attr_code(7) := 'DISTRIBUTION_IDENTIFIER_1';
40287 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_107);
40288 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_TYPE';
40289 l_rec_acct_attrs.array_char_value(8) := p_source_60;
40290 l_rec_acct_attrs.array_acct_attr_code(9) := 'ENTERED_CURRENCY_AMOUNT';
40291 l_rec_acct_attrs.array_num_value(9) := p_source_102;
40292 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_CODE';
40293 l_rec_acct_attrs.array_char_value(10) := p_source_8;
40294 l_rec_acct_attrs.array_acct_attr_code(11) := 'EXCHANGE_DATE';
40295 l_rec_acct_attrs.array_date_value(11) := p_source_120;
40296 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_RATE';
40297 l_rec_acct_attrs.array_num_value(12) := p_source_121;
40301 l_rec_acct_attrs.array_num_value(14) := p_source_124;
40298 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE_TYPE';
40299 l_rec_acct_attrs.array_char_value(13) := p_source_122;
40300 l_rec_acct_attrs.array_acct_attr_code(14) := 'LEDGER_AMOUNT';
40302 l_rec_acct_attrs.array_acct_attr_code(15) := 'OVERRIDE_ACCTD_AMT_FLAG';
40303 l_rec_acct_attrs.array_char_value(15) := p_source_85;
40304 l_rec_acct_attrs.array_acct_attr_code(16) := 'PARTY_ID';
40305 l_rec_acct_attrs.array_num_value(16) := p_source_113;
40306 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_SITE_ID';
40307 l_rec_acct_attrs.array_num_value(17) := p_source_114;
40308 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_TYPE';
40309 l_rec_acct_attrs.array_char_value(18) := p_source_88;
40310 l_rec_acct_attrs.array_acct_attr_code(19) := 'REVERSED_DISTRIBUTION_ID1';
40311 l_rec_acct_attrs.array_num_value(19) := to_char(p_source_115);
40312 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_TYPE';
40313 l_rec_acct_attrs.array_char_value(20) := p_source_60;
40314
40315 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
40316 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
40317
40318 ---------------------------------------------------------------------------------------------------------------
40319 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
40320 ---------------------------------------------------------------------------------------------------------------
40321 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
40322
40323 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
40324 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
40325
40326 IF xla_accounting_cache_pkg.GetValueChar
40327 (p_source_code => 'LEDGER_CATEGORY_CODE'
40328 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
40329 AND l_bflow_method_code = 'PRIOR_ENTRY'
40330 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
40331 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
40332 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
40333 )
40334 THEN
40335 xla_ae_lines_pkg.BflowUpgEntry
40336 (p_business_method_code => l_bflow_method_code
40337 ,p_business_class_code => l_bflow_class_code
40338 ,p_balance_type => l_balance_type_code);
40339 ELSE
40340 NULL;
40341 XLA_AE_LINES_PKG.business_flow_validation(
40342 p_business_method_code => l_bflow_method_code
40343 ,p_business_class_code => l_bflow_class_code
40344 ,p_inherit_description_flag => l_inherit_desc_flag);
40345 END IF;
40346
40347 --
40348 -- call analytical criteria
40349 --
40350
40351 --
40352 -- call description
40353 --
40354 -- No description or it is inherited.
40355 --
40356 -- call ADRs
40357 -- Bug 4922099
40358 --
40359 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
40360 (NVL(l_actual_upg_option, 'N') = 'O') OR
40361 (NVL(l_enc_upg_option, 'N') = 'O')
40362 )
40363 THEN
40364 NULL;
40365 --
40366 --
40367
40368 l_ccid := AcctDerRule_30(
40369 p_application_id => p_application_id
40370 , p_ae_header_id => l_ae_header_id
40371 , p_source_12 => p_source_12
40372 , x_transaction_coa_id => l_adr_transaction_coa_id
40373 , x_accounting_coa_id => l_adr_accounting_coa_id
40374 , x_value_type_code => l_adr_value_type_code
40375 , p_side => 'NA'
40376 );
40377
40378 xla_ae_lines_pkg.set_ccid(
40379 p_code_combination_id => l_ccid
40380 , p_value_type_code => l_adr_value_type_code
40381 , p_transaction_coa_id => l_adr_transaction_coa_id
40382 , p_accounting_coa_id => l_adr_accounting_coa_id
40383 , p_adr_code => 'AP_CASH'
40384 , p_adr_type_code => 'S'
40385 , p_component_type => l_component_type
40386 , p_component_code => l_component_code
40387 , p_component_type_code => l_component_type_code
40388 , p_component_appl_id => l_component_appl_id
40389 , p_amb_context_code => l_amb_context_code
40390 , p_side => 'NA'
40391 );
40392
40393
40394 xla_ae_lines_pkg.Set_Segment( -- replaced SetSegment
40395 p_to_segment_code => 'GL_BALANCING'
40396 , p_segment_value => C_CHAR
40397 , p_from_segment_code => NULL
40398 , p_from_combination_id => NULL
40399 , p_value_type_code => NULL
40400 , p_transaction_coa_id => null
40401 , p_accounting_coa_id => null
40402 , p_flexfield_segment_code => NULL
40403 , p_flex_value_set_id => NULL
40404 , p_adr_code => NULL
40405 , p_adr_type_code => NULL
40406 , p_component_type => l_component_type
40407 , p_component_code => l_component_code
40411 , p_entity_code => 'AP_PAYMENTS'
40408 , p_component_type_code => l_component_type_code
40409 , p_component_appl_id => l_component_appl_id
40410 , p_amb_context_code => l_amb_context_code
40412 , p_event_class_code => 'FUTURE DATED PAYMENTS'
40413 , p_side => 'NA'
40414 );
40415 --
40416
40417
40418 --
40419 --
40420 END IF;
40421 --
40422 -- Bug 4922099
40423 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
40424 (NVL(l_enc_upg_option, 'N') = 'O')
40425 ) AND
40426 (l_bflow_method_code = 'PRIOR_ENTRY')
40427 )
40428 THEN
40429 IF
40430 --
40431 1 = 2
40432 --
40433 THEN
40434 xla_accounting_err_pkg.build_message
40435 (p_appli_s_name => 'XLA'
40436 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
40437 ,p_token_1 => 'LINE_NUMBER'
40438 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
40439 ,p_token_2 => 'LINE_TYPE_NAME'
40440 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
40441 l_component_type
40442 ,l_component_code
40443 ,l_component_type_code
40444 ,l_component_appl_id
40445 ,l_amb_context_code
40446 ,l_entity_code
40447 ,l_event_class_code
40448 )
40449 ,p_token_3 => 'OWNER'
40450 ,p_value_3 => xla_lookups_pkg.get_meaning(
40451 p_lookup_type => 'XLA_OWNER_TYPE'
40452 ,p_lookup_code => l_component_type_code
40453 )
40454 ,p_token_4 => 'PRODUCT_NAME'
40455 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
40456 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
40457 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
40458 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
40459 ,p_ae_header_id => NULL
40460 );
40461
40462 IF (C_LEVEL_ERROR>= g_log_level) THEN
40463 trace
40464 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
40465 ,p_level => C_LEVEL_ERROR
40466 ,p_module => l_log_module);
40467 END IF;
40468 END IF;
40469 END IF;
40470 --
40471 --
40472 ------------------------------------------------------------------------------------------------
40473 -- 4219869 Business Flow
40474 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
40475 -- Prior Entry. Currently, the following code is always generated.
40476 ------------------------------------------------------------------------------------------------
40477 XLA_AE_LINES_PKG.ValidateCurrentLine;
40478
40479 ------------------------------------------------------------------------------------
40480 -- 4219869 Business Flow
40481 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
40482 ------------------------------------------------------------------------------------
40483 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
40484
40485 ----------------------------------------------------------------------------------
40486 -- 4219869 Business Flow
40487 -- Update journal entry status -- Need to generate this within IF <condition>
40488 ----------------------------------------------------------------------------------
40489 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
40490 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
40491 ,p_balance_type_code => l_balance_type_code
40492 );
40493
40494 -------------------------------------------------------------------------------------------
40495 -- 4262811 - Generate the Accrual Reversal lines
40496 -------------------------------------------------------------------------------------------
40497 BEGIN
40498 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
40499 (g_array_event(p_event_id).array_value_num('header_index'));
40500 IF l_acc_rev_flag IS NULL THEN
40501 l_acc_rev_flag := 'N';
40502 END IF;
40503 EXCEPTION
40504 WHEN OTHERS THEN
40505 l_acc_rev_flag := 'N';
40506 END;
40507 --
40511 -- To allow MPA report to determine if it should generate report process
40508 IF (l_acc_rev_flag = 'Y') THEN
40509
40510 -- 4645092 ------------------------------------------------------------------------------
40512 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
40513 ------------------------------------------------------------------------------------------
40514
40515 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
40516 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
40517 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
40518 -- call ADRs
40519 -- Bug 4922099
40520 --
40521 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
40522 (NVL(l_actual_upg_option, 'N') = 'O') OR
40523 (NVL(l_enc_upg_option, 'N') = 'O')
40524 )
40525 THEN
40526 NULL;
40527 --
40528 --
40529
40530 l_ccid := AcctDerRule_30(
40531 p_application_id => p_application_id
40532 , p_ae_header_id => l_ae_header_id
40533 , p_source_12 => p_source_12
40534 , x_transaction_coa_id => l_adr_transaction_coa_id
40535 , x_accounting_coa_id => l_adr_accounting_coa_id
40536 , x_value_type_code => l_adr_value_type_code
40537 , p_side => 'NA'
40538 );
40539
40540 xla_ae_lines_pkg.set_ccid(
40541 p_code_combination_id => l_ccid
40542 , p_value_type_code => l_adr_value_type_code
40543 , p_transaction_coa_id => l_adr_transaction_coa_id
40544 , p_accounting_coa_id => l_adr_accounting_coa_id
40545 , p_adr_code => 'AP_CASH'
40546 , p_adr_type_code => 'S'
40547 , p_component_type => l_component_type
40548 , p_component_code => l_component_code
40549 , p_component_type_code => l_component_type_code
40550 , p_component_appl_id => l_component_appl_id
40551 , p_amb_context_code => l_amb_context_code
40552 , p_side => 'NA'
40553 );
40554
40555
40556 xla_ae_lines_pkg.Set_Segment( -- replaced SetSegment
40557 p_to_segment_code => 'GL_BALANCING'
40558 , p_segment_value => C_CHAR
40559 , p_from_segment_code => NULL
40560 , p_from_combination_id => NULL
40561 , p_value_type_code => NULL
40562 , p_transaction_coa_id => null
40563 , p_accounting_coa_id => null
40564 , p_flexfield_segment_code => NULL
40565 , p_flex_value_set_id => NULL
40566 , p_adr_code => NULL
40567 , p_adr_type_code => NULL
40568 , p_component_type => l_component_type
40569 , p_component_code => l_component_code
40570 , p_component_type_code => l_component_type_code
40571 , p_component_appl_id => l_component_appl_id
40572 , p_amb_context_code => l_amb_context_code
40573 , p_entity_code => 'AP_PAYMENTS'
40574 , p_event_class_code => 'FUTURE DATED PAYMENTS'
40575 , p_side => 'NA'
40576 );
40577 --
40578
40579
40580 --
40581 --
40582 END IF;
40583
40584 --
40585 -- Update the line information that should be overwritten
40586 --
40587 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
40588 p_header_num => 1);
40589 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
40590
40591 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
40592
40593 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
40594 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
40595 END IF;
40596
40597 --
40598 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
40599 --
40600 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
40601 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
40602 ELSE
40603 ---------------------------------------------------------------------------------------------------
40604 -- 4262811a Switch Sign
40605 ---------------------------------------------------------------------------------------------------
40606 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
40607 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
40608 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
40609 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
40610 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
40611 -- 5132302
40612 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
40613 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
40614
40615 END IF;
40616
40617 -- 4955764
40621
40618 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
40619 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
40620
40622 XLA_AE_LINES_PKG.ValidateCurrentLine;
40623 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
40624
40625 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
40626 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
40627 ,p_balance_type_code => l_balance_type_code);
40628
40629 END IF;
40630
40631 -----------------------------------------------------------------------------------------
40632 -- 4262811 Multiperiod Accounting
40633 -----------------------------------------------------------------------------------------
40634 -- No MPA option is assigned.
40635
40636
40637 END IF;
40638 END IF;
40639 --
40640
40641 --
40642 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
40643 trace
40644 (p_msg => 'END of AcctLineType_99'
40645 ,p_level => C_LEVEL_PROCEDURE
40646 ,p_module => l_log_module);
40647 END IF;
40648 --
40649 EXCEPTION
40650 WHEN xla_exceptions_pkg.application_exception THEN
40651 RAISE;
40652 WHEN OTHERS THEN
40653 xla_exceptions_pkg.raise_message
40654 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_99');
40655 END AcctLineType_99;
40656 --
40657
40658 ---------------------------------------
40659 --
40660 -- PRIVATE FUNCTION
40661 -- AcctLineType_100
40662 --
40663 ---------------------------------------
40664 PROCEDURE AcctLineType_100 (
40665 p_application_id IN NUMBER
40666 ,p_event_id IN NUMBER
40667 ,p_calculate_acctd_flag IN VARCHAR2
40668 ,p_calculate_g_l_flag IN VARCHAR2
40669 ,p_actual_flag IN OUT VARCHAR2
40670 ,p_balance_type_code OUT VARCHAR2
40671 ,p_gain_or_loss_ref OUT VARCHAR2
40672
40673 --Payment Currency Code
40674 , p_source_8 IN VARCHAR2
40675 --Bank Cash Account
40676 , p_source_12 IN NUMBER
40677 --Automatic Offsets Flag
40678 , p_source_43 IN VARCHAR2
40679 , p_source_43_meaning IN VARCHAR2
40680 --When to Account for Payment Option
40681 , p_source_57 IN VARCHAR2
40682 --Accounting Reversal Indicator
40683 , p_source_58 IN VARCHAR2
40684 --Distribution Link Type
40685 , p_source_60 IN VARCHAR2
40686 --Override Accounted Amount Indicator
40687 , p_source_85 IN VARCHAR2
40688 , p_source_85_meaning IN VARCHAR2
40689 --Third Party Type
40690 , p_source_88 IN VARCHAR2
40691 --Invoice Distribution Tax Line Identifier
40692 , p_source_91 IN NUMBER
40693 --Invoice Distribution Tax Distribution Identifier from Tax
40694 , p_source_92 IN NUMBER
40695 --Invoice Distribution Summary Tax Line Identifier
40696 , p_source_93 IN NUMBER
40697 --Business Flow Accounts Payable Application Identifier
40698 , p_source_96 IN NUMBER
40699 --Business Flow Invoice Distribution Type
40700 , p_source_97 IN VARCHAR2
40701 --Business Flow Invoice Entity Code
40702 , p_source_98 IN VARCHAR2
40703 --Business Flow Invoice Distribution Identifier
40704 , p_source_99 IN NUMBER
40705 --Business Flow Invoice Identifier
40706 , p_source_100 IN NUMBER
40707 --Payment Distribution Type
40708 , p_source_101 IN VARCHAR2
40709 , p_source_101_meaning IN VARCHAR2
40710 --Payment Distribution Amount
40711 , p_source_102 IN NUMBER
40712 --Payment Distribution Identifier
40713 , p_source_107 IN NUMBER
40714 --Payment Supplier Identifier
40715 , p_source_113 IN NUMBER
40716 --Payment Supplier Site Identifier
40717 , p_source_114 IN NUMBER
40718 --Payment Distribution Reversed Identifier
40719 , p_source_115 IN NUMBER
40720 --Pooled Bank Account Option
40721 , p_source_116 IN VARCHAR2
40722 , p_source_116_meaning IN VARCHAR2
40723 --Payment Maturity Date
40724 , p_source_117 IN DATE
40725 --Payment Distribution (Payment Rate) Ledger Amount
40726 , p_source_118 IN NUMBER
40727 --Payment Exchange Date
40728 , p_source_120 IN DATE
40729 --Payment Exchange Rate
40730 , p_source_121 IN NUMBER
40731 --Payment Exchange Rate Type
40732 , p_source_122 IN VARCHAR2
40733 --Payment Type
40734 , p_source_125 IN VARCHAR2
40735 , p_source_125_meaning IN VARCHAR2
40736 )
40737 IS
40738
40739 l_component_type VARCHAR2(80);
40740 l_component_code VARCHAR2(30);
40741 l_component_type_code VARCHAR2(1);
40742 l_component_appl_id INTEGER;
40743 l_amb_context_code VARCHAR2(30);
40744 l_entity_code VARCHAR2(30);
40745 l_event_class_code VARCHAR2(30);
40746 l_ae_header_id NUMBER;
40747 l_event_type_code VARCHAR2(30);
40748 l_line_definition_code VARCHAR2(30);
40749 l_line_definition_owner_code VARCHAR2(1);
40750 --
40751 -- adr variables
40752 l_segment VARCHAR2(30);
40753 l_ccid NUMBER;
40754 l_adr_transaction_coa_id NUMBER;
40755 l_adr_accounting_coa_id NUMBER;
40759 l_adr_value_combination_id NUMBER;
40756 l_adr_flexfield_segment_code VARCHAR2(30);
40757 l_adr_flex_value_set_id NUMBER;
40758 l_adr_value_type_code VARCHAR2(30);
40760 l_adr_value_segment_code VARCHAR2(30);
40761
40762 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
40763 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
40764 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
40765 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
40766
40767 -- 4262811 Variables ------------------------------------------------------------------------------------------
40768 l_entered_amt_idx NUMBER;
40769 l_accted_amt_idx NUMBER;
40770 l_acc_rev_flag VARCHAR2(1);
40771 l_accrual_line_num NUMBER;
40772 l_tmp_amt NUMBER;
40773 l_acc_rev_natural_side_code VARCHAR2(1);
40774
40775 l_num_entries NUMBER;
40776 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
40777 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
40778 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
40779 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
40780 l_recog_line_1 NUMBER;
40781 l_recog_line_2 NUMBER;
40782
40783 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
40784 l_bflow_applied_to_amt NUMBER; -- 5132302
40785 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
40786
40787 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
40788
40789 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
40790 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
40791
40792 ---------------------------------------------------------------------------------------------------------------
40793
40794
40795 --
40796 -- bulk performance
40797 --
40798 l_balance_type_code VARCHAR2(1);
40799 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
40800 l_log_module VARCHAR2(240);
40801
40802 --
40803 -- Upgrade strategy
40804 --
40805 l_actual_upg_option VARCHAR2(1);
40806 l_enc_upg_option VARCHAR2(1);
40807
40808 --
40809 BEGIN
40810 --
40811 IF g_log_enabled THEN
40812 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_100';
40813 END IF;
40814 --
40815 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
40816
40817 trace
40818 (p_msg => 'BEGIN of AcctLineType_100'
40819 ,p_level => C_LEVEL_PROCEDURE
40820 ,p_module => l_log_module);
40821
40822 END IF;
40823 --
40824 l_component_type := 'AMB_JLT';
40825 l_component_code := 'AP_CASH_REF';
40826 l_component_type_code := 'S';
40827 l_component_appl_id := 200;
40828 l_amb_context_code := 'DEFAULT';
40829 l_entity_code := 'AP_PAYMENTS';
40830 l_event_class_code := 'REFUNDS';
40831 l_event_type_code := 'REFUNDS_ALL';
40832 l_line_definition_owner_code := 'S';
40833 l_line_definition_code := 'ACCRUAL_REFUNDS_ALL';
40834 --
40835 l_balance_type_code := 'A';
40836 l_segment := NULL;
40837 l_ccid := NULL;
40838 l_adr_transaction_coa_id := NULL;
40839 l_adr_accounting_coa_id := NULL;
40840 l_adr_flexfield_segment_code := NULL;
40841 l_adr_flex_value_set_id := NULL;
40842 l_adr_value_type_code := NULL;
40843 l_adr_value_combination_id := NULL;
40844 l_adr_value_segment_code := NULL;
40845
40846 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
40847 l_bflow_class_code := ''; -- 4219869 Business Flow
40848 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
40849 l_budgetary_control_flag := 'N';
40850
40851 l_bflow_applied_to_amt_idx := NULL; -- 5132302
40852 l_bflow_applied_to_amt := NULL; -- 5132302
40853 l_entered_amt_idx := NULL; -- 4262811
40854 l_accted_amt_idx := NULL; -- 4262811
40855 l_acc_rev_flag := NULL; -- 4262811
40856 l_accrual_line_num := NULL; -- 4262811
40857 l_tmp_amt := NULL; -- 4262811
40858 --
40859
40860 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
40861 l_balance_type_code <> 'B' THEN
40862 IF NVL(p_source_57,'
40863 ') = 'ISSUE_ISSUE' AND
40864 (NVL(p_source_43,'
40865 ') <> 'Y' OR
40866 NVL(p_source_43,'
40867 ') = 'Y' AND
40868 NVL(p_source_116,'
40869 ') <> 'Y') AND
40870 p_source_117 IS NULL AND
40871 NVL(p_source_101,'
40872 ') = 'CASH' AND
40873 NVL(p_source_125,'
40874 ') = 'R'
40875 THEN
40876
40877 --
40878 XLA_AE_LINES_PKG.SetNewLine;
40879
40880 p_balance_type_code := l_balance_type_code;
40881 -- set the flag so later we will know whether the gain loss line needs to be created
40882
40883 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
40884 p_actual_flag :='A';
40885 END IF;
40886
40887 --
40888 -- bulk performance
40889 --
40893 -- set accounting line options
40890 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
40891 p_header_num => 0); -- 4262811
40892 --
40894 --
40895 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
40896 p_natural_side_code => 'C'
40897 , p_gain_or_loss_flag => 'N'
40898 , p_gl_transfer_mode_code => 'S'
40899 , p_acct_entry_type_code => 'A'
40900 , p_switch_side_flag => 'Y'
40901 , p_merge_duplicate_code => 'A'
40902 );
40903 --
40904 l_acc_rev_natural_side_code := 'D'; -- 4262811
40905 --
40906 --
40907 -- set accounting line type info
40908 --
40909 xla_ae_lines_pkg.SetAcctLineType
40910 (p_component_type => l_component_type
40911 ,p_event_type_code => l_event_type_code
40912 ,p_line_definition_owner_code => l_line_definition_owner_code
40913 ,p_line_definition_code => l_line_definition_code
40914 ,p_accounting_line_code => l_component_code
40915 ,p_accounting_line_type_code => l_component_type_code
40916 ,p_accounting_line_appl_id => l_component_appl_id
40917 ,p_amb_context_code => l_amb_context_code
40918 ,p_entity_code => l_entity_code
40919 ,p_event_class_code => l_event_class_code);
40920 --
40921 -- set accounting class
40922 --
40923 xla_ae_lines_pkg.SetAcctClass(
40924 p_accounting_class_code => 'CASH'
40925 , p_ae_header_id => l_ae_header_id
40926 );
40927
40928 --
40929 -- set rounding class
40930 --
40931 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
40932 'CASH';
40933
40934 --
40935 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
40936 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
40937 --
40938 -- bulk performance
40939 --
40940 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
40941
40942 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
40943 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
40944
40945 -- 4955764
40946 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
40947 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
40948
40949 -- 4458381 Public Sector Enh
40950
40951 --
40952 -- set accounting attributes for the line type
40953 --
40954 l_entered_amt_idx := 9;
40955 l_accted_amt_idx := 14;
40956 l_bflow_applied_to_amt_idx := NULL; -- 5132302
40957 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
40958 l_rec_acct_attrs.array_char_value(1) := p_source_58;
40959 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_APPLICATION_ID';
40960 l_rec_acct_attrs.array_num_value(2) := p_source_96;
40961 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_DISTRIBUTION_TYPE';
40962 l_rec_acct_attrs.array_char_value(3) := p_source_97;
40963 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_ENTITY_CODE';
40964 l_rec_acct_attrs.array_char_value(4) := p_source_98;
40965 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_FIRST_DIST_ID';
40966 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_99);
40967 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
40968 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_100);
40969 l_rec_acct_attrs.array_acct_attr_code(7) := 'DISTRIBUTION_IDENTIFIER_1';
40970 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_107);
40971 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_TYPE';
40972 l_rec_acct_attrs.array_char_value(8) := p_source_60;
40973 l_rec_acct_attrs.array_acct_attr_code(9) := 'ENTERED_CURRENCY_AMOUNT';
40974 l_rec_acct_attrs.array_num_value(9) := p_source_102;
40975 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_CODE';
40976 l_rec_acct_attrs.array_char_value(10) := p_source_8;
40977 l_rec_acct_attrs.array_acct_attr_code(11) := 'EXCHANGE_DATE';
40978 l_rec_acct_attrs.array_date_value(11) := p_source_120;
40979 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_RATE';
40980 l_rec_acct_attrs.array_num_value(12) := p_source_121;
40981 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE_TYPE';
40982 l_rec_acct_attrs.array_char_value(13) := p_source_122;
40983 l_rec_acct_attrs.array_acct_attr_code(14) := 'LEDGER_AMOUNT';
40984 l_rec_acct_attrs.array_num_value(14) := p_source_118;
40985 l_rec_acct_attrs.array_acct_attr_code(15) := 'OVERRIDE_ACCTD_AMT_FLAG';
40986 l_rec_acct_attrs.array_char_value(15) := p_source_85;
40987 l_rec_acct_attrs.array_acct_attr_code(16) := 'PARTY_ID';
40988 l_rec_acct_attrs.array_num_value(16) := p_source_113;
40989 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_SITE_ID';
40990 l_rec_acct_attrs.array_num_value(17) := p_source_114;
40991 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_TYPE';
40992 l_rec_acct_attrs.array_char_value(18) := p_source_88;
40993 l_rec_acct_attrs.array_acct_attr_code(19) := 'REVERSED_DISTRIBUTION_ID1';
40994 l_rec_acct_attrs.array_num_value(19) := to_char(p_source_115);
40995 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_TYPE';
40999 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_REC_NREC_DIST_REF_ID';
40996 l_rec_acct_attrs.array_char_value(20) := p_source_60;
40997 l_rec_acct_attrs.array_acct_attr_code(21) := 'TAX_LINE_REF_ID';
40998 l_rec_acct_attrs.array_num_value(21) := p_source_91;
41000 l_rec_acct_attrs.array_num_value(22) := p_source_92;
41001 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_SUMMARY_LINE_REF_ID';
41002 l_rec_acct_attrs.array_num_value(23) := p_source_93;
41003
41004 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
41005 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
41006
41007 ---------------------------------------------------------------------------------------------------------------
41008 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
41009 ---------------------------------------------------------------------------------------------------------------
41010 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
41011
41012 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
41013 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
41014
41015 IF xla_accounting_cache_pkg.GetValueChar
41016 (p_source_code => 'LEDGER_CATEGORY_CODE'
41017 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
41018 AND l_bflow_method_code = 'PRIOR_ENTRY'
41019 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
41020 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
41021 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
41022 )
41023 THEN
41024 xla_ae_lines_pkg.BflowUpgEntry
41025 (p_business_method_code => l_bflow_method_code
41026 ,p_business_class_code => l_bflow_class_code
41027 ,p_balance_type => l_balance_type_code);
41028 ELSE
41029 NULL;
41030 -- No business flow processing for business flow method of NONE.
41031 END IF;
41032
41033 --
41034 -- call analytical criteria
41035 --
41036
41037 --
41038 -- call description
41039 --
41040 -- No description or it is inherited.
41041 --
41042 -- call ADRs
41043 -- Bug 4922099
41044 --
41045 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
41046 (NVL(l_actual_upg_option, 'N') = 'O') OR
41047 (NVL(l_enc_upg_option, 'N') = 'O')
41048 )
41049 THEN
41050 NULL;
41051 --
41052 --
41053
41054 l_ccid := AcctDerRule_30(
41055 p_application_id => p_application_id
41056 , p_ae_header_id => l_ae_header_id
41057 , p_source_12 => p_source_12
41058 , x_transaction_coa_id => l_adr_transaction_coa_id
41059 , x_accounting_coa_id => l_adr_accounting_coa_id
41060 , x_value_type_code => l_adr_value_type_code
41061 , p_side => 'NA'
41062 );
41063
41064 xla_ae_lines_pkg.set_ccid(
41065 p_code_combination_id => l_ccid
41066 , p_value_type_code => l_adr_value_type_code
41067 , p_transaction_coa_id => l_adr_transaction_coa_id
41068 , p_accounting_coa_id => l_adr_accounting_coa_id
41069 , p_adr_code => 'AP_CASH'
41070 , p_adr_type_code => 'S'
41071 , p_component_type => l_component_type
41072 , p_component_code => l_component_code
41073 , p_component_type_code => l_component_type_code
41074 , p_component_appl_id => l_component_appl_id
41075 , p_amb_context_code => l_amb_context_code
41076 , p_side => 'NA'
41077 );
41078
41079
41080 --
41081 --
41082 END IF;
41083 --
41084 -- Bug 4922099
41085 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
41086 (NVL(l_enc_upg_option, 'N') = 'O')
41087 ) AND
41088 (l_bflow_method_code = 'PRIOR_ENTRY')
41089 )
41090 THEN
41091 IF
41092 --
41093 1 = 2
41094 --
41095 THEN
41096 xla_accounting_err_pkg.build_message
41097 (p_appli_s_name => 'XLA'
41098 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
41099 ,p_token_1 => 'LINE_NUMBER'
41100 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
41101 ,p_token_2 => 'LINE_TYPE_NAME'
41102 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
41103 l_component_type
41104 ,l_component_code
41105 ,l_component_type_code
41106 ,l_component_appl_id
41107 ,l_amb_context_code
41108 ,l_entity_code
41112 ,p_value_3 => xla_lookups_pkg.get_meaning(
41109 ,l_event_class_code
41110 )
41111 ,p_token_3 => 'OWNER'
41113 p_lookup_type => 'XLA_OWNER_TYPE'
41114 ,p_lookup_code => l_component_type_code
41115 )
41116 ,p_token_4 => 'PRODUCT_NAME'
41117 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
41118 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
41119 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
41120 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
41121 ,p_ae_header_id => NULL
41122 );
41123
41124 IF (C_LEVEL_ERROR>= g_log_level) THEN
41125 trace
41126 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
41127 ,p_level => C_LEVEL_ERROR
41128 ,p_module => l_log_module);
41129 END IF;
41130 END IF;
41131 END IF;
41132 --
41133 --
41134 ------------------------------------------------------------------------------------------------
41135 -- 4219869 Business Flow
41136 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
41137 -- Prior Entry. Currently, the following code is always generated.
41138 ------------------------------------------------------------------------------------------------
41139 XLA_AE_LINES_PKG.ValidateCurrentLine;
41140
41141 ------------------------------------------------------------------------------------
41142 -- 4219869 Business Flow
41143 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
41144 ------------------------------------------------------------------------------------
41145 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
41146
41147 ----------------------------------------------------------------------------------
41148 -- 4219869 Business Flow
41149 -- Update journal entry status -- Need to generate this within IF <condition>
41150 ----------------------------------------------------------------------------------
41151 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
41152 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
41153 ,p_balance_type_code => l_balance_type_code
41154 );
41155
41156 -------------------------------------------------------------------------------------------
41157 -- 4262811 - Generate the Accrual Reversal lines
41158 -------------------------------------------------------------------------------------------
41159 BEGIN
41160 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
41161 (g_array_event(p_event_id).array_value_num('header_index'));
41162 IF l_acc_rev_flag IS NULL THEN
41163 l_acc_rev_flag := 'N';
41164 END IF;
41165 EXCEPTION
41166 WHEN OTHERS THEN
41167 l_acc_rev_flag := 'N';
41168 END;
41169 --
41170 IF (l_acc_rev_flag = 'Y') THEN
41171
41172 -- 4645092 ------------------------------------------------------------------------------
41173 -- To allow MPA report to determine if it should generate report process
41174 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
41175 ------------------------------------------------------------------------------------------
41176
41177 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
41178 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
41179 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
41180 -- call ADRs
41181 -- Bug 4922099
41182 --
41183 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
41184 (NVL(l_actual_upg_option, 'N') = 'O') OR
41185 (NVL(l_enc_upg_option, 'N') = 'O')
41186 )
41187 THEN
41188 NULL;
41189 --
41190 --
41191
41192 l_ccid := AcctDerRule_30(
41193 p_application_id => p_application_id
41194 , p_ae_header_id => l_ae_header_id
41195 , p_source_12 => p_source_12
41196 , x_transaction_coa_id => l_adr_transaction_coa_id
41197 , x_accounting_coa_id => l_adr_accounting_coa_id
41198 , x_value_type_code => l_adr_value_type_code
41199 , p_side => 'NA'
41200 );
41201
41202 xla_ae_lines_pkg.set_ccid(
41203 p_code_combination_id => l_ccid
41204 , p_value_type_code => l_adr_value_type_code
41205 , p_transaction_coa_id => l_adr_transaction_coa_id
41206 , p_accounting_coa_id => l_adr_accounting_coa_id
41207 , p_adr_code => 'AP_CASH'
41208 , p_adr_type_code => 'S'
41209 , p_component_type => l_component_type
41210 , p_component_code => l_component_code
41211 , p_component_type_code => l_component_type_code
41215 );
41212 , p_component_appl_id => l_component_appl_id
41213 , p_amb_context_code => l_amb_context_code
41214 , p_side => 'NA'
41216
41217
41218 --
41219 --
41220 END IF;
41221
41222 --
41223 -- Update the line information that should be overwritten
41224 --
41225 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
41226 p_header_num => 1);
41227 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
41228
41229 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
41230
41231 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
41232 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
41233 END IF;
41234
41235 --
41236 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
41237 --
41238 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
41239 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
41240 ELSE
41241 ---------------------------------------------------------------------------------------------------
41242 -- 4262811a Switch Sign
41243 ---------------------------------------------------------------------------------------------------
41244 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
41245 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
41246 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
41247 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
41248 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
41249 -- 5132302
41250 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
41251 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
41252
41253 END IF;
41254
41255 -- 4955764
41256 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
41257 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
41258
41259
41260 XLA_AE_LINES_PKG.ValidateCurrentLine;
41261 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
41262
41263 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
41264 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
41265 ,p_balance_type_code => l_balance_type_code);
41266
41267 END IF;
41268
41269 -----------------------------------------------------------------------------------------
41270 -- 4262811 Multiperiod Accounting
41271 -----------------------------------------------------------------------------------------
41272 -- No MPA option is assigned.
41273
41274
41275 END IF;
41276 END IF;
41277 --
41278
41279 --
41280 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
41281 trace
41282 (p_msg => 'END of AcctLineType_100'
41283 ,p_level => C_LEVEL_PROCEDURE
41284 ,p_module => l_log_module);
41285 END IF;
41286 --
41287 EXCEPTION
41288 WHEN xla_exceptions_pkg.application_exception THEN
41289 RAISE;
41290 WHEN OTHERS THEN
41291 xla_exceptions_pkg.raise_message
41292 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_100');
41293 END AcctLineType_100;
41294 --
41295
41296 ---------------------------------------
41297 --
41298 -- PRIVATE FUNCTION
41299 -- AcctLineType_101
41300 --
41301 ---------------------------------------
41302 PROCEDURE AcctLineType_101 (
41303 p_application_id IN NUMBER
41304 ,p_event_id IN NUMBER
41305 ,p_calculate_acctd_flag IN VARCHAR2
41306 ,p_calculate_g_l_flag IN VARCHAR2
41307 ,p_actual_flag IN OUT VARCHAR2
41308 ,p_balance_type_code OUT VARCHAR2
41309 ,p_gain_or_loss_ref OUT VARCHAR2
41310
41311 --Payment Currency Code
41312 , p_source_8 IN VARCHAR2
41313 --Automatic Offsets Value
41314 , p_source_10 IN VARCHAR2
41315 , p_source_10_meaning IN VARCHAR2
41316 --Bank Cash Account
41317 , p_source_12 IN NUMBER
41318 --When to Account for Payment Option
41319 , p_source_57 IN VARCHAR2
41320 --Accounting Reversal Indicator
41321 , p_source_58 IN VARCHAR2
41322 --Distribution Link Type
41323 , p_source_60 IN VARCHAR2
41324 --Override Accounted Amount Indicator
41325 , p_source_85 IN VARCHAR2
41326 , p_source_85_meaning IN VARCHAR2
41327 --Third Party Type
41328 , p_source_88 IN VARCHAR2
41329 --Invoice Distribution Tax Line Identifier
41330 , p_source_91 IN NUMBER
41331 --Invoice Distribution Tax Distribution Identifier from Tax
41332 , p_source_92 IN NUMBER
41333 --Invoice Distribution Summary Tax Line Identifier
41334 , p_source_93 IN NUMBER
41338 , p_source_97 IN VARCHAR2
41335 --Business Flow Accounts Payable Application Identifier
41336 , p_source_96 IN NUMBER
41337 --Business Flow Invoice Distribution Type
41339 --Business Flow Invoice Entity Code
41340 , p_source_98 IN VARCHAR2
41341 --Business Flow Invoice Distribution Identifier
41342 , p_source_99 IN NUMBER
41343 --Business Flow Invoice Identifier
41344 , p_source_100 IN NUMBER
41345 --Payment Distribution Type
41346 , p_source_101 IN VARCHAR2
41347 , p_source_101_meaning IN VARCHAR2
41348 --Payment Distribution Amount
41349 , p_source_102 IN NUMBER
41350 --Payment Distribution Identifier
41351 , p_source_107 IN NUMBER
41352 --Payment Supplier Identifier
41353 , p_source_113 IN NUMBER
41354 --Payment Supplier Site Identifier
41355 , p_source_114 IN NUMBER
41356 --Payment Distribution Reversed Identifier
41357 , p_source_115 IN NUMBER
41358 --Pooled Bank Account Option
41359 , p_source_116 IN VARCHAR2
41360 , p_source_116_meaning IN VARCHAR2
41361 --Payment Maturity Date
41362 , p_source_117 IN DATE
41363 --Payment Distribution (Payment Rate) Ledger Amount
41364 , p_source_118 IN NUMBER
41365 --Payment Exchange Date
41366 , p_source_120 IN DATE
41367 --Payment Exchange Rate
41368 , p_source_121 IN NUMBER
41369 --Payment Exchange Rate Type
41370 , p_source_122 IN VARCHAR2
41371 --Payment Type
41372 , p_source_125 IN VARCHAR2
41373 , p_source_125_meaning IN VARCHAR2
41374 )
41375 IS
41376
41377 l_component_type VARCHAR2(80);
41378 l_component_code VARCHAR2(30);
41379 l_component_type_code VARCHAR2(1);
41380 l_component_appl_id INTEGER;
41381 l_amb_context_code VARCHAR2(30);
41382 l_entity_code VARCHAR2(30);
41383 l_event_class_code VARCHAR2(30);
41384 l_ae_header_id NUMBER;
41385 l_event_type_code VARCHAR2(30);
41386 l_line_definition_code VARCHAR2(30);
41387 l_line_definition_owner_code VARCHAR2(1);
41388 --
41389 -- adr variables
41390 l_segment VARCHAR2(30);
41391 l_ccid NUMBER;
41392 l_adr_transaction_coa_id NUMBER;
41393 l_adr_accounting_coa_id NUMBER;
41394 l_adr_flexfield_segment_code VARCHAR2(30);
41395 l_adr_flex_value_set_id NUMBER;
41396 l_adr_value_type_code VARCHAR2(30);
41397 l_adr_value_combination_id NUMBER;
41398 l_adr_value_segment_code VARCHAR2(30);
41399
41400 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
41401 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
41402 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
41403 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
41404
41405 -- 4262811 Variables ------------------------------------------------------------------------------------------
41406 l_entered_amt_idx NUMBER;
41407 l_accted_amt_idx NUMBER;
41408 l_acc_rev_flag VARCHAR2(1);
41409 l_accrual_line_num NUMBER;
41410 l_tmp_amt NUMBER;
41411 l_acc_rev_natural_side_code VARCHAR2(1);
41412
41413 l_num_entries NUMBER;
41414 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
41415 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
41416 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
41417 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
41418 l_recog_line_1 NUMBER;
41419 l_recog_line_2 NUMBER;
41420
41421 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
41422 l_bflow_applied_to_amt NUMBER; -- 5132302
41423 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
41424
41425 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
41426
41427 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
41428 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
41429
41430 ---------------------------------------------------------------------------------------------------------------
41431
41432
41433 --
41434 -- bulk performance
41435 --
41436 l_balance_type_code VARCHAR2(1);
41437 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
41438 l_log_module VARCHAR2(240);
41439
41440 --
41441 -- Upgrade strategy
41442 --
41443 l_actual_upg_option VARCHAR2(1);
41444 l_enc_upg_option VARCHAR2(1);
41445
41446 --
41447 BEGIN
41448 --
41449 IF g_log_enabled THEN
41450 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_101';
41451 END IF;
41452 --
41453 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
41454
41455 trace
41456 (p_msg => 'BEGIN of AcctLineType_101'
41457 ,p_level => C_LEVEL_PROCEDURE
41458 ,p_module => l_log_module);
41459
41460 END IF;
41461 --
41462 l_component_type := 'AMB_JLT';
41463 l_component_code := 'AP_CASH_REF_AOS_AS';
41464 l_component_type_code := 'S';
41468 l_event_class_code := 'REFUNDS';
41465 l_component_appl_id := 200;
41466 l_amb_context_code := 'DEFAULT';
41467 l_entity_code := 'AP_PAYMENTS';
41469 l_event_type_code := 'REFUNDS_ALL';
41470 l_line_definition_owner_code := 'S';
41471 l_line_definition_code := 'ACCRUAL_REFUNDS_ALL';
41472 --
41473 l_balance_type_code := 'A';
41474 l_segment := NULL;
41475 l_ccid := NULL;
41476 l_adr_transaction_coa_id := NULL;
41477 l_adr_accounting_coa_id := NULL;
41478 l_adr_flexfield_segment_code := NULL;
41479 l_adr_flex_value_set_id := NULL;
41480 l_adr_value_type_code := NULL;
41481 l_adr_value_combination_id := NULL;
41482 l_adr_value_segment_code := NULL;
41483
41484 l_bflow_method_code := 'SAME_ENTRY'; -- 4219869 Business Flow
41485 l_bflow_class_code := ''; -- 4219869 Business Flow
41486 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
41487 l_budgetary_control_flag := 'N';
41488
41489 l_bflow_applied_to_amt_idx := NULL; -- 5132302
41490 l_bflow_applied_to_amt := NULL; -- 5132302
41491 l_entered_amt_idx := NULL; -- 4262811
41492 l_accted_amt_idx := NULL; -- 4262811
41493 l_acc_rev_flag := NULL; -- 4262811
41494 l_accrual_line_num := NULL; -- 4262811
41495 l_tmp_amt := NULL; -- 4262811
41496 --
41497
41498 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
41499 l_balance_type_code <> 'B' THEN
41500 IF NVL(p_source_57,'
41501 ') = 'ISSUE_ISSUE' AND
41502 (NVL(p_source_116,'
41503 ') = 'Y' AND
41504 NVL(p_source_10,'
41505 ') = 'ACCOUNT_SEGMENT_VALUE') AND
41506 p_source_117 IS NULL AND
41507 NVL(p_source_101,'
41508 ') = 'CASH' AND
41509 NVL(p_source_125,'
41510 ') = 'R'
41511 THEN
41512
41513 --
41514 XLA_AE_LINES_PKG.SetNewLine;
41515
41516 p_balance_type_code := l_balance_type_code;
41517 -- set the flag so later we will know whether the gain loss line needs to be created
41518
41519 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
41520 p_actual_flag :='A';
41521 END IF;
41522
41523 --
41524 -- bulk performance
41525 --
41526 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
41527 p_header_num => 0); -- 4262811
41528 --
41529 -- set accounting line options
41530 --
41531 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
41532 p_natural_side_code => 'C'
41533 , p_gain_or_loss_flag => 'N'
41534 , p_gl_transfer_mode_code => 'S'
41535 , p_acct_entry_type_code => 'A'
41536 , p_switch_side_flag => 'Y'
41537 , p_merge_duplicate_code => 'A'
41538 );
41539 --
41540 l_acc_rev_natural_side_code := 'D'; -- 4262811
41541 --
41542 --
41543 -- set accounting line type info
41544 --
41545 xla_ae_lines_pkg.SetAcctLineType
41546 (p_component_type => l_component_type
41547 ,p_event_type_code => l_event_type_code
41548 ,p_line_definition_owner_code => l_line_definition_owner_code
41549 ,p_line_definition_code => l_line_definition_code
41550 ,p_accounting_line_code => l_component_code
41551 ,p_accounting_line_type_code => l_component_type_code
41552 ,p_accounting_line_appl_id => l_component_appl_id
41553 ,p_amb_context_code => l_amb_context_code
41554 ,p_entity_code => l_entity_code
41555 ,p_event_class_code => l_event_class_code);
41556 --
41557 -- set accounting class
41558 --
41559 xla_ae_lines_pkg.SetAcctClass(
41560 p_accounting_class_code => 'CASH'
41561 , p_ae_header_id => l_ae_header_id
41562 );
41563
41564 --
41565 -- set rounding class
41566 --
41567 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
41568 'CASH';
41569
41570 --
41571 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
41572 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
41573 --
41574 -- bulk performance
41575 --
41576 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
41577
41578 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
41579 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
41580
41581 -- 4955764
41582 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
41583 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
41584
41585 -- 4458381 Public Sector Enh
41586
41587 --
41588 -- set accounting attributes for the line type
41589 --
41590 l_entered_amt_idx := 9;
41591 l_accted_amt_idx := 14;
41592 l_bflow_applied_to_amt_idx := NULL; -- 5132302
41593 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
41597 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_DISTRIBUTION_TYPE';
41594 l_rec_acct_attrs.array_char_value(1) := p_source_58;
41595 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_APPLICATION_ID';
41596 l_rec_acct_attrs.array_num_value(2) := p_source_96;
41598 l_rec_acct_attrs.array_char_value(3) := p_source_97;
41599 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_ENTITY_CODE';
41600 l_rec_acct_attrs.array_char_value(4) := p_source_98;
41601 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_FIRST_DIST_ID';
41602 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_99);
41603 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
41604 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_100);
41605 l_rec_acct_attrs.array_acct_attr_code(7) := 'DISTRIBUTION_IDENTIFIER_1';
41606 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_107);
41607 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_TYPE';
41608 l_rec_acct_attrs.array_char_value(8) := p_source_60;
41609 l_rec_acct_attrs.array_acct_attr_code(9) := 'ENTERED_CURRENCY_AMOUNT';
41610 l_rec_acct_attrs.array_num_value(9) := p_source_102;
41611 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_CODE';
41612 l_rec_acct_attrs.array_char_value(10) := p_source_8;
41613 l_rec_acct_attrs.array_acct_attr_code(11) := 'EXCHANGE_DATE';
41614 l_rec_acct_attrs.array_date_value(11) := p_source_120;
41615 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_RATE';
41616 l_rec_acct_attrs.array_num_value(12) := p_source_121;
41617 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE_TYPE';
41618 l_rec_acct_attrs.array_char_value(13) := p_source_122;
41619 l_rec_acct_attrs.array_acct_attr_code(14) := 'LEDGER_AMOUNT';
41620 l_rec_acct_attrs.array_num_value(14) := p_source_118;
41621 l_rec_acct_attrs.array_acct_attr_code(15) := 'OVERRIDE_ACCTD_AMT_FLAG';
41622 l_rec_acct_attrs.array_char_value(15) := p_source_85;
41623 l_rec_acct_attrs.array_acct_attr_code(16) := 'PARTY_ID';
41624 l_rec_acct_attrs.array_num_value(16) := p_source_113;
41625 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_SITE_ID';
41626 l_rec_acct_attrs.array_num_value(17) := p_source_114;
41627 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_TYPE';
41628 l_rec_acct_attrs.array_char_value(18) := p_source_88;
41629 l_rec_acct_attrs.array_acct_attr_code(19) := 'REVERSED_DISTRIBUTION_ID1';
41630 l_rec_acct_attrs.array_num_value(19) := to_char(p_source_115);
41631 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_TYPE';
41632 l_rec_acct_attrs.array_char_value(20) := p_source_60;
41633 l_rec_acct_attrs.array_acct_attr_code(21) := 'TAX_LINE_REF_ID';
41634 l_rec_acct_attrs.array_num_value(21) := p_source_91;
41635 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_REC_NREC_DIST_REF_ID';
41636 l_rec_acct_attrs.array_num_value(22) := p_source_92;
41637 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_SUMMARY_LINE_REF_ID';
41638 l_rec_acct_attrs.array_num_value(23) := p_source_93;
41639
41640 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
41641 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
41642
41643 ---------------------------------------------------------------------------------------------------------------
41644 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
41645 ---------------------------------------------------------------------------------------------------------------
41646 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
41647
41648 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
41649 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
41650
41651 IF xla_accounting_cache_pkg.GetValueChar
41652 (p_source_code => 'LEDGER_CATEGORY_CODE'
41653 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
41654 AND l_bflow_method_code = 'PRIOR_ENTRY'
41655 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
41656 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
41657 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
41658 )
41659 THEN
41660 xla_ae_lines_pkg.BflowUpgEntry
41661 (p_business_method_code => l_bflow_method_code
41662 ,p_business_class_code => l_bflow_class_code
41663 ,p_balance_type => l_balance_type_code);
41664 ELSE
41665 NULL;
41666 XLA_AE_LINES_PKG.business_flow_validation(
41667 p_business_method_code => l_bflow_method_code
41668 ,p_business_class_code => l_bflow_class_code
41669 ,p_inherit_description_flag => l_inherit_desc_flag);
41670 END IF;
41671
41672 --
41673 -- call analytical criteria
41674 --
41675
41676 --
41677 -- call description
41678 --
41679 -- No description or it is inherited.
41680 --
41681 -- call ADRs
41682 -- Bug 4922099
41683 --
41684 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
41685 (NVL(l_actual_upg_option, 'N') = 'O') OR
41686 (NVL(l_enc_upg_option, 'N') = 'O')
41687 )
41688 THEN
41689 NULL;
41690 --
41691 --
41692
41693 xla_ae_lines_pkg.Set_Ccid( -- replaced SetCcid
41697 , p_accounting_coa_id => null
41694 p_code_combination_id => TO_NUMBER(C_NUM)
41695 , p_value_type_code => NULL
41696 , p_transaction_coa_id => null
41698 , p_adr_code => NULL
41699 , p_adr_type_code => NULL
41700 , p_component_type => l_component_type
41701 , p_component_code => l_component_code
41702 , p_component_type_code => l_component_type_code
41703 , p_component_appl_id => l_component_appl_id
41704 , p_amb_context_code => l_amb_context_code
41705 , p_side => NULL
41706 );
41707
41708
41709 -- initialise segments
41710 XLA_AE_LINES_PKG.g_rec_lines.array_segment1(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
41711 XLA_AE_LINES_PKG.g_rec_lines.array_segment2(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
41712 XLA_AE_LINES_PKG.g_rec_lines.array_segment3(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
41713 XLA_AE_LINES_PKG.g_rec_lines.array_segment4(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
41714 XLA_AE_LINES_PKG.g_rec_lines.array_segment5(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
41715 XLA_AE_LINES_PKG.g_rec_lines.array_segment6(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
41716 XLA_AE_LINES_PKG.g_rec_lines.array_segment7(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
41717 XLA_AE_LINES_PKG.g_rec_lines.array_segment8(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
41718 XLA_AE_LINES_PKG.g_rec_lines.array_segment9(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
41719 XLA_AE_LINES_PKG.g_rec_lines.array_segment10(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
41720 XLA_AE_LINES_PKG.g_rec_lines.array_segment11(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
41721 XLA_AE_LINES_PKG.g_rec_lines.array_segment12(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
41722 XLA_AE_LINES_PKG.g_rec_lines.array_segment13(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
41723 XLA_AE_LINES_PKG.g_rec_lines.array_segment14(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
41724 XLA_AE_LINES_PKG.g_rec_lines.array_segment15(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
41725 XLA_AE_LINES_PKG.g_rec_lines.array_segment16(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
41726 XLA_AE_LINES_PKG.g_rec_lines.array_segment17(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
41727 XLA_AE_LINES_PKG.g_rec_lines.array_segment18(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
41728 XLA_AE_LINES_PKG.g_rec_lines.array_segment19(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
41729 XLA_AE_LINES_PKG.g_rec_lines.array_segment20(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
41730 XLA_AE_LINES_PKG.g_rec_lines.array_segment21(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
41731 XLA_AE_LINES_PKG.g_rec_lines.array_segment22(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
41732 XLA_AE_LINES_PKG.g_rec_lines.array_segment23(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
41733 XLA_AE_LINES_PKG.g_rec_lines.array_segment24(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
41734 XLA_AE_LINES_PKG.g_rec_lines.array_segment25(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
41735 XLA_AE_LINES_PKG.g_rec_lines.array_segment26(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
41736 XLA_AE_LINES_PKG.g_rec_lines.array_segment27(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
41737 XLA_AE_LINES_PKG.g_rec_lines.array_segment28(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
41738 XLA_AE_LINES_PKG.g_rec_lines.array_segment29(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
41739 XLA_AE_LINES_PKG.g_rec_lines.array_segment30(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
41740 --
41741
41742 --
41743
41744
41745 l_segment := AcctDerRule_6(
41746 p_application_id => p_application_id
41747 , p_ae_header_id => l_ae_header_id
41748 , p_source_12 => p_source_12
41749 , x_transaction_coa_id => l_adr_transaction_coa_id
41750 , x_accounting_coa_id => l_adr_accounting_coa_id
41751 , x_flexfield_segment_code => l_adr_flexfield_segment_code
41752 , x_flex_value_set_id => l_adr_flex_value_set_id
41753 , x_value_type_code => l_adr_value_type_code
41754 , x_value_combination_id => l_adr_value_combination_id
41755 , x_value_segment_code => l_adr_value_segment_code
41756 , p_side => 'NA'
41757 , p_override_seg_flag => 'Y'
41758 );
41759
41760 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
41761
41762 xla_ae_lines_pkg.set_segment(
41763 p_to_segment_code => 'GL_ACCOUNT'
41764 , p_segment_value => l_segment
41765 , p_from_segment_code => l_adr_value_segment_code
41766 , p_from_combination_id => l_adr_value_combination_id
41767 , p_value_type_code => l_adr_value_type_code
41768 , p_transaction_coa_id => l_adr_transaction_coa_id
41769 , p_accounting_coa_id => l_adr_accounting_coa_id
41770 , p_flexfield_segment_code => l_adr_flexfield_segment_code
41771 , p_flex_value_set_id => l_adr_flex_value_set_id
41772 , p_adr_code => 'AP_CASH_NATURAL_ACCT_SEG'
41773 , p_adr_type_code => 'S'
41774 , p_component_type => l_component_type
41775 , p_component_code => l_component_code
41776 , p_component_type_code => l_component_type_code
41777 , p_component_appl_id => l_component_appl_id
41778 , p_amb_context_code => l_amb_context_code
41779 , p_entity_code => 'AP_PAYMENTS'
41780 , p_event_class_code => 'REFUNDS'
41781 , p_side => 'NA'
41782 );
41783
41784 END IF;
41785
41786 --
41787 --
41788 END IF;
41789 --
41790 -- Bug 4922099
41794 (l_bflow_method_code = 'PRIOR_ENTRY')
41791 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
41792 (NVL(l_enc_upg_option, 'N') = 'O')
41793 ) AND
41795 )
41796 THEN
41797 IF
41798 --
41799 1 = 2
41800 --
41801 THEN
41802 xla_accounting_err_pkg.build_message
41803 (p_appli_s_name => 'XLA'
41804 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
41805 ,p_token_1 => 'LINE_NUMBER'
41806 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
41807 ,p_token_2 => 'LINE_TYPE_NAME'
41808 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
41809 l_component_type
41810 ,l_component_code
41811 ,l_component_type_code
41812 ,l_component_appl_id
41813 ,l_amb_context_code
41814 ,l_entity_code
41815 ,l_event_class_code
41816 )
41817 ,p_token_3 => 'OWNER'
41818 ,p_value_3 => xla_lookups_pkg.get_meaning(
41819 p_lookup_type => 'XLA_OWNER_TYPE'
41820 ,p_lookup_code => l_component_type_code
41821 )
41822 ,p_token_4 => 'PRODUCT_NAME'
41823 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
41824 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
41825 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
41826 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
41827 ,p_ae_header_id => NULL
41828 );
41829
41830 IF (C_LEVEL_ERROR>= g_log_level) THEN
41831 trace
41832 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
41833 ,p_level => C_LEVEL_ERROR
41834 ,p_module => l_log_module);
41835 END IF;
41836 END IF;
41837 END IF;
41838 --
41839 --
41840 ------------------------------------------------------------------------------------------------
41841 -- 4219869 Business Flow
41842 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
41843 -- Prior Entry. Currently, the following code is always generated.
41844 ------------------------------------------------------------------------------------------------
41845 XLA_AE_LINES_PKG.ValidateCurrentLine;
41846
41847 ------------------------------------------------------------------------------------
41848 -- 4219869 Business Flow
41849 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
41850 ------------------------------------------------------------------------------------
41851 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
41852
41853 ----------------------------------------------------------------------------------
41854 -- 4219869 Business Flow
41855 -- Update journal entry status -- Need to generate this within IF <condition>
41856 ----------------------------------------------------------------------------------
41857 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
41858 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
41859 ,p_balance_type_code => l_balance_type_code
41860 );
41861
41862 -------------------------------------------------------------------------------------------
41863 -- 4262811 - Generate the Accrual Reversal lines
41864 -------------------------------------------------------------------------------------------
41865 BEGIN
41866 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
41867 (g_array_event(p_event_id).array_value_num('header_index'));
41868 IF l_acc_rev_flag IS NULL THEN
41869 l_acc_rev_flag := 'N';
41870 END IF;
41871 EXCEPTION
41872 WHEN OTHERS THEN
41873 l_acc_rev_flag := 'N';
41874 END;
41875 --
41876 IF (l_acc_rev_flag = 'Y') THEN
41877
41878 -- 4645092 ------------------------------------------------------------------------------
41879 -- To allow MPA report to determine if it should generate report process
41880 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
41881 ------------------------------------------------------------------------------------------
41882
41883 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
41887 -- Bug 4922099
41884 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
41885 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
41886 -- call ADRs
41888 --
41889 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
41890 (NVL(l_actual_upg_option, 'N') = 'O') OR
41891 (NVL(l_enc_upg_option, 'N') = 'O')
41892 )
41893 THEN
41894 NULL;
41895 --
41896 --
41897
41898 xla_ae_lines_pkg.Set_Ccid( -- replaced SetCcid
41899 p_code_combination_id => TO_NUMBER(C_NUM)
41900 , p_value_type_code => NULL
41901 , p_transaction_coa_id => null
41902 , p_accounting_coa_id => null
41903 , p_adr_code => NULL
41904 , p_adr_type_code => NULL
41905 , p_component_type => l_component_type
41906 , p_component_code => l_component_code
41907 , p_component_type_code => l_component_type_code
41908 , p_component_appl_id => l_component_appl_id
41909 , p_amb_context_code => l_amb_context_code
41910 , p_side => NULL
41911 );
41912
41913
41914 -- initialise segments
41915 XLA_AE_LINES_PKG.g_rec_lines.array_segment1(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
41916 XLA_AE_LINES_PKG.g_rec_lines.array_segment2(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
41917 XLA_AE_LINES_PKG.g_rec_lines.array_segment3(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
41918 XLA_AE_LINES_PKG.g_rec_lines.array_segment4(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
41919 XLA_AE_LINES_PKG.g_rec_lines.array_segment5(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
41920 XLA_AE_LINES_PKG.g_rec_lines.array_segment6(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
41921 XLA_AE_LINES_PKG.g_rec_lines.array_segment7(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
41922 XLA_AE_LINES_PKG.g_rec_lines.array_segment8(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
41923 XLA_AE_LINES_PKG.g_rec_lines.array_segment9(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
41924 XLA_AE_LINES_PKG.g_rec_lines.array_segment10(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
41925 XLA_AE_LINES_PKG.g_rec_lines.array_segment11(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
41926 XLA_AE_LINES_PKG.g_rec_lines.array_segment12(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
41927 XLA_AE_LINES_PKG.g_rec_lines.array_segment13(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
41928 XLA_AE_LINES_PKG.g_rec_lines.array_segment14(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
41929 XLA_AE_LINES_PKG.g_rec_lines.array_segment15(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
41930 XLA_AE_LINES_PKG.g_rec_lines.array_segment16(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
41931 XLA_AE_LINES_PKG.g_rec_lines.array_segment17(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
41932 XLA_AE_LINES_PKG.g_rec_lines.array_segment18(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
41933 XLA_AE_LINES_PKG.g_rec_lines.array_segment19(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
41934 XLA_AE_LINES_PKG.g_rec_lines.array_segment20(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
41935 XLA_AE_LINES_PKG.g_rec_lines.array_segment21(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
41936 XLA_AE_LINES_PKG.g_rec_lines.array_segment22(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
41937 XLA_AE_LINES_PKG.g_rec_lines.array_segment23(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
41938 XLA_AE_LINES_PKG.g_rec_lines.array_segment24(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
41939 XLA_AE_LINES_PKG.g_rec_lines.array_segment25(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
41940 XLA_AE_LINES_PKG.g_rec_lines.array_segment26(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
41941 XLA_AE_LINES_PKG.g_rec_lines.array_segment27(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
41942 XLA_AE_LINES_PKG.g_rec_lines.array_segment28(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
41943 XLA_AE_LINES_PKG.g_rec_lines.array_segment29(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
41944 XLA_AE_LINES_PKG.g_rec_lines.array_segment30(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
41945 --
41946
41947 --
41948
41949
41950 l_segment := AcctDerRule_6(
41951 p_application_id => p_application_id
41952 , p_ae_header_id => l_ae_header_id
41953 , p_source_12 => p_source_12
41954 , x_transaction_coa_id => l_adr_transaction_coa_id
41955 , x_accounting_coa_id => l_adr_accounting_coa_id
41956 , x_flexfield_segment_code => l_adr_flexfield_segment_code
41957 , x_flex_value_set_id => l_adr_flex_value_set_id
41958 , x_value_type_code => l_adr_value_type_code
41959 , x_value_combination_id => l_adr_value_combination_id
41960 , x_value_segment_code => l_adr_value_segment_code
41961 , p_side => 'NA'
41962 , p_override_seg_flag => 'Y'
41963 );
41964
41965 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
41966
41967 xla_ae_lines_pkg.set_segment(
41968 p_to_segment_code => 'GL_ACCOUNT'
41969 , p_segment_value => l_segment
41970 , p_from_segment_code => l_adr_value_segment_code
41971 , p_from_combination_id => l_adr_value_combination_id
41972 , p_value_type_code => l_adr_value_type_code
41973 , p_transaction_coa_id => l_adr_transaction_coa_id
41974 , p_accounting_coa_id => l_adr_accounting_coa_id
41975 , p_flexfield_segment_code => l_adr_flexfield_segment_code
41976 , p_flex_value_set_id => l_adr_flex_value_set_id
41977 , p_adr_code => 'AP_CASH_NATURAL_ACCT_SEG'
41981 , p_component_type_code => l_component_type_code
41978 , p_adr_type_code => 'S'
41979 , p_component_type => l_component_type
41980 , p_component_code => l_component_code
41982 , p_component_appl_id => l_component_appl_id
41983 , p_amb_context_code => l_amb_context_code
41984 , p_entity_code => 'AP_PAYMENTS'
41985 , p_event_class_code => 'REFUNDS'
41986 , p_side => 'NA'
41987 );
41988
41989 END IF;
41990
41991 --
41992 --
41993 END IF;
41994
41995 --
41996 -- Update the line information that should be overwritten
41997 --
41998 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
41999 p_header_num => 1);
42000 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
42001
42002 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
42003
42004 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
42005 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
42006 END IF;
42007
42008 --
42009 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
42010 --
42011 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
42012 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
42013 ELSE
42014 ---------------------------------------------------------------------------------------------------
42015 -- 4262811a Switch Sign
42016 ---------------------------------------------------------------------------------------------------
42017 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
42018 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
42019 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
42020 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
42021 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
42022 -- 5132302
42023 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
42024 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
42025
42026 END IF;
42027
42028 -- 4955764
42029 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
42030 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
42031
42032
42033 XLA_AE_LINES_PKG.ValidateCurrentLine;
42034 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
42035
42036 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
42037 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
42038 ,p_balance_type_code => l_balance_type_code);
42039
42040 END IF;
42041
42042 -----------------------------------------------------------------------------------------
42043 -- 4262811 Multiperiod Accounting
42044 -----------------------------------------------------------------------------------------
42045 -- No MPA option is assigned.
42046
42047
42048 END IF;
42049 END IF;
42050 --
42051
42052 --
42053 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
42054 trace
42055 (p_msg => 'END of AcctLineType_101'
42056 ,p_level => C_LEVEL_PROCEDURE
42057 ,p_module => l_log_module);
42058 END IF;
42059 --
42060 EXCEPTION
42061 WHEN xla_exceptions_pkg.application_exception THEN
42062 RAISE;
42063 WHEN OTHERS THEN
42064 xla_exceptions_pkg.raise_message
42065 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_101');
42066 END AcctLineType_101;
42067 --
42068
42069 ---------------------------------------
42070 --
42071 -- PRIVATE FUNCTION
42072 -- AcctLineType_102
42073 --
42074 ---------------------------------------
42075 PROCEDURE AcctLineType_102 (
42076 p_application_id IN NUMBER
42077 ,p_event_id IN NUMBER
42078 ,p_calculate_acctd_flag IN VARCHAR2
42079 ,p_calculate_g_l_flag IN VARCHAR2
42080 ,p_actual_flag IN OUT VARCHAR2
42081 ,p_balance_type_code OUT VARCHAR2
42082 ,p_gain_or_loss_ref OUT VARCHAR2
42083
42084 --Payment Currency Code
42085 , p_source_8 IN VARCHAR2
42086 --Automatic Offsets Value
42087 , p_source_10 IN VARCHAR2
42088 , p_source_10_meaning IN VARCHAR2
42089 --Bank Cash Account
42090 , p_source_12 IN NUMBER
42091 --When to Account for Payment Option
42092 , p_source_57 IN VARCHAR2
42093 --Accounting Reversal Indicator
42094 , p_source_58 IN VARCHAR2
42095 --Distribution Link Type
42096 , p_source_60 IN VARCHAR2
42097 --Override Accounted Amount Indicator
42098 , p_source_85 IN VARCHAR2
42099 , p_source_85_meaning IN VARCHAR2
42103 , p_source_91 IN NUMBER
42100 --Third Party Type
42101 , p_source_88 IN VARCHAR2
42102 --Invoice Distribution Tax Line Identifier
42104 --Invoice Distribution Tax Distribution Identifier from Tax
42105 , p_source_92 IN NUMBER
42106 --Invoice Distribution Summary Tax Line Identifier
42107 , p_source_93 IN NUMBER
42108 --Business Flow Accounts Payable Application Identifier
42109 , p_source_96 IN NUMBER
42110 --Business Flow Invoice Distribution Type
42111 , p_source_97 IN VARCHAR2
42112 --Business Flow Invoice Entity Code
42113 , p_source_98 IN VARCHAR2
42114 --Business Flow Invoice Distribution Identifier
42115 , p_source_99 IN NUMBER
42116 --Business Flow Invoice Identifier
42117 , p_source_100 IN NUMBER
42118 --Payment Distribution Type
42119 , p_source_101 IN VARCHAR2
42120 , p_source_101_meaning IN VARCHAR2
42121 --Payment Distribution Amount
42122 , p_source_102 IN NUMBER
42123 --Payment Distribution Identifier
42124 , p_source_107 IN NUMBER
42125 --Payment Supplier Identifier
42126 , p_source_113 IN NUMBER
42127 --Payment Supplier Site Identifier
42128 , p_source_114 IN NUMBER
42129 --Payment Distribution Reversed Identifier
42130 , p_source_115 IN NUMBER
42131 --Pooled Bank Account Option
42132 , p_source_116 IN VARCHAR2
42133 , p_source_116_meaning IN VARCHAR2
42134 --Payment Maturity Date
42135 , p_source_117 IN DATE
42136 --Payment Distribution (Payment Rate) Ledger Amount
42137 , p_source_118 IN NUMBER
42138 --Payment Exchange Date
42139 , p_source_120 IN DATE
42140 --Payment Exchange Rate
42141 , p_source_121 IN NUMBER
42142 --Payment Exchange Rate Type
42143 , p_source_122 IN VARCHAR2
42144 --Payment Type
42145 , p_source_125 IN VARCHAR2
42146 , p_source_125_meaning IN VARCHAR2
42147 )
42148 IS
42149
42150 l_component_type VARCHAR2(80);
42151 l_component_code VARCHAR2(30);
42152 l_component_type_code VARCHAR2(1);
42153 l_component_appl_id INTEGER;
42154 l_amb_context_code VARCHAR2(30);
42155 l_entity_code VARCHAR2(30);
42156 l_event_class_code VARCHAR2(30);
42157 l_ae_header_id NUMBER;
42158 l_event_type_code VARCHAR2(30);
42159 l_line_definition_code VARCHAR2(30);
42160 l_line_definition_owner_code VARCHAR2(1);
42161 --
42162 -- adr variables
42163 l_segment VARCHAR2(30);
42164 l_ccid NUMBER;
42165 l_adr_transaction_coa_id NUMBER;
42166 l_adr_accounting_coa_id NUMBER;
42167 l_adr_flexfield_segment_code VARCHAR2(30);
42168 l_adr_flex_value_set_id NUMBER;
42169 l_adr_value_type_code VARCHAR2(30);
42170 l_adr_value_combination_id NUMBER;
42171 l_adr_value_segment_code VARCHAR2(30);
42172
42173 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
42174 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
42175 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
42176 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
42177
42178 -- 4262811 Variables ------------------------------------------------------------------------------------------
42179 l_entered_amt_idx NUMBER;
42180 l_accted_amt_idx NUMBER;
42181 l_acc_rev_flag VARCHAR2(1);
42182 l_accrual_line_num NUMBER;
42183 l_tmp_amt NUMBER;
42184 l_acc_rev_natural_side_code VARCHAR2(1);
42185
42186 l_num_entries NUMBER;
42187 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
42188 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
42189 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
42190 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
42191 l_recog_line_1 NUMBER;
42192 l_recog_line_2 NUMBER;
42193
42194 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
42195 l_bflow_applied_to_amt NUMBER; -- 5132302
42196 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
42197
42198 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
42199
42200 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
42201 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
42202
42203 ---------------------------------------------------------------------------------------------------------------
42204
42205
42206 --
42207 -- bulk performance
42208 --
42209 l_balance_type_code VARCHAR2(1);
42210 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
42211 l_log_module VARCHAR2(240);
42212
42213 --
42214 -- Upgrade strategy
42215 --
42216 l_actual_upg_option VARCHAR2(1);
42217 l_enc_upg_option VARCHAR2(1);
42218
42219 --
42220 BEGIN
42221 --
42222 IF g_log_enabled THEN
42223 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_102';
42224 END IF;
42225 --
42226 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
42227
42228 trace
42229 (p_msg => 'BEGIN of AcctLineType_102'
42233 END IF;
42230 ,p_level => C_LEVEL_PROCEDURE
42231 ,p_module => l_log_module);
42232
42234 --
42235 l_component_type := 'AMB_JLT';
42236 l_component_code := 'AP_CASH_REF_AOS_BS';
42237 l_component_type_code := 'S';
42238 l_component_appl_id := 200;
42239 l_amb_context_code := 'DEFAULT';
42240 l_entity_code := 'AP_PAYMENTS';
42241 l_event_class_code := 'REFUNDS';
42242 l_event_type_code := 'REFUNDS_ALL';
42243 l_line_definition_owner_code := 'S';
42244 l_line_definition_code := 'ACCRUAL_REFUNDS_ALL';
42245 --
42246 l_balance_type_code := 'A';
42247 l_segment := NULL;
42248 l_ccid := NULL;
42249 l_adr_transaction_coa_id := NULL;
42250 l_adr_accounting_coa_id := NULL;
42251 l_adr_flexfield_segment_code := NULL;
42252 l_adr_flex_value_set_id := NULL;
42253 l_adr_value_type_code := NULL;
42254 l_adr_value_combination_id := NULL;
42255 l_adr_value_segment_code := NULL;
42256
42257 l_bflow_method_code := 'SAME_ENTRY'; -- 4219869 Business Flow
42258 l_bflow_class_code := ''; -- 4219869 Business Flow
42259 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
42260 l_budgetary_control_flag := 'N';
42261
42262 l_bflow_applied_to_amt_idx := NULL; -- 5132302
42263 l_bflow_applied_to_amt := NULL; -- 5132302
42264 l_entered_amt_idx := NULL; -- 4262811
42265 l_accted_amt_idx := NULL; -- 4262811
42266 l_acc_rev_flag := NULL; -- 4262811
42267 l_accrual_line_num := NULL; -- 4262811
42268 l_tmp_amt := NULL; -- 4262811
42269 --
42270
42271 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
42272 l_balance_type_code <> 'B' THEN
42273 IF NVL(p_source_57,'
42274 ') = 'ISSUE_ISSUE' AND
42275 (NVL(p_source_116,'
42276 ') = 'Y' AND
42277 NVL(p_source_10,'
42278 ') = 'BALANCING_SEGMENT') AND
42279 p_source_117 IS NULL AND
42280 NVL(p_source_101,'
42281 ') = 'CASH' AND
42282 NVL(p_source_125,'
42283 ') = 'R'
42284 THEN
42285
42286 --
42287 XLA_AE_LINES_PKG.SetNewLine;
42288
42289 p_balance_type_code := l_balance_type_code;
42290 -- set the flag so later we will know whether the gain loss line needs to be created
42291
42292 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
42293 p_actual_flag :='A';
42294 END IF;
42295
42296 --
42297 -- bulk performance
42298 --
42299 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
42300 p_header_num => 0); -- 4262811
42301 --
42302 -- set accounting line options
42303 --
42304 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
42305 p_natural_side_code => 'C'
42306 , p_gain_or_loss_flag => 'N'
42307 , p_gl_transfer_mode_code => 'S'
42308 , p_acct_entry_type_code => 'A'
42309 , p_switch_side_flag => 'Y'
42310 , p_merge_duplicate_code => 'A'
42311 );
42312 --
42313 l_acc_rev_natural_side_code := 'D'; -- 4262811
42314 --
42315 --
42316 -- set accounting line type info
42317 --
42318 xla_ae_lines_pkg.SetAcctLineType
42319 (p_component_type => l_component_type
42320 ,p_event_type_code => l_event_type_code
42321 ,p_line_definition_owner_code => l_line_definition_owner_code
42322 ,p_line_definition_code => l_line_definition_code
42323 ,p_accounting_line_code => l_component_code
42324 ,p_accounting_line_type_code => l_component_type_code
42325 ,p_accounting_line_appl_id => l_component_appl_id
42326 ,p_amb_context_code => l_amb_context_code
42327 ,p_entity_code => l_entity_code
42328 ,p_event_class_code => l_event_class_code);
42329 --
42330 -- set accounting class
42331 --
42332 xla_ae_lines_pkg.SetAcctClass(
42333 p_accounting_class_code => 'CASH'
42334 , p_ae_header_id => l_ae_header_id
42335 );
42336
42337 --
42338 -- set rounding class
42339 --
42340 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
42341 'CASH';
42342
42343 --
42344 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
42345 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
42346 --
42347 -- bulk performance
42348 --
42349 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
42350
42351 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
42352 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
42353
42354 -- 4955764
42355 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
42356 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
42357
42358 -- 4458381 Public Sector Enh
42359
42360 --
42364 l_accted_amt_idx := 14;
42361 -- set accounting attributes for the line type
42362 --
42363 l_entered_amt_idx := 9;
42365 l_bflow_applied_to_amt_idx := NULL; -- 5132302
42366 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
42367 l_rec_acct_attrs.array_char_value(1) := p_source_58;
42368 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_APPLICATION_ID';
42369 l_rec_acct_attrs.array_num_value(2) := p_source_96;
42370 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_DISTRIBUTION_TYPE';
42371 l_rec_acct_attrs.array_char_value(3) := p_source_97;
42372 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_ENTITY_CODE';
42373 l_rec_acct_attrs.array_char_value(4) := p_source_98;
42374 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_FIRST_DIST_ID';
42375 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_99);
42376 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
42377 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_100);
42378 l_rec_acct_attrs.array_acct_attr_code(7) := 'DISTRIBUTION_IDENTIFIER_1';
42379 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_107);
42380 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_TYPE';
42381 l_rec_acct_attrs.array_char_value(8) := p_source_60;
42382 l_rec_acct_attrs.array_acct_attr_code(9) := 'ENTERED_CURRENCY_AMOUNT';
42383 l_rec_acct_attrs.array_num_value(9) := p_source_102;
42384 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_CODE';
42385 l_rec_acct_attrs.array_char_value(10) := p_source_8;
42386 l_rec_acct_attrs.array_acct_attr_code(11) := 'EXCHANGE_DATE';
42387 l_rec_acct_attrs.array_date_value(11) := p_source_120;
42388 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_RATE';
42389 l_rec_acct_attrs.array_num_value(12) := p_source_121;
42390 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE_TYPE';
42391 l_rec_acct_attrs.array_char_value(13) := p_source_122;
42392 l_rec_acct_attrs.array_acct_attr_code(14) := 'LEDGER_AMOUNT';
42393 l_rec_acct_attrs.array_num_value(14) := p_source_118;
42394 l_rec_acct_attrs.array_acct_attr_code(15) := 'OVERRIDE_ACCTD_AMT_FLAG';
42395 l_rec_acct_attrs.array_char_value(15) := p_source_85;
42396 l_rec_acct_attrs.array_acct_attr_code(16) := 'PARTY_ID';
42397 l_rec_acct_attrs.array_num_value(16) := p_source_113;
42398 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_SITE_ID';
42399 l_rec_acct_attrs.array_num_value(17) := p_source_114;
42400 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_TYPE';
42401 l_rec_acct_attrs.array_char_value(18) := p_source_88;
42402 l_rec_acct_attrs.array_acct_attr_code(19) := 'REVERSED_DISTRIBUTION_ID1';
42403 l_rec_acct_attrs.array_num_value(19) := to_char(p_source_115);
42404 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_TYPE';
42405 l_rec_acct_attrs.array_char_value(20) := p_source_60;
42406 l_rec_acct_attrs.array_acct_attr_code(21) := 'TAX_LINE_REF_ID';
42407 l_rec_acct_attrs.array_num_value(21) := p_source_91;
42408 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_REC_NREC_DIST_REF_ID';
42409 l_rec_acct_attrs.array_num_value(22) := p_source_92;
42410 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_SUMMARY_LINE_REF_ID';
42411 l_rec_acct_attrs.array_num_value(23) := p_source_93;
42412
42413 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
42414 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
42415
42416 ---------------------------------------------------------------------------------------------------------------
42417 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
42418 ---------------------------------------------------------------------------------------------------------------
42419 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
42420
42421 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
42422 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
42423
42424 IF xla_accounting_cache_pkg.GetValueChar
42425 (p_source_code => 'LEDGER_CATEGORY_CODE'
42426 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
42427 AND l_bflow_method_code = 'PRIOR_ENTRY'
42428 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
42429 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
42430 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
42431 )
42432 THEN
42433 xla_ae_lines_pkg.BflowUpgEntry
42434 (p_business_method_code => l_bflow_method_code
42435 ,p_business_class_code => l_bflow_class_code
42436 ,p_balance_type => l_balance_type_code);
42437 ELSE
42438 NULL;
42439 XLA_AE_LINES_PKG.business_flow_validation(
42440 p_business_method_code => l_bflow_method_code
42441 ,p_business_class_code => l_bflow_class_code
42442 ,p_inherit_description_flag => l_inherit_desc_flag);
42443 END IF;
42444
42445 --
42446 -- call analytical criteria
42447 --
42448
42449 --
42450 -- call description
42451 --
42452 -- No description or it is inherited.
42453 --
42454 -- call ADRs
42455 -- Bug 4922099
42456 --
42457 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
42458 (NVL(l_actual_upg_option, 'N') = 'O') OR
42459 (NVL(l_enc_upg_option, 'N') = 'O')
42460 )
42464 --
42461 THEN
42462 NULL;
42463 --
42465
42466 l_ccid := AcctDerRule_30(
42467 p_application_id => p_application_id
42468 , p_ae_header_id => l_ae_header_id
42469 , p_source_12 => p_source_12
42470 , x_transaction_coa_id => l_adr_transaction_coa_id
42471 , x_accounting_coa_id => l_adr_accounting_coa_id
42472 , x_value_type_code => l_adr_value_type_code
42473 , p_side => 'NA'
42474 );
42475
42476 xla_ae_lines_pkg.set_ccid(
42477 p_code_combination_id => l_ccid
42478 , p_value_type_code => l_adr_value_type_code
42479 , p_transaction_coa_id => l_adr_transaction_coa_id
42480 , p_accounting_coa_id => l_adr_accounting_coa_id
42481 , p_adr_code => 'AP_CASH'
42482 , p_adr_type_code => 'S'
42483 , p_component_type => l_component_type
42484 , p_component_code => l_component_code
42485 , p_component_type_code => l_component_type_code
42486 , p_component_appl_id => l_component_appl_id
42487 , p_amb_context_code => l_amb_context_code
42488 , p_side => 'NA'
42489 );
42490
42491
42492 xla_ae_lines_pkg.Set_Segment( -- replaced SetSegment
42493 p_to_segment_code => 'GL_BALANCING'
42494 , p_segment_value => C_CHAR
42495 , p_from_segment_code => NULL
42496 , p_from_combination_id => NULL
42497 , p_value_type_code => NULL
42498 , p_transaction_coa_id => null
42499 , p_accounting_coa_id => null
42500 , p_flexfield_segment_code => NULL
42501 , p_flex_value_set_id => NULL
42502 , p_adr_code => NULL
42503 , p_adr_type_code => NULL
42504 , p_component_type => l_component_type
42505 , p_component_code => l_component_code
42506 , p_component_type_code => l_component_type_code
42507 , p_component_appl_id => l_component_appl_id
42508 , p_amb_context_code => l_amb_context_code
42509 , p_entity_code => 'AP_PAYMENTS'
42510 , p_event_class_code => 'REFUNDS'
42511 , p_side => 'NA'
42512 );
42513 --
42514
42515
42516 --
42517 --
42518 END IF;
42519 --
42520 -- Bug 4922099
42521 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
42522 (NVL(l_enc_upg_option, 'N') = 'O')
42523 ) AND
42524 (l_bflow_method_code = 'PRIOR_ENTRY')
42525 )
42526 THEN
42527 IF
42528 --
42529 1 = 2
42530 --
42531 THEN
42532 xla_accounting_err_pkg.build_message
42533 (p_appli_s_name => 'XLA'
42534 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
42535 ,p_token_1 => 'LINE_NUMBER'
42536 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
42537 ,p_token_2 => 'LINE_TYPE_NAME'
42538 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
42539 l_component_type
42540 ,l_component_code
42541 ,l_component_type_code
42542 ,l_component_appl_id
42543 ,l_amb_context_code
42544 ,l_entity_code
42545 ,l_event_class_code
42546 )
42547 ,p_token_3 => 'OWNER'
42548 ,p_value_3 => xla_lookups_pkg.get_meaning(
42549 p_lookup_type => 'XLA_OWNER_TYPE'
42550 ,p_lookup_code => l_component_type_code
42551 )
42552 ,p_token_4 => 'PRODUCT_NAME'
42553 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
42554 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
42555 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
42556 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
42557 ,p_ae_header_id => NULL
42558 );
42559
42560 IF (C_LEVEL_ERROR>= g_log_level) THEN
42561 trace
42562 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
42563 ,p_level => C_LEVEL_ERROR
42564 ,p_module => l_log_module);
42565 END IF;
42569 --
42566 END IF;
42567 END IF;
42568 --
42570 ------------------------------------------------------------------------------------------------
42571 -- 4219869 Business Flow
42572 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
42573 -- Prior Entry. Currently, the following code is always generated.
42574 ------------------------------------------------------------------------------------------------
42575 XLA_AE_LINES_PKG.ValidateCurrentLine;
42576
42577 ------------------------------------------------------------------------------------
42578 -- 4219869 Business Flow
42579 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
42580 ------------------------------------------------------------------------------------
42581 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
42582
42583 ----------------------------------------------------------------------------------
42584 -- 4219869 Business Flow
42585 -- Update journal entry status -- Need to generate this within IF <condition>
42586 ----------------------------------------------------------------------------------
42587 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
42588 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
42589 ,p_balance_type_code => l_balance_type_code
42590 );
42591
42592 -------------------------------------------------------------------------------------------
42593 -- 4262811 - Generate the Accrual Reversal lines
42594 -------------------------------------------------------------------------------------------
42595 BEGIN
42596 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
42597 (g_array_event(p_event_id).array_value_num('header_index'));
42598 IF l_acc_rev_flag IS NULL THEN
42599 l_acc_rev_flag := 'N';
42600 END IF;
42601 EXCEPTION
42602 WHEN OTHERS THEN
42603 l_acc_rev_flag := 'N';
42604 END;
42605 --
42606 IF (l_acc_rev_flag = 'Y') THEN
42607
42608 -- 4645092 ------------------------------------------------------------------------------
42609 -- To allow MPA report to determine if it should generate report process
42610 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
42611 ------------------------------------------------------------------------------------------
42612
42613 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
42614 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
42615 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
42616 -- call ADRs
42617 -- Bug 4922099
42618 --
42619 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
42620 (NVL(l_actual_upg_option, 'N') = 'O') OR
42621 (NVL(l_enc_upg_option, 'N') = 'O')
42622 )
42623 THEN
42624 NULL;
42625 --
42626 --
42627
42628 l_ccid := AcctDerRule_30(
42629 p_application_id => p_application_id
42630 , p_ae_header_id => l_ae_header_id
42631 , p_source_12 => p_source_12
42632 , x_transaction_coa_id => l_adr_transaction_coa_id
42633 , x_accounting_coa_id => l_adr_accounting_coa_id
42634 , x_value_type_code => l_adr_value_type_code
42635 , p_side => 'NA'
42636 );
42637
42638 xla_ae_lines_pkg.set_ccid(
42639 p_code_combination_id => l_ccid
42640 , p_value_type_code => l_adr_value_type_code
42641 , p_transaction_coa_id => l_adr_transaction_coa_id
42642 , p_accounting_coa_id => l_adr_accounting_coa_id
42643 , p_adr_code => 'AP_CASH'
42644 , p_adr_type_code => 'S'
42645 , p_component_type => l_component_type
42646 , p_component_code => l_component_code
42647 , p_component_type_code => l_component_type_code
42648 , p_component_appl_id => l_component_appl_id
42649 , p_amb_context_code => l_amb_context_code
42650 , p_side => 'NA'
42651 );
42652
42653
42654 xla_ae_lines_pkg.Set_Segment( -- replaced SetSegment
42655 p_to_segment_code => 'GL_BALANCING'
42656 , p_segment_value => C_CHAR
42657 , p_from_segment_code => NULL
42658 , p_from_combination_id => NULL
42659 , p_value_type_code => NULL
42660 , p_transaction_coa_id => null
42661 , p_accounting_coa_id => null
42662 , p_flexfield_segment_code => NULL
42663 , p_flex_value_set_id => NULL
42664 , p_adr_code => NULL
42665 , p_adr_type_code => NULL
42666 , p_component_type => l_component_type
42667 , p_component_code => l_component_code
42668 , p_component_type_code => l_component_type_code
42669 , p_component_appl_id => l_component_appl_id
42670 , p_amb_context_code => l_amb_context_code
42671 , p_entity_code => 'AP_PAYMENTS'
42672 , p_event_class_code => 'REFUNDS'
42673 , p_side => 'NA'
42674 );
42675 --
42676
42677
42678 --
42679 --
42680 END IF;
42681
42682 --
42683 -- Update the line information that should be overwritten
42684 --
42688
42685 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
42686 p_header_num => 1);
42687 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
42689 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
42690
42691 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
42692 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
42693 END IF;
42694
42695 --
42696 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
42697 --
42698 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
42699 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
42700 ELSE
42701 ---------------------------------------------------------------------------------------------------
42702 -- 4262811a Switch Sign
42703 ---------------------------------------------------------------------------------------------------
42704 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
42705 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
42706 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
42707 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
42708 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
42709 -- 5132302
42710 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
42711 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
42712
42713 END IF;
42714
42715 -- 4955764
42716 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
42717 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
42718
42719
42720 XLA_AE_LINES_PKG.ValidateCurrentLine;
42721 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
42722
42723 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
42724 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
42725 ,p_balance_type_code => l_balance_type_code);
42726
42727 END IF;
42728
42729 -----------------------------------------------------------------------------------------
42730 -- 4262811 Multiperiod Accounting
42731 -----------------------------------------------------------------------------------------
42732 -- No MPA option is assigned.
42733
42734
42735 END IF;
42736 END IF;
42737 --
42738
42739 --
42740 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
42741 trace
42742 (p_msg => 'END of AcctLineType_102'
42743 ,p_level => C_LEVEL_PROCEDURE
42744 ,p_module => l_log_module);
42745 END IF;
42746 --
42747 EXCEPTION
42748 WHEN xla_exceptions_pkg.application_exception THEN
42749 RAISE;
42750 WHEN OTHERS THEN
42751 xla_exceptions_pkg.raise_message
42752 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_102');
42753 END AcctLineType_102;
42754 --
42755
42756 ---------------------------------------
42757 --
42758 -- PRIVATE FUNCTION
42759 -- AcctLineType_103
42760 --
42761 ---------------------------------------
42762 PROCEDURE AcctLineType_103 (
42763 p_application_id IN NUMBER
42764 ,p_event_id IN NUMBER
42765 ,p_calculate_acctd_flag IN VARCHAR2
42766 ,p_calculate_g_l_flag IN VARCHAR2
42767 ,p_actual_flag IN OUT VARCHAR2
42768 ,p_balance_type_code OUT VARCHAR2
42769 ,p_gain_or_loss_ref OUT VARCHAR2
42770
42771 --Accounting Reversal Indicator
42772 , p_source_58 IN VARCHAR2
42773 --Distribution Link Type
42774 , p_source_60 IN VARCHAR2
42775 --Invoice Identifier
42776 , p_source_63 IN NUMBER
42777 --Payables Encumbrance Upgrade Credit Account
42778 , p_source_70 IN NUMBER
42779 --Payables Encumbrance Upgrade Credit Amount
42780 , p_source_71 IN NUMBER
42781 --Invoice Currency Code
42782 , p_source_72 IN VARCHAR2
42783 --Payables Encumbrance Upgrade Credit Base Amount
42784 , p_source_73 IN NUMBER
42785 --Payables Encumbrance Upgrade Debit Account
42786 , p_source_74 IN NUMBER
42787 --Payables Encumbrance Upgrade Debit Amount
42788 , p_source_75 IN NUMBER
42789 --Payables Encumbrance Upgrade Debit Base Amount
42790 , p_source_76 IN NUMBER
42791 --Payables Encumbrance Upgrade Option
42792 , p_source_77 IN VARCHAR2
42793 --Deferred Accounting End Date
42794 , p_source_82 IN DATE
42795 --Deferred Accounting Option
42796 , p_source_83 IN VARCHAR2
42797 --Deferred Accounting Start Date
42798 , p_source_84 IN DATE
42799 --Override Accounted Amount Indicator
42800 , p_source_85 IN VARCHAR2
42801 , p_source_85_meaning IN VARCHAR2
42802 --Third Party Type
42803 , p_source_88 IN VARCHAR2
42804 --Invoice Distribution Tax Line Identifier
42808 --Invoice Distribution Summary Tax Line Identifier
42805 , p_source_91 IN NUMBER
42806 --Invoice Distribution Tax Distribution Identifier from Tax
42807 , p_source_92 IN NUMBER
42809 , p_source_93 IN NUMBER
42810 --Payables Upgrade Credit Encumbrance Type Identifier
42811 , p_source_94 IN NUMBER
42812 --Payables Upgrade Debit Encumbrance Type Identifier
42813 , p_source_95 IN NUMBER
42814 --Business Flow Accounts Payable Application Identifier
42815 , p_source_96 IN NUMBER
42816 --Prepayment Distribution Type
42817 , p_source_128 IN VARCHAR2
42818 --Deferred Prepayment Settlement Option Code
42819 , p_source_129 IN VARCHAR2
42820 , p_source_129_meaning IN VARCHAR2
42821 --Prepayment Application Distribution Identifier
42822 , p_source_130 IN NUMBER
42823 --Business Flow Prepayment Payment Distribution Type
42824 , p_source_131 IN VARCHAR2
42825 --Business Flow Cash Basis Prepayment Entity Code
42826 , p_source_132 IN VARCHAR2
42827 --Business Flow Prepay Payment Distribution Id
42828 , p_source_133 IN NUMBER
42829 --Business Flow Prepay Payment Id
42830 , p_source_134 IN NUMBER
42831 --Upgrade Encumbrance Credit Account Class
42832 , p_source_135 IN VARCHAR2
42833 --Upgrade Encumbrance Debit Account Class
42834 , p_source_136 IN VARCHAR2
42835 --Prepayment Distribution Amount
42836 , p_source_137 IN NUMBER
42837 --Prepayment Distribution (Prepayment Rate) Ledger Amount
42838 , p_source_138 IN NUMBER
42839 --Identifier of the Prepayment Application Reversed
42840 , p_source_139 IN NUMBER
42841 )
42842 IS
42843
42844 l_component_type VARCHAR2(80);
42845 l_component_code VARCHAR2(30);
42846 l_component_type_code VARCHAR2(1);
42847 l_component_appl_id INTEGER;
42848 l_amb_context_code VARCHAR2(30);
42849 l_entity_code VARCHAR2(30);
42850 l_event_class_code VARCHAR2(30);
42851 l_ae_header_id NUMBER;
42852 l_event_type_code VARCHAR2(30);
42853 l_line_definition_code VARCHAR2(30);
42854 l_line_definition_owner_code VARCHAR2(1);
42855 --
42856 -- adr variables
42857 l_segment VARCHAR2(30);
42858 l_ccid NUMBER;
42859 l_adr_transaction_coa_id NUMBER;
42860 l_adr_accounting_coa_id NUMBER;
42861 l_adr_flexfield_segment_code VARCHAR2(30);
42862 l_adr_flex_value_set_id NUMBER;
42863 l_adr_value_type_code VARCHAR2(30);
42864 l_adr_value_combination_id NUMBER;
42865 l_adr_value_segment_code VARCHAR2(30);
42866
42867 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
42868 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
42869 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
42870 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
42871
42872 -- 4262811 Variables ------------------------------------------------------------------------------------------
42873 l_entered_amt_idx NUMBER;
42874 l_accted_amt_idx NUMBER;
42875 l_acc_rev_flag VARCHAR2(1);
42876 l_accrual_line_num NUMBER;
42877 l_tmp_amt NUMBER;
42878 l_acc_rev_natural_side_code VARCHAR2(1);
42879
42880 l_num_entries NUMBER;
42881 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
42882 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
42883 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
42884 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
42885 l_recog_line_1 NUMBER;
42886 l_recog_line_2 NUMBER;
42887
42888 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
42889 l_bflow_applied_to_amt NUMBER; -- 5132302
42890 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
42891
42892 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
42893
42894 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
42895 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
42896
42897 ---------------------------------------------------------------------------------------------------------------
42898
42899
42900 --
42901 -- bulk performance
42902 --
42903 l_balance_type_code VARCHAR2(1);
42904 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
42905 l_log_module VARCHAR2(240);
42906
42907 --
42908 -- Upgrade strategy
42909 --
42910 l_actual_upg_option VARCHAR2(1);
42911 l_enc_upg_option VARCHAR2(1);
42912
42913 --
42914 BEGIN
42915 --
42916 IF g_log_enabled THEN
42917 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_103';
42918 END IF;
42919 --
42920 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
42921
42922 trace
42923 (p_msg => 'BEGIN of AcctLineType_103'
42924 ,p_level => C_LEVEL_PROCEDURE
42925 ,p_module => l_log_module);
42926
42927 END IF;
42928 --
42929 l_component_type := 'AMB_JLT';
42930 l_component_code := 'AP_DEF_PP_EXP_ACCR';
42931 l_component_type_code := 'S';
42932 l_component_appl_id := 200;
42936 l_event_type_code := 'PREPAYMENT APPLICATIONS_ALL';
42933 l_amb_context_code := 'DEFAULT';
42934 l_entity_code := 'AP_INVOICES';
42935 l_event_class_code := 'PREPAYMENT APPLICATIONS';
42937 l_line_definition_owner_code := 'S';
42938 l_line_definition_code := 'ACCRUAL_PREPAYMENT APPLICATIO2';
42939 --
42940 l_balance_type_code := 'A';
42941 l_segment := NULL;
42942 l_ccid := NULL;
42943 l_adr_transaction_coa_id := NULL;
42944 l_adr_accounting_coa_id := NULL;
42945 l_adr_flexfield_segment_code := NULL;
42946 l_adr_flex_value_set_id := NULL;
42947 l_adr_value_type_code := NULL;
42948 l_adr_value_combination_id := NULL;
42949 l_adr_value_segment_code := NULL;
42950
42951 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
42952 l_bflow_class_code := 'AP_PP_DEF_TAX'; -- 4219869 Business Flow
42953 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
42954 l_budgetary_control_flag := 'N';
42955
42956 l_bflow_applied_to_amt_idx := NULL; -- 5132302
42957 l_bflow_applied_to_amt := NULL; -- 5132302
42958 l_entered_amt_idx := NULL; -- 4262811
42959 l_accted_amt_idx := NULL; -- 4262811
42960 l_acc_rev_flag := NULL; -- 4262811
42961 l_accrual_line_num := NULL; -- 4262811
42962 l_tmp_amt := NULL; -- 4262811
42963 --
42964
42965 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
42966 l_balance_type_code <> 'B' THEN
42967 IF NVL(p_source_128,'
42968 ') = 'PREPAY APPL REC TAX' AND
42969 NVL(p_source_129,'
42970 ') = 'DEFERRED'
42971 THEN
42972
42973 --
42974 XLA_AE_LINES_PKG.SetNewLine;
42975
42976 p_balance_type_code := l_balance_type_code;
42977 -- set the flag so later we will know whether the gain loss line needs to be created
42978
42979 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
42980 p_actual_flag :='A';
42981 END IF;
42982
42983 --
42984 -- bulk performance
42985 --
42986 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
42987 p_header_num => 0); -- 4262811
42988 --
42989 -- set accounting line options
42990 --
42991 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
42992 p_natural_side_code => 'D'
42993 , p_gain_or_loss_flag => 'N'
42994 , p_gl_transfer_mode_code => 'S'
42995 , p_acct_entry_type_code => 'A'
42996 , p_switch_side_flag => 'Y'
42997 , p_merge_duplicate_code => 'A'
42998 );
42999 --
43000 l_acc_rev_natural_side_code := 'C'; -- 4262811
43001 --
43002 --
43003 -- set accounting line type info
43004 --
43005 xla_ae_lines_pkg.SetAcctLineType
43006 (p_component_type => l_component_type
43007 ,p_event_type_code => l_event_type_code
43008 ,p_line_definition_owner_code => l_line_definition_owner_code
43009 ,p_line_definition_code => l_line_definition_code
43010 ,p_accounting_line_code => l_component_code
43011 ,p_accounting_line_type_code => l_component_type_code
43012 ,p_accounting_line_appl_id => l_component_appl_id
43013 ,p_amb_context_code => l_amb_context_code
43014 ,p_entity_code => l_entity_code
43015 ,p_event_class_code => l_event_class_code);
43016 --
43017 -- set accounting class
43018 --
43019 xla_ae_lines_pkg.SetAcctClass(
43020 p_accounting_class_code => 'PREPAID_EXPENSE'
43021 , p_ae_header_id => l_ae_header_id
43022 );
43023
43024 --
43025 -- set rounding class
43026 --
43027 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
43028 'PREPAID_EXPENSE';
43029
43030 --
43031 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
43032 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
43033 --
43034 -- bulk performance
43035 --
43036 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
43037
43038 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
43039 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
43040
43041 -- 4955764
43042 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
43043 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
43044
43045 -- 4458381 Public Sector Enh
43046
43047 --
43048 -- set accounting attributes for the line type
43049 --
43050 l_entered_amt_idx := 25;
43051 l_accted_amt_idx := 27;
43052 l_bflow_applied_to_amt_idx := NULL; -- 5132302
43053 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
43054 l_rec_acct_attrs.array_char_value(1) := p_source_58;
43055 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
43056 l_rec_acct_attrs.array_num_value(2) :=
43057 xla_ae_sources_pkg.GetSystemSourceNum(
43061 );
43058 p_source_code => 'XLA_EVENT_APPL_ID'
43059 , p_source_type_code => 'Y'
43060 , p_source_application_id => 602
43062 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
43063 l_rec_acct_attrs.array_char_value(3) := p_source_60;
43064 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
43065 l_rec_acct_attrs.array_char_value(4) :=
43066 xla_ae_sources_pkg.GetSystemSourceChar(
43067 p_source_code => 'XLA_ENTITY_CODE'
43068 , p_source_type_code => 'Y'
43069 , p_source_application_id => 602
43070 );
43071 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
43072 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_130);
43073 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
43074 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_63);
43075 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
43076 l_rec_acct_attrs.array_num_value(7) := p_source_96;
43077 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
43078 l_rec_acct_attrs.array_char_value(8) := p_source_131;
43079 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
43080 l_rec_acct_attrs.array_char_value(9) := p_source_132;
43081 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
43082 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_133);
43083 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
43084 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_134);
43085 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
43086 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_130);
43087 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
43088 l_rec_acct_attrs.array_char_value(13) := p_source_60;
43089 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_ACCT_CLASS';
43090 l_rec_acct_attrs.array_char_value(14) := p_source_135;
43091 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
43092 l_rec_acct_attrs.array_num_value(15) := p_source_70;
43093 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
43094 l_rec_acct_attrs.array_num_value(16) := p_source_71;
43095 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
43096 l_rec_acct_attrs.array_char_value(17) := p_source_72;
43097 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
43098 l_rec_acct_attrs.array_num_value(18) := p_source_73;
43099 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ACCT_CLASS';
43100 l_rec_acct_attrs.array_char_value(19) := p_source_136;
43101 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_CCID';
43102 l_rec_acct_attrs.array_num_value(20) := p_source_74;
43103 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_AMT';
43104 l_rec_acct_attrs.array_num_value(21) := p_source_75;
43105 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_ENTERED_CURR';
43106 l_rec_acct_attrs.array_char_value(22) := p_source_72;
43107 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_DR_LEDGER_AMT';
43108 l_rec_acct_attrs.array_num_value(23) := p_source_76;
43109 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENC_UPG_OPTION';
43110 l_rec_acct_attrs.array_char_value(24) := p_source_77;
43111 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_AMOUNT';
43112 l_rec_acct_attrs.array_num_value(25) := p_source_137;
43113 l_rec_acct_attrs.array_acct_attr_code(26) := 'ENTERED_CURRENCY_CODE';
43114 l_rec_acct_attrs.array_char_value(26) := p_source_72;
43115 l_rec_acct_attrs.array_acct_attr_code(27) := 'LEDGER_AMOUNT';
43116 l_rec_acct_attrs.array_num_value(27) := p_source_138;
43117 l_rec_acct_attrs.array_acct_attr_code(28) := 'MULTIPERIOD_END_DATE';
43118 l_rec_acct_attrs.array_date_value(28) := p_source_82;
43119 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_OPTION';
43120 l_rec_acct_attrs.array_char_value(29) := p_source_83;
43121 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_START_DATE';
43122 l_rec_acct_attrs.array_date_value(30) := p_source_84;
43123 l_rec_acct_attrs.array_acct_attr_code(31) := 'OVERRIDE_ACCTD_AMT_FLAG';
43124 l_rec_acct_attrs.array_char_value(31) := p_source_85;
43125 l_rec_acct_attrs.array_acct_attr_code(32) := 'PARTY_TYPE';
43126 l_rec_acct_attrs.array_char_value(32) := p_source_88;
43127 l_rec_acct_attrs.array_acct_attr_code(33) := 'REVERSED_DISTRIBUTION_ID1';
43128 l_rec_acct_attrs.array_num_value(33) := to_char(p_source_139);
43129 l_rec_acct_attrs.array_acct_attr_code(34) := 'REVERSED_DISTRIBUTION_TYPE';
43130 l_rec_acct_attrs.array_char_value(34) := p_source_60;
43131 l_rec_acct_attrs.array_acct_attr_code(35) := 'TAX_LINE_REF_ID';
43132 l_rec_acct_attrs.array_num_value(35) := p_source_91;
43133 l_rec_acct_attrs.array_acct_attr_code(36) := 'TAX_REC_NREC_DIST_REF_ID';
43134 l_rec_acct_attrs.array_num_value(36) := p_source_92;
43135 l_rec_acct_attrs.array_acct_attr_code(37) := 'TAX_SUMMARY_LINE_REF_ID';
43136 l_rec_acct_attrs.array_num_value(37) := p_source_93;
43137 l_rec_acct_attrs.array_acct_attr_code(38) := 'UPG_CR_ENC_TYPE_ID';
43138 l_rec_acct_attrs.array_num_value(38) := p_source_94;
43139 l_rec_acct_attrs.array_acct_attr_code(39) := 'UPG_DR_ENC_TYPE_ID';
43140 l_rec_acct_attrs.array_num_value(39) := p_source_95;
43141
43142 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
43143 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
43144
43145 ---------------------------------------------------------------------------------------------------------------
43149
43146 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
43147 ---------------------------------------------------------------------------------------------------------------
43148 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
43150 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
43151 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
43152
43153 IF xla_accounting_cache_pkg.GetValueChar
43154 (p_source_code => 'LEDGER_CATEGORY_CODE'
43155 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
43156 AND l_bflow_method_code = 'PRIOR_ENTRY'
43157 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
43158 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
43159 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
43160 )
43161 THEN
43162 xla_ae_lines_pkg.BflowUpgEntry
43163 (p_business_method_code => l_bflow_method_code
43164 ,p_business_class_code => l_bflow_class_code
43165 ,p_balance_type => l_balance_type_code);
43166 ELSE
43167 NULL;
43168 XLA_AE_LINES_PKG.business_flow_validation(
43169 p_business_method_code => l_bflow_method_code
43170 ,p_business_class_code => l_bflow_class_code
43171 ,p_inherit_description_flag => l_inherit_desc_flag);
43172 END IF;
43173
43174 --
43175 -- call analytical criteria
43176 --
43177 -- Inherited Analytical Criteria for business flow method of Prior Entry.
43178 --
43179 -- call description
43180 --
43181 -- No description or it is inherited.
43182 --
43183 -- call ADRs
43184 -- Bug 4922099
43185 --
43186 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
43187 (NVL(l_actual_upg_option, 'N') = 'O') OR
43188 (NVL(l_enc_upg_option, 'N') = 'O')
43189 )
43190 THEN
43191 NULL;
43192 --
43193 --
43194
43195 --
43196 --
43197 END IF;
43198 --
43199 -- Bug 4922099
43200 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
43201 (NVL(l_enc_upg_option, 'N') = 'O')
43202 ) AND
43203 (l_bflow_method_code = 'PRIOR_ENTRY')
43204 )
43205 THEN
43206 IF
43207 --
43208 1 = 1
43209 --
43210 THEN
43211 xla_accounting_err_pkg.build_message
43212 (p_appli_s_name => 'XLA'
43213 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
43214 ,p_token_1 => 'LINE_NUMBER'
43215 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
43216 ,p_token_2 => 'LINE_TYPE_NAME'
43217 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
43218 l_component_type
43219 ,l_component_code
43220 ,l_component_type_code
43221 ,l_component_appl_id
43222 ,l_amb_context_code
43223 ,l_entity_code
43224 ,l_event_class_code
43225 )
43226 ,p_token_3 => 'OWNER'
43227 ,p_value_3 => xla_lookups_pkg.get_meaning(
43228 p_lookup_type => 'XLA_OWNER_TYPE'
43229 ,p_lookup_code => l_component_type_code
43230 )
43231 ,p_token_4 => 'PRODUCT_NAME'
43232 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
43233 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
43234 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
43235 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
43236 ,p_ae_header_id => NULL
43237 );
43238
43239 IF (C_LEVEL_ERROR>= g_log_level) THEN
43240 trace
43241 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
43242 ,p_level => C_LEVEL_ERROR
43243 ,p_module => l_log_module);
43244 END IF;
43245 END IF;
43246 END IF;
43247 --
43248 --
43252 -- Prior Entry. Currently, the following code is always generated.
43249 ------------------------------------------------------------------------------------------------
43250 -- 4219869 Business Flow
43251 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
43253 ------------------------------------------------------------------------------------------------
43254 -- No ValidateCurrentLine for business flow method of Prior Entry
43255
43256 ------------------------------------------------------------------------------------
43257 -- 4219869 Business Flow
43258 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
43259 ------------------------------------------------------------------------------------
43260 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
43261
43262 ----------------------------------------------------------------------------------
43263 -- 4219869 Business Flow
43264 -- Update journal entry status -- Need to generate this within IF <condition>
43265 ----------------------------------------------------------------------------------
43266 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
43267 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
43268 ,p_balance_type_code => l_balance_type_code
43269 );
43270
43271 -------------------------------------------------------------------------------------------
43272 -- 4262811 - Generate the Accrual Reversal lines
43273 -------------------------------------------------------------------------------------------
43274 BEGIN
43275 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
43276 (g_array_event(p_event_id).array_value_num('header_index'));
43277 IF l_acc_rev_flag IS NULL THEN
43278 l_acc_rev_flag := 'N';
43279 END IF;
43280 EXCEPTION
43281 WHEN OTHERS THEN
43282 l_acc_rev_flag := 'N';
43283 END;
43284 --
43285 IF (l_acc_rev_flag = 'Y') THEN
43286
43287 -- 4645092 ------------------------------------------------------------------------------
43288 -- To allow MPA report to determine if it should generate report process
43289 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
43290 ------------------------------------------------------------------------------------------
43291
43292 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
43293 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
43294 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
43295 -- call ADRs
43296 -- Bug 4922099
43297 --
43298 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
43299 (NVL(l_actual_upg_option, 'N') = 'O') OR
43300 (NVL(l_enc_upg_option, 'N') = 'O')
43301 )
43302 THEN
43303 NULL;
43304 --
43305 --
43306
43307 --
43308 --
43309 END IF;
43310
43311 --
43312 -- Update the line information that should be overwritten
43313 --
43314 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
43315 p_header_num => 1);
43316 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
43317
43318 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
43319
43320 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
43321 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
43322 END IF;
43323
43324 --
43325 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
43326 --
43327 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
43328 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
43329 ELSE
43330 ---------------------------------------------------------------------------------------------------
43331 -- 4262811a Switch Sign
43332 ---------------------------------------------------------------------------------------------------
43333 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
43334 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
43335 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
43336 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
43337 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
43338 -- 5132302
43339 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
43340 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
43341
43342 END IF;
43343
43344 -- 4955764
43345 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
43346 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
43347
43348
43349 XLA_AE_LINES_PKG.ValidateCurrentLine;
43350 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
43351
43352 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
43356 END IF;
43353 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
43354 ,p_balance_type_code => l_balance_type_code);
43355
43357
43358 -----------------------------------------------------------------------------------------
43359 -- 4262811 Multiperiod Accounting
43360 -----------------------------------------------------------------------------------------
43361 -- No MPA option is assigned.
43362
43363
43364 END IF;
43365 END IF;
43366 --
43367
43368 --
43369 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
43370 trace
43371 (p_msg => 'END of AcctLineType_103'
43372 ,p_level => C_LEVEL_PROCEDURE
43373 ,p_module => l_log_module);
43374 END IF;
43375 --
43376 EXCEPTION
43377 WHEN xla_exceptions_pkg.application_exception THEN
43378 RAISE;
43379 WHEN OTHERS THEN
43380 xla_exceptions_pkg.raise_message
43381 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_103');
43382 END AcctLineType_103;
43383 --
43384
43385 ---------------------------------------
43386 --
43387 -- PRIVATE FUNCTION
43388 -- AcctLineType_104
43389 --
43390 ---------------------------------------
43391 PROCEDURE AcctLineType_104 (
43392 p_application_id IN NUMBER
43393 ,p_event_id IN NUMBER
43394 ,p_calculate_acctd_flag IN VARCHAR2
43395 ,p_calculate_g_l_flag IN VARCHAR2
43396 ,p_actual_flag IN OUT VARCHAR2
43397 ,p_balance_type_code OUT VARCHAR2
43398 ,p_gain_or_loss_ref OUT VARCHAR2
43399
43400 --Payment Currency Code
43401 , p_source_8 IN VARCHAR2
43402 --Invoice Distribution Type
43403 , p_source_28 IN VARCHAR2
43404 , p_source_28_meaning IN VARCHAR2
43405 --Recoverable Tax Account
43406 , p_source_48 IN NUMBER
43407 --When to Account for Payment Option
43408 , p_source_57 IN VARCHAR2
43409 --Accounting Reversal Indicator
43410 , p_source_58 IN VARCHAR2
43411 --Distribution Link Type
43412 , p_source_60 IN VARCHAR2
43413 --Override Accounted Amount Indicator
43414 , p_source_85 IN VARCHAR2
43415 , p_source_85_meaning IN VARCHAR2
43416 --Third Party Type
43417 , p_source_88 IN VARCHAR2
43418 --Invoice Distribution Tax Line Identifier
43419 , p_source_91 IN NUMBER
43420 --Invoice Distribution Summary Tax Line Identifier
43421 , p_source_93 IN NUMBER
43422 --Business Flow Accounts Payable Application Identifier
43423 , p_source_96 IN NUMBER
43424 --Payment Distribution Type
43425 , p_source_101 IN VARCHAR2
43426 , p_source_101_meaning IN VARCHAR2
43427 --Payment Distribution Amount
43428 , p_source_102 IN NUMBER
43429 --Business Flow Payment Distribution Type
43430 , p_source_103 IN VARCHAR2
43431 --Business Flow Payment Entity Code
43432 , p_source_104 IN VARCHAR2
43433 --Business Flow Payment Distribution Identifier
43434 , p_source_105 IN NUMBER
43435 --Business Flow Payment Identifier
43436 , p_source_106 IN NUMBER
43437 --Payment Distribution Identifier
43438 , p_source_107 IN NUMBER
43439 --Cleared Exchange Date
43440 , p_source_109 IN DATE
43441 --Cleared Exchange Rate
43442 , p_source_110 IN NUMBER
43443 --Cleared Exchange Rate Type
43444 , p_source_111 IN VARCHAR2
43445 --Payment Distribution (Cleared Rate) Ledger Amount
43446 , p_source_112 IN NUMBER
43447 --Payment Supplier Identifier
43448 , p_source_113 IN NUMBER
43449 --Payment Supplier Site Identifier
43450 , p_source_114 IN NUMBER
43451 --Payment Distribution Reversed Identifier
43452 , p_source_115 IN NUMBER
43453 --Payment Type
43454 , p_source_125 IN VARCHAR2
43455 , p_source_125_meaning IN VARCHAR2
43456 --Deferred Recoverable Tax Option
43457 , p_source_140 IN VARCHAR2
43458 , p_source_140_meaning IN VARCHAR2
43459 )
43460 IS
43461
43462 l_component_type VARCHAR2(80);
43463 l_component_code VARCHAR2(30);
43464 l_component_type_code VARCHAR2(1);
43465 l_component_appl_id INTEGER;
43466 l_amb_context_code VARCHAR2(30);
43467 l_entity_code VARCHAR2(30);
43468 l_event_class_code VARCHAR2(30);
43469 l_ae_header_id NUMBER;
43470 l_event_type_code VARCHAR2(30);
43471 l_line_definition_code VARCHAR2(30);
43472 l_line_definition_owner_code VARCHAR2(1);
43473 --
43474 -- adr variables
43475 l_segment VARCHAR2(30);
43476 l_ccid NUMBER;
43477 l_adr_transaction_coa_id NUMBER;
43478 l_adr_accounting_coa_id NUMBER;
43479 l_adr_flexfield_segment_code VARCHAR2(30);
43480 l_adr_flex_value_set_id NUMBER;
43481 l_adr_value_type_code VARCHAR2(30);
43482 l_adr_value_combination_id NUMBER;
43483 l_adr_value_segment_code VARCHAR2(30);
43484
43485 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
43486 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
43487 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
43488 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
43489
43493 l_acc_rev_flag VARCHAR2(1);
43490 -- 4262811 Variables ------------------------------------------------------------------------------------------
43491 l_entered_amt_idx NUMBER;
43492 l_accted_amt_idx NUMBER;
43494 l_accrual_line_num NUMBER;
43495 l_tmp_amt NUMBER;
43496 l_acc_rev_natural_side_code VARCHAR2(1);
43497
43498 l_num_entries NUMBER;
43499 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
43500 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
43501 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
43502 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
43503 l_recog_line_1 NUMBER;
43504 l_recog_line_2 NUMBER;
43505
43506 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
43507 l_bflow_applied_to_amt NUMBER; -- 5132302
43508 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
43509
43510 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
43511
43512 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
43513 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
43514
43515 ---------------------------------------------------------------------------------------------------------------
43516
43517
43518 --
43519 -- bulk performance
43520 --
43521 l_balance_type_code VARCHAR2(1);
43522 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
43523 l_log_module VARCHAR2(240);
43524
43525 --
43526 -- Upgrade strategy
43527 --
43528 l_actual_upg_option VARCHAR2(1);
43529 l_enc_upg_option VARCHAR2(1);
43530
43531 --
43532 BEGIN
43533 --
43534 IF g_log_enabled THEN
43535 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_104';
43536 END IF;
43537 --
43538 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
43539
43540 trace
43541 (p_msg => 'BEGIN of AcctLineType_104'
43542 ,p_level => C_LEVEL_PROCEDURE
43543 ,p_module => l_log_module);
43544
43545 END IF;
43546 --
43547 l_component_type := 'AMB_JLT';
43548 l_component_code := 'AP_DEF_RTAX_CLR';
43549 l_component_type_code := 'S';
43550 l_component_appl_id := 200;
43551 l_amb_context_code := 'DEFAULT';
43552 l_entity_code := 'AP_PAYMENTS';
43553 l_event_class_code := 'RECONCILED PAYMENTS';
43554 l_event_type_code := 'RECONCILED PAYMENTS_ALL';
43555 l_line_definition_owner_code := 'S';
43556 l_line_definition_code := 'ACCRUAL_RECONCILED PAYMENTS_A4';
43557 --
43558 l_balance_type_code := 'A';
43559 l_segment := NULL;
43560 l_ccid := NULL;
43561 l_adr_transaction_coa_id := NULL;
43562 l_adr_accounting_coa_id := NULL;
43563 l_adr_flexfield_segment_code := NULL;
43564 l_adr_flex_value_set_id := NULL;
43565 l_adr_value_type_code := NULL;
43566 l_adr_value_combination_id := NULL;
43567 l_adr_value_segment_code := NULL;
43568
43569 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
43570 l_bflow_class_code := ''; -- 4219869 Business Flow
43571 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
43572 l_budgetary_control_flag := 'N';
43573
43574 l_bflow_applied_to_amt_idx := NULL; -- 5132302
43575 l_bflow_applied_to_amt := NULL; -- 5132302
43576 l_entered_amt_idx := NULL; -- 4262811
43577 l_accted_amt_idx := NULL; -- 4262811
43578 l_acc_rev_flag := NULL; -- 4262811
43579 l_accrual_line_num := NULL; -- 4262811
43580 l_tmp_amt := NULL; -- 4262811
43581 --
43582
43583 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
43584 l_balance_type_code <> 'B' THEN
43585 IF NVL(p_source_57,'
43586 ') = 'CLEAR_CLEAR' AND
43587 NVL(p_source_28,'
43588 ') = 'REC_TAX' AND
43589 NVL(p_source_140,'
43590 ') = 'DEFERRED' AND
43591 (NVL(p_source_101,'
43592 ') = 'CASH' OR
43593 NVL(p_source_101,'
43594 ') = 'DISCOUNT') AND
43595 NVL(p_source_125,'
43596 ') <> 'R'
43597 THEN
43598
43599 --
43600 XLA_AE_LINES_PKG.SetNewLine;
43601
43602 p_balance_type_code := l_balance_type_code;
43603 -- set the flag so later we will know whether the gain loss line needs to be created
43604
43605 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
43606 p_actual_flag :='A';
43607 END IF;
43608
43609 --
43610 -- bulk performance
43611 --
43612 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
43613 p_header_num => 0); -- 4262811
43614 --
43615 -- set accounting line options
43616 --
43617 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
43618 p_natural_side_code => 'D'
43619 , p_gain_or_loss_flag => 'N'
43620 , p_gl_transfer_mode_code => 'S'
43621 , p_acct_entry_type_code => 'A'
43622 , p_switch_side_flag => 'Y'
43623 , p_merge_duplicate_code => 'A'
43624 );
43625 --
43629 -- set accounting line type info
43626 l_acc_rev_natural_side_code := 'C'; -- 4262811
43627 --
43628 --
43630 --
43631 xla_ae_lines_pkg.SetAcctLineType
43632 (p_component_type => l_component_type
43633 ,p_event_type_code => l_event_type_code
43634 ,p_line_definition_owner_code => l_line_definition_owner_code
43635 ,p_line_definition_code => l_line_definition_code
43636 ,p_accounting_line_code => l_component_code
43637 ,p_accounting_line_type_code => l_component_type_code
43638 ,p_accounting_line_appl_id => l_component_appl_id
43639 ,p_amb_context_code => l_amb_context_code
43640 ,p_entity_code => l_entity_code
43641 ,p_event_class_code => l_event_class_code);
43642 --
43643 -- set accounting class
43644 --
43645 xla_ae_lines_pkg.SetAcctClass(
43646 p_accounting_class_code => 'DEF_REC_TAX'
43647 , p_ae_header_id => l_ae_header_id
43648 );
43649
43650 --
43651 -- set rounding class
43652 --
43653 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
43654 'DEF_REC_TAX';
43655
43656 --
43657 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
43658 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
43659 --
43660 -- bulk performance
43661 --
43662 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
43663
43664 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
43665 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
43666
43667 -- 4955764
43668 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
43669 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
43670
43671 -- 4458381 Public Sector Enh
43672
43673 --
43674 -- set accounting attributes for the line type
43675 --
43676 l_entered_amt_idx := 10;
43677 l_accted_amt_idx := 15;
43678 l_bflow_applied_to_amt_idx := 2; -- 5132302
43679 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
43680 l_rec_acct_attrs.array_char_value(1) := p_source_58;
43681 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
43682 l_rec_acct_attrs.array_num_value(2) := p_source_102;
43683 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
43684 l_rec_acct_attrs.array_num_value(3) := p_source_96;
43685 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
43686 l_rec_acct_attrs.array_char_value(4) := p_source_103;
43687 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
43688 l_rec_acct_attrs.array_char_value(5) := p_source_104;
43689 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
43690 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_105);
43691 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
43692 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_106);
43693 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
43694 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_107);
43695 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
43696 l_rec_acct_attrs.array_char_value(9) := p_source_60;
43697 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
43698 l_rec_acct_attrs.array_num_value(10) := p_source_102;
43699 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
43700 l_rec_acct_attrs.array_char_value(11) := p_source_8;
43701 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
43702 l_rec_acct_attrs.array_date_value(12) := p_source_109;
43703 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
43704 l_rec_acct_attrs.array_num_value(13) := p_source_110;
43705 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
43706 l_rec_acct_attrs.array_char_value(14) := p_source_111;
43707 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
43708 l_rec_acct_attrs.array_num_value(15) := p_source_112;
43709 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
43710 l_rec_acct_attrs.array_char_value(16) := p_source_85;
43711 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
43712 l_rec_acct_attrs.array_num_value(17) := p_source_113;
43713 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
43714 l_rec_acct_attrs.array_num_value(18) := p_source_114;
43715 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
43716 l_rec_acct_attrs.array_char_value(19) := p_source_88;
43717 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
43718 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_115);
43719 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
43720 l_rec_acct_attrs.array_char_value(21) := p_source_60;
43721 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
43722 l_rec_acct_attrs.array_num_value(22) := p_source_91;
43723 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
43724 l_rec_acct_attrs.array_num_value(23) := p_source_91;
43725 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
43729 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
43726 l_rec_acct_attrs.array_num_value(24) := p_source_93;
43727
43728 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
43730
43731 ---------------------------------------------------------------------------------------------------------------
43732 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
43733 ---------------------------------------------------------------------------------------------------------------
43734 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
43735
43736 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
43737 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
43738
43739 IF xla_accounting_cache_pkg.GetValueChar
43740 (p_source_code => 'LEDGER_CATEGORY_CODE'
43741 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
43742 AND l_bflow_method_code = 'PRIOR_ENTRY'
43743 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
43744 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
43745 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
43746 )
43747 THEN
43748 xla_ae_lines_pkg.BflowUpgEntry
43749 (p_business_method_code => l_bflow_method_code
43750 ,p_business_class_code => l_bflow_class_code
43751 ,p_balance_type => l_balance_type_code);
43752 ELSE
43753 NULL;
43754 -- No business flow processing for business flow method of NONE.
43755 END IF;
43756
43757 --
43758 -- call analytical criteria
43759 --
43760
43761 --
43762 -- call description
43763 --
43764 -- No description or it is inherited.
43765 --
43766 -- call ADRs
43767 -- Bug 4922099
43768 --
43769 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
43770 (NVL(l_actual_upg_option, 'N') = 'O') OR
43771 (NVL(l_enc_upg_option, 'N') = 'O')
43772 )
43773 THEN
43774 NULL;
43775 --
43776 --
43777
43778 l_ccid := AcctDerRule_46(
43779 p_application_id => p_application_id
43780 , p_ae_header_id => l_ae_header_id
43781 , p_source_48 => p_source_48
43782 , x_transaction_coa_id => l_adr_transaction_coa_id
43783 , x_accounting_coa_id => l_adr_accounting_coa_id
43784 , x_value_type_code => l_adr_value_type_code
43785 , p_side => 'NA'
43786 );
43787
43788 xla_ae_lines_pkg.set_ccid(
43789 p_code_combination_id => l_ccid
43790 , p_value_type_code => l_adr_value_type_code
43791 , p_transaction_coa_id => l_adr_transaction_coa_id
43792 , p_accounting_coa_id => l_adr_accounting_coa_id
43793 , p_adr_code => 'AP_TAX_ACCOUNT'
43794 , p_adr_type_code => 'S'
43795 , p_component_type => l_component_type
43796 , p_component_code => l_component_code
43797 , p_component_type_code => l_component_type_code
43798 , p_component_appl_id => l_component_appl_id
43799 , p_amb_context_code => l_amb_context_code
43800 , p_side => 'NA'
43801 );
43802
43803
43804 --
43805 --
43806 END IF;
43807 --
43808 -- Bug 4922099
43809 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
43810 (NVL(l_enc_upg_option, 'N') = 'O')
43811 ) AND
43812 (l_bflow_method_code = 'PRIOR_ENTRY')
43813 )
43814 THEN
43815 IF
43816 --
43817 1 = 2
43818 --
43819 THEN
43820 xla_accounting_err_pkg.build_message
43821 (p_appli_s_name => 'XLA'
43822 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
43823 ,p_token_1 => 'LINE_NUMBER'
43824 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
43825 ,p_token_2 => 'LINE_TYPE_NAME'
43826 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
43827 l_component_type
43828 ,l_component_code
43829 ,l_component_type_code
43830 ,l_component_appl_id
43831 ,l_amb_context_code
43832 ,l_entity_code
43833 ,l_event_class_code
43834 )
43835 ,p_token_3 => 'OWNER'
43836 ,p_value_3 => xla_lookups_pkg.get_meaning(
43837 p_lookup_type => 'XLA_OWNER_TYPE'
43841 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
43838 ,p_lookup_code => l_component_type_code
43839 )
43840 ,p_token_4 => 'PRODUCT_NAME'
43842 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
43843 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
43844 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
43845 ,p_ae_header_id => NULL
43846 );
43847
43848 IF (C_LEVEL_ERROR>= g_log_level) THEN
43849 trace
43850 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
43851 ,p_level => C_LEVEL_ERROR
43852 ,p_module => l_log_module);
43853 END IF;
43854 END IF;
43855 END IF;
43856 --
43857 --
43858 ------------------------------------------------------------------------------------------------
43859 -- 4219869 Business Flow
43860 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
43861 -- Prior Entry. Currently, the following code is always generated.
43862 ------------------------------------------------------------------------------------------------
43863 XLA_AE_LINES_PKG.ValidateCurrentLine;
43864
43865 ------------------------------------------------------------------------------------
43866 -- 4219869 Business Flow
43867 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
43868 ------------------------------------------------------------------------------------
43869 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
43870
43871 ----------------------------------------------------------------------------------
43872 -- 4219869 Business Flow
43873 -- Update journal entry status -- Need to generate this within IF <condition>
43874 ----------------------------------------------------------------------------------
43875 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
43876 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
43877 ,p_balance_type_code => l_balance_type_code
43878 );
43879
43880 -------------------------------------------------------------------------------------------
43881 -- 4262811 - Generate the Accrual Reversal lines
43882 -------------------------------------------------------------------------------------------
43883 BEGIN
43884 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
43885 (g_array_event(p_event_id).array_value_num('header_index'));
43886 IF l_acc_rev_flag IS NULL THEN
43887 l_acc_rev_flag := 'N';
43888 END IF;
43889 EXCEPTION
43890 WHEN OTHERS THEN
43891 l_acc_rev_flag := 'N';
43892 END;
43893 --
43894 IF (l_acc_rev_flag = 'Y') THEN
43895
43896 -- 4645092 ------------------------------------------------------------------------------
43897 -- To allow MPA report to determine if it should generate report process
43898 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
43899 ------------------------------------------------------------------------------------------
43900
43901 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
43902 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
43903 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
43904 -- call ADRs
43905 -- Bug 4922099
43906 --
43907 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
43908 (NVL(l_actual_upg_option, 'N') = 'O') OR
43909 (NVL(l_enc_upg_option, 'N') = 'O')
43910 )
43911 THEN
43912 NULL;
43913 --
43914 --
43915
43916 l_ccid := AcctDerRule_46(
43917 p_application_id => p_application_id
43918 , p_ae_header_id => l_ae_header_id
43919 , p_source_48 => p_source_48
43920 , x_transaction_coa_id => l_adr_transaction_coa_id
43921 , x_accounting_coa_id => l_adr_accounting_coa_id
43922 , x_value_type_code => l_adr_value_type_code
43923 , p_side => 'NA'
43924 );
43925
43926 xla_ae_lines_pkg.set_ccid(
43927 p_code_combination_id => l_ccid
43928 , p_value_type_code => l_adr_value_type_code
43929 , p_transaction_coa_id => l_adr_transaction_coa_id
43930 , p_accounting_coa_id => l_adr_accounting_coa_id
43931 , p_adr_code => 'AP_TAX_ACCOUNT'
43932 , p_adr_type_code => 'S'
43933 , p_component_type => l_component_type
43934 , p_component_code => l_component_code
43935 , p_component_type_code => l_component_type_code
43936 , p_component_appl_id => l_component_appl_id
43937 , p_amb_context_code => l_amb_context_code
43938 , p_side => 'NA'
43939 );
43940
43941
43942 --
43943 --
43944 END IF;
43945
43946 --
43950 p_header_num => 1);
43947 -- Update the line information that should be overwritten
43948 --
43949 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
43951 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
43952
43953 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
43954
43955 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
43956 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
43957 END IF;
43958
43959 --
43960 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
43961 --
43962 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
43963 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
43964 ELSE
43965 ---------------------------------------------------------------------------------------------------
43966 -- 4262811a Switch Sign
43967 ---------------------------------------------------------------------------------------------------
43968 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
43969 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
43970 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
43971 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
43972 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
43973 -- 5132302
43974 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
43975 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
43976
43977 END IF;
43978
43979 -- 4955764
43980 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
43981 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
43982
43983
43984 XLA_AE_LINES_PKG.ValidateCurrentLine;
43985 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
43986
43987 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
43988 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
43989 ,p_balance_type_code => l_balance_type_code);
43990
43991 END IF;
43992
43993 -----------------------------------------------------------------------------------------
43994 -- 4262811 Multiperiod Accounting
43995 -----------------------------------------------------------------------------------------
43996 -- No MPA option is assigned.
43997
43998
43999 END IF;
44000 END IF;
44001 --
44002
44003 --
44004 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
44005 trace
44006 (p_msg => 'END of AcctLineType_104'
44007 ,p_level => C_LEVEL_PROCEDURE
44008 ,p_module => l_log_module);
44009 END IF;
44010 --
44011 EXCEPTION
44012 WHEN xla_exceptions_pkg.application_exception THEN
44013 RAISE;
44014 WHEN OTHERS THEN
44015 xla_exceptions_pkg.raise_message
44016 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_104');
44017 END AcctLineType_104;
44018 --
44019
44020 ---------------------------------------
44021 --
44022 -- PRIVATE FUNCTION
44023 -- AcctLineType_105
44024 --
44025 ---------------------------------------
44026 PROCEDURE AcctLineType_105 (
44027 p_application_id IN NUMBER
44028 ,p_event_id IN NUMBER
44029 ,p_calculate_acctd_flag IN VARCHAR2
44030 ,p_calculate_g_l_flag IN VARCHAR2
44031 ,p_actual_flag IN OUT VARCHAR2
44032 ,p_balance_type_code OUT VARCHAR2
44033 ,p_gain_or_loss_ref OUT VARCHAR2
44034
44035 --Payment Currency Code
44036 , p_source_8 IN VARCHAR2
44037 --Invoice Distribution Type
44038 , p_source_28 IN VARCHAR2
44039 , p_source_28_meaning IN VARCHAR2
44040 --When to Account for Payment Option
44041 , p_source_57 IN VARCHAR2
44042 --Accounting Reversal Indicator
44043 , p_source_58 IN VARCHAR2
44044 --Distribution Link Type
44045 , p_source_60 IN VARCHAR2
44046 --Override Accounted Amount Indicator
44047 , p_source_85 IN VARCHAR2
44048 , p_source_85_meaning IN VARCHAR2
44049 --Third Party Type
44050 , p_source_88 IN VARCHAR2
44051 --Invoice Distribution Tax Line Identifier
44052 , p_source_91 IN NUMBER
44053 --Invoice Distribution Summary Tax Line Identifier
44054 , p_source_93 IN NUMBER
44055 --Business Flow Accounts Payable Application Identifier
44056 , p_source_96 IN NUMBER
44057 --Business Flow Invoice Distribution Identifier
44058 , p_source_99 IN NUMBER
44059 --Business Flow Invoice Identifier
44060 , p_source_100 IN NUMBER
44061 --Payment Distribution Type
44062 , p_source_101 IN VARCHAR2
44063 , p_source_101_meaning IN VARCHAR2
44064 --Payment Distribution Amount
44065 , p_source_102 IN NUMBER
44066 --Business Flow Payment Distribution Type
44070 --Payment Distribution Identifier
44067 , p_source_103 IN VARCHAR2
44068 --Business Flow Payment Entity Code
44069 , p_source_104 IN VARCHAR2
44071 , p_source_107 IN NUMBER
44072 --Payment Distribution Reversed Identifier
44073 , p_source_115 IN NUMBER
44074 --Payment Distribution (Invoice Rate) Ledger Amount
44075 , p_source_119 IN NUMBER
44076 --Payment Type
44077 , p_source_125 IN VARCHAR2
44078 , p_source_125_meaning IN VARCHAR2
44079 --Deferred Recoverable Tax Option
44080 , p_source_140 IN VARCHAR2
44081 , p_source_140_meaning IN VARCHAR2
44082 )
44083 IS
44084
44085 l_component_type VARCHAR2(80);
44086 l_component_code VARCHAR2(30);
44087 l_component_type_code VARCHAR2(1);
44088 l_component_appl_id INTEGER;
44089 l_amb_context_code VARCHAR2(30);
44090 l_entity_code VARCHAR2(30);
44091 l_event_class_code VARCHAR2(30);
44092 l_ae_header_id NUMBER;
44093 l_event_type_code VARCHAR2(30);
44094 l_line_definition_code VARCHAR2(30);
44095 l_line_definition_owner_code VARCHAR2(1);
44096 --
44097 -- adr variables
44098 l_segment VARCHAR2(30);
44099 l_ccid NUMBER;
44100 l_adr_transaction_coa_id NUMBER;
44101 l_adr_accounting_coa_id NUMBER;
44102 l_adr_flexfield_segment_code VARCHAR2(30);
44103 l_adr_flex_value_set_id NUMBER;
44104 l_adr_value_type_code VARCHAR2(30);
44105 l_adr_value_combination_id NUMBER;
44106 l_adr_value_segment_code VARCHAR2(30);
44107
44108 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
44109 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
44110 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
44111 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
44112
44113 -- 4262811 Variables ------------------------------------------------------------------------------------------
44114 l_entered_amt_idx NUMBER;
44115 l_accted_amt_idx NUMBER;
44116 l_acc_rev_flag VARCHAR2(1);
44117 l_accrual_line_num NUMBER;
44118 l_tmp_amt NUMBER;
44119 l_acc_rev_natural_side_code VARCHAR2(1);
44120
44121 l_num_entries NUMBER;
44122 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
44123 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
44124 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
44125 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
44126 l_recog_line_1 NUMBER;
44127 l_recog_line_2 NUMBER;
44128
44129 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
44130 l_bflow_applied_to_amt NUMBER; -- 5132302
44131 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
44132
44133 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
44134
44135 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
44136 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
44137
44138 ---------------------------------------------------------------------------------------------------------------
44139
44140
44141 --
44142 -- bulk performance
44143 --
44144 l_balance_type_code VARCHAR2(1);
44145 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
44146 l_log_module VARCHAR2(240);
44147
44148 --
44149 -- Upgrade strategy
44150 --
44151 l_actual_upg_option VARCHAR2(1);
44152 l_enc_upg_option VARCHAR2(1);
44153
44154 --
44155 BEGIN
44156 --
44157 IF g_log_enabled THEN
44158 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_105';
44159 END IF;
44160 --
44161 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
44162
44163 trace
44164 (p_msg => 'BEGIN of AcctLineType_105'
44165 ,p_level => C_LEVEL_PROCEDURE
44166 ,p_module => l_log_module);
44167
44168 END IF;
44169 --
44170 l_component_type := 'AMB_JLT';
44171 l_component_code := 'AP_DEF_RTAX_INTERIM_CLR';
44172 l_component_type_code := 'S';
44173 l_component_appl_id := 200;
44174 l_amb_context_code := 'DEFAULT';
44175 l_entity_code := 'AP_PAYMENTS';
44176 l_event_class_code := 'RECONCILED PAYMENTS';
44177 l_event_type_code := 'RECONCILED PAYMENTS_ALL';
44178 l_line_definition_owner_code := 'S';
44179 l_line_definition_code := 'ACCRUAL_RECONCILED PAYMENTS_A4';
44180 --
44181 l_balance_type_code := 'A';
44182 l_segment := NULL;
44183 l_ccid := NULL;
44184 l_adr_transaction_coa_id := NULL;
44185 l_adr_accounting_coa_id := NULL;
44186 l_adr_flexfield_segment_code := NULL;
44187 l_adr_flex_value_set_id := NULL;
44188 l_adr_value_type_code := NULL;
44189 l_adr_value_combination_id := NULL;
44190 l_adr_value_segment_code := NULL;
44191
44192 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
44193 l_bflow_class_code := 'AP_DEF_REC_TAX'; -- 4219869 Business Flow
44197 l_bflow_applied_to_amt_idx := NULL; -- 5132302
44194 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
44195 l_budgetary_control_flag := 'N';
44196
44198 l_bflow_applied_to_amt := NULL; -- 5132302
44199 l_entered_amt_idx := NULL; -- 4262811
44200 l_accted_amt_idx := NULL; -- 4262811
44201 l_acc_rev_flag := NULL; -- 4262811
44202 l_accrual_line_num := NULL; -- 4262811
44203 l_tmp_amt := NULL; -- 4262811
44204 --
44205
44206 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
44207 l_balance_type_code <> 'B' THEN
44208 IF NVL(p_source_57,'
44209 ') = 'CLEAR_CLEAR' AND
44210 NVL(p_source_28,'
44211 ') = 'REC_TAX' AND
44212 NVL(p_source_140,'
44213 ') = 'DEFERRED' AND
44214 (NVL(p_source_101,'
44215 ') = 'CASH' OR
44216 NVL(p_source_101,'
44217 ') = 'DISCOUNT') AND
44218 NVL(p_source_125,'
44219 ') <> 'R'
44220 THEN
44221
44222 --
44223 XLA_AE_LINES_PKG.SetNewLine;
44224
44225 p_balance_type_code := l_balance_type_code;
44226 -- set the flag so later we will know whether the gain loss line needs to be created
44227
44228 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
44229 p_actual_flag :='A';
44230 END IF;
44231
44232 --
44233 -- bulk performance
44234 --
44235 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
44236 p_header_num => 0); -- 4262811
44237 --
44238 -- set accounting line options
44239 --
44240 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
44241 p_natural_side_code => 'C'
44242 , p_gain_or_loss_flag => 'N'
44243 , p_gl_transfer_mode_code => 'S'
44244 , p_acct_entry_type_code => 'A'
44245 , p_switch_side_flag => 'Y'
44246 , p_merge_duplicate_code => 'A'
44247 );
44248 --
44249 l_acc_rev_natural_side_code := 'D'; -- 4262811
44250 --
44251 --
44252 -- set accounting line type info
44253 --
44254 xla_ae_lines_pkg.SetAcctLineType
44255 (p_component_type => l_component_type
44256 ,p_event_type_code => l_event_type_code
44257 ,p_line_definition_owner_code => l_line_definition_owner_code
44258 ,p_line_definition_code => l_line_definition_code
44259 ,p_accounting_line_code => l_component_code
44260 ,p_accounting_line_type_code => l_component_type_code
44261 ,p_accounting_line_appl_id => l_component_appl_id
44262 ,p_amb_context_code => l_amb_context_code
44263 ,p_entity_code => l_entity_code
44264 ,p_event_class_code => l_event_class_code);
44265 --
44266 -- set accounting class
44267 --
44268 xla_ae_lines_pkg.SetAcctClass(
44269 p_accounting_class_code => 'DEF_REC_TAX'
44270 , p_ae_header_id => l_ae_header_id
44271 );
44272
44273 --
44274 -- set rounding class
44275 --
44276 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
44277 'DEF_REC_TAX';
44278
44279 --
44280 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
44281 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
44282 --
44283 -- bulk performance
44284 --
44285 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
44286
44287 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
44288 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
44289
44290 -- 4955764
44291 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
44292 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
44293
44294 -- 4458381 Public Sector Enh
44295
44296 --
44297 -- set accounting attributes for the line type
44298 --
44299 l_entered_amt_idx := 10;
44300 l_accted_amt_idx := 12;
44301 l_bflow_applied_to_amt_idx := 2; -- 5132302
44302 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
44303 l_rec_acct_attrs.array_char_value(1) := p_source_58;
44304 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
44305 l_rec_acct_attrs.array_num_value(2) := p_source_102;
44306 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
44307 l_rec_acct_attrs.array_num_value(3) := p_source_96;
44308 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
44309 l_rec_acct_attrs.array_char_value(4) := p_source_103;
44310 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
44311 l_rec_acct_attrs.array_char_value(5) := p_source_104;
44312 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
44313 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_99);
44314 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
44315 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_100);
44316 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
44317 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_107);
44321 l_rec_acct_attrs.array_num_value(10) := p_source_102;
44318 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
44319 l_rec_acct_attrs.array_char_value(9) := p_source_60;
44320 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
44322 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
44323 l_rec_acct_attrs.array_char_value(11) := p_source_8;
44324 l_rec_acct_attrs.array_acct_attr_code(12) := 'LEDGER_AMOUNT';
44325 l_rec_acct_attrs.array_num_value(12) := p_source_119;
44326 l_rec_acct_attrs.array_acct_attr_code(13) := 'OVERRIDE_ACCTD_AMT_FLAG';
44327 l_rec_acct_attrs.array_char_value(13) := p_source_85;
44328 l_rec_acct_attrs.array_acct_attr_code(14) := 'PARTY_TYPE';
44329 l_rec_acct_attrs.array_char_value(14) := p_source_88;
44330 l_rec_acct_attrs.array_acct_attr_code(15) := 'REVERSED_DISTRIBUTION_ID1';
44331 l_rec_acct_attrs.array_num_value(15) := to_char(p_source_115);
44332 l_rec_acct_attrs.array_acct_attr_code(16) := 'REVERSED_DISTRIBUTION_TYPE';
44333 l_rec_acct_attrs.array_char_value(16) := p_source_60;
44334 l_rec_acct_attrs.array_acct_attr_code(17) := 'TAX_LINE_REF_ID';
44335 l_rec_acct_attrs.array_num_value(17) := p_source_91;
44336 l_rec_acct_attrs.array_acct_attr_code(18) := 'TAX_REC_NREC_DIST_REF_ID';
44337 l_rec_acct_attrs.array_num_value(18) := p_source_91;
44338 l_rec_acct_attrs.array_acct_attr_code(19) := 'TAX_SUMMARY_LINE_REF_ID';
44339 l_rec_acct_attrs.array_num_value(19) := p_source_93;
44340
44341 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
44342 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
44343
44344 ---------------------------------------------------------------------------------------------------------------
44345 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
44346 ---------------------------------------------------------------------------------------------------------------
44347 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
44348
44349 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
44350 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
44351
44352 IF xla_accounting_cache_pkg.GetValueChar
44353 (p_source_code => 'LEDGER_CATEGORY_CODE'
44354 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
44355 AND l_bflow_method_code = 'PRIOR_ENTRY'
44356 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
44357 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
44358 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
44359 )
44360 THEN
44361 xla_ae_lines_pkg.BflowUpgEntry
44362 (p_business_method_code => l_bflow_method_code
44363 ,p_business_class_code => l_bflow_class_code
44364 ,p_balance_type => l_balance_type_code);
44365 ELSE
44366 NULL;
44367 XLA_AE_LINES_PKG.business_flow_validation(
44368 p_business_method_code => l_bflow_method_code
44369 ,p_business_class_code => l_bflow_class_code
44370 ,p_inherit_description_flag => l_inherit_desc_flag);
44371 END IF;
44372
44373 --
44374 -- call analytical criteria
44375 --
44376 -- Inherited Analytical Criteria for business flow method of Prior Entry.
44377 --
44378 -- call description
44379 --
44380 -- No description or it is inherited.
44381 --
44382 -- call ADRs
44383 -- Bug 4922099
44384 --
44385 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
44386 (NVL(l_actual_upg_option, 'N') = 'O') OR
44387 (NVL(l_enc_upg_option, 'N') = 'O')
44388 )
44389 THEN
44390 NULL;
44391 --
44392 --
44393
44394 --
44395 --
44396 END IF;
44397 --
44398 -- Bug 4922099
44399 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
44400 (NVL(l_enc_upg_option, 'N') = 'O')
44401 ) AND
44402 (l_bflow_method_code = 'PRIOR_ENTRY')
44403 )
44404 THEN
44405 IF
44406 --
44407 1 = 1
44408 --
44409 THEN
44410 xla_accounting_err_pkg.build_message
44411 (p_appli_s_name => 'XLA'
44412 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
44413 ,p_token_1 => 'LINE_NUMBER'
44414 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
44415 ,p_token_2 => 'LINE_TYPE_NAME'
44416 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
44417 l_component_type
44418 ,l_component_code
44419 ,l_component_type_code
44420 ,l_component_appl_id
44421 ,l_amb_context_code
44425 ,p_token_3 => 'OWNER'
44422 ,l_entity_code
44423 ,l_event_class_code
44424 )
44426 ,p_value_3 => xla_lookups_pkg.get_meaning(
44427 p_lookup_type => 'XLA_OWNER_TYPE'
44428 ,p_lookup_code => l_component_type_code
44429 )
44430 ,p_token_4 => 'PRODUCT_NAME'
44431 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
44432 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
44433 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
44434 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
44435 ,p_ae_header_id => NULL
44436 );
44437
44438 IF (C_LEVEL_ERROR>= g_log_level) THEN
44439 trace
44440 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
44441 ,p_level => C_LEVEL_ERROR
44442 ,p_module => l_log_module);
44443 END IF;
44444 END IF;
44445 END IF;
44446 --
44447 --
44448 ------------------------------------------------------------------------------------------------
44449 -- 4219869 Business Flow
44450 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
44451 -- Prior Entry. Currently, the following code is always generated.
44452 ------------------------------------------------------------------------------------------------
44453 -- No ValidateCurrentLine for business flow method of Prior Entry
44454
44455 ------------------------------------------------------------------------------------
44456 -- 4219869 Business Flow
44457 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
44458 ------------------------------------------------------------------------------------
44459 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
44460
44461 ----------------------------------------------------------------------------------
44462 -- 4219869 Business Flow
44463 -- Update journal entry status -- Need to generate this within IF <condition>
44464 ----------------------------------------------------------------------------------
44465 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
44466 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
44467 ,p_balance_type_code => l_balance_type_code
44468 );
44469
44470 -------------------------------------------------------------------------------------------
44471 -- 4262811 - Generate the Accrual Reversal lines
44472 -------------------------------------------------------------------------------------------
44473 BEGIN
44474 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
44475 (g_array_event(p_event_id).array_value_num('header_index'));
44476 IF l_acc_rev_flag IS NULL THEN
44477 l_acc_rev_flag := 'N';
44478 END IF;
44479 EXCEPTION
44480 WHEN OTHERS THEN
44481 l_acc_rev_flag := 'N';
44482 END;
44483 --
44484 IF (l_acc_rev_flag = 'Y') THEN
44485
44486 -- 4645092 ------------------------------------------------------------------------------
44487 -- To allow MPA report to determine if it should generate report process
44488 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
44489 ------------------------------------------------------------------------------------------
44490
44491 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
44492 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
44493 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
44494 -- call ADRs
44495 -- Bug 4922099
44496 --
44497 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
44498 (NVL(l_actual_upg_option, 'N') = 'O') OR
44499 (NVL(l_enc_upg_option, 'N') = 'O')
44500 )
44501 THEN
44502 NULL;
44503 --
44504 --
44505
44506 --
44507 --
44508 END IF;
44509
44510 --
44511 -- Update the line information that should be overwritten
44512 --
44513 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
44514 p_header_num => 1);
44515 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
44516
44517 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
44518
44519 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
44520 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
44521 END IF;
44522
44523 --
44524 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
44525 --
44529 ---------------------------------------------------------------------------------------------------
44526 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
44527 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
44528 ELSE
44530 -- 4262811a Switch Sign
44531 ---------------------------------------------------------------------------------------------------
44532 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
44533 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
44534 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
44535 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
44536 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
44537 -- 5132302
44538 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
44539 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
44540
44541 END IF;
44542
44543 -- 4955764
44544 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
44545 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
44546
44547
44548 XLA_AE_LINES_PKG.ValidateCurrentLine;
44549 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
44550
44551 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
44552 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
44553 ,p_balance_type_code => l_balance_type_code);
44554
44555 END IF;
44556
44557 -----------------------------------------------------------------------------------------
44558 -- 4262811 Multiperiod Accounting
44559 -----------------------------------------------------------------------------------------
44560 -- No MPA option is assigned.
44561
44562
44563 END IF;
44564 END IF;
44565 --
44566
44567 --
44568 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
44569 trace
44570 (p_msg => 'END of AcctLineType_105'
44571 ,p_level => C_LEVEL_PROCEDURE
44572 ,p_module => l_log_module);
44573 END IF;
44574 --
44575 EXCEPTION
44576 WHEN xla_exceptions_pkg.application_exception THEN
44577 RAISE;
44578 WHEN OTHERS THEN
44579 xla_exceptions_pkg.raise_message
44580 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_105');
44581 END AcctLineType_105;
44582 --
44583
44584 ---------------------------------------
44585 --
44586 -- PRIVATE FUNCTION
44587 -- AcctLineType_106
44588 --
44589 ---------------------------------------
44590 PROCEDURE AcctLineType_106 (
44591 p_application_id IN NUMBER
44592 ,p_event_id IN NUMBER
44593 ,p_calculate_acctd_flag IN VARCHAR2
44594 ,p_calculate_g_l_flag IN VARCHAR2
44595 ,p_actual_flag IN OUT VARCHAR2
44596 ,p_balance_type_code OUT VARCHAR2
44597 ,p_gain_or_loss_ref OUT VARCHAR2
44598
44599 --Payment Currency Code
44600 , p_source_8 IN VARCHAR2
44601 --Invoice Distribution Type
44602 , p_source_28 IN VARCHAR2
44603 , p_source_28_meaning IN VARCHAR2
44604 --When to Account for Payment Option
44605 , p_source_57 IN VARCHAR2
44606 --Accounting Reversal Indicator
44607 , p_source_58 IN VARCHAR2
44608 --Distribution Link Type
44609 , p_source_60 IN VARCHAR2
44610 --Override Accounted Amount Indicator
44611 , p_source_85 IN VARCHAR2
44612 , p_source_85_meaning IN VARCHAR2
44613 --Third Party Type
44614 , p_source_88 IN VARCHAR2
44615 --Business Flow Accounts Payable Application Identifier
44616 , p_source_96 IN NUMBER
44617 --Business Flow Invoice Distribution Type
44618 , p_source_97 IN VARCHAR2
44619 --Business Flow Invoice Entity Code
44620 , p_source_98 IN VARCHAR2
44621 --Business Flow Invoice Distribution Identifier
44622 , p_source_99 IN NUMBER
44623 --Business Flow Invoice Identifier
44624 , p_source_100 IN NUMBER
44625 --Payment Distribution Type
44626 , p_source_101 IN VARCHAR2
44627 , p_source_101_meaning IN VARCHAR2
44628 --Payment Distribution Amount
44629 , p_source_102 IN NUMBER
44630 --Payment Distribution Identifier
44631 , p_source_107 IN NUMBER
44632 --Payment Distribution Reversed Identifier
44633 , p_source_115 IN NUMBER
44634 --Payment Maturity Date
44635 , p_source_117 IN DATE
44636 --Payment Distribution (Matured Rate) Ledger Amount
44637 , p_source_124 IN NUMBER
44638 --Deferred Recoverable Tax Option
44639 , p_source_140 IN VARCHAR2
44640 , p_source_140_meaning IN VARCHAR2
44641 )
44642 IS
44643
44644 l_component_type VARCHAR2(80);
44645 l_component_code VARCHAR2(30);
44646 l_component_type_code VARCHAR2(1);
44647 l_component_appl_id INTEGER;
44648 l_amb_context_code VARCHAR2(30);
44649 l_entity_code VARCHAR2(30);
44653 l_line_definition_code VARCHAR2(30);
44650 l_event_class_code VARCHAR2(30);
44651 l_ae_header_id NUMBER;
44652 l_event_type_code VARCHAR2(30);
44654 l_line_definition_owner_code VARCHAR2(1);
44655 --
44656 -- adr variables
44657 l_segment VARCHAR2(30);
44658 l_ccid NUMBER;
44659 l_adr_transaction_coa_id NUMBER;
44660 l_adr_accounting_coa_id NUMBER;
44661 l_adr_flexfield_segment_code VARCHAR2(30);
44662 l_adr_flex_value_set_id NUMBER;
44663 l_adr_value_type_code VARCHAR2(30);
44664 l_adr_value_combination_id NUMBER;
44665 l_adr_value_segment_code VARCHAR2(30);
44666
44667 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
44668 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
44669 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
44670 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
44671
44672 -- 4262811 Variables ------------------------------------------------------------------------------------------
44673 l_entered_amt_idx NUMBER;
44674 l_accted_amt_idx NUMBER;
44675 l_acc_rev_flag VARCHAR2(1);
44676 l_accrual_line_num NUMBER;
44677 l_tmp_amt NUMBER;
44678 l_acc_rev_natural_side_code VARCHAR2(1);
44679
44680 l_num_entries NUMBER;
44681 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
44682 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
44683 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
44684 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
44685 l_recog_line_1 NUMBER;
44686 l_recog_line_2 NUMBER;
44687
44688 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
44689 l_bflow_applied_to_amt NUMBER; -- 5132302
44690 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
44691
44692 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
44693
44694 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
44695 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
44696
44697 ---------------------------------------------------------------------------------------------------------------
44698
44699
44700 --
44701 -- bulk performance
44702 --
44703 l_balance_type_code VARCHAR2(1);
44704 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
44705 l_log_module VARCHAR2(240);
44706
44707 --
44708 -- Upgrade strategy
44709 --
44710 l_actual_upg_option VARCHAR2(1);
44711 l_enc_upg_option VARCHAR2(1);
44712
44713 --
44714 BEGIN
44715 --
44716 IF g_log_enabled THEN
44717 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_106';
44718 END IF;
44719 --
44720 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
44721
44722 trace
44723 (p_msg => 'BEGIN of AcctLineType_106'
44724 ,p_level => C_LEVEL_PROCEDURE
44725 ,p_module => l_log_module);
44726
44727 END IF;
44728 --
44729 l_component_type := 'AMB_JLT';
44730 l_component_code := 'AP_DEF_RTAX_INTERIM_MAT';
44731 l_component_type_code := 'S';
44732 l_component_appl_id := 200;
44733 l_amb_context_code := 'DEFAULT';
44734 l_entity_code := 'AP_PAYMENTS';
44735 l_event_class_code := 'FUTURE DATED PAYMENTS';
44736 l_event_type_code := 'FUTURE DATED PAYMENTS_ALL';
44737 l_line_definition_owner_code := 'S';
44738 l_line_definition_code := 'ACCRUAL_FUTURE DATED PAYMENTS1';
44739 --
44740 l_balance_type_code := 'A';
44741 l_segment := NULL;
44742 l_ccid := NULL;
44743 l_adr_transaction_coa_id := NULL;
44744 l_adr_accounting_coa_id := NULL;
44745 l_adr_flexfield_segment_code := NULL;
44746 l_adr_flex_value_set_id := NULL;
44747 l_adr_value_type_code := NULL;
44748 l_adr_value_combination_id := NULL;
44749 l_adr_value_segment_code := NULL;
44750
44751 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
44752 l_bflow_class_code := 'AP_DEF_REC_TAX'; -- 4219869 Business Flow
44753 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
44754 l_budgetary_control_flag := 'N';
44755
44756 l_bflow_applied_to_amt_idx := NULL; -- 5132302
44757 l_bflow_applied_to_amt := NULL; -- 5132302
44758 l_entered_amt_idx := NULL; -- 4262811
44759 l_accted_amt_idx := NULL; -- 4262811
44760 l_acc_rev_flag := NULL; -- 4262811
44761 l_accrual_line_num := NULL; -- 4262811
44762 l_tmp_amt := NULL; -- 4262811
44763 --
44764
44765 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
44766 l_balance_type_code <> 'B' THEN
44767 IF NVL(p_source_57,'
44768 ') <> 'CLEAR_CLEAR' AND
44769 NVL(p_source_28,'
44770 ') = 'REC_TAX' AND
44771 p_source_117 IS NOT NULL AND
44772 NVL(p_source_140,'
44773 ') = 'DEFERRED' AND
44774 (NVL(p_source_101,'
44775 ') = 'DISCOUNT' OR
44776 NVL(p_source_101,'
44780 --
44777 ') = 'CASH')
44778 THEN
44779
44781 XLA_AE_LINES_PKG.SetNewLine;
44782
44783 p_balance_type_code := l_balance_type_code;
44784 -- set the flag so later we will know whether the gain loss line needs to be created
44785
44786 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
44787 p_actual_flag :='A';
44788 END IF;
44789
44790 --
44791 -- bulk performance
44792 --
44793 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
44794 p_header_num => 0); -- 4262811
44795 --
44796 -- set accounting line options
44797 --
44798 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
44799 p_natural_side_code => 'C'
44800 , p_gain_or_loss_flag => 'N'
44801 , p_gl_transfer_mode_code => 'S'
44802 , p_acct_entry_type_code => 'A'
44803 , p_switch_side_flag => 'Y'
44804 , p_merge_duplicate_code => 'A'
44805 );
44806 --
44807 l_acc_rev_natural_side_code := 'D'; -- 4262811
44808 --
44809 --
44810 -- set accounting line type info
44811 --
44812 xla_ae_lines_pkg.SetAcctLineType
44813 (p_component_type => l_component_type
44814 ,p_event_type_code => l_event_type_code
44815 ,p_line_definition_owner_code => l_line_definition_owner_code
44816 ,p_line_definition_code => l_line_definition_code
44817 ,p_accounting_line_code => l_component_code
44818 ,p_accounting_line_type_code => l_component_type_code
44819 ,p_accounting_line_appl_id => l_component_appl_id
44820 ,p_amb_context_code => l_amb_context_code
44821 ,p_entity_code => l_entity_code
44822 ,p_event_class_code => l_event_class_code);
44823 --
44824 -- set accounting class
44825 --
44826 xla_ae_lines_pkg.SetAcctClass(
44827 p_accounting_class_code => 'DEF_REC_TAX'
44828 , p_ae_header_id => l_ae_header_id
44829 );
44830
44831 --
44832 -- set rounding class
44833 --
44834 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
44835 'DEF_REC_TAX';
44836
44837 --
44838 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
44839 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
44840 --
44841 -- bulk performance
44842 --
44843 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
44844
44845 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
44846 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
44847
44848 -- 4955764
44849 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
44850 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
44851
44852 -- 4458381 Public Sector Enh
44853
44854 --
44855 -- set accounting attributes for the line type
44856 --
44857 l_entered_amt_idx := 9;
44858 l_accted_amt_idx := 11;
44859 l_bflow_applied_to_amt_idx := NULL; -- 5132302
44860 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
44861 l_rec_acct_attrs.array_char_value(1) := p_source_58;
44862 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_APPLICATION_ID';
44863 l_rec_acct_attrs.array_num_value(2) := p_source_96;
44864 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_DISTRIBUTION_TYPE';
44865 l_rec_acct_attrs.array_char_value(3) := p_source_97;
44866 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_ENTITY_CODE';
44867 l_rec_acct_attrs.array_char_value(4) := p_source_98;
44868 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_FIRST_DIST_ID';
44869 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_99);
44870 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
44871 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_100);
44872 l_rec_acct_attrs.array_acct_attr_code(7) := 'DISTRIBUTION_IDENTIFIER_1';
44873 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_107);
44874 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_TYPE';
44875 l_rec_acct_attrs.array_char_value(8) := p_source_60;
44876 l_rec_acct_attrs.array_acct_attr_code(9) := 'ENTERED_CURRENCY_AMOUNT';
44877 l_rec_acct_attrs.array_num_value(9) := p_source_102;
44878 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_CODE';
44879 l_rec_acct_attrs.array_char_value(10) := p_source_8;
44880 l_rec_acct_attrs.array_acct_attr_code(11) := 'LEDGER_AMOUNT';
44881 l_rec_acct_attrs.array_num_value(11) := p_source_124;
44882 l_rec_acct_attrs.array_acct_attr_code(12) := 'OVERRIDE_ACCTD_AMT_FLAG';
44883 l_rec_acct_attrs.array_char_value(12) := p_source_85;
44884 l_rec_acct_attrs.array_acct_attr_code(13) := 'PARTY_TYPE';
44885 l_rec_acct_attrs.array_char_value(13) := p_source_88;
44886 l_rec_acct_attrs.array_acct_attr_code(14) := 'REVERSED_DISTRIBUTION_ID1';
44887 l_rec_acct_attrs.array_num_value(14) := to_char(p_source_115);
44888 l_rec_acct_attrs.array_acct_attr_code(15) := 'REVERSED_DISTRIBUTION_TYPE';
44889 l_rec_acct_attrs.array_char_value(15) := p_source_60;
44890
44894 ---------------------------------------------------------------------------------------------------------------
44891 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
44892 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
44893
44895 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
44896 ---------------------------------------------------------------------------------------------------------------
44897 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
44898
44899 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
44900 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
44901
44902 IF xla_accounting_cache_pkg.GetValueChar
44903 (p_source_code => 'LEDGER_CATEGORY_CODE'
44904 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
44905 AND l_bflow_method_code = 'PRIOR_ENTRY'
44906 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
44907 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
44908 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
44909 )
44910 THEN
44911 xla_ae_lines_pkg.BflowUpgEntry
44912 (p_business_method_code => l_bflow_method_code
44913 ,p_business_class_code => l_bflow_class_code
44914 ,p_balance_type => l_balance_type_code);
44915 ELSE
44916 NULL;
44917 XLA_AE_LINES_PKG.business_flow_validation(
44918 p_business_method_code => l_bflow_method_code
44919 ,p_business_class_code => l_bflow_class_code
44920 ,p_inherit_description_flag => l_inherit_desc_flag);
44921 END IF;
44922
44923 --
44924 -- call analytical criteria
44925 --
44926 -- Inherited Analytical Criteria for business flow method of Prior Entry.
44927 --
44928 -- call description
44929 --
44930 -- No description or it is inherited.
44931 --
44932 -- call ADRs
44933 -- Bug 4922099
44934 --
44935 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
44936 (NVL(l_actual_upg_option, 'N') = 'O') OR
44937 (NVL(l_enc_upg_option, 'N') = 'O')
44938 )
44939 THEN
44940 NULL;
44941 --
44942 --
44943
44944 --
44945 --
44946 END IF;
44947 --
44948 -- Bug 4922099
44949 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
44950 (NVL(l_enc_upg_option, 'N') = 'O')
44951 ) AND
44952 (l_bflow_method_code = 'PRIOR_ENTRY')
44953 )
44954 THEN
44955 IF
44956 --
44957 1 = 1
44958 --
44959 THEN
44960 xla_accounting_err_pkg.build_message
44961 (p_appli_s_name => 'XLA'
44962 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
44963 ,p_token_1 => 'LINE_NUMBER'
44964 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
44965 ,p_token_2 => 'LINE_TYPE_NAME'
44966 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
44967 l_component_type
44968 ,l_component_code
44969 ,l_component_type_code
44970 ,l_component_appl_id
44971 ,l_amb_context_code
44972 ,l_entity_code
44973 ,l_event_class_code
44974 )
44975 ,p_token_3 => 'OWNER'
44976 ,p_value_3 => xla_lookups_pkg.get_meaning(
44977 p_lookup_type => 'XLA_OWNER_TYPE'
44978 ,p_lookup_code => l_component_type_code
44979 )
44980 ,p_token_4 => 'PRODUCT_NAME'
44981 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
44982 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
44983 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
44984 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
44985 ,p_ae_header_id => NULL
44986 );
44987
44988 IF (C_LEVEL_ERROR>= g_log_level) THEN
44989 trace
44990 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
44991 ,p_level => C_LEVEL_ERROR
44995 END IF;
44992 ,p_module => l_log_module);
44993 END IF;
44994 END IF;
44996 --
44997 --
44998 ------------------------------------------------------------------------------------------------
44999 -- 4219869 Business Flow
45000 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
45001 -- Prior Entry. Currently, the following code is always generated.
45002 ------------------------------------------------------------------------------------------------
45003 -- No ValidateCurrentLine for business flow method of Prior Entry
45004
45005 ------------------------------------------------------------------------------------
45006 -- 4219869 Business Flow
45007 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
45008 ------------------------------------------------------------------------------------
45009 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
45010
45011 ----------------------------------------------------------------------------------
45012 -- 4219869 Business Flow
45013 -- Update journal entry status -- Need to generate this within IF <condition>
45014 ----------------------------------------------------------------------------------
45015 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
45016 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
45017 ,p_balance_type_code => l_balance_type_code
45018 );
45019
45020 -------------------------------------------------------------------------------------------
45021 -- 4262811 - Generate the Accrual Reversal lines
45022 -------------------------------------------------------------------------------------------
45023 BEGIN
45024 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
45025 (g_array_event(p_event_id).array_value_num('header_index'));
45026 IF l_acc_rev_flag IS NULL THEN
45027 l_acc_rev_flag := 'N';
45028 END IF;
45029 EXCEPTION
45030 WHEN OTHERS THEN
45031 l_acc_rev_flag := 'N';
45032 END;
45033 --
45034 IF (l_acc_rev_flag = 'Y') THEN
45035
45036 -- 4645092 ------------------------------------------------------------------------------
45037 -- To allow MPA report to determine if it should generate report process
45038 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
45039 ------------------------------------------------------------------------------------------
45040
45041 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
45042 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
45043 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
45044 -- call ADRs
45045 -- Bug 4922099
45046 --
45047 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
45048 (NVL(l_actual_upg_option, 'N') = 'O') OR
45049 (NVL(l_enc_upg_option, 'N') = 'O')
45050 )
45051 THEN
45052 NULL;
45053 --
45054 --
45055
45056 --
45057 --
45058 END IF;
45059
45060 --
45061 -- Update the line information that should be overwritten
45062 --
45063 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
45064 p_header_num => 1);
45065 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
45066
45067 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
45068
45069 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
45070 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
45071 END IF;
45072
45073 --
45074 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
45075 --
45076 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
45077 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
45078 ELSE
45079 ---------------------------------------------------------------------------------------------------
45080 -- 4262811a Switch Sign
45081 ---------------------------------------------------------------------------------------------------
45082 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
45083 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
45084 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
45085 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
45086 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
45087 -- 5132302
45088 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
45089 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
45090
45091 END IF;
45092
45093 -- 4955764
45094 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
45095 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
45096
45097
45098 XLA_AE_LINES_PKG.ValidateCurrentLine;
45102 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
45099 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
45100
45101 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
45103 ,p_balance_type_code => l_balance_type_code);
45104
45105 END IF;
45106
45107 -----------------------------------------------------------------------------------------
45108 -- 4262811 Multiperiod Accounting
45109 -----------------------------------------------------------------------------------------
45110 -- No MPA option is assigned.
45111
45112
45113 END IF;
45114 END IF;
45115 --
45116
45117 --
45118 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
45119 trace
45120 (p_msg => 'END of AcctLineType_106'
45121 ,p_level => C_LEVEL_PROCEDURE
45122 ,p_module => l_log_module);
45123 END IF;
45124 --
45125 EXCEPTION
45126 WHEN xla_exceptions_pkg.application_exception THEN
45127 RAISE;
45128 WHEN OTHERS THEN
45129 xla_exceptions_pkg.raise_message
45130 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_106');
45131 END AcctLineType_106;
45132 --
45133
45134 ---------------------------------------
45135 --
45136 -- PRIVATE FUNCTION
45137 -- AcctLineType_107
45138 --
45139 ---------------------------------------
45140 PROCEDURE AcctLineType_107 (
45141 p_application_id IN NUMBER
45142 ,p_event_id IN NUMBER
45143 ,p_calculate_acctd_flag IN VARCHAR2
45144 ,p_calculate_g_l_flag IN VARCHAR2
45145 ,p_actual_flag IN OUT VARCHAR2
45146 ,p_balance_type_code OUT VARCHAR2
45147 ,p_gain_or_loss_ref OUT VARCHAR2
45148
45149 --Payment Currency Code
45150 , p_source_8 IN VARCHAR2
45151 --Invoice Distribution Type
45152 , p_source_28 IN VARCHAR2
45153 , p_source_28_meaning IN VARCHAR2
45154 --When to Account for Payment Option
45155 , p_source_57 IN VARCHAR2
45156 --Accounting Reversal Indicator
45157 , p_source_58 IN VARCHAR2
45158 --Distribution Link Type
45159 , p_source_60 IN VARCHAR2
45160 --Override Accounted Amount Indicator
45161 , p_source_85 IN VARCHAR2
45162 , p_source_85_meaning IN VARCHAR2
45163 --Third Party Type
45164 , p_source_88 IN VARCHAR2
45165 --Invoice Distribution Tax Line Identifier
45166 , p_source_91 IN NUMBER
45167 --Invoice Distribution Tax Distribution Identifier from Tax
45168 , p_source_92 IN NUMBER
45169 --Invoice Distribution Summary Tax Line Identifier
45170 , p_source_93 IN NUMBER
45171 --Business Flow Accounts Payable Application Identifier
45172 , p_source_96 IN NUMBER
45173 --Business Flow Invoice Distribution Type
45174 , p_source_97 IN VARCHAR2
45175 --Business Flow Invoice Entity Code
45176 , p_source_98 IN VARCHAR2
45177 --Business Flow Invoice Distribution Identifier
45178 , p_source_99 IN NUMBER
45179 --Business Flow Invoice Identifier
45180 , p_source_100 IN NUMBER
45181 --Payment Distribution Type
45182 , p_source_101 IN VARCHAR2
45183 , p_source_101_meaning IN VARCHAR2
45184 --Payment Distribution Amount
45185 , p_source_102 IN NUMBER
45186 --Payment Distribution Identifier
45187 , p_source_107 IN NUMBER
45188 --Payment Distribution Reversed Identifier
45189 , p_source_115 IN NUMBER
45190 --Payment Maturity Date
45191 , p_source_117 IN DATE
45192 --Payment Distribution (Invoice Rate) Ledger Amount
45193 , p_source_119 IN NUMBER
45194 --Payment Type
45195 , p_source_125 IN VARCHAR2
45196 , p_source_125_meaning IN VARCHAR2
45197 --Payment Processing Type
45198 , p_source_126 IN VARCHAR2
45199 --Invoice Distribution Amount of the Payment Distribution
45200 , p_source_127 IN NUMBER
45201 --Deferred Recoverable Tax Option
45202 , p_source_140 IN VARCHAR2
45203 , p_source_140_meaning IN VARCHAR2
45204 --AWT Related Distribution Type Lookup code
45205 , p_source_141 IN VARCHAR2
45206 )
45207 IS
45208
45209 l_component_type VARCHAR2(80);
45210 l_component_code VARCHAR2(30);
45211 l_component_type_code VARCHAR2(1);
45212 l_component_appl_id INTEGER;
45213 l_amb_context_code VARCHAR2(30);
45214 l_entity_code VARCHAR2(30);
45215 l_event_class_code VARCHAR2(30);
45216 l_ae_header_id NUMBER;
45217 l_event_type_code VARCHAR2(30);
45218 l_line_definition_code VARCHAR2(30);
45219 l_line_definition_owner_code VARCHAR2(1);
45220 --
45221 -- adr variables
45222 l_segment VARCHAR2(30);
45223 l_ccid NUMBER;
45224 l_adr_transaction_coa_id NUMBER;
45225 l_adr_accounting_coa_id NUMBER;
45226 l_adr_flexfield_segment_code VARCHAR2(30);
45227 l_adr_flex_value_set_id NUMBER;
45228 l_adr_value_type_code VARCHAR2(30);
45229 l_adr_value_combination_id NUMBER;
45230 l_adr_value_segment_code VARCHAR2(30);
45231
45232 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
45233 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
45234 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
45238 l_entered_amt_idx NUMBER;
45235 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
45236
45237 -- 4262811 Variables ------------------------------------------------------------------------------------------
45239 l_accted_amt_idx NUMBER;
45240 l_acc_rev_flag VARCHAR2(1);
45241 l_accrual_line_num NUMBER;
45242 l_tmp_amt NUMBER;
45243 l_acc_rev_natural_side_code VARCHAR2(1);
45244
45245 l_num_entries NUMBER;
45246 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
45247 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
45248 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
45249 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
45250 l_recog_line_1 NUMBER;
45251 l_recog_line_2 NUMBER;
45252
45253 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
45254 l_bflow_applied_to_amt NUMBER; -- 5132302
45255 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
45256
45257 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
45258
45259 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
45260 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
45261
45262 ---------------------------------------------------------------------------------------------------------------
45263
45264
45265 --
45266 -- bulk performance
45267 --
45268 l_balance_type_code VARCHAR2(1);
45269 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
45270 l_log_module VARCHAR2(240);
45271
45272 --
45273 -- Upgrade strategy
45274 --
45275 l_actual_upg_option VARCHAR2(1);
45276 l_enc_upg_option VARCHAR2(1);
45277
45278 --
45279 BEGIN
45280 --
45281 IF g_log_enabled THEN
45282 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_107';
45283 END IF;
45284 --
45285 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
45286
45287 trace
45288 (p_msg => 'BEGIN of AcctLineType_107'
45289 ,p_level => C_LEVEL_PROCEDURE
45290 ,p_module => l_log_module);
45291
45292 END IF;
45293 --
45294 l_component_type := 'AMB_JLT';
45295 l_component_code := 'AP_DEF_RTAX_INTERIM_PMT';
45296 l_component_type_code := 'S';
45297 l_component_appl_id := 200;
45298 l_amb_context_code := 'DEFAULT';
45299 l_entity_code := 'AP_PAYMENTS';
45300 l_event_class_code := 'PAYMENTS';
45301 l_event_type_code := 'PAYMENTS_ALL';
45302 l_line_definition_owner_code := 'S';
45303 l_line_definition_code := 'ACCRUAL_PAYMENTS_ALL';
45304 --
45305 l_balance_type_code := 'A';
45306 l_segment := NULL;
45307 l_ccid := NULL;
45308 l_adr_transaction_coa_id := NULL;
45309 l_adr_accounting_coa_id := NULL;
45310 l_adr_flexfield_segment_code := NULL;
45311 l_adr_flex_value_set_id := NULL;
45312 l_adr_value_type_code := NULL;
45313 l_adr_value_combination_id := NULL;
45314 l_adr_value_segment_code := NULL;
45315
45316 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
45317 l_bflow_class_code := 'AP_DEF_REC_TAX'; -- 4219869 Business Flow
45318 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
45319 l_budgetary_control_flag := 'N';
45320
45321 l_bflow_applied_to_amt_idx := NULL; -- 5132302
45322 l_bflow_applied_to_amt := NULL; -- 5132302
45323 l_entered_amt_idx := NULL; -- 4262811
45324 l_accted_amt_idx := NULL; -- 4262811
45325 l_acc_rev_flag := NULL; -- 4262811
45326 l_accrual_line_num := NULL; -- 4262811
45327 l_tmp_amt := NULL; -- 4262811
45328 --
45329
45330 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
45331 l_balance_type_code <> 'B' THEN
45332 IF NVL(p_source_57,'
45333 ') <> 'CLEAR_CLEAR' AND
45334 ((NVL(p_source_28,'
45335 ') = 'REC_TAX' AND
45336 NVL(p_source_140,'
45337 ') = 'DEFERRED') OR
45338 (NVL(p_source_28,'
45339 ') = 'AWT' AND
45340 NVL(p_source_141,'
45341 ') = 'AWT_DEFERRED')
45342 ) AND (NVL(p_source_101,'
45343 ') = 'CASH' OR
45344 NVL(p_source_101,'
45345 ') = 'AWT' OR
45346 NVL(p_source_101,'
45347 ') = 'DISCOUNT') AND
45348 p_source_117 IS NULL AND
45349 NVL(p_source_125,'
45350 ') <> 'R' AND
45351 NVL(p_source_126,'
45352 ') <> 'PAYMENTCARD'
45353 THEN
45354
45355 --
45356 XLA_AE_LINES_PKG.SetNewLine;
45357
45358 p_balance_type_code := l_balance_type_code;
45359 -- set the flag so later we will know whether the gain loss line needs to be created
45360
45361 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
45362 p_actual_flag :='A';
45363 END IF;
45364
45365 --
45366 -- bulk performance
45367 --
45368 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
45369 p_header_num => 0); -- 4262811
45373 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
45370 --
45371 -- set accounting line options
45372 --
45374 p_natural_side_code => 'C'
45375 , p_gain_or_loss_flag => 'N'
45376 , p_gl_transfer_mode_code => 'S'
45377 , p_acct_entry_type_code => 'A'
45378 , p_switch_side_flag => 'Y'
45379 , p_merge_duplicate_code => 'A'
45380 );
45381 --
45382 l_acc_rev_natural_side_code := 'D'; -- 4262811
45383 --
45384 --
45385 -- set accounting line type info
45386 --
45387 xla_ae_lines_pkg.SetAcctLineType
45388 (p_component_type => l_component_type
45389 ,p_event_type_code => l_event_type_code
45390 ,p_line_definition_owner_code => l_line_definition_owner_code
45391 ,p_line_definition_code => l_line_definition_code
45392 ,p_accounting_line_code => l_component_code
45393 ,p_accounting_line_type_code => l_component_type_code
45394 ,p_accounting_line_appl_id => l_component_appl_id
45395 ,p_amb_context_code => l_amb_context_code
45396 ,p_entity_code => l_entity_code
45397 ,p_event_class_code => l_event_class_code);
45398 --
45399 -- set accounting class
45400 --
45401 xla_ae_lines_pkg.SetAcctClass(
45402 p_accounting_class_code => 'DEF_REC_TAX'
45403 , p_ae_header_id => l_ae_header_id
45404 );
45405
45406 --
45407 -- set rounding class
45408 --
45409 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
45410 'DEF_REC_TAX';
45411
45412 --
45413 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
45414 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
45415 --
45416 -- bulk performance
45417 --
45418 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
45419
45420 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
45421 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
45422
45423 -- 4955764
45424 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
45425 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
45426
45427 -- 4458381 Public Sector Enh
45428
45429 --
45430 -- set accounting attributes for the line type
45431 --
45432 l_entered_amt_idx := 10;
45433 l_accted_amt_idx := 12;
45434 l_bflow_applied_to_amt_idx := 2; -- 5132302
45435 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
45436 l_rec_acct_attrs.array_char_value(1) := p_source_58;
45437 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
45438 l_rec_acct_attrs.array_num_value(2) := p_source_127;
45439 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
45440 l_rec_acct_attrs.array_num_value(3) := p_source_96;
45441 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
45442 l_rec_acct_attrs.array_char_value(4) := p_source_97;
45443 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
45444 l_rec_acct_attrs.array_char_value(5) := p_source_98;
45445 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
45446 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_99);
45447 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
45448 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_100);
45449 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
45450 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_107);
45451 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
45452 l_rec_acct_attrs.array_char_value(9) := p_source_60;
45453 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
45454 l_rec_acct_attrs.array_num_value(10) := p_source_102;
45455 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
45456 l_rec_acct_attrs.array_char_value(11) := p_source_8;
45457 l_rec_acct_attrs.array_acct_attr_code(12) := 'LEDGER_AMOUNT';
45458 l_rec_acct_attrs.array_num_value(12) := p_source_119;
45459 l_rec_acct_attrs.array_acct_attr_code(13) := 'OVERRIDE_ACCTD_AMT_FLAG';
45460 l_rec_acct_attrs.array_char_value(13) := p_source_85;
45461 l_rec_acct_attrs.array_acct_attr_code(14) := 'PARTY_TYPE';
45462 l_rec_acct_attrs.array_char_value(14) := p_source_88;
45463 l_rec_acct_attrs.array_acct_attr_code(15) := 'REVERSED_DISTRIBUTION_ID1';
45464 l_rec_acct_attrs.array_num_value(15) := to_char(p_source_115);
45465 l_rec_acct_attrs.array_acct_attr_code(16) := 'REVERSED_DISTRIBUTION_TYPE';
45466 l_rec_acct_attrs.array_char_value(16) := p_source_60;
45467 l_rec_acct_attrs.array_acct_attr_code(17) := 'TAX_LINE_REF_ID';
45468 l_rec_acct_attrs.array_num_value(17) := p_source_91;
45469 l_rec_acct_attrs.array_acct_attr_code(18) := 'TAX_REC_NREC_DIST_REF_ID';
45470 l_rec_acct_attrs.array_num_value(18) := p_source_92;
45471 l_rec_acct_attrs.array_acct_attr_code(19) := 'TAX_SUMMARY_LINE_REF_ID';
45472 l_rec_acct_attrs.array_num_value(19) := p_source_93;
45473
45474 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
45478 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
45475 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
45476
45477 ---------------------------------------------------------------------------------------------------------------
45479 ---------------------------------------------------------------------------------------------------------------
45480 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
45481
45482 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
45483 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
45484
45485 IF xla_accounting_cache_pkg.GetValueChar
45486 (p_source_code => 'LEDGER_CATEGORY_CODE'
45487 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
45488 AND l_bflow_method_code = 'PRIOR_ENTRY'
45489 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
45490 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
45491 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
45492 )
45493 THEN
45494 xla_ae_lines_pkg.BflowUpgEntry
45495 (p_business_method_code => l_bflow_method_code
45496 ,p_business_class_code => l_bflow_class_code
45497 ,p_balance_type => l_balance_type_code);
45498 ELSE
45499 NULL;
45500 XLA_AE_LINES_PKG.business_flow_validation(
45501 p_business_method_code => l_bflow_method_code
45502 ,p_business_class_code => l_bflow_class_code
45503 ,p_inherit_description_flag => l_inherit_desc_flag);
45504 END IF;
45505
45506 --
45507 -- call analytical criteria
45508 --
45509 -- Inherited Analytical Criteria for business flow method of Prior Entry.
45510 --
45511 -- call description
45512 --
45513 -- No description or it is inherited.
45514 --
45515 -- call ADRs
45516 -- Bug 4922099
45517 --
45518 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
45519 (NVL(l_actual_upg_option, 'N') = 'O') OR
45520 (NVL(l_enc_upg_option, 'N') = 'O')
45521 )
45522 THEN
45523 NULL;
45524 --
45525 --
45526
45527 --
45528 --
45529 END IF;
45530 --
45531 -- Bug 4922099
45532 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
45533 (NVL(l_enc_upg_option, 'N') = 'O')
45534 ) AND
45535 (l_bflow_method_code = 'PRIOR_ENTRY')
45536 )
45537 THEN
45538 IF
45539 --
45540 1 = 1
45541 --
45542 THEN
45543 xla_accounting_err_pkg.build_message
45544 (p_appli_s_name => 'XLA'
45545 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
45546 ,p_token_1 => 'LINE_NUMBER'
45547 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
45548 ,p_token_2 => 'LINE_TYPE_NAME'
45549 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
45550 l_component_type
45551 ,l_component_code
45552 ,l_component_type_code
45553 ,l_component_appl_id
45554 ,l_amb_context_code
45555 ,l_entity_code
45556 ,l_event_class_code
45557 )
45558 ,p_token_3 => 'OWNER'
45559 ,p_value_3 => xla_lookups_pkg.get_meaning(
45560 p_lookup_type => 'XLA_OWNER_TYPE'
45561 ,p_lookup_code => l_component_type_code
45562 )
45563 ,p_token_4 => 'PRODUCT_NAME'
45564 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
45565 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
45566 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
45567 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
45568 ,p_ae_header_id => NULL
45569 );
45570
45571 IF (C_LEVEL_ERROR>= g_log_level) THEN
45572 trace
45573 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
45574 ,p_level => C_LEVEL_ERROR
45578 END IF;
45575 ,p_module => l_log_module);
45576 END IF;
45577 END IF;
45579 --
45580 --
45581 ------------------------------------------------------------------------------------------------
45582 -- 4219869 Business Flow
45583 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
45584 -- Prior Entry. Currently, the following code is always generated.
45585 ------------------------------------------------------------------------------------------------
45586 -- No ValidateCurrentLine for business flow method of Prior Entry
45587
45588 ------------------------------------------------------------------------------------
45589 -- 4219869 Business Flow
45590 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
45591 ------------------------------------------------------------------------------------
45592 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
45593
45594 ----------------------------------------------------------------------------------
45595 -- 4219869 Business Flow
45596 -- Update journal entry status -- Need to generate this within IF <condition>
45597 ----------------------------------------------------------------------------------
45598 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
45599 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
45600 ,p_balance_type_code => l_balance_type_code
45601 );
45602
45603 -------------------------------------------------------------------------------------------
45604 -- 4262811 - Generate the Accrual Reversal lines
45605 -------------------------------------------------------------------------------------------
45606 BEGIN
45607 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
45608 (g_array_event(p_event_id).array_value_num('header_index'));
45609 IF l_acc_rev_flag IS NULL THEN
45610 l_acc_rev_flag := 'N';
45611 END IF;
45612 EXCEPTION
45613 WHEN OTHERS THEN
45614 l_acc_rev_flag := 'N';
45615 END;
45616 --
45617 IF (l_acc_rev_flag = 'Y') THEN
45618
45619 -- 4645092 ------------------------------------------------------------------------------
45620 -- To allow MPA report to determine if it should generate report process
45621 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
45622 ------------------------------------------------------------------------------------------
45623
45624 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
45625 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
45626 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
45627 -- call ADRs
45628 -- Bug 4922099
45629 --
45630 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
45631 (NVL(l_actual_upg_option, 'N') = 'O') OR
45632 (NVL(l_enc_upg_option, 'N') = 'O')
45633 )
45634 THEN
45635 NULL;
45636 --
45637 --
45638
45639 --
45640 --
45641 END IF;
45642
45643 --
45644 -- Update the line information that should be overwritten
45645 --
45646 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
45647 p_header_num => 1);
45648 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
45649
45650 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
45651
45652 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
45653 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
45654 END IF;
45655
45656 --
45657 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
45658 --
45659 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
45660 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
45661 ELSE
45662 ---------------------------------------------------------------------------------------------------
45663 -- 4262811a Switch Sign
45664 ---------------------------------------------------------------------------------------------------
45665 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
45666 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
45667 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
45668 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
45669 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
45670 -- 5132302
45671 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
45672 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
45673
45674 END IF;
45675
45676 -- 4955764
45677 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
45678 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
45679
45680
45681 XLA_AE_LINES_PKG.ValidateCurrentLine;
45685 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
45682 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
45683
45684 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
45686 ,p_balance_type_code => l_balance_type_code);
45687
45688 END IF;
45689
45690 -----------------------------------------------------------------------------------------
45691 -- 4262811 Multiperiod Accounting
45692 -----------------------------------------------------------------------------------------
45693 -- No MPA option is assigned.
45694
45695
45696 END IF;
45697 END IF;
45698 --
45699
45700 --
45701 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
45702 trace
45703 (p_msg => 'END of AcctLineType_107'
45704 ,p_level => C_LEVEL_PROCEDURE
45705 ,p_module => l_log_module);
45706 END IF;
45707 --
45708 EXCEPTION
45709 WHEN xla_exceptions_pkg.application_exception THEN
45710 RAISE;
45711 WHEN OTHERS THEN
45712 xla_exceptions_pkg.raise_message
45713 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_107');
45714 END AcctLineType_107;
45715 --
45716
45717 ---------------------------------------
45718 --
45719 -- PRIVATE FUNCTION
45720 -- AcctLineType_108
45721 --
45722 ---------------------------------------
45723 PROCEDURE AcctLineType_108 (
45724 p_application_id IN NUMBER
45725 ,p_event_id IN NUMBER
45726 ,p_calculate_acctd_flag IN VARCHAR2
45727 ,p_calculate_g_l_flag IN VARCHAR2
45728 ,p_actual_flag IN OUT VARCHAR2
45729 ,p_balance_type_code OUT VARCHAR2
45730 ,p_gain_or_loss_ref OUT VARCHAR2
45731
45732 --Accounting Reversal Indicator
45733 , p_source_58 IN VARCHAR2
45734 --Distribution Link Type
45735 , p_source_60 IN VARCHAR2
45736 --Invoice Identifier
45737 , p_source_63 IN NUMBER
45738 --Payables Encumbrance Upgrade Credit Account
45739 , p_source_70 IN NUMBER
45740 --Payables Encumbrance Upgrade Credit Amount
45741 , p_source_71 IN NUMBER
45742 --Invoice Currency Code
45743 , p_source_72 IN VARCHAR2
45744 --Payables Encumbrance Upgrade Credit Base Amount
45745 , p_source_73 IN NUMBER
45746 --Payables Encumbrance Upgrade Debit Account
45747 , p_source_74 IN NUMBER
45748 --Payables Encumbrance Upgrade Debit Amount
45749 , p_source_75 IN NUMBER
45750 --Payables Encumbrance Upgrade Debit Base Amount
45751 , p_source_76 IN NUMBER
45752 --Payables Encumbrance Upgrade Option
45753 , p_source_77 IN VARCHAR2
45754 --Deferred Accounting End Date
45755 , p_source_82 IN DATE
45756 --Deferred Accounting Option
45757 , p_source_83 IN VARCHAR2
45758 --Deferred Accounting Start Date
45759 , p_source_84 IN DATE
45760 --Override Accounted Amount Indicator
45761 , p_source_85 IN VARCHAR2
45762 , p_source_85_meaning IN VARCHAR2
45763 --Third Party Type
45764 , p_source_88 IN VARCHAR2
45765 --Invoice Distribution Tax Line Identifier
45766 , p_source_91 IN NUMBER
45767 --Invoice Distribution Tax Distribution Identifier from Tax
45768 , p_source_92 IN NUMBER
45769 --Invoice Distribution Summary Tax Line Identifier
45770 , p_source_93 IN NUMBER
45771 --Payables Upgrade Credit Encumbrance Type Identifier
45772 , p_source_94 IN NUMBER
45773 --Payables Upgrade Debit Encumbrance Type Identifier
45774 , p_source_95 IN NUMBER
45775 --Business Flow Accounts Payable Application Identifier
45776 , p_source_96 IN NUMBER
45777 --Business Flow Invoice Distribution Type
45778 , p_source_97 IN VARCHAR2
45779 --Business Flow Invoice Entity Code
45780 , p_source_98 IN VARCHAR2
45781 --Prepayment Application Distribution Identifier
45782 , p_source_130 IN NUMBER
45783 --Upgrade Encumbrance Credit Account Class
45784 , p_source_135 IN VARCHAR2
45785 --Upgrade Encumbrance Debit Account Class
45786 , p_source_136 IN VARCHAR2
45787 --Prepayment Distribution Amount
45788 , p_source_137 IN NUMBER
45789 --Identifier of the Prepayment Application Reversed
45790 , p_source_139 IN NUMBER
45791 --Deferred Recoverable Tax Option
45792 , p_source_140 IN VARCHAR2
45793 , p_source_140_meaning IN VARCHAR2
45794 --Business Flow Recipient Invoice Distribution Identifier
45795 , p_source_142 IN NUMBER
45796 --Business Flow Recipient Invoice Identifier
45797 , p_source_143 IN NUMBER
45798 --Prepayment Distribution (Invoice Rate) Ledger Amount
45799 , p_source_144 IN NUMBER
45800 )
45801 IS
45802
45803 l_component_type VARCHAR2(80);
45804 l_component_code VARCHAR2(30);
45805 l_component_type_code VARCHAR2(1);
45806 l_component_appl_id INTEGER;
45807 l_amb_context_code VARCHAR2(30);
45808 l_entity_code VARCHAR2(30);
45809 l_event_class_code VARCHAR2(30);
45810 l_ae_header_id NUMBER;
45811 l_event_type_code VARCHAR2(30);
45812 l_line_definition_code VARCHAR2(30);
45813 l_line_definition_owner_code VARCHAR2(1);
45814 --
45815 -- adr variables
45816 l_segment VARCHAR2(30);
45817 l_ccid NUMBER;
45818 l_adr_transaction_coa_id NUMBER;
45822 l_adr_value_type_code VARCHAR2(30);
45819 l_adr_accounting_coa_id NUMBER;
45820 l_adr_flexfield_segment_code VARCHAR2(30);
45821 l_adr_flex_value_set_id NUMBER;
45823 l_adr_value_combination_id NUMBER;
45824 l_adr_value_segment_code VARCHAR2(30);
45825
45826 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
45827 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
45828 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
45829 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
45830
45831 -- 4262811 Variables ------------------------------------------------------------------------------------------
45832 l_entered_amt_idx NUMBER;
45833 l_accted_amt_idx NUMBER;
45834 l_acc_rev_flag VARCHAR2(1);
45835 l_accrual_line_num NUMBER;
45836 l_tmp_amt NUMBER;
45837 l_acc_rev_natural_side_code VARCHAR2(1);
45838
45839 l_num_entries NUMBER;
45840 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
45841 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
45842 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
45843 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
45844 l_recog_line_1 NUMBER;
45845 l_recog_line_2 NUMBER;
45846
45847 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
45848 l_bflow_applied_to_amt NUMBER; -- 5132302
45849 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
45850
45851 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
45852
45853 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
45854 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
45855
45856 ---------------------------------------------------------------------------------------------------------------
45857
45858
45859 --
45860 -- bulk performance
45861 --
45862 l_balance_type_code VARCHAR2(1);
45863 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
45864 l_log_module VARCHAR2(240);
45865
45866 --
45867 -- Upgrade strategy
45868 --
45869 l_actual_upg_option VARCHAR2(1);
45870 l_enc_upg_option VARCHAR2(1);
45871
45872 --
45873 BEGIN
45874 --
45875 IF g_log_enabled THEN
45876 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_108';
45877 END IF;
45878 --
45879 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
45880
45881 trace
45882 (p_msg => 'BEGIN of AcctLineType_108'
45883 ,p_level => C_LEVEL_PROCEDURE
45884 ,p_module => l_log_module);
45885
45886 END IF;
45887 --
45888 l_component_type := 'AMB_JLT';
45889 l_component_code := 'AP_DEF_RTAX_INTERIM_PREPAY';
45890 l_component_type_code := 'S';
45891 l_component_appl_id := 200;
45892 l_amb_context_code := 'DEFAULT';
45893 l_entity_code := 'AP_INVOICES';
45894 l_event_class_code := 'PREPAYMENT APPLICATIONS';
45895 l_event_type_code := 'PREPAYMENT APPLICATIONS_ALL';
45896 l_line_definition_owner_code := 'S';
45897 l_line_definition_code := 'ACCRUAL_PREPAYMENT APPLICATIO2';
45898 --
45899 l_balance_type_code := 'A';
45900 l_segment := NULL;
45901 l_ccid := NULL;
45902 l_adr_transaction_coa_id := NULL;
45903 l_adr_accounting_coa_id := NULL;
45904 l_adr_flexfield_segment_code := NULL;
45905 l_adr_flex_value_set_id := NULL;
45906 l_adr_value_type_code := NULL;
45907 l_adr_value_combination_id := NULL;
45908 l_adr_value_segment_code := NULL;
45909
45910 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
45911 l_bflow_class_code := 'AP_DEF_REC_TAX'; -- 4219869 Business Flow
45912 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
45913 l_budgetary_control_flag := 'N';
45914
45915 l_bflow_applied_to_amt_idx := NULL; -- 5132302
45916 l_bflow_applied_to_amt := NULL; -- 5132302
45917 l_entered_amt_idx := NULL; -- 4262811
45918 l_accted_amt_idx := NULL; -- 4262811
45919 l_acc_rev_flag := NULL; -- 4262811
45920 l_accrual_line_num := NULL; -- 4262811
45921 l_tmp_amt := NULL; -- 4262811
45922 --
45923
45924 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
45925 l_balance_type_code <> 'B' THEN
45926 IF NVL(p_source_140,'
45927 ') = 'DEFERRED'
45928 THEN
45929
45930 --
45931 XLA_AE_LINES_PKG.SetNewLine;
45932
45933 p_balance_type_code := l_balance_type_code;
45934 -- set the flag so later we will know whether the gain loss line needs to be created
45935
45936 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
45937 p_actual_flag :='A';
45938 END IF;
45939
45940 --
45941 -- bulk performance
45942 --
45943 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
45944 p_header_num => 0); -- 4262811
45945 --
45946 -- set accounting line options
45947 --
45951 , p_gl_transfer_mode_code => 'S'
45948 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
45949 p_natural_side_code => 'D'
45950 , p_gain_or_loss_flag => 'N'
45952 , p_acct_entry_type_code => 'A'
45953 , p_switch_side_flag => 'Y'
45954 , p_merge_duplicate_code => 'A'
45955 );
45956 --
45957 l_acc_rev_natural_side_code := 'C'; -- 4262811
45958 --
45959 --
45960 -- set accounting line type info
45961 --
45962 xla_ae_lines_pkg.SetAcctLineType
45963 (p_component_type => l_component_type
45964 ,p_event_type_code => l_event_type_code
45965 ,p_line_definition_owner_code => l_line_definition_owner_code
45966 ,p_line_definition_code => l_line_definition_code
45967 ,p_accounting_line_code => l_component_code
45968 ,p_accounting_line_type_code => l_component_type_code
45969 ,p_accounting_line_appl_id => l_component_appl_id
45970 ,p_amb_context_code => l_amb_context_code
45971 ,p_entity_code => l_entity_code
45972 ,p_event_class_code => l_event_class_code);
45973 --
45974 -- set accounting class
45975 --
45976 xla_ae_lines_pkg.SetAcctClass(
45977 p_accounting_class_code => 'DEF_REC_TAX'
45978 , p_ae_header_id => l_ae_header_id
45979 );
45980
45981 --
45982 -- set rounding class
45983 --
45984 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
45985 'DEF_REC_TAX';
45986
45987 --
45988 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
45989 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
45990 --
45991 -- bulk performance
45992 --
45993 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
45994
45995 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
45996 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
45997
45998 -- 4955764
45999 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
46000 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
46001
46002 -- 4458381 Public Sector Enh
46003
46004 --
46005 -- set accounting attributes for the line type
46006 --
46007 l_entered_amt_idx := 25;
46008 l_accted_amt_idx := 27;
46009 l_bflow_applied_to_amt_idx := NULL; -- 5132302
46010 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
46011 l_rec_acct_attrs.array_char_value(1) := p_source_58;
46012 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
46013 l_rec_acct_attrs.array_num_value(2) :=
46014 xla_ae_sources_pkg.GetSystemSourceNum(
46015 p_source_code => 'XLA_EVENT_APPL_ID'
46016 , p_source_type_code => 'Y'
46017 , p_source_application_id => 602
46018 );
46019 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
46020 l_rec_acct_attrs.array_char_value(3) := p_source_60;
46021 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
46022 l_rec_acct_attrs.array_char_value(4) :=
46023 xla_ae_sources_pkg.GetSystemSourceChar(
46024 p_source_code => 'XLA_ENTITY_CODE'
46025 , p_source_type_code => 'Y'
46026 , p_source_application_id => 602
46027 );
46028 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
46029 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_130);
46030 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
46031 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_63);
46032 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
46033 l_rec_acct_attrs.array_num_value(7) := p_source_96;
46034 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
46035 l_rec_acct_attrs.array_char_value(8) := p_source_97;
46036 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
46037 l_rec_acct_attrs.array_char_value(9) := p_source_98;
46038 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
46039 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_142);
46040 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
46041 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_143);
46042 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
46043 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_130);
46044 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
46045 l_rec_acct_attrs.array_char_value(13) := p_source_60;
46046 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_ACCT_CLASS';
46047 l_rec_acct_attrs.array_char_value(14) := p_source_135;
46048 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
46049 l_rec_acct_attrs.array_num_value(15) := p_source_70;
46050 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
46051 l_rec_acct_attrs.array_num_value(16) := p_source_71;
46052 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
46053 l_rec_acct_attrs.array_char_value(17) := p_source_72;
46057 l_rec_acct_attrs.array_char_value(19) := p_source_136;
46054 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
46055 l_rec_acct_attrs.array_num_value(18) := p_source_73;
46056 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ACCT_CLASS';
46058 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_CCID';
46059 l_rec_acct_attrs.array_num_value(20) := p_source_74;
46060 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_AMT';
46061 l_rec_acct_attrs.array_num_value(21) := p_source_75;
46062 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_ENTERED_CURR';
46063 l_rec_acct_attrs.array_char_value(22) := p_source_72;
46064 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_DR_LEDGER_AMT';
46065 l_rec_acct_attrs.array_num_value(23) := p_source_76;
46066 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENC_UPG_OPTION';
46067 l_rec_acct_attrs.array_char_value(24) := p_source_77;
46068 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_AMOUNT';
46069 l_rec_acct_attrs.array_num_value(25) := p_source_137;
46070 l_rec_acct_attrs.array_acct_attr_code(26) := 'ENTERED_CURRENCY_CODE';
46071 l_rec_acct_attrs.array_char_value(26) := p_source_72;
46072 l_rec_acct_attrs.array_acct_attr_code(27) := 'LEDGER_AMOUNT';
46073 l_rec_acct_attrs.array_num_value(27) := p_source_144;
46074 l_rec_acct_attrs.array_acct_attr_code(28) := 'MULTIPERIOD_END_DATE';
46075 l_rec_acct_attrs.array_date_value(28) := p_source_82;
46076 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_OPTION';
46077 l_rec_acct_attrs.array_char_value(29) := p_source_83;
46078 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_START_DATE';
46079 l_rec_acct_attrs.array_date_value(30) := p_source_84;
46080 l_rec_acct_attrs.array_acct_attr_code(31) := 'OVERRIDE_ACCTD_AMT_FLAG';
46081 l_rec_acct_attrs.array_char_value(31) := p_source_85;
46082 l_rec_acct_attrs.array_acct_attr_code(32) := 'PARTY_TYPE';
46083 l_rec_acct_attrs.array_char_value(32) := p_source_88;
46084 l_rec_acct_attrs.array_acct_attr_code(33) := 'REVERSED_DISTRIBUTION_ID1';
46085 l_rec_acct_attrs.array_num_value(33) := to_char(p_source_139);
46086 l_rec_acct_attrs.array_acct_attr_code(34) := 'REVERSED_DISTRIBUTION_TYPE';
46087 l_rec_acct_attrs.array_char_value(34) := p_source_60;
46088 l_rec_acct_attrs.array_acct_attr_code(35) := 'TAX_LINE_REF_ID';
46089 l_rec_acct_attrs.array_num_value(35) := p_source_91;
46090 l_rec_acct_attrs.array_acct_attr_code(36) := 'TAX_REC_NREC_DIST_REF_ID';
46091 l_rec_acct_attrs.array_num_value(36) := p_source_92;
46092 l_rec_acct_attrs.array_acct_attr_code(37) := 'TAX_SUMMARY_LINE_REF_ID';
46093 l_rec_acct_attrs.array_num_value(37) := p_source_93;
46094 l_rec_acct_attrs.array_acct_attr_code(38) := 'UPG_CR_ENC_TYPE_ID';
46095 l_rec_acct_attrs.array_num_value(38) := p_source_94;
46096 l_rec_acct_attrs.array_acct_attr_code(39) := 'UPG_DR_ENC_TYPE_ID';
46097 l_rec_acct_attrs.array_num_value(39) := p_source_95;
46098
46099 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
46100 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
46101
46102 ---------------------------------------------------------------------------------------------------------------
46103 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
46104 ---------------------------------------------------------------------------------------------------------------
46105 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
46106
46107 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
46108 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
46109
46110 IF xla_accounting_cache_pkg.GetValueChar
46111 (p_source_code => 'LEDGER_CATEGORY_CODE'
46112 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
46113 AND l_bflow_method_code = 'PRIOR_ENTRY'
46114 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
46115 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
46116 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
46117 )
46118 THEN
46119 xla_ae_lines_pkg.BflowUpgEntry
46120 (p_business_method_code => l_bflow_method_code
46121 ,p_business_class_code => l_bflow_class_code
46122 ,p_balance_type => l_balance_type_code);
46123 ELSE
46124 NULL;
46125 XLA_AE_LINES_PKG.business_flow_validation(
46126 p_business_method_code => l_bflow_method_code
46127 ,p_business_class_code => l_bflow_class_code
46128 ,p_inherit_description_flag => l_inherit_desc_flag);
46129 END IF;
46130
46131 --
46132 -- call analytical criteria
46133 --
46134 -- Inherited Analytical Criteria for business flow method of Prior Entry.
46135 --
46136 -- call description
46137 --
46138 -- No description or it is inherited.
46139 --
46140 -- call ADRs
46141 -- Bug 4922099
46142 --
46143 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
46144 (NVL(l_actual_upg_option, 'N') = 'O') OR
46145 (NVL(l_enc_upg_option, 'N') = 'O')
46146 )
46147 THEN
46148 NULL;
46149 --
46150 --
46151
46152 --
46153 --
46157 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
46154 END IF;
46155 --
46156 -- Bug 4922099
46158 (NVL(l_enc_upg_option, 'N') = 'O')
46159 ) AND
46160 (l_bflow_method_code = 'PRIOR_ENTRY')
46161 )
46162 THEN
46163 IF
46164 --
46165 1 = 1
46166 --
46167 THEN
46168 xla_accounting_err_pkg.build_message
46169 (p_appli_s_name => 'XLA'
46170 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
46171 ,p_token_1 => 'LINE_NUMBER'
46172 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
46173 ,p_token_2 => 'LINE_TYPE_NAME'
46174 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
46175 l_component_type
46176 ,l_component_code
46177 ,l_component_type_code
46178 ,l_component_appl_id
46179 ,l_amb_context_code
46180 ,l_entity_code
46181 ,l_event_class_code
46182 )
46183 ,p_token_3 => 'OWNER'
46184 ,p_value_3 => xla_lookups_pkg.get_meaning(
46185 p_lookup_type => 'XLA_OWNER_TYPE'
46186 ,p_lookup_code => l_component_type_code
46187 )
46188 ,p_token_4 => 'PRODUCT_NAME'
46189 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
46190 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
46191 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
46192 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
46193 ,p_ae_header_id => NULL
46194 );
46195
46196 IF (C_LEVEL_ERROR>= g_log_level) THEN
46197 trace
46198 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
46199 ,p_level => C_LEVEL_ERROR
46200 ,p_module => l_log_module);
46201 END IF;
46202 END IF;
46203 END IF;
46204 --
46205 --
46206 ------------------------------------------------------------------------------------------------
46207 -- 4219869 Business Flow
46208 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
46209 -- Prior Entry. Currently, the following code is always generated.
46210 ------------------------------------------------------------------------------------------------
46211 -- No ValidateCurrentLine for business flow method of Prior Entry
46212
46213 ------------------------------------------------------------------------------------
46214 -- 4219869 Business Flow
46215 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
46216 ------------------------------------------------------------------------------------
46217 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
46218
46219 ----------------------------------------------------------------------------------
46220 -- 4219869 Business Flow
46221 -- Update journal entry status -- Need to generate this within IF <condition>
46222 ----------------------------------------------------------------------------------
46223 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
46224 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
46225 ,p_balance_type_code => l_balance_type_code
46226 );
46227
46228 -------------------------------------------------------------------------------------------
46229 -- 4262811 - Generate the Accrual Reversal lines
46230 -------------------------------------------------------------------------------------------
46231 BEGIN
46232 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
46233 (g_array_event(p_event_id).array_value_num('header_index'));
46234 IF l_acc_rev_flag IS NULL THEN
46235 l_acc_rev_flag := 'N';
46236 END IF;
46237 EXCEPTION
46238 WHEN OTHERS THEN
46239 l_acc_rev_flag := 'N';
46240 END;
46241 --
46242 IF (l_acc_rev_flag = 'Y') THEN
46243
46244 -- 4645092 ------------------------------------------------------------------------------
46245 -- To allow MPA report to determine if it should generate report process
46246 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
46247 ------------------------------------------------------------------------------------------
46248
46252 -- call ADRs
46249 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
46250 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
46251 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
46253 -- Bug 4922099
46254 --
46255 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
46256 (NVL(l_actual_upg_option, 'N') = 'O') OR
46257 (NVL(l_enc_upg_option, 'N') = 'O')
46258 )
46259 THEN
46260 NULL;
46261 --
46262 --
46263
46264 --
46265 --
46266 END IF;
46267
46268 --
46269 -- Update the line information that should be overwritten
46270 --
46271 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
46272 p_header_num => 1);
46273 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
46274
46275 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
46276
46277 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
46278 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
46279 END IF;
46280
46281 --
46282 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
46283 --
46284 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
46285 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
46286 ELSE
46287 ---------------------------------------------------------------------------------------------------
46288 -- 4262811a Switch Sign
46289 ---------------------------------------------------------------------------------------------------
46290 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
46291 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
46292 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
46293 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
46294 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
46295 -- 5132302
46296 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
46297 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
46298
46299 END IF;
46300
46301 -- 4955764
46302 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
46303 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
46304
46305
46306 XLA_AE_LINES_PKG.ValidateCurrentLine;
46307 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
46308
46309 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
46310 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
46311 ,p_balance_type_code => l_balance_type_code);
46312
46313 END IF;
46314
46315 -----------------------------------------------------------------------------------------
46316 -- 4262811 Multiperiod Accounting
46317 -----------------------------------------------------------------------------------------
46318 -- No MPA option is assigned.
46319
46320
46321 END IF;
46322 END IF;
46323 --
46324
46325 --
46326 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
46327 trace
46328 (p_msg => 'END of AcctLineType_108'
46329 ,p_level => C_LEVEL_PROCEDURE
46330 ,p_module => l_log_module);
46331 END IF;
46332 --
46333 EXCEPTION
46334 WHEN xla_exceptions_pkg.application_exception THEN
46335 RAISE;
46336 WHEN OTHERS THEN
46337 xla_exceptions_pkg.raise_message
46338 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_108');
46339 END AcctLineType_108;
46340 --
46341
46342 ---------------------------------------
46343 --
46344 -- PRIVATE FUNCTION
46345 -- AcctLineType_109
46346 --
46347 ---------------------------------------
46348 PROCEDURE AcctLineType_109 (
46349 p_application_id IN NUMBER
46350 ,p_event_id IN NUMBER
46351 ,p_calculate_acctd_flag IN VARCHAR2
46352 ,p_calculate_g_l_flag IN VARCHAR2
46353 ,p_actual_flag IN OUT VARCHAR2
46354 ,p_balance_type_code OUT VARCHAR2
46355 ,p_gain_or_loss_ref OUT VARCHAR2
46356
46357 --Invoice Distribution Description
46358 , p_source_1 IN VARCHAR2
46359 --Invoice Distribution Ledger Amount
46360 , p_source_16 IN NUMBER
46361 --Invoice Distribution Account
46362 , p_source_25 IN NUMBER
46363 --Invoice Distribution Type
46364 , p_source_28 IN VARCHAR2
46365 , p_source_28_meaning IN VARCHAR2
46366 --Accounting Reversal Indicator
46367 , p_source_58 IN VARCHAR2
46368 --Distribution Link Type
46369 , p_source_60 IN VARCHAR2
46370 --Allocation to Main Distribution Identifier
46371 , p_source_62 IN NUMBER
46372 --Invoice Identifier
46373 , p_source_63 IN NUMBER
46374 --Invoice Distribution Identifier
46378 --Payables Encumbrance Upgrade Credit Amount
46375 , p_source_69 IN NUMBER
46376 --Payables Encumbrance Upgrade Credit Account
46377 , p_source_70 IN NUMBER
46379 , p_source_71 IN NUMBER
46380 --Invoice Currency Code
46381 , p_source_72 IN VARCHAR2
46382 --Payables Encumbrance Upgrade Credit Base Amount
46383 , p_source_73 IN NUMBER
46384 --Payables Encumbrance Upgrade Debit Account
46385 , p_source_74 IN NUMBER
46386 --Payables Encumbrance Upgrade Debit Amount
46387 , p_source_75 IN NUMBER
46388 --Payables Encumbrance Upgrade Debit Base Amount
46389 , p_source_76 IN NUMBER
46390 --Payables Encumbrance Upgrade Option
46391 , p_source_77 IN VARCHAR2
46392 --Invoice Distribution Amount
46393 , p_source_78 IN NUMBER
46394 --Deferred Accounting End Date
46395 , p_source_82 IN DATE
46396 --Deferred Accounting Option
46397 , p_source_83 IN VARCHAR2
46398 --Deferred Accounting Start Date
46399 , p_source_84 IN DATE
46400 --Override Accounted Amount Indicator
46401 , p_source_85 IN VARCHAR2
46402 , p_source_85_meaning IN VARCHAR2
46403 --Invoice Supplier Identifier
46404 , p_source_86 IN NUMBER
46405 --Invoice Supplier Site Identifier
46406 , p_source_87 IN NUMBER
46407 --Third Party Type
46408 , p_source_88 IN VARCHAR2
46409 --Parent Reversal Identifier
46410 , p_source_89 IN NUMBER
46411 --Invoice Distribution Statistical Amount
46412 , p_source_90 IN NUMBER
46413 --Invoice Distribution Tax Line Identifier
46414 , p_source_91 IN NUMBER
46415 --Invoice Distribution Tax Distribution Identifier from Tax
46416 , p_source_92 IN NUMBER
46417 --Invoice Distribution Summary Tax Line Identifier
46418 , p_source_93 IN NUMBER
46419 --Payables Upgrade Credit Encumbrance Type Identifier
46420 , p_source_94 IN NUMBER
46421 --Payables Upgrade Debit Encumbrance Type Identifier
46422 , p_source_95 IN NUMBER
46423 --Business Flow Accounts Payable Application Identifier
46424 , p_source_96 IN NUMBER
46425 --Business Flow Invoice Distribution Type
46426 , p_source_97 IN VARCHAR2
46427 --Business Flow Invoice Entity Code
46428 , p_source_98 IN VARCHAR2
46429 --Business Flow Invoice Distribution Identifier
46430 , p_source_99 IN NUMBER
46431 --Business Flow Invoice Identifier
46432 , p_source_100 IN NUMBER
46433 --Deferred Recoverable Tax Option
46434 , p_source_140 IN VARCHAR2
46435 , p_source_140_meaning IN VARCHAR2
46436 --Self-Assessed Tax Flag
46437 , p_source_145 IN VARCHAR2
46438 , p_source_145_meaning IN VARCHAR2
46439 --Invoice Exchange Date
46440 , p_source_146 IN DATE
46441 --Invoice Exchange Rate
46442 , p_source_147 IN NUMBER
46443 --Invoice Exchange Rate Type
46444 , p_source_148 IN VARCHAR2
46445 )
46446 IS
46447
46448 l_component_type VARCHAR2(80);
46449 l_component_code VARCHAR2(30);
46450 l_component_type_code VARCHAR2(1);
46451 l_component_appl_id INTEGER;
46452 l_amb_context_code VARCHAR2(30);
46453 l_entity_code VARCHAR2(30);
46454 l_event_class_code VARCHAR2(30);
46455 l_ae_header_id NUMBER;
46456 l_event_type_code VARCHAR2(30);
46457 l_line_definition_code VARCHAR2(30);
46458 l_line_definition_owner_code VARCHAR2(1);
46459 --
46460 -- adr variables
46461 l_segment VARCHAR2(30);
46462 l_ccid NUMBER;
46463 l_adr_transaction_coa_id NUMBER;
46464 l_adr_accounting_coa_id NUMBER;
46465 l_adr_flexfield_segment_code VARCHAR2(30);
46466 l_adr_flex_value_set_id NUMBER;
46467 l_adr_value_type_code VARCHAR2(30);
46468 l_adr_value_combination_id NUMBER;
46469 l_adr_value_segment_code VARCHAR2(30);
46470
46471 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
46472 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
46473 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
46474 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
46475
46476 -- 4262811 Variables ------------------------------------------------------------------------------------------
46477 l_entered_amt_idx NUMBER;
46478 l_accted_amt_idx NUMBER;
46479 l_acc_rev_flag VARCHAR2(1);
46480 l_accrual_line_num NUMBER;
46481 l_tmp_amt NUMBER;
46482 l_acc_rev_natural_side_code VARCHAR2(1);
46483
46484 l_num_entries NUMBER;
46485 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
46486 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
46487 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
46488 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
46489 l_recog_line_1 NUMBER;
46490 l_recog_line_2 NUMBER;
46491
46492 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
46493 l_bflow_applied_to_amt NUMBER; -- 5132302
46494 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
46495
46496 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
46497
46498 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
46502
46499 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
46500
46501 ---------------------------------------------------------------------------------------------------------------
46503
46504 --
46505 -- bulk performance
46506 --
46507 l_balance_type_code VARCHAR2(1);
46508 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
46509 l_log_module VARCHAR2(240);
46510
46511 --
46512 -- Upgrade strategy
46513 --
46514 l_actual_upg_option VARCHAR2(1);
46515 l_enc_upg_option VARCHAR2(1);
46516
46517 --
46518 BEGIN
46519 --
46520 IF g_log_enabled THEN
46521 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_109';
46522 END IF;
46523 --
46524 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
46525
46526 trace
46527 (p_msg => 'BEGIN of AcctLineType_109'
46528 ,p_level => C_LEVEL_PROCEDURE
46529 ,p_module => l_log_module);
46530
46531 END IF;
46532 --
46533 l_component_type := 'AMB_JLT';
46534 l_component_code := 'AP_DEF_RTAX_INTERIM_PREPAYMENT';
46535 l_component_type_code := 'S';
46536 l_component_appl_id := 200;
46537 l_amb_context_code := 'DEFAULT';
46538 l_entity_code := 'AP_INVOICES';
46539 l_event_class_code := 'PREPAYMENTS';
46540 l_event_type_code := 'PREPAYMENTS_ALL';
46541 l_line_definition_owner_code := 'S';
46542 l_line_definition_code := 'ACCRUAL_PREPAYMENTS_ALL';
46543 --
46544 l_balance_type_code := 'A';
46545 l_segment := NULL;
46546 l_ccid := NULL;
46547 l_adr_transaction_coa_id := NULL;
46548 l_adr_accounting_coa_id := NULL;
46549 l_adr_flexfield_segment_code := NULL;
46550 l_adr_flex_value_set_id := NULL;
46551 l_adr_value_type_code := NULL;
46552 l_adr_value_combination_id := NULL;
46553 l_adr_value_segment_code := NULL;
46554
46555 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
46556 l_bflow_class_code := 'AP_DEF_REC_TAX'; -- 4219869 Business Flow
46557 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
46558 l_budgetary_control_flag := 'N';
46559
46560 l_bflow_applied_to_amt_idx := NULL; -- 5132302
46561 l_bflow_applied_to_amt := NULL; -- 5132302
46562 l_entered_amt_idx := NULL; -- 4262811
46563 l_accted_amt_idx := NULL; -- 4262811
46564 l_acc_rev_flag := NULL; -- 4262811
46565 l_accrual_line_num := NULL; -- 4262811
46566 l_tmp_amt := NULL; -- 4262811
46567 --
46568
46569 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
46570 l_balance_type_code <> 'B' THEN
46571 IF NVL(p_source_28,'
46572 ') = 'REC_TAX' AND
46573 NVL(p_source_140,'
46574 ') = 'DEFERRED' AND
46575 NVL(p_source_145,'
46576 ') <> 'Y'
46577 THEN
46578
46579 --
46580 XLA_AE_LINES_PKG.SetNewLine;
46581
46582 p_balance_type_code := l_balance_type_code;
46583 -- set the flag so later we will know whether the gain loss line needs to be created
46584
46585 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
46586 p_actual_flag :='A';
46587 END IF;
46588
46589 --
46590 -- bulk performance
46591 --
46592 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
46593 p_header_num => 0); -- 4262811
46594 --
46595 -- set accounting line options
46596 --
46597 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
46598 p_natural_side_code => 'D'
46599 , p_gain_or_loss_flag => 'N'
46600 , p_gl_transfer_mode_code => 'S'
46601 , p_acct_entry_type_code => 'A'
46602 , p_switch_side_flag => 'Y'
46603 , p_merge_duplicate_code => 'A'
46604 );
46605 --
46606 l_acc_rev_natural_side_code := 'C'; -- 4262811
46607 --
46608 --
46609 -- set accounting line type info
46610 --
46611 xla_ae_lines_pkg.SetAcctLineType
46612 (p_component_type => l_component_type
46613 ,p_event_type_code => l_event_type_code
46614 ,p_line_definition_owner_code => l_line_definition_owner_code
46615 ,p_line_definition_code => l_line_definition_code
46616 ,p_accounting_line_code => l_component_code
46617 ,p_accounting_line_type_code => l_component_type_code
46618 ,p_accounting_line_appl_id => l_component_appl_id
46619 ,p_amb_context_code => l_amb_context_code
46620 ,p_entity_code => l_entity_code
46621 ,p_event_class_code => l_event_class_code);
46622 --
46623 -- set accounting class
46624 --
46625 xla_ae_lines_pkg.SetAcctClass(
46626 p_accounting_class_code => 'DEF_REC_TAX'
46627 , p_ae_header_id => l_ae_header_id
46628 );
46629
46630 --
46631 -- set rounding class
46632 --
46633 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
46634 'DEF_REC_TAX';
46635
46636 --
46640 -- bulk performance
46637 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
46638 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
46639 --
46641 --
46642 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
46643
46644 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
46645 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
46646
46647 -- 4955764
46648 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
46649 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
46650
46651 -- 4458381 Public Sector Enh
46652
46653 --
46654 -- set accounting attributes for the line type
46655 --
46656 l_entered_amt_idx := 23;
46657 l_accted_amt_idx := 28;
46658 l_bflow_applied_to_amt_idx := NULL; -- 5132302
46659 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
46660 l_rec_acct_attrs.array_char_value(1) := p_source_58;
46661 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
46662 l_rec_acct_attrs.array_num_value(2) :=
46663 xla_ae_sources_pkg.GetSystemSourceNum(
46664 p_source_code => 'XLA_EVENT_APPL_ID'
46665 , p_source_type_code => 'Y'
46666 , p_source_application_id => 602
46667 );
46668 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
46669 l_rec_acct_attrs.array_char_value(3) := p_source_60;
46670 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
46671 l_rec_acct_attrs.array_char_value(4) :=
46672 xla_ae_sources_pkg.GetSystemSourceChar(
46673 p_source_code => 'XLA_ENTITY_CODE'
46674 , p_source_type_code => 'Y'
46675 , p_source_application_id => 602
46676 );
46677 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
46678 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_62);
46679 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
46680 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_63);
46681 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
46682 l_rec_acct_attrs.array_num_value(7) := p_source_96;
46683 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
46684 l_rec_acct_attrs.array_char_value(8) := p_source_97;
46685 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
46686 l_rec_acct_attrs.array_char_value(9) := p_source_98;
46687 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
46688 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_99);
46689 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
46690 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_100);
46691 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
46692 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_69);
46693 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
46694 l_rec_acct_attrs.array_char_value(13) := p_source_60;
46695 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
46696 l_rec_acct_attrs.array_num_value(14) := p_source_70;
46697 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
46698 l_rec_acct_attrs.array_num_value(15) := p_source_71;
46699 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
46700 l_rec_acct_attrs.array_char_value(16) := p_source_72;
46701 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
46702 l_rec_acct_attrs.array_num_value(17) := p_source_73;
46703 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
46704 l_rec_acct_attrs.array_num_value(18) := p_source_74;
46705 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
46706 l_rec_acct_attrs.array_num_value(19) := p_source_75;
46707 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
46708 l_rec_acct_attrs.array_char_value(20) := p_source_72;
46709 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
46710 l_rec_acct_attrs.array_num_value(21) := p_source_76;
46711 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
46712 l_rec_acct_attrs.array_char_value(22) := p_source_77;
46713 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
46714 l_rec_acct_attrs.array_num_value(23) := p_source_78;
46715 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
46716 l_rec_acct_attrs.array_char_value(24) := p_source_72;
46717 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
46718 l_rec_acct_attrs.array_date_value(25) := p_source_146;
46719 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
46720 l_rec_acct_attrs.array_num_value(26) := p_source_147;
46721 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
46722 l_rec_acct_attrs.array_char_value(27) := p_source_148;
46723 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
46724 l_rec_acct_attrs.array_num_value(28) := p_source_16;
46725 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
46726 l_rec_acct_attrs.array_date_value(29) := p_source_82;
46727 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
46728 l_rec_acct_attrs.array_char_value(30) := p_source_83;
46732 l_rec_acct_attrs.array_char_value(32) := p_source_85;
46729 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
46730 l_rec_acct_attrs.array_date_value(31) := p_source_84;
46731 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
46733 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
46734 l_rec_acct_attrs.array_num_value(33) := p_source_86;
46735 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
46736 l_rec_acct_attrs.array_num_value(34) := p_source_87;
46737 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
46738 l_rec_acct_attrs.array_char_value(35) := p_source_88;
46739 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
46740 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_89);
46741 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
46742 l_rec_acct_attrs.array_char_value(37) := p_source_60;
46743 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
46744 l_rec_acct_attrs.array_num_value(38) := p_source_90;
46745 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
46746 l_rec_acct_attrs.array_num_value(39) := p_source_91;
46747 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
46748 l_rec_acct_attrs.array_num_value(40) := p_source_92;
46749 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
46750 l_rec_acct_attrs.array_num_value(41) := p_source_93;
46751 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
46752 l_rec_acct_attrs.array_num_value(42) := p_source_94;
46753 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
46754 l_rec_acct_attrs.array_num_value(43) := p_source_95;
46755
46756 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
46757 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
46758
46759 ---------------------------------------------------------------------------------------------------------------
46760 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
46761 ---------------------------------------------------------------------------------------------------------------
46762 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
46763
46764 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
46765 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
46766
46767 IF xla_accounting_cache_pkg.GetValueChar
46768 (p_source_code => 'LEDGER_CATEGORY_CODE'
46769 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
46770 AND l_bflow_method_code = 'PRIOR_ENTRY'
46771 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
46772 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
46773 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
46774 )
46775 THEN
46776 xla_ae_lines_pkg.BflowUpgEntry
46777 (p_business_method_code => l_bflow_method_code
46778 ,p_business_class_code => l_bflow_class_code
46779 ,p_balance_type => l_balance_type_code);
46780 ELSE
46781 NULL;
46782 -- No business flow processing for business flow method of NONE.
46783 END IF;
46784
46785 --
46786 -- call analytical criteria
46787 --
46788
46789 --
46790 -- call description
46791 --
46792
46793 xla_ae_lines_pkg.SetLineDescription(
46794 p_ae_header_id => l_ae_header_id
46795 ,p_description => Description_2 (
46796 p_application_id => p_application_id
46797 , p_ae_header_id => l_ae_header_id
46798 , p_source_1 => p_source_1
46799 )
46800 );
46801
46802
46803 --
46804 -- call ADRs
46805 -- Bug 4922099
46806 --
46807 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
46808 (NVL(l_actual_upg_option, 'N') = 'O') OR
46809 (NVL(l_enc_upg_option, 'N') = 'O')
46810 )
46811 THEN
46812 NULL;
46813 --
46814 --
46815
46816 l_ccid := AcctDerRule_35(
46817 p_application_id => p_application_id
46818 , p_ae_header_id => l_ae_header_id
46819 , p_source_25 => p_source_25
46820 , x_transaction_coa_id => l_adr_transaction_coa_id
46821 , x_accounting_coa_id => l_adr_accounting_coa_id
46822 , x_value_type_code => l_adr_value_type_code
46823 , p_side => 'NA'
46824 );
46825
46826 xla_ae_lines_pkg.set_ccid(
46827 p_code_combination_id => l_ccid
46828 , p_value_type_code => l_adr_value_type_code
46829 , p_transaction_coa_id => l_adr_transaction_coa_id
46830 , p_accounting_coa_id => l_adr_accounting_coa_id
46831 , p_adr_code => 'AP_INVOICE_DIST'
46832 , p_adr_type_code => 'S'
46833 , p_component_type => l_component_type
46834 , p_component_code => l_component_code
46835 , p_component_type_code => l_component_type_code
46836 , p_component_appl_id => l_component_appl_id
46837 , p_amb_context_code => l_amb_context_code
46838 , p_side => 'NA'
46842 --
46839 );
46840
46841
46843 --
46844 END IF;
46845 --
46846 -- Bug 4922099
46847 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
46848 (NVL(l_enc_upg_option, 'N') = 'O')
46849 ) AND
46850 (l_bflow_method_code = 'PRIOR_ENTRY')
46851 )
46852 THEN
46853 IF
46854 --
46855 1 = 2
46856 --
46857 THEN
46858 xla_accounting_err_pkg.build_message
46859 (p_appli_s_name => 'XLA'
46860 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
46861 ,p_token_1 => 'LINE_NUMBER'
46862 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
46863 ,p_token_2 => 'LINE_TYPE_NAME'
46864 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
46865 l_component_type
46866 ,l_component_code
46867 ,l_component_type_code
46868 ,l_component_appl_id
46869 ,l_amb_context_code
46870 ,l_entity_code
46871 ,l_event_class_code
46872 )
46873 ,p_token_3 => 'OWNER'
46874 ,p_value_3 => xla_lookups_pkg.get_meaning(
46875 p_lookup_type => 'XLA_OWNER_TYPE'
46876 ,p_lookup_code => l_component_type_code
46877 )
46878 ,p_token_4 => 'PRODUCT_NAME'
46879 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
46880 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
46881 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
46882 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
46883 ,p_ae_header_id => NULL
46884 );
46885
46886 IF (C_LEVEL_ERROR>= g_log_level) THEN
46887 trace
46888 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
46889 ,p_level => C_LEVEL_ERROR
46890 ,p_module => l_log_module);
46891 END IF;
46892 END IF;
46893 END IF;
46894 --
46895 --
46896 ------------------------------------------------------------------------------------------------
46897 -- 4219869 Business Flow
46898 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
46899 -- Prior Entry. Currently, the following code is always generated.
46900 ------------------------------------------------------------------------------------------------
46901 XLA_AE_LINES_PKG.ValidateCurrentLine;
46902
46903 ------------------------------------------------------------------------------------
46904 -- 4219869 Business Flow
46905 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
46906 ------------------------------------------------------------------------------------
46907 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
46908
46909 ----------------------------------------------------------------------------------
46910 -- 4219869 Business Flow
46911 -- Update journal entry status -- Need to generate this within IF <condition>
46912 ----------------------------------------------------------------------------------
46913 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
46914 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
46915 ,p_balance_type_code => l_balance_type_code
46916 );
46917
46918 -------------------------------------------------------------------------------------------
46919 -- 4262811 - Generate the Accrual Reversal lines
46920 -------------------------------------------------------------------------------------------
46921 BEGIN
46922 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
46923 (g_array_event(p_event_id).array_value_num('header_index'));
46924 IF l_acc_rev_flag IS NULL THEN
46925 l_acc_rev_flag := 'N';
46926 END IF;
46927 EXCEPTION
46928 WHEN OTHERS THEN
46929 l_acc_rev_flag := 'N';
46930 END;
46931 --
46932 IF (l_acc_rev_flag = 'Y') THEN
46933
46934 -- 4645092 ------------------------------------------------------------------------------
46935 -- To allow MPA report to determine if it should generate report process
46936 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
46940 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
46937 ------------------------------------------------------------------------------------------
46938
46939 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
46941 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
46942 -- call ADRs
46943 -- Bug 4922099
46944 --
46945 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
46946 (NVL(l_actual_upg_option, 'N') = 'O') OR
46947 (NVL(l_enc_upg_option, 'N') = 'O')
46948 )
46949 THEN
46950 NULL;
46951 --
46952 --
46953
46954 l_ccid := AcctDerRule_35(
46955 p_application_id => p_application_id
46956 , p_ae_header_id => l_ae_header_id
46957 , p_source_25 => p_source_25
46958 , x_transaction_coa_id => l_adr_transaction_coa_id
46959 , x_accounting_coa_id => l_adr_accounting_coa_id
46960 , x_value_type_code => l_adr_value_type_code
46961 , p_side => 'NA'
46962 );
46963
46964 xla_ae_lines_pkg.set_ccid(
46965 p_code_combination_id => l_ccid
46966 , p_value_type_code => l_adr_value_type_code
46967 , p_transaction_coa_id => l_adr_transaction_coa_id
46968 , p_accounting_coa_id => l_adr_accounting_coa_id
46969 , p_adr_code => 'AP_INVOICE_DIST'
46970 , p_adr_type_code => 'S'
46971 , p_component_type => l_component_type
46972 , p_component_code => l_component_code
46973 , p_component_type_code => l_component_type_code
46974 , p_component_appl_id => l_component_appl_id
46975 , p_amb_context_code => l_amb_context_code
46976 , p_side => 'NA'
46977 );
46978
46979
46980 --
46981 --
46982 END IF;
46983
46984 --
46985 -- Update the line information that should be overwritten
46986 --
46987 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
46988 p_header_num => 1);
46989 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
46990
46991 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
46992
46993 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
46994 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
46995 END IF;
46996
46997 --
46998 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
46999 --
47000 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
47001 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
47002 ELSE
47003 ---------------------------------------------------------------------------------------------------
47004 -- 4262811a Switch Sign
47005 ---------------------------------------------------------------------------------------------------
47006 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
47007 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
47008 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
47009 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
47010 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
47011 -- 5132302
47012 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
47013 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
47014
47015 END IF;
47016
47017 -- 4955764
47018 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
47019 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
47020
47021
47022 XLA_AE_LINES_PKG.ValidateCurrentLine;
47023 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
47024
47025 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
47026 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
47027 ,p_balance_type_code => l_balance_type_code);
47028
47029 END IF;
47030
47031 -----------------------------------------------------------------------------------------
47032 -- 4262811 Multiperiod Accounting
47033 -----------------------------------------------------------------------------------------
47034 -- No MPA option is assigned.
47035
47036
47037 END IF;
47038 END IF;
47039 --
47040
47041 --
47042 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
47043 trace
47044 (p_msg => 'END of AcctLineType_109'
47045 ,p_level => C_LEVEL_PROCEDURE
47046 ,p_module => l_log_module);
47047 END IF;
47048 --
47049 EXCEPTION
47050 WHEN xla_exceptions_pkg.application_exception THEN
47051 RAISE;
47052 WHEN OTHERS THEN
47053 xla_exceptions_pkg.raise_message
47054 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_109');
47058 ---------------------------------------
47055 END AcctLineType_109;
47056 --
47057
47059 --
47060 -- PRIVATE FUNCTION
47061 -- AcctLineType_110
47062 --
47063 ---------------------------------------
47064 PROCEDURE AcctLineType_110 (
47065 p_application_id IN NUMBER
47066 ,p_event_id IN NUMBER
47067 ,p_calculate_acctd_flag IN VARCHAR2
47068 ,p_calculate_g_l_flag IN VARCHAR2
47069 ,p_actual_flag IN OUT VARCHAR2
47070 ,p_balance_type_code OUT VARCHAR2
47071 ,p_gain_or_loss_ref OUT VARCHAR2
47072
47073 --Payment Currency Code
47074 , p_source_8 IN VARCHAR2
47075 --Invoice Distribution Type
47076 , p_source_28 IN VARCHAR2
47077 , p_source_28_meaning IN VARCHAR2
47078 --Recoverable Tax Account
47079 , p_source_48 IN NUMBER
47080 --When to Account for Payment Option
47081 , p_source_57 IN VARCHAR2
47082 --Accounting Reversal Indicator
47083 , p_source_58 IN VARCHAR2
47084 --Distribution Link Type
47085 , p_source_60 IN VARCHAR2
47086 --Override Accounted Amount Indicator
47087 , p_source_85 IN VARCHAR2
47088 , p_source_85_meaning IN VARCHAR2
47089 --Third Party Type
47090 , p_source_88 IN VARCHAR2
47091 --Business Flow Accounts Payable Application Identifier
47092 , p_source_96 IN NUMBER
47093 --Payment Distribution Type
47094 , p_source_101 IN VARCHAR2
47095 , p_source_101_meaning IN VARCHAR2
47096 --Payment Distribution Amount
47097 , p_source_102 IN NUMBER
47098 --Business Flow Payment Distribution Type
47099 , p_source_103 IN VARCHAR2
47100 --Business Flow Payment Entity Code
47101 , p_source_104 IN VARCHAR2
47102 --Business Flow Payment Distribution Identifier
47103 , p_source_105 IN NUMBER
47104 --Business Flow Payment Identifier
47105 , p_source_106 IN NUMBER
47106 --Payment Distribution Identifier
47107 , p_source_107 IN NUMBER
47108 --Payment Supplier Identifier
47109 , p_source_113 IN NUMBER
47110 --Payment Supplier Site Identifier
47111 , p_source_114 IN NUMBER
47112 --Payment Distribution Reversed Identifier
47113 , p_source_115 IN NUMBER
47114 --Payment Maturity Date
47115 , p_source_117 IN DATE
47116 --Payment Exchange Date
47117 , p_source_120 IN DATE
47118 --Payment Exchange Rate
47119 , p_source_121 IN NUMBER
47120 --Payment Exchange Rate Type
47121 , p_source_122 IN VARCHAR2
47122 --Payment Distribution (Matured Rate) Ledger Amount
47123 , p_source_124 IN NUMBER
47124 --Deferred Recoverable Tax Option
47125 , p_source_140 IN VARCHAR2
47126 , p_source_140_meaning IN VARCHAR2
47127 )
47128 IS
47129
47130 l_component_type VARCHAR2(80);
47131 l_component_code VARCHAR2(30);
47132 l_component_type_code VARCHAR2(1);
47133 l_component_appl_id INTEGER;
47134 l_amb_context_code VARCHAR2(30);
47135 l_entity_code VARCHAR2(30);
47136 l_event_class_code VARCHAR2(30);
47137 l_ae_header_id NUMBER;
47138 l_event_type_code VARCHAR2(30);
47139 l_line_definition_code VARCHAR2(30);
47140 l_line_definition_owner_code VARCHAR2(1);
47141 --
47142 -- adr variables
47143 l_segment VARCHAR2(30);
47144 l_ccid NUMBER;
47145 l_adr_transaction_coa_id NUMBER;
47146 l_adr_accounting_coa_id NUMBER;
47147 l_adr_flexfield_segment_code VARCHAR2(30);
47148 l_adr_flex_value_set_id NUMBER;
47149 l_adr_value_type_code VARCHAR2(30);
47150 l_adr_value_combination_id NUMBER;
47151 l_adr_value_segment_code VARCHAR2(30);
47152
47153 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
47154 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
47155 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
47156 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
47157
47158 -- 4262811 Variables ------------------------------------------------------------------------------------------
47159 l_entered_amt_idx NUMBER;
47160 l_accted_amt_idx NUMBER;
47161 l_acc_rev_flag VARCHAR2(1);
47162 l_accrual_line_num NUMBER;
47163 l_tmp_amt NUMBER;
47164 l_acc_rev_natural_side_code VARCHAR2(1);
47165
47166 l_num_entries NUMBER;
47167 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
47168 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
47169 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
47170 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
47171 l_recog_line_1 NUMBER;
47172 l_recog_line_2 NUMBER;
47173
47174 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
47175 l_bflow_applied_to_amt NUMBER; -- 5132302
47176 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
47177
47178 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
47179
47180 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
47181 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
47182
47186 --
47183 ---------------------------------------------------------------------------------------------------------------
47184
47185
47187 -- bulk performance
47188 --
47189 l_balance_type_code VARCHAR2(1);
47190 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
47191 l_log_module VARCHAR2(240);
47192
47193 --
47194 -- Upgrade strategy
47195 --
47196 l_actual_upg_option VARCHAR2(1);
47197 l_enc_upg_option VARCHAR2(1);
47198
47199 --
47200 BEGIN
47201 --
47202 IF g_log_enabled THEN
47203 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_110';
47204 END IF;
47205 --
47206 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
47207
47208 trace
47209 (p_msg => 'BEGIN of AcctLineType_110'
47210 ,p_level => C_LEVEL_PROCEDURE
47211 ,p_module => l_log_module);
47212
47213 END IF;
47214 --
47215 l_component_type := 'AMB_JLT';
47216 l_component_code := 'AP_DEF_RTAX_MAT';
47217 l_component_type_code := 'S';
47218 l_component_appl_id := 200;
47219 l_amb_context_code := 'DEFAULT';
47220 l_entity_code := 'AP_PAYMENTS';
47221 l_event_class_code := 'FUTURE DATED PAYMENTS';
47222 l_event_type_code := 'FUTURE DATED PAYMENTS_ALL';
47223 l_line_definition_owner_code := 'S';
47224 l_line_definition_code := 'ACCRUAL_FUTURE DATED PAYMENTS1';
47225 --
47226 l_balance_type_code := 'A';
47227 l_segment := NULL;
47228 l_ccid := NULL;
47229 l_adr_transaction_coa_id := NULL;
47230 l_adr_accounting_coa_id := NULL;
47231 l_adr_flexfield_segment_code := NULL;
47232 l_adr_flex_value_set_id := NULL;
47233 l_adr_value_type_code := NULL;
47234 l_adr_value_combination_id := NULL;
47235 l_adr_value_segment_code := NULL;
47236
47237 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
47238 l_bflow_class_code := ''; -- 4219869 Business Flow
47239 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
47240 l_budgetary_control_flag := 'N';
47241
47242 l_bflow_applied_to_amt_idx := NULL; -- 5132302
47243 l_bflow_applied_to_amt := NULL; -- 5132302
47244 l_entered_amt_idx := NULL; -- 4262811
47245 l_accted_amt_idx := NULL; -- 4262811
47246 l_acc_rev_flag := NULL; -- 4262811
47247 l_accrual_line_num := NULL; -- 4262811
47248 l_tmp_amt := NULL; -- 4262811
47249 --
47250
47251 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
47252 l_balance_type_code <> 'B' THEN
47253 IF NVL(p_source_57,'
47254 ') <> 'CLEAR_CLEAR' AND
47255 NVL(p_source_28,'
47256 ') = 'REC_TAX' AND
47257 p_source_117 IS NOT NULL AND
47258 NVL(p_source_140,'
47259 ') = 'DEFERRED' AND
47260 (NVL(p_source_101,'
47261 ') = 'DISCOUNT' OR
47262 NVL(p_source_101,'
47263 ') = 'CASH')
47264 THEN
47265
47266 --
47267 XLA_AE_LINES_PKG.SetNewLine;
47268
47269 p_balance_type_code := l_balance_type_code;
47270 -- set the flag so later we will know whether the gain loss line needs to be created
47271
47272 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
47273 p_actual_flag :='A';
47274 END IF;
47275
47276 --
47277 -- bulk performance
47278 --
47279 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
47280 p_header_num => 0); -- 4262811
47281 --
47282 -- set accounting line options
47283 --
47284 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
47285 p_natural_side_code => 'D'
47286 , p_gain_or_loss_flag => 'N'
47287 , p_gl_transfer_mode_code => 'S'
47288 , p_acct_entry_type_code => 'A'
47289 , p_switch_side_flag => 'Y'
47290 , p_merge_duplicate_code => 'A'
47291 );
47292 --
47293 l_acc_rev_natural_side_code := 'C'; -- 4262811
47294 --
47295 --
47296 -- set accounting line type info
47297 --
47298 xla_ae_lines_pkg.SetAcctLineType
47299 (p_component_type => l_component_type
47300 ,p_event_type_code => l_event_type_code
47301 ,p_line_definition_owner_code => l_line_definition_owner_code
47302 ,p_line_definition_code => l_line_definition_code
47303 ,p_accounting_line_code => l_component_code
47304 ,p_accounting_line_type_code => l_component_type_code
47305 ,p_accounting_line_appl_id => l_component_appl_id
47306 ,p_amb_context_code => l_amb_context_code
47307 ,p_entity_code => l_entity_code
47308 ,p_event_class_code => l_event_class_code);
47309 --
47310 -- set accounting class
47311 --
47312 xla_ae_lines_pkg.SetAcctClass(
47313 p_accounting_class_code => 'DEF_REC_TAX'
47314 , p_ae_header_id => l_ae_header_id
47315 );
47316
47317 --
47318 -- set rounding class
47319 --
47320 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
47321 'DEF_REC_TAX';
47325 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
47322
47323 --
47324 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
47326 --
47327 -- bulk performance
47328 --
47329 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
47330
47331 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
47332 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
47333
47334 -- 4955764
47335 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
47336 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
47337
47338 -- 4458381 Public Sector Enh
47339
47340 --
47341 -- set accounting attributes for the line type
47342 --
47343 l_entered_amt_idx := 9;
47344 l_accted_amt_idx := 14;
47345 l_bflow_applied_to_amt_idx := NULL; -- 5132302
47346 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
47347 l_rec_acct_attrs.array_char_value(1) := p_source_58;
47348 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_APPLICATION_ID';
47349 l_rec_acct_attrs.array_num_value(2) := p_source_96;
47350 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_DISTRIBUTION_TYPE';
47351 l_rec_acct_attrs.array_char_value(3) := p_source_103;
47352 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_ENTITY_CODE';
47353 l_rec_acct_attrs.array_char_value(4) := p_source_104;
47354 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_FIRST_DIST_ID';
47355 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_105);
47356 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
47357 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_106);
47358 l_rec_acct_attrs.array_acct_attr_code(7) := 'DISTRIBUTION_IDENTIFIER_1';
47359 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_107);
47360 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_TYPE';
47361 l_rec_acct_attrs.array_char_value(8) := p_source_60;
47362 l_rec_acct_attrs.array_acct_attr_code(9) := 'ENTERED_CURRENCY_AMOUNT';
47363 l_rec_acct_attrs.array_num_value(9) := p_source_102;
47364 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_CODE';
47365 l_rec_acct_attrs.array_char_value(10) := p_source_8;
47366 l_rec_acct_attrs.array_acct_attr_code(11) := 'EXCHANGE_DATE';
47367 l_rec_acct_attrs.array_date_value(11) := p_source_120;
47368 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_RATE';
47369 l_rec_acct_attrs.array_num_value(12) := p_source_121;
47370 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE_TYPE';
47371 l_rec_acct_attrs.array_char_value(13) := p_source_122;
47372 l_rec_acct_attrs.array_acct_attr_code(14) := 'LEDGER_AMOUNT';
47373 l_rec_acct_attrs.array_num_value(14) := p_source_124;
47374 l_rec_acct_attrs.array_acct_attr_code(15) := 'OVERRIDE_ACCTD_AMT_FLAG';
47375 l_rec_acct_attrs.array_char_value(15) := p_source_85;
47376 l_rec_acct_attrs.array_acct_attr_code(16) := 'PARTY_ID';
47377 l_rec_acct_attrs.array_num_value(16) := p_source_113;
47378 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_SITE_ID';
47379 l_rec_acct_attrs.array_num_value(17) := p_source_114;
47380 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_TYPE';
47381 l_rec_acct_attrs.array_char_value(18) := p_source_88;
47382 l_rec_acct_attrs.array_acct_attr_code(19) := 'REVERSED_DISTRIBUTION_ID1';
47383 l_rec_acct_attrs.array_num_value(19) := to_char(p_source_115);
47384 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_TYPE';
47385 l_rec_acct_attrs.array_char_value(20) := p_source_60;
47386
47387 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
47388 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
47389
47390 ---------------------------------------------------------------------------------------------------------------
47391 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
47392 ---------------------------------------------------------------------------------------------------------------
47393 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
47394
47395 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
47396 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
47397
47398 IF xla_accounting_cache_pkg.GetValueChar
47399 (p_source_code => 'LEDGER_CATEGORY_CODE'
47400 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
47401 AND l_bflow_method_code = 'PRIOR_ENTRY'
47402 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
47403 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
47404 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
47405 )
47406 THEN
47407 xla_ae_lines_pkg.BflowUpgEntry
47408 (p_business_method_code => l_bflow_method_code
47409 ,p_business_class_code => l_bflow_class_code
47410 ,p_balance_type => l_balance_type_code);
47411 ELSE
47412 NULL;
47413 -- No business flow processing for business flow method of NONE.
47414 END IF;
47415
47416 --
47417 -- call analytical criteria
47421 -- call description
47418 --
47419
47420 --
47422 --
47423 -- No description or it is inherited.
47424 --
47425 -- call ADRs
47426 -- Bug 4922099
47427 --
47428 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
47429 (NVL(l_actual_upg_option, 'N') = 'O') OR
47430 (NVL(l_enc_upg_option, 'N') = 'O')
47431 )
47432 THEN
47433 NULL;
47434 --
47435 --
47436
47437 l_ccid := AcctDerRule_46(
47438 p_application_id => p_application_id
47439 , p_ae_header_id => l_ae_header_id
47440 , p_source_48 => p_source_48
47441 , x_transaction_coa_id => l_adr_transaction_coa_id
47442 , x_accounting_coa_id => l_adr_accounting_coa_id
47443 , x_value_type_code => l_adr_value_type_code
47444 , p_side => 'NA'
47445 );
47446
47447 xla_ae_lines_pkg.set_ccid(
47448 p_code_combination_id => l_ccid
47449 , p_value_type_code => l_adr_value_type_code
47450 , p_transaction_coa_id => l_adr_transaction_coa_id
47451 , p_accounting_coa_id => l_adr_accounting_coa_id
47452 , p_adr_code => 'AP_TAX_ACCOUNT'
47453 , p_adr_type_code => 'S'
47454 , p_component_type => l_component_type
47455 , p_component_code => l_component_code
47456 , p_component_type_code => l_component_type_code
47457 , p_component_appl_id => l_component_appl_id
47458 , p_amb_context_code => l_amb_context_code
47459 , p_side => 'NA'
47460 );
47461
47462
47463 --
47464 --
47465 END IF;
47466 --
47467 -- Bug 4922099
47468 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
47469 (NVL(l_enc_upg_option, 'N') = 'O')
47470 ) AND
47471 (l_bflow_method_code = 'PRIOR_ENTRY')
47472 )
47473 THEN
47474 IF
47475 --
47476 1 = 2
47477 --
47478 THEN
47479 xla_accounting_err_pkg.build_message
47480 (p_appli_s_name => 'XLA'
47481 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
47482 ,p_token_1 => 'LINE_NUMBER'
47483 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
47484 ,p_token_2 => 'LINE_TYPE_NAME'
47485 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
47486 l_component_type
47487 ,l_component_code
47488 ,l_component_type_code
47489 ,l_component_appl_id
47490 ,l_amb_context_code
47491 ,l_entity_code
47492 ,l_event_class_code
47493 )
47494 ,p_token_3 => 'OWNER'
47495 ,p_value_3 => xla_lookups_pkg.get_meaning(
47496 p_lookup_type => 'XLA_OWNER_TYPE'
47497 ,p_lookup_code => l_component_type_code
47498 )
47499 ,p_token_4 => 'PRODUCT_NAME'
47500 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
47501 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
47502 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
47503 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
47504 ,p_ae_header_id => NULL
47505 );
47506
47507 IF (C_LEVEL_ERROR>= g_log_level) THEN
47508 trace
47509 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
47510 ,p_level => C_LEVEL_ERROR
47511 ,p_module => l_log_module);
47512 END IF;
47513 END IF;
47514 END IF;
47515 --
47516 --
47517 ------------------------------------------------------------------------------------------------
47518 -- 4219869 Business Flow
47519 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
47520 -- Prior Entry. Currently, the following code is always generated.
47521 ------------------------------------------------------------------------------------------------
47522 XLA_AE_LINES_PKG.ValidateCurrentLine;
47523
47524 ------------------------------------------------------------------------------------
47525 -- 4219869 Business Flow
47529
47526 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
47527 ------------------------------------------------------------------------------------
47528 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
47530 ----------------------------------------------------------------------------------
47531 -- 4219869 Business Flow
47532 -- Update journal entry status -- Need to generate this within IF <condition>
47533 ----------------------------------------------------------------------------------
47534 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
47535 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
47536 ,p_balance_type_code => l_balance_type_code
47537 );
47538
47539 -------------------------------------------------------------------------------------------
47540 -- 4262811 - Generate the Accrual Reversal lines
47541 -------------------------------------------------------------------------------------------
47542 BEGIN
47543 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
47544 (g_array_event(p_event_id).array_value_num('header_index'));
47545 IF l_acc_rev_flag IS NULL THEN
47546 l_acc_rev_flag := 'N';
47547 END IF;
47548 EXCEPTION
47549 WHEN OTHERS THEN
47550 l_acc_rev_flag := 'N';
47551 END;
47552 --
47553 IF (l_acc_rev_flag = 'Y') THEN
47554
47555 -- 4645092 ------------------------------------------------------------------------------
47556 -- To allow MPA report to determine if it should generate report process
47557 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
47558 ------------------------------------------------------------------------------------------
47559
47560 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
47561 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
47562 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
47563 -- call ADRs
47564 -- Bug 4922099
47565 --
47566 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
47567 (NVL(l_actual_upg_option, 'N') = 'O') OR
47568 (NVL(l_enc_upg_option, 'N') = 'O')
47569 )
47570 THEN
47571 NULL;
47572 --
47573 --
47574
47575 l_ccid := AcctDerRule_46(
47576 p_application_id => p_application_id
47577 , p_ae_header_id => l_ae_header_id
47578 , p_source_48 => p_source_48
47579 , x_transaction_coa_id => l_adr_transaction_coa_id
47580 , x_accounting_coa_id => l_adr_accounting_coa_id
47581 , x_value_type_code => l_adr_value_type_code
47582 , p_side => 'NA'
47583 );
47584
47585 xla_ae_lines_pkg.set_ccid(
47586 p_code_combination_id => l_ccid
47587 , p_value_type_code => l_adr_value_type_code
47588 , p_transaction_coa_id => l_adr_transaction_coa_id
47589 , p_accounting_coa_id => l_adr_accounting_coa_id
47590 , p_adr_code => 'AP_TAX_ACCOUNT'
47591 , p_adr_type_code => 'S'
47592 , p_component_type => l_component_type
47593 , p_component_code => l_component_code
47594 , p_component_type_code => l_component_type_code
47595 , p_component_appl_id => l_component_appl_id
47596 , p_amb_context_code => l_amb_context_code
47597 , p_side => 'NA'
47598 );
47599
47600
47601 --
47602 --
47603 END IF;
47604
47605 --
47606 -- Update the line information that should be overwritten
47607 --
47608 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
47609 p_header_num => 1);
47610 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
47611
47612 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
47613
47614 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
47615 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
47616 END IF;
47617
47618 --
47619 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
47620 --
47621 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
47622 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
47623 ELSE
47624 ---------------------------------------------------------------------------------------------------
47625 -- 4262811a Switch Sign
47626 ---------------------------------------------------------------------------------------------------
47627 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
47628 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
47629 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
47630 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
47631 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
47632 -- 5132302
47633 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
47637
47634 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
47635
47636 END IF;
47638 -- 4955764
47639 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
47640 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
47641
47642
47643 XLA_AE_LINES_PKG.ValidateCurrentLine;
47644 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
47645
47646 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
47647 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
47648 ,p_balance_type_code => l_balance_type_code);
47649
47650 END IF;
47651
47652 -----------------------------------------------------------------------------------------
47653 -- 4262811 Multiperiod Accounting
47654 -----------------------------------------------------------------------------------------
47655 -- No MPA option is assigned.
47656
47657
47658 END IF;
47659 END IF;
47660 --
47661
47662 --
47663 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
47664 trace
47665 (p_msg => 'END of AcctLineType_110'
47666 ,p_level => C_LEVEL_PROCEDURE
47667 ,p_module => l_log_module);
47668 END IF;
47669 --
47670 EXCEPTION
47671 WHEN xla_exceptions_pkg.application_exception THEN
47672 RAISE;
47673 WHEN OTHERS THEN
47674 xla_exceptions_pkg.raise_message
47675 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_110');
47676 END AcctLineType_110;
47677 --
47678
47679 ---------------------------------------
47680 --
47681 -- PRIVATE FUNCTION
47682 -- AcctLineType_111
47683 --
47684 ---------------------------------------
47685 PROCEDURE AcctLineType_111 (
47686 p_application_id IN NUMBER
47687 ,p_event_id IN NUMBER
47688 ,p_calculate_acctd_flag IN VARCHAR2
47689 ,p_calculate_g_l_flag IN VARCHAR2
47690 ,p_actual_flag IN OUT VARCHAR2
47691 ,p_balance_type_code OUT VARCHAR2
47692 ,p_gain_or_loss_ref OUT VARCHAR2
47693
47694 --Payment Currency Code
47695 , p_source_8 IN VARCHAR2
47696 --Invoice Distribution Type
47697 , p_source_28 IN VARCHAR2
47698 , p_source_28_meaning IN VARCHAR2
47699 --Recoverable Tax Account
47700 , p_source_48 IN NUMBER
47701 --When to Account for Payment Option
47702 , p_source_57 IN VARCHAR2
47703 --Accounting Reversal Indicator
47704 , p_source_58 IN VARCHAR2
47705 --Distribution Link Type
47706 , p_source_60 IN VARCHAR2
47707 --Override Accounted Amount Indicator
47708 , p_source_85 IN VARCHAR2
47709 , p_source_85_meaning IN VARCHAR2
47710 --Third Party Type
47711 , p_source_88 IN VARCHAR2
47712 --Invoice Distribution Tax Line Identifier
47713 , p_source_91 IN NUMBER
47714 --Invoice Distribution Tax Distribution Identifier from Tax
47715 , p_source_92 IN NUMBER
47716 --Invoice Distribution Summary Tax Line Identifier
47717 , p_source_93 IN NUMBER
47718 --Business Flow Accounts Payable Application Identifier
47719 , p_source_96 IN NUMBER
47720 --Business Flow Invoice Distribution Type
47721 , p_source_97 IN VARCHAR2
47722 --Business Flow Invoice Entity Code
47723 , p_source_98 IN VARCHAR2
47724 --Business Flow Invoice Distribution Identifier
47725 , p_source_99 IN NUMBER
47726 --Business Flow Invoice Identifier
47727 , p_source_100 IN NUMBER
47728 --Payment Distribution Type
47729 , p_source_101 IN VARCHAR2
47730 , p_source_101_meaning IN VARCHAR2
47731 --Payment Distribution Amount
47732 , p_source_102 IN NUMBER
47733 --Payment Distribution Identifier
47734 , p_source_107 IN NUMBER
47735 --Payment Supplier Identifier
47736 , p_source_113 IN NUMBER
47737 --Payment Supplier Site Identifier
47738 , p_source_114 IN NUMBER
47739 --Payment Distribution Reversed Identifier
47740 , p_source_115 IN NUMBER
47741 --Payment Maturity Date
47742 , p_source_117 IN DATE
47743 --Payment Distribution (Invoice Rate) Ledger Amount
47744 , p_source_119 IN NUMBER
47745 --Payment Type
47746 , p_source_125 IN VARCHAR2
47747 , p_source_125_meaning IN VARCHAR2
47748 --Payment Processing Type
47749 , p_source_126 IN VARCHAR2
47750 --Invoice Distribution Amount of the Payment Distribution
47751 , p_source_127 IN NUMBER
47752 --Deferred Recoverable Tax Option
47753 , p_source_140 IN VARCHAR2
47754 , p_source_140_meaning IN VARCHAR2
47755 --AWT Related Distribution Type Lookup code
47756 , p_source_141 IN VARCHAR2
47757 --Invoice Exchange Date
47758 , p_source_146 IN DATE
47759 --Invoice Exchange Rate
47760 , p_source_147 IN NUMBER
47761 --Invoice Exchange Rate Type
47762 , p_source_148 IN VARCHAR2
47763 )
47764 IS
47765
47766 l_component_type VARCHAR2(80);
47767 l_component_code VARCHAR2(30);
47768 l_component_type_code VARCHAR2(1);
47769 l_component_appl_id INTEGER;
47770 l_amb_context_code VARCHAR2(30);
47771 l_entity_code VARCHAR2(30);
47772 l_event_class_code VARCHAR2(30);
47776 l_line_definition_owner_code VARCHAR2(1);
47773 l_ae_header_id NUMBER;
47774 l_event_type_code VARCHAR2(30);
47775 l_line_definition_code VARCHAR2(30);
47777 --
47778 -- adr variables
47779 l_segment VARCHAR2(30);
47780 l_ccid NUMBER;
47781 l_adr_transaction_coa_id NUMBER;
47782 l_adr_accounting_coa_id NUMBER;
47783 l_adr_flexfield_segment_code VARCHAR2(30);
47784 l_adr_flex_value_set_id NUMBER;
47785 l_adr_value_type_code VARCHAR2(30);
47786 l_adr_value_combination_id NUMBER;
47787 l_adr_value_segment_code VARCHAR2(30);
47788
47789 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
47790 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
47791 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
47792 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
47793
47794 -- 4262811 Variables ------------------------------------------------------------------------------------------
47795 l_entered_amt_idx NUMBER;
47796 l_accted_amt_idx NUMBER;
47797 l_acc_rev_flag VARCHAR2(1);
47798 l_accrual_line_num NUMBER;
47799 l_tmp_amt NUMBER;
47800 l_acc_rev_natural_side_code VARCHAR2(1);
47801
47802 l_num_entries NUMBER;
47803 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
47804 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
47805 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
47806 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
47807 l_recog_line_1 NUMBER;
47808 l_recog_line_2 NUMBER;
47809
47810 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
47811 l_bflow_applied_to_amt NUMBER; -- 5132302
47812 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
47813
47814 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
47815
47816 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
47817 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
47818
47819 ---------------------------------------------------------------------------------------------------------------
47820
47821
47822 --
47823 -- bulk performance
47824 --
47825 l_balance_type_code VARCHAR2(1);
47826 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
47827 l_log_module VARCHAR2(240);
47828
47829 --
47830 -- Upgrade strategy
47831 --
47832 l_actual_upg_option VARCHAR2(1);
47833 l_enc_upg_option VARCHAR2(1);
47834
47835 --
47836 BEGIN
47837 --
47838 IF g_log_enabled THEN
47839 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_111';
47840 END IF;
47841 --
47842 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
47843
47844 trace
47845 (p_msg => 'BEGIN of AcctLineType_111'
47846 ,p_level => C_LEVEL_PROCEDURE
47847 ,p_module => l_log_module);
47848
47849 END IF;
47850 --
47851 l_component_type := 'AMB_JLT';
47852 l_component_code := 'AP_DEF_RTAX_PMT';
47853 l_component_type_code := 'S';
47854 l_component_appl_id := 200;
47855 l_amb_context_code := 'DEFAULT';
47856 l_entity_code := 'AP_PAYMENTS';
47857 l_event_class_code := 'PAYMENTS';
47858 l_event_type_code := 'PAYMENTS_ALL';
47859 l_line_definition_owner_code := 'S';
47860 l_line_definition_code := 'ACCRUAL_PAYMENTS_ALL';
47861 --
47862 l_balance_type_code := 'A';
47863 l_segment := NULL;
47864 l_ccid := NULL;
47865 l_adr_transaction_coa_id := NULL;
47866 l_adr_accounting_coa_id := NULL;
47867 l_adr_flexfield_segment_code := NULL;
47868 l_adr_flex_value_set_id := NULL;
47869 l_adr_value_type_code := NULL;
47870 l_adr_value_combination_id := NULL;
47871 l_adr_value_segment_code := NULL;
47872
47873 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
47874 l_bflow_class_code := 'AP_PP_DEF_TAX'; -- 4219869 Business Flow
47875 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
47876 l_budgetary_control_flag := 'N';
47877
47878 l_bflow_applied_to_amt_idx := NULL; -- 5132302
47879 l_bflow_applied_to_amt := NULL; -- 5132302
47880 l_entered_amt_idx := NULL; -- 4262811
47881 l_accted_amt_idx := NULL; -- 4262811
47882 l_acc_rev_flag := NULL; -- 4262811
47883 l_accrual_line_num := NULL; -- 4262811
47884 l_tmp_amt := NULL; -- 4262811
47885 --
47886
47887 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
47888 l_balance_type_code <> 'B' THEN
47889 IF NVL(p_source_57,'
47890 ') <> 'CLEAR_CLEAR' AND
47891 ((NVL(p_source_28,'
47892 ') = 'REC_TAX' AND
47893 NVL(p_source_140,'
47894 ') = 'DEFERRED') OR
47895 (NVL(p_source_28,'
47896 ') = 'AWT' AND
47897 NVL(p_source_141,'
47898 ') = 'AWT_DEFERRED')
47899 ) AND (NVL(p_source_101,'
47900 ') = 'CASH' OR
47901 NVL(p_source_101,'
47902 ') = 'AWT' OR
47903 NVL(p_source_101,'
47907 ') <> 'R' AND
47904 ') = 'DISCOUNT') AND
47905 p_source_117 IS NULL AND
47906 NVL(p_source_125,'
47908 NVL(p_source_126,'
47909 ') <> 'PAYMENTCARD'
47910 THEN
47911
47912 --
47913 XLA_AE_LINES_PKG.SetNewLine;
47914
47915 p_balance_type_code := l_balance_type_code;
47916 -- set the flag so later we will know whether the gain loss line needs to be created
47917
47918 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
47919 p_actual_flag :='A';
47920 END IF;
47921
47922 --
47923 -- bulk performance
47924 --
47925 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
47926 p_header_num => 0); -- 4262811
47927 --
47928 -- set accounting line options
47929 --
47930 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
47931 p_natural_side_code => 'D'
47932 , p_gain_or_loss_flag => 'N'
47933 , p_gl_transfer_mode_code => 'S'
47934 , p_acct_entry_type_code => 'A'
47935 , p_switch_side_flag => 'Y'
47936 , p_merge_duplicate_code => 'A'
47937 );
47938 --
47939 l_acc_rev_natural_side_code := 'C'; -- 4262811
47940 --
47941 --
47942 -- set accounting line type info
47943 --
47944 xla_ae_lines_pkg.SetAcctLineType
47945 (p_component_type => l_component_type
47946 ,p_event_type_code => l_event_type_code
47947 ,p_line_definition_owner_code => l_line_definition_owner_code
47948 ,p_line_definition_code => l_line_definition_code
47949 ,p_accounting_line_code => l_component_code
47950 ,p_accounting_line_type_code => l_component_type_code
47951 ,p_accounting_line_appl_id => l_component_appl_id
47952 ,p_amb_context_code => l_amb_context_code
47953 ,p_entity_code => l_entity_code
47954 ,p_event_class_code => l_event_class_code);
47955 --
47956 -- set accounting class
47957 --
47958 xla_ae_lines_pkg.SetAcctClass(
47959 p_accounting_class_code => 'DEF_REC_TAX'
47960 , p_ae_header_id => l_ae_header_id
47961 );
47962
47963 --
47964 -- set rounding class
47965 --
47966 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
47967 'DEF_REC_TAX';
47968
47969 --
47970 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
47971 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
47972 --
47973 -- bulk performance
47974 --
47975 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
47976
47977 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
47978 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
47979
47980 -- 4955764
47981 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
47982 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
47983
47984 -- 4458381 Public Sector Enh
47985
47986 --
47987 -- set accounting attributes for the line type
47988 --
47989 l_entered_amt_idx := 10;
47990 l_accted_amt_idx := 15;
47991 l_bflow_applied_to_amt_idx := 2; -- 5132302
47992 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
47993 l_rec_acct_attrs.array_char_value(1) := p_source_58;
47994 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
47995 l_rec_acct_attrs.array_num_value(2) := p_source_127;
47996 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
47997 l_rec_acct_attrs.array_num_value(3) := p_source_96;
47998 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
47999 l_rec_acct_attrs.array_char_value(4) := p_source_97;
48000 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
48001 l_rec_acct_attrs.array_char_value(5) := p_source_98;
48002 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
48003 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_99);
48004 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
48005 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_100);
48006 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
48007 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_107);
48008 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
48009 l_rec_acct_attrs.array_char_value(9) := p_source_60;
48010 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
48011 l_rec_acct_attrs.array_num_value(10) := p_source_102;
48012 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
48013 l_rec_acct_attrs.array_char_value(11) := p_source_8;
48014 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
48015 l_rec_acct_attrs.array_date_value(12) := p_source_146;
48016 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
48017 l_rec_acct_attrs.array_num_value(13) := p_source_147;
48018 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
48019 l_rec_acct_attrs.array_char_value(14) := p_source_148;
48020 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
48024 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
48021 l_rec_acct_attrs.array_num_value(15) := p_source_119;
48022 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
48023 l_rec_acct_attrs.array_char_value(16) := p_source_85;
48025 l_rec_acct_attrs.array_num_value(17) := p_source_113;
48026 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
48027 l_rec_acct_attrs.array_num_value(18) := p_source_114;
48028 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
48029 l_rec_acct_attrs.array_char_value(19) := p_source_88;
48030 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
48031 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_115);
48032 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
48033 l_rec_acct_attrs.array_char_value(21) := p_source_60;
48034 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
48035 l_rec_acct_attrs.array_num_value(22) := p_source_91;
48036 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
48037 l_rec_acct_attrs.array_num_value(23) := p_source_92;
48038 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
48039 l_rec_acct_attrs.array_num_value(24) := p_source_93;
48040
48041 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
48042 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
48043
48044 ---------------------------------------------------------------------------------------------------------------
48045 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
48046 ---------------------------------------------------------------------------------------------------------------
48047 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
48048
48049 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
48050 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
48051
48052 IF xla_accounting_cache_pkg.GetValueChar
48053 (p_source_code => 'LEDGER_CATEGORY_CODE'
48054 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
48055 AND l_bflow_method_code = 'PRIOR_ENTRY'
48056 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
48057 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
48058 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
48059 )
48060 THEN
48061 xla_ae_lines_pkg.BflowUpgEntry
48062 (p_business_method_code => l_bflow_method_code
48063 ,p_business_class_code => l_bflow_class_code
48064 ,p_balance_type => l_balance_type_code);
48065 ELSE
48066 NULL;
48067 -- No business flow processing for business flow method of NONE.
48068 END IF;
48069
48070 --
48071 -- call analytical criteria
48072 --
48073
48074 --
48075 -- call description
48076 --
48077 -- No description or it is inherited.
48078 --
48079 -- call ADRs
48080 -- Bug 4922099
48081 --
48082 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
48083 (NVL(l_actual_upg_option, 'N') = 'O') OR
48084 (NVL(l_enc_upg_option, 'N') = 'O')
48085 )
48086 THEN
48087 NULL;
48088 --
48089 --
48090
48091 l_ccid := AcctDerRule_46(
48092 p_application_id => p_application_id
48093 , p_ae_header_id => l_ae_header_id
48094 , p_source_48 => p_source_48
48095 , x_transaction_coa_id => l_adr_transaction_coa_id
48096 , x_accounting_coa_id => l_adr_accounting_coa_id
48097 , x_value_type_code => l_adr_value_type_code
48098 , p_side => 'NA'
48099 );
48100
48101 xla_ae_lines_pkg.set_ccid(
48102 p_code_combination_id => l_ccid
48103 , p_value_type_code => l_adr_value_type_code
48104 , p_transaction_coa_id => l_adr_transaction_coa_id
48105 , p_accounting_coa_id => l_adr_accounting_coa_id
48106 , p_adr_code => 'AP_TAX_ACCOUNT'
48107 , p_adr_type_code => 'S'
48108 , p_component_type => l_component_type
48109 , p_component_code => l_component_code
48110 , p_component_type_code => l_component_type_code
48111 , p_component_appl_id => l_component_appl_id
48112 , p_amb_context_code => l_amb_context_code
48113 , p_side => 'NA'
48114 );
48115
48116
48117 --
48118 --
48119 END IF;
48120 --
48121 -- Bug 4922099
48122 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
48123 (NVL(l_enc_upg_option, 'N') = 'O')
48124 ) AND
48125 (l_bflow_method_code = 'PRIOR_ENTRY')
48126 )
48127 THEN
48128 IF
48129 --
48130 1 = 2
48131 --
48132 THEN
48133 xla_accounting_err_pkg.build_message
48134 (p_appli_s_name => 'XLA'
48135 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
48136 ,p_token_1 => 'LINE_NUMBER'
48140 l_component_type
48137 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
48138 ,p_token_2 => 'LINE_TYPE_NAME'
48139 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
48141 ,l_component_code
48142 ,l_component_type_code
48143 ,l_component_appl_id
48144 ,l_amb_context_code
48145 ,l_entity_code
48146 ,l_event_class_code
48147 )
48148 ,p_token_3 => 'OWNER'
48149 ,p_value_3 => xla_lookups_pkg.get_meaning(
48150 p_lookup_type => 'XLA_OWNER_TYPE'
48151 ,p_lookup_code => l_component_type_code
48152 )
48153 ,p_token_4 => 'PRODUCT_NAME'
48154 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
48155 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
48156 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
48157 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
48158 ,p_ae_header_id => NULL
48159 );
48160
48161 IF (C_LEVEL_ERROR>= g_log_level) THEN
48162 trace
48163 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
48164 ,p_level => C_LEVEL_ERROR
48165 ,p_module => l_log_module);
48166 END IF;
48167 END IF;
48168 END IF;
48169 --
48170 --
48171 ------------------------------------------------------------------------------------------------
48172 -- 4219869 Business Flow
48173 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
48174 -- Prior Entry. Currently, the following code is always generated.
48175 ------------------------------------------------------------------------------------------------
48176 XLA_AE_LINES_PKG.ValidateCurrentLine;
48177
48178 ------------------------------------------------------------------------------------
48179 -- 4219869 Business Flow
48180 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
48181 ------------------------------------------------------------------------------------
48182 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
48183
48184 ----------------------------------------------------------------------------------
48185 -- 4219869 Business Flow
48186 -- Update journal entry status -- Need to generate this within IF <condition>
48187 ----------------------------------------------------------------------------------
48188 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
48189 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
48190 ,p_balance_type_code => l_balance_type_code
48191 );
48192
48193 -------------------------------------------------------------------------------------------
48194 -- 4262811 - Generate the Accrual Reversal lines
48195 -------------------------------------------------------------------------------------------
48196 BEGIN
48197 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
48198 (g_array_event(p_event_id).array_value_num('header_index'));
48199 IF l_acc_rev_flag IS NULL THEN
48200 l_acc_rev_flag := 'N';
48201 END IF;
48202 EXCEPTION
48203 WHEN OTHERS THEN
48204 l_acc_rev_flag := 'N';
48205 END;
48206 --
48207 IF (l_acc_rev_flag = 'Y') THEN
48208
48209 -- 4645092 ------------------------------------------------------------------------------
48210 -- To allow MPA report to determine if it should generate report process
48211 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
48212 ------------------------------------------------------------------------------------------
48213
48214 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
48215 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
48216 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
48217 -- call ADRs
48218 -- Bug 4922099
48219 --
48220 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
48221 (NVL(l_actual_upg_option, 'N') = 'O') OR
48222 (NVL(l_enc_upg_option, 'N') = 'O')
48223 )
48224 THEN
48225 NULL;
48226 --
48227 --
48228
48232 , p_source_48 => p_source_48
48229 l_ccid := AcctDerRule_46(
48230 p_application_id => p_application_id
48231 , p_ae_header_id => l_ae_header_id
48233 , x_transaction_coa_id => l_adr_transaction_coa_id
48234 , x_accounting_coa_id => l_adr_accounting_coa_id
48235 , x_value_type_code => l_adr_value_type_code
48236 , p_side => 'NA'
48237 );
48238
48239 xla_ae_lines_pkg.set_ccid(
48240 p_code_combination_id => l_ccid
48241 , p_value_type_code => l_adr_value_type_code
48242 , p_transaction_coa_id => l_adr_transaction_coa_id
48243 , p_accounting_coa_id => l_adr_accounting_coa_id
48244 , p_adr_code => 'AP_TAX_ACCOUNT'
48245 , p_adr_type_code => 'S'
48246 , p_component_type => l_component_type
48247 , p_component_code => l_component_code
48248 , p_component_type_code => l_component_type_code
48249 , p_component_appl_id => l_component_appl_id
48250 , p_amb_context_code => l_amb_context_code
48251 , p_side => 'NA'
48252 );
48253
48254
48255 --
48256 --
48257 END IF;
48258
48259 --
48260 -- Update the line information that should be overwritten
48261 --
48262 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
48263 p_header_num => 1);
48264 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
48265
48266 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
48267
48268 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
48269 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
48270 END IF;
48271
48272 --
48273 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
48274 --
48275 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
48276 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
48277 ELSE
48278 ---------------------------------------------------------------------------------------------------
48279 -- 4262811a Switch Sign
48280 ---------------------------------------------------------------------------------------------------
48281 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
48282 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
48283 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
48284 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
48285 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
48286 -- 5132302
48287 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
48288 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
48289
48290 END IF;
48291
48292 -- 4955764
48293 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
48294 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
48295
48296
48297 XLA_AE_LINES_PKG.ValidateCurrentLine;
48298 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
48299
48300 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
48301 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
48302 ,p_balance_type_code => l_balance_type_code);
48303
48304 END IF;
48305
48306 -----------------------------------------------------------------------------------------
48307 -- 4262811 Multiperiod Accounting
48308 -----------------------------------------------------------------------------------------
48309 -- No MPA option is assigned.
48310
48311
48312 END IF;
48313 END IF;
48314 --
48315
48316 --
48317 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
48318 trace
48319 (p_msg => 'END of AcctLineType_111'
48320 ,p_level => C_LEVEL_PROCEDURE
48321 ,p_module => l_log_module);
48322 END IF;
48323 --
48324 EXCEPTION
48325 WHEN xla_exceptions_pkg.application_exception THEN
48326 RAISE;
48327 WHEN OTHERS THEN
48328 xla_exceptions_pkg.raise_message
48329 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_111');
48330 END AcctLineType_111;
48331 --
48332
48333 ---------------------------------------
48334 --
48335 -- PRIVATE FUNCTION
48336 -- AcctLineType_112
48337 --
48338 ---------------------------------------
48339 PROCEDURE AcctLineType_112 (
48340 p_application_id IN NUMBER
48341 ,p_event_id IN NUMBER
48342 ,p_calculate_acctd_flag IN VARCHAR2
48343 ,p_calculate_g_l_flag IN VARCHAR2
48344 ,p_actual_flag IN OUT VARCHAR2
48345 ,p_balance_type_code OUT VARCHAR2
48346 ,p_gain_or_loss_ref OUT VARCHAR2
48347
48348 --Recoverable Tax Account
48349 , p_source_48 IN NUMBER
48353 , p_source_60 IN VARCHAR2
48350 --Accounting Reversal Indicator
48351 , p_source_58 IN VARCHAR2
48352 --Distribution Link Type
48354 --Invoice Identifier
48355 , p_source_63 IN NUMBER
48356 --Payables Encumbrance Upgrade Credit Account
48357 , p_source_70 IN NUMBER
48358 --Payables Encumbrance Upgrade Credit Amount
48359 , p_source_71 IN NUMBER
48360 --Invoice Currency Code
48361 , p_source_72 IN VARCHAR2
48362 --Payables Encumbrance Upgrade Credit Base Amount
48363 , p_source_73 IN NUMBER
48364 --Payables Encumbrance Upgrade Debit Account
48365 , p_source_74 IN NUMBER
48366 --Payables Encumbrance Upgrade Debit Amount
48367 , p_source_75 IN NUMBER
48368 --Payables Encumbrance Upgrade Debit Base Amount
48369 , p_source_76 IN NUMBER
48370 --Payables Encumbrance Upgrade Option
48371 , p_source_77 IN VARCHAR2
48372 --Deferred Accounting End Date
48373 , p_source_82 IN DATE
48374 --Deferred Accounting Option
48375 , p_source_83 IN VARCHAR2
48376 --Deferred Accounting Start Date
48377 , p_source_84 IN DATE
48378 --Override Accounted Amount Indicator
48379 , p_source_85 IN VARCHAR2
48380 , p_source_85_meaning IN VARCHAR2
48381 --Invoice Supplier Identifier
48382 , p_source_86 IN NUMBER
48383 --Invoice Supplier Site Identifier
48384 , p_source_87 IN NUMBER
48385 --Third Party Type
48386 , p_source_88 IN VARCHAR2
48387 --Invoice Distribution Tax Line Identifier
48388 , p_source_91 IN NUMBER
48389 --Invoice Distribution Tax Distribution Identifier from Tax
48390 , p_source_92 IN NUMBER
48391 --Invoice Distribution Summary Tax Line Identifier
48392 , p_source_93 IN NUMBER
48393 --Payables Upgrade Credit Encumbrance Type Identifier
48394 , p_source_94 IN NUMBER
48395 --Payables Upgrade Debit Encumbrance Type Identifier
48396 , p_source_95 IN NUMBER
48397 --Business Flow Accounts Payable Application Identifier
48398 , p_source_96 IN NUMBER
48399 --Prepayment Application Distribution Identifier
48400 , p_source_130 IN NUMBER
48401 --Upgrade Encumbrance Credit Account Class
48402 , p_source_135 IN VARCHAR2
48403 --Upgrade Encumbrance Debit Account Class
48404 , p_source_136 IN VARCHAR2
48405 --Prepayment Distribution Amount
48406 , p_source_137 IN NUMBER
48407 --Identifier of the Prepayment Application Reversed
48408 , p_source_139 IN NUMBER
48409 --Deferred Recoverable Tax Option
48410 , p_source_140 IN VARCHAR2
48411 , p_source_140_meaning IN VARCHAR2
48412 --Prepayment Distribution (Invoice Rate) Ledger Amount
48413 , p_source_144 IN NUMBER
48414 --Invoice Exchange Date
48415 , p_source_146 IN DATE
48416 --Invoice Exchange Rate
48417 , p_source_147 IN NUMBER
48418 --Invoice Exchange Rate Type
48419 , p_source_148 IN VARCHAR2
48420 --Business Flow Prepayment Invoice Distribution Type
48421 , p_source_149 IN VARCHAR2
48422 --Business Flow Prepayment Invoice Entity Code
48423 , p_source_150 IN VARCHAR2
48424 --Business Flow Prepayment Invoice Distribution Identifier
48425 , p_source_151 IN NUMBER
48426 --Business Flow Prepayment Invoice Identifier
48427 , p_source_152 IN NUMBER
48428 )
48429 IS
48430
48431 l_component_type VARCHAR2(80);
48432 l_component_code VARCHAR2(30);
48433 l_component_type_code VARCHAR2(1);
48434 l_component_appl_id INTEGER;
48435 l_amb_context_code VARCHAR2(30);
48436 l_entity_code VARCHAR2(30);
48437 l_event_class_code VARCHAR2(30);
48438 l_ae_header_id NUMBER;
48439 l_event_type_code VARCHAR2(30);
48440 l_line_definition_code VARCHAR2(30);
48441 l_line_definition_owner_code VARCHAR2(1);
48442 --
48443 -- adr variables
48444 l_segment VARCHAR2(30);
48445 l_ccid NUMBER;
48446 l_adr_transaction_coa_id NUMBER;
48447 l_adr_accounting_coa_id NUMBER;
48448 l_adr_flexfield_segment_code VARCHAR2(30);
48449 l_adr_flex_value_set_id NUMBER;
48450 l_adr_value_type_code VARCHAR2(30);
48451 l_adr_value_combination_id NUMBER;
48452 l_adr_value_segment_code VARCHAR2(30);
48453
48454 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
48455 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
48456 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
48457 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
48458
48459 -- 4262811 Variables ------------------------------------------------------------------------------------------
48460 l_entered_amt_idx NUMBER;
48461 l_accted_amt_idx NUMBER;
48462 l_acc_rev_flag VARCHAR2(1);
48463 l_accrual_line_num NUMBER;
48464 l_tmp_amt NUMBER;
48465 l_acc_rev_natural_side_code VARCHAR2(1);
48466
48467 l_num_entries NUMBER;
48468 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
48469 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
48470 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
48471 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
48472 l_recog_line_1 NUMBER;
48476 l_bflow_applied_to_amt NUMBER; -- 5132302
48473 l_recog_line_2 NUMBER;
48474
48475 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
48477 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
48478
48479 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
48480
48481 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
48482 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
48483
48484 ---------------------------------------------------------------------------------------------------------------
48485
48486
48487 --
48488 -- bulk performance
48489 --
48490 l_balance_type_code VARCHAR2(1);
48491 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
48492 l_log_module VARCHAR2(240);
48493
48494 --
48495 -- Upgrade strategy
48496 --
48497 l_actual_upg_option VARCHAR2(1);
48498 l_enc_upg_option VARCHAR2(1);
48499
48500 --
48501 BEGIN
48502 --
48503 IF g_log_enabled THEN
48504 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_112';
48505 END IF;
48506 --
48507 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
48508
48509 trace
48510 (p_msg => 'BEGIN of AcctLineType_112'
48511 ,p_level => C_LEVEL_PROCEDURE
48512 ,p_module => l_log_module);
48513
48514 END IF;
48515 --
48516 l_component_type := 'AMB_JLT';
48517 l_component_code := 'AP_DEF_RTAX_PREPAY';
48518 l_component_type_code := 'S';
48519 l_component_appl_id := 200;
48520 l_amb_context_code := 'DEFAULT';
48521 l_entity_code := 'AP_INVOICES';
48522 l_event_class_code := 'PREPAYMENT APPLICATIONS';
48523 l_event_type_code := 'PREPAYMENT APPLICATIONS_ALL';
48524 l_line_definition_owner_code := 'S';
48525 l_line_definition_code := 'ACCRUAL_PREPAYMENT APPLICATIO2';
48526 --
48527 l_balance_type_code := 'A';
48528 l_segment := NULL;
48529 l_ccid := NULL;
48530 l_adr_transaction_coa_id := NULL;
48531 l_adr_accounting_coa_id := NULL;
48532 l_adr_flexfield_segment_code := NULL;
48533 l_adr_flex_value_set_id := NULL;
48534 l_adr_value_type_code := NULL;
48535 l_adr_value_combination_id := NULL;
48536 l_adr_value_segment_code := NULL;
48537
48538 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
48539 l_bflow_class_code := ''; -- 4219869 Business Flow
48540 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
48541 l_budgetary_control_flag := 'N';
48542
48543 l_bflow_applied_to_amt_idx := NULL; -- 5132302
48544 l_bflow_applied_to_amt := NULL; -- 5132302
48545 l_entered_amt_idx := NULL; -- 4262811
48546 l_accted_amt_idx := NULL; -- 4262811
48547 l_acc_rev_flag := NULL; -- 4262811
48548 l_accrual_line_num := NULL; -- 4262811
48549 l_tmp_amt := NULL; -- 4262811
48550 --
48551
48552 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
48553 l_balance_type_code <> 'B' THEN
48554 IF NVL(p_source_140,'
48555 ') = 'DEFERRED'
48556 THEN
48557
48558 --
48559 XLA_AE_LINES_PKG.SetNewLine;
48560
48561 p_balance_type_code := l_balance_type_code;
48562 -- set the flag so later we will know whether the gain loss line needs to be created
48563
48564 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
48565 p_actual_flag :='A';
48566 END IF;
48567
48568 --
48569 -- bulk performance
48570 --
48571 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
48572 p_header_num => 0); -- 4262811
48573 --
48574 -- set accounting line options
48575 --
48576 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
48577 p_natural_side_code => 'C'
48578 , p_gain_or_loss_flag => 'N'
48579 , p_gl_transfer_mode_code => 'S'
48580 , p_acct_entry_type_code => 'A'
48581 , p_switch_side_flag => 'Y'
48582 , p_merge_duplicate_code => 'A'
48583 );
48584 --
48585 l_acc_rev_natural_side_code := 'D'; -- 4262811
48586 --
48587 --
48588 -- set accounting line type info
48589 --
48590 xla_ae_lines_pkg.SetAcctLineType
48591 (p_component_type => l_component_type
48592 ,p_event_type_code => l_event_type_code
48593 ,p_line_definition_owner_code => l_line_definition_owner_code
48594 ,p_line_definition_code => l_line_definition_code
48595 ,p_accounting_line_code => l_component_code
48596 ,p_accounting_line_type_code => l_component_type_code
48597 ,p_accounting_line_appl_id => l_component_appl_id
48598 ,p_amb_context_code => l_amb_context_code
48599 ,p_entity_code => l_entity_code
48600 ,p_event_class_code => l_event_class_code);
48601 --
48602 -- set accounting class
48603 --
48604 xla_ae_lines_pkg.SetAcctClass(
48608
48605 p_accounting_class_code => 'DEF_REC_TAX'
48606 , p_ae_header_id => l_ae_header_id
48607 );
48609 --
48610 -- set rounding class
48611 --
48612 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
48613 'DEF_REC_TAX';
48614
48615 --
48616 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
48617 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
48618 --
48619 -- bulk performance
48620 --
48621 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
48622
48623 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
48624 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
48625
48626 -- 4955764
48627 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
48628 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
48629
48630 -- 4458381 Public Sector Enh
48631
48632 --
48633 -- set accounting attributes for the line type
48634 --
48635 l_entered_amt_idx := 25;
48636 l_accted_amt_idx := 30;
48637 l_bflow_applied_to_amt_idx := NULL; -- 5132302
48638 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
48639 l_rec_acct_attrs.array_char_value(1) := p_source_58;
48640 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
48641 l_rec_acct_attrs.array_num_value(2) :=
48642 xla_ae_sources_pkg.GetSystemSourceNum(
48643 p_source_code => 'XLA_EVENT_APPL_ID'
48644 , p_source_type_code => 'Y'
48645 , p_source_application_id => 602
48646 );
48647 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
48648 l_rec_acct_attrs.array_char_value(3) := p_source_60;
48649 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
48650 l_rec_acct_attrs.array_char_value(4) :=
48651 xla_ae_sources_pkg.GetSystemSourceChar(
48652 p_source_code => 'XLA_ENTITY_CODE'
48653 , p_source_type_code => 'Y'
48654 , p_source_application_id => 602
48655 );
48656 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
48657 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_130);
48658 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
48659 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_63);
48660 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
48661 l_rec_acct_attrs.array_num_value(7) := p_source_96;
48662 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
48663 l_rec_acct_attrs.array_char_value(8) := p_source_149;
48664 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
48665 l_rec_acct_attrs.array_char_value(9) := p_source_150;
48666 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
48667 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_151);
48668 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
48669 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_152);
48670 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
48671 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_130);
48672 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
48673 l_rec_acct_attrs.array_char_value(13) := p_source_60;
48674 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_ACCT_CLASS';
48675 l_rec_acct_attrs.array_char_value(14) := p_source_135;
48676 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
48677 l_rec_acct_attrs.array_num_value(15) := p_source_70;
48678 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
48679 l_rec_acct_attrs.array_num_value(16) := p_source_71;
48680 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
48681 l_rec_acct_attrs.array_char_value(17) := p_source_72;
48682 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
48683 l_rec_acct_attrs.array_num_value(18) := p_source_73;
48684 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ACCT_CLASS';
48685 l_rec_acct_attrs.array_char_value(19) := p_source_136;
48686 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_CCID';
48687 l_rec_acct_attrs.array_num_value(20) := p_source_74;
48688 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_AMT';
48689 l_rec_acct_attrs.array_num_value(21) := p_source_75;
48690 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_ENTERED_CURR';
48691 l_rec_acct_attrs.array_char_value(22) := p_source_72;
48692 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_DR_LEDGER_AMT';
48693 l_rec_acct_attrs.array_num_value(23) := p_source_76;
48694 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENC_UPG_OPTION';
48695 l_rec_acct_attrs.array_char_value(24) := p_source_77;
48696 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_AMOUNT';
48697 l_rec_acct_attrs.array_num_value(25) := p_source_137;
48698 l_rec_acct_attrs.array_acct_attr_code(26) := 'ENTERED_CURRENCY_CODE';
48699 l_rec_acct_attrs.array_char_value(26) := p_source_72;
48700 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_DATE';
48701 l_rec_acct_attrs.array_date_value(27) := p_source_146;
48702 l_rec_acct_attrs.array_acct_attr_code(28) := 'EXCHANGE_RATE';
48703 l_rec_acct_attrs.array_num_value(28) := p_source_147;
48704 l_rec_acct_attrs.array_acct_attr_code(29) := 'EXCHANGE_RATE_TYPE';
48708 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_END_DATE';
48705 l_rec_acct_attrs.array_char_value(29) := p_source_148;
48706 l_rec_acct_attrs.array_acct_attr_code(30) := 'LEDGER_AMOUNT';
48707 l_rec_acct_attrs.array_num_value(30) := p_source_144;
48709 l_rec_acct_attrs.array_date_value(31) := p_source_82;
48710 l_rec_acct_attrs.array_acct_attr_code(32) := 'MULTIPERIOD_OPTION';
48711 l_rec_acct_attrs.array_char_value(32) := p_source_83;
48712 l_rec_acct_attrs.array_acct_attr_code(33) := 'MULTIPERIOD_START_DATE';
48713 l_rec_acct_attrs.array_date_value(33) := p_source_84;
48714 l_rec_acct_attrs.array_acct_attr_code(34) := 'OVERRIDE_ACCTD_AMT_FLAG';
48715 l_rec_acct_attrs.array_char_value(34) := p_source_85;
48716 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_ID';
48717 l_rec_acct_attrs.array_num_value(35) := p_source_86;
48718 l_rec_acct_attrs.array_acct_attr_code(36) := 'PARTY_SITE_ID';
48719 l_rec_acct_attrs.array_num_value(36) := p_source_87;
48720 l_rec_acct_attrs.array_acct_attr_code(37) := 'PARTY_TYPE';
48721 l_rec_acct_attrs.array_char_value(37) := p_source_88;
48722 l_rec_acct_attrs.array_acct_attr_code(38) := 'REVERSED_DISTRIBUTION_ID1';
48723 l_rec_acct_attrs.array_num_value(38) := to_char(p_source_139);
48724 l_rec_acct_attrs.array_acct_attr_code(39) := 'REVERSED_DISTRIBUTION_TYPE';
48725 l_rec_acct_attrs.array_char_value(39) := p_source_60;
48726 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_LINE_REF_ID';
48727 l_rec_acct_attrs.array_num_value(40) := p_source_91;
48728 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_REC_NREC_DIST_REF_ID';
48729 l_rec_acct_attrs.array_num_value(41) := p_source_92;
48730 l_rec_acct_attrs.array_acct_attr_code(42) := 'TAX_SUMMARY_LINE_REF_ID';
48731 l_rec_acct_attrs.array_num_value(42) := p_source_93;
48732 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_CR_ENC_TYPE_ID';
48733 l_rec_acct_attrs.array_num_value(43) := p_source_94;
48734 l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
48735 l_rec_acct_attrs.array_num_value(44) := p_source_95;
48736
48737 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
48738 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
48739
48740 ---------------------------------------------------------------------------------------------------------------
48741 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
48742 ---------------------------------------------------------------------------------------------------------------
48743 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
48744
48745 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
48746 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
48747
48748 IF xla_accounting_cache_pkg.GetValueChar
48749 (p_source_code => 'LEDGER_CATEGORY_CODE'
48750 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
48751 AND l_bflow_method_code = 'PRIOR_ENTRY'
48752 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
48753 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
48754 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
48755 )
48756 THEN
48757 xla_ae_lines_pkg.BflowUpgEntry
48758 (p_business_method_code => l_bflow_method_code
48759 ,p_business_class_code => l_bflow_class_code
48760 ,p_balance_type => l_balance_type_code);
48761 ELSE
48762 NULL;
48763 -- No business flow processing for business flow method of NONE.
48764 END IF;
48765
48766 --
48767 -- call analytical criteria
48768 --
48769
48770 --
48771 -- call description
48772 --
48773 -- No description or it is inherited.
48774 --
48775 -- call ADRs
48776 -- Bug 4922099
48777 --
48778 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
48779 (NVL(l_actual_upg_option, 'N') = 'O') OR
48780 (NVL(l_enc_upg_option, 'N') = 'O')
48781 )
48782 THEN
48783 NULL;
48784 --
48785 --
48786
48787 l_ccid := AcctDerRule_46(
48788 p_application_id => p_application_id
48789 , p_ae_header_id => l_ae_header_id
48790 , p_source_48 => p_source_48
48791 , x_transaction_coa_id => l_adr_transaction_coa_id
48792 , x_accounting_coa_id => l_adr_accounting_coa_id
48793 , x_value_type_code => l_adr_value_type_code
48794 , p_side => 'NA'
48795 );
48796
48797 xla_ae_lines_pkg.set_ccid(
48798 p_code_combination_id => l_ccid
48799 , p_value_type_code => l_adr_value_type_code
48800 , p_transaction_coa_id => l_adr_transaction_coa_id
48801 , p_accounting_coa_id => l_adr_accounting_coa_id
48802 , p_adr_code => 'AP_TAX_ACCOUNT'
48803 , p_adr_type_code => 'S'
48804 , p_component_type => l_component_type
48805 , p_component_code => l_component_code
48806 , p_component_type_code => l_component_type_code
48807 , p_component_appl_id => l_component_appl_id
48808 , p_amb_context_code => l_amb_context_code
48809 , p_side => 'NA'
48813 --
48810 );
48811
48812
48814 --
48815 END IF;
48816 --
48817 -- Bug 4922099
48818 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
48819 (NVL(l_enc_upg_option, 'N') = 'O')
48820 ) AND
48821 (l_bflow_method_code = 'PRIOR_ENTRY')
48822 )
48823 THEN
48824 IF
48825 --
48826 1 = 2
48827 --
48828 THEN
48829 xla_accounting_err_pkg.build_message
48830 (p_appli_s_name => 'XLA'
48831 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
48832 ,p_token_1 => 'LINE_NUMBER'
48833 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
48834 ,p_token_2 => 'LINE_TYPE_NAME'
48835 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
48836 l_component_type
48837 ,l_component_code
48838 ,l_component_type_code
48839 ,l_component_appl_id
48840 ,l_amb_context_code
48841 ,l_entity_code
48842 ,l_event_class_code
48843 )
48844 ,p_token_3 => 'OWNER'
48845 ,p_value_3 => xla_lookups_pkg.get_meaning(
48846 p_lookup_type => 'XLA_OWNER_TYPE'
48847 ,p_lookup_code => l_component_type_code
48848 )
48849 ,p_token_4 => 'PRODUCT_NAME'
48850 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
48851 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
48852 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
48853 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
48854 ,p_ae_header_id => NULL
48855 );
48856
48857 IF (C_LEVEL_ERROR>= g_log_level) THEN
48858 trace
48859 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
48860 ,p_level => C_LEVEL_ERROR
48861 ,p_module => l_log_module);
48862 END IF;
48863 END IF;
48864 END IF;
48865 --
48866 --
48867 ------------------------------------------------------------------------------------------------
48868 -- 4219869 Business Flow
48869 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
48870 -- Prior Entry. Currently, the following code is always generated.
48871 ------------------------------------------------------------------------------------------------
48872 XLA_AE_LINES_PKG.ValidateCurrentLine;
48873
48874 ------------------------------------------------------------------------------------
48875 -- 4219869 Business Flow
48876 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
48877 ------------------------------------------------------------------------------------
48878 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
48879
48880 ----------------------------------------------------------------------------------
48881 -- 4219869 Business Flow
48882 -- Update journal entry status -- Need to generate this within IF <condition>
48883 ----------------------------------------------------------------------------------
48884 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
48885 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
48886 ,p_balance_type_code => l_balance_type_code
48887 );
48888
48889 -------------------------------------------------------------------------------------------
48890 -- 4262811 - Generate the Accrual Reversal lines
48891 -------------------------------------------------------------------------------------------
48892 BEGIN
48893 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
48894 (g_array_event(p_event_id).array_value_num('header_index'));
48895 IF l_acc_rev_flag IS NULL THEN
48896 l_acc_rev_flag := 'N';
48897 END IF;
48898 EXCEPTION
48899 WHEN OTHERS THEN
48900 l_acc_rev_flag := 'N';
48901 END;
48902 --
48903 IF (l_acc_rev_flag = 'Y') THEN
48904
48905 -- 4645092 ------------------------------------------------------------------------------
48906 -- To allow MPA report to determine if it should generate report process
48910 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
48907 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
48908 ------------------------------------------------------------------------------------------
48909
48911 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
48912 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
48913 -- call ADRs
48914 -- Bug 4922099
48915 --
48916 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
48917 (NVL(l_actual_upg_option, 'N') = 'O') OR
48918 (NVL(l_enc_upg_option, 'N') = 'O')
48919 )
48920 THEN
48921 NULL;
48922 --
48923 --
48924
48925 l_ccid := AcctDerRule_46(
48926 p_application_id => p_application_id
48927 , p_ae_header_id => l_ae_header_id
48928 , p_source_48 => p_source_48
48929 , x_transaction_coa_id => l_adr_transaction_coa_id
48930 , x_accounting_coa_id => l_adr_accounting_coa_id
48931 , x_value_type_code => l_adr_value_type_code
48932 , p_side => 'NA'
48933 );
48934
48935 xla_ae_lines_pkg.set_ccid(
48936 p_code_combination_id => l_ccid
48937 , p_value_type_code => l_adr_value_type_code
48938 , p_transaction_coa_id => l_adr_transaction_coa_id
48939 , p_accounting_coa_id => l_adr_accounting_coa_id
48940 , p_adr_code => 'AP_TAX_ACCOUNT'
48941 , p_adr_type_code => 'S'
48942 , p_component_type => l_component_type
48943 , p_component_code => l_component_code
48944 , p_component_type_code => l_component_type_code
48945 , p_component_appl_id => l_component_appl_id
48946 , p_amb_context_code => l_amb_context_code
48947 , p_side => 'NA'
48948 );
48949
48950
48951 --
48952 --
48953 END IF;
48954
48955 --
48956 -- Update the line information that should be overwritten
48957 --
48958 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
48959 p_header_num => 1);
48960 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
48961
48962 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
48963
48964 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
48965 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
48966 END IF;
48967
48968 --
48969 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
48970 --
48971 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
48972 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
48973 ELSE
48974 ---------------------------------------------------------------------------------------------------
48975 -- 4262811a Switch Sign
48976 ---------------------------------------------------------------------------------------------------
48977 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
48978 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
48979 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
48980 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
48981 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
48982 -- 5132302
48983 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
48984 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
48985
48986 END IF;
48987
48988 -- 4955764
48989 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
48990 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
48991
48992
48993 XLA_AE_LINES_PKG.ValidateCurrentLine;
48994 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
48995
48996 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
48997 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
48998 ,p_balance_type_code => l_balance_type_code);
48999
49000 END IF;
49001
49002 -----------------------------------------------------------------------------------------
49003 -- 4262811 Multiperiod Accounting
49004 -----------------------------------------------------------------------------------------
49005 -- No MPA option is assigned.
49006
49007
49008 END IF;
49009 END IF;
49010 --
49011
49012 --
49013 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
49014 trace
49015 (p_msg => 'END of AcctLineType_112'
49016 ,p_level => C_LEVEL_PROCEDURE
49017 ,p_module => l_log_module);
49018 END IF;
49019 --
49020 EXCEPTION
49021 WHEN xla_exceptions_pkg.application_exception THEN
49022 RAISE;
49023 WHEN OTHERS THEN
49027 --
49024 xla_exceptions_pkg.raise_message
49025 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_112');
49026 END AcctLineType_112;
49028
49029 ---------------------------------------
49030 --
49031 -- PRIVATE FUNCTION
49032 -- AcctLineType_113
49033 --
49034 ---------------------------------------
49035 PROCEDURE AcctLineType_113 (
49036 p_application_id IN NUMBER
49037 ,p_event_id IN NUMBER
49038 ,p_calculate_acctd_flag IN VARCHAR2
49039 ,p_calculate_g_l_flag IN VARCHAR2
49040 ,p_actual_flag IN OUT VARCHAR2
49041 ,p_balance_type_code OUT VARCHAR2
49042 ,p_gain_or_loss_ref OUT VARCHAR2
49043
49044 --Automatic Offsets Value
49045 , p_source_10 IN VARCHAR2
49046 , p_source_10_meaning IN VARCHAR2
49047 --System Discount Account
49048 , p_source_13 IN NUMBER
49049 --Discount Distribution Method
49050 , p_source_14 IN VARCHAR2
49051 , p_source_14_meaning IN VARCHAR2
49052 --Invoice Distribution Account
49053 , p_source_25 IN NUMBER
49054 --Invoice Distribution Type
49055 , p_source_28 IN VARCHAR2
49056 , p_source_28_meaning IN VARCHAR2
49057 --Discount Account
49058 , p_source_40 IN NUMBER
49059 --Purchase Order Charge Account
49060 , p_source_41 IN NUMBER
49061 --Purchase Order Variance Account
49062 , p_source_42 IN NUMBER
49063 --When to Account for Payment Option
49064 , p_source_57 IN VARCHAR2
49065 --Accounting Reversal Indicator
49066 , p_source_58 IN VARCHAR2
49067 --Distribution Link Type
49068 , p_source_60 IN VARCHAR2
49069 --Invoice Currency Code
49070 , p_source_72 IN VARCHAR2
49071 --Override Accounted Amount Indicator
49072 , p_source_85 IN VARCHAR2
49073 , p_source_85_meaning IN VARCHAR2
49074 --Third Party Type
49075 , p_source_88 IN VARCHAR2
49076 --Invoice Distribution Tax Line Identifier
49077 , p_source_91 IN NUMBER
49078 --Invoice Distribution Summary Tax Line Identifier
49079 , p_source_93 IN NUMBER
49080 --Business Flow Accounts Payable Application Identifier
49081 , p_source_96 IN NUMBER
49082 --Payment Distribution Type
49083 , p_source_101 IN VARCHAR2
49084 , p_source_101_meaning IN VARCHAR2
49085 --Payment Distribution Amount
49086 , p_source_102 IN NUMBER
49087 --Business Flow Payment Distribution Type
49088 , p_source_103 IN VARCHAR2
49089 --Business Flow Payment Entity Code
49090 , p_source_104 IN VARCHAR2
49091 --Business Flow Payment Distribution Identifier
49092 , p_source_105 IN NUMBER
49093 --Business Flow Payment Identifier
49094 , p_source_106 IN NUMBER
49095 --Payment Distribution Identifier
49096 , p_source_107 IN NUMBER
49097 --Payment Distribution (Cleared Rate) Ledger Amount
49098 , p_source_112 IN NUMBER
49099 --Payment Supplier Identifier
49100 , p_source_113 IN NUMBER
49101 --Payment Supplier Site Identifier
49102 , p_source_114 IN NUMBER
49103 --Payment Distribution Reversed Identifier
49104 , p_source_115 IN NUMBER
49105 --Invoice Exchange Date
49106 , p_source_146 IN DATE
49107 --Invoice Exchange Rate
49108 , p_source_147 IN NUMBER
49109 --Invoice Exchange Rate Type
49110 , p_source_148 IN VARCHAR2
49111 )
49112 IS
49113
49114 l_component_type VARCHAR2(80);
49115 l_component_code VARCHAR2(30);
49116 l_component_type_code VARCHAR2(1);
49117 l_component_appl_id INTEGER;
49118 l_amb_context_code VARCHAR2(30);
49119 l_entity_code VARCHAR2(30);
49120 l_event_class_code VARCHAR2(30);
49121 l_ae_header_id NUMBER;
49122 l_event_type_code VARCHAR2(30);
49123 l_line_definition_code VARCHAR2(30);
49124 l_line_definition_owner_code VARCHAR2(1);
49125 --
49126 -- adr variables
49127 l_segment VARCHAR2(30);
49128 l_ccid NUMBER;
49129 l_adr_transaction_coa_id NUMBER;
49130 l_adr_accounting_coa_id NUMBER;
49131 l_adr_flexfield_segment_code VARCHAR2(30);
49132 l_adr_flex_value_set_id NUMBER;
49133 l_adr_value_type_code VARCHAR2(30);
49134 l_adr_value_combination_id NUMBER;
49135 l_adr_value_segment_code VARCHAR2(30);
49136
49137 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
49138 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
49139 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
49140 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
49141
49142 -- 4262811 Variables ------------------------------------------------------------------------------------------
49143 l_entered_amt_idx NUMBER;
49144 l_accted_amt_idx NUMBER;
49145 l_acc_rev_flag VARCHAR2(1);
49146 l_accrual_line_num NUMBER;
49147 l_tmp_amt NUMBER;
49148 l_acc_rev_natural_side_code VARCHAR2(1);
49149
49150 l_num_entries NUMBER;
49151 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
49152 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
49153 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
49154 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
49158 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
49155 l_recog_line_1 NUMBER;
49156 l_recog_line_2 NUMBER;
49157
49159 l_bflow_applied_to_amt NUMBER; -- 5132302
49160 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
49161
49162 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
49163
49164 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
49165 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
49166
49167 ---------------------------------------------------------------------------------------------------------------
49168
49169
49170 --
49171 -- bulk performance
49172 --
49173 l_balance_type_code VARCHAR2(1);
49174 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
49175 l_log_module VARCHAR2(240);
49176
49177 --
49178 -- Upgrade strategy
49179 --
49180 l_actual_upg_option VARCHAR2(1);
49181 l_enc_upg_option VARCHAR2(1);
49182
49183 --
49184 BEGIN
49185 --
49186 IF g_log_enabled THEN
49187 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_113';
49188 END IF;
49189 --
49190 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
49191
49192 trace
49193 (p_msg => 'BEGIN of AcctLineType_113'
49194 ,p_level => C_LEVEL_PROCEDURE
49195 ,p_module => l_log_module);
49196
49197 END IF;
49198 --
49199 l_component_type := 'AMB_JLT';
49200 l_component_code := 'AP_DISCOUNT_ACCR_CLEAR';
49201 l_component_type_code := 'S';
49202 l_component_appl_id := 200;
49203 l_amb_context_code := 'DEFAULT';
49204 l_entity_code := 'AP_PAYMENTS';
49205 l_event_class_code := 'RECONCILED PAYMENTS';
49206 l_event_type_code := 'RECONCILED PAYMENTS_ALL';
49207 l_line_definition_owner_code := 'S';
49208 l_line_definition_code := 'ACCRUAL_RECONCILED PAYMENTS_A4';
49209 --
49210 l_balance_type_code := 'A';
49211 l_segment := NULL;
49212 l_ccid := NULL;
49213 l_adr_transaction_coa_id := NULL;
49214 l_adr_accounting_coa_id := NULL;
49215 l_adr_flexfield_segment_code := NULL;
49216 l_adr_flex_value_set_id := NULL;
49217 l_adr_value_type_code := NULL;
49218 l_adr_value_combination_id := NULL;
49219 l_adr_value_segment_code := NULL;
49220
49221 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
49222 l_bflow_class_code := ''; -- 4219869 Business Flow
49223 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
49224 l_budgetary_control_flag := 'N';
49225
49226 l_bflow_applied_to_amt_idx := NULL; -- 5132302
49227 l_bflow_applied_to_amt := NULL; -- 5132302
49228 l_entered_amt_idx := NULL; -- 4262811
49229 l_accted_amt_idx := NULL; -- 4262811
49230 l_acc_rev_flag := NULL; -- 4262811
49231 l_accrual_line_num := NULL; -- 4262811
49232 l_tmp_amt := NULL; -- 4262811
49233 --
49234
49235 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
49236 l_balance_type_code <> 'B' THEN
49237 IF NVL(p_source_57,'
49238 ') = 'CLEAR_CLEAR' AND
49239 NVL(p_source_101,'
49240 ') = 'DISCOUNT' AND
49241 (NVL(p_source_28,'
49242 ') = 'ITEM' OR
49243 NVL(p_source_28,'
49244 ') = 'MISCELLANEOUS' OR
49245 NVL(p_source_28,'
49246 ') = 'FREIGHT' OR
49247 NVL(p_source_28,'
49248 ') = 'REC_TAX' OR
49249 NVL(p_source_28,'
49250 ') = 'NONREC_TAX' OR
49251 NVL(p_source_28,'
49252 ') = 'TIPV' OR
49253 NVL(p_source_28,'
49254 ') = 'TRV' OR
49255 NVL(p_source_28,'
49256 ') = 'IPV' OR
49257 NVL(p_source_28,'
49258 ') = 'ACCRUAL')
49259 THEN
49260
49261 --
49262 XLA_AE_LINES_PKG.SetNewLine;
49263
49264 p_balance_type_code := l_balance_type_code;
49265 -- set the flag so later we will know whether the gain loss line needs to be created
49266
49267 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
49268 p_actual_flag :='A';
49269 END IF;
49270
49271 --
49272 -- bulk performance
49273 --
49274 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
49275 p_header_num => 0); -- 4262811
49276 --
49277 -- set accounting line options
49278 --
49279 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
49280 p_natural_side_code => 'C'
49281 , p_gain_or_loss_flag => 'N'
49282 , p_gl_transfer_mode_code => 'S'
49283 , p_acct_entry_type_code => 'A'
49284 , p_switch_side_flag => 'Y'
49285 , p_merge_duplicate_code => 'A'
49286 );
49287 --
49288 l_acc_rev_natural_side_code := 'D'; -- 4262811
49289 --
49290 --
49291 -- set accounting line type info
49292 --
49293 xla_ae_lines_pkg.SetAcctLineType
49294 (p_component_type => l_component_type
49295 ,p_event_type_code => l_event_type_code
49296 ,p_line_definition_owner_code => l_line_definition_owner_code
49300 ,p_accounting_line_appl_id => l_component_appl_id
49297 ,p_line_definition_code => l_line_definition_code
49298 ,p_accounting_line_code => l_component_code
49299 ,p_accounting_line_type_code => l_component_type_code
49301 ,p_amb_context_code => l_amb_context_code
49302 ,p_entity_code => l_entity_code
49303 ,p_event_class_code => l_event_class_code);
49304 --
49305 -- set accounting class
49306 --
49307 xla_ae_lines_pkg.SetAcctClass(
49308 p_accounting_class_code => 'DISCOUNT'
49309 , p_ae_header_id => l_ae_header_id
49310 );
49311
49312 --
49313 -- set rounding class
49314 --
49315 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
49316 'DISCOUNT';
49317
49318 --
49319 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
49320 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
49321 --
49322 -- bulk performance
49323 --
49324 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
49325
49326 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
49327 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
49328
49329 -- 4955764
49330 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
49331 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
49332
49333 -- 4458381 Public Sector Enh
49334
49335 --
49336 -- set accounting attributes for the line type
49337 --
49338 l_entered_amt_idx := 10;
49339 l_accted_amt_idx := 15;
49340 l_bflow_applied_to_amt_idx := 2; -- 5132302
49341 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
49342 l_rec_acct_attrs.array_char_value(1) := p_source_58;
49343 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
49344 l_rec_acct_attrs.array_num_value(2) := p_source_102;
49345 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
49346 l_rec_acct_attrs.array_num_value(3) := p_source_96;
49347 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
49348 l_rec_acct_attrs.array_char_value(4) := p_source_103;
49349 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
49350 l_rec_acct_attrs.array_char_value(5) := p_source_104;
49351 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
49352 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_105);
49353 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
49354 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_106);
49355 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
49356 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_107);
49357 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
49358 l_rec_acct_attrs.array_char_value(9) := p_source_60;
49359 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
49360 l_rec_acct_attrs.array_num_value(10) := p_source_102;
49361 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
49362 l_rec_acct_attrs.array_char_value(11) := p_source_72;
49363 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
49364 l_rec_acct_attrs.array_date_value(12) := p_source_146;
49365 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
49366 l_rec_acct_attrs.array_num_value(13) := p_source_147;
49367 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
49368 l_rec_acct_attrs.array_char_value(14) := p_source_148;
49369 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
49370 l_rec_acct_attrs.array_num_value(15) := p_source_112;
49371 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
49372 l_rec_acct_attrs.array_char_value(16) := p_source_85;
49373 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
49374 l_rec_acct_attrs.array_num_value(17) := p_source_113;
49375 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
49376 l_rec_acct_attrs.array_num_value(18) := p_source_114;
49377 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
49378 l_rec_acct_attrs.array_char_value(19) := p_source_88;
49379 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
49380 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_115);
49381 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
49382 l_rec_acct_attrs.array_char_value(21) := p_source_60;
49383 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
49384 l_rec_acct_attrs.array_num_value(22) := p_source_91;
49385 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
49386 l_rec_acct_attrs.array_num_value(23) := p_source_91;
49387 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
49388 l_rec_acct_attrs.array_num_value(24) := p_source_93;
49389
49390 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
49391 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
49392
49393 ---------------------------------------------------------------------------------------------------------------
49394 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
49398 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
49395 ---------------------------------------------------------------------------------------------------------------
49396 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
49397
49399 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
49400
49401 IF xla_accounting_cache_pkg.GetValueChar
49402 (p_source_code => 'LEDGER_CATEGORY_CODE'
49403 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
49404 AND l_bflow_method_code = 'PRIOR_ENTRY'
49405 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
49406 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
49407 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
49408 )
49409 THEN
49410 xla_ae_lines_pkg.BflowUpgEntry
49411 (p_business_method_code => l_bflow_method_code
49412 ,p_business_class_code => l_bflow_class_code
49413 ,p_balance_type => l_balance_type_code);
49414 ELSE
49415 NULL;
49416 -- No business flow processing for business flow method of NONE.
49417 END IF;
49418
49419 --
49420 -- call analytical criteria
49421 --
49422
49423 --
49424 -- call description
49425 --
49426 -- No description or it is inherited.
49427 --
49428 -- call ADRs
49429 -- Bug 4922099
49430 --
49431 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
49432 (NVL(l_actual_upg_option, 'N') = 'O') OR
49433 (NVL(l_enc_upg_option, 'N') = 'O')
49434 )
49435 THEN
49436 NULL;
49437 --
49438 --
49439
49440 l_ccid := AcctDerRule_31(
49441 p_application_id => p_application_id
49442 , p_ae_header_id => l_ae_header_id
49443 , p_source_10 => p_source_10
49444 , p_source_10_meaning => p_source_10_meaning
49445 , p_source_13 => p_source_13
49446 , p_source_14 => p_source_14
49447 , p_source_14_meaning => p_source_14_meaning
49448 , p_source_25 => p_source_25
49449 , p_source_28 => p_source_28
49450 , p_source_28_meaning => p_source_28_meaning
49451 , p_source_40 => p_source_40
49452 , p_source_41 => p_source_41
49453 , p_source_42 => p_source_42
49454 , x_transaction_coa_id => l_adr_transaction_coa_id
49455 , x_accounting_coa_id => l_adr_accounting_coa_id
49456 , x_value_type_code => l_adr_value_type_code
49457 , p_side => 'NA'
49458 );
49459
49460 xla_ae_lines_pkg.set_ccid(
49461 p_code_combination_id => l_ccid
49462 , p_value_type_code => l_adr_value_type_code
49463 , p_transaction_coa_id => l_adr_transaction_coa_id
49464 , p_accounting_coa_id => l_adr_accounting_coa_id
49465 , p_adr_code => 'AP_DISCOUNT'
49466 , p_adr_type_code => 'S'
49467 , p_component_type => l_component_type
49468 , p_component_code => l_component_code
49469 , p_component_type_code => l_component_type_code
49470 , p_component_appl_id => l_component_appl_id
49471 , p_amb_context_code => l_amb_context_code
49472 , p_side => 'NA'
49473 );
49474
49475
49476 l_segment := AcctDerRule_22(
49477 p_application_id => p_application_id
49478 , p_ae_header_id => l_ae_header_id
49479 , p_source_10 => p_source_10
49480 , p_source_10_meaning => p_source_10_meaning
49481 , p_source_14 => p_source_14
49482 , p_source_14_meaning => p_source_14_meaning
49483 , p_source_25 => p_source_25
49484 , x_transaction_coa_id => l_adr_transaction_coa_id
49485 , x_accounting_coa_id => l_adr_accounting_coa_id
49486 , x_flexfield_segment_code => l_adr_flexfield_segment_code
49487 , x_flex_value_set_id => l_adr_flex_value_set_id
49488 , x_value_type_code => l_adr_value_type_code
49489 , x_value_combination_id => l_adr_value_combination_id
49490 , x_value_segment_code => l_adr_value_segment_code
49491 , p_side => 'NA'
49492 , p_override_seg_flag => 'Y'
49493 );
49494
49495 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
49496
49497 xla_ae_lines_pkg.set_segment(
49498 p_to_segment_code => 'GL_BALANCING'
49499 , p_segment_value => l_segment
49500 , p_from_segment_code => l_adr_value_segment_code
49501 , p_from_combination_id => l_adr_value_combination_id
49502 , p_value_type_code => l_adr_value_type_code
49503 , p_transaction_coa_id => l_adr_transaction_coa_id
49504 , p_accounting_coa_id => l_adr_accounting_coa_id
49505 , p_flexfield_segment_code => l_adr_flexfield_segment_code
49506 , p_flex_value_set_id => l_adr_flex_value_set_id
49507 , p_adr_code => 'AP_DISCOUNT_BAL_ACCT_SEG'
49508 , p_adr_type_code => 'S'
49509 , p_component_type => l_component_type
49510 , p_component_code => l_component_code
49511 , p_component_type_code => l_component_type_code
49512 , p_component_appl_id => l_component_appl_id
49513 , p_amb_context_code => l_amb_context_code
49517 );
49514 , p_entity_code => 'AP_PAYMENTS'
49515 , p_event_class_code => 'RECONCILED PAYMENTS'
49516 , p_side => 'NA'
49518
49519 END IF;
49520
49521 l_segment := AcctDerRule_7(
49522 p_application_id => p_application_id
49523 , p_ae_header_id => l_ae_header_id
49524 , p_source_10 => p_source_10
49525 , p_source_10_meaning => p_source_10_meaning
49526 , p_source_13 => p_source_13
49527 , p_source_14 => p_source_14
49528 , p_source_14_meaning => p_source_14_meaning
49529 , x_transaction_coa_id => l_adr_transaction_coa_id
49530 , x_accounting_coa_id => l_adr_accounting_coa_id
49531 , x_flexfield_segment_code => l_adr_flexfield_segment_code
49532 , x_flex_value_set_id => l_adr_flex_value_set_id
49533 , x_value_type_code => l_adr_value_type_code
49534 , x_value_combination_id => l_adr_value_combination_id
49535 , x_value_segment_code => l_adr_value_segment_code
49536 , p_side => 'NA'
49537 , p_override_seg_flag => 'Y'
49538 );
49539
49540 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
49541
49542 xla_ae_lines_pkg.set_segment(
49543 p_to_segment_code => 'GL_ACCOUNT'
49544 , p_segment_value => l_segment
49545 , p_from_segment_code => l_adr_value_segment_code
49546 , p_from_combination_id => l_adr_value_combination_id
49547 , p_value_type_code => l_adr_value_type_code
49548 , p_transaction_coa_id => l_adr_transaction_coa_id
49549 , p_accounting_coa_id => l_adr_accounting_coa_id
49550 , p_flexfield_segment_code => l_adr_flexfield_segment_code
49551 , p_flex_value_set_id => l_adr_flex_value_set_id
49552 , p_adr_code => 'AP_DISCOUNT_NAT_ACCT_SEG'
49553 , p_adr_type_code => 'S'
49554 , p_component_type => l_component_type
49555 , p_component_code => l_component_code
49556 , p_component_type_code => l_component_type_code
49557 , p_component_appl_id => l_component_appl_id
49558 , p_amb_context_code => l_amb_context_code
49559 , p_entity_code => 'AP_PAYMENTS'
49560 , p_event_class_code => 'RECONCILED PAYMENTS'
49561 , p_side => 'NA'
49562 );
49563
49564 END IF;
49565
49566 --
49567 --
49568 END IF;
49569 --
49570 -- Bug 4922099
49571 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
49572 (NVL(l_enc_upg_option, 'N') = 'O')
49573 ) AND
49574 (l_bflow_method_code = 'PRIOR_ENTRY')
49575 )
49576 THEN
49577 IF
49578 --
49579 1 = 2
49580 --
49581 THEN
49582 xla_accounting_err_pkg.build_message
49583 (p_appli_s_name => 'XLA'
49584 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
49585 ,p_token_1 => 'LINE_NUMBER'
49586 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
49587 ,p_token_2 => 'LINE_TYPE_NAME'
49588 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
49589 l_component_type
49590 ,l_component_code
49591 ,l_component_type_code
49592 ,l_component_appl_id
49593 ,l_amb_context_code
49594 ,l_entity_code
49595 ,l_event_class_code
49596 )
49597 ,p_token_3 => 'OWNER'
49598 ,p_value_3 => xla_lookups_pkg.get_meaning(
49599 p_lookup_type => 'XLA_OWNER_TYPE'
49600 ,p_lookup_code => l_component_type_code
49601 )
49602 ,p_token_4 => 'PRODUCT_NAME'
49603 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
49604 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
49605 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
49606 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
49607 ,p_ae_header_id => NULL
49608 );
49609
49610 IF (C_LEVEL_ERROR>= g_log_level) THEN
49614 ,p_module => l_log_module);
49611 trace
49612 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
49613 ,p_level => C_LEVEL_ERROR
49615 END IF;
49616 END IF;
49617 END IF;
49618 --
49619 --
49620 ------------------------------------------------------------------------------------------------
49621 -- 4219869 Business Flow
49622 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
49623 -- Prior Entry. Currently, the following code is always generated.
49624 ------------------------------------------------------------------------------------------------
49625 XLA_AE_LINES_PKG.ValidateCurrentLine;
49626
49627 ------------------------------------------------------------------------------------
49628 -- 4219869 Business Flow
49629 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
49630 ------------------------------------------------------------------------------------
49631 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
49632
49633 ----------------------------------------------------------------------------------
49634 -- 4219869 Business Flow
49635 -- Update journal entry status -- Need to generate this within IF <condition>
49636 ----------------------------------------------------------------------------------
49637 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
49638 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
49639 ,p_balance_type_code => l_balance_type_code
49640 );
49641
49642 -------------------------------------------------------------------------------------------
49643 -- 4262811 - Generate the Accrual Reversal lines
49644 -------------------------------------------------------------------------------------------
49645 BEGIN
49646 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
49647 (g_array_event(p_event_id).array_value_num('header_index'));
49648 IF l_acc_rev_flag IS NULL THEN
49649 l_acc_rev_flag := 'N';
49650 END IF;
49651 EXCEPTION
49652 WHEN OTHERS THEN
49653 l_acc_rev_flag := 'N';
49654 END;
49655 --
49656 IF (l_acc_rev_flag = 'Y') THEN
49657
49658 -- 4645092 ------------------------------------------------------------------------------
49659 -- To allow MPA report to determine if it should generate report process
49660 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
49661 ------------------------------------------------------------------------------------------
49662
49663 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
49664 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
49665 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
49666 -- call ADRs
49667 -- Bug 4922099
49668 --
49669 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
49670 (NVL(l_actual_upg_option, 'N') = 'O') OR
49671 (NVL(l_enc_upg_option, 'N') = 'O')
49672 )
49673 THEN
49674 NULL;
49675 --
49676 --
49677
49678 l_ccid := AcctDerRule_31(
49679 p_application_id => p_application_id
49680 , p_ae_header_id => l_ae_header_id
49681 , p_source_10 => p_source_10
49682 , p_source_10_meaning => p_source_10_meaning
49683 , p_source_13 => p_source_13
49684 , p_source_14 => p_source_14
49685 , p_source_14_meaning => p_source_14_meaning
49686 , p_source_25 => p_source_25
49687 , p_source_28 => p_source_28
49688 , p_source_28_meaning => p_source_28_meaning
49689 , p_source_40 => p_source_40
49690 , p_source_41 => p_source_41
49691 , p_source_42 => p_source_42
49692 , x_transaction_coa_id => l_adr_transaction_coa_id
49693 , x_accounting_coa_id => l_adr_accounting_coa_id
49694 , x_value_type_code => l_adr_value_type_code
49695 , p_side => 'NA'
49696 );
49697
49698 xla_ae_lines_pkg.set_ccid(
49699 p_code_combination_id => l_ccid
49700 , p_value_type_code => l_adr_value_type_code
49701 , p_transaction_coa_id => l_adr_transaction_coa_id
49702 , p_accounting_coa_id => l_adr_accounting_coa_id
49703 , p_adr_code => 'AP_DISCOUNT'
49704 , p_adr_type_code => 'S'
49705 , p_component_type => l_component_type
49706 , p_component_code => l_component_code
49707 , p_component_type_code => l_component_type_code
49708 , p_component_appl_id => l_component_appl_id
49709 , p_amb_context_code => l_amb_context_code
49710 , p_side => 'NA'
49711 );
49712
49713
49714 l_segment := AcctDerRule_22(
49715 p_application_id => p_application_id
49716 , p_ae_header_id => l_ae_header_id
49717 , p_source_10 => p_source_10
49718 , p_source_10_meaning => p_source_10_meaning
49719 , p_source_14 => p_source_14
49720 , p_source_14_meaning => p_source_14_meaning
49721 , p_source_25 => p_source_25
49722 , x_transaction_coa_id => l_adr_transaction_coa_id
49723 , x_accounting_coa_id => l_adr_accounting_coa_id
49724 , x_flexfield_segment_code => l_adr_flexfield_segment_code
49725 , x_flex_value_set_id => l_adr_flex_value_set_id
49729 , p_side => 'NA'
49726 , x_value_type_code => l_adr_value_type_code
49727 , x_value_combination_id => l_adr_value_combination_id
49728 , x_value_segment_code => l_adr_value_segment_code
49730 , p_override_seg_flag => 'Y'
49731 );
49732
49733 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
49734
49735 xla_ae_lines_pkg.set_segment(
49736 p_to_segment_code => 'GL_BALANCING'
49737 , p_segment_value => l_segment
49738 , p_from_segment_code => l_adr_value_segment_code
49739 , p_from_combination_id => l_adr_value_combination_id
49740 , p_value_type_code => l_adr_value_type_code
49741 , p_transaction_coa_id => l_adr_transaction_coa_id
49742 , p_accounting_coa_id => l_adr_accounting_coa_id
49743 , p_flexfield_segment_code => l_adr_flexfield_segment_code
49744 , p_flex_value_set_id => l_adr_flex_value_set_id
49745 , p_adr_code => 'AP_DISCOUNT_BAL_ACCT_SEG'
49746 , p_adr_type_code => 'S'
49747 , p_component_type => l_component_type
49748 , p_component_code => l_component_code
49749 , p_component_type_code => l_component_type_code
49750 , p_component_appl_id => l_component_appl_id
49751 , p_amb_context_code => l_amb_context_code
49752 , p_entity_code => 'AP_PAYMENTS'
49753 , p_event_class_code => 'RECONCILED PAYMENTS'
49754 , p_side => 'NA'
49755 );
49756
49757 END IF;
49758
49759 l_segment := AcctDerRule_7(
49760 p_application_id => p_application_id
49761 , p_ae_header_id => l_ae_header_id
49762 , p_source_10 => p_source_10
49763 , p_source_10_meaning => p_source_10_meaning
49764 , p_source_13 => p_source_13
49765 , p_source_14 => p_source_14
49766 , p_source_14_meaning => p_source_14_meaning
49767 , x_transaction_coa_id => l_adr_transaction_coa_id
49768 , x_accounting_coa_id => l_adr_accounting_coa_id
49769 , x_flexfield_segment_code => l_adr_flexfield_segment_code
49770 , x_flex_value_set_id => l_adr_flex_value_set_id
49771 , x_value_type_code => l_adr_value_type_code
49772 , x_value_combination_id => l_adr_value_combination_id
49773 , x_value_segment_code => l_adr_value_segment_code
49774 , p_side => 'NA'
49775 , p_override_seg_flag => 'Y'
49776 );
49777
49778 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
49779
49780 xla_ae_lines_pkg.set_segment(
49781 p_to_segment_code => 'GL_ACCOUNT'
49782 , p_segment_value => l_segment
49783 , p_from_segment_code => l_adr_value_segment_code
49784 , p_from_combination_id => l_adr_value_combination_id
49785 , p_value_type_code => l_adr_value_type_code
49786 , p_transaction_coa_id => l_adr_transaction_coa_id
49787 , p_accounting_coa_id => l_adr_accounting_coa_id
49788 , p_flexfield_segment_code => l_adr_flexfield_segment_code
49789 , p_flex_value_set_id => l_adr_flex_value_set_id
49790 , p_adr_code => 'AP_DISCOUNT_NAT_ACCT_SEG'
49791 , p_adr_type_code => 'S'
49792 , p_component_type => l_component_type
49793 , p_component_code => l_component_code
49794 , p_component_type_code => l_component_type_code
49795 , p_component_appl_id => l_component_appl_id
49796 , p_amb_context_code => l_amb_context_code
49797 , p_entity_code => 'AP_PAYMENTS'
49798 , p_event_class_code => 'RECONCILED PAYMENTS'
49799 , p_side => 'NA'
49800 );
49801
49802 END IF;
49803
49804 --
49805 --
49806 END IF;
49807
49808 --
49809 -- Update the line information that should be overwritten
49810 --
49811 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
49812 p_header_num => 1);
49813 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
49814
49815 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
49816
49817 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
49818 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
49819 END IF;
49820
49821 --
49822 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
49823 --
49824 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
49825 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
49826 ELSE
49827 ---------------------------------------------------------------------------------------------------
49828 -- 4262811a Switch Sign
49829 ---------------------------------------------------------------------------------------------------
49830 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
49831 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
49835 -- 5132302
49832 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
49833 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
49834 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
49836 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
49837 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
49838
49839 END IF;
49840
49841 -- 4955764
49842 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
49843 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
49844
49845
49846 XLA_AE_LINES_PKG.ValidateCurrentLine;
49847 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
49848
49849 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
49850 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
49851 ,p_balance_type_code => l_balance_type_code);
49852
49853 END IF;
49854
49855 -----------------------------------------------------------------------------------------
49856 -- 4262811 Multiperiod Accounting
49857 -----------------------------------------------------------------------------------------
49858 -- No MPA option is assigned.
49859
49860
49861 END IF;
49862 END IF;
49863 --
49864
49865 --
49866 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
49867 trace
49868 (p_msg => 'END of AcctLineType_113'
49869 ,p_level => C_LEVEL_PROCEDURE
49870 ,p_module => l_log_module);
49871 END IF;
49872 --
49873 EXCEPTION
49874 WHEN xla_exceptions_pkg.application_exception THEN
49875 RAISE;
49876 WHEN OTHERS THEN
49877 xla_exceptions_pkg.raise_message
49878 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_113');
49879 END AcctLineType_113;
49880 --
49881
49882 ---------------------------------------
49883 --
49884 -- PRIVATE FUNCTION
49885 -- AcctLineType_114
49886 --
49887 ---------------------------------------
49888 PROCEDURE AcctLineType_114 (
49889 p_application_id IN NUMBER
49890 ,p_event_id IN NUMBER
49891 ,p_calculate_acctd_flag IN VARCHAR2
49892 ,p_calculate_g_l_flag IN VARCHAR2
49893 ,p_actual_flag IN OUT VARCHAR2
49894 ,p_balance_type_code OUT VARCHAR2
49895 ,p_gain_or_loss_ref OUT VARCHAR2
49896
49897 --Payment Currency Code
49898 , p_source_8 IN VARCHAR2
49899 --Automatic Offsets Value
49900 , p_source_10 IN VARCHAR2
49901 , p_source_10_meaning IN VARCHAR2
49902 --System Discount Account
49903 , p_source_13 IN NUMBER
49904 --Discount Distribution Method
49905 , p_source_14 IN VARCHAR2
49906 , p_source_14_meaning IN VARCHAR2
49907 --Invoice Distribution Account
49908 , p_source_25 IN NUMBER
49909 --Invoice Distribution Type
49910 , p_source_28 IN VARCHAR2
49911 , p_source_28_meaning IN VARCHAR2
49912 --Discount Account
49913 , p_source_40 IN NUMBER
49914 --Purchase Order Charge Account
49915 , p_source_41 IN NUMBER
49916 --Purchase Order Variance Account
49917 , p_source_42 IN NUMBER
49918 --When to Account for Payment Option
49919 , p_source_57 IN VARCHAR2
49920 --Accounting Reversal Indicator
49921 , p_source_58 IN VARCHAR2
49922 --Distribution Link Type
49923 , p_source_60 IN VARCHAR2
49924 --Override Accounted Amount Indicator
49925 , p_source_85 IN VARCHAR2
49926 , p_source_85_meaning IN VARCHAR2
49927 --Third Party Type
49928 , p_source_88 IN VARCHAR2
49929 --Invoice Distribution Tax Line Identifier
49930 , p_source_91 IN NUMBER
49931 --Invoice Distribution Tax Distribution Identifier from Tax
49932 , p_source_92 IN NUMBER
49933 --Invoice Distribution Summary Tax Line Identifier
49934 , p_source_93 IN NUMBER
49935 --Business Flow Accounts Payable Application Identifier
49936 , p_source_96 IN NUMBER
49937 --Business Flow Invoice Distribution Type
49938 , p_source_97 IN VARCHAR2
49939 --Business Flow Invoice Entity Code
49940 , p_source_98 IN VARCHAR2
49941 --Business Flow Invoice Distribution Identifier
49942 , p_source_99 IN NUMBER
49943 --Business Flow Invoice Identifier
49944 , p_source_100 IN NUMBER
49945 --Payment Distribution Type
49946 , p_source_101 IN VARCHAR2
49947 , p_source_101_meaning IN VARCHAR2
49948 --Payment Distribution Amount
49949 , p_source_102 IN NUMBER
49950 --Payment Distribution Identifier
49951 , p_source_107 IN NUMBER
49952 --Payment Supplier Identifier
49953 , p_source_113 IN NUMBER
49954 --Payment Supplier Site Identifier
49955 , p_source_114 IN NUMBER
49956 --Payment Distribution Reversed Identifier
49957 , p_source_115 IN NUMBER
49958 --Payment Distribution (Payment Rate) Ledger Amount
49959 , p_source_118 IN NUMBER
49960 --Payment Type
49961 , p_source_125 IN VARCHAR2
49962 , p_source_125_meaning IN VARCHAR2
49963 --Payment Processing Type
49964 , p_source_126 IN VARCHAR2
49968 , p_source_146 IN DATE
49965 --Invoice Distribution Amount of the Payment Distribution
49966 , p_source_127 IN NUMBER
49967 --Invoice Exchange Date
49969 --Invoice Exchange Rate
49970 , p_source_147 IN NUMBER
49971 --Invoice Exchange Rate Type
49972 , p_source_148 IN VARCHAR2
49973 )
49974 IS
49975
49976 l_component_type VARCHAR2(80);
49977 l_component_code VARCHAR2(30);
49978 l_component_type_code VARCHAR2(1);
49979 l_component_appl_id INTEGER;
49980 l_amb_context_code VARCHAR2(30);
49981 l_entity_code VARCHAR2(30);
49982 l_event_class_code VARCHAR2(30);
49983 l_ae_header_id NUMBER;
49984 l_event_type_code VARCHAR2(30);
49985 l_line_definition_code VARCHAR2(30);
49986 l_line_definition_owner_code VARCHAR2(1);
49987 --
49988 -- adr variables
49989 l_segment VARCHAR2(30);
49990 l_ccid NUMBER;
49991 l_adr_transaction_coa_id NUMBER;
49992 l_adr_accounting_coa_id NUMBER;
49993 l_adr_flexfield_segment_code VARCHAR2(30);
49994 l_adr_flex_value_set_id NUMBER;
49995 l_adr_value_type_code VARCHAR2(30);
49996 l_adr_value_combination_id NUMBER;
49997 l_adr_value_segment_code VARCHAR2(30);
49998
49999 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
50000 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
50001 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
50002 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
50003
50004 -- 4262811 Variables ------------------------------------------------------------------------------------------
50005 l_entered_amt_idx NUMBER;
50006 l_accted_amt_idx NUMBER;
50007 l_acc_rev_flag VARCHAR2(1);
50008 l_accrual_line_num NUMBER;
50009 l_tmp_amt NUMBER;
50010 l_acc_rev_natural_side_code VARCHAR2(1);
50011
50012 l_num_entries NUMBER;
50013 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
50014 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
50015 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
50016 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
50017 l_recog_line_1 NUMBER;
50018 l_recog_line_2 NUMBER;
50019
50020 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
50021 l_bflow_applied_to_amt NUMBER; -- 5132302
50022 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
50023
50024 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
50025
50026 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
50027 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
50028
50029 ---------------------------------------------------------------------------------------------------------------
50030
50031
50032 --
50033 -- bulk performance
50034 --
50035 l_balance_type_code VARCHAR2(1);
50036 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
50037 l_log_module VARCHAR2(240);
50038
50039 --
50040 -- Upgrade strategy
50041 --
50042 l_actual_upg_option VARCHAR2(1);
50043 l_enc_upg_option VARCHAR2(1);
50044
50045 --
50046 BEGIN
50047 --
50048 IF g_log_enabled THEN
50049 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_114';
50050 END IF;
50051 --
50052 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
50053
50054 trace
50055 (p_msg => 'BEGIN of AcctLineType_114'
50056 ,p_level => C_LEVEL_PROCEDURE
50057 ,p_module => l_log_module);
50058
50059 END IF;
50060 --
50061 l_component_type := 'AMB_JLT';
50062 l_component_code := 'AP_DISCOUNT_ACCR_PMT';
50063 l_component_type_code := 'S';
50064 l_component_appl_id := 200;
50065 l_amb_context_code := 'DEFAULT';
50066 l_entity_code := 'AP_PAYMENTS';
50067 l_event_class_code := 'PAYMENTS';
50068 l_event_type_code := 'PAYMENTS_ALL';
50069 l_line_definition_owner_code := 'S';
50070 l_line_definition_code := 'ACCRUAL_PAYMENTS_ALL';
50071 --
50072 l_balance_type_code := 'A';
50073 l_segment := NULL;
50074 l_ccid := NULL;
50075 l_adr_transaction_coa_id := NULL;
50076 l_adr_accounting_coa_id := NULL;
50077 l_adr_flexfield_segment_code := NULL;
50078 l_adr_flex_value_set_id := NULL;
50079 l_adr_value_type_code := NULL;
50080 l_adr_value_combination_id := NULL;
50081 l_adr_value_segment_code := NULL;
50082
50083 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
50084 l_bflow_class_code := ''; -- 4219869 Business Flow
50085 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
50086 l_budgetary_control_flag := 'N';
50087
50088 l_bflow_applied_to_amt_idx := NULL; -- 5132302
50089 l_bflow_applied_to_amt := NULL; -- 5132302
50090 l_entered_amt_idx := NULL; -- 4262811
50091 l_accted_amt_idx := NULL; -- 4262811
50092 l_acc_rev_flag := NULL; -- 4262811
50096
50093 l_accrual_line_num := NULL; -- 4262811
50094 l_tmp_amt := NULL; -- 4262811
50095 --
50097 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
50098 l_balance_type_code <> 'B' THEN
50099 IF NVL(p_source_57,'
50100 ') <> 'CLEAR_CLEAR' AND
50101 NVL(p_source_101,'
50102 ') = 'DISCOUNT' AND
50103 NVL(p_source_125,'
50104 ') <> 'R' AND
50105 NVL(p_source_126,'
50106 ') <> 'PAYMENTCARD'
50107 THEN
50108
50109 --
50110 XLA_AE_LINES_PKG.SetNewLine;
50111
50112 p_balance_type_code := l_balance_type_code;
50113 -- set the flag so later we will know whether the gain loss line needs to be created
50114
50115 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
50116 p_actual_flag :='A';
50117 END IF;
50118
50119 --
50120 -- bulk performance
50121 --
50122 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
50123 p_header_num => 0); -- 4262811
50124 --
50125 -- set accounting line options
50126 --
50127 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
50128 p_natural_side_code => 'C'
50129 , p_gain_or_loss_flag => 'N'
50130 , p_gl_transfer_mode_code => 'S'
50131 , p_acct_entry_type_code => 'A'
50132 , p_switch_side_flag => 'Y'
50133 , p_merge_duplicate_code => 'A'
50134 );
50135 --
50136 l_acc_rev_natural_side_code := 'D'; -- 4262811
50137 --
50138 --
50139 -- set accounting line type info
50140 --
50141 xla_ae_lines_pkg.SetAcctLineType
50142 (p_component_type => l_component_type
50143 ,p_event_type_code => l_event_type_code
50144 ,p_line_definition_owner_code => l_line_definition_owner_code
50145 ,p_line_definition_code => l_line_definition_code
50146 ,p_accounting_line_code => l_component_code
50147 ,p_accounting_line_type_code => l_component_type_code
50148 ,p_accounting_line_appl_id => l_component_appl_id
50149 ,p_amb_context_code => l_amb_context_code
50150 ,p_entity_code => l_entity_code
50151 ,p_event_class_code => l_event_class_code);
50152 --
50153 -- set accounting class
50154 --
50155 xla_ae_lines_pkg.SetAcctClass(
50156 p_accounting_class_code => 'DISCOUNT'
50157 , p_ae_header_id => l_ae_header_id
50158 );
50159
50160 --
50161 -- set rounding class
50162 --
50163 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
50164 'DISCOUNT';
50165
50166 --
50167 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
50168 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
50169 --
50170 -- bulk performance
50171 --
50172 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
50173
50174 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
50175 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
50176
50177 -- 4955764
50178 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
50179 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
50180
50181 -- 4458381 Public Sector Enh
50182
50183 --
50184 -- set accounting attributes for the line type
50185 --
50186 l_entered_amt_idx := 10;
50187 l_accted_amt_idx := 15;
50188 l_bflow_applied_to_amt_idx := 2; -- 5132302
50189 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
50190 l_rec_acct_attrs.array_char_value(1) := p_source_58;
50191 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
50192 l_rec_acct_attrs.array_num_value(2) := p_source_127;
50193 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
50194 l_rec_acct_attrs.array_num_value(3) := p_source_96;
50195 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
50196 l_rec_acct_attrs.array_char_value(4) := p_source_97;
50197 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
50198 l_rec_acct_attrs.array_char_value(5) := p_source_98;
50199 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
50200 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_99);
50201 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
50202 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_100);
50203 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
50204 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_107);
50205 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
50206 l_rec_acct_attrs.array_char_value(9) := p_source_60;
50207 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
50208 l_rec_acct_attrs.array_num_value(10) := p_source_102;
50209 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
50210 l_rec_acct_attrs.array_char_value(11) := p_source_8;
50211 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
50212 l_rec_acct_attrs.array_date_value(12) := p_source_146;
50216 l_rec_acct_attrs.array_char_value(14) := p_source_148;
50213 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
50214 l_rec_acct_attrs.array_num_value(13) := p_source_147;
50215 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
50217 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
50218 l_rec_acct_attrs.array_num_value(15) := p_source_118;
50219 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
50220 l_rec_acct_attrs.array_char_value(16) := p_source_85;
50221 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
50222 l_rec_acct_attrs.array_num_value(17) := p_source_113;
50223 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
50224 l_rec_acct_attrs.array_num_value(18) := p_source_114;
50225 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
50226 l_rec_acct_attrs.array_char_value(19) := p_source_88;
50227 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
50228 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_115);
50229 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
50230 l_rec_acct_attrs.array_char_value(21) := p_source_60;
50231 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
50232 l_rec_acct_attrs.array_num_value(22) := p_source_91;
50233 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
50234 l_rec_acct_attrs.array_num_value(23) := p_source_92;
50235 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
50236 l_rec_acct_attrs.array_num_value(24) := p_source_93;
50237
50238 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
50239 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
50240
50241 ---------------------------------------------------------------------------------------------------------------
50242 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
50243 ---------------------------------------------------------------------------------------------------------------
50244 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
50245
50246 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
50247 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
50248
50249 IF xla_accounting_cache_pkg.GetValueChar
50250 (p_source_code => 'LEDGER_CATEGORY_CODE'
50251 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
50252 AND l_bflow_method_code = 'PRIOR_ENTRY'
50253 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
50254 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
50255 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
50256 )
50257 THEN
50258 xla_ae_lines_pkg.BflowUpgEntry
50259 (p_business_method_code => l_bflow_method_code
50260 ,p_business_class_code => l_bflow_class_code
50261 ,p_balance_type => l_balance_type_code);
50262 ELSE
50263 NULL;
50264 -- No business flow processing for business flow method of NONE.
50265 END IF;
50266
50267 --
50268 -- call analytical criteria
50269 --
50270
50271 --
50272 -- call description
50273 --
50274 -- No description or it is inherited.
50275 --
50276 -- call ADRs
50277 -- Bug 4922099
50278 --
50279 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
50280 (NVL(l_actual_upg_option, 'N') = 'O') OR
50281 (NVL(l_enc_upg_option, 'N') = 'O')
50282 )
50283 THEN
50284 NULL;
50285 --
50286 --
50287
50288 l_ccid := AcctDerRule_31(
50289 p_application_id => p_application_id
50290 , p_ae_header_id => l_ae_header_id
50291 , p_source_10 => p_source_10
50292 , p_source_10_meaning => p_source_10_meaning
50293 , p_source_13 => p_source_13
50294 , p_source_14 => p_source_14
50295 , p_source_14_meaning => p_source_14_meaning
50296 , p_source_25 => p_source_25
50297 , p_source_28 => p_source_28
50298 , p_source_28_meaning => p_source_28_meaning
50299 , p_source_40 => p_source_40
50300 , p_source_41 => p_source_41
50301 , p_source_42 => p_source_42
50302 , x_transaction_coa_id => l_adr_transaction_coa_id
50303 , x_accounting_coa_id => l_adr_accounting_coa_id
50304 , x_value_type_code => l_adr_value_type_code
50305 , p_side => 'NA'
50306 );
50307
50308 xla_ae_lines_pkg.set_ccid(
50309 p_code_combination_id => l_ccid
50310 , p_value_type_code => l_adr_value_type_code
50311 , p_transaction_coa_id => l_adr_transaction_coa_id
50312 , p_accounting_coa_id => l_adr_accounting_coa_id
50313 , p_adr_code => 'AP_DISCOUNT'
50314 , p_adr_type_code => 'S'
50315 , p_component_type => l_component_type
50316 , p_component_code => l_component_code
50317 , p_component_type_code => l_component_type_code
50318 , p_component_appl_id => l_component_appl_id
50319 , p_amb_context_code => l_amb_context_code
50320 , p_side => 'NA'
50321 );
50322
50323
50327 , p_source_10 => p_source_10
50324 l_segment := AcctDerRule_22(
50325 p_application_id => p_application_id
50326 , p_ae_header_id => l_ae_header_id
50328 , p_source_10_meaning => p_source_10_meaning
50329 , p_source_14 => p_source_14
50330 , p_source_14_meaning => p_source_14_meaning
50331 , p_source_25 => p_source_25
50332 , x_transaction_coa_id => l_adr_transaction_coa_id
50333 , x_accounting_coa_id => l_adr_accounting_coa_id
50334 , x_flexfield_segment_code => l_adr_flexfield_segment_code
50335 , x_flex_value_set_id => l_adr_flex_value_set_id
50336 , x_value_type_code => l_adr_value_type_code
50337 , x_value_combination_id => l_adr_value_combination_id
50338 , x_value_segment_code => l_adr_value_segment_code
50339 , p_side => 'NA'
50340 , p_override_seg_flag => 'Y'
50341 );
50342
50343 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
50344
50345 xla_ae_lines_pkg.set_segment(
50346 p_to_segment_code => 'GL_BALANCING'
50347 , p_segment_value => l_segment
50348 , p_from_segment_code => l_adr_value_segment_code
50349 , p_from_combination_id => l_adr_value_combination_id
50350 , p_value_type_code => l_adr_value_type_code
50351 , p_transaction_coa_id => l_adr_transaction_coa_id
50352 , p_accounting_coa_id => l_adr_accounting_coa_id
50353 , p_flexfield_segment_code => l_adr_flexfield_segment_code
50354 , p_flex_value_set_id => l_adr_flex_value_set_id
50355 , p_adr_code => 'AP_DISCOUNT_BAL_ACCT_SEG'
50356 , p_adr_type_code => 'S'
50357 , p_component_type => l_component_type
50358 , p_component_code => l_component_code
50359 , p_component_type_code => l_component_type_code
50360 , p_component_appl_id => l_component_appl_id
50361 , p_amb_context_code => l_amb_context_code
50362 , p_entity_code => 'AP_PAYMENTS'
50363 , p_event_class_code => 'PAYMENTS'
50364 , p_side => 'NA'
50365 );
50366
50367 END IF;
50368
50369 l_segment := AcctDerRule_7(
50370 p_application_id => p_application_id
50371 , p_ae_header_id => l_ae_header_id
50372 , p_source_10 => p_source_10
50373 , p_source_10_meaning => p_source_10_meaning
50374 , p_source_13 => p_source_13
50375 , p_source_14 => p_source_14
50376 , p_source_14_meaning => p_source_14_meaning
50377 , x_transaction_coa_id => l_adr_transaction_coa_id
50378 , x_accounting_coa_id => l_adr_accounting_coa_id
50379 , x_flexfield_segment_code => l_adr_flexfield_segment_code
50380 , x_flex_value_set_id => l_adr_flex_value_set_id
50381 , x_value_type_code => l_adr_value_type_code
50382 , x_value_combination_id => l_adr_value_combination_id
50383 , x_value_segment_code => l_adr_value_segment_code
50384 , p_side => 'NA'
50385 , p_override_seg_flag => 'Y'
50386 );
50387
50388 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
50389
50390 xla_ae_lines_pkg.set_segment(
50391 p_to_segment_code => 'GL_ACCOUNT'
50392 , p_segment_value => l_segment
50393 , p_from_segment_code => l_adr_value_segment_code
50394 , p_from_combination_id => l_adr_value_combination_id
50395 , p_value_type_code => l_adr_value_type_code
50396 , p_transaction_coa_id => l_adr_transaction_coa_id
50397 , p_accounting_coa_id => l_adr_accounting_coa_id
50398 , p_flexfield_segment_code => l_adr_flexfield_segment_code
50399 , p_flex_value_set_id => l_adr_flex_value_set_id
50400 , p_adr_code => 'AP_DISCOUNT_NAT_ACCT_SEG'
50401 , p_adr_type_code => 'S'
50402 , p_component_type => l_component_type
50403 , p_component_code => l_component_code
50404 , p_component_type_code => l_component_type_code
50405 , p_component_appl_id => l_component_appl_id
50406 , p_amb_context_code => l_amb_context_code
50407 , p_entity_code => 'AP_PAYMENTS'
50408 , p_event_class_code => 'PAYMENTS'
50409 , p_side => 'NA'
50410 );
50411
50412 END IF;
50413
50414 --
50415 --
50416 END IF;
50417 --
50418 -- Bug 4922099
50419 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
50420 (NVL(l_enc_upg_option, 'N') = 'O')
50421 ) AND
50422 (l_bflow_method_code = 'PRIOR_ENTRY')
50423 )
50424 THEN
50425 IF
50426 --
50427 1 = 2
50428 --
50429 THEN
50430 xla_accounting_err_pkg.build_message
50431 (p_appli_s_name => 'XLA'
50432 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
50433 ,p_token_1 => 'LINE_NUMBER'
50434 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
50435 ,p_token_2 => 'LINE_TYPE_NAME'
50439 ,l_component_type_code
50436 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
50437 l_component_type
50438 ,l_component_code
50440 ,l_component_appl_id
50441 ,l_amb_context_code
50442 ,l_entity_code
50443 ,l_event_class_code
50444 )
50445 ,p_token_3 => 'OWNER'
50446 ,p_value_3 => xla_lookups_pkg.get_meaning(
50447 p_lookup_type => 'XLA_OWNER_TYPE'
50448 ,p_lookup_code => l_component_type_code
50449 )
50450 ,p_token_4 => 'PRODUCT_NAME'
50451 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
50452 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
50453 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
50454 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
50455 ,p_ae_header_id => NULL
50456 );
50457
50458 IF (C_LEVEL_ERROR>= g_log_level) THEN
50459 trace
50460 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
50461 ,p_level => C_LEVEL_ERROR
50462 ,p_module => l_log_module);
50463 END IF;
50464 END IF;
50465 END IF;
50466 --
50467 --
50468 ------------------------------------------------------------------------------------------------
50469 -- 4219869 Business Flow
50470 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
50471 -- Prior Entry. Currently, the following code is always generated.
50472 ------------------------------------------------------------------------------------------------
50473 XLA_AE_LINES_PKG.ValidateCurrentLine;
50474
50475 ------------------------------------------------------------------------------------
50476 -- 4219869 Business Flow
50477 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
50478 ------------------------------------------------------------------------------------
50479 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
50480
50481 ----------------------------------------------------------------------------------
50482 -- 4219869 Business Flow
50483 -- Update journal entry status -- Need to generate this within IF <condition>
50484 ----------------------------------------------------------------------------------
50485 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
50486 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
50487 ,p_balance_type_code => l_balance_type_code
50488 );
50489
50490 -------------------------------------------------------------------------------------------
50491 -- 4262811 - Generate the Accrual Reversal lines
50492 -------------------------------------------------------------------------------------------
50493 BEGIN
50494 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
50495 (g_array_event(p_event_id).array_value_num('header_index'));
50496 IF l_acc_rev_flag IS NULL THEN
50497 l_acc_rev_flag := 'N';
50498 END IF;
50499 EXCEPTION
50500 WHEN OTHERS THEN
50501 l_acc_rev_flag := 'N';
50502 END;
50503 --
50504 IF (l_acc_rev_flag = 'Y') THEN
50505
50506 -- 4645092 ------------------------------------------------------------------------------
50507 -- To allow MPA report to determine if it should generate report process
50508 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
50509 ------------------------------------------------------------------------------------------
50510
50511 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
50512 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
50513 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
50514 -- call ADRs
50515 -- Bug 4922099
50516 --
50517 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
50518 (NVL(l_actual_upg_option, 'N') = 'O') OR
50519 (NVL(l_enc_upg_option, 'N') = 'O')
50520 )
50521 THEN
50522 NULL;
50523 --
50524 --
50525
50526 l_ccid := AcctDerRule_31(
50527 p_application_id => p_application_id
50528 , p_ae_header_id => l_ae_header_id
50529 , p_source_10 => p_source_10
50530 , p_source_10_meaning => p_source_10_meaning
50531 , p_source_13 => p_source_13
50532 , p_source_14 => p_source_14
50536 , p_source_28_meaning => p_source_28_meaning
50533 , p_source_14_meaning => p_source_14_meaning
50534 , p_source_25 => p_source_25
50535 , p_source_28 => p_source_28
50537 , p_source_40 => p_source_40
50538 , p_source_41 => p_source_41
50539 , p_source_42 => p_source_42
50540 , x_transaction_coa_id => l_adr_transaction_coa_id
50541 , x_accounting_coa_id => l_adr_accounting_coa_id
50542 , x_value_type_code => l_adr_value_type_code
50543 , p_side => 'NA'
50544 );
50545
50546 xla_ae_lines_pkg.set_ccid(
50547 p_code_combination_id => l_ccid
50548 , p_value_type_code => l_adr_value_type_code
50549 , p_transaction_coa_id => l_adr_transaction_coa_id
50550 , p_accounting_coa_id => l_adr_accounting_coa_id
50551 , p_adr_code => 'AP_DISCOUNT'
50552 , p_adr_type_code => 'S'
50553 , p_component_type => l_component_type
50554 , p_component_code => l_component_code
50555 , p_component_type_code => l_component_type_code
50556 , p_component_appl_id => l_component_appl_id
50557 , p_amb_context_code => l_amb_context_code
50558 , p_side => 'NA'
50559 );
50560
50561
50562 l_segment := AcctDerRule_22(
50563 p_application_id => p_application_id
50564 , p_ae_header_id => l_ae_header_id
50565 , p_source_10 => p_source_10
50566 , p_source_10_meaning => p_source_10_meaning
50567 , p_source_14 => p_source_14
50568 , p_source_14_meaning => p_source_14_meaning
50569 , p_source_25 => p_source_25
50570 , x_transaction_coa_id => l_adr_transaction_coa_id
50571 , x_accounting_coa_id => l_adr_accounting_coa_id
50572 , x_flexfield_segment_code => l_adr_flexfield_segment_code
50573 , x_flex_value_set_id => l_adr_flex_value_set_id
50574 , x_value_type_code => l_adr_value_type_code
50575 , x_value_combination_id => l_adr_value_combination_id
50576 , x_value_segment_code => l_adr_value_segment_code
50577 , p_side => 'NA'
50578 , p_override_seg_flag => 'Y'
50579 );
50580
50581 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
50582
50583 xla_ae_lines_pkg.set_segment(
50584 p_to_segment_code => 'GL_BALANCING'
50585 , p_segment_value => l_segment
50586 , p_from_segment_code => l_adr_value_segment_code
50587 , p_from_combination_id => l_adr_value_combination_id
50588 , p_value_type_code => l_adr_value_type_code
50589 , p_transaction_coa_id => l_adr_transaction_coa_id
50590 , p_accounting_coa_id => l_adr_accounting_coa_id
50591 , p_flexfield_segment_code => l_adr_flexfield_segment_code
50592 , p_flex_value_set_id => l_adr_flex_value_set_id
50593 , p_adr_code => 'AP_DISCOUNT_BAL_ACCT_SEG'
50594 , p_adr_type_code => 'S'
50595 , p_component_type => l_component_type
50596 , p_component_code => l_component_code
50597 , p_component_type_code => l_component_type_code
50598 , p_component_appl_id => l_component_appl_id
50599 , p_amb_context_code => l_amb_context_code
50600 , p_entity_code => 'AP_PAYMENTS'
50601 , p_event_class_code => 'PAYMENTS'
50602 , p_side => 'NA'
50603 );
50604
50605 END IF;
50606
50607 l_segment := AcctDerRule_7(
50608 p_application_id => p_application_id
50609 , p_ae_header_id => l_ae_header_id
50610 , p_source_10 => p_source_10
50611 , p_source_10_meaning => p_source_10_meaning
50612 , p_source_13 => p_source_13
50613 , p_source_14 => p_source_14
50614 , p_source_14_meaning => p_source_14_meaning
50615 , x_transaction_coa_id => l_adr_transaction_coa_id
50616 , x_accounting_coa_id => l_adr_accounting_coa_id
50617 , x_flexfield_segment_code => l_adr_flexfield_segment_code
50618 , x_flex_value_set_id => l_adr_flex_value_set_id
50619 , x_value_type_code => l_adr_value_type_code
50620 , x_value_combination_id => l_adr_value_combination_id
50621 , x_value_segment_code => l_adr_value_segment_code
50622 , p_side => 'NA'
50623 , p_override_seg_flag => 'Y'
50624 );
50625
50626 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
50627
50628 xla_ae_lines_pkg.set_segment(
50629 p_to_segment_code => 'GL_ACCOUNT'
50630 , p_segment_value => l_segment
50631 , p_from_segment_code => l_adr_value_segment_code
50632 , p_from_combination_id => l_adr_value_combination_id
50633 , p_value_type_code => l_adr_value_type_code
50634 , p_transaction_coa_id => l_adr_transaction_coa_id
50635 , p_accounting_coa_id => l_adr_accounting_coa_id
50636 , p_flexfield_segment_code => l_adr_flexfield_segment_code
50637 , p_flex_value_set_id => l_adr_flex_value_set_id
50638 , p_adr_code => 'AP_DISCOUNT_NAT_ACCT_SEG'
50639 , p_adr_type_code => 'S'
50640 , p_component_type => l_component_type
50641 , p_component_code => l_component_code
50645 , p_entity_code => 'AP_PAYMENTS'
50642 , p_component_type_code => l_component_type_code
50643 , p_component_appl_id => l_component_appl_id
50644 , p_amb_context_code => l_amb_context_code
50646 , p_event_class_code => 'PAYMENTS'
50647 , p_side => 'NA'
50648 );
50649
50650 END IF;
50651
50652 --
50653 --
50654 END IF;
50655
50656 --
50657 -- Update the line information that should be overwritten
50658 --
50659 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
50660 p_header_num => 1);
50661 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
50662
50663 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
50664
50665 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
50666 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
50667 END IF;
50668
50669 --
50670 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
50671 --
50672 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
50673 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
50674 ELSE
50675 ---------------------------------------------------------------------------------------------------
50676 -- 4262811a Switch Sign
50677 ---------------------------------------------------------------------------------------------------
50678 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
50679 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
50680 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
50681 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
50682 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
50683 -- 5132302
50684 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
50685 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
50686
50687 END IF;
50688
50689 -- 4955764
50690 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
50691 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
50692
50693
50694 XLA_AE_LINES_PKG.ValidateCurrentLine;
50695 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
50696
50697 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
50698 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
50699 ,p_balance_type_code => l_balance_type_code);
50700
50701 END IF;
50702
50703 -----------------------------------------------------------------------------------------
50704 -- 4262811 Multiperiod Accounting
50705 -----------------------------------------------------------------------------------------
50706 -- No MPA option is assigned.
50707
50708
50709 END IF;
50710 END IF;
50711 --
50712
50713 --
50714 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
50715 trace
50716 (p_msg => 'END of AcctLineType_114'
50717 ,p_level => C_LEVEL_PROCEDURE
50718 ,p_module => l_log_module);
50719 END IF;
50720 --
50721 EXCEPTION
50722 WHEN xla_exceptions_pkg.application_exception THEN
50723 RAISE;
50724 WHEN OTHERS THEN
50725 xla_exceptions_pkg.raise_message
50726 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_114');
50727 END AcctLineType_114;
50728 --
50729
50730 ---------------------------------------
50731 --
50732 -- PRIVATE FUNCTION
50733 -- AcctLineType_115
50734 --
50735 ---------------------------------------
50736 PROCEDURE AcctLineType_115 (
50737 p_application_id IN NUMBER
50738 ,p_event_id IN NUMBER
50739 ,p_calculate_acctd_flag IN VARCHAR2
50740 ,p_calculate_g_l_flag IN VARCHAR2
50741 ,p_actual_flag IN OUT VARCHAR2
50742 ,p_balance_type_code OUT VARCHAR2
50743 ,p_gain_or_loss_ref OUT VARCHAR2
50744
50745 --Payment Currency Code
50746 , p_source_8 IN VARCHAR2
50747 --Automatic Offsets Value
50748 , p_source_10 IN VARCHAR2
50749 , p_source_10_meaning IN VARCHAR2
50750 --System Discount Account
50751 , p_source_13 IN NUMBER
50752 --Discount Distribution Method
50753 , p_source_14 IN VARCHAR2
50754 , p_source_14_meaning IN VARCHAR2
50755 --Invoice Distribution Account
50756 , p_source_25 IN NUMBER
50757 --Invoice Distribution Type
50758 , p_source_28 IN VARCHAR2
50759 , p_source_28_meaning IN VARCHAR2
50760 --Discount Account
50761 , p_source_40 IN NUMBER
50762 --Purchase Order Charge Account
50763 , p_source_41 IN NUMBER
50764 --Purchase Order Variance Account
50765 , p_source_42 IN NUMBER
50766 --When to Account for Payment Option
50770 --Distribution Link Type
50767 , p_source_57 IN VARCHAR2
50768 --Accounting Reversal Indicator
50769 , p_source_58 IN VARCHAR2
50771 , p_source_60 IN VARCHAR2
50772 --Override Accounted Amount Indicator
50773 , p_source_85 IN VARCHAR2
50774 , p_source_85_meaning IN VARCHAR2
50775 --Third Party Type
50776 , p_source_88 IN VARCHAR2
50777 --Invoice Distribution Tax Line Identifier
50778 , p_source_91 IN NUMBER
50779 --Invoice Distribution Tax Distribution Identifier from Tax
50780 , p_source_92 IN NUMBER
50781 --Invoice Distribution Summary Tax Line Identifier
50782 , p_source_93 IN NUMBER
50783 --Business Flow Accounts Payable Application Identifier
50784 , p_source_96 IN NUMBER
50785 --Business Flow Invoice Distribution Type
50786 , p_source_97 IN VARCHAR2
50787 --Business Flow Invoice Entity Code
50788 , p_source_98 IN VARCHAR2
50789 --Business Flow Invoice Distribution Identifier
50790 , p_source_99 IN NUMBER
50791 --Business Flow Invoice Identifier
50792 , p_source_100 IN NUMBER
50793 --Payment Distribution Type
50794 , p_source_101 IN VARCHAR2
50795 , p_source_101_meaning IN VARCHAR2
50796 --Payment Distribution Amount
50797 , p_source_102 IN NUMBER
50798 --Payment Distribution Identifier
50799 , p_source_107 IN NUMBER
50800 --Payment Supplier Identifier
50801 , p_source_113 IN NUMBER
50802 --Payment Supplier Site Identifier
50803 , p_source_114 IN NUMBER
50804 --Payment Distribution Reversed Identifier
50805 , p_source_115 IN NUMBER
50806 --Payment Distribution (Invoice Rate) Ledger Amount
50807 , p_source_119 IN NUMBER
50808 --Payment Type
50809 , p_source_125 IN VARCHAR2
50810 , p_source_125_meaning IN VARCHAR2
50811 --Invoice Exchange Date
50812 , p_source_146 IN DATE
50813 --Invoice Exchange Rate
50814 , p_source_147 IN NUMBER
50815 --Invoice Exchange Rate Type
50816 , p_source_148 IN VARCHAR2
50817 )
50818 IS
50819
50820 l_component_type VARCHAR2(80);
50821 l_component_code VARCHAR2(30);
50822 l_component_type_code VARCHAR2(1);
50823 l_component_appl_id INTEGER;
50824 l_amb_context_code VARCHAR2(30);
50825 l_entity_code VARCHAR2(30);
50826 l_event_class_code VARCHAR2(30);
50827 l_ae_header_id NUMBER;
50828 l_event_type_code VARCHAR2(30);
50829 l_line_definition_code VARCHAR2(30);
50830 l_line_definition_owner_code VARCHAR2(1);
50831 --
50832 -- adr variables
50833 l_segment VARCHAR2(30);
50834 l_ccid NUMBER;
50835 l_adr_transaction_coa_id NUMBER;
50836 l_adr_accounting_coa_id NUMBER;
50837 l_adr_flexfield_segment_code VARCHAR2(30);
50838 l_adr_flex_value_set_id NUMBER;
50839 l_adr_value_type_code VARCHAR2(30);
50840 l_adr_value_combination_id NUMBER;
50841 l_adr_value_segment_code VARCHAR2(30);
50842
50843 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
50844 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
50845 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
50846 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
50847
50848 -- 4262811 Variables ------------------------------------------------------------------------------------------
50849 l_entered_amt_idx NUMBER;
50850 l_accted_amt_idx NUMBER;
50851 l_acc_rev_flag VARCHAR2(1);
50852 l_accrual_line_num NUMBER;
50853 l_tmp_amt NUMBER;
50854 l_acc_rev_natural_side_code VARCHAR2(1);
50855
50856 l_num_entries NUMBER;
50857 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
50858 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
50859 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
50860 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
50861 l_recog_line_1 NUMBER;
50862 l_recog_line_2 NUMBER;
50863
50864 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
50865 l_bflow_applied_to_amt NUMBER; -- 5132302
50866 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
50867
50868 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
50869
50870 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
50871 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
50872
50873 ---------------------------------------------------------------------------------------------------------------
50874
50875
50876 --
50877 -- bulk performance
50878 --
50879 l_balance_type_code VARCHAR2(1);
50880 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
50881 l_log_module VARCHAR2(240);
50882
50883 --
50884 -- Upgrade strategy
50885 --
50886 l_actual_upg_option VARCHAR2(1);
50887 l_enc_upg_option VARCHAR2(1);
50888
50889 --
50890 BEGIN
50891 --
50892 IF g_log_enabled THEN
50893 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_115';
50894 END IF;
50895 --
50896 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
50900 ,p_level => C_LEVEL_PROCEDURE
50897
50898 trace
50899 (p_msg => 'BEGIN of AcctLineType_115'
50901 ,p_module => l_log_module);
50902
50903 END IF;
50904 --
50905 l_component_type := 'AMB_JLT';
50906 l_component_code := 'AP_DISCOUNT_ACCR_REF';
50907 l_component_type_code := 'S';
50908 l_component_appl_id := 200;
50909 l_amb_context_code := 'DEFAULT';
50910 l_entity_code := 'AP_PAYMENTS';
50911 l_event_class_code := 'REFUNDS';
50912 l_event_type_code := 'REFUNDS_ALL';
50913 l_line_definition_owner_code := 'S';
50914 l_line_definition_code := 'ACCRUAL_REFUNDS_ALL';
50915 --
50916 l_balance_type_code := 'A';
50917 l_segment := NULL;
50918 l_ccid := NULL;
50919 l_adr_transaction_coa_id := NULL;
50920 l_adr_accounting_coa_id := NULL;
50921 l_adr_flexfield_segment_code := NULL;
50922 l_adr_flex_value_set_id := NULL;
50923 l_adr_value_type_code := NULL;
50924 l_adr_value_combination_id := NULL;
50925 l_adr_value_segment_code := NULL;
50926
50927 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
50928 l_bflow_class_code := ''; -- 4219869 Business Flow
50929 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
50930 l_budgetary_control_flag := 'N';
50931
50932 l_bflow_applied_to_amt_idx := NULL; -- 5132302
50933 l_bflow_applied_to_amt := NULL; -- 5132302
50934 l_entered_amt_idx := NULL; -- 4262811
50935 l_accted_amt_idx := NULL; -- 4262811
50936 l_acc_rev_flag := NULL; -- 4262811
50937 l_accrual_line_num := NULL; -- 4262811
50938 l_tmp_amt := NULL; -- 4262811
50939 --
50940
50941 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
50942 l_balance_type_code <> 'B' THEN
50943 IF NVL(p_source_57,'
50944 ') <> 'CLEAR_CLEAR' AND
50945 NVL(p_source_101,'
50946 ') = 'DISCOUNT' AND
50947 NVL(p_source_125,'
50948 ') = 'R'
50949 THEN
50950
50951 --
50952 XLA_AE_LINES_PKG.SetNewLine;
50953
50954 p_balance_type_code := l_balance_type_code;
50955 -- set the flag so later we will know whether the gain loss line needs to be created
50956
50957 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
50958 p_actual_flag :='A';
50959 END IF;
50960
50961 --
50962 -- bulk performance
50963 --
50964 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
50965 p_header_num => 0); -- 4262811
50966 --
50967 -- set accounting line options
50968 --
50969 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
50970 p_natural_side_code => 'C'
50971 , p_gain_or_loss_flag => 'N'
50972 , p_gl_transfer_mode_code => 'S'
50973 , p_acct_entry_type_code => 'A'
50974 , p_switch_side_flag => 'Y'
50975 , p_merge_duplicate_code => 'A'
50976 );
50977 --
50978 l_acc_rev_natural_side_code := 'D'; -- 4262811
50979 --
50980 --
50981 -- set accounting line type info
50982 --
50983 xla_ae_lines_pkg.SetAcctLineType
50984 (p_component_type => l_component_type
50985 ,p_event_type_code => l_event_type_code
50986 ,p_line_definition_owner_code => l_line_definition_owner_code
50987 ,p_line_definition_code => l_line_definition_code
50988 ,p_accounting_line_code => l_component_code
50989 ,p_accounting_line_type_code => l_component_type_code
50990 ,p_accounting_line_appl_id => l_component_appl_id
50991 ,p_amb_context_code => l_amb_context_code
50992 ,p_entity_code => l_entity_code
50993 ,p_event_class_code => l_event_class_code);
50994 --
50995 -- set accounting class
50996 --
50997 xla_ae_lines_pkg.SetAcctClass(
50998 p_accounting_class_code => 'DISCOUNT'
50999 , p_ae_header_id => l_ae_header_id
51000 );
51001
51002 --
51003 -- set rounding class
51004 --
51005 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
51006 'DISCOUNT';
51007
51008 --
51009 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
51010 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
51011 --
51012 -- bulk performance
51013 --
51014 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
51015
51016 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
51017 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
51018
51019 -- 4955764
51020 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
51021 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
51022
51023 -- 4458381 Public Sector Enh
51024
51025 --
51026 -- set accounting attributes for the line type
51030 l_bflow_applied_to_amt_idx := NULL; -- 5132302
51027 --
51028 l_entered_amt_idx := 9;
51029 l_accted_amt_idx := 14;
51031 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
51032 l_rec_acct_attrs.array_char_value(1) := p_source_58;
51033 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_APPLICATION_ID';
51034 l_rec_acct_attrs.array_num_value(2) := p_source_96;
51035 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_DISTRIBUTION_TYPE';
51036 l_rec_acct_attrs.array_char_value(3) := p_source_97;
51037 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_ENTITY_CODE';
51038 l_rec_acct_attrs.array_char_value(4) := p_source_98;
51039 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_FIRST_DIST_ID';
51040 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_99);
51041 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
51042 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_100);
51043 l_rec_acct_attrs.array_acct_attr_code(7) := 'DISTRIBUTION_IDENTIFIER_1';
51044 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_107);
51045 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_TYPE';
51046 l_rec_acct_attrs.array_char_value(8) := p_source_60;
51047 l_rec_acct_attrs.array_acct_attr_code(9) := 'ENTERED_CURRENCY_AMOUNT';
51048 l_rec_acct_attrs.array_num_value(9) := p_source_102;
51049 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_CODE';
51050 l_rec_acct_attrs.array_char_value(10) := p_source_8;
51051 l_rec_acct_attrs.array_acct_attr_code(11) := 'EXCHANGE_DATE';
51052 l_rec_acct_attrs.array_date_value(11) := p_source_146;
51053 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_RATE';
51054 l_rec_acct_attrs.array_num_value(12) := p_source_147;
51055 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE_TYPE';
51056 l_rec_acct_attrs.array_char_value(13) := p_source_148;
51057 l_rec_acct_attrs.array_acct_attr_code(14) := 'LEDGER_AMOUNT';
51058 l_rec_acct_attrs.array_num_value(14) := p_source_119;
51059 l_rec_acct_attrs.array_acct_attr_code(15) := 'OVERRIDE_ACCTD_AMT_FLAG';
51060 l_rec_acct_attrs.array_char_value(15) := p_source_85;
51061 l_rec_acct_attrs.array_acct_attr_code(16) := 'PARTY_ID';
51062 l_rec_acct_attrs.array_num_value(16) := p_source_113;
51063 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_SITE_ID';
51064 l_rec_acct_attrs.array_num_value(17) := p_source_114;
51065 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_TYPE';
51066 l_rec_acct_attrs.array_char_value(18) := p_source_88;
51067 l_rec_acct_attrs.array_acct_attr_code(19) := 'REVERSED_DISTRIBUTION_ID1';
51068 l_rec_acct_attrs.array_num_value(19) := to_char(p_source_115);
51069 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_TYPE';
51070 l_rec_acct_attrs.array_char_value(20) := p_source_60;
51071 l_rec_acct_attrs.array_acct_attr_code(21) := 'TAX_LINE_REF_ID';
51072 l_rec_acct_attrs.array_num_value(21) := p_source_91;
51073 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_REC_NREC_DIST_REF_ID';
51074 l_rec_acct_attrs.array_num_value(22) := p_source_92;
51075 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_SUMMARY_LINE_REF_ID';
51076 l_rec_acct_attrs.array_num_value(23) := p_source_93;
51077
51078 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
51079 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
51080
51081 ---------------------------------------------------------------------------------------------------------------
51082 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
51083 ---------------------------------------------------------------------------------------------------------------
51084 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
51085
51086 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
51087 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
51088
51089 IF xla_accounting_cache_pkg.GetValueChar
51090 (p_source_code => 'LEDGER_CATEGORY_CODE'
51091 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
51092 AND l_bflow_method_code = 'PRIOR_ENTRY'
51093 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
51094 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
51095 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
51096 )
51097 THEN
51098 xla_ae_lines_pkg.BflowUpgEntry
51099 (p_business_method_code => l_bflow_method_code
51100 ,p_business_class_code => l_bflow_class_code
51101 ,p_balance_type => l_balance_type_code);
51102 ELSE
51103 NULL;
51104 -- No business flow processing for business flow method of NONE.
51105 END IF;
51106
51107 --
51108 -- call analytical criteria
51109 --
51110
51111 --
51112 -- call description
51113 --
51114 -- No description or it is inherited.
51115 --
51116 -- call ADRs
51117 -- Bug 4922099
51118 --
51119 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
51120 (NVL(l_actual_upg_option, 'N') = 'O') OR
51121 (NVL(l_enc_upg_option, 'N') = 'O')
51122 )
51123 THEN
51124 NULL;
51125 --
51126 --
51127
51128 l_ccid := AcctDerRule_31(
51132 , p_source_10_meaning => p_source_10_meaning
51129 p_application_id => p_application_id
51130 , p_ae_header_id => l_ae_header_id
51131 , p_source_10 => p_source_10
51133 , p_source_13 => p_source_13
51134 , p_source_14 => p_source_14
51135 , p_source_14_meaning => p_source_14_meaning
51136 , p_source_25 => p_source_25
51137 , p_source_28 => p_source_28
51138 , p_source_28_meaning => p_source_28_meaning
51139 , p_source_40 => p_source_40
51140 , p_source_41 => p_source_41
51141 , p_source_42 => p_source_42
51142 , x_transaction_coa_id => l_adr_transaction_coa_id
51143 , x_accounting_coa_id => l_adr_accounting_coa_id
51144 , x_value_type_code => l_adr_value_type_code
51145 , p_side => 'NA'
51146 );
51147
51148 xla_ae_lines_pkg.set_ccid(
51149 p_code_combination_id => l_ccid
51150 , p_value_type_code => l_adr_value_type_code
51151 , p_transaction_coa_id => l_adr_transaction_coa_id
51152 , p_accounting_coa_id => l_adr_accounting_coa_id
51153 , p_adr_code => 'AP_DISCOUNT'
51154 , p_adr_type_code => 'S'
51155 , p_component_type => l_component_type
51156 , p_component_code => l_component_code
51157 , p_component_type_code => l_component_type_code
51158 , p_component_appl_id => l_component_appl_id
51159 , p_amb_context_code => l_amb_context_code
51160 , p_side => 'NA'
51161 );
51162
51163
51164 l_segment := AcctDerRule_22(
51165 p_application_id => p_application_id
51166 , p_ae_header_id => l_ae_header_id
51167 , p_source_10 => p_source_10
51168 , p_source_10_meaning => p_source_10_meaning
51169 , p_source_14 => p_source_14
51170 , p_source_14_meaning => p_source_14_meaning
51171 , p_source_25 => p_source_25
51172 , x_transaction_coa_id => l_adr_transaction_coa_id
51173 , x_accounting_coa_id => l_adr_accounting_coa_id
51174 , x_flexfield_segment_code => l_adr_flexfield_segment_code
51175 , x_flex_value_set_id => l_adr_flex_value_set_id
51176 , x_value_type_code => l_adr_value_type_code
51177 , x_value_combination_id => l_adr_value_combination_id
51178 , x_value_segment_code => l_adr_value_segment_code
51179 , p_side => 'NA'
51180 , p_override_seg_flag => 'Y'
51181 );
51182
51183 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
51184
51185 xla_ae_lines_pkg.set_segment(
51186 p_to_segment_code => 'GL_BALANCING'
51187 , p_segment_value => l_segment
51188 , p_from_segment_code => l_adr_value_segment_code
51189 , p_from_combination_id => l_adr_value_combination_id
51190 , p_value_type_code => l_adr_value_type_code
51191 , p_transaction_coa_id => l_adr_transaction_coa_id
51192 , p_accounting_coa_id => l_adr_accounting_coa_id
51193 , p_flexfield_segment_code => l_adr_flexfield_segment_code
51194 , p_flex_value_set_id => l_adr_flex_value_set_id
51195 , p_adr_code => 'AP_DISCOUNT_BAL_ACCT_SEG'
51196 , p_adr_type_code => 'S'
51197 , p_component_type => l_component_type
51198 , p_component_code => l_component_code
51199 , p_component_type_code => l_component_type_code
51200 , p_component_appl_id => l_component_appl_id
51201 , p_amb_context_code => l_amb_context_code
51202 , p_entity_code => 'AP_PAYMENTS'
51203 , p_event_class_code => 'REFUNDS'
51204 , p_side => 'NA'
51205 );
51206
51207 END IF;
51208
51209 l_segment := AcctDerRule_7(
51210 p_application_id => p_application_id
51211 , p_ae_header_id => l_ae_header_id
51212 , p_source_10 => p_source_10
51213 , p_source_10_meaning => p_source_10_meaning
51214 , p_source_13 => p_source_13
51215 , p_source_14 => p_source_14
51216 , p_source_14_meaning => p_source_14_meaning
51217 , x_transaction_coa_id => l_adr_transaction_coa_id
51218 , x_accounting_coa_id => l_adr_accounting_coa_id
51219 , x_flexfield_segment_code => l_adr_flexfield_segment_code
51220 , x_flex_value_set_id => l_adr_flex_value_set_id
51221 , x_value_type_code => l_adr_value_type_code
51222 , x_value_combination_id => l_adr_value_combination_id
51223 , x_value_segment_code => l_adr_value_segment_code
51224 , p_side => 'NA'
51225 , p_override_seg_flag => 'Y'
51226 );
51227
51228 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
51229
51230 xla_ae_lines_pkg.set_segment(
51231 p_to_segment_code => 'GL_ACCOUNT'
51232 , p_segment_value => l_segment
51233 , p_from_segment_code => l_adr_value_segment_code
51234 , p_from_combination_id => l_adr_value_combination_id
51235 , p_value_type_code => l_adr_value_type_code
51236 , p_transaction_coa_id => l_adr_transaction_coa_id
51237 , p_accounting_coa_id => l_adr_accounting_coa_id
51238 , p_flexfield_segment_code => l_adr_flexfield_segment_code
51242 , p_component_type => l_component_type
51239 , p_flex_value_set_id => l_adr_flex_value_set_id
51240 , p_adr_code => 'AP_DISCOUNT_NAT_ACCT_SEG'
51241 , p_adr_type_code => 'S'
51243 , p_component_code => l_component_code
51244 , p_component_type_code => l_component_type_code
51245 , p_component_appl_id => l_component_appl_id
51246 , p_amb_context_code => l_amb_context_code
51247 , p_entity_code => 'AP_PAYMENTS'
51248 , p_event_class_code => 'REFUNDS'
51249 , p_side => 'NA'
51250 );
51251
51252 END IF;
51253
51254 --
51255 --
51256 END IF;
51257 --
51258 -- Bug 4922099
51259 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
51260 (NVL(l_enc_upg_option, 'N') = 'O')
51261 ) AND
51262 (l_bflow_method_code = 'PRIOR_ENTRY')
51263 )
51264 THEN
51265 IF
51266 --
51267 1 = 2
51268 --
51269 THEN
51270 xla_accounting_err_pkg.build_message
51271 (p_appli_s_name => 'XLA'
51272 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
51273 ,p_token_1 => 'LINE_NUMBER'
51274 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
51275 ,p_token_2 => 'LINE_TYPE_NAME'
51276 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
51277 l_component_type
51278 ,l_component_code
51279 ,l_component_type_code
51280 ,l_component_appl_id
51281 ,l_amb_context_code
51282 ,l_entity_code
51283 ,l_event_class_code
51284 )
51285 ,p_token_3 => 'OWNER'
51286 ,p_value_3 => xla_lookups_pkg.get_meaning(
51287 p_lookup_type => 'XLA_OWNER_TYPE'
51288 ,p_lookup_code => l_component_type_code
51289 )
51290 ,p_token_4 => 'PRODUCT_NAME'
51291 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
51292 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
51293 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
51294 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
51295 ,p_ae_header_id => NULL
51296 );
51297
51298 IF (C_LEVEL_ERROR>= g_log_level) THEN
51299 trace
51300 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
51301 ,p_level => C_LEVEL_ERROR
51302 ,p_module => l_log_module);
51303 END IF;
51304 END IF;
51305 END IF;
51306 --
51307 --
51308 ------------------------------------------------------------------------------------------------
51309 -- 4219869 Business Flow
51310 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
51311 -- Prior Entry. Currently, the following code is always generated.
51312 ------------------------------------------------------------------------------------------------
51313 XLA_AE_LINES_PKG.ValidateCurrentLine;
51314
51315 ------------------------------------------------------------------------------------
51316 -- 4219869 Business Flow
51317 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
51318 ------------------------------------------------------------------------------------
51319 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
51320
51321 ----------------------------------------------------------------------------------
51322 -- 4219869 Business Flow
51323 -- Update journal entry status -- Need to generate this within IF <condition>
51324 ----------------------------------------------------------------------------------
51325 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
51326 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
51327 ,p_balance_type_code => l_balance_type_code
51328 );
51329
51330 -------------------------------------------------------------------------------------------
51331 -- 4262811 - Generate the Accrual Reversal lines
51332 -------------------------------------------------------------------------------------------
51333 BEGIN
51337 l_acc_rev_flag := 'N';
51334 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
51335 (g_array_event(p_event_id).array_value_num('header_index'));
51336 IF l_acc_rev_flag IS NULL THEN
51338 END IF;
51339 EXCEPTION
51340 WHEN OTHERS THEN
51341 l_acc_rev_flag := 'N';
51342 END;
51343 --
51344 IF (l_acc_rev_flag = 'Y') THEN
51345
51346 -- 4645092 ------------------------------------------------------------------------------
51347 -- To allow MPA report to determine if it should generate report process
51348 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
51349 ------------------------------------------------------------------------------------------
51350
51351 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
51352 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
51353 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
51354 -- call ADRs
51355 -- Bug 4922099
51356 --
51357 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
51358 (NVL(l_actual_upg_option, 'N') = 'O') OR
51359 (NVL(l_enc_upg_option, 'N') = 'O')
51360 )
51361 THEN
51362 NULL;
51363 --
51364 --
51365
51366 l_ccid := AcctDerRule_31(
51367 p_application_id => p_application_id
51368 , p_ae_header_id => l_ae_header_id
51369 , p_source_10 => p_source_10
51370 , p_source_10_meaning => p_source_10_meaning
51371 , p_source_13 => p_source_13
51372 , p_source_14 => p_source_14
51373 , p_source_14_meaning => p_source_14_meaning
51374 , p_source_25 => p_source_25
51375 , p_source_28 => p_source_28
51376 , p_source_28_meaning => p_source_28_meaning
51377 , p_source_40 => p_source_40
51378 , p_source_41 => p_source_41
51379 , p_source_42 => p_source_42
51380 , x_transaction_coa_id => l_adr_transaction_coa_id
51381 , x_accounting_coa_id => l_adr_accounting_coa_id
51382 , x_value_type_code => l_adr_value_type_code
51383 , p_side => 'NA'
51384 );
51385
51386 xla_ae_lines_pkg.set_ccid(
51387 p_code_combination_id => l_ccid
51388 , p_value_type_code => l_adr_value_type_code
51389 , p_transaction_coa_id => l_adr_transaction_coa_id
51390 , p_accounting_coa_id => l_adr_accounting_coa_id
51391 , p_adr_code => 'AP_DISCOUNT'
51392 , p_adr_type_code => 'S'
51393 , p_component_type => l_component_type
51394 , p_component_code => l_component_code
51395 , p_component_type_code => l_component_type_code
51396 , p_component_appl_id => l_component_appl_id
51397 , p_amb_context_code => l_amb_context_code
51398 , p_side => 'NA'
51399 );
51400
51401
51402 l_segment := AcctDerRule_22(
51403 p_application_id => p_application_id
51404 , p_ae_header_id => l_ae_header_id
51405 , p_source_10 => p_source_10
51406 , p_source_10_meaning => p_source_10_meaning
51407 , p_source_14 => p_source_14
51408 , p_source_14_meaning => p_source_14_meaning
51409 , p_source_25 => p_source_25
51410 , x_transaction_coa_id => l_adr_transaction_coa_id
51411 , x_accounting_coa_id => l_adr_accounting_coa_id
51412 , x_flexfield_segment_code => l_adr_flexfield_segment_code
51413 , x_flex_value_set_id => l_adr_flex_value_set_id
51414 , x_value_type_code => l_adr_value_type_code
51415 , x_value_combination_id => l_adr_value_combination_id
51416 , x_value_segment_code => l_adr_value_segment_code
51417 , p_side => 'NA'
51418 , p_override_seg_flag => 'Y'
51419 );
51420
51421 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
51422
51423 xla_ae_lines_pkg.set_segment(
51424 p_to_segment_code => 'GL_BALANCING'
51425 , p_segment_value => l_segment
51426 , p_from_segment_code => l_adr_value_segment_code
51427 , p_from_combination_id => l_adr_value_combination_id
51428 , p_value_type_code => l_adr_value_type_code
51429 , p_transaction_coa_id => l_adr_transaction_coa_id
51430 , p_accounting_coa_id => l_adr_accounting_coa_id
51431 , p_flexfield_segment_code => l_adr_flexfield_segment_code
51432 , p_flex_value_set_id => l_adr_flex_value_set_id
51433 , p_adr_code => 'AP_DISCOUNT_BAL_ACCT_SEG'
51434 , p_adr_type_code => 'S'
51435 , p_component_type => l_component_type
51436 , p_component_code => l_component_code
51437 , p_component_type_code => l_component_type_code
51438 , p_component_appl_id => l_component_appl_id
51439 , p_amb_context_code => l_amb_context_code
51440 , p_entity_code => 'AP_PAYMENTS'
51441 , p_event_class_code => 'REFUNDS'
51442 , p_side => 'NA'
51443 );
51444
51445 END IF;
51446
51447 l_segment := AcctDerRule_7(
51448 p_application_id => p_application_id
51449 , p_ae_header_id => l_ae_header_id
51450 , p_source_10 => p_source_10
51451 , p_source_10_meaning => p_source_10_meaning
51452 , p_source_13 => p_source_13
51456 , x_accounting_coa_id => l_adr_accounting_coa_id
51453 , p_source_14 => p_source_14
51454 , p_source_14_meaning => p_source_14_meaning
51455 , x_transaction_coa_id => l_adr_transaction_coa_id
51457 , x_flexfield_segment_code => l_adr_flexfield_segment_code
51458 , x_flex_value_set_id => l_adr_flex_value_set_id
51459 , x_value_type_code => l_adr_value_type_code
51460 , x_value_combination_id => l_adr_value_combination_id
51461 , x_value_segment_code => l_adr_value_segment_code
51462 , p_side => 'NA'
51463 , p_override_seg_flag => 'Y'
51464 );
51465
51466 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
51467
51468 xla_ae_lines_pkg.set_segment(
51469 p_to_segment_code => 'GL_ACCOUNT'
51470 , p_segment_value => l_segment
51471 , p_from_segment_code => l_adr_value_segment_code
51472 , p_from_combination_id => l_adr_value_combination_id
51473 , p_value_type_code => l_adr_value_type_code
51474 , p_transaction_coa_id => l_adr_transaction_coa_id
51475 , p_accounting_coa_id => l_adr_accounting_coa_id
51476 , p_flexfield_segment_code => l_adr_flexfield_segment_code
51477 , p_flex_value_set_id => l_adr_flex_value_set_id
51478 , p_adr_code => 'AP_DISCOUNT_NAT_ACCT_SEG'
51479 , p_adr_type_code => 'S'
51480 , p_component_type => l_component_type
51481 , p_component_code => l_component_code
51482 , p_component_type_code => l_component_type_code
51483 , p_component_appl_id => l_component_appl_id
51484 , p_amb_context_code => l_amb_context_code
51485 , p_entity_code => 'AP_PAYMENTS'
51486 , p_event_class_code => 'REFUNDS'
51487 , p_side => 'NA'
51488 );
51489
51490 END IF;
51491
51492 --
51493 --
51494 END IF;
51495
51496 --
51497 -- Update the line information that should be overwritten
51498 --
51499 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
51500 p_header_num => 1);
51501 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
51502
51503 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
51504
51505 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
51506 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
51507 END IF;
51508
51509 --
51510 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
51511 --
51512 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
51513 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
51514 ELSE
51515 ---------------------------------------------------------------------------------------------------
51516 -- 4262811a Switch Sign
51517 ---------------------------------------------------------------------------------------------------
51518 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
51519 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
51520 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
51521 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
51522 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
51523 -- 5132302
51524 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
51525 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
51526
51527 END IF;
51528
51529 -- 4955764
51530 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
51531 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
51532
51533
51534 XLA_AE_LINES_PKG.ValidateCurrentLine;
51535 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
51536
51537 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
51538 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
51539 ,p_balance_type_code => l_balance_type_code);
51540
51541 END IF;
51542
51543 -----------------------------------------------------------------------------------------
51544 -- 4262811 Multiperiod Accounting
51545 -----------------------------------------------------------------------------------------
51546 -- No MPA option is assigned.
51547
51548
51549 END IF;
51550 END IF;
51551 --
51552
51553 --
51554 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
51555 trace
51556 (p_msg => 'END of AcctLineType_115'
51557 ,p_level => C_LEVEL_PROCEDURE
51558 ,p_module => l_log_module);
51559 END IF;
51560 --
51561 EXCEPTION
51562 WHEN xla_exceptions_pkg.application_exception THEN
51563 RAISE;
51564 WHEN OTHERS THEN
51568 --
51565 xla_exceptions_pkg.raise_message
51566 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_115');
51567 END AcctLineType_115;
51569
51570 ---------------------------------------
51571 --
51572 -- PRIVATE FUNCTION
51573 -- AcctLineType_116
51574 --
51575 ---------------------------------------
51576 PROCEDURE AcctLineType_116 (
51577 p_application_id IN NUMBER
51578 ,p_event_id IN NUMBER
51579 ,p_calculate_acctd_flag IN VARCHAR2
51580 ,p_calculate_g_l_flag IN VARCHAR2
51581 ,p_actual_flag IN OUT VARCHAR2
51582 ,p_balance_type_code OUT VARCHAR2
51583 ,p_gain_or_loss_ref OUT VARCHAR2
51584
51585 --Invoice Distribution Description
51586 , p_source_1 IN VARCHAR2
51587 --Automatic Offsets Value
51588 , p_source_10 IN VARCHAR2
51589 , p_source_10_meaning IN VARCHAR2
51590 --Purchase Order Rate Variance Gain Account
51591 , p_source_15 IN NUMBER
51592 --Invoice Distribution Ledger Amount
51593 , p_source_16 IN NUMBER
51594 --Destination Type of the PO Distribution
51595 , p_source_17 IN VARCHAR2
51596 , p_source_17_meaning IN VARCHAR2
51597 --Purchase Order Rate Variance Loss Account
51598 , p_source_18 IN NUMBER
51599 --Invoice Distribution Account
51600 , p_source_25 IN NUMBER
51601 --Invoice Distribution Type
51602 , p_source_28 IN VARCHAR2
51603 , p_source_28_meaning IN VARCHAR2
51604 --Automatic Offsets Flag
51605 , p_source_43 IN VARCHAR2
51606 , p_source_43_meaning IN VARCHAR2
51607 --Accrue on Receipt Option
51608 , p_source_54 IN VARCHAR2
51609 , p_source_54_meaning IN VARCHAR2
51610 --Accounting Reversal Indicator
51611 , p_source_58 IN VARCHAR2
51612 --Distribution Link Type
51613 , p_source_60 IN VARCHAR2
51614 --Allocation to Main Distribution Identifier
51615 , p_source_62 IN NUMBER
51616 --Invoice Identifier
51617 , p_source_63 IN NUMBER
51618 --Invoice Distribution Identifier
51619 , p_source_69 IN NUMBER
51620 --Payables Encumbrance Upgrade Credit Account
51621 , p_source_70 IN NUMBER
51622 --Payables Encumbrance Upgrade Credit Amount
51623 , p_source_71 IN NUMBER
51624 --Invoice Currency Code
51625 , p_source_72 IN VARCHAR2
51626 --Payables Encumbrance Upgrade Credit Base Amount
51627 , p_source_73 IN NUMBER
51628 --Payables Encumbrance Upgrade Debit Account
51629 , p_source_74 IN NUMBER
51630 --Payables Encumbrance Upgrade Debit Amount
51631 , p_source_75 IN NUMBER
51632 --Payables Encumbrance Upgrade Debit Base Amount
51633 , p_source_76 IN NUMBER
51634 --Payables Encumbrance Upgrade Option
51635 , p_source_77 IN VARCHAR2
51636 --Invoice Distribution Amount
51637 , p_source_78 IN NUMBER
51638 --Deferred Accounting End Date
51639 , p_source_82 IN DATE
51640 --Deferred Accounting Option
51641 , p_source_83 IN VARCHAR2
51642 --Deferred Accounting Start Date
51643 , p_source_84 IN DATE
51644 --Override Accounted Amount Indicator
51645 , p_source_85 IN VARCHAR2
51646 , p_source_85_meaning IN VARCHAR2
51647 --Invoice Supplier Identifier
51648 , p_source_86 IN NUMBER
51649 --Invoice Supplier Site Identifier
51650 , p_source_87 IN NUMBER
51651 --Third Party Type
51652 , p_source_88 IN VARCHAR2
51653 --Parent Reversal Identifier
51654 , p_source_89 IN NUMBER
51655 --Invoice Distribution Statistical Amount
51656 , p_source_90 IN NUMBER
51657 --Invoice Distribution Tax Line Identifier
51658 , p_source_91 IN NUMBER
51659 --Invoice Distribution Tax Distribution Identifier from Tax
51660 , p_source_92 IN NUMBER
51661 --Invoice Distribution Summary Tax Line Identifier
51662 , p_source_93 IN NUMBER
51663 --Payables Upgrade Credit Encumbrance Type Identifier
51664 , p_source_94 IN NUMBER
51665 --Payables Upgrade Debit Encumbrance Type Identifier
51666 , p_source_95 IN NUMBER
51667 --Business Flow Accounts Payable Application Identifier
51668 , p_source_96 IN NUMBER
51669 --Business Flow Invoice Distribution Type
51670 , p_source_97 IN VARCHAR2
51671 --Business Flow Invoice Entity Code
51672 , p_source_98 IN VARCHAR2
51673 --Business Flow Invoice Distribution Identifier
51674 , p_source_99 IN NUMBER
51675 --Business Flow Invoice Identifier
51676 , p_source_100 IN NUMBER
51677 --Invoice Exchange Date
51678 , p_source_146 IN DATE
51679 --Invoice Exchange Rate
51680 , p_source_147 IN NUMBER
51681 --Invoice Exchange Rate Type
51682 , p_source_148 IN VARCHAR2
51683 )
51684 IS
51685
51686 l_component_type VARCHAR2(80);
51687 l_component_code VARCHAR2(30);
51688 l_component_type_code VARCHAR2(1);
51689 l_component_appl_id INTEGER;
51690 l_amb_context_code VARCHAR2(30);
51691 l_entity_code VARCHAR2(30);
51692 l_event_class_code VARCHAR2(30);
51693 l_ae_header_id NUMBER;
51694 l_event_type_code VARCHAR2(30);
51695 l_line_definition_code VARCHAR2(30);
51696 l_line_definition_owner_code VARCHAR2(1);
51700 l_ccid NUMBER;
51697 --
51698 -- adr variables
51699 l_segment VARCHAR2(30);
51701 l_adr_transaction_coa_id NUMBER;
51702 l_adr_accounting_coa_id NUMBER;
51703 l_adr_flexfield_segment_code VARCHAR2(30);
51704 l_adr_flex_value_set_id NUMBER;
51705 l_adr_value_type_code VARCHAR2(30);
51706 l_adr_value_combination_id NUMBER;
51707 l_adr_value_segment_code VARCHAR2(30);
51708
51709 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
51710 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
51711 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
51712 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
51713
51714 -- 4262811 Variables ------------------------------------------------------------------------------------------
51715 l_entered_amt_idx NUMBER;
51716 l_accted_amt_idx NUMBER;
51717 l_acc_rev_flag VARCHAR2(1);
51718 l_accrual_line_num NUMBER;
51719 l_tmp_amt NUMBER;
51720 l_acc_rev_natural_side_code VARCHAR2(1);
51721
51722 l_num_entries NUMBER;
51723 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
51724 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
51725 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
51726 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
51727 l_recog_line_1 NUMBER;
51728 l_recog_line_2 NUMBER;
51729
51730 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
51731 l_bflow_applied_to_amt NUMBER; -- 5132302
51732 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
51733
51734 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
51735
51736 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
51737 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
51738
51739 ---------------------------------------------------------------------------------------------------------------
51740
51741
51742 --
51743 -- bulk performance
51744 --
51745 l_balance_type_code VARCHAR2(1);
51746 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
51747 l_log_module VARCHAR2(240);
51748
51749 --
51750 -- Upgrade strategy
51751 --
51752 l_actual_upg_option VARCHAR2(1);
51753 l_enc_upg_option VARCHAR2(1);
51754
51755 --
51756 BEGIN
51757 --
51758 IF g_log_enabled THEN
51759 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_116';
51760 END IF;
51761 --
51762 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
51763
51764 trace
51765 (p_msg => 'BEGIN of AcctLineType_116'
51766 ,p_level => C_LEVEL_PROCEDURE
51767 ,p_module => l_log_module);
51768
51769 END IF;
51770 --
51771 l_component_type := 'AMB_JLT';
51772 l_component_code := 'AP_EX_RATE_VAR_CM';
51773 l_component_type_code := 'S';
51774 l_component_appl_id := 200;
51775 l_amb_context_code := 'DEFAULT';
51776 l_entity_code := 'AP_INVOICES';
51777 l_event_class_code := 'CREDIT MEMOS';
51778 l_event_type_code := 'CREDIT MEMOS_ALL';
51779 l_line_definition_owner_code := 'S';
51780 l_line_definition_code := 'ACCRUAL_CREDIT MEMOS_ALL';
51781 --
51782 l_balance_type_code := 'A';
51783 l_segment := NULL;
51784 l_ccid := NULL;
51785 l_adr_transaction_coa_id := NULL;
51786 l_adr_accounting_coa_id := NULL;
51787 l_adr_flexfield_segment_code := NULL;
51788 l_adr_flex_value_set_id := NULL;
51789 l_adr_value_type_code := NULL;
51790 l_adr_value_combination_id := NULL;
51791 l_adr_value_segment_code := NULL;
51792
51793 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
51794 l_bflow_class_code := ''; -- 4219869 Business Flow
51795 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
51796 l_budgetary_control_flag := 'N';
51797
51798 l_bflow_applied_to_amt_idx := NULL; -- 5132302
51799 l_bflow_applied_to_amt := NULL; -- 5132302
51800 l_entered_amt_idx := NULL; -- 4262811
51801 l_accted_amt_idx := NULL; -- 4262811
51802 l_acc_rev_flag := NULL; -- 4262811
51803 l_accrual_line_num := NULL; -- 4262811
51804 l_tmp_amt := NULL; -- 4262811
51805 --
51806 IF ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
51807 (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
51808 return;
51809 END IF;
51810
51811 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
51812 l_balance_type_code <> 'B' THEN
51813 IF NVL(p_source_28,'
51814 ') = 'ERV' AND
51815 NVL(p_source_54,'
51816 ') = 'Y'
51817 THEN
51818
51819 --
51820 XLA_AE_LINES_PKG.SetNewLine;
51821
51825 IF(l_balance_type_code = 'A' ) THEN
51822 p_balance_type_code := l_balance_type_code;
51823 -- set the flag so later we will know whether the gain loss line needs to be created
51824
51826 p_actual_flag :='G';
51827 END IF;
51828
51829 --
51830 -- bulk performance
51831 --
51832 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
51833 p_header_num => 0); -- 4262811
51834 --
51835 -- set accounting line options
51836 --
51837 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
51838 p_natural_side_code => 'D'
51839 , p_gain_or_loss_flag => 'Y'
51840 , p_gl_transfer_mode_code => 'S'
51841 , p_acct_entry_type_code => 'A'
51842 , p_switch_side_flag => 'Y'
51843 , p_merge_duplicate_code => 'A'
51844 );
51845 --
51846 l_acc_rev_natural_side_code := 'C'; -- 4262811
51847 --
51848 --
51849 -- set accounting line type info
51850 --
51851 xla_ae_lines_pkg.SetAcctLineType
51852 (p_component_type => l_component_type
51853 ,p_event_type_code => l_event_type_code
51854 ,p_line_definition_owner_code => l_line_definition_owner_code
51855 ,p_line_definition_code => l_line_definition_code
51856 ,p_accounting_line_code => l_component_code
51857 ,p_accounting_line_type_code => l_component_type_code
51858 ,p_accounting_line_appl_id => l_component_appl_id
51859 ,p_amb_context_code => l_amb_context_code
51860 ,p_entity_code => l_entity_code
51861 ,p_event_class_code => l_event_class_code);
51862 --
51863 -- set accounting class
51864 --
51865 xla_ae_lines_pkg.SetAcctClass(
51866 p_accounting_class_code => 'EXCHANGE_RATE_VARIANCE'
51867 , p_ae_header_id => l_ae_header_id
51868 );
51869
51870 --
51871 -- set rounding class
51872 --
51873 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
51874 'EXCHANGE_RATE_VARIANCE';
51875
51876 --
51877 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
51878 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
51879 --
51880 -- bulk performance
51881 --
51882 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
51883
51884 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
51885 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
51886
51887 -- 4955764
51888 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
51889 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
51890
51891 -- 4458381 Public Sector Enh
51892
51893 --
51894 -- set accounting attributes for the line type
51895 --
51896 l_entered_amt_idx := 23;
51897 l_accted_amt_idx := 28;
51898 l_bflow_applied_to_amt_idx := NULL; -- 5132302
51899 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
51900 l_rec_acct_attrs.array_char_value(1) := p_source_58;
51901 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
51902 l_rec_acct_attrs.array_num_value(2) :=
51903 xla_ae_sources_pkg.GetSystemSourceNum(
51904 p_source_code => 'XLA_EVENT_APPL_ID'
51905 , p_source_type_code => 'Y'
51906 , p_source_application_id => 602
51907 );
51908 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
51909 l_rec_acct_attrs.array_char_value(3) := p_source_60;
51910 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
51911 l_rec_acct_attrs.array_char_value(4) :=
51912 xla_ae_sources_pkg.GetSystemSourceChar(
51913 p_source_code => 'XLA_ENTITY_CODE'
51914 , p_source_type_code => 'Y'
51915 , p_source_application_id => 602
51916 );
51917 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
51918 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_62);
51919 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
51920 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_63);
51921 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
51922 l_rec_acct_attrs.array_num_value(7) := p_source_96;
51923 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
51924 l_rec_acct_attrs.array_char_value(8) := p_source_97;
51925 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
51926 l_rec_acct_attrs.array_char_value(9) := p_source_98;
51927 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
51928 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_99);
51929 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
51930 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_100);
51931 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
51932 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_69);
51933 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
51934 l_rec_acct_attrs.array_char_value(13) := p_source_60;
51935 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
51939 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
51936 l_rec_acct_attrs.array_num_value(14) := p_source_70;
51937 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
51938 l_rec_acct_attrs.array_num_value(15) := p_source_71;
51940 l_rec_acct_attrs.array_char_value(16) := p_source_72;
51941 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
51942 l_rec_acct_attrs.array_num_value(17) := p_source_73;
51943 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
51944 l_rec_acct_attrs.array_num_value(18) := p_source_74;
51945 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
51946 l_rec_acct_attrs.array_num_value(19) := p_source_75;
51947 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
51948 l_rec_acct_attrs.array_char_value(20) := p_source_72;
51949 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
51950 l_rec_acct_attrs.array_num_value(21) := p_source_76;
51951 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
51952 l_rec_acct_attrs.array_char_value(22) := p_source_77;
51953 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
51954 l_rec_acct_attrs.array_num_value(23) := p_source_78;
51955 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
51956 l_rec_acct_attrs.array_char_value(24) := p_source_72;
51957 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
51958 l_rec_acct_attrs.array_date_value(25) := p_source_146;
51959 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
51960 l_rec_acct_attrs.array_num_value(26) := p_source_147;
51961 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
51962 l_rec_acct_attrs.array_char_value(27) := p_source_148;
51963 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
51964 l_rec_acct_attrs.array_num_value(28) := p_source_16;
51965 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
51966 l_rec_acct_attrs.array_date_value(29) := p_source_82;
51967 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
51968 l_rec_acct_attrs.array_char_value(30) := p_source_83;
51969 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
51970 l_rec_acct_attrs.array_date_value(31) := p_source_84;
51971 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
51972 l_rec_acct_attrs.array_char_value(32) := p_source_85;
51973 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
51974 l_rec_acct_attrs.array_num_value(33) := p_source_86;
51975 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
51976 l_rec_acct_attrs.array_num_value(34) := p_source_87;
51977 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
51978 l_rec_acct_attrs.array_char_value(35) := p_source_88;
51979 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
51980 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_89);
51981 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
51982 l_rec_acct_attrs.array_char_value(37) := p_source_60;
51983 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
51984 l_rec_acct_attrs.array_num_value(38) := p_source_90;
51985 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
51986 l_rec_acct_attrs.array_num_value(39) := p_source_91;
51987 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
51988 l_rec_acct_attrs.array_num_value(40) := p_source_92;
51989 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
51990 l_rec_acct_attrs.array_num_value(41) := p_source_93;
51991 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
51992 l_rec_acct_attrs.array_num_value(42) := p_source_94;
51993 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
51994 l_rec_acct_attrs.array_num_value(43) := p_source_95;
51995
51996 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
51997 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
51998
51999 ---------------------------------------------------------------------------------------------------------------
52000 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
52001 ---------------------------------------------------------------------------------------------------------------
52002 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
52003
52004 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
52005 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
52006
52007 IF xla_accounting_cache_pkg.GetValueChar
52008 (p_source_code => 'LEDGER_CATEGORY_CODE'
52009 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
52010 AND l_bflow_method_code = 'PRIOR_ENTRY'
52011 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
52012 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
52013 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
52014 )
52015 THEN
52016 xla_ae_lines_pkg.BflowUpgEntry
52017 (p_business_method_code => l_bflow_method_code
52018 ,p_business_class_code => l_bflow_class_code
52019 ,p_balance_type => l_balance_type_code);
52020 ELSE
52021 NULL;
52025 --
52022 -- No business flow processing for business flow method of NONE.
52023 END IF;
52024
52026 -- call analytical criteria
52027 --
52028
52029 --
52030 -- call description
52031 --
52032
52033 xla_ae_lines_pkg.SetLineDescription(
52034 p_ae_header_id => l_ae_header_id
52035 ,p_description => Description_2 (
52036 p_application_id => p_application_id
52037 , p_ae_header_id => l_ae_header_id
52038 , p_source_1 => p_source_1
52039 )
52040 );
52041
52042
52043 --
52044 -- call ADRs
52045 -- Bug 4922099
52046 --
52047 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
52048 (NVL(l_actual_upg_option, 'N') = 'O') OR
52049 (NVL(l_enc_upg_option, 'N') = 'O')
52050 )
52051 THEN
52052 NULL;
52053 --
52054 --
52055
52056 l_ccid := AcctDerRule_32(
52057 p_application_id => p_application_id
52058 , p_ae_header_id => l_ae_header_id
52059 , p_source_10 => p_source_10
52060 , p_source_10_meaning => p_source_10_meaning
52061 , p_source_15 => p_source_15
52062 , p_source_16 => p_source_16
52063 , p_source_17 => p_source_17
52064 , p_source_17_meaning => p_source_17_meaning
52065 , p_source_18 => p_source_18
52066 , p_source_25 => p_source_25
52067 , p_source_43 => p_source_43
52068 , p_source_43_meaning => p_source_43_meaning
52069 , x_transaction_coa_id => l_adr_transaction_coa_id
52070 , x_accounting_coa_id => l_adr_accounting_coa_id
52071 , x_value_type_code => l_adr_value_type_code
52072 , p_side => 'NA'
52073 );
52074
52075 xla_ae_lines_pkg.set_ccid(
52076 p_code_combination_id => l_ccid
52077 , p_value_type_code => l_adr_value_type_code
52078 , p_transaction_coa_id => l_adr_transaction_coa_id
52079 , p_accounting_coa_id => l_adr_accounting_coa_id
52080 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
52081 , p_adr_type_code => 'S'
52082 , p_component_type => l_component_type
52083 , p_component_code => l_component_code
52084 , p_component_type_code => l_component_type_code
52085 , p_component_appl_id => l_component_appl_id
52086 , p_amb_context_code => l_amb_context_code
52087 , p_side => 'NA'
52088 );
52089
52090
52091 l_segment := AcctDerRule_8(
52092 p_application_id => p_application_id
52093 , p_ae_header_id => l_ae_header_id
52094 , p_source_10 => p_source_10
52095 , p_source_10_meaning => p_source_10_meaning
52096 , p_source_15 => p_source_15
52097 , p_source_16 => p_source_16
52098 , p_source_17 => p_source_17
52099 , p_source_17_meaning => p_source_17_meaning
52100 , p_source_18 => p_source_18
52101 , x_transaction_coa_id => l_adr_transaction_coa_id
52102 , x_accounting_coa_id => l_adr_accounting_coa_id
52103 , x_flexfield_segment_code => l_adr_flexfield_segment_code
52104 , x_flex_value_set_id => l_adr_flex_value_set_id
52105 , x_value_type_code => l_adr_value_type_code
52106 , x_value_combination_id => l_adr_value_combination_id
52107 , x_value_segment_code => l_adr_value_segment_code
52108 , p_side => 'NA'
52109 , p_override_seg_flag => 'Y'
52110 );
52111
52112 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
52113
52114 xla_ae_lines_pkg.set_segment(
52115 p_to_segment_code => 'GL_ACCOUNT'
52116 , p_segment_value => l_segment
52117 , p_from_segment_code => l_adr_value_segment_code
52118 , p_from_combination_id => l_adr_value_combination_id
52119 , p_value_type_code => l_adr_value_type_code
52120 , p_transaction_coa_id => l_adr_transaction_coa_id
52121 , p_accounting_coa_id => l_adr_accounting_coa_id
52122 , p_flexfield_segment_code => l_adr_flexfield_segment_code
52123 , p_flex_value_set_id => l_adr_flex_value_set_id
52124 , p_adr_code => 'AP_ERV_GAIN_LOSS_NAT_ACCT_SEG'
52125 , p_adr_type_code => 'S'
52126 , p_component_type => l_component_type
52127 , p_component_code => l_component_code
52128 , p_component_type_code => l_component_type_code
52129 , p_component_appl_id => l_component_appl_id
52130 , p_amb_context_code => l_amb_context_code
52131 , p_entity_code => 'AP_INVOICES'
52132 , p_event_class_code => 'CREDIT MEMOS'
52133 , p_side => 'NA'
52134 );
52135
52136 END IF;
52137
52138 l_segment := AcctDerRule_24(
52139 p_application_id => p_application_id
52140 , p_ae_header_id => l_ae_header_id
52141 , p_source_10 => p_source_10
52142 , p_source_10_meaning => p_source_10_meaning
52143 , p_source_17 => p_source_17
52144 , p_source_17_meaning => p_source_17_meaning
52145 , p_source_25 => p_source_25
52146 , x_transaction_coa_id => l_adr_transaction_coa_id
52147 , x_accounting_coa_id => l_adr_accounting_coa_id
52148 , x_flexfield_segment_code => l_adr_flexfield_segment_code
52149 , x_flex_value_set_id => l_adr_flex_value_set_id
52153 , p_side => 'NA'
52150 , x_value_type_code => l_adr_value_type_code
52151 , x_value_combination_id => l_adr_value_combination_id
52152 , x_value_segment_code => l_adr_value_segment_code
52154 , p_override_seg_flag => 'Y'
52155 );
52156
52157 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
52158
52159 xla_ae_lines_pkg.set_segment(
52160 p_to_segment_code => 'GL_BALANCING'
52161 , p_segment_value => l_segment
52162 , p_from_segment_code => l_adr_value_segment_code
52163 , p_from_combination_id => l_adr_value_combination_id
52164 , p_value_type_code => l_adr_value_type_code
52165 , p_transaction_coa_id => l_adr_transaction_coa_id
52166 , p_accounting_coa_id => l_adr_accounting_coa_id
52167 , p_flexfield_segment_code => l_adr_flexfield_segment_code
52168 , p_flex_value_set_id => l_adr_flex_value_set_id
52169 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
52170 , p_adr_type_code => 'S'
52171 , p_component_type => l_component_type
52172 , p_component_code => l_component_code
52173 , p_component_type_code => l_component_type_code
52174 , p_component_appl_id => l_component_appl_id
52175 , p_amb_context_code => l_amb_context_code
52176 , p_entity_code => 'AP_INVOICES'
52177 , p_event_class_code => 'CREDIT MEMOS'
52178 , p_side => 'NA'
52179 );
52180
52181 END IF;
52182
52183 --
52184 --
52185 END IF;
52186 --
52187 -- Bug 4922099
52188 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
52189 (NVL(l_enc_upg_option, 'N') = 'O')
52190 ) AND
52191 (l_bflow_method_code = 'PRIOR_ENTRY')
52192 )
52193 THEN
52194 IF
52195 --
52196 1 = 2
52197 --
52198 THEN
52199 xla_accounting_err_pkg.build_message
52200 (p_appli_s_name => 'XLA'
52201 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
52202 ,p_token_1 => 'LINE_NUMBER'
52203 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
52204 ,p_token_2 => 'LINE_TYPE_NAME'
52205 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
52206 l_component_type
52207 ,l_component_code
52208 ,l_component_type_code
52209 ,l_component_appl_id
52210 ,l_amb_context_code
52211 ,l_entity_code
52212 ,l_event_class_code
52213 )
52214 ,p_token_3 => 'OWNER'
52215 ,p_value_3 => xla_lookups_pkg.get_meaning(
52216 p_lookup_type => 'XLA_OWNER_TYPE'
52217 ,p_lookup_code => l_component_type_code
52218 )
52219 ,p_token_4 => 'PRODUCT_NAME'
52220 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
52221 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
52222 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
52223 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
52224 ,p_ae_header_id => NULL
52225 );
52226
52227 IF (C_LEVEL_ERROR>= g_log_level) THEN
52228 trace
52229 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
52230 ,p_level => C_LEVEL_ERROR
52231 ,p_module => l_log_module);
52232 END IF;
52233 END IF;
52234 END IF;
52235 --
52236 --
52237 ------------------------------------------------------------------------------------------------
52238 -- 4219869 Business Flow
52239 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
52240 -- Prior Entry. Currently, the following code is always generated.
52241 ------------------------------------------------------------------------------------------------
52242 XLA_AE_LINES_PKG.ValidateCurrentLine;
52243
52244 ------------------------------------------------------------------------------------
52245 -- 4219869 Business Flow
52249
52246 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
52247 ------------------------------------------------------------------------------------
52248 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
52250 ----------------------------------------------------------------------------------
52251 -- 4219869 Business Flow
52252 -- Update journal entry status -- Need to generate this within IF <condition>
52253 ----------------------------------------------------------------------------------
52254 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
52255 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
52256 ,p_balance_type_code => l_balance_type_code
52257 );
52258
52259 -------------------------------------------------------------------------------------------
52260 -- 4262811 - Generate the Accrual Reversal lines
52261 -------------------------------------------------------------------------------------------
52262 BEGIN
52263 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
52264 (g_array_event(p_event_id).array_value_num('header_index'));
52265 IF l_acc_rev_flag IS NULL THEN
52266 l_acc_rev_flag := 'N';
52267 END IF;
52268 EXCEPTION
52269 WHEN OTHERS THEN
52270 l_acc_rev_flag := 'N';
52271 END;
52272 --
52273 IF (l_acc_rev_flag = 'Y') THEN
52274
52275 -- 4645092 ------------------------------------------------------------------------------
52276 -- To allow MPA report to determine if it should generate report process
52277 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
52278 ------------------------------------------------------------------------------------------
52279
52280 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
52281 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
52282 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
52283 -- call ADRs
52284 -- Bug 4922099
52285 --
52286 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
52287 (NVL(l_actual_upg_option, 'N') = 'O') OR
52288 (NVL(l_enc_upg_option, 'N') = 'O')
52289 )
52290 THEN
52291 NULL;
52292 --
52293 --
52294
52295 l_ccid := AcctDerRule_32(
52296 p_application_id => p_application_id
52297 , p_ae_header_id => l_ae_header_id
52298 , p_source_10 => p_source_10
52299 , p_source_10_meaning => p_source_10_meaning
52300 , p_source_15 => p_source_15
52301 , p_source_16 => p_source_16
52302 , p_source_17 => p_source_17
52303 , p_source_17_meaning => p_source_17_meaning
52304 , p_source_18 => p_source_18
52305 , p_source_25 => p_source_25
52306 , p_source_43 => p_source_43
52307 , p_source_43_meaning => p_source_43_meaning
52308 , x_transaction_coa_id => l_adr_transaction_coa_id
52309 , x_accounting_coa_id => l_adr_accounting_coa_id
52310 , x_value_type_code => l_adr_value_type_code
52311 , p_side => 'NA'
52312 );
52313
52314 xla_ae_lines_pkg.set_ccid(
52315 p_code_combination_id => l_ccid
52316 , p_value_type_code => l_adr_value_type_code
52317 , p_transaction_coa_id => l_adr_transaction_coa_id
52318 , p_accounting_coa_id => l_adr_accounting_coa_id
52319 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
52320 , p_adr_type_code => 'S'
52321 , p_component_type => l_component_type
52322 , p_component_code => l_component_code
52323 , p_component_type_code => l_component_type_code
52324 , p_component_appl_id => l_component_appl_id
52325 , p_amb_context_code => l_amb_context_code
52326 , p_side => 'NA'
52327 );
52328
52329
52330 l_segment := AcctDerRule_8(
52331 p_application_id => p_application_id
52332 , p_ae_header_id => l_ae_header_id
52333 , p_source_10 => p_source_10
52334 , p_source_10_meaning => p_source_10_meaning
52335 , p_source_15 => p_source_15
52336 , p_source_16 => p_source_16
52337 , p_source_17 => p_source_17
52338 , p_source_17_meaning => p_source_17_meaning
52339 , p_source_18 => p_source_18
52340 , x_transaction_coa_id => l_adr_transaction_coa_id
52341 , x_accounting_coa_id => l_adr_accounting_coa_id
52342 , x_flexfield_segment_code => l_adr_flexfield_segment_code
52343 , x_flex_value_set_id => l_adr_flex_value_set_id
52344 , x_value_type_code => l_adr_value_type_code
52345 , x_value_combination_id => l_adr_value_combination_id
52346 , x_value_segment_code => l_adr_value_segment_code
52347 , p_side => 'NA'
52348 , p_override_seg_flag => 'Y'
52349 );
52350
52351 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
52352
52353 xla_ae_lines_pkg.set_segment(
52354 p_to_segment_code => 'GL_ACCOUNT'
52355 , p_segment_value => l_segment
52356 , p_from_segment_code => l_adr_value_segment_code
52357 , p_from_combination_id => l_adr_value_combination_id
52358 , p_value_type_code => l_adr_value_type_code
52359 , p_transaction_coa_id => l_adr_transaction_coa_id
52363 , p_adr_code => 'AP_ERV_GAIN_LOSS_NAT_ACCT_SEG'
52360 , p_accounting_coa_id => l_adr_accounting_coa_id
52361 , p_flexfield_segment_code => l_adr_flexfield_segment_code
52362 , p_flex_value_set_id => l_adr_flex_value_set_id
52364 , p_adr_type_code => 'S'
52365 , p_component_type => l_component_type
52366 , p_component_code => l_component_code
52367 , p_component_type_code => l_component_type_code
52368 , p_component_appl_id => l_component_appl_id
52369 , p_amb_context_code => l_amb_context_code
52370 , p_entity_code => 'AP_INVOICES'
52371 , p_event_class_code => 'CREDIT MEMOS'
52372 , p_side => 'NA'
52373 );
52374
52375 END IF;
52376
52377 l_segment := AcctDerRule_24(
52378 p_application_id => p_application_id
52379 , p_ae_header_id => l_ae_header_id
52380 , p_source_10 => p_source_10
52381 , p_source_10_meaning => p_source_10_meaning
52382 , p_source_17 => p_source_17
52383 , p_source_17_meaning => p_source_17_meaning
52384 , p_source_25 => p_source_25
52385 , x_transaction_coa_id => l_adr_transaction_coa_id
52386 , x_accounting_coa_id => l_adr_accounting_coa_id
52387 , x_flexfield_segment_code => l_adr_flexfield_segment_code
52388 , x_flex_value_set_id => l_adr_flex_value_set_id
52389 , x_value_type_code => l_adr_value_type_code
52390 , x_value_combination_id => l_adr_value_combination_id
52391 , x_value_segment_code => l_adr_value_segment_code
52392 , p_side => 'NA'
52393 , p_override_seg_flag => 'Y'
52394 );
52395
52396 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
52397
52398 xla_ae_lines_pkg.set_segment(
52399 p_to_segment_code => 'GL_BALANCING'
52400 , p_segment_value => l_segment
52401 , p_from_segment_code => l_adr_value_segment_code
52402 , p_from_combination_id => l_adr_value_combination_id
52403 , p_value_type_code => l_adr_value_type_code
52404 , p_transaction_coa_id => l_adr_transaction_coa_id
52405 , p_accounting_coa_id => l_adr_accounting_coa_id
52406 , p_flexfield_segment_code => l_adr_flexfield_segment_code
52407 , p_flex_value_set_id => l_adr_flex_value_set_id
52408 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
52409 , p_adr_type_code => 'S'
52410 , p_component_type => l_component_type
52411 , p_component_code => l_component_code
52412 , p_component_type_code => l_component_type_code
52413 , p_component_appl_id => l_component_appl_id
52414 , p_amb_context_code => l_amb_context_code
52415 , p_entity_code => 'AP_INVOICES'
52416 , p_event_class_code => 'CREDIT MEMOS'
52417 , p_side => 'NA'
52418 );
52419
52420 END IF;
52421
52422 --
52423 --
52424 END IF;
52425
52426 --
52427 -- Update the line information that should be overwritten
52428 --
52429 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
52430 p_header_num => 1);
52431 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
52432
52433 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
52434
52435 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
52436 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
52437 END IF;
52438
52439 --
52440 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
52441 --
52442 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
52443 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
52444 ELSE
52445 ---------------------------------------------------------------------------------------------------
52446 -- 4262811a Switch Sign
52447 ---------------------------------------------------------------------------------------------------
52448 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
52449 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
52450 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
52451 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
52452 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
52453 -- 5132302
52454 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
52455 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
52456
52457 END IF;
52458
52459 -- 4955764
52460 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
52464 XLA_AE_LINES_PKG.ValidateCurrentLine;
52461 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
52462
52463
52465 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
52466
52467 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
52468 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
52469 ,p_balance_type_code => l_balance_type_code);
52470
52471 END IF;
52472
52473 -----------------------------------------------------------------------------------------
52474 -- 4262811 Multiperiod Accounting
52475 -----------------------------------------------------------------------------------------
52476 -- No MPA option is assigned.
52477
52478
52479 END IF;
52480 END IF;
52481 --
52482
52483 --
52484 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
52485 trace
52486 (p_msg => 'END of AcctLineType_116'
52487 ,p_level => C_LEVEL_PROCEDURE
52488 ,p_module => l_log_module);
52489 END IF;
52490 --
52491 EXCEPTION
52492 WHEN xla_exceptions_pkg.application_exception THEN
52493 RAISE;
52494 WHEN OTHERS THEN
52495 xla_exceptions_pkg.raise_message
52496 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_116');
52497 END AcctLineType_116;
52498 --
52499
52500 ---------------------------------------
52501 --
52502 -- PRIVATE FUNCTION
52503 -- AcctLineType_117
52504 --
52505 ---------------------------------------
52506 PROCEDURE AcctLineType_117 (
52507 p_application_id IN NUMBER
52508 ,p_event_id IN NUMBER
52509 ,p_calculate_acctd_flag IN VARCHAR2
52510 ,p_calculate_g_l_flag IN VARCHAR2
52511 ,p_actual_flag IN OUT VARCHAR2
52512 ,p_balance_type_code OUT VARCHAR2
52513 ,p_gain_or_loss_ref OUT VARCHAR2
52514
52515 --Invoice Distribution Description
52516 , p_source_1 IN VARCHAR2
52517 --Automatic Offsets Value
52518 , p_source_10 IN VARCHAR2
52519 , p_source_10_meaning IN VARCHAR2
52520 --Purchase Order Rate Variance Gain Account
52521 , p_source_15 IN NUMBER
52522 --Invoice Distribution Ledger Amount
52523 , p_source_16 IN NUMBER
52524 --Destination Type of the PO Distribution
52525 , p_source_17 IN VARCHAR2
52526 , p_source_17_meaning IN VARCHAR2
52527 --Purchase Order Rate Variance Loss Account
52528 , p_source_18 IN NUMBER
52529 --Invoice Distribution Account
52530 , p_source_25 IN NUMBER
52531 --Invoice Distribution Type
52532 , p_source_28 IN VARCHAR2
52533 , p_source_28_meaning IN VARCHAR2
52534 --Automatic Offsets Flag
52535 , p_source_43 IN VARCHAR2
52536 , p_source_43_meaning IN VARCHAR2
52537 --Accrue on Receipt Option
52538 , p_source_54 IN VARCHAR2
52539 , p_source_54_meaning IN VARCHAR2
52540 --Accounting Reversal Indicator
52541 , p_source_58 IN VARCHAR2
52542 --Distribution Link Type
52543 , p_source_60 IN VARCHAR2
52544 --Allocation to Main Distribution Identifier
52545 , p_source_62 IN NUMBER
52546 --Invoice Identifier
52547 , p_source_63 IN NUMBER
52548 --Invoice Distribution Identifier
52549 , p_source_69 IN NUMBER
52550 --Payables Encumbrance Upgrade Credit Account
52551 , p_source_70 IN NUMBER
52552 --Payables Encumbrance Upgrade Credit Amount
52553 , p_source_71 IN NUMBER
52554 --Invoice Currency Code
52555 , p_source_72 IN VARCHAR2
52556 --Payables Encumbrance Upgrade Credit Base Amount
52557 , p_source_73 IN NUMBER
52558 --Payables Encumbrance Upgrade Debit Account
52559 , p_source_74 IN NUMBER
52560 --Payables Encumbrance Upgrade Debit Amount
52561 , p_source_75 IN NUMBER
52562 --Payables Encumbrance Upgrade Debit Base Amount
52563 , p_source_76 IN NUMBER
52564 --Payables Encumbrance Upgrade Option
52565 , p_source_77 IN VARCHAR2
52566 --Invoice Distribution Amount
52567 , p_source_78 IN NUMBER
52568 --Deferred Accounting End Date
52569 , p_source_82 IN DATE
52570 --Deferred Accounting Option
52571 , p_source_83 IN VARCHAR2
52572 --Deferred Accounting Start Date
52573 , p_source_84 IN DATE
52574 --Override Accounted Amount Indicator
52575 , p_source_85 IN VARCHAR2
52576 , p_source_85_meaning IN VARCHAR2
52577 --Invoice Supplier Identifier
52578 , p_source_86 IN NUMBER
52579 --Invoice Supplier Site Identifier
52580 , p_source_87 IN NUMBER
52581 --Third Party Type
52582 , p_source_88 IN VARCHAR2
52583 --Parent Reversal Identifier
52584 , p_source_89 IN NUMBER
52585 --Invoice Distribution Tax Line Identifier
52586 , p_source_91 IN NUMBER
52587 --Invoice Distribution Tax Distribution Identifier from Tax
52588 , p_source_92 IN NUMBER
52589 --Invoice Distribution Summary Tax Line Identifier
52590 , p_source_93 IN NUMBER
52591 --Payables Upgrade Credit Encumbrance Type Identifier
52592 , p_source_94 IN NUMBER
52593 --Payables Upgrade Debit Encumbrance Type Identifier
52594 , p_source_95 IN NUMBER
52595 --Business Flow Accounts Payable Application Identifier
52596 , p_source_96 IN NUMBER
52597 --Business Flow Invoice Distribution Type
52601 --Business Flow Invoice Distribution Identifier
52598 , p_source_97 IN VARCHAR2
52599 --Business Flow Invoice Entity Code
52600 , p_source_98 IN VARCHAR2
52602 , p_source_99 IN NUMBER
52603 --Business Flow Invoice Identifier
52604 , p_source_100 IN NUMBER
52605 --Invoice Exchange Date
52606 , p_source_146 IN DATE
52607 --Invoice Exchange Rate
52608 , p_source_147 IN NUMBER
52609 --Invoice Exchange Rate Type
52610 , p_source_148 IN VARCHAR2
52611 )
52612 IS
52613
52614 l_component_type VARCHAR2(80);
52615 l_component_code VARCHAR2(30);
52616 l_component_type_code VARCHAR2(1);
52617 l_component_appl_id INTEGER;
52618 l_amb_context_code VARCHAR2(30);
52619 l_entity_code VARCHAR2(30);
52620 l_event_class_code VARCHAR2(30);
52621 l_ae_header_id NUMBER;
52622 l_event_type_code VARCHAR2(30);
52623 l_line_definition_code VARCHAR2(30);
52624 l_line_definition_owner_code VARCHAR2(1);
52625 --
52626 -- adr variables
52627 l_segment VARCHAR2(30);
52628 l_ccid NUMBER;
52629 l_adr_transaction_coa_id NUMBER;
52630 l_adr_accounting_coa_id NUMBER;
52631 l_adr_flexfield_segment_code VARCHAR2(30);
52632 l_adr_flex_value_set_id NUMBER;
52633 l_adr_value_type_code VARCHAR2(30);
52634 l_adr_value_combination_id NUMBER;
52635 l_adr_value_segment_code VARCHAR2(30);
52636
52637 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
52638 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
52639 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
52640 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
52641
52642 -- 4262811 Variables ------------------------------------------------------------------------------------------
52643 l_entered_amt_idx NUMBER;
52644 l_accted_amt_idx NUMBER;
52645 l_acc_rev_flag VARCHAR2(1);
52646 l_accrual_line_num NUMBER;
52647 l_tmp_amt NUMBER;
52648 l_acc_rev_natural_side_code VARCHAR2(1);
52649
52650 l_num_entries NUMBER;
52651 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
52652 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
52653 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
52654 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
52655 l_recog_line_1 NUMBER;
52656 l_recog_line_2 NUMBER;
52657
52658 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
52659 l_bflow_applied_to_amt NUMBER; -- 5132302
52660 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
52661
52662 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
52663
52664 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
52665 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
52666
52667 ---------------------------------------------------------------------------------------------------------------
52668
52669
52670 --
52671 -- bulk performance
52672 --
52673 l_balance_type_code VARCHAR2(1);
52674 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
52675 l_log_module VARCHAR2(240);
52676
52677 --
52678 -- Upgrade strategy
52679 --
52680 l_actual_upg_option VARCHAR2(1);
52681 l_enc_upg_option VARCHAR2(1);
52682
52683 --
52684 BEGIN
52685 --
52686 IF g_log_enabled THEN
52687 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_117';
52688 END IF;
52689 --
52690 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
52691
52692 trace
52693 (p_msg => 'BEGIN of AcctLineType_117'
52694 ,p_level => C_LEVEL_PROCEDURE
52695 ,p_module => l_log_module);
52696
52697 END IF;
52698 --
52699 l_component_type := 'AMB_JLT';
52700 l_component_code := 'AP_EX_RATE_VAR_DM';
52701 l_component_type_code := 'S';
52702 l_component_appl_id := 200;
52703 l_amb_context_code := 'DEFAULT';
52704 l_entity_code := 'AP_INVOICES';
52705 l_event_class_code := 'DEBIT MEMOS';
52706 l_event_type_code := 'DEBIT MEMOS_ALL';
52707 l_line_definition_owner_code := 'S';
52708 l_line_definition_code := 'ACCRUAL_DEBIT MEMOS_ALL';
52709 --
52710 l_balance_type_code := 'A';
52711 l_segment := NULL;
52712 l_ccid := NULL;
52713 l_adr_transaction_coa_id := NULL;
52714 l_adr_accounting_coa_id := NULL;
52715 l_adr_flexfield_segment_code := NULL;
52716 l_adr_flex_value_set_id := NULL;
52717 l_adr_value_type_code := NULL;
52718 l_adr_value_combination_id := NULL;
52719 l_adr_value_segment_code := NULL;
52720
52721 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
52722 l_bflow_class_code := ''; -- 4219869 Business Flow
52723 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
52724 l_budgetary_control_flag := 'N';
52725
52726 l_bflow_applied_to_amt_idx := NULL; -- 5132302
52727 l_bflow_applied_to_amt := NULL; -- 5132302
52731 l_accrual_line_num := NULL; -- 4262811
52728 l_entered_amt_idx := NULL; -- 4262811
52729 l_accted_amt_idx := NULL; -- 4262811
52730 l_acc_rev_flag := NULL; -- 4262811
52732 l_tmp_amt := NULL; -- 4262811
52733 --
52734 IF ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
52735 (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
52736 return;
52737 END IF;
52738
52739 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
52740 l_balance_type_code <> 'B' THEN
52741 IF NVL(p_source_28,'
52742 ') = 'ERV' AND
52743 NVL(p_source_54,'
52744 ') = 'Y'
52745 THEN
52746
52747 --
52748 XLA_AE_LINES_PKG.SetNewLine;
52749
52750 p_balance_type_code := l_balance_type_code;
52751 -- set the flag so later we will know whether the gain loss line needs to be created
52752
52753 IF(l_balance_type_code = 'A' ) THEN
52754 p_actual_flag :='G';
52755 END IF;
52756
52757 --
52758 -- bulk performance
52759 --
52760 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
52761 p_header_num => 0); -- 4262811
52762 --
52763 -- set accounting line options
52764 --
52765 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
52766 p_natural_side_code => 'D'
52767 , p_gain_or_loss_flag => 'Y'
52768 , p_gl_transfer_mode_code => 'S'
52769 , p_acct_entry_type_code => 'A'
52770 , p_switch_side_flag => 'Y'
52771 , p_merge_duplicate_code => 'A'
52772 );
52773 --
52774 l_acc_rev_natural_side_code := 'C'; -- 4262811
52775 --
52776 --
52777 -- set accounting line type info
52778 --
52779 xla_ae_lines_pkg.SetAcctLineType
52780 (p_component_type => l_component_type
52781 ,p_event_type_code => l_event_type_code
52782 ,p_line_definition_owner_code => l_line_definition_owner_code
52783 ,p_line_definition_code => l_line_definition_code
52784 ,p_accounting_line_code => l_component_code
52785 ,p_accounting_line_type_code => l_component_type_code
52786 ,p_accounting_line_appl_id => l_component_appl_id
52787 ,p_amb_context_code => l_amb_context_code
52788 ,p_entity_code => l_entity_code
52789 ,p_event_class_code => l_event_class_code);
52790 --
52791 -- set accounting class
52792 --
52793 xla_ae_lines_pkg.SetAcctClass(
52794 p_accounting_class_code => 'EXCHANGE_RATE_VARIANCE'
52795 , p_ae_header_id => l_ae_header_id
52796 );
52797
52798 --
52799 -- set rounding class
52800 --
52801 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
52802 'EXCHANGE_RATE_VARIANCE';
52803
52804 --
52805 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
52806 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
52807 --
52808 -- bulk performance
52809 --
52810 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
52811
52812 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
52813 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
52814
52815 -- 4955764
52816 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
52817 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
52818
52819 -- 4458381 Public Sector Enh
52820
52821 --
52822 -- set accounting attributes for the line type
52823 --
52824 l_entered_amt_idx := 23;
52825 l_accted_amt_idx := 28;
52826 l_bflow_applied_to_amt_idx := NULL; -- 5132302
52827 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
52828 l_rec_acct_attrs.array_char_value(1) := p_source_58;
52829 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
52830 l_rec_acct_attrs.array_num_value(2) :=
52831 xla_ae_sources_pkg.GetSystemSourceNum(
52832 p_source_code => 'XLA_EVENT_APPL_ID'
52833 , p_source_type_code => 'Y'
52834 , p_source_application_id => 602
52835 );
52836 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
52837 l_rec_acct_attrs.array_char_value(3) := p_source_60;
52838 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
52839 l_rec_acct_attrs.array_char_value(4) :=
52840 xla_ae_sources_pkg.GetSystemSourceChar(
52841 p_source_code => 'XLA_ENTITY_CODE'
52842 , p_source_type_code => 'Y'
52843 , p_source_application_id => 602
52844 );
52845 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
52846 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_62);
52847 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
52848 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_63);
52849 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
52853 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
52850 l_rec_acct_attrs.array_num_value(7) := p_source_96;
52851 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
52852 l_rec_acct_attrs.array_char_value(8) := p_source_97;
52854 l_rec_acct_attrs.array_char_value(9) := p_source_98;
52855 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
52856 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_99);
52857 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
52858 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_100);
52859 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
52860 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_69);
52861 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
52862 l_rec_acct_attrs.array_char_value(13) := p_source_60;
52863 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
52864 l_rec_acct_attrs.array_num_value(14) := p_source_70;
52865 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
52866 l_rec_acct_attrs.array_num_value(15) := p_source_71;
52867 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
52868 l_rec_acct_attrs.array_char_value(16) := p_source_72;
52869 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
52870 l_rec_acct_attrs.array_num_value(17) := p_source_73;
52871 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
52872 l_rec_acct_attrs.array_num_value(18) := p_source_74;
52873 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
52874 l_rec_acct_attrs.array_num_value(19) := p_source_75;
52875 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
52876 l_rec_acct_attrs.array_char_value(20) := p_source_72;
52877 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
52878 l_rec_acct_attrs.array_num_value(21) := p_source_76;
52879 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
52880 l_rec_acct_attrs.array_char_value(22) := p_source_77;
52881 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
52882 l_rec_acct_attrs.array_num_value(23) := p_source_78;
52883 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
52884 l_rec_acct_attrs.array_char_value(24) := p_source_72;
52885 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
52886 l_rec_acct_attrs.array_date_value(25) := p_source_146;
52887 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
52888 l_rec_acct_attrs.array_num_value(26) := p_source_147;
52889 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
52890 l_rec_acct_attrs.array_char_value(27) := p_source_148;
52891 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
52892 l_rec_acct_attrs.array_num_value(28) := p_source_16;
52893 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
52894 l_rec_acct_attrs.array_date_value(29) := p_source_82;
52895 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
52896 l_rec_acct_attrs.array_char_value(30) := p_source_83;
52897 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
52898 l_rec_acct_attrs.array_date_value(31) := p_source_84;
52899 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
52900 l_rec_acct_attrs.array_char_value(32) := p_source_85;
52901 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
52902 l_rec_acct_attrs.array_num_value(33) := p_source_86;
52903 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
52904 l_rec_acct_attrs.array_num_value(34) := p_source_87;
52905 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
52906 l_rec_acct_attrs.array_char_value(35) := p_source_88;
52907 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
52908 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_89);
52909 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
52910 l_rec_acct_attrs.array_char_value(37) := p_source_60;
52911 l_rec_acct_attrs.array_acct_attr_code(38) := 'TAX_LINE_REF_ID';
52912 l_rec_acct_attrs.array_num_value(38) := p_source_91;
52913 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_REC_NREC_DIST_REF_ID';
52914 l_rec_acct_attrs.array_num_value(39) := p_source_92;
52915 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_SUMMARY_LINE_REF_ID';
52916 l_rec_acct_attrs.array_num_value(40) := p_source_93;
52917 l_rec_acct_attrs.array_acct_attr_code(41) := 'UPG_CR_ENC_TYPE_ID';
52918 l_rec_acct_attrs.array_num_value(41) := p_source_94;
52919 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_DR_ENC_TYPE_ID';
52920 l_rec_acct_attrs.array_num_value(42) := p_source_95;
52921
52922 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
52923 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
52924
52925 ---------------------------------------------------------------------------------------------------------------
52926 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
52927 ---------------------------------------------------------------------------------------------------------------
52928 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
52929
52930 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
52934 (p_source_code => 'LEDGER_CATEGORY_CODE'
52931 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
52932
52933 IF xla_accounting_cache_pkg.GetValueChar
52935 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
52936 AND l_bflow_method_code = 'PRIOR_ENTRY'
52937 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
52938 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
52939 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
52940 )
52941 THEN
52942 xla_ae_lines_pkg.BflowUpgEntry
52943 (p_business_method_code => l_bflow_method_code
52944 ,p_business_class_code => l_bflow_class_code
52945 ,p_balance_type => l_balance_type_code);
52946 ELSE
52947 NULL;
52948 -- No business flow processing for business flow method of NONE.
52949 END IF;
52950
52951 --
52952 -- call analytical criteria
52953 --
52954
52955 --
52956 -- call description
52957 --
52958
52959 xla_ae_lines_pkg.SetLineDescription(
52960 p_ae_header_id => l_ae_header_id
52961 ,p_description => Description_2 (
52962 p_application_id => p_application_id
52963 , p_ae_header_id => l_ae_header_id
52964 , p_source_1 => p_source_1
52965 )
52966 );
52967
52968
52969 --
52970 -- call ADRs
52971 -- Bug 4922099
52972 --
52973 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
52974 (NVL(l_actual_upg_option, 'N') = 'O') OR
52975 (NVL(l_enc_upg_option, 'N') = 'O')
52976 )
52977 THEN
52978 NULL;
52979 --
52980 --
52981
52982 l_ccid := AcctDerRule_32(
52983 p_application_id => p_application_id
52984 , p_ae_header_id => l_ae_header_id
52985 , p_source_10 => p_source_10
52986 , p_source_10_meaning => p_source_10_meaning
52987 , p_source_15 => p_source_15
52988 , p_source_16 => p_source_16
52989 , p_source_17 => p_source_17
52990 , p_source_17_meaning => p_source_17_meaning
52991 , p_source_18 => p_source_18
52992 , p_source_25 => p_source_25
52993 , p_source_43 => p_source_43
52994 , p_source_43_meaning => p_source_43_meaning
52995 , x_transaction_coa_id => l_adr_transaction_coa_id
52996 , x_accounting_coa_id => l_adr_accounting_coa_id
52997 , x_value_type_code => l_adr_value_type_code
52998 , p_side => 'NA'
52999 );
53000
53001 xla_ae_lines_pkg.set_ccid(
53002 p_code_combination_id => l_ccid
53003 , p_value_type_code => l_adr_value_type_code
53004 , p_transaction_coa_id => l_adr_transaction_coa_id
53005 , p_accounting_coa_id => l_adr_accounting_coa_id
53006 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
53007 , p_adr_type_code => 'S'
53008 , p_component_type => l_component_type
53009 , p_component_code => l_component_code
53010 , p_component_type_code => l_component_type_code
53011 , p_component_appl_id => l_component_appl_id
53012 , p_amb_context_code => l_amb_context_code
53013 , p_side => 'NA'
53014 );
53015
53016
53017 l_segment := AcctDerRule_8(
53018 p_application_id => p_application_id
53019 , p_ae_header_id => l_ae_header_id
53020 , p_source_10 => p_source_10
53021 , p_source_10_meaning => p_source_10_meaning
53022 , p_source_15 => p_source_15
53023 , p_source_16 => p_source_16
53024 , p_source_17 => p_source_17
53025 , p_source_17_meaning => p_source_17_meaning
53026 , p_source_18 => p_source_18
53027 , x_transaction_coa_id => l_adr_transaction_coa_id
53028 , x_accounting_coa_id => l_adr_accounting_coa_id
53029 , x_flexfield_segment_code => l_adr_flexfield_segment_code
53030 , x_flex_value_set_id => l_adr_flex_value_set_id
53031 , x_value_type_code => l_adr_value_type_code
53032 , x_value_combination_id => l_adr_value_combination_id
53033 , x_value_segment_code => l_adr_value_segment_code
53034 , p_side => 'NA'
53035 , p_override_seg_flag => 'Y'
53036 );
53037
53038 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
53039
53040 xla_ae_lines_pkg.set_segment(
53041 p_to_segment_code => 'GL_ACCOUNT'
53042 , p_segment_value => l_segment
53043 , p_from_segment_code => l_adr_value_segment_code
53044 , p_from_combination_id => l_adr_value_combination_id
53045 , p_value_type_code => l_adr_value_type_code
53046 , p_transaction_coa_id => l_adr_transaction_coa_id
53047 , p_accounting_coa_id => l_adr_accounting_coa_id
53048 , p_flexfield_segment_code => l_adr_flexfield_segment_code
53049 , p_flex_value_set_id => l_adr_flex_value_set_id
53050 , p_adr_code => 'AP_ERV_GAIN_LOSS_NAT_ACCT_SEG'
53051 , p_adr_type_code => 'S'
53052 , p_component_type => l_component_type
53053 , p_component_code => l_component_code
53054 , p_component_type_code => l_component_type_code
53058 , p_event_class_code => 'DEBIT MEMOS'
53055 , p_component_appl_id => l_component_appl_id
53056 , p_amb_context_code => l_amb_context_code
53057 , p_entity_code => 'AP_INVOICES'
53059 , p_side => 'NA'
53060 );
53061
53062 END IF;
53063
53064 l_segment := AcctDerRule_24(
53065 p_application_id => p_application_id
53066 , p_ae_header_id => l_ae_header_id
53067 , p_source_10 => p_source_10
53068 , p_source_10_meaning => p_source_10_meaning
53069 , p_source_17 => p_source_17
53070 , p_source_17_meaning => p_source_17_meaning
53071 , p_source_25 => p_source_25
53072 , x_transaction_coa_id => l_adr_transaction_coa_id
53073 , x_accounting_coa_id => l_adr_accounting_coa_id
53074 , x_flexfield_segment_code => l_adr_flexfield_segment_code
53075 , x_flex_value_set_id => l_adr_flex_value_set_id
53076 , x_value_type_code => l_adr_value_type_code
53077 , x_value_combination_id => l_adr_value_combination_id
53078 , x_value_segment_code => l_adr_value_segment_code
53079 , p_side => 'NA'
53080 , p_override_seg_flag => 'Y'
53081 );
53082
53083 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
53084
53085 xla_ae_lines_pkg.set_segment(
53086 p_to_segment_code => 'GL_BALANCING'
53087 , p_segment_value => l_segment
53088 , p_from_segment_code => l_adr_value_segment_code
53089 , p_from_combination_id => l_adr_value_combination_id
53090 , p_value_type_code => l_adr_value_type_code
53091 , p_transaction_coa_id => l_adr_transaction_coa_id
53092 , p_accounting_coa_id => l_adr_accounting_coa_id
53093 , p_flexfield_segment_code => l_adr_flexfield_segment_code
53094 , p_flex_value_set_id => l_adr_flex_value_set_id
53095 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
53096 , p_adr_type_code => 'S'
53097 , p_component_type => l_component_type
53098 , p_component_code => l_component_code
53099 , p_component_type_code => l_component_type_code
53100 , p_component_appl_id => l_component_appl_id
53101 , p_amb_context_code => l_amb_context_code
53102 , p_entity_code => 'AP_INVOICES'
53103 , p_event_class_code => 'DEBIT MEMOS'
53104 , p_side => 'NA'
53105 );
53106
53107 END IF;
53108
53109 --
53110 --
53111 END IF;
53112 --
53113 -- Bug 4922099
53114 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
53115 (NVL(l_enc_upg_option, 'N') = 'O')
53116 ) AND
53117 (l_bflow_method_code = 'PRIOR_ENTRY')
53118 )
53119 THEN
53120 IF
53121 --
53122 1 = 2
53123 --
53124 THEN
53125 xla_accounting_err_pkg.build_message
53126 (p_appli_s_name => 'XLA'
53127 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
53128 ,p_token_1 => 'LINE_NUMBER'
53129 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
53130 ,p_token_2 => 'LINE_TYPE_NAME'
53131 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
53132 l_component_type
53133 ,l_component_code
53134 ,l_component_type_code
53135 ,l_component_appl_id
53136 ,l_amb_context_code
53137 ,l_entity_code
53138 ,l_event_class_code
53139 )
53140 ,p_token_3 => 'OWNER'
53141 ,p_value_3 => xla_lookups_pkg.get_meaning(
53142 p_lookup_type => 'XLA_OWNER_TYPE'
53143 ,p_lookup_code => l_component_type_code
53144 )
53145 ,p_token_4 => 'PRODUCT_NAME'
53146 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
53147 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
53148 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
53149 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
53150 ,p_ae_header_id => NULL
53151 );
53152
53153 IF (C_LEVEL_ERROR>= g_log_level) THEN
53157 ,p_module => l_log_module);
53154 trace
53155 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
53156 ,p_level => C_LEVEL_ERROR
53158 END IF;
53159 END IF;
53160 END IF;
53161 --
53162 --
53163 ------------------------------------------------------------------------------------------------
53164 -- 4219869 Business Flow
53165 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
53166 -- Prior Entry. Currently, the following code is always generated.
53167 ------------------------------------------------------------------------------------------------
53168 XLA_AE_LINES_PKG.ValidateCurrentLine;
53169
53170 ------------------------------------------------------------------------------------
53171 -- 4219869 Business Flow
53172 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
53173 ------------------------------------------------------------------------------------
53174 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
53175
53176 ----------------------------------------------------------------------------------
53177 -- 4219869 Business Flow
53178 -- Update journal entry status -- Need to generate this within IF <condition>
53179 ----------------------------------------------------------------------------------
53180 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
53181 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
53182 ,p_balance_type_code => l_balance_type_code
53183 );
53184
53185 -------------------------------------------------------------------------------------------
53186 -- 4262811 - Generate the Accrual Reversal lines
53187 -------------------------------------------------------------------------------------------
53188 BEGIN
53189 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
53190 (g_array_event(p_event_id).array_value_num('header_index'));
53191 IF l_acc_rev_flag IS NULL THEN
53192 l_acc_rev_flag := 'N';
53193 END IF;
53194 EXCEPTION
53195 WHEN OTHERS THEN
53196 l_acc_rev_flag := 'N';
53197 END;
53198 --
53199 IF (l_acc_rev_flag = 'Y') THEN
53200
53201 -- 4645092 ------------------------------------------------------------------------------
53202 -- To allow MPA report to determine if it should generate report process
53203 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
53204 ------------------------------------------------------------------------------------------
53205
53206 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
53207 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
53208 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
53209 -- call ADRs
53210 -- Bug 4922099
53211 --
53212 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
53213 (NVL(l_actual_upg_option, 'N') = 'O') OR
53214 (NVL(l_enc_upg_option, 'N') = 'O')
53215 )
53216 THEN
53217 NULL;
53218 --
53219 --
53220
53221 l_ccid := AcctDerRule_32(
53222 p_application_id => p_application_id
53223 , p_ae_header_id => l_ae_header_id
53224 , p_source_10 => p_source_10
53225 , p_source_10_meaning => p_source_10_meaning
53226 , p_source_15 => p_source_15
53227 , p_source_16 => p_source_16
53228 , p_source_17 => p_source_17
53229 , p_source_17_meaning => p_source_17_meaning
53230 , p_source_18 => p_source_18
53231 , p_source_25 => p_source_25
53232 , p_source_43 => p_source_43
53233 , p_source_43_meaning => p_source_43_meaning
53234 , x_transaction_coa_id => l_adr_transaction_coa_id
53235 , x_accounting_coa_id => l_adr_accounting_coa_id
53236 , x_value_type_code => l_adr_value_type_code
53237 , p_side => 'NA'
53238 );
53239
53240 xla_ae_lines_pkg.set_ccid(
53241 p_code_combination_id => l_ccid
53242 , p_value_type_code => l_adr_value_type_code
53243 , p_transaction_coa_id => l_adr_transaction_coa_id
53244 , p_accounting_coa_id => l_adr_accounting_coa_id
53245 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
53246 , p_adr_type_code => 'S'
53247 , p_component_type => l_component_type
53248 , p_component_code => l_component_code
53249 , p_component_type_code => l_component_type_code
53250 , p_component_appl_id => l_component_appl_id
53251 , p_amb_context_code => l_amb_context_code
53252 , p_side => 'NA'
53253 );
53254
53255
53256 l_segment := AcctDerRule_8(
53257 p_application_id => p_application_id
53258 , p_ae_header_id => l_ae_header_id
53259 , p_source_10 => p_source_10
53260 , p_source_10_meaning => p_source_10_meaning
53261 , p_source_15 => p_source_15
53262 , p_source_16 => p_source_16
53263 , p_source_17 => p_source_17
53264 , p_source_17_meaning => p_source_17_meaning
53265 , p_source_18 => p_source_18
53266 , x_transaction_coa_id => l_adr_transaction_coa_id
53267 , x_accounting_coa_id => l_adr_accounting_coa_id
53268 , x_flexfield_segment_code => l_adr_flexfield_segment_code
53269 , x_flex_value_set_id => l_adr_flex_value_set_id
53273 , p_side => 'NA'
53270 , x_value_type_code => l_adr_value_type_code
53271 , x_value_combination_id => l_adr_value_combination_id
53272 , x_value_segment_code => l_adr_value_segment_code
53274 , p_override_seg_flag => 'Y'
53275 );
53276
53277 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
53278
53279 xla_ae_lines_pkg.set_segment(
53280 p_to_segment_code => 'GL_ACCOUNT'
53281 , p_segment_value => l_segment
53282 , p_from_segment_code => l_adr_value_segment_code
53283 , p_from_combination_id => l_adr_value_combination_id
53284 , p_value_type_code => l_adr_value_type_code
53285 , p_transaction_coa_id => l_adr_transaction_coa_id
53286 , p_accounting_coa_id => l_adr_accounting_coa_id
53287 , p_flexfield_segment_code => l_adr_flexfield_segment_code
53288 , p_flex_value_set_id => l_adr_flex_value_set_id
53289 , p_adr_code => 'AP_ERV_GAIN_LOSS_NAT_ACCT_SEG'
53290 , p_adr_type_code => 'S'
53291 , p_component_type => l_component_type
53292 , p_component_code => l_component_code
53293 , p_component_type_code => l_component_type_code
53294 , p_component_appl_id => l_component_appl_id
53295 , p_amb_context_code => l_amb_context_code
53296 , p_entity_code => 'AP_INVOICES'
53297 , p_event_class_code => 'DEBIT MEMOS'
53298 , p_side => 'NA'
53299 );
53300
53301 END IF;
53302
53303 l_segment := AcctDerRule_24(
53304 p_application_id => p_application_id
53305 , p_ae_header_id => l_ae_header_id
53306 , p_source_10 => p_source_10
53307 , p_source_10_meaning => p_source_10_meaning
53308 , p_source_17 => p_source_17
53309 , p_source_17_meaning => p_source_17_meaning
53310 , p_source_25 => p_source_25
53311 , x_transaction_coa_id => l_adr_transaction_coa_id
53312 , x_accounting_coa_id => l_adr_accounting_coa_id
53313 , x_flexfield_segment_code => l_adr_flexfield_segment_code
53314 , x_flex_value_set_id => l_adr_flex_value_set_id
53315 , x_value_type_code => l_adr_value_type_code
53316 , x_value_combination_id => l_adr_value_combination_id
53317 , x_value_segment_code => l_adr_value_segment_code
53318 , p_side => 'NA'
53319 , p_override_seg_flag => 'Y'
53320 );
53321
53322 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
53323
53324 xla_ae_lines_pkg.set_segment(
53325 p_to_segment_code => 'GL_BALANCING'
53326 , p_segment_value => l_segment
53327 , p_from_segment_code => l_adr_value_segment_code
53328 , p_from_combination_id => l_adr_value_combination_id
53329 , p_value_type_code => l_adr_value_type_code
53330 , p_transaction_coa_id => l_adr_transaction_coa_id
53331 , p_accounting_coa_id => l_adr_accounting_coa_id
53332 , p_flexfield_segment_code => l_adr_flexfield_segment_code
53333 , p_flex_value_set_id => l_adr_flex_value_set_id
53334 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
53335 , p_adr_type_code => 'S'
53336 , p_component_type => l_component_type
53337 , p_component_code => l_component_code
53338 , p_component_type_code => l_component_type_code
53339 , p_component_appl_id => l_component_appl_id
53340 , p_amb_context_code => l_amb_context_code
53341 , p_entity_code => 'AP_INVOICES'
53342 , p_event_class_code => 'DEBIT MEMOS'
53343 , p_side => 'NA'
53344 );
53345
53346 END IF;
53347
53348 --
53349 --
53350 END IF;
53351
53352 --
53353 -- Update the line information that should be overwritten
53354 --
53355 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
53356 p_header_num => 1);
53357 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
53358
53359 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
53360
53361 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
53362 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
53363 END IF;
53364
53365 --
53366 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
53367 --
53368 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
53369 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
53370 ELSE
53371 ---------------------------------------------------------------------------------------------------
53372 -- 4262811a Switch Sign
53373 ---------------------------------------------------------------------------------------------------
53374 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
53375 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
53379 -- 5132302
53376 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
53377 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
53378 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
53380 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
53381 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
53382
53383 END IF;
53384
53385 -- 4955764
53386 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
53387 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
53388
53389
53390 XLA_AE_LINES_PKG.ValidateCurrentLine;
53391 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
53392
53393 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
53394 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
53395 ,p_balance_type_code => l_balance_type_code);
53396
53397 END IF;
53398
53399 -----------------------------------------------------------------------------------------
53400 -- 4262811 Multiperiod Accounting
53401 -----------------------------------------------------------------------------------------
53402 -- No MPA option is assigned.
53403
53404
53405 END IF;
53406 END IF;
53407 --
53408
53409 --
53410 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
53411 trace
53412 (p_msg => 'END of AcctLineType_117'
53413 ,p_level => C_LEVEL_PROCEDURE
53414 ,p_module => l_log_module);
53415 END IF;
53416 --
53417 EXCEPTION
53418 WHEN xla_exceptions_pkg.application_exception THEN
53419 RAISE;
53420 WHEN OTHERS THEN
53421 xla_exceptions_pkg.raise_message
53422 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_117');
53423 END AcctLineType_117;
53424 --
53425
53426 ---------------------------------------
53427 --
53428 -- PRIVATE FUNCTION
53429 -- AcctLineType_118
53430 --
53431 ---------------------------------------
53432 PROCEDURE AcctLineType_118 (
53433 p_application_id IN NUMBER
53434 ,p_event_id IN NUMBER
53435 ,p_calculate_acctd_flag IN VARCHAR2
53436 ,p_calculate_g_l_flag IN VARCHAR2
53437 ,p_actual_flag IN OUT VARCHAR2
53438 ,p_balance_type_code OUT VARCHAR2
53439 ,p_gain_or_loss_ref OUT VARCHAR2
53440
53441 --Invoice Distribution Description
53442 , p_source_1 IN VARCHAR2
53443 --Automatic Offsets Value
53444 , p_source_10 IN VARCHAR2
53445 , p_source_10_meaning IN VARCHAR2
53446 --Purchase Order Rate Variance Gain Account
53447 , p_source_15 IN NUMBER
53448 --Invoice Distribution Ledger Amount
53449 , p_source_16 IN NUMBER
53450 --Destination Type of the PO Distribution
53451 , p_source_17 IN VARCHAR2
53452 , p_source_17_meaning IN VARCHAR2
53453 --Purchase Order Rate Variance Loss Account
53454 , p_source_18 IN NUMBER
53455 --Invoice Distribution Account
53456 , p_source_25 IN NUMBER
53457 --Invoice Distribution Type
53458 , p_source_28 IN VARCHAR2
53459 , p_source_28_meaning IN VARCHAR2
53460 --Automatic Offsets Flag
53461 , p_source_43 IN VARCHAR2
53462 , p_source_43_meaning IN VARCHAR2
53463 --Accrue on Receipt Option
53464 , p_source_54 IN VARCHAR2
53465 , p_source_54_meaning IN VARCHAR2
53466 --Accounting Reversal Indicator
53467 , p_source_58 IN VARCHAR2
53468 --Distribution Link Type
53469 , p_source_60 IN VARCHAR2
53470 --Allocation to Main Distribution Identifier
53471 , p_source_62 IN NUMBER
53472 --Invoice Identifier
53473 , p_source_63 IN NUMBER
53474 --Invoice Distribution Identifier
53475 , p_source_69 IN NUMBER
53476 --Payables Encumbrance Upgrade Credit Account
53477 , p_source_70 IN NUMBER
53478 --Payables Encumbrance Upgrade Credit Amount
53479 , p_source_71 IN NUMBER
53480 --Invoice Currency Code
53481 , p_source_72 IN VARCHAR2
53482 --Payables Encumbrance Upgrade Credit Base Amount
53483 , p_source_73 IN NUMBER
53484 --Payables Encumbrance Upgrade Debit Account
53485 , p_source_74 IN NUMBER
53486 --Payables Encumbrance Upgrade Debit Amount
53487 , p_source_75 IN NUMBER
53488 --Payables Encumbrance Upgrade Debit Base Amount
53489 , p_source_76 IN NUMBER
53490 --Payables Encumbrance Upgrade Option
53491 , p_source_77 IN VARCHAR2
53492 --Invoice Distribution Amount
53493 , p_source_78 IN NUMBER
53494 --Deferred Accounting End Date
53495 , p_source_82 IN DATE
53496 --Deferred Accounting Option
53497 , p_source_83 IN VARCHAR2
53498 --Deferred Accounting Start Date
53499 , p_source_84 IN DATE
53500 --Override Accounted Amount Indicator
53501 , p_source_85 IN VARCHAR2
53502 , p_source_85_meaning IN VARCHAR2
53503 --Invoice Supplier Identifier
53504 , p_source_86 IN NUMBER
53505 --Invoice Supplier Site Identifier
53506 , p_source_87 IN NUMBER
53507 --Third Party Type
53508 , p_source_88 IN VARCHAR2
53509 --Parent Reversal Identifier
53510 , p_source_89 IN NUMBER
53514 , p_source_91 IN NUMBER
53511 --Invoice Distribution Statistical Amount
53512 , p_source_90 IN NUMBER
53513 --Invoice Distribution Tax Line Identifier
53515 --Invoice Distribution Tax Distribution Identifier from Tax
53516 , p_source_92 IN NUMBER
53517 --Invoice Distribution Summary Tax Line Identifier
53518 , p_source_93 IN NUMBER
53519 --Payables Upgrade Credit Encumbrance Type Identifier
53520 , p_source_94 IN NUMBER
53521 --Payables Upgrade Debit Encumbrance Type Identifier
53522 , p_source_95 IN NUMBER
53523 --Business Flow Accounts Payable Application Identifier
53524 , p_source_96 IN NUMBER
53525 --Business Flow Invoice Distribution Type
53526 , p_source_97 IN VARCHAR2
53527 --Business Flow Invoice Entity Code
53528 , p_source_98 IN VARCHAR2
53529 --Business Flow Invoice Distribution Identifier
53530 , p_source_99 IN NUMBER
53531 --Business Flow Invoice Identifier
53532 , p_source_100 IN NUMBER
53533 --Invoice Exchange Date
53534 , p_source_146 IN DATE
53535 --Invoice Exchange Rate
53536 , p_source_147 IN NUMBER
53537 --Invoice Exchange Rate Type
53538 , p_source_148 IN VARCHAR2
53539 )
53540 IS
53541
53542 l_component_type VARCHAR2(80);
53543 l_component_code VARCHAR2(30);
53544 l_component_type_code VARCHAR2(1);
53545 l_component_appl_id INTEGER;
53546 l_amb_context_code VARCHAR2(30);
53547 l_entity_code VARCHAR2(30);
53548 l_event_class_code VARCHAR2(30);
53549 l_ae_header_id NUMBER;
53550 l_event_type_code VARCHAR2(30);
53551 l_line_definition_code VARCHAR2(30);
53552 l_line_definition_owner_code VARCHAR2(1);
53553 --
53554 -- adr variables
53555 l_segment VARCHAR2(30);
53556 l_ccid NUMBER;
53557 l_adr_transaction_coa_id NUMBER;
53558 l_adr_accounting_coa_id NUMBER;
53559 l_adr_flexfield_segment_code VARCHAR2(30);
53560 l_adr_flex_value_set_id NUMBER;
53561 l_adr_value_type_code VARCHAR2(30);
53562 l_adr_value_combination_id NUMBER;
53563 l_adr_value_segment_code VARCHAR2(30);
53564
53565 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
53566 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
53567 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
53568 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
53569
53570 -- 4262811 Variables ------------------------------------------------------------------------------------------
53571 l_entered_amt_idx NUMBER;
53572 l_accted_amt_idx NUMBER;
53573 l_acc_rev_flag VARCHAR2(1);
53574 l_accrual_line_num NUMBER;
53575 l_tmp_amt NUMBER;
53576 l_acc_rev_natural_side_code VARCHAR2(1);
53577
53578 l_num_entries NUMBER;
53579 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
53580 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
53581 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
53582 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
53583 l_recog_line_1 NUMBER;
53584 l_recog_line_2 NUMBER;
53585
53586 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
53587 l_bflow_applied_to_amt NUMBER; -- 5132302
53588 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
53589
53590 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
53591
53592 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
53593 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
53594
53595 ---------------------------------------------------------------------------------------------------------------
53596
53597
53598 --
53599 -- bulk performance
53600 --
53601 l_balance_type_code VARCHAR2(1);
53602 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
53603 l_log_module VARCHAR2(240);
53604
53605 --
53606 -- Upgrade strategy
53607 --
53608 l_actual_upg_option VARCHAR2(1);
53609 l_enc_upg_option VARCHAR2(1);
53610
53611 --
53612 BEGIN
53613 --
53614 IF g_log_enabled THEN
53615 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_118';
53616 END IF;
53617 --
53618 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
53619
53620 trace
53621 (p_msg => 'BEGIN of AcctLineType_118'
53622 ,p_level => C_LEVEL_PROCEDURE
53623 ,p_module => l_log_module);
53624
53625 END IF;
53626 --
53627 l_component_type := 'AMB_JLT';
53628 l_component_code := 'AP_EX_RATE_VAR_INV';
53629 l_component_type_code := 'S';
53630 l_component_appl_id := 200;
53631 l_amb_context_code := 'DEFAULT';
53632 l_entity_code := 'AP_INVOICES';
53633 l_event_class_code := 'INVOICES';
53634 l_event_type_code := 'INVOICES_ALL';
53635 l_line_definition_owner_code := 'S';
53636 l_line_definition_code := 'ACCRUAL_INVOICES_ALL';
53637 --
53638 l_balance_type_code := 'A';
53642 l_adr_accounting_coa_id := NULL;
53639 l_segment := NULL;
53640 l_ccid := NULL;
53641 l_adr_transaction_coa_id := NULL;
53643 l_adr_flexfield_segment_code := NULL;
53644 l_adr_flex_value_set_id := NULL;
53645 l_adr_value_type_code := NULL;
53646 l_adr_value_combination_id := NULL;
53647 l_adr_value_segment_code := NULL;
53648
53649 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
53650 l_bflow_class_code := ''; -- 4219869 Business Flow
53651 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
53652 l_budgetary_control_flag := 'N';
53653
53654 l_bflow_applied_to_amt_idx := NULL; -- 5132302
53655 l_bflow_applied_to_amt := NULL; -- 5132302
53656 l_entered_amt_idx := NULL; -- 4262811
53657 l_accted_amt_idx := NULL; -- 4262811
53658 l_acc_rev_flag := NULL; -- 4262811
53659 l_accrual_line_num := NULL; -- 4262811
53660 l_tmp_amt := NULL; -- 4262811
53661 --
53662 IF ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
53663 (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
53664 return;
53665 END IF;
53666
53667 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
53668 l_balance_type_code <> 'B' THEN
53669 IF NVL(p_source_28,'
53670 ') = 'ERV' AND
53671 NVL(p_source_54,'
53672 ') = 'Y'
53673 THEN
53674
53675 --
53676 XLA_AE_LINES_PKG.SetNewLine;
53677
53678 p_balance_type_code := l_balance_type_code;
53679 -- set the flag so later we will know whether the gain loss line needs to be created
53680
53681 IF(l_balance_type_code = 'A' ) THEN
53682 p_actual_flag :='G';
53683 END IF;
53684
53685 --
53686 -- bulk performance
53687 --
53688 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
53689 p_header_num => 0); -- 4262811
53690 --
53691 -- set accounting line options
53692 --
53693 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
53694 p_natural_side_code => 'D'
53695 , p_gain_or_loss_flag => 'Y'
53696 , p_gl_transfer_mode_code => 'S'
53697 , p_acct_entry_type_code => 'A'
53698 , p_switch_side_flag => 'Y'
53699 , p_merge_duplicate_code => 'A'
53700 );
53701 --
53702 l_acc_rev_natural_side_code := 'C'; -- 4262811
53703 --
53704 --
53705 -- set accounting line type info
53706 --
53707 xla_ae_lines_pkg.SetAcctLineType
53708 (p_component_type => l_component_type
53709 ,p_event_type_code => l_event_type_code
53710 ,p_line_definition_owner_code => l_line_definition_owner_code
53711 ,p_line_definition_code => l_line_definition_code
53712 ,p_accounting_line_code => l_component_code
53713 ,p_accounting_line_type_code => l_component_type_code
53714 ,p_accounting_line_appl_id => l_component_appl_id
53715 ,p_amb_context_code => l_amb_context_code
53716 ,p_entity_code => l_entity_code
53717 ,p_event_class_code => l_event_class_code);
53718 --
53719 -- set accounting class
53720 --
53721 xla_ae_lines_pkg.SetAcctClass(
53722 p_accounting_class_code => 'EXCHANGE_RATE_VARIANCE'
53723 , p_ae_header_id => l_ae_header_id
53724 );
53725
53726 --
53727 -- set rounding class
53728 --
53729 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
53730 'EXCHANGE_RATE_VARIANCE';
53731
53732 --
53733 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
53734 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
53735 --
53736 -- bulk performance
53737 --
53738 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
53739
53740 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
53741 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
53742
53743 -- 4955764
53744 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
53745 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
53746
53747 -- 4458381 Public Sector Enh
53748
53749 --
53750 -- set accounting attributes for the line type
53751 --
53752 l_entered_amt_idx := 24;
53753 l_accted_amt_idx := 29;
53754 l_bflow_applied_to_amt_idx := 7; -- 5132302
53755 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
53756 l_rec_acct_attrs.array_char_value(1) := p_source_58;
53757 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
53758 l_rec_acct_attrs.array_num_value(2) :=
53759 xla_ae_sources_pkg.GetSystemSourceNum(
53760 p_source_code => 'XLA_EVENT_APPL_ID'
53764 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
53761 , p_source_type_code => 'Y'
53762 , p_source_application_id => 602
53763 );
53765 l_rec_acct_attrs.array_char_value(3) := p_source_60;
53766 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
53767 l_rec_acct_attrs.array_char_value(4) :=
53768 xla_ae_sources_pkg.GetSystemSourceChar(
53769 p_source_code => 'XLA_ENTITY_CODE'
53770 , p_source_type_code => 'Y'
53771 , p_source_application_id => 602
53772 );
53773 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
53774 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_62);
53775 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
53776 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_63);
53777 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
53778 l_rec_acct_attrs.array_num_value(7) := p_source_78;
53779 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
53780 l_rec_acct_attrs.array_num_value(8) := p_source_96;
53781 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
53782 l_rec_acct_attrs.array_char_value(9) := p_source_97;
53783 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
53784 l_rec_acct_attrs.array_char_value(10) := p_source_98;
53785 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
53786 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_99);
53787 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
53788 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_100);
53789 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
53790 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_69);
53791 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
53792 l_rec_acct_attrs.array_char_value(14) := p_source_60;
53793 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
53794 l_rec_acct_attrs.array_num_value(15) := p_source_70;
53795 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
53796 l_rec_acct_attrs.array_num_value(16) := p_source_71;
53797 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
53798 l_rec_acct_attrs.array_char_value(17) := p_source_72;
53799 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
53800 l_rec_acct_attrs.array_num_value(18) := p_source_73;
53801 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
53802 l_rec_acct_attrs.array_num_value(19) := p_source_74;
53803 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
53804 l_rec_acct_attrs.array_num_value(20) := p_source_75;
53805 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
53806 l_rec_acct_attrs.array_char_value(21) := p_source_72;
53807 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
53808 l_rec_acct_attrs.array_num_value(22) := p_source_76;
53809 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
53810 l_rec_acct_attrs.array_char_value(23) := p_source_77;
53811 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_AMOUNT';
53812 l_rec_acct_attrs.array_num_value(24) := p_source_78;
53813 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_CODE';
53814 l_rec_acct_attrs.array_char_value(25) := p_source_72;
53815 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_DATE';
53816 l_rec_acct_attrs.array_date_value(26) := p_source_146;
53817 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE';
53818 l_rec_acct_attrs.array_num_value(27) := p_source_147;
53819 l_rec_acct_attrs.array_acct_attr_code(28) := 'EXCHANGE_RATE_TYPE';
53820 l_rec_acct_attrs.array_char_value(28) := p_source_148;
53821 l_rec_acct_attrs.array_acct_attr_code(29) := 'LEDGER_AMOUNT';
53822 l_rec_acct_attrs.array_num_value(29) := p_source_16;
53823 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_END_DATE';
53824 l_rec_acct_attrs.array_date_value(30) := p_source_82;
53825 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_OPTION';
53826 l_rec_acct_attrs.array_char_value(31) := p_source_83;
53827 l_rec_acct_attrs.array_acct_attr_code(32) := 'MULTIPERIOD_START_DATE';
53828 l_rec_acct_attrs.array_date_value(32) := p_source_84;
53829 l_rec_acct_attrs.array_acct_attr_code(33) := 'OVERRIDE_ACCTD_AMT_FLAG';
53830 l_rec_acct_attrs.array_char_value(33) := p_source_85;
53831 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_ID';
53832 l_rec_acct_attrs.array_num_value(34) := p_source_86;
53833 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_SITE_ID';
53834 l_rec_acct_attrs.array_num_value(35) := p_source_87;
53835 l_rec_acct_attrs.array_acct_attr_code(36) := 'PARTY_TYPE';
53836 l_rec_acct_attrs.array_char_value(36) := p_source_88;
53837 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_ID1';
53838 l_rec_acct_attrs.array_num_value(37) := to_char(p_source_89);
53839 l_rec_acct_attrs.array_acct_attr_code(38) := 'REVERSED_DISTRIBUTION_TYPE';
53840 l_rec_acct_attrs.array_char_value(38) := p_source_60;
53841 l_rec_acct_attrs.array_acct_attr_code(39) := 'STATISTICAL_AMOUNT';
53842 l_rec_acct_attrs.array_num_value(39) := p_source_90;
53843 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_LINE_REF_ID';
53844 l_rec_acct_attrs.array_num_value(40) := p_source_91;
53845 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_REC_NREC_DIST_REF_ID';
53849 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_CR_ENC_TYPE_ID';
53846 l_rec_acct_attrs.array_num_value(41) := p_source_92;
53847 l_rec_acct_attrs.array_acct_attr_code(42) := 'TAX_SUMMARY_LINE_REF_ID';
53848 l_rec_acct_attrs.array_num_value(42) := p_source_93;
53850 l_rec_acct_attrs.array_num_value(43) := p_source_94;
53851 l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
53852 l_rec_acct_attrs.array_num_value(44) := p_source_95;
53853
53854 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
53855 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
53856
53857 ---------------------------------------------------------------------------------------------------------------
53858 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
53859 ---------------------------------------------------------------------------------------------------------------
53860 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
53861
53862 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
53863 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
53864
53865 IF xla_accounting_cache_pkg.GetValueChar
53866 (p_source_code => 'LEDGER_CATEGORY_CODE'
53867 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
53868 AND l_bflow_method_code = 'PRIOR_ENTRY'
53869 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
53870 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
53871 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
53872 )
53873 THEN
53874 xla_ae_lines_pkg.BflowUpgEntry
53875 (p_business_method_code => l_bflow_method_code
53876 ,p_business_class_code => l_bflow_class_code
53877 ,p_balance_type => l_balance_type_code);
53878 ELSE
53879 NULL;
53880 -- No business flow processing for business flow method of NONE.
53881 END IF;
53882
53883 --
53884 -- call analytical criteria
53885 --
53886
53887 --
53888 -- call description
53889 --
53890
53891 xla_ae_lines_pkg.SetLineDescription(
53892 p_ae_header_id => l_ae_header_id
53893 ,p_description => Description_2 (
53894 p_application_id => p_application_id
53895 , p_ae_header_id => l_ae_header_id
53896 , p_source_1 => p_source_1
53897 )
53898 );
53899
53900
53901 --
53902 -- call ADRs
53903 -- Bug 4922099
53904 --
53905 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
53906 (NVL(l_actual_upg_option, 'N') = 'O') OR
53907 (NVL(l_enc_upg_option, 'N') = 'O')
53908 )
53909 THEN
53910 NULL;
53911 --
53912 --
53913
53914 l_ccid := AcctDerRule_32(
53915 p_application_id => p_application_id
53916 , p_ae_header_id => l_ae_header_id
53917 , p_source_10 => p_source_10
53918 , p_source_10_meaning => p_source_10_meaning
53919 , p_source_15 => p_source_15
53920 , p_source_16 => p_source_16
53921 , p_source_17 => p_source_17
53922 , p_source_17_meaning => p_source_17_meaning
53923 , p_source_18 => p_source_18
53924 , p_source_25 => p_source_25
53925 , p_source_43 => p_source_43
53926 , p_source_43_meaning => p_source_43_meaning
53927 , x_transaction_coa_id => l_adr_transaction_coa_id
53928 , x_accounting_coa_id => l_adr_accounting_coa_id
53929 , x_value_type_code => l_adr_value_type_code
53930 , p_side => 'NA'
53931 );
53932
53933 xla_ae_lines_pkg.set_ccid(
53934 p_code_combination_id => l_ccid
53935 , p_value_type_code => l_adr_value_type_code
53936 , p_transaction_coa_id => l_adr_transaction_coa_id
53937 , p_accounting_coa_id => l_adr_accounting_coa_id
53938 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
53939 , p_adr_type_code => 'S'
53940 , p_component_type => l_component_type
53941 , p_component_code => l_component_code
53942 , p_component_type_code => l_component_type_code
53943 , p_component_appl_id => l_component_appl_id
53944 , p_amb_context_code => l_amb_context_code
53945 , p_side => 'NA'
53946 );
53947
53948
53949 l_segment := AcctDerRule_8(
53950 p_application_id => p_application_id
53951 , p_ae_header_id => l_ae_header_id
53952 , p_source_10 => p_source_10
53953 , p_source_10_meaning => p_source_10_meaning
53954 , p_source_15 => p_source_15
53955 , p_source_16 => p_source_16
53956 , p_source_17 => p_source_17
53957 , p_source_17_meaning => p_source_17_meaning
53958 , p_source_18 => p_source_18
53959 , x_transaction_coa_id => l_adr_transaction_coa_id
53960 , x_accounting_coa_id => l_adr_accounting_coa_id
53961 , x_flexfield_segment_code => l_adr_flexfield_segment_code
53962 , x_flex_value_set_id => l_adr_flex_value_set_id
53963 , x_value_type_code => l_adr_value_type_code
53964 , x_value_combination_id => l_adr_value_combination_id
53965 , x_value_segment_code => l_adr_value_segment_code
53966 , p_side => 'NA'
53970 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
53967 , p_override_seg_flag => 'Y'
53968 );
53969
53971
53972 xla_ae_lines_pkg.set_segment(
53973 p_to_segment_code => 'GL_ACCOUNT'
53974 , p_segment_value => l_segment
53975 , p_from_segment_code => l_adr_value_segment_code
53976 , p_from_combination_id => l_adr_value_combination_id
53977 , p_value_type_code => l_adr_value_type_code
53978 , p_transaction_coa_id => l_adr_transaction_coa_id
53979 , p_accounting_coa_id => l_adr_accounting_coa_id
53980 , p_flexfield_segment_code => l_adr_flexfield_segment_code
53981 , p_flex_value_set_id => l_adr_flex_value_set_id
53982 , p_adr_code => 'AP_ERV_GAIN_LOSS_NAT_ACCT_SEG'
53983 , p_adr_type_code => 'S'
53984 , p_component_type => l_component_type
53985 , p_component_code => l_component_code
53986 , p_component_type_code => l_component_type_code
53987 , p_component_appl_id => l_component_appl_id
53988 , p_amb_context_code => l_amb_context_code
53989 , p_entity_code => 'AP_INVOICES'
53990 , p_event_class_code => 'INVOICES'
53991 , p_side => 'NA'
53992 );
53993
53994 END IF;
53995
53996 l_segment := AcctDerRule_24(
53997 p_application_id => p_application_id
53998 , p_ae_header_id => l_ae_header_id
53999 , p_source_10 => p_source_10
54000 , p_source_10_meaning => p_source_10_meaning
54001 , p_source_17 => p_source_17
54002 , p_source_17_meaning => p_source_17_meaning
54003 , p_source_25 => p_source_25
54004 , x_transaction_coa_id => l_adr_transaction_coa_id
54005 , x_accounting_coa_id => l_adr_accounting_coa_id
54006 , x_flexfield_segment_code => l_adr_flexfield_segment_code
54007 , x_flex_value_set_id => l_adr_flex_value_set_id
54008 , x_value_type_code => l_adr_value_type_code
54009 , x_value_combination_id => l_adr_value_combination_id
54010 , x_value_segment_code => l_adr_value_segment_code
54011 , p_side => 'NA'
54012 , p_override_seg_flag => 'Y'
54013 );
54014
54015 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
54016
54017 xla_ae_lines_pkg.set_segment(
54018 p_to_segment_code => 'GL_BALANCING'
54019 , p_segment_value => l_segment
54020 , p_from_segment_code => l_adr_value_segment_code
54021 , p_from_combination_id => l_adr_value_combination_id
54022 , p_value_type_code => l_adr_value_type_code
54023 , p_transaction_coa_id => l_adr_transaction_coa_id
54024 , p_accounting_coa_id => l_adr_accounting_coa_id
54025 , p_flexfield_segment_code => l_adr_flexfield_segment_code
54026 , p_flex_value_set_id => l_adr_flex_value_set_id
54027 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
54028 , p_adr_type_code => 'S'
54029 , p_component_type => l_component_type
54030 , p_component_code => l_component_code
54031 , p_component_type_code => l_component_type_code
54032 , p_component_appl_id => l_component_appl_id
54033 , p_amb_context_code => l_amb_context_code
54034 , p_entity_code => 'AP_INVOICES'
54035 , p_event_class_code => 'INVOICES'
54036 , p_side => 'NA'
54037 );
54038
54039 END IF;
54040
54041 --
54042 --
54043 END IF;
54044 --
54045 -- Bug 4922099
54046 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
54047 (NVL(l_enc_upg_option, 'N') = 'O')
54048 ) AND
54049 (l_bflow_method_code = 'PRIOR_ENTRY')
54050 )
54051 THEN
54052 IF
54053 --
54054 1 = 2
54055 --
54056 THEN
54057 xla_accounting_err_pkg.build_message
54058 (p_appli_s_name => 'XLA'
54059 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
54060 ,p_token_1 => 'LINE_NUMBER'
54061 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
54062 ,p_token_2 => 'LINE_TYPE_NAME'
54063 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
54064 l_component_type
54065 ,l_component_code
54066 ,l_component_type_code
54067 ,l_component_appl_id
54068 ,l_amb_context_code
54069 ,l_entity_code
54070 ,l_event_class_code
54071 )
54072 ,p_token_3 => 'OWNER'
54076 )
54073 ,p_value_3 => xla_lookups_pkg.get_meaning(
54074 p_lookup_type => 'XLA_OWNER_TYPE'
54075 ,p_lookup_code => l_component_type_code
54077 ,p_token_4 => 'PRODUCT_NAME'
54078 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
54079 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
54080 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
54081 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
54082 ,p_ae_header_id => NULL
54083 );
54084
54085 IF (C_LEVEL_ERROR>= g_log_level) THEN
54086 trace
54087 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
54088 ,p_level => C_LEVEL_ERROR
54089 ,p_module => l_log_module);
54090 END IF;
54091 END IF;
54092 END IF;
54093 --
54094 --
54095 ------------------------------------------------------------------------------------------------
54096 -- 4219869 Business Flow
54097 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
54098 -- Prior Entry. Currently, the following code is always generated.
54099 ------------------------------------------------------------------------------------------------
54100 XLA_AE_LINES_PKG.ValidateCurrentLine;
54101
54102 ------------------------------------------------------------------------------------
54103 -- 4219869 Business Flow
54104 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
54105 ------------------------------------------------------------------------------------
54106 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
54107
54108 ----------------------------------------------------------------------------------
54109 -- 4219869 Business Flow
54110 -- Update journal entry status -- Need to generate this within IF <condition>
54111 ----------------------------------------------------------------------------------
54112 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
54113 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
54114 ,p_balance_type_code => l_balance_type_code
54115 );
54116
54117 -------------------------------------------------------------------------------------------
54118 -- 4262811 - Generate the Accrual Reversal lines
54119 -------------------------------------------------------------------------------------------
54120 BEGIN
54121 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
54122 (g_array_event(p_event_id).array_value_num('header_index'));
54123 IF l_acc_rev_flag IS NULL THEN
54124 l_acc_rev_flag := 'N';
54125 END IF;
54126 EXCEPTION
54127 WHEN OTHERS THEN
54128 l_acc_rev_flag := 'N';
54129 END;
54130 --
54131 IF (l_acc_rev_flag = 'Y') THEN
54132
54133 -- 4645092 ------------------------------------------------------------------------------
54134 -- To allow MPA report to determine if it should generate report process
54135 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
54136 ------------------------------------------------------------------------------------------
54137
54138 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
54139 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
54140 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
54141 -- call ADRs
54142 -- Bug 4922099
54143 --
54144 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
54145 (NVL(l_actual_upg_option, 'N') = 'O') OR
54146 (NVL(l_enc_upg_option, 'N') = 'O')
54147 )
54148 THEN
54149 NULL;
54150 --
54151 --
54152
54153 l_ccid := AcctDerRule_32(
54154 p_application_id => p_application_id
54155 , p_ae_header_id => l_ae_header_id
54156 , p_source_10 => p_source_10
54157 , p_source_10_meaning => p_source_10_meaning
54158 , p_source_15 => p_source_15
54159 , p_source_16 => p_source_16
54160 , p_source_17 => p_source_17
54161 , p_source_17_meaning => p_source_17_meaning
54162 , p_source_18 => p_source_18
54163 , p_source_25 => p_source_25
54164 , p_source_43 => p_source_43
54165 , p_source_43_meaning => p_source_43_meaning
54166 , x_transaction_coa_id => l_adr_transaction_coa_id
54167 , x_accounting_coa_id => l_adr_accounting_coa_id
54168 , x_value_type_code => l_adr_value_type_code
54169 , p_side => 'NA'
54170 );
54171
54172 xla_ae_lines_pkg.set_ccid(
54173 p_code_combination_id => l_ccid
54174 , p_value_type_code => l_adr_value_type_code
54175 , p_transaction_coa_id => l_adr_transaction_coa_id
54176 , p_accounting_coa_id => l_adr_accounting_coa_id
54177 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
54181 , p_component_type_code => l_component_type_code
54178 , p_adr_type_code => 'S'
54179 , p_component_type => l_component_type
54180 , p_component_code => l_component_code
54182 , p_component_appl_id => l_component_appl_id
54183 , p_amb_context_code => l_amb_context_code
54184 , p_side => 'NA'
54185 );
54186
54187
54188 l_segment := AcctDerRule_8(
54189 p_application_id => p_application_id
54190 , p_ae_header_id => l_ae_header_id
54191 , p_source_10 => p_source_10
54192 , p_source_10_meaning => p_source_10_meaning
54193 , p_source_15 => p_source_15
54194 , p_source_16 => p_source_16
54195 , p_source_17 => p_source_17
54196 , p_source_17_meaning => p_source_17_meaning
54197 , p_source_18 => p_source_18
54198 , x_transaction_coa_id => l_adr_transaction_coa_id
54199 , x_accounting_coa_id => l_adr_accounting_coa_id
54200 , x_flexfield_segment_code => l_adr_flexfield_segment_code
54201 , x_flex_value_set_id => l_adr_flex_value_set_id
54202 , x_value_type_code => l_adr_value_type_code
54203 , x_value_combination_id => l_adr_value_combination_id
54204 , x_value_segment_code => l_adr_value_segment_code
54205 , p_side => 'NA'
54206 , p_override_seg_flag => 'Y'
54207 );
54208
54209 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
54210
54211 xla_ae_lines_pkg.set_segment(
54212 p_to_segment_code => 'GL_ACCOUNT'
54213 , p_segment_value => l_segment
54214 , p_from_segment_code => l_adr_value_segment_code
54215 , p_from_combination_id => l_adr_value_combination_id
54216 , p_value_type_code => l_adr_value_type_code
54217 , p_transaction_coa_id => l_adr_transaction_coa_id
54218 , p_accounting_coa_id => l_adr_accounting_coa_id
54219 , p_flexfield_segment_code => l_adr_flexfield_segment_code
54220 , p_flex_value_set_id => l_adr_flex_value_set_id
54221 , p_adr_code => 'AP_ERV_GAIN_LOSS_NAT_ACCT_SEG'
54222 , p_adr_type_code => 'S'
54223 , p_component_type => l_component_type
54224 , p_component_code => l_component_code
54225 , p_component_type_code => l_component_type_code
54226 , p_component_appl_id => l_component_appl_id
54227 , p_amb_context_code => l_amb_context_code
54228 , p_entity_code => 'AP_INVOICES'
54229 , p_event_class_code => 'INVOICES'
54230 , p_side => 'NA'
54231 );
54232
54233 END IF;
54234
54235 l_segment := AcctDerRule_24(
54236 p_application_id => p_application_id
54237 , p_ae_header_id => l_ae_header_id
54238 , p_source_10 => p_source_10
54239 , p_source_10_meaning => p_source_10_meaning
54240 , p_source_17 => p_source_17
54241 , p_source_17_meaning => p_source_17_meaning
54242 , p_source_25 => p_source_25
54243 , x_transaction_coa_id => l_adr_transaction_coa_id
54244 , x_accounting_coa_id => l_adr_accounting_coa_id
54245 , x_flexfield_segment_code => l_adr_flexfield_segment_code
54246 , x_flex_value_set_id => l_adr_flex_value_set_id
54247 , x_value_type_code => l_adr_value_type_code
54248 , x_value_combination_id => l_adr_value_combination_id
54249 , x_value_segment_code => l_adr_value_segment_code
54250 , p_side => 'NA'
54251 , p_override_seg_flag => 'Y'
54252 );
54253
54254 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
54255
54256 xla_ae_lines_pkg.set_segment(
54257 p_to_segment_code => 'GL_BALANCING'
54258 , p_segment_value => l_segment
54259 , p_from_segment_code => l_adr_value_segment_code
54260 , p_from_combination_id => l_adr_value_combination_id
54261 , p_value_type_code => l_adr_value_type_code
54262 , p_transaction_coa_id => l_adr_transaction_coa_id
54263 , p_accounting_coa_id => l_adr_accounting_coa_id
54264 , p_flexfield_segment_code => l_adr_flexfield_segment_code
54265 , p_flex_value_set_id => l_adr_flex_value_set_id
54266 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
54267 , p_adr_type_code => 'S'
54268 , p_component_type => l_component_type
54269 , p_component_code => l_component_code
54270 , p_component_type_code => l_component_type_code
54271 , p_component_appl_id => l_component_appl_id
54272 , p_amb_context_code => l_amb_context_code
54273 , p_entity_code => 'AP_INVOICES'
54274 , p_event_class_code => 'INVOICES'
54275 , p_side => 'NA'
54276 );
54277
54278 END IF;
54279
54280 --
54281 --
54282 END IF;
54283
54284 --
54285 -- Update the line information that should be overwritten
54286 --
54287 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
54288 p_header_num => 1);
54292
54289 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
54290
54291 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
54293 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
54294 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
54295 END IF;
54296
54297 --
54298 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
54299 --
54300 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
54301 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
54302 ELSE
54303 ---------------------------------------------------------------------------------------------------
54304 -- 4262811a Switch Sign
54305 ---------------------------------------------------------------------------------------------------
54306 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
54307 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
54308 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
54309 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
54310 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
54311 -- 5132302
54312 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
54313 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
54314
54315 END IF;
54316
54317 -- 4955764
54318 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
54319 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
54320
54321
54322 XLA_AE_LINES_PKG.ValidateCurrentLine;
54323 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
54324
54325 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
54326 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
54327 ,p_balance_type_code => l_balance_type_code);
54328
54329 END IF;
54330
54331 -----------------------------------------------------------------------------------------
54332 -- 4262811 Multiperiod Accounting
54333 -----------------------------------------------------------------------------------------
54334 -- No MPA option is assigned.
54335
54336
54337 END IF;
54338 END IF;
54339 --
54340
54341 --
54342 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
54343 trace
54344 (p_msg => 'END of AcctLineType_118'
54345 ,p_level => C_LEVEL_PROCEDURE
54346 ,p_module => l_log_module);
54347 END IF;
54348 --
54349 EXCEPTION
54350 WHEN xla_exceptions_pkg.application_exception THEN
54351 RAISE;
54352 WHEN OTHERS THEN
54353 xla_exceptions_pkg.raise_message
54354 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_118');
54355 END AcctLineType_118;
54356 --
54357
54358 ---------------------------------------
54359 --
54360 -- PRIVATE FUNCTION
54361 -- AcctLineType_119
54362 --
54363 ---------------------------------------
54364 PROCEDURE AcctLineType_119 (
54365 p_application_id IN NUMBER
54366 ,p_event_id IN NUMBER
54367 ,p_calculate_acctd_flag IN VARCHAR2
54368 ,p_calculate_g_l_flag IN VARCHAR2
54369 ,p_actual_flag IN OUT VARCHAR2
54370 ,p_balance_type_code OUT VARCHAR2
54371 ,p_gain_or_loss_ref OUT VARCHAR2
54372
54373 --Invoice Distribution Description
54374 , p_source_1 IN VARCHAR2
54375 --Automatic Offsets Value
54376 , p_source_10 IN VARCHAR2
54377 , p_source_10_meaning IN VARCHAR2
54378 --Purchase Order Rate Variance Gain Account
54379 , p_source_15 IN NUMBER
54380 --Invoice Distribution Ledger Amount
54381 , p_source_16 IN NUMBER
54382 --Destination Type of the PO Distribution
54383 , p_source_17 IN VARCHAR2
54384 , p_source_17_meaning IN VARCHAR2
54385 --Purchase Order Rate Variance Loss Account
54386 , p_source_18 IN NUMBER
54387 --Invoice Distribution Account
54388 , p_source_25 IN NUMBER
54389 --Invoice Distribution Type
54390 , p_source_28 IN VARCHAR2
54391 , p_source_28_meaning IN VARCHAR2
54392 --Automatic Offsets Flag
54393 , p_source_43 IN VARCHAR2
54394 , p_source_43_meaning IN VARCHAR2
54395 --Accrue on Receipt Option
54396 , p_source_54 IN VARCHAR2
54397 , p_source_54_meaning IN VARCHAR2
54398 --Accounting Reversal Indicator
54399 , p_source_58 IN VARCHAR2
54400 --Distribution Link Type
54401 , p_source_60 IN VARCHAR2
54402 --Allocation to Main Distribution Identifier
54403 , p_source_62 IN NUMBER
54404 --Invoice Identifier
54405 , p_source_63 IN NUMBER
54406 --Invoice Distribution Identifier
54407 , p_source_69 IN NUMBER
54408 --Payables Encumbrance Upgrade Credit Account
54409 , p_source_70 IN NUMBER
54413 , p_source_72 IN VARCHAR2
54410 --Payables Encumbrance Upgrade Credit Amount
54411 , p_source_71 IN NUMBER
54412 --Invoice Currency Code
54414 --Payables Encumbrance Upgrade Credit Base Amount
54415 , p_source_73 IN NUMBER
54416 --Payables Encumbrance Upgrade Debit Account
54417 , p_source_74 IN NUMBER
54418 --Payables Encumbrance Upgrade Debit Amount
54419 , p_source_75 IN NUMBER
54420 --Payables Encumbrance Upgrade Debit Base Amount
54421 , p_source_76 IN NUMBER
54422 --Payables Encumbrance Upgrade Option
54423 , p_source_77 IN VARCHAR2
54424 --Invoice Distribution Amount
54425 , p_source_78 IN NUMBER
54426 --Deferred Accounting End Date
54427 , p_source_82 IN DATE
54428 --Deferred Accounting Option
54429 , p_source_83 IN VARCHAR2
54430 --Deferred Accounting Start Date
54431 , p_source_84 IN DATE
54432 --Override Accounted Amount Indicator
54433 , p_source_85 IN VARCHAR2
54434 , p_source_85_meaning IN VARCHAR2
54435 --Invoice Supplier Identifier
54436 , p_source_86 IN NUMBER
54437 --Invoice Supplier Site Identifier
54438 , p_source_87 IN NUMBER
54439 --Third Party Type
54440 , p_source_88 IN VARCHAR2
54441 --Parent Reversal Identifier
54442 , p_source_89 IN NUMBER
54443 --Invoice Distribution Statistical Amount
54444 , p_source_90 IN NUMBER
54445 --Invoice Distribution Tax Line Identifier
54446 , p_source_91 IN NUMBER
54447 --Invoice Distribution Tax Distribution Identifier from Tax
54448 , p_source_92 IN NUMBER
54449 --Invoice Distribution Summary Tax Line Identifier
54450 , p_source_93 IN NUMBER
54451 --Payables Upgrade Credit Encumbrance Type Identifier
54452 , p_source_94 IN NUMBER
54453 --Payables Upgrade Debit Encumbrance Type Identifier
54454 , p_source_95 IN NUMBER
54455 --Business Flow Accounts Payable Application Identifier
54456 , p_source_96 IN NUMBER
54457 --Business Flow Invoice Distribution Type
54458 , p_source_97 IN VARCHAR2
54459 --Business Flow Invoice Entity Code
54460 , p_source_98 IN VARCHAR2
54461 --Business Flow Invoice Distribution Identifier
54462 , p_source_99 IN NUMBER
54463 --Business Flow Invoice Identifier
54464 , p_source_100 IN NUMBER
54465 --Invoice Exchange Date
54466 , p_source_146 IN DATE
54467 --Invoice Exchange Rate
54468 , p_source_147 IN NUMBER
54469 --Invoice Exchange Rate Type
54470 , p_source_148 IN VARCHAR2
54471 )
54472 IS
54473
54474 l_component_type VARCHAR2(80);
54475 l_component_code VARCHAR2(30);
54476 l_component_type_code VARCHAR2(1);
54477 l_component_appl_id INTEGER;
54478 l_amb_context_code VARCHAR2(30);
54479 l_entity_code VARCHAR2(30);
54480 l_event_class_code VARCHAR2(30);
54481 l_ae_header_id NUMBER;
54482 l_event_type_code VARCHAR2(30);
54483 l_line_definition_code VARCHAR2(30);
54484 l_line_definition_owner_code VARCHAR2(1);
54485 --
54486 -- adr variables
54487 l_segment VARCHAR2(30);
54488 l_ccid NUMBER;
54489 l_adr_transaction_coa_id NUMBER;
54490 l_adr_accounting_coa_id NUMBER;
54491 l_adr_flexfield_segment_code VARCHAR2(30);
54492 l_adr_flex_value_set_id NUMBER;
54493 l_adr_value_type_code VARCHAR2(30);
54494 l_adr_value_combination_id NUMBER;
54495 l_adr_value_segment_code VARCHAR2(30);
54496
54497 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
54498 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
54499 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
54500 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
54501
54502 -- 4262811 Variables ------------------------------------------------------------------------------------------
54503 l_entered_amt_idx NUMBER;
54504 l_accted_amt_idx NUMBER;
54505 l_acc_rev_flag VARCHAR2(1);
54506 l_accrual_line_num NUMBER;
54507 l_tmp_amt NUMBER;
54508 l_acc_rev_natural_side_code VARCHAR2(1);
54509
54510 l_num_entries NUMBER;
54511 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
54512 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
54513 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
54514 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
54515 l_recog_line_1 NUMBER;
54516 l_recog_line_2 NUMBER;
54517
54518 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
54519 l_bflow_applied_to_amt NUMBER; -- 5132302
54520 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
54521
54522 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
54523
54524 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
54525 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
54526
54527 ---------------------------------------------------------------------------------------------------------------
54528
54529
54530 --
54531 -- bulk performance
54532 --
54533 l_balance_type_code VARCHAR2(1);
54537 --
54534 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
54535 l_log_module VARCHAR2(240);
54536
54538 -- Upgrade strategy
54539 --
54540 l_actual_upg_option VARCHAR2(1);
54541 l_enc_upg_option VARCHAR2(1);
54542
54543 --
54544 BEGIN
54545 --
54546 IF g_log_enabled THEN
54547 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_119';
54548 END IF;
54549 --
54550 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
54551
54552 trace
54553 (p_msg => 'BEGIN of AcctLineType_119'
54554 ,p_level => C_LEVEL_PROCEDURE
54555 ,p_module => l_log_module);
54556
54557 END IF;
54558 --
54559 l_component_type := 'AMB_JLT';
54560 l_component_code := 'AP_EX_RATE_VAR_PREPAY';
54561 l_component_type_code := 'S';
54562 l_component_appl_id := 200;
54563 l_amb_context_code := 'DEFAULT';
54564 l_entity_code := 'AP_INVOICES';
54565 l_event_class_code := 'PREPAYMENTS';
54566 l_event_type_code := 'PREPAYMENTS_ALL';
54567 l_line_definition_owner_code := 'S';
54568 l_line_definition_code := 'ACCRUAL_PREPAYMENTS_ALL';
54569 --
54570 l_balance_type_code := 'A';
54571 l_segment := NULL;
54572 l_ccid := NULL;
54573 l_adr_transaction_coa_id := NULL;
54574 l_adr_accounting_coa_id := NULL;
54575 l_adr_flexfield_segment_code := NULL;
54576 l_adr_flex_value_set_id := NULL;
54577 l_adr_value_type_code := NULL;
54578 l_adr_value_combination_id := NULL;
54579 l_adr_value_segment_code := NULL;
54580
54581 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
54582 l_bflow_class_code := 'AP_PREPAY'; -- 4219869 Business Flow
54583 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
54584 l_budgetary_control_flag := 'N';
54585
54586 l_bflow_applied_to_amt_idx := NULL; -- 5132302
54587 l_bflow_applied_to_amt := NULL; -- 5132302
54588 l_entered_amt_idx := NULL; -- 4262811
54589 l_accted_amt_idx := NULL; -- 4262811
54590 l_acc_rev_flag := NULL; -- 4262811
54591 l_accrual_line_num := NULL; -- 4262811
54592 l_tmp_amt := NULL; -- 4262811
54593 --
54594 IF ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
54595 (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
54596 return;
54597 END IF;
54598
54599 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
54600 l_balance_type_code <> 'B' THEN
54601 IF NVL(p_source_28,'
54602 ') = 'ERV' AND
54603 NVL(p_source_54,'
54604 ') = 'Y'
54605 THEN
54606
54607 --
54608 XLA_AE_LINES_PKG.SetNewLine;
54609
54610 p_balance_type_code := l_balance_type_code;
54611 -- set the flag so later we will know whether the gain loss line needs to be created
54612
54613 IF(l_balance_type_code = 'A' ) THEN
54614 p_actual_flag :='G';
54615 END IF;
54616
54617 --
54618 -- bulk performance
54619 --
54620 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
54621 p_header_num => 0); -- 4262811
54622 --
54623 -- set accounting line options
54624 --
54625 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
54626 p_natural_side_code => 'D'
54627 , p_gain_or_loss_flag => 'Y'
54628 , p_gl_transfer_mode_code => 'S'
54629 , p_acct_entry_type_code => 'A'
54630 , p_switch_side_flag => 'Y'
54631 , p_merge_duplicate_code => 'A'
54632 );
54633 --
54634 l_acc_rev_natural_side_code := 'C'; -- 4262811
54635 --
54636 --
54637 -- set accounting line type info
54638 --
54639 xla_ae_lines_pkg.SetAcctLineType
54640 (p_component_type => l_component_type
54641 ,p_event_type_code => l_event_type_code
54642 ,p_line_definition_owner_code => l_line_definition_owner_code
54643 ,p_line_definition_code => l_line_definition_code
54644 ,p_accounting_line_code => l_component_code
54645 ,p_accounting_line_type_code => l_component_type_code
54646 ,p_accounting_line_appl_id => l_component_appl_id
54647 ,p_amb_context_code => l_amb_context_code
54648 ,p_entity_code => l_entity_code
54649 ,p_event_class_code => l_event_class_code);
54650 --
54651 -- set accounting class
54652 --
54653 xla_ae_lines_pkg.SetAcctClass(
54654 p_accounting_class_code => 'EXCHANGE_RATE_VARIANCE'
54655 , p_ae_header_id => l_ae_header_id
54656 );
54657
54658 --
54659 -- set rounding class
54660 --
54661 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
54662 'EXCHANGE_RATE_VARIANCE';
54663
54664 --
54665 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
54669 --
54666 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
54667 --
54668 -- bulk performance
54670 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
54671
54672 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
54673 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
54674
54675 -- 4955764
54676 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
54677 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
54678
54679 -- 4458381 Public Sector Enh
54680
54681 --
54682 -- set accounting attributes for the line type
54683 --
54684 l_entered_amt_idx := 23;
54685 l_accted_amt_idx := 28;
54686 l_bflow_applied_to_amt_idx := NULL; -- 5132302
54687 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
54688 l_rec_acct_attrs.array_char_value(1) := p_source_58;
54689 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
54690 l_rec_acct_attrs.array_num_value(2) :=
54691 xla_ae_sources_pkg.GetSystemSourceNum(
54692 p_source_code => 'XLA_EVENT_APPL_ID'
54693 , p_source_type_code => 'Y'
54694 , p_source_application_id => 602
54695 );
54696 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
54697 l_rec_acct_attrs.array_char_value(3) := p_source_60;
54698 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
54699 l_rec_acct_attrs.array_char_value(4) :=
54700 xla_ae_sources_pkg.GetSystemSourceChar(
54701 p_source_code => 'XLA_ENTITY_CODE'
54702 , p_source_type_code => 'Y'
54703 , p_source_application_id => 602
54704 );
54705 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
54706 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_62);
54707 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
54708 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_63);
54709 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
54710 l_rec_acct_attrs.array_num_value(7) := p_source_96;
54711 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
54712 l_rec_acct_attrs.array_char_value(8) := p_source_97;
54713 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
54714 l_rec_acct_attrs.array_char_value(9) := p_source_98;
54715 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
54716 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_99);
54717 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
54718 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_100);
54719 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
54720 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_69);
54721 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
54722 l_rec_acct_attrs.array_char_value(13) := p_source_60;
54723 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
54724 l_rec_acct_attrs.array_num_value(14) := p_source_70;
54725 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
54726 l_rec_acct_attrs.array_num_value(15) := p_source_71;
54727 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
54728 l_rec_acct_attrs.array_char_value(16) := p_source_72;
54729 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
54730 l_rec_acct_attrs.array_num_value(17) := p_source_73;
54731 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
54732 l_rec_acct_attrs.array_num_value(18) := p_source_74;
54733 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
54734 l_rec_acct_attrs.array_num_value(19) := p_source_75;
54735 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
54736 l_rec_acct_attrs.array_char_value(20) := p_source_72;
54737 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
54738 l_rec_acct_attrs.array_num_value(21) := p_source_76;
54739 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
54740 l_rec_acct_attrs.array_char_value(22) := p_source_77;
54741 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
54742 l_rec_acct_attrs.array_num_value(23) := p_source_78;
54743 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
54744 l_rec_acct_attrs.array_char_value(24) := p_source_72;
54745 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
54746 l_rec_acct_attrs.array_date_value(25) := p_source_146;
54747 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
54748 l_rec_acct_attrs.array_num_value(26) := p_source_147;
54749 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
54750 l_rec_acct_attrs.array_char_value(27) := p_source_148;
54751 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
54752 l_rec_acct_attrs.array_num_value(28) := p_source_16;
54753 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
54754 l_rec_acct_attrs.array_date_value(29) := p_source_82;
54755 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
54756 l_rec_acct_attrs.array_char_value(30) := p_source_83;
54757 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
54758 l_rec_acct_attrs.array_date_value(31) := p_source_84;
54759 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
54760 l_rec_acct_attrs.array_char_value(32) := p_source_85;
54764 l_rec_acct_attrs.array_num_value(34) := p_source_87;
54761 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
54762 l_rec_acct_attrs.array_num_value(33) := p_source_86;
54763 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
54765 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
54766 l_rec_acct_attrs.array_char_value(35) := p_source_88;
54767 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
54768 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_89);
54769 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
54770 l_rec_acct_attrs.array_char_value(37) := p_source_60;
54771 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
54772 l_rec_acct_attrs.array_num_value(38) := p_source_90;
54773 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
54774 l_rec_acct_attrs.array_num_value(39) := p_source_91;
54775 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
54776 l_rec_acct_attrs.array_num_value(40) := p_source_92;
54777 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
54778 l_rec_acct_attrs.array_num_value(41) := p_source_93;
54779 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
54780 l_rec_acct_attrs.array_num_value(42) := p_source_94;
54781 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
54782 l_rec_acct_attrs.array_num_value(43) := p_source_95;
54783
54784 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
54785 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
54786
54787 ---------------------------------------------------------------------------------------------------------------
54788 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
54789 ---------------------------------------------------------------------------------------------------------------
54790 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
54791
54792 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
54793 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
54794
54795 IF xla_accounting_cache_pkg.GetValueChar
54796 (p_source_code => 'LEDGER_CATEGORY_CODE'
54797 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
54798 AND l_bflow_method_code = 'PRIOR_ENTRY'
54799 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
54800 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
54801 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
54802 )
54803 THEN
54804 xla_ae_lines_pkg.BflowUpgEntry
54805 (p_business_method_code => l_bflow_method_code
54806 ,p_business_class_code => l_bflow_class_code
54807 ,p_balance_type => l_balance_type_code);
54808 ELSE
54809 NULL;
54810 -- No business flow processing for business flow method of NONE.
54811 END IF;
54812
54813 --
54814 -- call analytical criteria
54815 --
54816
54817 --
54818 -- call description
54819 --
54820
54821 xla_ae_lines_pkg.SetLineDescription(
54822 p_ae_header_id => l_ae_header_id
54823 ,p_description => Description_2 (
54824 p_application_id => p_application_id
54825 , p_ae_header_id => l_ae_header_id
54826 , p_source_1 => p_source_1
54827 )
54828 );
54829
54830
54831 --
54832 -- call ADRs
54833 -- Bug 4922099
54834 --
54835 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
54836 (NVL(l_actual_upg_option, 'N') = 'O') OR
54837 (NVL(l_enc_upg_option, 'N') = 'O')
54838 )
54839 THEN
54840 NULL;
54841 --
54842 --
54843
54844 l_ccid := AcctDerRule_32(
54845 p_application_id => p_application_id
54846 , p_ae_header_id => l_ae_header_id
54847 , p_source_10 => p_source_10
54848 , p_source_10_meaning => p_source_10_meaning
54849 , p_source_15 => p_source_15
54850 , p_source_16 => p_source_16
54851 , p_source_17 => p_source_17
54852 , p_source_17_meaning => p_source_17_meaning
54853 , p_source_18 => p_source_18
54854 , p_source_25 => p_source_25
54855 , p_source_43 => p_source_43
54856 , p_source_43_meaning => p_source_43_meaning
54857 , x_transaction_coa_id => l_adr_transaction_coa_id
54858 , x_accounting_coa_id => l_adr_accounting_coa_id
54859 , x_value_type_code => l_adr_value_type_code
54860 , p_side => 'NA'
54861 );
54862
54863 xla_ae_lines_pkg.set_ccid(
54864 p_code_combination_id => l_ccid
54865 , p_value_type_code => l_adr_value_type_code
54866 , p_transaction_coa_id => l_adr_transaction_coa_id
54867 , p_accounting_coa_id => l_adr_accounting_coa_id
54868 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
54869 , p_adr_type_code => 'S'
54870 , p_component_type => l_component_type
54871 , p_component_code => l_component_code
54872 , p_component_type_code => l_component_type_code
54873 , p_component_appl_id => l_component_appl_id
54877
54874 , p_amb_context_code => l_amb_context_code
54875 , p_side => 'NA'
54876 );
54878
54879 l_segment := AcctDerRule_8(
54880 p_application_id => p_application_id
54881 , p_ae_header_id => l_ae_header_id
54882 , p_source_10 => p_source_10
54883 , p_source_10_meaning => p_source_10_meaning
54884 , p_source_15 => p_source_15
54885 , p_source_16 => p_source_16
54886 , p_source_17 => p_source_17
54887 , p_source_17_meaning => p_source_17_meaning
54888 , p_source_18 => p_source_18
54889 , x_transaction_coa_id => l_adr_transaction_coa_id
54890 , x_accounting_coa_id => l_adr_accounting_coa_id
54891 , x_flexfield_segment_code => l_adr_flexfield_segment_code
54892 , x_flex_value_set_id => l_adr_flex_value_set_id
54893 , x_value_type_code => l_adr_value_type_code
54894 , x_value_combination_id => l_adr_value_combination_id
54895 , x_value_segment_code => l_adr_value_segment_code
54896 , p_side => 'NA'
54897 , p_override_seg_flag => 'Y'
54898 );
54899
54900 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
54901
54902 xla_ae_lines_pkg.set_segment(
54903 p_to_segment_code => 'GL_ACCOUNT'
54904 , p_segment_value => l_segment
54905 , p_from_segment_code => l_adr_value_segment_code
54906 , p_from_combination_id => l_adr_value_combination_id
54907 , p_value_type_code => l_adr_value_type_code
54908 , p_transaction_coa_id => l_adr_transaction_coa_id
54909 , p_accounting_coa_id => l_adr_accounting_coa_id
54910 , p_flexfield_segment_code => l_adr_flexfield_segment_code
54911 , p_flex_value_set_id => l_adr_flex_value_set_id
54912 , p_adr_code => 'AP_ERV_GAIN_LOSS_NAT_ACCT_SEG'
54913 , p_adr_type_code => 'S'
54914 , p_component_type => l_component_type
54915 , p_component_code => l_component_code
54916 , p_component_type_code => l_component_type_code
54917 , p_component_appl_id => l_component_appl_id
54918 , p_amb_context_code => l_amb_context_code
54919 , p_entity_code => 'AP_INVOICES'
54920 , p_event_class_code => 'PREPAYMENTS'
54921 , p_side => 'NA'
54922 );
54923
54924 END IF;
54925
54926 l_segment := AcctDerRule_24(
54927 p_application_id => p_application_id
54928 , p_ae_header_id => l_ae_header_id
54929 , p_source_10 => p_source_10
54930 , p_source_10_meaning => p_source_10_meaning
54931 , p_source_17 => p_source_17
54932 , p_source_17_meaning => p_source_17_meaning
54933 , p_source_25 => p_source_25
54934 , x_transaction_coa_id => l_adr_transaction_coa_id
54935 , x_accounting_coa_id => l_adr_accounting_coa_id
54936 , x_flexfield_segment_code => l_adr_flexfield_segment_code
54937 , x_flex_value_set_id => l_adr_flex_value_set_id
54938 , x_value_type_code => l_adr_value_type_code
54939 , x_value_combination_id => l_adr_value_combination_id
54940 , x_value_segment_code => l_adr_value_segment_code
54941 , p_side => 'NA'
54942 , p_override_seg_flag => 'Y'
54943 );
54944
54945 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
54946
54947 xla_ae_lines_pkg.set_segment(
54948 p_to_segment_code => 'GL_BALANCING'
54949 , p_segment_value => l_segment
54950 , p_from_segment_code => l_adr_value_segment_code
54951 , p_from_combination_id => l_adr_value_combination_id
54952 , p_value_type_code => l_adr_value_type_code
54953 , p_transaction_coa_id => l_adr_transaction_coa_id
54954 , p_accounting_coa_id => l_adr_accounting_coa_id
54955 , p_flexfield_segment_code => l_adr_flexfield_segment_code
54956 , p_flex_value_set_id => l_adr_flex_value_set_id
54957 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
54958 , p_adr_type_code => 'S'
54959 , p_component_type => l_component_type
54960 , p_component_code => l_component_code
54961 , p_component_type_code => l_component_type_code
54962 , p_component_appl_id => l_component_appl_id
54963 , p_amb_context_code => l_amb_context_code
54964 , p_entity_code => 'AP_INVOICES'
54965 , p_event_class_code => 'PREPAYMENTS'
54966 , p_side => 'NA'
54967 );
54968
54969 END IF;
54970
54971 --
54972 --
54973 END IF;
54974 --
54975 -- Bug 4922099
54976 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
54977 (NVL(l_enc_upg_option, 'N') = 'O')
54978 ) AND
54979 (l_bflow_method_code = 'PRIOR_ENTRY')
54980 )
54981 THEN
54982 IF
54983 --
54984 1 = 2
54985 --
54986 THEN
54987 xla_accounting_err_pkg.build_message
54988 (p_appli_s_name => 'XLA'
54989 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
54993 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
54990 ,p_token_1 => 'LINE_NUMBER'
54991 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
54992 ,p_token_2 => 'LINE_TYPE_NAME'
54994 l_component_type
54995 ,l_component_code
54996 ,l_component_type_code
54997 ,l_component_appl_id
54998 ,l_amb_context_code
54999 ,l_entity_code
55000 ,l_event_class_code
55001 )
55002 ,p_token_3 => 'OWNER'
55003 ,p_value_3 => xla_lookups_pkg.get_meaning(
55004 p_lookup_type => 'XLA_OWNER_TYPE'
55005 ,p_lookup_code => l_component_type_code
55006 )
55007 ,p_token_4 => 'PRODUCT_NAME'
55008 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
55009 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
55010 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
55011 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
55012 ,p_ae_header_id => NULL
55013 );
55014
55015 IF (C_LEVEL_ERROR>= g_log_level) THEN
55016 trace
55017 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
55018 ,p_level => C_LEVEL_ERROR
55019 ,p_module => l_log_module);
55020 END IF;
55021 END IF;
55022 END IF;
55023 --
55024 --
55025 ------------------------------------------------------------------------------------------------
55026 -- 4219869 Business Flow
55027 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
55028 -- Prior Entry. Currently, the following code is always generated.
55029 ------------------------------------------------------------------------------------------------
55030 XLA_AE_LINES_PKG.ValidateCurrentLine;
55031
55032 ------------------------------------------------------------------------------------
55033 -- 4219869 Business Flow
55034 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
55035 ------------------------------------------------------------------------------------
55036 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
55037
55038 ----------------------------------------------------------------------------------
55039 -- 4219869 Business Flow
55040 -- Update journal entry status -- Need to generate this within IF <condition>
55041 ----------------------------------------------------------------------------------
55042 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
55043 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
55044 ,p_balance_type_code => l_balance_type_code
55045 );
55046
55047 -------------------------------------------------------------------------------------------
55048 -- 4262811 - Generate the Accrual Reversal lines
55049 -------------------------------------------------------------------------------------------
55050 BEGIN
55051 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
55052 (g_array_event(p_event_id).array_value_num('header_index'));
55053 IF l_acc_rev_flag IS NULL THEN
55054 l_acc_rev_flag := 'N';
55055 END IF;
55056 EXCEPTION
55057 WHEN OTHERS THEN
55058 l_acc_rev_flag := 'N';
55059 END;
55060 --
55061 IF (l_acc_rev_flag = 'Y') THEN
55062
55063 -- 4645092 ------------------------------------------------------------------------------
55064 -- To allow MPA report to determine if it should generate report process
55065 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
55066 ------------------------------------------------------------------------------------------
55067
55068 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
55069 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
55070 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
55071 -- call ADRs
55072 -- Bug 4922099
55073 --
55074 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
55075 (NVL(l_actual_upg_option, 'N') = 'O') OR
55076 (NVL(l_enc_upg_option, 'N') = 'O')
55077 )
55078 THEN
55079 NULL;
55080 --
55081 --
55082
55083 l_ccid := AcctDerRule_32(
55087 , p_source_10_meaning => p_source_10_meaning
55084 p_application_id => p_application_id
55085 , p_ae_header_id => l_ae_header_id
55086 , p_source_10 => p_source_10
55088 , p_source_15 => p_source_15
55089 , p_source_16 => p_source_16
55090 , p_source_17 => p_source_17
55091 , p_source_17_meaning => p_source_17_meaning
55092 , p_source_18 => p_source_18
55093 , p_source_25 => p_source_25
55094 , p_source_43 => p_source_43
55095 , p_source_43_meaning => p_source_43_meaning
55096 , x_transaction_coa_id => l_adr_transaction_coa_id
55097 , x_accounting_coa_id => l_adr_accounting_coa_id
55098 , x_value_type_code => l_adr_value_type_code
55099 , p_side => 'NA'
55100 );
55101
55102 xla_ae_lines_pkg.set_ccid(
55103 p_code_combination_id => l_ccid
55104 , p_value_type_code => l_adr_value_type_code
55105 , p_transaction_coa_id => l_adr_transaction_coa_id
55106 , p_accounting_coa_id => l_adr_accounting_coa_id
55107 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
55108 , p_adr_type_code => 'S'
55109 , p_component_type => l_component_type
55110 , p_component_code => l_component_code
55111 , p_component_type_code => l_component_type_code
55112 , p_component_appl_id => l_component_appl_id
55113 , p_amb_context_code => l_amb_context_code
55114 , p_side => 'NA'
55115 );
55116
55117
55118 l_segment := AcctDerRule_8(
55119 p_application_id => p_application_id
55120 , p_ae_header_id => l_ae_header_id
55121 , p_source_10 => p_source_10
55122 , p_source_10_meaning => p_source_10_meaning
55123 , p_source_15 => p_source_15
55124 , p_source_16 => p_source_16
55125 , p_source_17 => p_source_17
55126 , p_source_17_meaning => p_source_17_meaning
55127 , p_source_18 => p_source_18
55128 , x_transaction_coa_id => l_adr_transaction_coa_id
55129 , x_accounting_coa_id => l_adr_accounting_coa_id
55130 , x_flexfield_segment_code => l_adr_flexfield_segment_code
55131 , x_flex_value_set_id => l_adr_flex_value_set_id
55132 , x_value_type_code => l_adr_value_type_code
55133 , x_value_combination_id => l_adr_value_combination_id
55134 , x_value_segment_code => l_adr_value_segment_code
55135 , p_side => 'NA'
55136 , p_override_seg_flag => 'Y'
55137 );
55138
55139 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
55140
55141 xla_ae_lines_pkg.set_segment(
55142 p_to_segment_code => 'GL_ACCOUNT'
55143 , p_segment_value => l_segment
55144 , p_from_segment_code => l_adr_value_segment_code
55145 , p_from_combination_id => l_adr_value_combination_id
55146 , p_value_type_code => l_adr_value_type_code
55147 , p_transaction_coa_id => l_adr_transaction_coa_id
55148 , p_accounting_coa_id => l_adr_accounting_coa_id
55149 , p_flexfield_segment_code => l_adr_flexfield_segment_code
55150 , p_flex_value_set_id => l_adr_flex_value_set_id
55151 , p_adr_code => 'AP_ERV_GAIN_LOSS_NAT_ACCT_SEG'
55152 , p_adr_type_code => 'S'
55153 , p_component_type => l_component_type
55154 , p_component_code => l_component_code
55155 , p_component_type_code => l_component_type_code
55156 , p_component_appl_id => l_component_appl_id
55157 , p_amb_context_code => l_amb_context_code
55158 , p_entity_code => 'AP_INVOICES'
55159 , p_event_class_code => 'PREPAYMENTS'
55160 , p_side => 'NA'
55161 );
55162
55163 END IF;
55164
55165 l_segment := AcctDerRule_24(
55166 p_application_id => p_application_id
55167 , p_ae_header_id => l_ae_header_id
55168 , p_source_10 => p_source_10
55169 , p_source_10_meaning => p_source_10_meaning
55170 , p_source_17 => p_source_17
55171 , p_source_17_meaning => p_source_17_meaning
55172 , p_source_25 => p_source_25
55173 , x_transaction_coa_id => l_adr_transaction_coa_id
55174 , x_accounting_coa_id => l_adr_accounting_coa_id
55175 , x_flexfield_segment_code => l_adr_flexfield_segment_code
55176 , x_flex_value_set_id => l_adr_flex_value_set_id
55177 , x_value_type_code => l_adr_value_type_code
55178 , x_value_combination_id => l_adr_value_combination_id
55179 , x_value_segment_code => l_adr_value_segment_code
55180 , p_side => 'NA'
55181 , p_override_seg_flag => 'Y'
55182 );
55183
55184 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
55185
55186 xla_ae_lines_pkg.set_segment(
55187 p_to_segment_code => 'GL_BALANCING'
55188 , p_segment_value => l_segment
55189 , p_from_segment_code => l_adr_value_segment_code
55190 , p_from_combination_id => l_adr_value_combination_id
55191 , p_value_type_code => l_adr_value_type_code
55192 , p_transaction_coa_id => l_adr_transaction_coa_id
55193 , p_accounting_coa_id => l_adr_accounting_coa_id
55194 , p_flexfield_segment_code => l_adr_flexfield_segment_code
55195 , p_flex_value_set_id => l_adr_flex_value_set_id
55199 , p_component_code => l_component_code
55196 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
55197 , p_adr_type_code => 'S'
55198 , p_component_type => l_component_type
55200 , p_component_type_code => l_component_type_code
55201 , p_component_appl_id => l_component_appl_id
55202 , p_amb_context_code => l_amb_context_code
55203 , p_entity_code => 'AP_INVOICES'
55204 , p_event_class_code => 'PREPAYMENTS'
55205 , p_side => 'NA'
55206 );
55207
55208 END IF;
55209
55210 --
55211 --
55212 END IF;
55213
55214 --
55215 -- Update the line information that should be overwritten
55216 --
55217 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
55218 p_header_num => 1);
55219 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
55220
55221 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
55222
55223 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
55224 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
55225 END IF;
55226
55227 --
55228 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
55229 --
55230 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
55231 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
55232 ELSE
55233 ---------------------------------------------------------------------------------------------------
55234 -- 4262811a Switch Sign
55235 ---------------------------------------------------------------------------------------------------
55236 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
55237 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
55238 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
55239 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
55240 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
55241 -- 5132302
55242 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
55243 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
55244
55245 END IF;
55246
55247 -- 4955764
55248 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
55249 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
55250
55251
55252 XLA_AE_LINES_PKG.ValidateCurrentLine;
55253 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
55254
55255 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
55256 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
55257 ,p_balance_type_code => l_balance_type_code);
55258
55259 END IF;
55260
55261 -----------------------------------------------------------------------------------------
55262 -- 4262811 Multiperiod Accounting
55263 -----------------------------------------------------------------------------------------
55264 -- No MPA option is assigned.
55265
55266
55267 END IF;
55268 END IF;
55269 --
55270
55271 --
55272 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
55273 trace
55274 (p_msg => 'END of AcctLineType_119'
55275 ,p_level => C_LEVEL_PROCEDURE
55276 ,p_module => l_log_module);
55277 END IF;
55278 --
55279 EXCEPTION
55280 WHEN xla_exceptions_pkg.application_exception THEN
55281 RAISE;
55282 WHEN OTHERS THEN
55283 xla_exceptions_pkg.raise_message
55284 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_119');
55285 END AcctLineType_119;
55286 --
55287
55288 ---------------------------------------
55289 --
55290 -- PRIVATE FUNCTION
55291 -- AcctLineType_120
55292 --
55293 ---------------------------------------
55294 PROCEDURE AcctLineType_120 (
55295 p_application_id IN NUMBER
55296 ,p_event_id IN NUMBER
55297 ,p_calculate_acctd_flag IN VARCHAR2
55298 ,p_calculate_g_l_flag IN VARCHAR2
55299 ,p_actual_flag IN OUT VARCHAR2
55300 ,p_balance_type_code OUT VARCHAR2
55301 ,p_gain_or_loss_ref OUT VARCHAR2
55302
55303 --Automatic Offsets Value
55304 , p_source_10 IN VARCHAR2
55305 , p_source_10_meaning IN VARCHAR2
55306 --Invoice Distribution Account
55307 , p_source_25 IN NUMBER
55308 --Payables Options Rounding Account
55309 , p_source_45 IN NUMBER
55310 --Accounting Reversal Indicator
55311 , p_source_58 IN VARCHAR2
55312 --Distribution Link Type
55313 , p_source_60 IN VARCHAR2
55314 --Invoice Identifier
55315 , p_source_63 IN NUMBER
55316 --Payables Encumbrance Upgrade Credit Account
55317 , p_source_70 IN NUMBER
55321 , p_source_72 IN VARCHAR2
55318 --Payables Encumbrance Upgrade Credit Amount
55319 , p_source_71 IN NUMBER
55320 --Invoice Currency Code
55322 --Payables Encumbrance Upgrade Credit Base Amount
55323 , p_source_73 IN NUMBER
55324 --Payables Encumbrance Upgrade Debit Account
55325 , p_source_74 IN NUMBER
55326 --Payables Encumbrance Upgrade Debit Amount
55327 , p_source_75 IN NUMBER
55328 --Payables Encumbrance Upgrade Debit Base Amount
55329 , p_source_76 IN NUMBER
55330 --Payables Encumbrance Upgrade Option
55331 , p_source_77 IN VARCHAR2
55332 --Deferred Accounting End Date
55333 , p_source_82 IN DATE
55334 --Deferred Accounting Option
55335 , p_source_83 IN VARCHAR2
55336 --Deferred Accounting Start Date
55337 , p_source_84 IN DATE
55338 --Override Accounted Amount Indicator
55339 , p_source_85 IN VARCHAR2
55340 , p_source_85_meaning IN VARCHAR2
55341 --Invoice Supplier Identifier
55342 , p_source_86 IN NUMBER
55343 --Invoice Supplier Site Identifier
55344 , p_source_87 IN NUMBER
55345 --Third Party Type
55346 , p_source_88 IN VARCHAR2
55347 --Invoice Distribution Tax Line Identifier
55348 , p_source_91 IN NUMBER
55349 --Invoice Distribution Tax Distribution Identifier from Tax
55350 , p_source_92 IN NUMBER
55351 --Invoice Distribution Summary Tax Line Identifier
55352 , p_source_93 IN NUMBER
55353 --Payables Upgrade Credit Encumbrance Type Identifier
55354 , p_source_94 IN NUMBER
55355 --Payables Upgrade Debit Encumbrance Type Identifier
55356 , p_source_95 IN NUMBER
55357 --Business Flow Accounts Payable Application Identifier
55358 , p_source_96 IN NUMBER
55359 --Prepayment Distribution Type
55360 , p_source_128 IN VARCHAR2
55361 --Prepayment Application Distribution Identifier
55362 , p_source_130 IN NUMBER
55363 --Upgrade Encumbrance Credit Account Class
55364 , p_source_135 IN VARCHAR2
55365 --Upgrade Encumbrance Debit Account Class
55366 , p_source_136 IN VARCHAR2
55367 --Prepayment Distribution Amount
55368 , p_source_137 IN NUMBER
55369 --Prepayment Distribution (Prepayment Rate) Ledger Amount
55370 , p_source_138 IN NUMBER
55371 --Identifier of the Prepayment Application Reversed
55372 , p_source_139 IN NUMBER
55373 --Invoice Exchange Date
55374 , p_source_146 IN DATE
55375 --Invoice Exchange Rate
55376 , p_source_147 IN NUMBER
55377 --Invoice Exchange Rate Type
55378 , p_source_148 IN VARCHAR2
55379 --Business Flow Prepayment Invoice Distribution Type
55380 , p_source_149 IN VARCHAR2
55381 --Business Flow Prepayment Invoice Entity Code
55382 , p_source_150 IN VARCHAR2
55383 --Business Flow Prepayment Invoice Distribution Identifier
55384 , p_source_151 IN NUMBER
55385 --Business Flow Prepayment Invoice Identifier
55386 , p_source_152 IN NUMBER
55387 )
55388 IS
55389
55390 l_component_type VARCHAR2(80);
55391 l_component_code VARCHAR2(30);
55392 l_component_type_code VARCHAR2(1);
55393 l_component_appl_id INTEGER;
55394 l_amb_context_code VARCHAR2(30);
55395 l_entity_code VARCHAR2(30);
55396 l_event_class_code VARCHAR2(30);
55397 l_ae_header_id NUMBER;
55398 l_event_type_code VARCHAR2(30);
55399 l_line_definition_code VARCHAR2(30);
55400 l_line_definition_owner_code VARCHAR2(1);
55401 --
55402 -- adr variables
55403 l_segment VARCHAR2(30);
55404 l_ccid NUMBER;
55405 l_adr_transaction_coa_id NUMBER;
55406 l_adr_accounting_coa_id NUMBER;
55407 l_adr_flexfield_segment_code VARCHAR2(30);
55408 l_adr_flex_value_set_id NUMBER;
55409 l_adr_value_type_code VARCHAR2(30);
55410 l_adr_value_combination_id NUMBER;
55411 l_adr_value_segment_code VARCHAR2(30);
55412
55413 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
55414 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
55415 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
55416 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
55417
55418 -- 4262811 Variables ------------------------------------------------------------------------------------------
55419 l_entered_amt_idx NUMBER;
55420 l_accted_amt_idx NUMBER;
55421 l_acc_rev_flag VARCHAR2(1);
55422 l_accrual_line_num NUMBER;
55423 l_tmp_amt NUMBER;
55424 l_acc_rev_natural_side_code VARCHAR2(1);
55425
55426 l_num_entries NUMBER;
55427 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
55428 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
55429 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
55430 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
55431 l_recog_line_1 NUMBER;
55432 l_recog_line_2 NUMBER;
55433
55434 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
55435 l_bflow_applied_to_amt NUMBER; -- 5132302
55436 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
55437
55441 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
55438 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
55439
55440 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
55442
55443 ---------------------------------------------------------------------------------------------------------------
55444
55445
55446 --
55447 -- bulk performance
55448 --
55449 l_balance_type_code VARCHAR2(1);
55450 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
55451 l_log_module VARCHAR2(240);
55452
55453 --
55454 -- Upgrade strategy
55455 --
55456 l_actual_upg_option VARCHAR2(1);
55457 l_enc_upg_option VARCHAR2(1);
55458
55459 --
55460 BEGIN
55461 --
55462 IF g_log_enabled THEN
55463 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_120';
55464 END IF;
55465 --
55466 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
55467
55468 trace
55469 (p_msg => 'BEGIN of AcctLineType_120'
55470 ,p_level => C_LEVEL_PROCEDURE
55471 ,p_module => l_log_module);
55472
55473 END IF;
55474 --
55475 l_component_type := 'AMB_JLT';
55476 l_component_code := 'AP_FINAL_APP_ROUND_ACCR';
55477 l_component_type_code := 'S';
55478 l_component_appl_id := 200;
55479 l_amb_context_code := 'DEFAULT';
55480 l_entity_code := 'AP_INVOICES';
55481 l_event_class_code := 'PREPAYMENT APPLICATIONS';
55482 l_event_type_code := 'PREPAYMENT APPLICATIONS_ALL';
55483 l_line_definition_owner_code := 'S';
55484 l_line_definition_code := 'ACCRUAL_PREPAYMENT APPLICATIO2';
55485 --
55486 l_balance_type_code := 'A';
55487 l_segment := NULL;
55488 l_ccid := NULL;
55489 l_adr_transaction_coa_id := NULL;
55490 l_adr_accounting_coa_id := NULL;
55491 l_adr_flexfield_segment_code := NULL;
55492 l_adr_flex_value_set_id := NULL;
55493 l_adr_value_type_code := NULL;
55494 l_adr_value_combination_id := NULL;
55495 l_adr_value_segment_code := NULL;
55496
55497 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
55498 l_bflow_class_code := ''; -- 4219869 Business Flow
55499 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
55500 l_budgetary_control_flag := 'N';
55501
55502 l_bflow_applied_to_amt_idx := NULL; -- 5132302
55503 l_bflow_applied_to_amt := NULL; -- 5132302
55504 l_entered_amt_idx := NULL; -- 4262811
55505 l_accted_amt_idx := NULL; -- 4262811
55506 l_acc_rev_flag := NULL; -- 4262811
55507 l_accrual_line_num := NULL; -- 4262811
55508 l_tmp_amt := NULL; -- 4262811
55509 --
55510
55511 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
55512 l_balance_type_code <> 'B' THEN
55513 IF NVL(p_source_128,'
55514 ') = 'FINAL APPLICATION ROUNDING'
55515 THEN
55516
55517 --
55518 XLA_AE_LINES_PKG.SetNewLine;
55519
55520 p_balance_type_code := l_balance_type_code;
55521 -- set the flag so later we will know whether the gain loss line needs to be created
55522
55523 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
55524 p_actual_flag :='A';
55525 END IF;
55526
55527 --
55528 -- bulk performance
55529 --
55530 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
55531 p_header_num => 0); -- 4262811
55532 --
55533 -- set accounting line options
55534 --
55535 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
55536 p_natural_side_code => 'C'
55537 , p_gain_or_loss_flag => 'N'
55538 , p_gl_transfer_mode_code => 'S'
55539 , p_acct_entry_type_code => 'A'
55540 , p_switch_side_flag => 'Y'
55541 , p_merge_duplicate_code => 'A'
55542 );
55543 --
55544 l_acc_rev_natural_side_code := 'D'; -- 4262811
55545 --
55546 --
55547 -- set accounting line type info
55548 --
55549 xla_ae_lines_pkg.SetAcctLineType
55550 (p_component_type => l_component_type
55551 ,p_event_type_code => l_event_type_code
55552 ,p_line_definition_owner_code => l_line_definition_owner_code
55553 ,p_line_definition_code => l_line_definition_code
55554 ,p_accounting_line_code => l_component_code
55555 ,p_accounting_line_type_code => l_component_type_code
55556 ,p_accounting_line_appl_id => l_component_appl_id
55557 ,p_amb_context_code => l_amb_context_code
55558 ,p_entity_code => l_entity_code
55559 ,p_event_class_code => l_event_class_code);
55560 --
55561 -- set accounting class
55562 --
55563 xla_ae_lines_pkg.SetAcctClass(
55564 p_accounting_class_code => 'ROUNDING'
55565 , p_ae_header_id => l_ae_header_id
55566 );
55567
55568 --
55569 -- set rounding class
55570 --
55574 --
55571 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
55572 'ROUNDING';
55573
55575 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
55576 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
55577 --
55578 -- bulk performance
55579 --
55580 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
55581
55582 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
55583 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
55584
55585 -- 4955764
55586 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
55587 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
55588
55589 -- 4458381 Public Sector Enh
55590
55591 --
55592 -- set accounting attributes for the line type
55593 --
55594 l_entered_amt_idx := 25;
55595 l_accted_amt_idx := 30;
55596 l_bflow_applied_to_amt_idx := NULL; -- 5132302
55597 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
55598 l_rec_acct_attrs.array_char_value(1) := p_source_58;
55599 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
55600 l_rec_acct_attrs.array_num_value(2) :=
55601 xla_ae_sources_pkg.GetSystemSourceNum(
55602 p_source_code => 'XLA_EVENT_APPL_ID'
55603 , p_source_type_code => 'Y'
55604 , p_source_application_id => 602
55605 );
55606 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
55607 l_rec_acct_attrs.array_char_value(3) := p_source_60;
55608 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
55609 l_rec_acct_attrs.array_char_value(4) :=
55610 xla_ae_sources_pkg.GetSystemSourceChar(
55611 p_source_code => 'XLA_ENTITY_CODE'
55612 , p_source_type_code => 'Y'
55613 , p_source_application_id => 602
55614 );
55615 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
55616 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_130);
55617 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
55618 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_63);
55619 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
55620 l_rec_acct_attrs.array_num_value(7) := p_source_96;
55621 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
55622 l_rec_acct_attrs.array_char_value(8) := p_source_149;
55623 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
55624 l_rec_acct_attrs.array_char_value(9) := p_source_150;
55625 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
55626 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_151);
55627 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
55628 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_152);
55629 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
55630 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_130);
55631 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
55632 l_rec_acct_attrs.array_char_value(13) := p_source_60;
55633 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_ACCT_CLASS';
55634 l_rec_acct_attrs.array_char_value(14) := p_source_135;
55635 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
55636 l_rec_acct_attrs.array_num_value(15) := p_source_70;
55637 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
55638 l_rec_acct_attrs.array_num_value(16) := p_source_71;
55639 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
55640 l_rec_acct_attrs.array_char_value(17) := p_source_72;
55641 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
55642 l_rec_acct_attrs.array_num_value(18) := p_source_73;
55643 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ACCT_CLASS';
55644 l_rec_acct_attrs.array_char_value(19) := p_source_136;
55645 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_CCID';
55646 l_rec_acct_attrs.array_num_value(20) := p_source_74;
55647 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_AMT';
55648 l_rec_acct_attrs.array_num_value(21) := p_source_75;
55649 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_ENTERED_CURR';
55650 l_rec_acct_attrs.array_char_value(22) := p_source_72;
55651 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_DR_LEDGER_AMT';
55652 l_rec_acct_attrs.array_num_value(23) := p_source_76;
55653 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENC_UPG_OPTION';
55654 l_rec_acct_attrs.array_char_value(24) := p_source_77;
55655 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_AMOUNT';
55656 l_rec_acct_attrs.array_num_value(25) := p_source_137;
55657 l_rec_acct_attrs.array_acct_attr_code(26) := 'ENTERED_CURRENCY_CODE';
55658 l_rec_acct_attrs.array_char_value(26) := p_source_72;
55659 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_DATE';
55660 l_rec_acct_attrs.array_date_value(27) := p_source_146;
55661 l_rec_acct_attrs.array_acct_attr_code(28) := 'EXCHANGE_RATE';
55662 l_rec_acct_attrs.array_num_value(28) := p_source_147;
55663 l_rec_acct_attrs.array_acct_attr_code(29) := 'EXCHANGE_RATE_TYPE';
55664 l_rec_acct_attrs.array_char_value(29) := p_source_148;
55665 l_rec_acct_attrs.array_acct_attr_code(30) := 'LEDGER_AMOUNT';
55669 l_rec_acct_attrs.array_acct_attr_code(32) := 'MULTIPERIOD_OPTION';
55666 l_rec_acct_attrs.array_num_value(30) := p_source_138;
55667 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_END_DATE';
55668 l_rec_acct_attrs.array_date_value(31) := p_source_82;
55670 l_rec_acct_attrs.array_char_value(32) := p_source_83;
55671 l_rec_acct_attrs.array_acct_attr_code(33) := 'MULTIPERIOD_START_DATE';
55672 l_rec_acct_attrs.array_date_value(33) := p_source_84;
55673 l_rec_acct_attrs.array_acct_attr_code(34) := 'OVERRIDE_ACCTD_AMT_FLAG';
55674 l_rec_acct_attrs.array_char_value(34) := p_source_85;
55675 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_ID';
55676 l_rec_acct_attrs.array_num_value(35) := p_source_86;
55677 l_rec_acct_attrs.array_acct_attr_code(36) := 'PARTY_SITE_ID';
55678 l_rec_acct_attrs.array_num_value(36) := p_source_87;
55679 l_rec_acct_attrs.array_acct_attr_code(37) := 'PARTY_TYPE';
55680 l_rec_acct_attrs.array_char_value(37) := p_source_88;
55681 l_rec_acct_attrs.array_acct_attr_code(38) := 'REVERSED_DISTRIBUTION_ID1';
55682 l_rec_acct_attrs.array_num_value(38) := to_char(p_source_139);
55683 l_rec_acct_attrs.array_acct_attr_code(39) := 'REVERSED_DISTRIBUTION_TYPE';
55684 l_rec_acct_attrs.array_char_value(39) := p_source_60;
55685 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_LINE_REF_ID';
55686 l_rec_acct_attrs.array_num_value(40) := p_source_91;
55687 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_REC_NREC_DIST_REF_ID';
55688 l_rec_acct_attrs.array_num_value(41) := p_source_92;
55689 l_rec_acct_attrs.array_acct_attr_code(42) := 'TAX_SUMMARY_LINE_REF_ID';
55690 l_rec_acct_attrs.array_num_value(42) := p_source_93;
55691 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_CR_ENC_TYPE_ID';
55692 l_rec_acct_attrs.array_num_value(43) := p_source_94;
55693 l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
55694 l_rec_acct_attrs.array_num_value(44) := p_source_95;
55695
55696 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
55697 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
55698
55699 ---------------------------------------------------------------------------------------------------------------
55700 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
55701 ---------------------------------------------------------------------------------------------------------------
55702 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
55703
55704 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
55705 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
55706
55707 IF xla_accounting_cache_pkg.GetValueChar
55708 (p_source_code => 'LEDGER_CATEGORY_CODE'
55709 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
55710 AND l_bflow_method_code = 'PRIOR_ENTRY'
55711 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
55712 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
55713 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
55714 )
55715 THEN
55716 xla_ae_lines_pkg.BflowUpgEntry
55717 (p_business_method_code => l_bflow_method_code
55718 ,p_business_class_code => l_bflow_class_code
55719 ,p_balance_type => l_balance_type_code);
55720 ELSE
55721 NULL;
55722 -- No business flow processing for business flow method of NONE.
55723 END IF;
55724
55725 --
55726 -- call analytical criteria
55727 --
55728
55729 --
55730 -- call description
55731 --
55732 -- No description or it is inherited.
55733 --
55734 -- call ADRs
55735 -- Bug 4922099
55736 --
55737 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
55738 (NVL(l_actual_upg_option, 'N') = 'O') OR
55739 (NVL(l_enc_upg_option, 'N') = 'O')
55740 )
55741 THEN
55742 NULL;
55743 --
55744 --
55745
55746 l_ccid := AcctDerRule_43(
55747 p_application_id => p_application_id
55748 , p_ae_header_id => l_ae_header_id
55749 , p_source_10 => p_source_10
55750 , p_source_10_meaning => p_source_10_meaning
55751 , p_source_25 => p_source_25
55752 , p_source_45 => p_source_45
55753 , x_transaction_coa_id => l_adr_transaction_coa_id
55754 , x_accounting_coa_id => l_adr_accounting_coa_id
55755 , x_value_type_code => l_adr_value_type_code
55756 , p_side => 'NA'
55757 );
55758
55759 xla_ae_lines_pkg.set_ccid(
55760 p_code_combination_id => l_ccid
55761 , p_value_type_code => l_adr_value_type_code
55762 , p_transaction_coa_id => l_adr_transaction_coa_id
55763 , p_accounting_coa_id => l_adr_accounting_coa_id
55764 , p_adr_code => 'AP_ROUNDING'
55765 , p_adr_type_code => 'S'
55766 , p_component_type => l_component_type
55767 , p_component_code => l_component_code
55768 , p_component_type_code => l_component_type_code
55769 , p_component_appl_id => l_component_appl_id
55770 , p_amb_context_code => l_amb_context_code
55771 , p_side => 'NA'
55775 --
55772 );
55773
55774
55776 --
55777 END IF;
55778 --
55779 -- Bug 4922099
55780 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
55781 (NVL(l_enc_upg_option, 'N') = 'O')
55782 ) AND
55783 (l_bflow_method_code = 'PRIOR_ENTRY')
55784 )
55785 THEN
55786 IF
55787 --
55788 1 = 2
55789 --
55790 THEN
55791 xla_accounting_err_pkg.build_message
55792 (p_appli_s_name => 'XLA'
55793 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
55794 ,p_token_1 => 'LINE_NUMBER'
55795 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
55796 ,p_token_2 => 'LINE_TYPE_NAME'
55797 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
55798 l_component_type
55799 ,l_component_code
55800 ,l_component_type_code
55801 ,l_component_appl_id
55802 ,l_amb_context_code
55803 ,l_entity_code
55804 ,l_event_class_code
55805 )
55806 ,p_token_3 => 'OWNER'
55807 ,p_value_3 => xla_lookups_pkg.get_meaning(
55808 p_lookup_type => 'XLA_OWNER_TYPE'
55809 ,p_lookup_code => l_component_type_code
55810 )
55811 ,p_token_4 => 'PRODUCT_NAME'
55812 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
55813 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
55814 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
55815 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
55816 ,p_ae_header_id => NULL
55817 );
55818
55819 IF (C_LEVEL_ERROR>= g_log_level) THEN
55820 trace
55821 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
55822 ,p_level => C_LEVEL_ERROR
55823 ,p_module => l_log_module);
55824 END IF;
55825 END IF;
55826 END IF;
55827 --
55828 --
55829 ------------------------------------------------------------------------------------------------
55830 -- 4219869 Business Flow
55831 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
55832 -- Prior Entry. Currently, the following code is always generated.
55833 ------------------------------------------------------------------------------------------------
55834 XLA_AE_LINES_PKG.ValidateCurrentLine;
55835
55836 ------------------------------------------------------------------------------------
55837 -- 4219869 Business Flow
55838 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
55839 ------------------------------------------------------------------------------------
55840 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
55841
55842 ----------------------------------------------------------------------------------
55843 -- 4219869 Business Flow
55844 -- Update journal entry status -- Need to generate this within IF <condition>
55845 ----------------------------------------------------------------------------------
55846 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
55847 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
55848 ,p_balance_type_code => l_balance_type_code
55849 );
55850
55851 -------------------------------------------------------------------------------------------
55852 -- 4262811 - Generate the Accrual Reversal lines
55853 -------------------------------------------------------------------------------------------
55854 BEGIN
55855 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
55856 (g_array_event(p_event_id).array_value_num('header_index'));
55857 IF l_acc_rev_flag IS NULL THEN
55858 l_acc_rev_flag := 'N';
55859 END IF;
55860 EXCEPTION
55861 WHEN OTHERS THEN
55862 l_acc_rev_flag := 'N';
55863 END;
55864 --
55865 IF (l_acc_rev_flag = 'Y') THEN
55866
55867 -- 4645092 ------------------------------------------------------------------------------
55868 -- To allow MPA report to determine if it should generate report process
55869 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
55873 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
55870 ------------------------------------------------------------------------------------------
55871
55872 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
55874 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
55875 -- call ADRs
55876 -- Bug 4922099
55877 --
55878 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
55879 (NVL(l_actual_upg_option, 'N') = 'O') OR
55880 (NVL(l_enc_upg_option, 'N') = 'O')
55881 )
55882 THEN
55883 NULL;
55884 --
55885 --
55886
55887 l_ccid := AcctDerRule_43(
55888 p_application_id => p_application_id
55889 , p_ae_header_id => l_ae_header_id
55890 , p_source_10 => p_source_10
55891 , p_source_10_meaning => p_source_10_meaning
55892 , p_source_25 => p_source_25
55893 , p_source_45 => p_source_45
55894 , x_transaction_coa_id => l_adr_transaction_coa_id
55895 , x_accounting_coa_id => l_adr_accounting_coa_id
55896 , x_value_type_code => l_adr_value_type_code
55897 , p_side => 'NA'
55898 );
55899
55900 xla_ae_lines_pkg.set_ccid(
55901 p_code_combination_id => l_ccid
55902 , p_value_type_code => l_adr_value_type_code
55903 , p_transaction_coa_id => l_adr_transaction_coa_id
55904 , p_accounting_coa_id => l_adr_accounting_coa_id
55905 , p_adr_code => 'AP_ROUNDING'
55906 , p_adr_type_code => 'S'
55907 , p_component_type => l_component_type
55908 , p_component_code => l_component_code
55909 , p_component_type_code => l_component_type_code
55910 , p_component_appl_id => l_component_appl_id
55911 , p_amb_context_code => l_amb_context_code
55912 , p_side => 'NA'
55913 );
55914
55915
55916 --
55917 --
55918 END IF;
55919
55920 --
55921 -- Update the line information that should be overwritten
55922 --
55923 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
55924 p_header_num => 1);
55925 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
55926
55927 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
55928
55929 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
55930 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
55931 END IF;
55932
55933 --
55934 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
55935 --
55936 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
55937 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
55938 ELSE
55939 ---------------------------------------------------------------------------------------------------
55940 -- 4262811a Switch Sign
55941 ---------------------------------------------------------------------------------------------------
55942 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
55943 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
55944 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
55945 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
55946 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
55947 -- 5132302
55948 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
55949 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
55950
55951 END IF;
55952
55953 -- 4955764
55954 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
55955 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
55956
55957
55958 XLA_AE_LINES_PKG.ValidateCurrentLine;
55959 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
55960
55961 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
55962 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
55963 ,p_balance_type_code => l_balance_type_code);
55964
55965 END IF;
55966
55967 -----------------------------------------------------------------------------------------
55968 -- 4262811 Multiperiod Accounting
55969 -----------------------------------------------------------------------------------------
55970 -- No MPA option is assigned.
55971
55972
55973 END IF;
55974 END IF;
55975 --
55976
55977 --
55978 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
55979 trace
55980 (p_msg => 'END of AcctLineType_120'
55981 ,p_level => C_LEVEL_PROCEDURE
55982 ,p_module => l_log_module);
55983 END IF;
55984 --
55985 EXCEPTION
55986 WHEN xla_exceptions_pkg.application_exception THEN
55987 RAISE;
55988 WHEN OTHERS THEN
55989 xla_exceptions_pkg.raise_message
55993
55990 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_120');
55991 END AcctLineType_120;
55992 --
55994 ---------------------------------------
55995 --
55996 -- PRIVATE FUNCTION
55997 -- AcctLineType_121
55998 --
55999 ---------------------------------------
56000 PROCEDURE AcctLineType_121 (
56001 p_application_id IN NUMBER
56002 ,p_event_id IN NUMBER
56003 ,p_calculate_acctd_flag IN VARCHAR2
56004 ,p_calculate_g_l_flag IN VARCHAR2
56005 ,p_actual_flag IN OUT VARCHAR2
56006 ,p_balance_type_code OUT VARCHAR2
56007 ,p_gain_or_loss_ref OUT VARCHAR2
56008
56009 --Automatic Offsets Value
56010 , p_source_10 IN VARCHAR2
56011 , p_source_10_meaning IN VARCHAR2
56012 --Invoice Distribution Account
56013 , p_source_25 IN NUMBER
56014 --Payables Options Rounding Account
56015 , p_source_45 IN NUMBER
56016 --When to Account for Payment Option
56017 , p_source_57 IN VARCHAR2
56018 --Accounting Reversal Indicator
56019 , p_source_58 IN VARCHAR2
56020 --Distribution Link Type
56021 , p_source_60 IN VARCHAR2
56022 --Invoice Currency Code
56023 , p_source_72 IN VARCHAR2
56024 --Override Accounted Amount Indicator
56025 , p_source_85 IN VARCHAR2
56026 , p_source_85_meaning IN VARCHAR2
56027 --Third Party Type
56028 , p_source_88 IN VARCHAR2
56029 --Invoice Distribution Tax Line Identifier
56030 , p_source_91 IN NUMBER
56031 --Invoice Distribution Summary Tax Line Identifier
56032 , p_source_93 IN NUMBER
56033 --Business Flow Accounts Payable Application Identifier
56034 , p_source_96 IN NUMBER
56035 --Payment Distribution Type
56036 , p_source_101 IN VARCHAR2
56037 , p_source_101_meaning IN VARCHAR2
56038 --Payment Distribution Amount
56039 , p_source_102 IN NUMBER
56040 --Business Flow Payment Distribution Type
56041 , p_source_103 IN VARCHAR2
56042 --Business Flow Payment Entity Code
56043 , p_source_104 IN VARCHAR2
56044 --Business Flow Payment Distribution Identifier
56045 , p_source_105 IN NUMBER
56046 --Business Flow Payment Identifier
56047 , p_source_106 IN NUMBER
56048 --Payment Distribution Identifier
56049 , p_source_107 IN NUMBER
56050 --Payment Supplier Identifier
56051 , p_source_113 IN NUMBER
56052 --Payment Supplier Site Identifier
56053 , p_source_114 IN NUMBER
56054 --Payment Distribution Reversed Identifier
56055 , p_source_115 IN NUMBER
56056 --Payment Distribution (Invoice Rate) Ledger Amount
56057 , p_source_119 IN NUMBER
56058 --Invoice Exchange Date
56059 , p_source_146 IN DATE
56060 --Invoice Exchange Rate
56061 , p_source_147 IN NUMBER
56062 --Invoice Exchange Rate Type
56063 , p_source_148 IN VARCHAR2
56064 )
56065 IS
56066
56067 l_component_type VARCHAR2(80);
56068 l_component_code VARCHAR2(30);
56069 l_component_type_code VARCHAR2(1);
56070 l_component_appl_id INTEGER;
56071 l_amb_context_code VARCHAR2(30);
56072 l_entity_code VARCHAR2(30);
56073 l_event_class_code VARCHAR2(30);
56074 l_ae_header_id NUMBER;
56075 l_event_type_code VARCHAR2(30);
56076 l_line_definition_code VARCHAR2(30);
56077 l_line_definition_owner_code VARCHAR2(1);
56078 --
56079 -- adr variables
56080 l_segment VARCHAR2(30);
56081 l_ccid NUMBER;
56082 l_adr_transaction_coa_id NUMBER;
56083 l_adr_accounting_coa_id NUMBER;
56084 l_adr_flexfield_segment_code VARCHAR2(30);
56085 l_adr_flex_value_set_id NUMBER;
56086 l_adr_value_type_code VARCHAR2(30);
56087 l_adr_value_combination_id NUMBER;
56088 l_adr_value_segment_code VARCHAR2(30);
56089
56090 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
56091 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
56092 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
56093 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
56094
56095 -- 4262811 Variables ------------------------------------------------------------------------------------------
56096 l_entered_amt_idx NUMBER;
56097 l_accted_amt_idx NUMBER;
56098 l_acc_rev_flag VARCHAR2(1);
56099 l_accrual_line_num NUMBER;
56100 l_tmp_amt NUMBER;
56101 l_acc_rev_natural_side_code VARCHAR2(1);
56102
56103 l_num_entries NUMBER;
56104 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
56105 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
56106 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
56107 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
56108 l_recog_line_1 NUMBER;
56109 l_recog_line_2 NUMBER;
56110
56111 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
56112 l_bflow_applied_to_amt NUMBER; -- 5132302
56113 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
56114
56115 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
56116
56120 ---------------------------------------------------------------------------------------------------------------
56117 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
56118 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
56119
56121
56122
56123 --
56124 -- bulk performance
56125 --
56126 l_balance_type_code VARCHAR2(1);
56127 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
56128 l_log_module VARCHAR2(240);
56129
56130 --
56131 -- Upgrade strategy
56132 --
56133 l_actual_upg_option VARCHAR2(1);
56134 l_enc_upg_option VARCHAR2(1);
56135
56136 --
56137 BEGIN
56138 --
56139 IF g_log_enabled THEN
56140 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_121';
56141 END IF;
56142 --
56143 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
56144
56145 trace
56146 (p_msg => 'BEGIN of AcctLineType_121'
56147 ,p_level => C_LEVEL_PROCEDURE
56148 ,p_module => l_log_module);
56149
56150 END IF;
56151 --
56152 l_component_type := 'AMB_JLT';
56153 l_component_code := 'AP_FINAL_PMT_ROUNDING_CLEAR';
56154 l_component_type_code := 'S';
56155 l_component_appl_id := 200;
56156 l_amb_context_code := 'DEFAULT';
56157 l_entity_code := 'AP_PAYMENTS';
56158 l_event_class_code := 'RECONCILED PAYMENTS';
56159 l_event_type_code := 'RECONCILED PAYMENTS_ALL';
56160 l_line_definition_owner_code := 'S';
56161 l_line_definition_code := 'ACCRUAL_RECONCILED PAYMENTS_A4';
56162 --
56163 l_balance_type_code := 'A';
56164 l_segment := NULL;
56165 l_ccid := NULL;
56166 l_adr_transaction_coa_id := NULL;
56167 l_adr_accounting_coa_id := NULL;
56168 l_adr_flexfield_segment_code := NULL;
56169 l_adr_flex_value_set_id := NULL;
56170 l_adr_value_type_code := NULL;
56171 l_adr_value_combination_id := NULL;
56172 l_adr_value_segment_code := NULL;
56173
56174 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
56175 l_bflow_class_code := ''; -- 4219869 Business Flow
56176 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
56177 l_budgetary_control_flag := 'N';
56178
56179 l_bflow_applied_to_amt_idx := NULL; -- 5132302
56180 l_bflow_applied_to_amt := NULL; -- 5132302
56181 l_entered_amt_idx := NULL; -- 4262811
56182 l_accted_amt_idx := NULL; -- 4262811
56183 l_acc_rev_flag := NULL; -- 4262811
56184 l_accrual_line_num := NULL; -- 4262811
56185 l_tmp_amt := NULL; -- 4262811
56186 --
56187
56188 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
56189 l_balance_type_code <> 'B' THEN
56190 IF NVL(p_source_57,'
56191 ') = 'CLEAR_CLEAR' AND
56192 NVL(p_source_101,'
56193 ') = 'FINAL PAYMENT ROUNDING'
56194 THEN
56195
56196 --
56197 XLA_AE_LINES_PKG.SetNewLine;
56198
56199 p_balance_type_code := l_balance_type_code;
56200 -- set the flag so later we will know whether the gain loss line needs to be created
56201
56202 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
56203 p_actual_flag :='A';
56204 END IF;
56205
56206 --
56207 -- bulk performance
56208 --
56209 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
56210 p_header_num => 0); -- 4262811
56211 --
56212 -- set accounting line options
56213 --
56214 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
56215 p_natural_side_code => 'D'
56216 , p_gain_or_loss_flag => 'N'
56217 , p_gl_transfer_mode_code => 'S'
56218 , p_acct_entry_type_code => 'A'
56219 , p_switch_side_flag => 'Y'
56220 , p_merge_duplicate_code => 'A'
56221 );
56222 --
56223 l_acc_rev_natural_side_code := 'C'; -- 4262811
56224 --
56225 --
56226 -- set accounting line type info
56227 --
56228 xla_ae_lines_pkg.SetAcctLineType
56229 (p_component_type => l_component_type
56230 ,p_event_type_code => l_event_type_code
56231 ,p_line_definition_owner_code => l_line_definition_owner_code
56232 ,p_line_definition_code => l_line_definition_code
56233 ,p_accounting_line_code => l_component_code
56234 ,p_accounting_line_type_code => l_component_type_code
56235 ,p_accounting_line_appl_id => l_component_appl_id
56236 ,p_amb_context_code => l_amb_context_code
56237 ,p_entity_code => l_entity_code
56238 ,p_event_class_code => l_event_class_code);
56239 --
56240 -- set accounting class
56241 --
56242 xla_ae_lines_pkg.SetAcctClass(
56243 p_accounting_class_code => 'ROUNDING'
56244 , p_ae_header_id => l_ae_header_id
56245 );
56246
56247 --
56248 -- set rounding class
56249 --
56250 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
56251 'ROUNDING';
56255 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
56252
56253 --
56254 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
56256 --
56257 -- bulk performance
56258 --
56259 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
56260
56261 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
56262 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
56263
56264 -- 4955764
56265 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
56266 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
56267
56268 -- 4458381 Public Sector Enh
56269
56270 --
56271 -- set accounting attributes for the line type
56272 --
56273 l_entered_amt_idx := 10;
56274 l_accted_amt_idx := 15;
56275 l_bflow_applied_to_amt_idx := 2; -- 5132302
56276 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
56277 l_rec_acct_attrs.array_char_value(1) := p_source_58;
56278 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
56279 l_rec_acct_attrs.array_num_value(2) := p_source_102;
56280 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
56281 l_rec_acct_attrs.array_num_value(3) := p_source_96;
56282 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
56283 l_rec_acct_attrs.array_char_value(4) := p_source_103;
56284 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
56285 l_rec_acct_attrs.array_char_value(5) := p_source_104;
56286 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
56287 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_105);
56288 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
56289 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_106);
56290 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
56291 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_107);
56292 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
56293 l_rec_acct_attrs.array_char_value(9) := p_source_60;
56294 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
56295 l_rec_acct_attrs.array_num_value(10) := p_source_102;
56296 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
56297 l_rec_acct_attrs.array_char_value(11) := p_source_72;
56298 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
56299 l_rec_acct_attrs.array_date_value(12) := p_source_146;
56300 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
56301 l_rec_acct_attrs.array_num_value(13) := p_source_147;
56302 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
56303 l_rec_acct_attrs.array_char_value(14) := p_source_148;
56304 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
56305 l_rec_acct_attrs.array_num_value(15) := p_source_119;
56306 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
56307 l_rec_acct_attrs.array_char_value(16) := p_source_85;
56308 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
56309 l_rec_acct_attrs.array_num_value(17) := p_source_113;
56310 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
56311 l_rec_acct_attrs.array_num_value(18) := p_source_114;
56312 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
56313 l_rec_acct_attrs.array_char_value(19) := p_source_88;
56314 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
56315 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_115);
56316 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
56317 l_rec_acct_attrs.array_char_value(21) := p_source_60;
56318 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
56319 l_rec_acct_attrs.array_num_value(22) := p_source_91;
56320 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
56321 l_rec_acct_attrs.array_num_value(23) := p_source_91;
56322 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
56323 l_rec_acct_attrs.array_num_value(24) := p_source_93;
56324
56325 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
56326 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
56327
56328 ---------------------------------------------------------------------------------------------------------------
56329 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
56330 ---------------------------------------------------------------------------------------------------------------
56331 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
56332
56333 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
56334 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
56335
56336 IF xla_accounting_cache_pkg.GetValueChar
56337 (p_source_code => 'LEDGER_CATEGORY_CODE'
56338 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
56339 AND l_bflow_method_code = 'PRIOR_ENTRY'
56340 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
56344 THEN
56341 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
56342 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
56343 )
56345 xla_ae_lines_pkg.BflowUpgEntry
56346 (p_business_method_code => l_bflow_method_code
56347 ,p_business_class_code => l_bflow_class_code
56348 ,p_balance_type => l_balance_type_code);
56349 ELSE
56350 NULL;
56351 -- No business flow processing for business flow method of NONE.
56352 END IF;
56353
56354 --
56355 -- call analytical criteria
56356 --
56357
56358 --
56359 -- call description
56360 --
56361 -- No description or it is inherited.
56362 --
56363 -- call ADRs
56364 -- Bug 4922099
56365 --
56366 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
56367 (NVL(l_actual_upg_option, 'N') = 'O') OR
56368 (NVL(l_enc_upg_option, 'N') = 'O')
56369 )
56370 THEN
56371 NULL;
56372 --
56373 --
56374
56375 l_ccid := AcctDerRule_43(
56376 p_application_id => p_application_id
56377 , p_ae_header_id => l_ae_header_id
56378 , p_source_10 => p_source_10
56379 , p_source_10_meaning => p_source_10_meaning
56380 , p_source_25 => p_source_25
56381 , p_source_45 => p_source_45
56382 , x_transaction_coa_id => l_adr_transaction_coa_id
56383 , x_accounting_coa_id => l_adr_accounting_coa_id
56384 , x_value_type_code => l_adr_value_type_code
56385 , p_side => 'NA'
56386 );
56387
56388 xla_ae_lines_pkg.set_ccid(
56389 p_code_combination_id => l_ccid
56390 , p_value_type_code => l_adr_value_type_code
56391 , p_transaction_coa_id => l_adr_transaction_coa_id
56392 , p_accounting_coa_id => l_adr_accounting_coa_id
56393 , p_adr_code => 'AP_ROUNDING'
56394 , p_adr_type_code => 'S'
56395 , p_component_type => l_component_type
56396 , p_component_code => l_component_code
56397 , p_component_type_code => l_component_type_code
56398 , p_component_appl_id => l_component_appl_id
56399 , p_amb_context_code => l_amb_context_code
56400 , p_side => 'NA'
56401 );
56402
56403
56404 --
56405 --
56406 END IF;
56407 --
56408 -- Bug 4922099
56409 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
56410 (NVL(l_enc_upg_option, 'N') = 'O')
56411 ) AND
56412 (l_bflow_method_code = 'PRIOR_ENTRY')
56413 )
56414 THEN
56415 IF
56416 --
56417 1 = 2
56418 --
56419 THEN
56420 xla_accounting_err_pkg.build_message
56421 (p_appli_s_name => 'XLA'
56422 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
56423 ,p_token_1 => 'LINE_NUMBER'
56424 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
56425 ,p_token_2 => 'LINE_TYPE_NAME'
56426 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
56427 l_component_type
56428 ,l_component_code
56429 ,l_component_type_code
56430 ,l_component_appl_id
56431 ,l_amb_context_code
56432 ,l_entity_code
56433 ,l_event_class_code
56434 )
56435 ,p_token_3 => 'OWNER'
56436 ,p_value_3 => xla_lookups_pkg.get_meaning(
56437 p_lookup_type => 'XLA_OWNER_TYPE'
56438 ,p_lookup_code => l_component_type_code
56439 )
56440 ,p_token_4 => 'PRODUCT_NAME'
56441 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
56442 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
56443 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
56444 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
56445 ,p_ae_header_id => NULL
56446 );
56447
56448 IF (C_LEVEL_ERROR>= g_log_level) THEN
56449 trace
56450 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
56451 ,p_level => C_LEVEL_ERROR
56455 END IF;
56452 ,p_module => l_log_module);
56453 END IF;
56454 END IF;
56456 --
56457 --
56458 ------------------------------------------------------------------------------------------------
56459 -- 4219869 Business Flow
56460 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
56461 -- Prior Entry. Currently, the following code is always generated.
56462 ------------------------------------------------------------------------------------------------
56463 XLA_AE_LINES_PKG.ValidateCurrentLine;
56464
56465 ------------------------------------------------------------------------------------
56466 -- 4219869 Business Flow
56467 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
56468 ------------------------------------------------------------------------------------
56469 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
56470
56471 ----------------------------------------------------------------------------------
56472 -- 4219869 Business Flow
56473 -- Update journal entry status -- Need to generate this within IF <condition>
56474 ----------------------------------------------------------------------------------
56475 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
56476 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
56477 ,p_balance_type_code => l_balance_type_code
56478 );
56479
56480 -------------------------------------------------------------------------------------------
56481 -- 4262811 - Generate the Accrual Reversal lines
56482 -------------------------------------------------------------------------------------------
56483 BEGIN
56484 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
56485 (g_array_event(p_event_id).array_value_num('header_index'));
56486 IF l_acc_rev_flag IS NULL THEN
56487 l_acc_rev_flag := 'N';
56488 END IF;
56489 EXCEPTION
56490 WHEN OTHERS THEN
56491 l_acc_rev_flag := 'N';
56492 END;
56493 --
56494 IF (l_acc_rev_flag = 'Y') THEN
56495
56496 -- 4645092 ------------------------------------------------------------------------------
56497 -- To allow MPA report to determine if it should generate report process
56498 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
56499 ------------------------------------------------------------------------------------------
56500
56501 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
56502 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
56503 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
56504 -- call ADRs
56505 -- Bug 4922099
56506 --
56507 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
56508 (NVL(l_actual_upg_option, 'N') = 'O') OR
56509 (NVL(l_enc_upg_option, 'N') = 'O')
56510 )
56511 THEN
56512 NULL;
56513 --
56514 --
56515
56516 l_ccid := AcctDerRule_43(
56517 p_application_id => p_application_id
56518 , p_ae_header_id => l_ae_header_id
56519 , p_source_10 => p_source_10
56520 , p_source_10_meaning => p_source_10_meaning
56521 , p_source_25 => p_source_25
56522 , p_source_45 => p_source_45
56523 , x_transaction_coa_id => l_adr_transaction_coa_id
56524 , x_accounting_coa_id => l_adr_accounting_coa_id
56525 , x_value_type_code => l_adr_value_type_code
56526 , p_side => 'NA'
56527 );
56528
56529 xla_ae_lines_pkg.set_ccid(
56530 p_code_combination_id => l_ccid
56531 , p_value_type_code => l_adr_value_type_code
56532 , p_transaction_coa_id => l_adr_transaction_coa_id
56533 , p_accounting_coa_id => l_adr_accounting_coa_id
56534 , p_adr_code => 'AP_ROUNDING'
56535 , p_adr_type_code => 'S'
56536 , p_component_type => l_component_type
56537 , p_component_code => l_component_code
56538 , p_component_type_code => l_component_type_code
56539 , p_component_appl_id => l_component_appl_id
56540 , p_amb_context_code => l_amb_context_code
56541 , p_side => 'NA'
56542 );
56543
56544
56545 --
56546 --
56547 END IF;
56548
56549 --
56550 -- Update the line information that should be overwritten
56551 --
56552 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
56553 p_header_num => 1);
56554 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
56555
56556 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
56557
56558 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
56559 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
56560 END IF;
56561
56562 --
56563 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
56564 --
56565 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
56566 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
56567 ELSE
56571 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
56568 ---------------------------------------------------------------------------------------------------
56569 -- 4262811a Switch Sign
56570 ---------------------------------------------------------------------------------------------------
56572 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
56573 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
56574 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
56575 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
56576 -- 5132302
56577 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
56578 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
56579
56580 END IF;
56581
56582 -- 4955764
56583 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
56584 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
56585
56586
56587 XLA_AE_LINES_PKG.ValidateCurrentLine;
56588 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
56589
56590 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
56591 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
56592 ,p_balance_type_code => l_balance_type_code);
56593
56594 END IF;
56595
56596 -----------------------------------------------------------------------------------------
56597 -- 4262811 Multiperiod Accounting
56598 -----------------------------------------------------------------------------------------
56599 -- No MPA option is assigned.
56600
56601
56602 END IF;
56603 END IF;
56604 --
56605
56606 --
56607 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
56608 trace
56609 (p_msg => 'END of AcctLineType_121'
56610 ,p_level => C_LEVEL_PROCEDURE
56611 ,p_module => l_log_module);
56612 END IF;
56613 --
56614 EXCEPTION
56615 WHEN xla_exceptions_pkg.application_exception THEN
56616 RAISE;
56617 WHEN OTHERS THEN
56618 xla_exceptions_pkg.raise_message
56619 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_121');
56620 END AcctLineType_121;
56621 --
56622
56623 ---------------------------------------
56624 --
56625 -- PRIVATE FUNCTION
56626 -- AcctLineType_122
56627 --
56628 ---------------------------------------
56629 PROCEDURE AcctLineType_122 (
56630 p_application_id IN NUMBER
56631 ,p_event_id IN NUMBER
56632 ,p_calculate_acctd_flag IN VARCHAR2
56633 ,p_calculate_g_l_flag IN VARCHAR2
56634 ,p_actual_flag IN OUT VARCHAR2
56635 ,p_balance_type_code OUT VARCHAR2
56636 ,p_gain_or_loss_ref OUT VARCHAR2
56637
56638 --Automatic Offsets Value
56639 , p_source_10 IN VARCHAR2
56640 , p_source_10_meaning IN VARCHAR2
56641 --Invoice Distribution Account
56642 , p_source_25 IN NUMBER
56643 --Payables Options Rounding Account
56644 , p_source_45 IN NUMBER
56645 --When to Account for Payment Option
56646 , p_source_57 IN VARCHAR2
56647 --Accounting Reversal Indicator
56648 , p_source_58 IN VARCHAR2
56649 --Distribution Link Type
56650 , p_source_60 IN VARCHAR2
56651 --Invoice Currency Code
56652 , p_source_72 IN VARCHAR2
56653 --Override Accounted Amount Indicator
56654 , p_source_85 IN VARCHAR2
56655 , p_source_85_meaning IN VARCHAR2
56656 --Third Party Type
56657 , p_source_88 IN VARCHAR2
56658 --Invoice Distribution Tax Line Identifier
56659 , p_source_91 IN NUMBER
56660 --Invoice Distribution Tax Distribution Identifier from Tax
56661 , p_source_92 IN NUMBER
56662 --Invoice Distribution Summary Tax Line Identifier
56663 , p_source_93 IN NUMBER
56664 --Business Flow Accounts Payable Application Identifier
56665 , p_source_96 IN NUMBER
56666 --Business Flow Invoice Distribution Type
56667 , p_source_97 IN VARCHAR2
56668 --Business Flow Invoice Entity Code
56669 , p_source_98 IN VARCHAR2
56670 --Business Flow Invoice Distribution Identifier
56671 , p_source_99 IN NUMBER
56672 --Business Flow Invoice Identifier
56673 , p_source_100 IN NUMBER
56674 --Payment Distribution Type
56675 , p_source_101 IN VARCHAR2
56676 , p_source_101_meaning IN VARCHAR2
56677 --Payment Distribution Amount
56678 , p_source_102 IN NUMBER
56679 --Payment Distribution Identifier
56680 , p_source_107 IN NUMBER
56681 --Payment Supplier Identifier
56682 , p_source_113 IN NUMBER
56683 --Payment Supplier Site Identifier
56684 , p_source_114 IN NUMBER
56685 --Payment Distribution Reversed Identifier
56686 , p_source_115 IN NUMBER
56687 --Payment Distribution (Invoice Rate) Ledger Amount
56688 , p_source_119 IN NUMBER
56689 --Payment Type
56690 , p_source_125 IN VARCHAR2
56691 , p_source_125_meaning IN VARCHAR2
56692 --Payment Processing Type
56693 , p_source_126 IN VARCHAR2
56694 --Invoice Distribution Amount of the Payment Distribution
56698 --Invoice Exchange Rate
56695 , p_source_127 IN NUMBER
56696 --Invoice Exchange Date
56697 , p_source_146 IN DATE
56699 , p_source_147 IN NUMBER
56700 --Invoice Exchange Rate Type
56701 , p_source_148 IN VARCHAR2
56702 )
56703 IS
56704
56705 l_component_type VARCHAR2(80);
56706 l_component_code VARCHAR2(30);
56707 l_component_type_code VARCHAR2(1);
56708 l_component_appl_id INTEGER;
56709 l_amb_context_code VARCHAR2(30);
56710 l_entity_code VARCHAR2(30);
56711 l_event_class_code VARCHAR2(30);
56712 l_ae_header_id NUMBER;
56713 l_event_type_code VARCHAR2(30);
56714 l_line_definition_code VARCHAR2(30);
56715 l_line_definition_owner_code VARCHAR2(1);
56716 --
56717 -- adr variables
56718 l_segment VARCHAR2(30);
56719 l_ccid NUMBER;
56720 l_adr_transaction_coa_id NUMBER;
56721 l_adr_accounting_coa_id NUMBER;
56722 l_adr_flexfield_segment_code VARCHAR2(30);
56723 l_adr_flex_value_set_id NUMBER;
56724 l_adr_value_type_code VARCHAR2(30);
56725 l_adr_value_combination_id NUMBER;
56726 l_adr_value_segment_code VARCHAR2(30);
56727
56728 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
56729 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
56730 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
56731 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
56732
56733 -- 4262811 Variables ------------------------------------------------------------------------------------------
56734 l_entered_amt_idx NUMBER;
56735 l_accted_amt_idx NUMBER;
56736 l_acc_rev_flag VARCHAR2(1);
56737 l_accrual_line_num NUMBER;
56738 l_tmp_amt NUMBER;
56739 l_acc_rev_natural_side_code VARCHAR2(1);
56740
56741 l_num_entries NUMBER;
56742 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
56743 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
56744 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
56745 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
56746 l_recog_line_1 NUMBER;
56747 l_recog_line_2 NUMBER;
56748
56749 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
56750 l_bflow_applied_to_amt NUMBER; -- 5132302
56751 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
56752
56753 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
56754
56755 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
56756 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
56757
56758 ---------------------------------------------------------------------------------------------------------------
56759
56760
56761 --
56762 -- bulk performance
56763 --
56764 l_balance_type_code VARCHAR2(1);
56765 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
56766 l_log_module VARCHAR2(240);
56767
56768 --
56769 -- Upgrade strategy
56770 --
56771 l_actual_upg_option VARCHAR2(1);
56772 l_enc_upg_option VARCHAR2(1);
56773
56774 --
56775 BEGIN
56776 --
56777 IF g_log_enabled THEN
56778 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_122';
56779 END IF;
56780 --
56781 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
56782
56783 trace
56784 (p_msg => 'BEGIN of AcctLineType_122'
56785 ,p_level => C_LEVEL_PROCEDURE
56786 ,p_module => l_log_module);
56787
56788 END IF;
56789 --
56790 l_component_type := 'AMB_JLT';
56791 l_component_code := 'AP_FINAL_PMT_ROUNDING_PMT';
56792 l_component_type_code := 'S';
56793 l_component_appl_id := 200;
56794 l_amb_context_code := 'DEFAULT';
56795 l_entity_code := 'AP_PAYMENTS';
56796 l_event_class_code := 'PAYMENTS';
56797 l_event_type_code := 'PAYMENTS_ALL';
56798 l_line_definition_owner_code := 'S';
56799 l_line_definition_code := 'ACCRUAL_PAYMENTS_ALL';
56800 --
56801 l_balance_type_code := 'A';
56802 l_segment := NULL;
56803 l_ccid := NULL;
56804 l_adr_transaction_coa_id := NULL;
56805 l_adr_accounting_coa_id := NULL;
56806 l_adr_flexfield_segment_code := NULL;
56807 l_adr_flex_value_set_id := NULL;
56808 l_adr_value_type_code := NULL;
56809 l_adr_value_combination_id := NULL;
56810 l_adr_value_segment_code := NULL;
56811
56812 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
56813 l_bflow_class_code := ''; -- 4219869 Business Flow
56814 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
56815 l_budgetary_control_flag := 'N';
56816
56817 l_bflow_applied_to_amt_idx := NULL; -- 5132302
56818 l_bflow_applied_to_amt := NULL; -- 5132302
56819 l_entered_amt_idx := NULL; -- 4262811
56820 l_accted_amt_idx := NULL; -- 4262811
56821 l_acc_rev_flag := NULL; -- 4262811
56822 l_accrual_line_num := NULL; -- 4262811
56826 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
56823 l_tmp_amt := NULL; -- 4262811
56824 --
56825
56827 l_balance_type_code <> 'B' THEN
56828 IF NVL(p_source_57,'
56829 ') <> 'CLEAR_CLEAR' AND
56830 NVL(p_source_101,'
56831 ') = 'FINAL PAYMENT ROUNDING' AND
56832 NVL(p_source_125,'
56833 ') <> 'R' AND
56834 NVL(p_source_126,'
56835 ') <> 'PAYMENTCARD'
56836 THEN
56837
56838 --
56839 XLA_AE_LINES_PKG.SetNewLine;
56840
56841 p_balance_type_code := l_balance_type_code;
56842 -- set the flag so later we will know whether the gain loss line needs to be created
56843
56844 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
56845 p_actual_flag :='A';
56846 END IF;
56847
56848 --
56849 -- bulk performance
56850 --
56851 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
56852 p_header_num => 0); -- 4262811
56853 --
56854 -- set accounting line options
56855 --
56856 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
56857 p_natural_side_code => 'D'
56858 , p_gain_or_loss_flag => 'N'
56859 , p_gl_transfer_mode_code => 'S'
56860 , p_acct_entry_type_code => 'A'
56861 , p_switch_side_flag => 'Y'
56862 , p_merge_duplicate_code => 'A'
56863 );
56864 --
56865 l_acc_rev_natural_side_code := 'C'; -- 4262811
56866 --
56867 --
56868 -- set accounting line type info
56869 --
56870 xla_ae_lines_pkg.SetAcctLineType
56871 (p_component_type => l_component_type
56872 ,p_event_type_code => l_event_type_code
56873 ,p_line_definition_owner_code => l_line_definition_owner_code
56874 ,p_line_definition_code => l_line_definition_code
56875 ,p_accounting_line_code => l_component_code
56876 ,p_accounting_line_type_code => l_component_type_code
56877 ,p_accounting_line_appl_id => l_component_appl_id
56878 ,p_amb_context_code => l_amb_context_code
56879 ,p_entity_code => l_entity_code
56880 ,p_event_class_code => l_event_class_code);
56881 --
56882 -- set accounting class
56883 --
56884 xla_ae_lines_pkg.SetAcctClass(
56885 p_accounting_class_code => 'ROUNDING'
56886 , p_ae_header_id => l_ae_header_id
56887 );
56888
56889 --
56890 -- set rounding class
56891 --
56892 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
56893 'ROUNDING';
56894
56895 --
56896 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
56897 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
56898 --
56899 -- bulk performance
56900 --
56901 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
56902
56903 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
56904 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
56905
56906 -- 4955764
56907 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
56908 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
56909
56910 -- 4458381 Public Sector Enh
56911
56912 --
56913 -- set accounting attributes for the line type
56914 --
56915 l_entered_amt_idx := 10;
56916 l_accted_amt_idx := 15;
56917 l_bflow_applied_to_amt_idx := 2; -- 5132302
56918 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
56919 l_rec_acct_attrs.array_char_value(1) := p_source_58;
56920 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
56921 l_rec_acct_attrs.array_num_value(2) := p_source_127;
56922 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
56923 l_rec_acct_attrs.array_num_value(3) := p_source_96;
56924 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
56925 l_rec_acct_attrs.array_char_value(4) := p_source_97;
56926 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
56927 l_rec_acct_attrs.array_char_value(5) := p_source_98;
56928 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
56929 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_99);
56930 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
56931 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_100);
56932 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
56933 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_107);
56934 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
56935 l_rec_acct_attrs.array_char_value(9) := p_source_60;
56936 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
56937 l_rec_acct_attrs.array_num_value(10) := p_source_102;
56938 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
56939 l_rec_acct_attrs.array_char_value(11) := p_source_72;
56940 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
56944 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
56941 l_rec_acct_attrs.array_date_value(12) := p_source_146;
56942 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
56943 l_rec_acct_attrs.array_num_value(13) := p_source_147;
56945 l_rec_acct_attrs.array_char_value(14) := p_source_148;
56946 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
56947 l_rec_acct_attrs.array_num_value(15) := p_source_119;
56948 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
56949 l_rec_acct_attrs.array_char_value(16) := p_source_85;
56950 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
56951 l_rec_acct_attrs.array_num_value(17) := p_source_113;
56952 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
56953 l_rec_acct_attrs.array_num_value(18) := p_source_114;
56954 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
56955 l_rec_acct_attrs.array_char_value(19) := p_source_88;
56956 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
56957 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_115);
56958 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
56959 l_rec_acct_attrs.array_char_value(21) := p_source_60;
56960 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
56961 l_rec_acct_attrs.array_num_value(22) := p_source_91;
56962 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
56963 l_rec_acct_attrs.array_num_value(23) := p_source_92;
56964 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
56965 l_rec_acct_attrs.array_num_value(24) := p_source_93;
56966
56967 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
56968 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
56969
56970 ---------------------------------------------------------------------------------------------------------------
56971 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
56972 ---------------------------------------------------------------------------------------------------------------
56973 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
56974
56975 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
56976 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
56977
56978 IF xla_accounting_cache_pkg.GetValueChar
56979 (p_source_code => 'LEDGER_CATEGORY_CODE'
56980 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
56981 AND l_bflow_method_code = 'PRIOR_ENTRY'
56982 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
56983 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
56984 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
56985 )
56986 THEN
56987 xla_ae_lines_pkg.BflowUpgEntry
56988 (p_business_method_code => l_bflow_method_code
56989 ,p_business_class_code => l_bflow_class_code
56990 ,p_balance_type => l_balance_type_code);
56991 ELSE
56992 NULL;
56993 -- No business flow processing for business flow method of NONE.
56994 END IF;
56995
56996 --
56997 -- call analytical criteria
56998 --
56999
57000 --
57001 -- call description
57002 --
57003 -- No description or it is inherited.
57004 --
57005 -- call ADRs
57006 -- Bug 4922099
57007 --
57008 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
57009 (NVL(l_actual_upg_option, 'N') = 'O') OR
57010 (NVL(l_enc_upg_option, 'N') = 'O')
57011 )
57012 THEN
57013 NULL;
57014 --
57015 --
57016
57017 l_ccid := AcctDerRule_43(
57018 p_application_id => p_application_id
57019 , p_ae_header_id => l_ae_header_id
57020 , p_source_10 => p_source_10
57021 , p_source_10_meaning => p_source_10_meaning
57022 , p_source_25 => p_source_25
57023 , p_source_45 => p_source_45
57024 , x_transaction_coa_id => l_adr_transaction_coa_id
57025 , x_accounting_coa_id => l_adr_accounting_coa_id
57026 , x_value_type_code => l_adr_value_type_code
57027 , p_side => 'NA'
57028 );
57029
57030 xla_ae_lines_pkg.set_ccid(
57031 p_code_combination_id => l_ccid
57032 , p_value_type_code => l_adr_value_type_code
57033 , p_transaction_coa_id => l_adr_transaction_coa_id
57034 , p_accounting_coa_id => l_adr_accounting_coa_id
57035 , p_adr_code => 'AP_ROUNDING'
57036 , p_adr_type_code => 'S'
57037 , p_component_type => l_component_type
57038 , p_component_code => l_component_code
57039 , p_component_type_code => l_component_type_code
57040 , p_component_appl_id => l_component_appl_id
57041 , p_amb_context_code => l_amb_context_code
57042 , p_side => 'NA'
57043 );
57044
57045
57046 --
57047 --
57048 END IF;
57049 --
57050 -- Bug 4922099
57051 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
57052 (NVL(l_enc_upg_option, 'N') = 'O')
57056 THEN
57053 ) AND
57054 (l_bflow_method_code = 'PRIOR_ENTRY')
57055 )
57057 IF
57058 --
57059 1 = 2
57060 --
57061 THEN
57062 xla_accounting_err_pkg.build_message
57063 (p_appli_s_name => 'XLA'
57064 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
57065 ,p_token_1 => 'LINE_NUMBER'
57066 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
57067 ,p_token_2 => 'LINE_TYPE_NAME'
57068 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
57069 l_component_type
57070 ,l_component_code
57071 ,l_component_type_code
57072 ,l_component_appl_id
57073 ,l_amb_context_code
57074 ,l_entity_code
57075 ,l_event_class_code
57076 )
57077 ,p_token_3 => 'OWNER'
57078 ,p_value_3 => xla_lookups_pkg.get_meaning(
57079 p_lookup_type => 'XLA_OWNER_TYPE'
57080 ,p_lookup_code => l_component_type_code
57081 )
57082 ,p_token_4 => 'PRODUCT_NAME'
57083 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
57084 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
57085 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
57086 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
57087 ,p_ae_header_id => NULL
57088 );
57089
57090 IF (C_LEVEL_ERROR>= g_log_level) THEN
57091 trace
57092 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
57093 ,p_level => C_LEVEL_ERROR
57094 ,p_module => l_log_module);
57095 END IF;
57096 END IF;
57097 END IF;
57098 --
57099 --
57100 ------------------------------------------------------------------------------------------------
57101 -- 4219869 Business Flow
57102 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
57103 -- Prior Entry. Currently, the following code is always generated.
57104 ------------------------------------------------------------------------------------------------
57105 XLA_AE_LINES_PKG.ValidateCurrentLine;
57106
57107 ------------------------------------------------------------------------------------
57108 -- 4219869 Business Flow
57109 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
57110 ------------------------------------------------------------------------------------
57111 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
57112
57113 ----------------------------------------------------------------------------------
57114 -- 4219869 Business Flow
57115 -- Update journal entry status -- Need to generate this within IF <condition>
57116 ----------------------------------------------------------------------------------
57117 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
57118 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
57119 ,p_balance_type_code => l_balance_type_code
57120 );
57121
57122 -------------------------------------------------------------------------------------------
57123 -- 4262811 - Generate the Accrual Reversal lines
57124 -------------------------------------------------------------------------------------------
57125 BEGIN
57126 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
57127 (g_array_event(p_event_id).array_value_num('header_index'));
57128 IF l_acc_rev_flag IS NULL THEN
57129 l_acc_rev_flag := 'N';
57130 END IF;
57131 EXCEPTION
57132 WHEN OTHERS THEN
57133 l_acc_rev_flag := 'N';
57134 END;
57135 --
57136 IF (l_acc_rev_flag = 'Y') THEN
57137
57138 -- 4645092 ------------------------------------------------------------------------------
57139 -- To allow MPA report to determine if it should generate report process
57140 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
57141 ------------------------------------------------------------------------------------------
57142
57143 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
57144 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
57148 --
57145 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
57146 -- call ADRs
57147 -- Bug 4922099
57149 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
57150 (NVL(l_actual_upg_option, 'N') = 'O') OR
57151 (NVL(l_enc_upg_option, 'N') = 'O')
57152 )
57153 THEN
57154 NULL;
57155 --
57156 --
57157
57158 l_ccid := AcctDerRule_43(
57159 p_application_id => p_application_id
57160 , p_ae_header_id => l_ae_header_id
57161 , p_source_10 => p_source_10
57162 , p_source_10_meaning => p_source_10_meaning
57163 , p_source_25 => p_source_25
57164 , p_source_45 => p_source_45
57165 , x_transaction_coa_id => l_adr_transaction_coa_id
57166 , x_accounting_coa_id => l_adr_accounting_coa_id
57167 , x_value_type_code => l_adr_value_type_code
57168 , p_side => 'NA'
57169 );
57170
57171 xla_ae_lines_pkg.set_ccid(
57172 p_code_combination_id => l_ccid
57173 , p_value_type_code => l_adr_value_type_code
57174 , p_transaction_coa_id => l_adr_transaction_coa_id
57175 , p_accounting_coa_id => l_adr_accounting_coa_id
57176 , p_adr_code => 'AP_ROUNDING'
57177 , p_adr_type_code => 'S'
57178 , p_component_type => l_component_type
57179 , p_component_code => l_component_code
57180 , p_component_type_code => l_component_type_code
57181 , p_component_appl_id => l_component_appl_id
57182 , p_amb_context_code => l_amb_context_code
57183 , p_side => 'NA'
57184 );
57185
57186
57187 --
57188 --
57189 END IF;
57190
57191 --
57192 -- Update the line information that should be overwritten
57193 --
57194 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
57195 p_header_num => 1);
57196 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
57197
57198 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
57199
57200 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
57201 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
57202 END IF;
57203
57204 --
57205 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
57206 --
57207 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
57208 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
57209 ELSE
57210 ---------------------------------------------------------------------------------------------------
57211 -- 4262811a Switch Sign
57212 ---------------------------------------------------------------------------------------------------
57213 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
57214 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
57215 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
57216 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
57217 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
57218 -- 5132302
57219 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
57220 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
57221
57222 END IF;
57223
57224 -- 4955764
57225 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
57226 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
57227
57228
57229 XLA_AE_LINES_PKG.ValidateCurrentLine;
57230 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
57231
57232 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
57233 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
57234 ,p_balance_type_code => l_balance_type_code);
57235
57236 END IF;
57237
57238 -----------------------------------------------------------------------------------------
57239 -- 4262811 Multiperiod Accounting
57240 -----------------------------------------------------------------------------------------
57241 -- No MPA option is assigned.
57242
57243
57244 END IF;
57245 END IF;
57246 --
57247
57248 --
57249 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
57250 trace
57251 (p_msg => 'END of AcctLineType_122'
57252 ,p_level => C_LEVEL_PROCEDURE
57253 ,p_module => l_log_module);
57254 END IF;
57255 --
57256 EXCEPTION
57257 WHEN xla_exceptions_pkg.application_exception THEN
57258 RAISE;
57259 WHEN OTHERS THEN
57260 xla_exceptions_pkg.raise_message
57261 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_122');
57262 END AcctLineType_122;
57263 --
57264
57265 ---------------------------------------
57266 --
57267 -- PRIVATE FUNCTION
57271 PROCEDURE AcctLineType_123 (
57268 -- AcctLineType_123
57269 --
57270 ---------------------------------------
57272 p_application_id IN NUMBER
57273 ,p_event_id IN NUMBER
57274 ,p_calculate_acctd_flag IN VARCHAR2
57275 ,p_calculate_g_l_flag IN VARCHAR2
57276 ,p_actual_flag IN OUT VARCHAR2
57277 ,p_balance_type_code OUT VARCHAR2
57278 ,p_gain_or_loss_ref OUT VARCHAR2
57279
57280 --Automatic Offsets Value
57281 , p_source_10 IN VARCHAR2
57282 , p_source_10_meaning IN VARCHAR2
57283 --Invoice Distribution Account
57284 , p_source_25 IN NUMBER
57285 --Payables Options Rounding Account
57286 , p_source_45 IN NUMBER
57287 --When to Account for Payment Option
57288 , p_source_57 IN VARCHAR2
57289 --Accounting Reversal Indicator
57290 , p_source_58 IN VARCHAR2
57291 --Distribution Link Type
57292 , p_source_60 IN VARCHAR2
57293 --Invoice Currency Code
57294 , p_source_72 IN VARCHAR2
57295 --Override Accounted Amount Indicator
57296 , p_source_85 IN VARCHAR2
57297 , p_source_85_meaning IN VARCHAR2
57298 --Third Party Type
57299 , p_source_88 IN VARCHAR2
57300 --Invoice Distribution Tax Line Identifier
57301 , p_source_91 IN NUMBER
57302 --Invoice Distribution Tax Distribution Identifier from Tax
57303 , p_source_92 IN NUMBER
57304 --Invoice Distribution Summary Tax Line Identifier
57305 , p_source_93 IN NUMBER
57306 --Business Flow Accounts Payable Application Identifier
57307 , p_source_96 IN NUMBER
57308 --Business Flow Invoice Distribution Type
57309 , p_source_97 IN VARCHAR2
57310 --Business Flow Invoice Entity Code
57311 , p_source_98 IN VARCHAR2
57312 --Business Flow Invoice Distribution Identifier
57313 , p_source_99 IN NUMBER
57314 --Business Flow Invoice Identifier
57315 , p_source_100 IN NUMBER
57316 --Payment Distribution Type
57317 , p_source_101 IN VARCHAR2
57318 , p_source_101_meaning IN VARCHAR2
57319 --Payment Distribution Amount
57320 , p_source_102 IN NUMBER
57321 --Payment Distribution Identifier
57322 , p_source_107 IN NUMBER
57323 --Payment Supplier Identifier
57324 , p_source_113 IN NUMBER
57325 --Payment Supplier Site Identifier
57326 , p_source_114 IN NUMBER
57327 --Payment Distribution Reversed Identifier
57328 , p_source_115 IN NUMBER
57329 --Payment Distribution (Invoice Rate) Ledger Amount
57330 , p_source_119 IN NUMBER
57331 --Payment Type
57332 , p_source_125 IN VARCHAR2
57333 , p_source_125_meaning IN VARCHAR2
57334 --Invoice Exchange Date
57335 , p_source_146 IN DATE
57336 --Invoice Exchange Rate
57337 , p_source_147 IN NUMBER
57338 --Invoice Exchange Rate Type
57339 , p_source_148 IN VARCHAR2
57340 )
57341 IS
57342
57343 l_component_type VARCHAR2(80);
57344 l_component_code VARCHAR2(30);
57345 l_component_type_code VARCHAR2(1);
57346 l_component_appl_id INTEGER;
57347 l_amb_context_code VARCHAR2(30);
57348 l_entity_code VARCHAR2(30);
57349 l_event_class_code VARCHAR2(30);
57350 l_ae_header_id NUMBER;
57351 l_event_type_code VARCHAR2(30);
57352 l_line_definition_code VARCHAR2(30);
57353 l_line_definition_owner_code VARCHAR2(1);
57354 --
57355 -- adr variables
57356 l_segment VARCHAR2(30);
57357 l_ccid NUMBER;
57358 l_adr_transaction_coa_id NUMBER;
57359 l_adr_accounting_coa_id NUMBER;
57360 l_adr_flexfield_segment_code VARCHAR2(30);
57361 l_adr_flex_value_set_id NUMBER;
57362 l_adr_value_type_code VARCHAR2(30);
57363 l_adr_value_combination_id NUMBER;
57364 l_adr_value_segment_code VARCHAR2(30);
57365
57366 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
57367 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
57368 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
57369 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
57370
57371 -- 4262811 Variables ------------------------------------------------------------------------------------------
57372 l_entered_amt_idx NUMBER;
57373 l_accted_amt_idx NUMBER;
57374 l_acc_rev_flag VARCHAR2(1);
57375 l_accrual_line_num NUMBER;
57376 l_tmp_amt NUMBER;
57377 l_acc_rev_natural_side_code VARCHAR2(1);
57378
57379 l_num_entries NUMBER;
57380 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
57381 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
57382 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
57383 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
57384 l_recog_line_1 NUMBER;
57385 l_recog_line_2 NUMBER;
57386
57387 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
57388 l_bflow_applied_to_amt NUMBER; -- 5132302
57389 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
57390
57391 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
57392
57393 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
57397
57394 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
57395
57396 ---------------------------------------------------------------------------------------------------------------
57398
57399 --
57400 -- bulk performance
57401 --
57402 l_balance_type_code VARCHAR2(1);
57403 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
57404 l_log_module VARCHAR2(240);
57405
57406 --
57407 -- Upgrade strategy
57408 --
57409 l_actual_upg_option VARCHAR2(1);
57410 l_enc_upg_option VARCHAR2(1);
57411
57412 --
57413 BEGIN
57414 --
57415 IF g_log_enabled THEN
57416 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_123';
57417 END IF;
57418 --
57419 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
57420
57421 trace
57422 (p_msg => 'BEGIN of AcctLineType_123'
57423 ,p_level => C_LEVEL_PROCEDURE
57424 ,p_module => l_log_module);
57425
57426 END IF;
57427 --
57428 l_component_type := 'AMB_JLT';
57429 l_component_code := 'AP_FINAL_PMT_ROUNDING_REF';
57430 l_component_type_code := 'S';
57431 l_component_appl_id := 200;
57432 l_amb_context_code := 'DEFAULT';
57433 l_entity_code := 'AP_PAYMENTS';
57434 l_event_class_code := 'REFUNDS';
57435 l_event_type_code := 'REFUNDS_ALL';
57436 l_line_definition_owner_code := 'S';
57437 l_line_definition_code := 'ACCRUAL_REFUNDS_ALL';
57438 --
57439 l_balance_type_code := 'A';
57440 l_segment := NULL;
57441 l_ccid := NULL;
57442 l_adr_transaction_coa_id := NULL;
57443 l_adr_accounting_coa_id := NULL;
57444 l_adr_flexfield_segment_code := NULL;
57445 l_adr_flex_value_set_id := NULL;
57446 l_adr_value_type_code := NULL;
57447 l_adr_value_combination_id := NULL;
57448 l_adr_value_segment_code := NULL;
57449
57450 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
57451 l_bflow_class_code := ''; -- 4219869 Business Flow
57452 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
57453 l_budgetary_control_flag := 'N';
57454
57455 l_bflow_applied_to_amt_idx := NULL; -- 5132302
57456 l_bflow_applied_to_amt := NULL; -- 5132302
57457 l_entered_amt_idx := NULL; -- 4262811
57458 l_accted_amt_idx := NULL; -- 4262811
57459 l_acc_rev_flag := NULL; -- 4262811
57460 l_accrual_line_num := NULL; -- 4262811
57461 l_tmp_amt := NULL; -- 4262811
57462 --
57463
57464 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
57465 l_balance_type_code <> 'B' THEN
57466 IF NVL(p_source_57,'
57467 ') <> 'CLEAR_CLEAR' AND
57468 NVL(p_source_101,'
57469 ') = 'FINAL PAYMENT ROUNDING' AND
57470 NVL(p_source_125,'
57471 ') = 'R'
57472 THEN
57473
57474 --
57475 XLA_AE_LINES_PKG.SetNewLine;
57476
57477 p_balance_type_code := l_balance_type_code;
57478 -- set the flag so later we will know whether the gain loss line needs to be created
57479
57480 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
57481 p_actual_flag :='A';
57482 END IF;
57483
57484 --
57485 -- bulk performance
57486 --
57487 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
57488 p_header_num => 0); -- 4262811
57489 --
57490 -- set accounting line options
57491 --
57492 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
57493 p_natural_side_code => 'D'
57494 , p_gain_or_loss_flag => 'N'
57495 , p_gl_transfer_mode_code => 'S'
57496 , p_acct_entry_type_code => 'A'
57497 , p_switch_side_flag => 'Y'
57498 , p_merge_duplicate_code => 'A'
57499 );
57500 --
57501 l_acc_rev_natural_side_code := 'C'; -- 4262811
57502 --
57503 --
57504 -- set accounting line type info
57505 --
57506 xla_ae_lines_pkg.SetAcctLineType
57507 (p_component_type => l_component_type
57508 ,p_event_type_code => l_event_type_code
57509 ,p_line_definition_owner_code => l_line_definition_owner_code
57510 ,p_line_definition_code => l_line_definition_code
57511 ,p_accounting_line_code => l_component_code
57512 ,p_accounting_line_type_code => l_component_type_code
57513 ,p_accounting_line_appl_id => l_component_appl_id
57514 ,p_amb_context_code => l_amb_context_code
57515 ,p_entity_code => l_entity_code
57516 ,p_event_class_code => l_event_class_code);
57517 --
57518 -- set accounting class
57519 --
57520 xla_ae_lines_pkg.SetAcctClass(
57521 p_accounting_class_code => 'ROUNDING'
57522 , p_ae_header_id => l_ae_header_id
57523 );
57524
57525 --
57526 -- set rounding class
57527 --
57528 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
57529 'ROUNDING';
57530
57531 --
57532 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
57536 --
57533 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
57534 --
57535 -- bulk performance
57537 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
57538
57539 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
57540 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
57541
57542 -- 4955764
57543 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
57544 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
57545
57546 -- 4458381 Public Sector Enh
57547
57548 --
57549 -- set accounting attributes for the line type
57550 --
57551 l_entered_amt_idx := 9;
57552 l_accted_amt_idx := 14;
57553 l_bflow_applied_to_amt_idx := NULL; -- 5132302
57554 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
57555 l_rec_acct_attrs.array_char_value(1) := p_source_58;
57556 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_APPLICATION_ID';
57557 l_rec_acct_attrs.array_num_value(2) := p_source_96;
57558 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_DISTRIBUTION_TYPE';
57559 l_rec_acct_attrs.array_char_value(3) := p_source_97;
57560 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_ENTITY_CODE';
57561 l_rec_acct_attrs.array_char_value(4) := p_source_98;
57562 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_FIRST_DIST_ID';
57563 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_99);
57564 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
57565 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_100);
57566 l_rec_acct_attrs.array_acct_attr_code(7) := 'DISTRIBUTION_IDENTIFIER_1';
57567 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_107);
57568 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_TYPE';
57569 l_rec_acct_attrs.array_char_value(8) := p_source_60;
57570 l_rec_acct_attrs.array_acct_attr_code(9) := 'ENTERED_CURRENCY_AMOUNT';
57571 l_rec_acct_attrs.array_num_value(9) := p_source_102;
57572 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_CODE';
57573 l_rec_acct_attrs.array_char_value(10) := p_source_72;
57574 l_rec_acct_attrs.array_acct_attr_code(11) := 'EXCHANGE_DATE';
57575 l_rec_acct_attrs.array_date_value(11) := p_source_146;
57576 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_RATE';
57577 l_rec_acct_attrs.array_num_value(12) := p_source_147;
57578 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE_TYPE';
57579 l_rec_acct_attrs.array_char_value(13) := p_source_148;
57580 l_rec_acct_attrs.array_acct_attr_code(14) := 'LEDGER_AMOUNT';
57581 l_rec_acct_attrs.array_num_value(14) := p_source_119;
57582 l_rec_acct_attrs.array_acct_attr_code(15) := 'OVERRIDE_ACCTD_AMT_FLAG';
57583 l_rec_acct_attrs.array_char_value(15) := p_source_85;
57584 l_rec_acct_attrs.array_acct_attr_code(16) := 'PARTY_ID';
57585 l_rec_acct_attrs.array_num_value(16) := p_source_113;
57586 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_SITE_ID';
57587 l_rec_acct_attrs.array_num_value(17) := p_source_114;
57588 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_TYPE';
57589 l_rec_acct_attrs.array_char_value(18) := p_source_88;
57590 l_rec_acct_attrs.array_acct_attr_code(19) := 'REVERSED_DISTRIBUTION_ID1';
57591 l_rec_acct_attrs.array_num_value(19) := to_char(p_source_115);
57592 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_TYPE';
57593 l_rec_acct_attrs.array_char_value(20) := p_source_60;
57594 l_rec_acct_attrs.array_acct_attr_code(21) := 'TAX_LINE_REF_ID';
57595 l_rec_acct_attrs.array_num_value(21) := p_source_91;
57596 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_REC_NREC_DIST_REF_ID';
57597 l_rec_acct_attrs.array_num_value(22) := p_source_92;
57598 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_SUMMARY_LINE_REF_ID';
57599 l_rec_acct_attrs.array_num_value(23) := p_source_93;
57600
57601 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
57602 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
57603
57604 ---------------------------------------------------------------------------------------------------------------
57605 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
57606 ---------------------------------------------------------------------------------------------------------------
57607 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
57608
57609 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
57610 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
57611
57612 IF xla_accounting_cache_pkg.GetValueChar
57613 (p_source_code => 'LEDGER_CATEGORY_CODE'
57614 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
57615 AND l_bflow_method_code = 'PRIOR_ENTRY'
57616 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
57617 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
57618 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
57619 )
57620 THEN
57621 xla_ae_lines_pkg.BflowUpgEntry
57622 (p_business_method_code => l_bflow_method_code
57626 NULL;
57623 ,p_business_class_code => l_bflow_class_code
57624 ,p_balance_type => l_balance_type_code);
57625 ELSE
57627 -- No business flow processing for business flow method of NONE.
57628 END IF;
57629
57630 --
57631 -- call analytical criteria
57632 --
57633
57634 --
57635 -- call description
57636 --
57637 -- No description or it is inherited.
57638 --
57639 -- call ADRs
57640 -- Bug 4922099
57641 --
57642 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
57643 (NVL(l_actual_upg_option, 'N') = 'O') OR
57644 (NVL(l_enc_upg_option, 'N') = 'O')
57645 )
57646 THEN
57647 NULL;
57648 --
57649 --
57650
57651 l_ccid := AcctDerRule_43(
57652 p_application_id => p_application_id
57653 , p_ae_header_id => l_ae_header_id
57654 , p_source_10 => p_source_10
57655 , p_source_10_meaning => p_source_10_meaning
57656 , p_source_25 => p_source_25
57657 , p_source_45 => p_source_45
57658 , x_transaction_coa_id => l_adr_transaction_coa_id
57659 , x_accounting_coa_id => l_adr_accounting_coa_id
57660 , x_value_type_code => l_adr_value_type_code
57661 , p_side => 'NA'
57662 );
57663
57664 xla_ae_lines_pkg.set_ccid(
57665 p_code_combination_id => l_ccid
57666 , p_value_type_code => l_adr_value_type_code
57667 , p_transaction_coa_id => l_adr_transaction_coa_id
57668 , p_accounting_coa_id => l_adr_accounting_coa_id
57669 , p_adr_code => 'AP_ROUNDING'
57670 , p_adr_type_code => 'S'
57671 , p_component_type => l_component_type
57672 , p_component_code => l_component_code
57673 , p_component_type_code => l_component_type_code
57674 , p_component_appl_id => l_component_appl_id
57675 , p_amb_context_code => l_amb_context_code
57676 , p_side => 'NA'
57677 );
57678
57679
57680 --
57681 --
57682 END IF;
57683 --
57684 -- Bug 4922099
57685 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
57686 (NVL(l_enc_upg_option, 'N') = 'O')
57687 ) AND
57688 (l_bflow_method_code = 'PRIOR_ENTRY')
57689 )
57690 THEN
57691 IF
57692 --
57693 1 = 2
57694 --
57695 THEN
57696 xla_accounting_err_pkg.build_message
57697 (p_appli_s_name => 'XLA'
57698 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
57699 ,p_token_1 => 'LINE_NUMBER'
57700 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
57701 ,p_token_2 => 'LINE_TYPE_NAME'
57702 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
57703 l_component_type
57704 ,l_component_code
57705 ,l_component_type_code
57706 ,l_component_appl_id
57707 ,l_amb_context_code
57708 ,l_entity_code
57709 ,l_event_class_code
57710 )
57711 ,p_token_3 => 'OWNER'
57712 ,p_value_3 => xla_lookups_pkg.get_meaning(
57713 p_lookup_type => 'XLA_OWNER_TYPE'
57714 ,p_lookup_code => l_component_type_code
57715 )
57716 ,p_token_4 => 'PRODUCT_NAME'
57717 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
57718 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
57719 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
57720 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
57721 ,p_ae_header_id => NULL
57722 );
57723
57724 IF (C_LEVEL_ERROR>= g_log_level) THEN
57725 trace
57726 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
57727 ,p_level => C_LEVEL_ERROR
57728 ,p_module => l_log_module);
57729 END IF;
57730 END IF;
57731 END IF;
57732 --
57733 --
57737 -- Prior Entry. Currently, the following code is always generated.
57734 ------------------------------------------------------------------------------------------------
57735 -- 4219869 Business Flow
57736 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
57738 ------------------------------------------------------------------------------------------------
57739 XLA_AE_LINES_PKG.ValidateCurrentLine;
57740
57741 ------------------------------------------------------------------------------------
57742 -- 4219869 Business Flow
57743 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
57744 ------------------------------------------------------------------------------------
57745 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
57746
57747 ----------------------------------------------------------------------------------
57748 -- 4219869 Business Flow
57749 -- Update journal entry status -- Need to generate this within IF <condition>
57750 ----------------------------------------------------------------------------------
57751 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
57752 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
57753 ,p_balance_type_code => l_balance_type_code
57754 );
57755
57756 -------------------------------------------------------------------------------------------
57757 -- 4262811 - Generate the Accrual Reversal lines
57758 -------------------------------------------------------------------------------------------
57759 BEGIN
57760 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
57761 (g_array_event(p_event_id).array_value_num('header_index'));
57762 IF l_acc_rev_flag IS NULL THEN
57763 l_acc_rev_flag := 'N';
57764 END IF;
57765 EXCEPTION
57766 WHEN OTHERS THEN
57767 l_acc_rev_flag := 'N';
57768 END;
57769 --
57770 IF (l_acc_rev_flag = 'Y') THEN
57771
57772 -- 4645092 ------------------------------------------------------------------------------
57773 -- To allow MPA report to determine if it should generate report process
57774 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
57775 ------------------------------------------------------------------------------------------
57776
57777 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
57778 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
57779 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
57780 -- call ADRs
57781 -- Bug 4922099
57782 --
57783 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
57784 (NVL(l_actual_upg_option, 'N') = 'O') OR
57785 (NVL(l_enc_upg_option, 'N') = 'O')
57786 )
57787 THEN
57788 NULL;
57789 --
57790 --
57791
57792 l_ccid := AcctDerRule_43(
57793 p_application_id => p_application_id
57794 , p_ae_header_id => l_ae_header_id
57795 , p_source_10 => p_source_10
57796 , p_source_10_meaning => p_source_10_meaning
57797 , p_source_25 => p_source_25
57798 , p_source_45 => p_source_45
57799 , x_transaction_coa_id => l_adr_transaction_coa_id
57800 , x_accounting_coa_id => l_adr_accounting_coa_id
57801 , x_value_type_code => l_adr_value_type_code
57802 , p_side => 'NA'
57803 );
57804
57805 xla_ae_lines_pkg.set_ccid(
57806 p_code_combination_id => l_ccid
57807 , p_value_type_code => l_adr_value_type_code
57808 , p_transaction_coa_id => l_adr_transaction_coa_id
57809 , p_accounting_coa_id => l_adr_accounting_coa_id
57810 , p_adr_code => 'AP_ROUNDING'
57811 , p_adr_type_code => 'S'
57812 , p_component_type => l_component_type
57813 , p_component_code => l_component_code
57814 , p_component_type_code => l_component_type_code
57815 , p_component_appl_id => l_component_appl_id
57816 , p_amb_context_code => l_amb_context_code
57817 , p_side => 'NA'
57818 );
57819
57820
57821 --
57822 --
57823 END IF;
57824
57825 --
57826 -- Update the line information that should be overwritten
57827 --
57828 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
57829 p_header_num => 1);
57830 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
57831
57832 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
57833
57834 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
57835 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
57836 END IF;
57837
57838 --
57839 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
57840 --
57841 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
57842 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
57843 ELSE
57844 ---------------------------------------------------------------------------------------------------
57845 -- 4262811a Switch Sign
57849 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
57846 ---------------------------------------------------------------------------------------------------
57847 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
57848 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
57850 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
57851 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
57852 -- 5132302
57853 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
57854 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
57855
57856 END IF;
57857
57858 -- 4955764
57859 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
57860 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
57861
57862
57863 XLA_AE_LINES_PKG.ValidateCurrentLine;
57864 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
57865
57866 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
57867 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
57868 ,p_balance_type_code => l_balance_type_code);
57869
57870 END IF;
57871
57872 -----------------------------------------------------------------------------------------
57873 -- 4262811 Multiperiod Accounting
57874 -----------------------------------------------------------------------------------------
57875 -- No MPA option is assigned.
57876
57877
57878 END IF;
57879 END IF;
57880 --
57881
57882 --
57883 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
57884 trace
57885 (p_msg => 'END of AcctLineType_123'
57886 ,p_level => C_LEVEL_PROCEDURE
57887 ,p_module => l_log_module);
57888 END IF;
57889 --
57890 EXCEPTION
57891 WHEN xla_exceptions_pkg.application_exception THEN
57892 RAISE;
57893 WHEN OTHERS THEN
57894 xla_exceptions_pkg.raise_message
57895 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_123');
57896 END AcctLineType_123;
57897 --
57898
57899 ---------------------------------------
57900 --
57901 -- PRIVATE FUNCTION
57902 -- AcctLineType_124
57903 --
57904 ---------------------------------------
57905 PROCEDURE AcctLineType_124 (
57906 p_application_id IN NUMBER
57907 ,p_event_id IN NUMBER
57908 ,p_calculate_acctd_flag IN VARCHAR2
57909 ,p_calculate_g_l_flag IN VARCHAR2
57910 ,p_actual_flag IN OUT VARCHAR2
57911 ,p_balance_type_code OUT VARCHAR2
57912 ,p_gain_or_loss_ref OUT VARCHAR2
57913
57914 --Automatic Offsets Value
57915 , p_source_10 IN VARCHAR2
57916 , p_source_10_meaning IN VARCHAR2
57917 --Invoice Distribution Account
57918 , p_source_25 IN NUMBER
57919 --Payables Options Rounding Account
57920 , p_source_45 IN NUMBER
57921 --Accounting Reversal Indicator
57922 , p_source_58 IN VARCHAR2
57923 --Distribution Link Type
57924 , p_source_60 IN VARCHAR2
57925 --Invoice Identifier
57926 , p_source_63 IN NUMBER
57927 --Payables Encumbrance Upgrade Credit Account
57928 , p_source_70 IN NUMBER
57929 --Payables Encumbrance Upgrade Credit Amount
57930 , p_source_71 IN NUMBER
57931 --Invoice Currency Code
57932 , p_source_72 IN VARCHAR2
57933 --Payables Encumbrance Upgrade Credit Base Amount
57934 , p_source_73 IN NUMBER
57935 --Payables Encumbrance Upgrade Debit Account
57936 , p_source_74 IN NUMBER
57937 --Payables Encumbrance Upgrade Debit Amount
57938 , p_source_75 IN NUMBER
57939 --Payables Encumbrance Upgrade Debit Base Amount
57940 , p_source_76 IN NUMBER
57941 --Payables Encumbrance Upgrade Option
57942 , p_source_77 IN VARCHAR2
57943 --Deferred Accounting End Date
57944 , p_source_82 IN DATE
57945 --Deferred Accounting Option
57946 , p_source_83 IN VARCHAR2
57947 --Deferred Accounting Start Date
57948 , p_source_84 IN DATE
57949 --Override Accounted Amount Indicator
57950 , p_source_85 IN VARCHAR2
57951 , p_source_85_meaning IN VARCHAR2
57952 --Invoice Supplier Identifier
57953 , p_source_86 IN NUMBER
57954 --Invoice Supplier Site Identifier
57955 , p_source_87 IN NUMBER
57956 --Third Party Type
57957 , p_source_88 IN VARCHAR2
57958 --Invoice Distribution Tax Line Identifier
57959 , p_source_91 IN NUMBER
57960 --Invoice Distribution Tax Distribution Identifier from Tax
57961 , p_source_92 IN NUMBER
57962 --Invoice Distribution Summary Tax Line Identifier
57963 , p_source_93 IN NUMBER
57964 --Payables Upgrade Credit Encumbrance Type Identifier
57965 , p_source_94 IN NUMBER
57966 --Payables Upgrade Debit Encumbrance Type Identifier
57967 , p_source_95 IN NUMBER
57968 --Business Flow Accounts Payable Application Identifier
57969 , p_source_96 IN NUMBER
57970 --Prepayment Distribution Type
57971 , p_source_128 IN VARCHAR2
57972 --Prepayment Application Distribution Identifier
57976 --Upgrade Encumbrance Debit Account Class
57973 , p_source_130 IN NUMBER
57974 --Upgrade Encumbrance Credit Account Class
57975 , p_source_135 IN VARCHAR2
57977 , p_source_136 IN VARCHAR2
57978 --Prepayment Distribution Amount
57979 , p_source_137 IN NUMBER
57980 --Identifier of the Prepayment Application Reversed
57981 , p_source_139 IN NUMBER
57982 --Invoice Exchange Date
57983 , p_source_146 IN DATE
57984 --Invoice Exchange Rate
57985 , p_source_147 IN NUMBER
57986 --Invoice Exchange Rate Type
57987 , p_source_148 IN VARCHAR2
57988 --Business Flow Prepayment Invoice Distribution Type
57989 , p_source_149 IN VARCHAR2
57990 --Business Flow Prepayment Invoice Entity Code
57991 , p_source_150 IN VARCHAR2
57992 --Business Flow Prepayment Invoice Distribution Identifier
57993 , p_source_151 IN NUMBER
57994 --Business Flow Prepayment Invoice Identifier
57995 , p_source_152 IN NUMBER
57996 --Prepayment Distribution (Prepayment Payment Rate) Ledger Amount
57997 , p_source_153 IN NUMBER
57998 )
57999 IS
58000
58001 l_component_type VARCHAR2(80);
58002 l_component_code VARCHAR2(30);
58003 l_component_type_code VARCHAR2(1);
58004 l_component_appl_id INTEGER;
58005 l_amb_context_code VARCHAR2(30);
58006 l_entity_code VARCHAR2(30);
58007 l_event_class_code VARCHAR2(30);
58008 l_ae_header_id NUMBER;
58009 l_event_type_code VARCHAR2(30);
58010 l_line_definition_code VARCHAR2(30);
58011 l_line_definition_owner_code VARCHAR2(1);
58012 --
58013 -- adr variables
58014 l_segment VARCHAR2(30);
58015 l_ccid NUMBER;
58016 l_adr_transaction_coa_id NUMBER;
58017 l_adr_accounting_coa_id NUMBER;
58018 l_adr_flexfield_segment_code VARCHAR2(30);
58019 l_adr_flex_value_set_id NUMBER;
58020 l_adr_value_type_code VARCHAR2(30);
58021 l_adr_value_combination_id NUMBER;
58022 l_adr_value_segment_code VARCHAR2(30);
58023
58024 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
58025 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
58026 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
58027 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
58028
58029 -- 4262811 Variables ------------------------------------------------------------------------------------------
58030 l_entered_amt_idx NUMBER;
58031 l_accted_amt_idx NUMBER;
58032 l_acc_rev_flag VARCHAR2(1);
58033 l_accrual_line_num NUMBER;
58034 l_tmp_amt NUMBER;
58035 l_acc_rev_natural_side_code VARCHAR2(1);
58036
58037 l_num_entries NUMBER;
58038 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
58039 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
58040 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
58041 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
58042 l_recog_line_1 NUMBER;
58043 l_recog_line_2 NUMBER;
58044
58045 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
58046 l_bflow_applied_to_amt NUMBER; -- 5132302
58047 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
58048
58049 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
58050
58051 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
58052 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
58053
58054 ---------------------------------------------------------------------------------------------------------------
58055
58056
58057 --
58058 -- bulk performance
58059 --
58060 l_balance_type_code VARCHAR2(1);
58061 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
58062 l_log_module VARCHAR2(240);
58063
58064 --
58065 -- Upgrade strategy
58066 --
58067 l_actual_upg_option VARCHAR2(1);
58068 l_enc_upg_option VARCHAR2(1);
58069
58070 --
58071 BEGIN
58072 --
58073 IF g_log_enabled THEN
58074 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_124';
58075 END IF;
58076 --
58077 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
58078
58079 trace
58080 (p_msg => 'BEGIN of AcctLineType_124'
58081 ,p_level => C_LEVEL_PROCEDURE
58082 ,p_module => l_log_module);
58083
58084 END IF;
58085 --
58086 l_component_type := 'AMB_JLT';
58087 l_component_code := 'AP_FINAL_PMT_ROUND_PREPAY_APP';
58088 l_component_type_code := 'S';
58089 l_component_appl_id := 200;
58090 l_amb_context_code := 'DEFAULT';
58091 l_entity_code := 'AP_INVOICES';
58092 l_event_class_code := 'PREPAYMENT APPLICATIONS';
58093 l_event_type_code := 'PREPAYMENT APPLICATIONS_ALL';
58094 l_line_definition_owner_code := 'S';
58095 l_line_definition_code := 'ACCRUAL_PREPAYMENT APPLICATIO2';
58096 --
58097 l_balance_type_code := 'A';
58098 l_segment := NULL;
58099 l_ccid := NULL;
58100 l_adr_transaction_coa_id := NULL;
58101 l_adr_accounting_coa_id := NULL;
58102 l_adr_flexfield_segment_code := NULL;
58106 l_adr_value_segment_code := NULL;
58103 l_adr_flex_value_set_id := NULL;
58104 l_adr_value_type_code := NULL;
58105 l_adr_value_combination_id := NULL;
58107
58108 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
58109 l_bflow_class_code := ''; -- 4219869 Business Flow
58110 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
58111 l_budgetary_control_flag := 'N';
58112
58113 l_bflow_applied_to_amt_idx := NULL; -- 5132302
58114 l_bflow_applied_to_amt := NULL; -- 5132302
58115 l_entered_amt_idx := NULL; -- 4262811
58116 l_accted_amt_idx := NULL; -- 4262811
58117 l_acc_rev_flag := NULL; -- 4262811
58118 l_accrual_line_num := NULL; -- 4262811
58119 l_tmp_amt := NULL; -- 4262811
58120 --
58121
58122 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
58123 l_balance_type_code <> 'B' THEN
58124 IF NVL(p_source_128,'
58125 ') = 'FINAL PAYMENT ROUNDING'
58126 THEN
58127
58128 --
58129 XLA_AE_LINES_PKG.SetNewLine;
58130
58131 p_balance_type_code := l_balance_type_code;
58132 -- set the flag so later we will know whether the gain loss line needs to be created
58133
58134 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
58135 p_actual_flag :='A';
58136 END IF;
58137
58138 --
58139 -- bulk performance
58140 --
58141 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
58142 p_header_num => 0); -- 4262811
58143 --
58144 -- set accounting line options
58145 --
58146 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
58147 p_natural_side_code => 'C'
58148 , p_gain_or_loss_flag => 'N'
58149 , p_gl_transfer_mode_code => 'S'
58150 , p_acct_entry_type_code => 'A'
58151 , p_switch_side_flag => 'Y'
58152 , p_merge_duplicate_code => 'A'
58153 );
58154 --
58155 l_acc_rev_natural_side_code := 'D'; -- 4262811
58156 --
58157 --
58158 -- set accounting line type info
58159 --
58160 xla_ae_lines_pkg.SetAcctLineType
58161 (p_component_type => l_component_type
58162 ,p_event_type_code => l_event_type_code
58163 ,p_line_definition_owner_code => l_line_definition_owner_code
58164 ,p_line_definition_code => l_line_definition_code
58165 ,p_accounting_line_code => l_component_code
58166 ,p_accounting_line_type_code => l_component_type_code
58167 ,p_accounting_line_appl_id => l_component_appl_id
58168 ,p_amb_context_code => l_amb_context_code
58169 ,p_entity_code => l_entity_code
58170 ,p_event_class_code => l_event_class_code);
58171 --
58172 -- set accounting class
58173 --
58174 xla_ae_lines_pkg.SetAcctClass(
58175 p_accounting_class_code => 'ROUNDING'
58176 , p_ae_header_id => l_ae_header_id
58177 );
58178
58179 --
58180 -- set rounding class
58181 --
58182 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
58183 'ROUNDING';
58184
58185 --
58186 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
58187 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
58188 --
58189 -- bulk performance
58190 --
58191 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
58192
58193 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
58194 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
58195
58196 -- 4955764
58197 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
58198 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
58199
58200 -- 4458381 Public Sector Enh
58201
58202 --
58203 -- set accounting attributes for the line type
58204 --
58205 l_entered_amt_idx := 25;
58206 l_accted_amt_idx := 30;
58207 l_bflow_applied_to_amt_idx := NULL; -- 5132302
58208 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
58209 l_rec_acct_attrs.array_char_value(1) := p_source_58;
58210 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
58211 l_rec_acct_attrs.array_num_value(2) :=
58212 xla_ae_sources_pkg.GetSystemSourceNum(
58213 p_source_code => 'XLA_EVENT_APPL_ID'
58214 , p_source_type_code => 'Y'
58215 , p_source_application_id => 602
58216 );
58217 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
58218 l_rec_acct_attrs.array_char_value(3) := p_source_60;
58219 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
58220 l_rec_acct_attrs.array_char_value(4) :=
58221 xla_ae_sources_pkg.GetSystemSourceChar(
58222 p_source_code => 'XLA_ENTITY_CODE'
58223 , p_source_type_code => 'Y'
58224 , p_source_application_id => 602
58225 );
58226 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
58230 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
58227 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_130);
58228 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
58229 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_63);
58231 l_rec_acct_attrs.array_num_value(7) := p_source_96;
58232 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
58233 l_rec_acct_attrs.array_char_value(8) := p_source_149;
58234 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
58235 l_rec_acct_attrs.array_char_value(9) := p_source_150;
58236 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
58237 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_151);
58238 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
58239 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_152);
58240 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
58241 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_130);
58242 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
58243 l_rec_acct_attrs.array_char_value(13) := p_source_60;
58244 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_ACCT_CLASS';
58245 l_rec_acct_attrs.array_char_value(14) := p_source_135;
58246 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
58247 l_rec_acct_attrs.array_num_value(15) := p_source_70;
58248 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
58249 l_rec_acct_attrs.array_num_value(16) := p_source_71;
58250 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
58251 l_rec_acct_attrs.array_char_value(17) := p_source_72;
58252 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
58253 l_rec_acct_attrs.array_num_value(18) := p_source_73;
58254 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ACCT_CLASS';
58255 l_rec_acct_attrs.array_char_value(19) := p_source_136;
58256 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_CCID';
58257 l_rec_acct_attrs.array_num_value(20) := p_source_74;
58258 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_AMT';
58259 l_rec_acct_attrs.array_num_value(21) := p_source_75;
58260 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_ENTERED_CURR';
58261 l_rec_acct_attrs.array_char_value(22) := p_source_72;
58262 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_DR_LEDGER_AMT';
58263 l_rec_acct_attrs.array_num_value(23) := p_source_76;
58264 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENC_UPG_OPTION';
58265 l_rec_acct_attrs.array_char_value(24) := p_source_77;
58266 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_AMOUNT';
58267 l_rec_acct_attrs.array_num_value(25) := p_source_137;
58268 l_rec_acct_attrs.array_acct_attr_code(26) := 'ENTERED_CURRENCY_CODE';
58269 l_rec_acct_attrs.array_char_value(26) := p_source_72;
58270 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_DATE';
58271 l_rec_acct_attrs.array_date_value(27) := p_source_146;
58272 l_rec_acct_attrs.array_acct_attr_code(28) := 'EXCHANGE_RATE';
58273 l_rec_acct_attrs.array_num_value(28) := p_source_147;
58274 l_rec_acct_attrs.array_acct_attr_code(29) := 'EXCHANGE_RATE_TYPE';
58275 l_rec_acct_attrs.array_char_value(29) := p_source_148;
58276 l_rec_acct_attrs.array_acct_attr_code(30) := 'LEDGER_AMOUNT';
58277 l_rec_acct_attrs.array_num_value(30) := p_source_153;
58278 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_END_DATE';
58279 l_rec_acct_attrs.array_date_value(31) := p_source_82;
58280 l_rec_acct_attrs.array_acct_attr_code(32) := 'MULTIPERIOD_OPTION';
58281 l_rec_acct_attrs.array_char_value(32) := p_source_83;
58282 l_rec_acct_attrs.array_acct_attr_code(33) := 'MULTIPERIOD_START_DATE';
58283 l_rec_acct_attrs.array_date_value(33) := p_source_84;
58284 l_rec_acct_attrs.array_acct_attr_code(34) := 'OVERRIDE_ACCTD_AMT_FLAG';
58285 l_rec_acct_attrs.array_char_value(34) := p_source_85;
58286 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_ID';
58287 l_rec_acct_attrs.array_num_value(35) := p_source_86;
58288 l_rec_acct_attrs.array_acct_attr_code(36) := 'PARTY_SITE_ID';
58289 l_rec_acct_attrs.array_num_value(36) := p_source_87;
58290 l_rec_acct_attrs.array_acct_attr_code(37) := 'PARTY_TYPE';
58291 l_rec_acct_attrs.array_char_value(37) := p_source_88;
58292 l_rec_acct_attrs.array_acct_attr_code(38) := 'REVERSED_DISTRIBUTION_ID1';
58293 l_rec_acct_attrs.array_num_value(38) := to_char(p_source_139);
58294 l_rec_acct_attrs.array_acct_attr_code(39) := 'REVERSED_DISTRIBUTION_TYPE';
58295 l_rec_acct_attrs.array_char_value(39) := p_source_60;
58296 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_LINE_REF_ID';
58297 l_rec_acct_attrs.array_num_value(40) := p_source_91;
58298 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_REC_NREC_DIST_REF_ID';
58299 l_rec_acct_attrs.array_num_value(41) := p_source_92;
58300 l_rec_acct_attrs.array_acct_attr_code(42) := 'TAX_SUMMARY_LINE_REF_ID';
58301 l_rec_acct_attrs.array_num_value(42) := p_source_93;
58302 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_CR_ENC_TYPE_ID';
58303 l_rec_acct_attrs.array_num_value(43) := p_source_94;
58304 l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
58305 l_rec_acct_attrs.array_num_value(44) := p_source_95;
58306
58307 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
58308 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
58309
58313 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
58310 ---------------------------------------------------------------------------------------------------------------
58311 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
58312 ---------------------------------------------------------------------------------------------------------------
58314
58315 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
58316 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
58317
58318 IF xla_accounting_cache_pkg.GetValueChar
58319 (p_source_code => 'LEDGER_CATEGORY_CODE'
58320 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
58321 AND l_bflow_method_code = 'PRIOR_ENTRY'
58322 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
58323 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
58324 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
58325 )
58326 THEN
58327 xla_ae_lines_pkg.BflowUpgEntry
58328 (p_business_method_code => l_bflow_method_code
58329 ,p_business_class_code => l_bflow_class_code
58330 ,p_balance_type => l_balance_type_code);
58331 ELSE
58332 NULL;
58333 -- No business flow processing for business flow method of NONE.
58334 END IF;
58335
58336 --
58337 -- call analytical criteria
58338 --
58339
58340 --
58341 -- call description
58342 --
58343 -- No description or it is inherited.
58344 --
58345 -- call ADRs
58346 -- Bug 4922099
58347 --
58348 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
58349 (NVL(l_actual_upg_option, 'N') = 'O') OR
58350 (NVL(l_enc_upg_option, 'N') = 'O')
58351 )
58352 THEN
58353 NULL;
58354 --
58355 --
58356
58357 l_ccid := AcctDerRule_43(
58358 p_application_id => p_application_id
58359 , p_ae_header_id => l_ae_header_id
58360 , p_source_10 => p_source_10
58361 , p_source_10_meaning => p_source_10_meaning
58362 , p_source_25 => p_source_25
58363 , p_source_45 => p_source_45
58364 , x_transaction_coa_id => l_adr_transaction_coa_id
58365 , x_accounting_coa_id => l_adr_accounting_coa_id
58366 , x_value_type_code => l_adr_value_type_code
58367 , p_side => 'NA'
58368 );
58369
58370 xla_ae_lines_pkg.set_ccid(
58371 p_code_combination_id => l_ccid
58372 , p_value_type_code => l_adr_value_type_code
58373 , p_transaction_coa_id => l_adr_transaction_coa_id
58374 , p_accounting_coa_id => l_adr_accounting_coa_id
58375 , p_adr_code => 'AP_ROUNDING'
58376 , p_adr_type_code => 'S'
58377 , p_component_type => l_component_type
58378 , p_component_code => l_component_code
58379 , p_component_type_code => l_component_type_code
58380 , p_component_appl_id => l_component_appl_id
58381 , p_amb_context_code => l_amb_context_code
58382 , p_side => 'NA'
58383 );
58384
58385
58386 --
58387 --
58388 END IF;
58389 --
58390 -- Bug 4922099
58391 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
58392 (NVL(l_enc_upg_option, 'N') = 'O')
58393 ) AND
58394 (l_bflow_method_code = 'PRIOR_ENTRY')
58395 )
58396 THEN
58397 IF
58398 --
58399 1 = 2
58400 --
58401 THEN
58402 xla_accounting_err_pkg.build_message
58403 (p_appli_s_name => 'XLA'
58404 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
58405 ,p_token_1 => 'LINE_NUMBER'
58406 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
58407 ,p_token_2 => 'LINE_TYPE_NAME'
58408 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
58409 l_component_type
58410 ,l_component_code
58411 ,l_component_type_code
58412 ,l_component_appl_id
58413 ,l_amb_context_code
58414 ,l_entity_code
58415 ,l_event_class_code
58416 )
58417 ,p_token_3 => 'OWNER'
58418 ,p_value_3 => xla_lookups_pkg.get_meaning(
58419 p_lookup_type => 'XLA_OWNER_TYPE'
58423 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
58420 ,p_lookup_code => l_component_type_code
58421 )
58422 ,p_token_4 => 'PRODUCT_NAME'
58424 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
58425 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
58426 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
58427 ,p_ae_header_id => NULL
58428 );
58429
58430 IF (C_LEVEL_ERROR>= g_log_level) THEN
58431 trace
58432 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
58433 ,p_level => C_LEVEL_ERROR
58434 ,p_module => l_log_module);
58435 END IF;
58436 END IF;
58437 END IF;
58438 --
58439 --
58440 ------------------------------------------------------------------------------------------------
58441 -- 4219869 Business Flow
58442 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
58443 -- Prior Entry. Currently, the following code is always generated.
58444 ------------------------------------------------------------------------------------------------
58445 XLA_AE_LINES_PKG.ValidateCurrentLine;
58446
58447 ------------------------------------------------------------------------------------
58448 -- 4219869 Business Flow
58449 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
58450 ------------------------------------------------------------------------------------
58451 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
58452
58453 ----------------------------------------------------------------------------------
58454 -- 4219869 Business Flow
58455 -- Update journal entry status -- Need to generate this within IF <condition>
58456 ----------------------------------------------------------------------------------
58457 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
58458 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
58459 ,p_balance_type_code => l_balance_type_code
58460 );
58461
58462 -------------------------------------------------------------------------------------------
58463 -- 4262811 - Generate the Accrual Reversal lines
58464 -------------------------------------------------------------------------------------------
58465 BEGIN
58466 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
58467 (g_array_event(p_event_id).array_value_num('header_index'));
58468 IF l_acc_rev_flag IS NULL THEN
58469 l_acc_rev_flag := 'N';
58470 END IF;
58471 EXCEPTION
58472 WHEN OTHERS THEN
58473 l_acc_rev_flag := 'N';
58474 END;
58475 --
58476 IF (l_acc_rev_flag = 'Y') THEN
58477
58478 -- 4645092 ------------------------------------------------------------------------------
58479 -- To allow MPA report to determine if it should generate report process
58480 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
58481 ------------------------------------------------------------------------------------------
58482
58483 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
58484 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
58485 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
58486 -- call ADRs
58487 -- Bug 4922099
58488 --
58489 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
58490 (NVL(l_actual_upg_option, 'N') = 'O') OR
58491 (NVL(l_enc_upg_option, 'N') = 'O')
58492 )
58493 THEN
58494 NULL;
58495 --
58496 --
58497
58498 l_ccid := AcctDerRule_43(
58499 p_application_id => p_application_id
58500 , p_ae_header_id => l_ae_header_id
58501 , p_source_10 => p_source_10
58502 , p_source_10_meaning => p_source_10_meaning
58503 , p_source_25 => p_source_25
58504 , p_source_45 => p_source_45
58505 , x_transaction_coa_id => l_adr_transaction_coa_id
58506 , x_accounting_coa_id => l_adr_accounting_coa_id
58507 , x_value_type_code => l_adr_value_type_code
58508 , p_side => 'NA'
58509 );
58510
58511 xla_ae_lines_pkg.set_ccid(
58512 p_code_combination_id => l_ccid
58513 , p_value_type_code => l_adr_value_type_code
58514 , p_transaction_coa_id => l_adr_transaction_coa_id
58515 , p_accounting_coa_id => l_adr_accounting_coa_id
58516 , p_adr_code => 'AP_ROUNDING'
58517 , p_adr_type_code => 'S'
58518 , p_component_type => l_component_type
58519 , p_component_code => l_component_code
58520 , p_component_type_code => l_component_type_code
58521 , p_component_appl_id => l_component_appl_id
58522 , p_amb_context_code => l_amb_context_code
58523 , p_side => 'NA'
58524 );
58525
58526
58527 --
58528 --
58529 END IF;
58530
58531 --
58535 p_header_num => 1);
58532 -- Update the line information that should be overwritten
58533 --
58534 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
58536 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
58537
58538 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
58539
58540 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
58541 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
58542 END IF;
58543
58544 --
58545 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
58546 --
58547 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
58548 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
58549 ELSE
58550 ---------------------------------------------------------------------------------------------------
58551 -- 4262811a Switch Sign
58552 ---------------------------------------------------------------------------------------------------
58553 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
58554 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
58555 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
58556 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
58557 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
58558 -- 5132302
58559 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
58560 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
58561
58562 END IF;
58563
58564 -- 4955764
58565 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
58566 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
58567
58568
58569 XLA_AE_LINES_PKG.ValidateCurrentLine;
58570 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
58571
58572 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
58573 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
58574 ,p_balance_type_code => l_balance_type_code);
58575
58576 END IF;
58577
58578 -----------------------------------------------------------------------------------------
58579 -- 4262811 Multiperiod Accounting
58580 -----------------------------------------------------------------------------------------
58581 -- No MPA option is assigned.
58582
58583
58584 END IF;
58585 END IF;
58586 --
58587
58588 --
58589 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
58590 trace
58591 (p_msg => 'END of AcctLineType_124'
58592 ,p_level => C_LEVEL_PROCEDURE
58593 ,p_module => l_log_module);
58594 END IF;
58595 --
58596 EXCEPTION
58597 WHEN xla_exceptions_pkg.application_exception THEN
58598 RAISE;
58599 WHEN OTHERS THEN
58600 xla_exceptions_pkg.raise_message
58601 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_124');
58602 END AcctLineType_124;
58603 --
58604
58605 ---------------------------------------
58606 --
58607 -- PRIVATE FUNCTION
58608 -- AcctLineType_125
58609 --
58610 ---------------------------------------
58611 PROCEDURE AcctLineType_125 (
58612 p_application_id IN NUMBER
58613 ,p_event_id IN NUMBER
58614 ,p_calculate_acctd_flag IN VARCHAR2
58615 ,p_calculate_g_l_flag IN VARCHAR2
58616 ,p_actual_flag IN OUT VARCHAR2
58617 ,p_balance_type_code OUT VARCHAR2
58618 ,p_gain_or_loss_ref OUT VARCHAR2
58619
58620 --Invoice Distribution Description
58621 , p_source_1 IN VARCHAR2
58622 --Invoice Distribution Ledger Amount
58623 , p_source_16 IN NUMBER
58624 --Invoice Distribution Account
58625 , p_source_25 IN NUMBER
58626 --Invoice Distribution Type
58627 , p_source_28 IN VARCHAR2
58628 , p_source_28_meaning IN VARCHAR2
58629 --Accounting Reversal Indicator
58630 , p_source_58 IN VARCHAR2
58631 --Distribution Link Type
58632 , p_source_60 IN VARCHAR2
58633 --Allocation to Main Distribution Identifier
58634 , p_source_62 IN NUMBER
58635 --Invoice Identifier
58636 , p_source_63 IN NUMBER
58637 --Invoice Distribution Identifier
58638 , p_source_69 IN NUMBER
58639 --Payables Encumbrance Upgrade Credit Account
58640 , p_source_70 IN NUMBER
58641 --Payables Encumbrance Upgrade Credit Amount
58642 , p_source_71 IN NUMBER
58643 --Invoice Currency Code
58644 , p_source_72 IN VARCHAR2
58645 --Payables Encumbrance Upgrade Credit Base Amount
58646 , p_source_73 IN NUMBER
58647 --Payables Encumbrance Upgrade Debit Account
58648 , p_source_74 IN NUMBER
58649 --Payables Encumbrance Upgrade Debit Amount
58650 , p_source_75 IN NUMBER
58651 --Payables Encumbrance Upgrade Debit Base Amount
58652 , p_source_76 IN NUMBER
58656 , p_source_78 IN NUMBER
58653 --Payables Encumbrance Upgrade Option
58654 , p_source_77 IN VARCHAR2
58655 --Invoice Distribution Amount
58657 --Deferred Accounting End Date
58658 , p_source_82 IN DATE
58659 --Deferred Accounting Option
58660 , p_source_83 IN VARCHAR2
58661 --Deferred Accounting Start Date
58662 , p_source_84 IN DATE
58663 --Override Accounted Amount Indicator
58664 , p_source_85 IN VARCHAR2
58665 , p_source_85_meaning IN VARCHAR2
58666 --Invoice Supplier Identifier
58667 , p_source_86 IN NUMBER
58668 --Invoice Supplier Site Identifier
58669 , p_source_87 IN NUMBER
58670 --Third Party Type
58671 , p_source_88 IN VARCHAR2
58672 --Parent Reversal Identifier
58673 , p_source_89 IN NUMBER
58674 --Invoice Distribution Statistical Amount
58675 , p_source_90 IN NUMBER
58676 --Invoice Distribution Tax Line Identifier
58677 , p_source_91 IN NUMBER
58678 --Invoice Distribution Tax Distribution Identifier from Tax
58679 , p_source_92 IN NUMBER
58680 --Invoice Distribution Summary Tax Line Identifier
58681 , p_source_93 IN NUMBER
58682 --Payables Upgrade Credit Encumbrance Type Identifier
58683 , p_source_94 IN NUMBER
58684 --Payables Upgrade Debit Encumbrance Type Identifier
58685 , p_source_95 IN NUMBER
58686 --Business Flow Accounts Payable Application Identifier
58687 , p_source_96 IN NUMBER
58688 --Business Flow Invoice Distribution Type
58689 , p_source_97 IN VARCHAR2
58690 --Business Flow Invoice Entity Code
58691 , p_source_98 IN VARCHAR2
58692 --Business Flow Invoice Distribution Identifier
58693 , p_source_99 IN NUMBER
58694 --Business Flow Invoice Identifier
58695 , p_source_100 IN NUMBER
58696 --Invoice Exchange Date
58697 , p_source_146 IN DATE
58698 --Invoice Exchange Rate
58699 , p_source_147 IN NUMBER
58700 --Invoice Exchange Rate Type
58701 , p_source_148 IN VARCHAR2
58702 )
58703 IS
58704
58705 l_component_type VARCHAR2(80);
58706 l_component_code VARCHAR2(30);
58707 l_component_type_code VARCHAR2(1);
58708 l_component_appl_id INTEGER;
58709 l_amb_context_code VARCHAR2(30);
58710 l_entity_code VARCHAR2(30);
58711 l_event_class_code VARCHAR2(30);
58712 l_ae_header_id NUMBER;
58713 l_event_type_code VARCHAR2(30);
58714 l_line_definition_code VARCHAR2(30);
58715 l_line_definition_owner_code VARCHAR2(1);
58716 --
58717 -- adr variables
58718 l_segment VARCHAR2(30);
58719 l_ccid NUMBER;
58720 l_adr_transaction_coa_id NUMBER;
58721 l_adr_accounting_coa_id NUMBER;
58722 l_adr_flexfield_segment_code VARCHAR2(30);
58723 l_adr_flex_value_set_id NUMBER;
58724 l_adr_value_type_code VARCHAR2(30);
58725 l_adr_value_combination_id NUMBER;
58726 l_adr_value_segment_code VARCHAR2(30);
58727
58728 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
58729 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
58730 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
58731 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
58732
58733 -- 4262811 Variables ------------------------------------------------------------------------------------------
58734 l_entered_amt_idx NUMBER;
58735 l_accted_amt_idx NUMBER;
58736 l_acc_rev_flag VARCHAR2(1);
58737 l_accrual_line_num NUMBER;
58738 l_tmp_amt NUMBER;
58739 l_acc_rev_natural_side_code VARCHAR2(1);
58740
58741 l_num_entries NUMBER;
58742 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
58743 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
58744 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
58745 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
58746 l_recog_line_1 NUMBER;
58747 l_recog_line_2 NUMBER;
58748
58749 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
58750 l_bflow_applied_to_amt NUMBER; -- 5132302
58751 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
58752
58753 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
58754
58755 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
58756 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
58757
58758 ---------------------------------------------------------------------------------------------------------------
58759
58760
58761 --
58762 -- bulk performance
58763 --
58764 l_balance_type_code VARCHAR2(1);
58765 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
58766 l_log_module VARCHAR2(240);
58767
58768 --
58769 -- Upgrade strategy
58770 --
58771 l_actual_upg_option VARCHAR2(1);
58772 l_enc_upg_option VARCHAR2(1);
58773
58774 --
58775 BEGIN
58776 --
58777 IF g_log_enabled THEN
58778 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_125';
58779 END IF;
58780 --
58781 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
58782
58783 trace
58787
58784 (p_msg => 'BEGIN of AcctLineType_125'
58785 ,p_level => C_LEVEL_PROCEDURE
58786 ,p_module => l_log_module);
58788 END IF;
58789 --
58790 l_component_type := 'AMB_JLT';
58791 l_component_code := 'AP_FREIGHT_EXPENSE_CM';
58792 l_component_type_code := 'S';
58793 l_component_appl_id := 200;
58794 l_amb_context_code := 'DEFAULT';
58795 l_entity_code := 'AP_INVOICES';
58796 l_event_class_code := 'CREDIT MEMOS';
58797 l_event_type_code := 'CREDIT MEMOS_ALL';
58798 l_line_definition_owner_code := 'S';
58799 l_line_definition_code := 'ACCRUAL_CREDIT MEMOS_ALL';
58800 --
58801 l_balance_type_code := 'A';
58802 l_segment := NULL;
58803 l_ccid := NULL;
58804 l_adr_transaction_coa_id := NULL;
58805 l_adr_accounting_coa_id := NULL;
58806 l_adr_flexfield_segment_code := NULL;
58807 l_adr_flex_value_set_id := NULL;
58808 l_adr_value_type_code := NULL;
58809 l_adr_value_combination_id := NULL;
58810 l_adr_value_segment_code := NULL;
58811
58812 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
58813 l_bflow_class_code := ''; -- 4219869 Business Flow
58814 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
58815 l_budgetary_control_flag := 'N';
58816
58817 l_bflow_applied_to_amt_idx := NULL; -- 5132302
58818 l_bflow_applied_to_amt := NULL; -- 5132302
58819 l_entered_amt_idx := NULL; -- 4262811
58820 l_accted_amt_idx := NULL; -- 4262811
58821 l_acc_rev_flag := NULL; -- 4262811
58822 l_accrual_line_num := NULL; -- 4262811
58823 l_tmp_amt := NULL; -- 4262811
58824 --
58825
58826 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
58827 l_balance_type_code <> 'B' THEN
58828 IF NVL(p_source_28,'
58829 ') = 'FREIGHT'
58830 THEN
58831
58832 --
58833 XLA_AE_LINES_PKG.SetNewLine;
58834
58835 p_balance_type_code := l_balance_type_code;
58836 -- set the flag so later we will know whether the gain loss line needs to be created
58837
58838 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
58839 p_actual_flag :='A';
58840 END IF;
58841
58842 --
58843 -- bulk performance
58844 --
58845 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
58846 p_header_num => 0); -- 4262811
58847 --
58848 -- set accounting line options
58849 --
58850 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
58851 p_natural_side_code => 'D'
58852 , p_gain_or_loss_flag => 'N'
58853 , p_gl_transfer_mode_code => 'S'
58854 , p_acct_entry_type_code => 'A'
58855 , p_switch_side_flag => 'Y'
58856 , p_merge_duplicate_code => 'A'
58857 );
58858 --
58859 l_acc_rev_natural_side_code := 'C'; -- 4262811
58860 --
58861 --
58862 -- set accounting line type info
58863 --
58864 xla_ae_lines_pkg.SetAcctLineType
58865 (p_component_type => l_component_type
58866 ,p_event_type_code => l_event_type_code
58867 ,p_line_definition_owner_code => l_line_definition_owner_code
58868 ,p_line_definition_code => l_line_definition_code
58869 ,p_accounting_line_code => l_component_code
58870 ,p_accounting_line_type_code => l_component_type_code
58871 ,p_accounting_line_appl_id => l_component_appl_id
58872 ,p_amb_context_code => l_amb_context_code
58873 ,p_entity_code => l_entity_code
58874 ,p_event_class_code => l_event_class_code);
58875 --
58876 -- set accounting class
58877 --
58878 xla_ae_lines_pkg.SetAcctClass(
58879 p_accounting_class_code => 'FREIGHT'
58880 , p_ae_header_id => l_ae_header_id
58881 );
58882
58883 --
58884 -- set rounding class
58885 --
58886 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
58887 'FREIGHT';
58888
58889 --
58890 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
58891 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
58892 --
58893 -- bulk performance
58894 --
58895 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
58896
58897 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
58898 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
58899
58900 -- 4955764
58901 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
58902 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
58903
58904 -- 4458381 Public Sector Enh
58905
58906 --
58907 -- set accounting attributes for the line type
58908 --
58909 l_entered_amt_idx := 23;
58910 l_accted_amt_idx := 28;
58911 l_bflow_applied_to_amt_idx := NULL; -- 5132302
58915 l_rec_acct_attrs.array_num_value(2) :=
58912 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
58913 l_rec_acct_attrs.array_char_value(1) := p_source_58;
58914 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
58916 xla_ae_sources_pkg.GetSystemSourceNum(
58917 p_source_code => 'XLA_EVENT_APPL_ID'
58918 , p_source_type_code => 'Y'
58919 , p_source_application_id => 602
58920 );
58921 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
58922 l_rec_acct_attrs.array_char_value(3) := p_source_60;
58923 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
58924 l_rec_acct_attrs.array_char_value(4) :=
58925 xla_ae_sources_pkg.GetSystemSourceChar(
58926 p_source_code => 'XLA_ENTITY_CODE'
58927 , p_source_type_code => 'Y'
58928 , p_source_application_id => 602
58929 );
58930 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
58931 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_62);
58932 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
58933 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_63);
58934 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
58935 l_rec_acct_attrs.array_num_value(7) := p_source_96;
58936 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
58937 l_rec_acct_attrs.array_char_value(8) := p_source_97;
58938 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
58939 l_rec_acct_attrs.array_char_value(9) := p_source_98;
58940 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
58941 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_99);
58942 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
58943 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_100);
58944 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
58945 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_69);
58946 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
58947 l_rec_acct_attrs.array_char_value(13) := p_source_60;
58948 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
58949 l_rec_acct_attrs.array_num_value(14) := p_source_70;
58950 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
58951 l_rec_acct_attrs.array_num_value(15) := p_source_71;
58952 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
58953 l_rec_acct_attrs.array_char_value(16) := p_source_72;
58954 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
58955 l_rec_acct_attrs.array_num_value(17) := p_source_73;
58956 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
58957 l_rec_acct_attrs.array_num_value(18) := p_source_74;
58958 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
58959 l_rec_acct_attrs.array_num_value(19) := p_source_75;
58960 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
58961 l_rec_acct_attrs.array_char_value(20) := p_source_72;
58962 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
58963 l_rec_acct_attrs.array_num_value(21) := p_source_76;
58964 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
58965 l_rec_acct_attrs.array_char_value(22) := p_source_77;
58966 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
58967 l_rec_acct_attrs.array_num_value(23) := p_source_78;
58968 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
58969 l_rec_acct_attrs.array_char_value(24) := p_source_72;
58970 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
58971 l_rec_acct_attrs.array_date_value(25) := p_source_146;
58972 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
58973 l_rec_acct_attrs.array_num_value(26) := p_source_147;
58974 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
58975 l_rec_acct_attrs.array_char_value(27) := p_source_148;
58976 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
58977 l_rec_acct_attrs.array_num_value(28) := p_source_16;
58978 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
58979 l_rec_acct_attrs.array_date_value(29) := p_source_82;
58980 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
58981 l_rec_acct_attrs.array_char_value(30) := p_source_83;
58982 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
58983 l_rec_acct_attrs.array_date_value(31) := p_source_84;
58984 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
58985 l_rec_acct_attrs.array_char_value(32) := p_source_85;
58986 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
58987 l_rec_acct_attrs.array_num_value(33) := p_source_86;
58988 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
58989 l_rec_acct_attrs.array_num_value(34) := p_source_87;
58990 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
58991 l_rec_acct_attrs.array_char_value(35) := p_source_88;
58992 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
58993 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_89);
58994 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
58995 l_rec_acct_attrs.array_char_value(37) := p_source_60;
58996 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
58997 l_rec_acct_attrs.array_num_value(38) := p_source_90;
59001 l_rec_acct_attrs.array_num_value(40) := p_source_92;
58998 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
58999 l_rec_acct_attrs.array_num_value(39) := p_source_91;
59000 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
59002 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
59003 l_rec_acct_attrs.array_num_value(41) := p_source_93;
59004 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
59005 l_rec_acct_attrs.array_num_value(42) := p_source_94;
59006 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
59007 l_rec_acct_attrs.array_num_value(43) := p_source_95;
59008
59009 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
59010 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
59011
59012 ---------------------------------------------------------------------------------------------------------------
59013 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
59014 ---------------------------------------------------------------------------------------------------------------
59015 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
59016
59017 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
59018 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
59019
59020 IF xla_accounting_cache_pkg.GetValueChar
59021 (p_source_code => 'LEDGER_CATEGORY_CODE'
59022 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
59023 AND l_bflow_method_code = 'PRIOR_ENTRY'
59024 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
59025 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
59026 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
59027 )
59028 THEN
59029 xla_ae_lines_pkg.BflowUpgEntry
59030 (p_business_method_code => l_bflow_method_code
59031 ,p_business_class_code => l_bflow_class_code
59032 ,p_balance_type => l_balance_type_code);
59033 ELSE
59034 NULL;
59035 -- No business flow processing for business flow method of NONE.
59036 END IF;
59037
59038 --
59039 -- call analytical criteria
59040 --
59041
59042 --
59043 -- call description
59044 --
59045
59046 xla_ae_lines_pkg.SetLineDescription(
59047 p_ae_header_id => l_ae_header_id
59048 ,p_description => Description_2 (
59049 p_application_id => p_application_id
59050 , p_ae_header_id => l_ae_header_id
59051 , p_source_1 => p_source_1
59052 )
59053 );
59054
59055
59056 --
59057 -- call ADRs
59058 -- Bug 4922099
59059 --
59060 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
59061 (NVL(l_actual_upg_option, 'N') = 'O') OR
59062 (NVL(l_enc_upg_option, 'N') = 'O')
59063 )
59064 THEN
59065 NULL;
59066 --
59067 --
59068
59069 l_ccid := AcctDerRule_35(
59070 p_application_id => p_application_id
59071 , p_ae_header_id => l_ae_header_id
59072 , p_source_25 => p_source_25
59073 , x_transaction_coa_id => l_adr_transaction_coa_id
59074 , x_accounting_coa_id => l_adr_accounting_coa_id
59075 , x_value_type_code => l_adr_value_type_code
59076 , p_side => 'NA'
59077 );
59078
59079 xla_ae_lines_pkg.set_ccid(
59080 p_code_combination_id => l_ccid
59081 , p_value_type_code => l_adr_value_type_code
59082 , p_transaction_coa_id => l_adr_transaction_coa_id
59083 , p_accounting_coa_id => l_adr_accounting_coa_id
59084 , p_adr_code => 'AP_INVOICE_DIST'
59085 , p_adr_type_code => 'S'
59086 , p_component_type => l_component_type
59087 , p_component_code => l_component_code
59088 , p_component_type_code => l_component_type_code
59089 , p_component_appl_id => l_component_appl_id
59090 , p_amb_context_code => l_amb_context_code
59091 , p_side => 'NA'
59092 );
59093
59094
59095 --
59096 --
59097 END IF;
59098 --
59099 -- Bug 4922099
59100 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
59101 (NVL(l_enc_upg_option, 'N') = 'O')
59102 ) AND
59103 (l_bflow_method_code = 'PRIOR_ENTRY')
59104 )
59105 THEN
59106 IF
59107 --
59108 1 = 2
59109 --
59110 THEN
59111 xla_accounting_err_pkg.build_message
59112 (p_appli_s_name => 'XLA'
59113 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
59114 ,p_token_1 => 'LINE_NUMBER'
59115 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
59116 ,p_token_2 => 'LINE_TYPE_NAME'
59117 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
59121 ,l_component_appl_id
59118 l_component_type
59119 ,l_component_code
59120 ,l_component_type_code
59122 ,l_amb_context_code
59123 ,l_entity_code
59124 ,l_event_class_code
59125 )
59126 ,p_token_3 => 'OWNER'
59127 ,p_value_3 => xla_lookups_pkg.get_meaning(
59128 p_lookup_type => 'XLA_OWNER_TYPE'
59129 ,p_lookup_code => l_component_type_code
59130 )
59131 ,p_token_4 => 'PRODUCT_NAME'
59132 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
59133 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
59134 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
59135 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
59136 ,p_ae_header_id => NULL
59137 );
59138
59139 IF (C_LEVEL_ERROR>= g_log_level) THEN
59140 trace
59141 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
59142 ,p_level => C_LEVEL_ERROR
59143 ,p_module => l_log_module);
59144 END IF;
59145 END IF;
59146 END IF;
59147 --
59148 --
59149 ------------------------------------------------------------------------------------------------
59150 -- 4219869 Business Flow
59151 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
59152 -- Prior Entry. Currently, the following code is always generated.
59153 ------------------------------------------------------------------------------------------------
59154 XLA_AE_LINES_PKG.ValidateCurrentLine;
59155
59156 ------------------------------------------------------------------------------------
59157 -- 4219869 Business Flow
59158 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
59159 ------------------------------------------------------------------------------------
59160 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
59161
59162 ----------------------------------------------------------------------------------
59163 -- 4219869 Business Flow
59164 -- Update journal entry status -- Need to generate this within IF <condition>
59165 ----------------------------------------------------------------------------------
59166 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
59167 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
59168 ,p_balance_type_code => l_balance_type_code
59169 );
59170
59171 -------------------------------------------------------------------------------------------
59172 -- 4262811 - Generate the Accrual Reversal lines
59173 -------------------------------------------------------------------------------------------
59174 BEGIN
59175 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
59176 (g_array_event(p_event_id).array_value_num('header_index'));
59177 IF l_acc_rev_flag IS NULL THEN
59178 l_acc_rev_flag := 'N';
59179 END IF;
59180 EXCEPTION
59181 WHEN OTHERS THEN
59182 l_acc_rev_flag := 'N';
59183 END;
59184 --
59185 IF (l_acc_rev_flag = 'Y') THEN
59186
59187 -- 4645092 ------------------------------------------------------------------------------
59188 -- To allow MPA report to determine if it should generate report process
59189 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
59190 ------------------------------------------------------------------------------------------
59191
59192 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
59193 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
59194 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
59195 -- call ADRs
59196 -- Bug 4922099
59197 --
59198 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
59199 (NVL(l_actual_upg_option, 'N') = 'O') OR
59200 (NVL(l_enc_upg_option, 'N') = 'O')
59201 )
59202 THEN
59203 NULL;
59204 --
59205 --
59206
59207 l_ccid := AcctDerRule_35(
59208 p_application_id => p_application_id
59209 , p_ae_header_id => l_ae_header_id
59210 , p_source_25 => p_source_25
59211 , x_transaction_coa_id => l_adr_transaction_coa_id
59212 , x_accounting_coa_id => l_adr_accounting_coa_id
59213 , x_value_type_code => l_adr_value_type_code
59214 , p_side => 'NA'
59215 );
59216
59220 , p_transaction_coa_id => l_adr_transaction_coa_id
59217 xla_ae_lines_pkg.set_ccid(
59218 p_code_combination_id => l_ccid
59219 , p_value_type_code => l_adr_value_type_code
59221 , p_accounting_coa_id => l_adr_accounting_coa_id
59222 , p_adr_code => 'AP_INVOICE_DIST'
59223 , p_adr_type_code => 'S'
59224 , p_component_type => l_component_type
59225 , p_component_code => l_component_code
59226 , p_component_type_code => l_component_type_code
59227 , p_component_appl_id => l_component_appl_id
59228 , p_amb_context_code => l_amb_context_code
59229 , p_side => 'NA'
59230 );
59231
59232
59233 --
59234 --
59235 END IF;
59236
59237 --
59238 -- Update the line information that should be overwritten
59239 --
59240 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
59241 p_header_num => 1);
59242 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
59243
59244 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
59245
59246 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
59247 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
59248 END IF;
59249
59250 --
59251 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
59252 --
59253 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
59254 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
59255 ELSE
59256 ---------------------------------------------------------------------------------------------------
59257 -- 4262811a Switch Sign
59258 ---------------------------------------------------------------------------------------------------
59259 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
59260 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
59261 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
59262 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
59263 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
59264 -- 5132302
59265 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
59266 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
59267
59268 END IF;
59269
59270 -- 4955764
59271 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
59272 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
59273
59274
59275 XLA_AE_LINES_PKG.ValidateCurrentLine;
59276 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
59277
59278 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
59279 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
59280 ,p_balance_type_code => l_balance_type_code);
59281
59282 END IF;
59283
59284 -----------------------------------------------------------------------------------------
59285 -- 4262811 Multiperiod Accounting
59286 -----------------------------------------------------------------------------------------
59287 -- No MPA option is assigned.
59288
59289
59290 END IF;
59291 END IF;
59292 --
59293
59294 --
59295 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
59296 trace
59297 (p_msg => 'END of AcctLineType_125'
59298 ,p_level => C_LEVEL_PROCEDURE
59299 ,p_module => l_log_module);
59300 END IF;
59301 --
59302 EXCEPTION
59303 WHEN xla_exceptions_pkg.application_exception THEN
59304 RAISE;
59305 WHEN OTHERS THEN
59306 xla_exceptions_pkg.raise_message
59307 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_125');
59308 END AcctLineType_125;
59309 --
59310
59311 ---------------------------------------
59312 --
59313 -- PRIVATE FUNCTION
59314 -- AcctLineType_126
59315 --
59316 ---------------------------------------
59317 PROCEDURE AcctLineType_126 (
59318 p_application_id IN NUMBER
59319 ,p_event_id IN NUMBER
59320 ,p_calculate_acctd_flag IN VARCHAR2
59321 ,p_calculate_g_l_flag IN VARCHAR2
59322 ,p_actual_flag IN OUT VARCHAR2
59323 ,p_balance_type_code OUT VARCHAR2
59324 ,p_gain_or_loss_ref OUT VARCHAR2
59325
59326 --Invoice Distribution Description
59327 , p_source_1 IN VARCHAR2
59328 --Invoice Distribution Ledger Amount
59329 , p_source_16 IN NUMBER
59330 --Invoice Distribution Account
59331 , p_source_25 IN NUMBER
59332 --Invoice Distribution Type
59333 , p_source_28 IN VARCHAR2
59334 , p_source_28_meaning IN VARCHAR2
59335 --Accounting Reversal Indicator
59336 , p_source_58 IN VARCHAR2
59337 --Distribution Link Type
59338 , p_source_60 IN VARCHAR2
59342 , p_source_63 IN NUMBER
59339 --Allocation to Main Distribution Identifier
59340 , p_source_62 IN NUMBER
59341 --Invoice Identifier
59343 --Invoice Distribution Identifier
59344 , p_source_69 IN NUMBER
59345 --Payables Encumbrance Upgrade Credit Account
59346 , p_source_70 IN NUMBER
59347 --Payables Encumbrance Upgrade Credit Amount
59348 , p_source_71 IN NUMBER
59349 --Invoice Currency Code
59350 , p_source_72 IN VARCHAR2
59351 --Payables Encumbrance Upgrade Credit Base Amount
59352 , p_source_73 IN NUMBER
59353 --Payables Encumbrance Upgrade Debit Account
59354 , p_source_74 IN NUMBER
59355 --Payables Encumbrance Upgrade Debit Amount
59356 , p_source_75 IN NUMBER
59357 --Payables Encumbrance Upgrade Debit Base Amount
59358 , p_source_76 IN NUMBER
59359 --Payables Encumbrance Upgrade Option
59360 , p_source_77 IN VARCHAR2
59361 --Invoice Distribution Amount
59362 , p_source_78 IN NUMBER
59363 --Deferred Accounting End Date
59364 , p_source_82 IN DATE
59365 --Deferred Accounting Option
59366 , p_source_83 IN VARCHAR2
59367 --Deferred Accounting Start Date
59368 , p_source_84 IN DATE
59369 --Override Accounted Amount Indicator
59370 , p_source_85 IN VARCHAR2
59371 , p_source_85_meaning IN VARCHAR2
59372 --Invoice Supplier Identifier
59373 , p_source_86 IN NUMBER
59374 --Invoice Supplier Site Identifier
59375 , p_source_87 IN NUMBER
59376 --Third Party Type
59377 , p_source_88 IN VARCHAR2
59378 --Parent Reversal Identifier
59379 , p_source_89 IN NUMBER
59380 --Invoice Distribution Tax Line Identifier
59381 , p_source_91 IN NUMBER
59382 --Invoice Distribution Tax Distribution Identifier from Tax
59383 , p_source_92 IN NUMBER
59384 --Invoice Distribution Summary Tax Line Identifier
59385 , p_source_93 IN NUMBER
59386 --Payables Upgrade Credit Encumbrance Type Identifier
59387 , p_source_94 IN NUMBER
59388 --Payables Upgrade Debit Encumbrance Type Identifier
59389 , p_source_95 IN NUMBER
59390 --Business Flow Accounts Payable Application Identifier
59391 , p_source_96 IN NUMBER
59392 --Business Flow Invoice Distribution Type
59393 , p_source_97 IN VARCHAR2
59394 --Business Flow Invoice Entity Code
59395 , p_source_98 IN VARCHAR2
59396 --Business Flow Invoice Distribution Identifier
59397 , p_source_99 IN NUMBER
59398 --Business Flow Invoice Identifier
59399 , p_source_100 IN NUMBER
59400 --Invoice Exchange Date
59401 , p_source_146 IN DATE
59402 --Invoice Exchange Rate
59403 , p_source_147 IN NUMBER
59404 --Invoice Exchange Rate Type
59405 , p_source_148 IN VARCHAR2
59406 )
59407 IS
59408
59409 l_component_type VARCHAR2(80);
59410 l_component_code VARCHAR2(30);
59411 l_component_type_code VARCHAR2(1);
59412 l_component_appl_id INTEGER;
59413 l_amb_context_code VARCHAR2(30);
59414 l_entity_code VARCHAR2(30);
59415 l_event_class_code VARCHAR2(30);
59416 l_ae_header_id NUMBER;
59417 l_event_type_code VARCHAR2(30);
59418 l_line_definition_code VARCHAR2(30);
59419 l_line_definition_owner_code VARCHAR2(1);
59420 --
59421 -- adr variables
59422 l_segment VARCHAR2(30);
59423 l_ccid NUMBER;
59424 l_adr_transaction_coa_id NUMBER;
59425 l_adr_accounting_coa_id NUMBER;
59426 l_adr_flexfield_segment_code VARCHAR2(30);
59427 l_adr_flex_value_set_id NUMBER;
59428 l_adr_value_type_code VARCHAR2(30);
59429 l_adr_value_combination_id NUMBER;
59430 l_adr_value_segment_code VARCHAR2(30);
59431
59432 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
59433 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
59434 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
59435 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
59436
59437 -- 4262811 Variables ------------------------------------------------------------------------------------------
59438 l_entered_amt_idx NUMBER;
59439 l_accted_amt_idx NUMBER;
59440 l_acc_rev_flag VARCHAR2(1);
59441 l_accrual_line_num NUMBER;
59442 l_tmp_amt NUMBER;
59443 l_acc_rev_natural_side_code VARCHAR2(1);
59444
59445 l_num_entries NUMBER;
59446 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
59447 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
59448 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
59449 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
59450 l_recog_line_1 NUMBER;
59451 l_recog_line_2 NUMBER;
59452
59453 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
59454 l_bflow_applied_to_amt NUMBER; -- 5132302
59455 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
59456
59457 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
59458
59459 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
59460 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
59461
59465 --
59462 ---------------------------------------------------------------------------------------------------------------
59463
59464
59466 -- bulk performance
59467 --
59468 l_balance_type_code VARCHAR2(1);
59469 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
59470 l_log_module VARCHAR2(240);
59471
59472 --
59473 -- Upgrade strategy
59474 --
59475 l_actual_upg_option VARCHAR2(1);
59476 l_enc_upg_option VARCHAR2(1);
59477
59478 --
59479 BEGIN
59480 --
59481 IF g_log_enabled THEN
59482 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_126';
59483 END IF;
59484 --
59485 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
59486
59487 trace
59488 (p_msg => 'BEGIN of AcctLineType_126'
59489 ,p_level => C_LEVEL_PROCEDURE
59490 ,p_module => l_log_module);
59491
59492 END IF;
59493 --
59494 l_component_type := 'AMB_JLT';
59495 l_component_code := 'AP_FREIGHT_EXPENSE_DM';
59496 l_component_type_code := 'S';
59497 l_component_appl_id := 200;
59498 l_amb_context_code := 'DEFAULT';
59499 l_entity_code := 'AP_INVOICES';
59500 l_event_class_code := 'DEBIT MEMOS';
59501 l_event_type_code := 'DEBIT MEMOS_ALL';
59502 l_line_definition_owner_code := 'S';
59503 l_line_definition_code := 'ACCRUAL_DEBIT MEMOS_ALL';
59504 --
59505 l_balance_type_code := 'A';
59506 l_segment := NULL;
59507 l_ccid := NULL;
59508 l_adr_transaction_coa_id := NULL;
59509 l_adr_accounting_coa_id := NULL;
59510 l_adr_flexfield_segment_code := NULL;
59511 l_adr_flex_value_set_id := NULL;
59512 l_adr_value_type_code := NULL;
59513 l_adr_value_combination_id := NULL;
59514 l_adr_value_segment_code := NULL;
59515
59516 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
59517 l_bflow_class_code := ''; -- 4219869 Business Flow
59518 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
59519 l_budgetary_control_flag := 'N';
59520
59521 l_bflow_applied_to_amt_idx := NULL; -- 5132302
59522 l_bflow_applied_to_amt := NULL; -- 5132302
59523 l_entered_amt_idx := NULL; -- 4262811
59524 l_accted_amt_idx := NULL; -- 4262811
59525 l_acc_rev_flag := NULL; -- 4262811
59526 l_accrual_line_num := NULL; -- 4262811
59527 l_tmp_amt := NULL; -- 4262811
59528 --
59529
59530 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
59531 l_balance_type_code <> 'B' THEN
59532 IF NVL(p_source_28,'
59533 ') = 'FREIGHT'
59534 THEN
59535
59536 --
59537 XLA_AE_LINES_PKG.SetNewLine;
59538
59539 p_balance_type_code := l_balance_type_code;
59540 -- set the flag so later we will know whether the gain loss line needs to be created
59541
59542 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
59543 p_actual_flag :='A';
59544 END IF;
59545
59546 --
59547 -- bulk performance
59548 --
59549 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
59550 p_header_num => 0); -- 4262811
59551 --
59552 -- set accounting line options
59553 --
59554 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
59555 p_natural_side_code => 'D'
59556 , p_gain_or_loss_flag => 'N'
59557 , p_gl_transfer_mode_code => 'S'
59558 , p_acct_entry_type_code => 'A'
59559 , p_switch_side_flag => 'Y'
59560 , p_merge_duplicate_code => 'A'
59561 );
59562 --
59563 l_acc_rev_natural_side_code := 'C'; -- 4262811
59564 --
59565 --
59566 -- set accounting line type info
59567 --
59568 xla_ae_lines_pkg.SetAcctLineType
59569 (p_component_type => l_component_type
59570 ,p_event_type_code => l_event_type_code
59571 ,p_line_definition_owner_code => l_line_definition_owner_code
59572 ,p_line_definition_code => l_line_definition_code
59573 ,p_accounting_line_code => l_component_code
59574 ,p_accounting_line_type_code => l_component_type_code
59575 ,p_accounting_line_appl_id => l_component_appl_id
59576 ,p_amb_context_code => l_amb_context_code
59577 ,p_entity_code => l_entity_code
59578 ,p_event_class_code => l_event_class_code);
59579 --
59580 -- set accounting class
59581 --
59582 xla_ae_lines_pkg.SetAcctClass(
59583 p_accounting_class_code => 'FREIGHT'
59584 , p_ae_header_id => l_ae_header_id
59585 );
59586
59587 --
59588 -- set rounding class
59589 --
59590 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
59591 'FREIGHT';
59592
59593 --
59594 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
59595 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
59596 --
59597 -- bulk performance
59601 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
59598 --
59599 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
59600
59602 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
59603
59604 -- 4955764
59605 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
59606 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
59607
59608 -- 4458381 Public Sector Enh
59609
59610 --
59611 -- set accounting attributes for the line type
59612 --
59613 l_entered_amt_idx := 23;
59614 l_accted_amt_idx := 28;
59615 l_bflow_applied_to_amt_idx := NULL; -- 5132302
59616 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
59617 l_rec_acct_attrs.array_char_value(1) := p_source_58;
59618 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
59619 l_rec_acct_attrs.array_num_value(2) :=
59620 xla_ae_sources_pkg.GetSystemSourceNum(
59621 p_source_code => 'XLA_EVENT_APPL_ID'
59622 , p_source_type_code => 'Y'
59623 , p_source_application_id => 602
59624 );
59625 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
59626 l_rec_acct_attrs.array_char_value(3) := p_source_60;
59627 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
59628 l_rec_acct_attrs.array_char_value(4) :=
59629 xla_ae_sources_pkg.GetSystemSourceChar(
59630 p_source_code => 'XLA_ENTITY_CODE'
59631 , p_source_type_code => 'Y'
59632 , p_source_application_id => 602
59633 );
59634 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
59635 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_62);
59636 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
59637 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_63);
59638 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
59639 l_rec_acct_attrs.array_num_value(7) := p_source_96;
59640 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
59641 l_rec_acct_attrs.array_char_value(8) := p_source_97;
59642 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
59643 l_rec_acct_attrs.array_char_value(9) := p_source_98;
59644 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
59645 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_99);
59646 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
59647 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_100);
59648 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
59649 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_69);
59650 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
59651 l_rec_acct_attrs.array_char_value(13) := p_source_60;
59652 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
59653 l_rec_acct_attrs.array_num_value(14) := p_source_70;
59654 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
59655 l_rec_acct_attrs.array_num_value(15) := p_source_71;
59656 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
59657 l_rec_acct_attrs.array_char_value(16) := p_source_72;
59658 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
59659 l_rec_acct_attrs.array_num_value(17) := p_source_73;
59660 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
59661 l_rec_acct_attrs.array_num_value(18) := p_source_74;
59662 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
59663 l_rec_acct_attrs.array_num_value(19) := p_source_75;
59664 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
59665 l_rec_acct_attrs.array_char_value(20) := p_source_72;
59666 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
59667 l_rec_acct_attrs.array_num_value(21) := p_source_76;
59668 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
59669 l_rec_acct_attrs.array_char_value(22) := p_source_77;
59670 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
59671 l_rec_acct_attrs.array_num_value(23) := p_source_78;
59672 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
59673 l_rec_acct_attrs.array_char_value(24) := p_source_72;
59674 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
59675 l_rec_acct_attrs.array_date_value(25) := p_source_146;
59676 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
59677 l_rec_acct_attrs.array_num_value(26) := p_source_147;
59678 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
59679 l_rec_acct_attrs.array_char_value(27) := p_source_148;
59680 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
59681 l_rec_acct_attrs.array_num_value(28) := p_source_16;
59682 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
59683 l_rec_acct_attrs.array_date_value(29) := p_source_82;
59684 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
59685 l_rec_acct_attrs.array_char_value(30) := p_source_83;
59686 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
59687 l_rec_acct_attrs.array_date_value(31) := p_source_84;
59688 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
59689 l_rec_acct_attrs.array_char_value(32) := p_source_85;
59693 l_rec_acct_attrs.array_num_value(34) := p_source_87;
59690 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
59691 l_rec_acct_attrs.array_num_value(33) := p_source_86;
59692 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
59694 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
59695 l_rec_acct_attrs.array_char_value(35) := p_source_88;
59696 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
59697 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_89);
59698 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
59699 l_rec_acct_attrs.array_char_value(37) := p_source_60;
59700 l_rec_acct_attrs.array_acct_attr_code(38) := 'TAX_LINE_REF_ID';
59701 l_rec_acct_attrs.array_num_value(38) := p_source_91;
59702 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_REC_NREC_DIST_REF_ID';
59703 l_rec_acct_attrs.array_num_value(39) := p_source_92;
59704 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_SUMMARY_LINE_REF_ID';
59705 l_rec_acct_attrs.array_num_value(40) := p_source_93;
59706 l_rec_acct_attrs.array_acct_attr_code(41) := 'UPG_CR_ENC_TYPE_ID';
59707 l_rec_acct_attrs.array_num_value(41) := p_source_94;
59708 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_DR_ENC_TYPE_ID';
59709 l_rec_acct_attrs.array_num_value(42) := p_source_95;
59710
59711 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
59712 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
59713
59714 ---------------------------------------------------------------------------------------------------------------
59715 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
59716 ---------------------------------------------------------------------------------------------------------------
59717 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
59718
59719 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
59720 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
59721
59722 IF xla_accounting_cache_pkg.GetValueChar
59723 (p_source_code => 'LEDGER_CATEGORY_CODE'
59724 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
59725 AND l_bflow_method_code = 'PRIOR_ENTRY'
59726 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
59727 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
59728 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
59729 )
59730 THEN
59731 xla_ae_lines_pkg.BflowUpgEntry
59732 (p_business_method_code => l_bflow_method_code
59733 ,p_business_class_code => l_bflow_class_code
59734 ,p_balance_type => l_balance_type_code);
59735 ELSE
59736 NULL;
59737 -- No business flow processing for business flow method of NONE.
59738 END IF;
59739
59740 --
59741 -- call analytical criteria
59742 --
59743
59744 --
59745 -- call description
59746 --
59747
59748 xla_ae_lines_pkg.SetLineDescription(
59749 p_ae_header_id => l_ae_header_id
59750 ,p_description => Description_2 (
59751 p_application_id => p_application_id
59752 , p_ae_header_id => l_ae_header_id
59753 , p_source_1 => p_source_1
59754 )
59755 );
59756
59757
59758 --
59759 -- call ADRs
59760 -- Bug 4922099
59761 --
59762 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
59763 (NVL(l_actual_upg_option, 'N') = 'O') OR
59764 (NVL(l_enc_upg_option, 'N') = 'O')
59765 )
59766 THEN
59767 NULL;
59768 --
59769 --
59770
59771 l_ccid := AcctDerRule_35(
59772 p_application_id => p_application_id
59773 , p_ae_header_id => l_ae_header_id
59774 , p_source_25 => p_source_25
59775 , x_transaction_coa_id => l_adr_transaction_coa_id
59776 , x_accounting_coa_id => l_adr_accounting_coa_id
59777 , x_value_type_code => l_adr_value_type_code
59778 , p_side => 'NA'
59779 );
59780
59781 xla_ae_lines_pkg.set_ccid(
59782 p_code_combination_id => l_ccid
59783 , p_value_type_code => l_adr_value_type_code
59784 , p_transaction_coa_id => l_adr_transaction_coa_id
59785 , p_accounting_coa_id => l_adr_accounting_coa_id
59786 , p_adr_code => 'AP_INVOICE_DIST'
59787 , p_adr_type_code => 'S'
59788 , p_component_type => l_component_type
59789 , p_component_code => l_component_code
59790 , p_component_type_code => l_component_type_code
59791 , p_component_appl_id => l_component_appl_id
59792 , p_amb_context_code => l_amb_context_code
59793 , p_side => 'NA'
59794 );
59795
59796
59797 --
59798 --
59799 END IF;
59800 --
59801 -- Bug 4922099
59802 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
59803 (NVL(l_enc_upg_option, 'N') = 'O')
59804 ) AND
59805 (l_bflow_method_code = 'PRIOR_ENTRY')
59806 )
59807 THEN
59808 IF
59809 --
59810 1 = 2
59814 (p_appli_s_name => 'XLA'
59811 --
59812 THEN
59813 xla_accounting_err_pkg.build_message
59815 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
59816 ,p_token_1 => 'LINE_NUMBER'
59817 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
59818 ,p_token_2 => 'LINE_TYPE_NAME'
59819 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
59820 l_component_type
59821 ,l_component_code
59822 ,l_component_type_code
59823 ,l_component_appl_id
59824 ,l_amb_context_code
59825 ,l_entity_code
59826 ,l_event_class_code
59827 )
59828 ,p_token_3 => 'OWNER'
59829 ,p_value_3 => xla_lookups_pkg.get_meaning(
59830 p_lookup_type => 'XLA_OWNER_TYPE'
59831 ,p_lookup_code => l_component_type_code
59832 )
59833 ,p_token_4 => 'PRODUCT_NAME'
59834 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
59835 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
59836 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
59837 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
59838 ,p_ae_header_id => NULL
59839 );
59840
59841 IF (C_LEVEL_ERROR>= g_log_level) THEN
59842 trace
59843 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
59844 ,p_level => C_LEVEL_ERROR
59845 ,p_module => l_log_module);
59846 END IF;
59847 END IF;
59848 END IF;
59849 --
59850 --
59851 ------------------------------------------------------------------------------------------------
59852 -- 4219869 Business Flow
59853 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
59854 -- Prior Entry. Currently, the following code is always generated.
59855 ------------------------------------------------------------------------------------------------
59856 XLA_AE_LINES_PKG.ValidateCurrentLine;
59857
59858 ------------------------------------------------------------------------------------
59859 -- 4219869 Business Flow
59860 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
59861 ------------------------------------------------------------------------------------
59862 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
59863
59864 ----------------------------------------------------------------------------------
59865 -- 4219869 Business Flow
59866 -- Update journal entry status -- Need to generate this within IF <condition>
59867 ----------------------------------------------------------------------------------
59868 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
59869 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
59870 ,p_balance_type_code => l_balance_type_code
59871 );
59872
59873 -------------------------------------------------------------------------------------------
59874 -- 4262811 - Generate the Accrual Reversal lines
59875 -------------------------------------------------------------------------------------------
59876 BEGIN
59877 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
59878 (g_array_event(p_event_id).array_value_num('header_index'));
59879 IF l_acc_rev_flag IS NULL THEN
59880 l_acc_rev_flag := 'N';
59881 END IF;
59882 EXCEPTION
59883 WHEN OTHERS THEN
59884 l_acc_rev_flag := 'N';
59885 END;
59886 --
59887 IF (l_acc_rev_flag = 'Y') THEN
59888
59889 -- 4645092 ------------------------------------------------------------------------------
59890 -- To allow MPA report to determine if it should generate report process
59891 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
59892 ------------------------------------------------------------------------------------------
59893
59894 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
59895 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
59896 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
59897 -- call ADRs
59898 -- Bug 4922099
59899 --
59900 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
59901 (NVL(l_actual_upg_option, 'N') = 'O') OR
59902 (NVL(l_enc_upg_option, 'N') = 'O')
59903 )
59907 --
59904 THEN
59905 NULL;
59906 --
59908
59909 l_ccid := AcctDerRule_35(
59910 p_application_id => p_application_id
59911 , p_ae_header_id => l_ae_header_id
59912 , p_source_25 => p_source_25
59913 , x_transaction_coa_id => l_adr_transaction_coa_id
59914 , x_accounting_coa_id => l_adr_accounting_coa_id
59915 , x_value_type_code => l_adr_value_type_code
59916 , p_side => 'NA'
59917 );
59918
59919 xla_ae_lines_pkg.set_ccid(
59920 p_code_combination_id => l_ccid
59921 , p_value_type_code => l_adr_value_type_code
59922 , p_transaction_coa_id => l_adr_transaction_coa_id
59923 , p_accounting_coa_id => l_adr_accounting_coa_id
59924 , p_adr_code => 'AP_INVOICE_DIST'
59925 , p_adr_type_code => 'S'
59926 , p_component_type => l_component_type
59927 , p_component_code => l_component_code
59928 , p_component_type_code => l_component_type_code
59929 , p_component_appl_id => l_component_appl_id
59930 , p_amb_context_code => l_amb_context_code
59931 , p_side => 'NA'
59932 );
59933
59934
59935 --
59936 --
59937 END IF;
59938
59939 --
59940 -- Update the line information that should be overwritten
59941 --
59942 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
59943 p_header_num => 1);
59944 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
59945
59946 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
59947
59948 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
59949 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
59950 END IF;
59951
59952 --
59953 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
59954 --
59955 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
59956 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
59957 ELSE
59958 ---------------------------------------------------------------------------------------------------
59959 -- 4262811a Switch Sign
59960 ---------------------------------------------------------------------------------------------------
59961 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
59962 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
59963 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
59964 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
59965 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
59966 -- 5132302
59967 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
59968 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
59969
59970 END IF;
59971
59972 -- 4955764
59973 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
59974 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
59975
59976
59977 XLA_AE_LINES_PKG.ValidateCurrentLine;
59978 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
59979
59980 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
59981 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
59982 ,p_balance_type_code => l_balance_type_code);
59983
59984 END IF;
59985
59986 -----------------------------------------------------------------------------------------
59987 -- 4262811 Multiperiod Accounting
59988 -----------------------------------------------------------------------------------------
59989 -- No MPA option is assigned.
59990
59991
59992 END IF;
59993 END IF;
59994 --
59995
59996 --
59997 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
59998 trace
59999 (p_msg => 'END of AcctLineType_126'
60000 ,p_level => C_LEVEL_PROCEDURE
60001 ,p_module => l_log_module);
60002 END IF;
60003 --
60004 EXCEPTION
60005 WHEN xla_exceptions_pkg.application_exception THEN
60006 RAISE;
60007 WHEN OTHERS THEN
60008 xla_exceptions_pkg.raise_message
60009 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_126');
60010 END AcctLineType_126;
60011 --
60012
60013 ---------------------------------------
60014 --
60015 -- PRIVATE FUNCTION
60016 -- AcctLineType_127
60017 --
60018 ---------------------------------------
60019 PROCEDURE AcctLineType_127 (
60020 p_application_id IN NUMBER
60021 ,p_event_id IN NUMBER
60022 ,p_calculate_acctd_flag IN VARCHAR2
60023 ,p_calculate_g_l_flag IN VARCHAR2
60024 ,p_actual_flag IN OUT VARCHAR2
60025 ,p_balance_type_code OUT VARCHAR2
60029 , p_source_1 IN VARCHAR2
60026 ,p_gain_or_loss_ref OUT VARCHAR2
60027
60028 --Invoice Distribution Description
60030 --Invoice Distribution Ledger Amount
60031 , p_source_16 IN NUMBER
60032 --Invoice Distribution Account
60033 , p_source_25 IN NUMBER
60034 --Invoice Distribution Type
60035 , p_source_28 IN VARCHAR2
60036 , p_source_28_meaning IN VARCHAR2
60037 --Accounting Reversal Indicator
60038 , p_source_58 IN VARCHAR2
60039 --Distribution Link Type
60040 , p_source_60 IN VARCHAR2
60041 --Allocation to Main Distribution Identifier
60042 , p_source_62 IN NUMBER
60043 --Invoice Identifier
60044 , p_source_63 IN NUMBER
60045 --Invoice Distribution Identifier
60046 , p_source_69 IN NUMBER
60047 --Payables Encumbrance Upgrade Credit Account
60048 , p_source_70 IN NUMBER
60049 --Payables Encumbrance Upgrade Credit Amount
60050 , p_source_71 IN NUMBER
60051 --Invoice Currency Code
60052 , p_source_72 IN VARCHAR2
60053 --Payables Encumbrance Upgrade Credit Base Amount
60054 , p_source_73 IN NUMBER
60055 --Payables Encumbrance Upgrade Debit Account
60056 , p_source_74 IN NUMBER
60057 --Payables Encumbrance Upgrade Debit Amount
60058 , p_source_75 IN NUMBER
60059 --Payables Encumbrance Upgrade Debit Base Amount
60060 , p_source_76 IN NUMBER
60061 --Payables Encumbrance Upgrade Option
60062 , p_source_77 IN VARCHAR2
60063 --Invoice Distribution Amount
60064 , p_source_78 IN NUMBER
60065 --Deferred Accounting End Date
60066 , p_source_82 IN DATE
60067 --Deferred Accounting Option
60068 , p_source_83 IN VARCHAR2
60069 --Deferred Accounting Start Date
60070 , p_source_84 IN DATE
60071 --Override Accounted Amount Indicator
60072 , p_source_85 IN VARCHAR2
60073 , p_source_85_meaning IN VARCHAR2
60074 --Invoice Supplier Identifier
60075 , p_source_86 IN NUMBER
60076 --Invoice Supplier Site Identifier
60077 , p_source_87 IN NUMBER
60078 --Third Party Type
60079 , p_source_88 IN VARCHAR2
60080 --Parent Reversal Identifier
60081 , p_source_89 IN NUMBER
60082 --Invoice Distribution Statistical Amount
60083 , p_source_90 IN NUMBER
60084 --Invoice Distribution Tax Line Identifier
60085 , p_source_91 IN NUMBER
60086 --Invoice Distribution Tax Distribution Identifier from Tax
60087 , p_source_92 IN NUMBER
60088 --Invoice Distribution Summary Tax Line Identifier
60089 , p_source_93 IN NUMBER
60090 --Payables Upgrade Credit Encumbrance Type Identifier
60091 , p_source_94 IN NUMBER
60092 --Payables Upgrade Debit Encumbrance Type Identifier
60093 , p_source_95 IN NUMBER
60094 --Business Flow Accounts Payable Application Identifier
60095 , p_source_96 IN NUMBER
60096 --Business Flow Invoice Distribution Type
60097 , p_source_97 IN VARCHAR2
60098 --Business Flow Invoice Entity Code
60099 , p_source_98 IN VARCHAR2
60100 --Business Flow Invoice Distribution Identifier
60101 , p_source_99 IN NUMBER
60102 --Business Flow Invoice Identifier
60103 , p_source_100 IN NUMBER
60104 --Invoice Exchange Date
60105 , p_source_146 IN DATE
60106 --Invoice Exchange Rate
60107 , p_source_147 IN NUMBER
60108 --Invoice Exchange Rate Type
60109 , p_source_148 IN VARCHAR2
60110 )
60111 IS
60112
60113 l_component_type VARCHAR2(80);
60114 l_component_code VARCHAR2(30);
60115 l_component_type_code VARCHAR2(1);
60116 l_component_appl_id INTEGER;
60117 l_amb_context_code VARCHAR2(30);
60118 l_entity_code VARCHAR2(30);
60119 l_event_class_code VARCHAR2(30);
60120 l_ae_header_id NUMBER;
60121 l_event_type_code VARCHAR2(30);
60122 l_line_definition_code VARCHAR2(30);
60123 l_line_definition_owner_code VARCHAR2(1);
60124 --
60125 -- adr variables
60126 l_segment VARCHAR2(30);
60127 l_ccid NUMBER;
60128 l_adr_transaction_coa_id NUMBER;
60129 l_adr_accounting_coa_id NUMBER;
60130 l_adr_flexfield_segment_code VARCHAR2(30);
60131 l_adr_flex_value_set_id NUMBER;
60132 l_adr_value_type_code VARCHAR2(30);
60133 l_adr_value_combination_id NUMBER;
60134 l_adr_value_segment_code VARCHAR2(30);
60135
60136 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
60137 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
60138 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
60139 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
60140
60141 -- 4262811 Variables ------------------------------------------------------------------------------------------
60142 l_entered_amt_idx NUMBER;
60143 l_accted_amt_idx NUMBER;
60144 l_acc_rev_flag VARCHAR2(1);
60145 l_accrual_line_num NUMBER;
60146 l_tmp_amt NUMBER;
60147 l_acc_rev_natural_side_code VARCHAR2(1);
60148
60149 l_num_entries NUMBER;
60150 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
60151 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
60152 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
60156
60153 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
60154 l_recog_line_1 NUMBER;
60155 l_recog_line_2 NUMBER;
60157 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
60158 l_bflow_applied_to_amt NUMBER; -- 5132302
60159 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
60160
60161 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
60162
60163 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
60164 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
60165
60166 ---------------------------------------------------------------------------------------------------------------
60167
60168
60169 --
60170 -- bulk performance
60171 --
60172 l_balance_type_code VARCHAR2(1);
60173 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
60174 l_log_module VARCHAR2(240);
60175
60176 --
60177 -- Upgrade strategy
60178 --
60179 l_actual_upg_option VARCHAR2(1);
60180 l_enc_upg_option VARCHAR2(1);
60181
60182 --
60183 BEGIN
60184 --
60185 IF g_log_enabled THEN
60186 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_127';
60187 END IF;
60188 --
60189 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
60190
60191 trace
60192 (p_msg => 'BEGIN of AcctLineType_127'
60193 ,p_level => C_LEVEL_PROCEDURE
60194 ,p_module => l_log_module);
60195
60196 END IF;
60197 --
60198 l_component_type := 'AMB_JLT';
60199 l_component_code := 'AP_FREIGHT_EXPENSE_INV';
60200 l_component_type_code := 'S';
60201 l_component_appl_id := 200;
60202 l_amb_context_code := 'DEFAULT';
60203 l_entity_code := 'AP_INVOICES';
60204 l_event_class_code := 'INVOICES';
60205 l_event_type_code := 'INVOICES_ALL';
60206 l_line_definition_owner_code := 'S';
60207 l_line_definition_code := 'ACCRUAL_INVOICES_ALL';
60208 --
60209 l_balance_type_code := 'A';
60210 l_segment := NULL;
60211 l_ccid := NULL;
60212 l_adr_transaction_coa_id := NULL;
60213 l_adr_accounting_coa_id := NULL;
60214 l_adr_flexfield_segment_code := NULL;
60215 l_adr_flex_value_set_id := NULL;
60216 l_adr_value_type_code := NULL;
60217 l_adr_value_combination_id := NULL;
60218 l_adr_value_segment_code := NULL;
60219
60220 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
60221 l_bflow_class_code := ''; -- 4219869 Business Flow
60222 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
60223 l_budgetary_control_flag := 'N';
60224
60225 l_bflow_applied_to_amt_idx := NULL; -- 5132302
60226 l_bflow_applied_to_amt := NULL; -- 5132302
60227 l_entered_amt_idx := NULL; -- 4262811
60228 l_accted_amt_idx := NULL; -- 4262811
60229 l_acc_rev_flag := NULL; -- 4262811
60230 l_accrual_line_num := NULL; -- 4262811
60231 l_tmp_amt := NULL; -- 4262811
60232 --
60233
60234 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
60235 l_balance_type_code <> 'B' THEN
60236 IF NVL(p_source_28,'
60237 ') = 'FREIGHT'
60238 THEN
60239
60240 --
60241 XLA_AE_LINES_PKG.SetNewLine;
60242
60243 p_balance_type_code := l_balance_type_code;
60244 -- set the flag so later we will know whether the gain loss line needs to be created
60245
60246 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
60247 p_actual_flag :='A';
60248 END IF;
60249
60250 --
60251 -- bulk performance
60252 --
60253 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
60254 p_header_num => 0); -- 4262811
60255 --
60256 -- set accounting line options
60257 --
60258 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
60259 p_natural_side_code => 'D'
60260 , p_gain_or_loss_flag => 'N'
60261 , p_gl_transfer_mode_code => 'S'
60262 , p_acct_entry_type_code => 'A'
60263 , p_switch_side_flag => 'Y'
60264 , p_merge_duplicate_code => 'A'
60265 );
60266 --
60267 l_acc_rev_natural_side_code := 'C'; -- 4262811
60268 --
60269 --
60270 -- set accounting line type info
60271 --
60272 xla_ae_lines_pkg.SetAcctLineType
60273 (p_component_type => l_component_type
60274 ,p_event_type_code => l_event_type_code
60275 ,p_line_definition_owner_code => l_line_definition_owner_code
60276 ,p_line_definition_code => l_line_definition_code
60277 ,p_accounting_line_code => l_component_code
60278 ,p_accounting_line_type_code => l_component_type_code
60279 ,p_accounting_line_appl_id => l_component_appl_id
60280 ,p_amb_context_code => l_amb_context_code
60281 ,p_entity_code => l_entity_code
60282 ,p_event_class_code => l_event_class_code);
60283 --
60287 p_accounting_class_code => 'FREIGHT'
60284 -- set accounting class
60285 --
60286 xla_ae_lines_pkg.SetAcctClass(
60288 , p_ae_header_id => l_ae_header_id
60289 );
60290
60291 --
60292 -- set rounding class
60293 --
60294 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
60295 'FREIGHT';
60296
60297 --
60298 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
60299 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
60300 --
60301 -- bulk performance
60302 --
60303 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
60304
60305 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
60306 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
60307
60308 -- 4955764
60309 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
60310 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
60311
60312 -- 4458381 Public Sector Enh
60313
60314 --
60315 -- set accounting attributes for the line type
60316 --
60317 l_entered_amt_idx := 24;
60318 l_accted_amt_idx := 29;
60319 l_bflow_applied_to_amt_idx := 7; -- 5132302
60320 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
60321 l_rec_acct_attrs.array_char_value(1) := p_source_58;
60322 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
60323 l_rec_acct_attrs.array_num_value(2) :=
60324 xla_ae_sources_pkg.GetSystemSourceNum(
60325 p_source_code => 'XLA_EVENT_APPL_ID'
60326 , p_source_type_code => 'Y'
60327 , p_source_application_id => 602
60328 );
60329 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
60330 l_rec_acct_attrs.array_char_value(3) := p_source_60;
60331 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
60332 l_rec_acct_attrs.array_char_value(4) :=
60333 xla_ae_sources_pkg.GetSystemSourceChar(
60334 p_source_code => 'XLA_ENTITY_CODE'
60335 , p_source_type_code => 'Y'
60336 , p_source_application_id => 602
60337 );
60338 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
60339 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_62);
60340 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
60341 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_63);
60342 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
60343 l_rec_acct_attrs.array_num_value(7) := p_source_78;
60344 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
60345 l_rec_acct_attrs.array_num_value(8) := p_source_96;
60346 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
60347 l_rec_acct_attrs.array_char_value(9) := p_source_97;
60348 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
60349 l_rec_acct_attrs.array_char_value(10) := p_source_98;
60350 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
60351 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_99);
60352 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
60353 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_100);
60354 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
60355 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_69);
60356 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
60357 l_rec_acct_attrs.array_char_value(14) := p_source_60;
60358 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
60359 l_rec_acct_attrs.array_num_value(15) := p_source_70;
60360 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
60361 l_rec_acct_attrs.array_num_value(16) := p_source_71;
60362 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
60363 l_rec_acct_attrs.array_char_value(17) := p_source_72;
60364 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
60365 l_rec_acct_attrs.array_num_value(18) := p_source_73;
60366 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
60367 l_rec_acct_attrs.array_num_value(19) := p_source_74;
60368 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
60369 l_rec_acct_attrs.array_num_value(20) := p_source_75;
60370 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
60371 l_rec_acct_attrs.array_char_value(21) := p_source_72;
60372 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
60373 l_rec_acct_attrs.array_num_value(22) := p_source_76;
60374 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
60375 l_rec_acct_attrs.array_char_value(23) := p_source_77;
60376 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_AMOUNT';
60377 l_rec_acct_attrs.array_num_value(24) := p_source_78;
60378 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_CODE';
60379 l_rec_acct_attrs.array_char_value(25) := p_source_72;
60380 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_DATE';
60381 l_rec_acct_attrs.array_date_value(26) := p_source_146;
60382 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE';
60386 l_rec_acct_attrs.array_acct_attr_code(29) := 'LEDGER_AMOUNT';
60383 l_rec_acct_attrs.array_num_value(27) := p_source_147;
60384 l_rec_acct_attrs.array_acct_attr_code(28) := 'EXCHANGE_RATE_TYPE';
60385 l_rec_acct_attrs.array_char_value(28) := p_source_148;
60387 l_rec_acct_attrs.array_num_value(29) := p_source_16;
60388 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_END_DATE';
60389 l_rec_acct_attrs.array_date_value(30) := p_source_82;
60390 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_OPTION';
60391 l_rec_acct_attrs.array_char_value(31) := p_source_83;
60392 l_rec_acct_attrs.array_acct_attr_code(32) := 'MULTIPERIOD_START_DATE';
60393 l_rec_acct_attrs.array_date_value(32) := p_source_84;
60394 l_rec_acct_attrs.array_acct_attr_code(33) := 'OVERRIDE_ACCTD_AMT_FLAG';
60395 l_rec_acct_attrs.array_char_value(33) := p_source_85;
60396 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_ID';
60397 l_rec_acct_attrs.array_num_value(34) := p_source_86;
60398 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_SITE_ID';
60399 l_rec_acct_attrs.array_num_value(35) := p_source_87;
60400 l_rec_acct_attrs.array_acct_attr_code(36) := 'PARTY_TYPE';
60401 l_rec_acct_attrs.array_char_value(36) := p_source_88;
60402 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_ID1';
60403 l_rec_acct_attrs.array_num_value(37) := to_char(p_source_89);
60404 l_rec_acct_attrs.array_acct_attr_code(38) := 'REVERSED_DISTRIBUTION_TYPE';
60405 l_rec_acct_attrs.array_char_value(38) := p_source_60;
60406 l_rec_acct_attrs.array_acct_attr_code(39) := 'STATISTICAL_AMOUNT';
60407 l_rec_acct_attrs.array_num_value(39) := p_source_90;
60408 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_LINE_REF_ID';
60409 l_rec_acct_attrs.array_num_value(40) := p_source_91;
60410 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_REC_NREC_DIST_REF_ID';
60411 l_rec_acct_attrs.array_num_value(41) := p_source_92;
60412 l_rec_acct_attrs.array_acct_attr_code(42) := 'TAX_SUMMARY_LINE_REF_ID';
60413 l_rec_acct_attrs.array_num_value(42) := p_source_93;
60414 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_CR_ENC_TYPE_ID';
60415 l_rec_acct_attrs.array_num_value(43) := p_source_94;
60416 l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
60417 l_rec_acct_attrs.array_num_value(44) := p_source_95;
60418
60419 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
60420 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
60421
60422 ---------------------------------------------------------------------------------------------------------------
60423 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
60424 ---------------------------------------------------------------------------------------------------------------
60425 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
60426
60427 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
60428 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
60429
60430 IF xla_accounting_cache_pkg.GetValueChar
60431 (p_source_code => 'LEDGER_CATEGORY_CODE'
60432 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
60433 AND l_bflow_method_code = 'PRIOR_ENTRY'
60434 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
60435 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
60436 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
60437 )
60438 THEN
60439 xla_ae_lines_pkg.BflowUpgEntry
60440 (p_business_method_code => l_bflow_method_code
60441 ,p_business_class_code => l_bflow_class_code
60442 ,p_balance_type => l_balance_type_code);
60443 ELSE
60444 NULL;
60445 -- No business flow processing for business flow method of NONE.
60446 END IF;
60447
60448 --
60449 -- call analytical criteria
60450 --
60451
60452 --
60453 -- call description
60454 --
60455
60456 xla_ae_lines_pkg.SetLineDescription(
60457 p_ae_header_id => l_ae_header_id
60458 ,p_description => Description_2 (
60459 p_application_id => p_application_id
60460 , p_ae_header_id => l_ae_header_id
60461 , p_source_1 => p_source_1
60462 )
60463 );
60464
60465
60466 --
60467 -- call ADRs
60468 -- Bug 4922099
60469 --
60470 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
60471 (NVL(l_actual_upg_option, 'N') = 'O') OR
60472 (NVL(l_enc_upg_option, 'N') = 'O')
60473 )
60474 THEN
60475 NULL;
60476 --
60477 --
60478
60479 l_ccid := AcctDerRule_35(
60480 p_application_id => p_application_id
60481 , p_ae_header_id => l_ae_header_id
60482 , p_source_25 => p_source_25
60483 , x_transaction_coa_id => l_adr_transaction_coa_id
60484 , x_accounting_coa_id => l_adr_accounting_coa_id
60485 , x_value_type_code => l_adr_value_type_code
60486 , p_side => 'NA'
60487 );
60488
60489 xla_ae_lines_pkg.set_ccid(
60490 p_code_combination_id => l_ccid
60491 , p_value_type_code => l_adr_value_type_code
60495 , p_adr_type_code => 'S'
60492 , p_transaction_coa_id => l_adr_transaction_coa_id
60493 , p_accounting_coa_id => l_adr_accounting_coa_id
60494 , p_adr_code => 'AP_INVOICE_DIST'
60496 , p_component_type => l_component_type
60497 , p_component_code => l_component_code
60498 , p_component_type_code => l_component_type_code
60499 , p_component_appl_id => l_component_appl_id
60500 , p_amb_context_code => l_amb_context_code
60501 , p_side => 'NA'
60502 );
60503
60504
60505 --
60506 --
60507 END IF;
60508 --
60509 -- Bug 4922099
60510 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
60511 (NVL(l_enc_upg_option, 'N') = 'O')
60512 ) AND
60513 (l_bflow_method_code = 'PRIOR_ENTRY')
60514 )
60515 THEN
60516 IF
60517 --
60518 1 = 2
60519 --
60520 THEN
60521 xla_accounting_err_pkg.build_message
60522 (p_appli_s_name => 'XLA'
60523 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
60524 ,p_token_1 => 'LINE_NUMBER'
60525 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
60526 ,p_token_2 => 'LINE_TYPE_NAME'
60527 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
60528 l_component_type
60529 ,l_component_code
60530 ,l_component_type_code
60531 ,l_component_appl_id
60532 ,l_amb_context_code
60533 ,l_entity_code
60534 ,l_event_class_code
60535 )
60536 ,p_token_3 => 'OWNER'
60537 ,p_value_3 => xla_lookups_pkg.get_meaning(
60538 p_lookup_type => 'XLA_OWNER_TYPE'
60539 ,p_lookup_code => l_component_type_code
60540 )
60541 ,p_token_4 => 'PRODUCT_NAME'
60542 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
60543 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
60544 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
60545 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
60546 ,p_ae_header_id => NULL
60547 );
60548
60549 IF (C_LEVEL_ERROR>= g_log_level) THEN
60550 trace
60551 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
60552 ,p_level => C_LEVEL_ERROR
60553 ,p_module => l_log_module);
60554 END IF;
60555 END IF;
60556 END IF;
60557 --
60558 --
60559 ------------------------------------------------------------------------------------------------
60560 -- 4219869 Business Flow
60561 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
60562 -- Prior Entry. Currently, the following code is always generated.
60563 ------------------------------------------------------------------------------------------------
60564 XLA_AE_LINES_PKG.ValidateCurrentLine;
60565
60566 ------------------------------------------------------------------------------------
60567 -- 4219869 Business Flow
60568 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
60569 ------------------------------------------------------------------------------------
60570 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
60571
60572 ----------------------------------------------------------------------------------
60573 -- 4219869 Business Flow
60574 -- Update journal entry status -- Need to generate this within IF <condition>
60575 ----------------------------------------------------------------------------------
60576 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
60577 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
60578 ,p_balance_type_code => l_balance_type_code
60579 );
60580
60581 -------------------------------------------------------------------------------------------
60582 -- 4262811 - Generate the Accrual Reversal lines
60583 -------------------------------------------------------------------------------------------
60584 BEGIN
60585 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
60586 (g_array_event(p_event_id).array_value_num('header_index'));
60587 IF l_acc_rev_flag IS NULL THEN
60591 WHEN OTHERS THEN
60588 l_acc_rev_flag := 'N';
60589 END IF;
60590 EXCEPTION
60592 l_acc_rev_flag := 'N';
60593 END;
60594 --
60595 IF (l_acc_rev_flag = 'Y') THEN
60596
60597 -- 4645092 ------------------------------------------------------------------------------
60598 -- To allow MPA report to determine if it should generate report process
60599 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
60600 ------------------------------------------------------------------------------------------
60601
60602 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
60603 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
60604 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
60605 -- call ADRs
60606 -- Bug 4922099
60607 --
60608 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
60609 (NVL(l_actual_upg_option, 'N') = 'O') OR
60610 (NVL(l_enc_upg_option, 'N') = 'O')
60611 )
60612 THEN
60613 NULL;
60614 --
60615 --
60616
60617 l_ccid := AcctDerRule_35(
60618 p_application_id => p_application_id
60619 , p_ae_header_id => l_ae_header_id
60620 , p_source_25 => p_source_25
60621 , x_transaction_coa_id => l_adr_transaction_coa_id
60622 , x_accounting_coa_id => l_adr_accounting_coa_id
60623 , x_value_type_code => l_adr_value_type_code
60624 , p_side => 'NA'
60625 );
60626
60627 xla_ae_lines_pkg.set_ccid(
60628 p_code_combination_id => l_ccid
60629 , p_value_type_code => l_adr_value_type_code
60630 , p_transaction_coa_id => l_adr_transaction_coa_id
60631 , p_accounting_coa_id => l_adr_accounting_coa_id
60632 , p_adr_code => 'AP_INVOICE_DIST'
60633 , p_adr_type_code => 'S'
60634 , p_component_type => l_component_type
60635 , p_component_code => l_component_code
60636 , p_component_type_code => l_component_type_code
60637 , p_component_appl_id => l_component_appl_id
60638 , p_amb_context_code => l_amb_context_code
60639 , p_side => 'NA'
60640 );
60641
60642
60643 --
60644 --
60645 END IF;
60646
60647 --
60648 -- Update the line information that should be overwritten
60649 --
60650 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
60651 p_header_num => 1);
60652 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
60653
60654 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
60655
60656 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
60657 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
60658 END IF;
60659
60660 --
60661 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
60662 --
60663 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
60664 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
60665 ELSE
60666 ---------------------------------------------------------------------------------------------------
60667 -- 4262811a Switch Sign
60668 ---------------------------------------------------------------------------------------------------
60669 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
60670 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
60671 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
60672 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
60673 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
60674 -- 5132302
60675 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
60676 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
60677
60678 END IF;
60679
60680 -- 4955764
60681 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
60682 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
60683
60684
60685 XLA_AE_LINES_PKG.ValidateCurrentLine;
60686 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
60687
60688 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
60689 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
60690 ,p_balance_type_code => l_balance_type_code);
60691
60692 END IF;
60693
60694 -----------------------------------------------------------------------------------------
60695 -- 4262811 Multiperiod Accounting
60696 -----------------------------------------------------------------------------------------
60697 -- No MPA option is assigned.
60698
60699
60700 END IF;
60701 END IF;
60702 --
60703
60704 --
60705 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
60709 ,p_module => l_log_module);
60706 trace
60707 (p_msg => 'END of AcctLineType_127'
60708 ,p_level => C_LEVEL_PROCEDURE
60710 END IF;
60711 --
60712 EXCEPTION
60713 WHEN xla_exceptions_pkg.application_exception THEN
60714 RAISE;
60715 WHEN OTHERS THEN
60716 xla_exceptions_pkg.raise_message
60717 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_127');
60718 END AcctLineType_127;
60719 --
60720
60721 ---------------------------------------
60722 --
60723 -- PRIVATE FUNCTION
60724 -- AcctLineType_128
60725 --
60726 ---------------------------------------
60727 PROCEDURE AcctLineType_128 (
60728 p_application_id IN NUMBER
60729 ,p_event_id IN NUMBER
60730 ,p_calculate_acctd_flag IN VARCHAR2
60731 ,p_calculate_g_l_flag IN VARCHAR2
60732 ,p_actual_flag IN OUT VARCHAR2
60733 ,p_balance_type_code OUT VARCHAR2
60734 ,p_gain_or_loss_ref OUT VARCHAR2
60735
60736 --Invoice Distribution Description
60737 , p_source_1 IN VARCHAR2
60738 --Invoice Distribution Ledger Amount
60739 , p_source_16 IN NUMBER
60740 --Invoice Distribution Account
60741 , p_source_25 IN NUMBER
60742 --Invoice Distribution Type
60743 , p_source_28 IN VARCHAR2
60744 , p_source_28_meaning IN VARCHAR2
60745 --Accounting Reversal Indicator
60746 , p_source_58 IN VARCHAR2
60747 --Distribution Link Type
60748 , p_source_60 IN VARCHAR2
60749 --Allocation to Main Distribution Identifier
60750 , p_source_62 IN NUMBER
60751 --Invoice Identifier
60752 , p_source_63 IN NUMBER
60753 --Invoice Distribution Identifier
60754 , p_source_69 IN NUMBER
60755 --Payables Encumbrance Upgrade Credit Account
60756 , p_source_70 IN NUMBER
60757 --Payables Encumbrance Upgrade Credit Amount
60758 , p_source_71 IN NUMBER
60759 --Invoice Currency Code
60760 , p_source_72 IN VARCHAR2
60761 --Payables Encumbrance Upgrade Credit Base Amount
60762 , p_source_73 IN NUMBER
60763 --Payables Encumbrance Upgrade Debit Account
60764 , p_source_74 IN NUMBER
60765 --Payables Encumbrance Upgrade Debit Amount
60766 , p_source_75 IN NUMBER
60767 --Payables Encumbrance Upgrade Debit Base Amount
60768 , p_source_76 IN NUMBER
60769 --Payables Encumbrance Upgrade Option
60770 , p_source_77 IN VARCHAR2
60771 --Invoice Distribution Amount
60772 , p_source_78 IN NUMBER
60773 --Deferred Accounting End Date
60774 , p_source_82 IN DATE
60775 --Deferred Accounting Option
60776 , p_source_83 IN VARCHAR2
60777 --Deferred Accounting Start Date
60778 , p_source_84 IN DATE
60779 --Override Accounted Amount Indicator
60780 , p_source_85 IN VARCHAR2
60781 , p_source_85_meaning IN VARCHAR2
60782 --Invoice Supplier Identifier
60783 , p_source_86 IN NUMBER
60784 --Invoice Supplier Site Identifier
60785 , p_source_87 IN NUMBER
60786 --Third Party Type
60787 , p_source_88 IN VARCHAR2
60788 --Parent Reversal Identifier
60789 , p_source_89 IN NUMBER
60790 --Invoice Distribution Statistical Amount
60791 , p_source_90 IN NUMBER
60792 --Invoice Distribution Tax Line Identifier
60793 , p_source_91 IN NUMBER
60794 --Invoice Distribution Tax Distribution Identifier from Tax
60795 , p_source_92 IN NUMBER
60796 --Invoice Distribution Summary Tax Line Identifier
60797 , p_source_93 IN NUMBER
60798 --Payables Upgrade Credit Encumbrance Type Identifier
60799 , p_source_94 IN NUMBER
60800 --Payables Upgrade Debit Encumbrance Type Identifier
60801 , p_source_95 IN NUMBER
60802 --Business Flow Accounts Payable Application Identifier
60803 , p_source_96 IN NUMBER
60804 --Business Flow Invoice Distribution Type
60805 , p_source_97 IN VARCHAR2
60806 --Business Flow Invoice Entity Code
60807 , p_source_98 IN VARCHAR2
60808 --Business Flow Invoice Distribution Identifier
60809 , p_source_99 IN NUMBER
60810 --Business Flow Invoice Identifier
60811 , p_source_100 IN NUMBER
60812 --Invoice Exchange Date
60813 , p_source_146 IN DATE
60814 --Invoice Exchange Rate
60815 , p_source_147 IN NUMBER
60816 --Invoice Exchange Rate Type
60817 , p_source_148 IN VARCHAR2
60818 )
60819 IS
60820
60821 l_component_type VARCHAR2(80);
60822 l_component_code VARCHAR2(30);
60823 l_component_type_code VARCHAR2(1);
60824 l_component_appl_id INTEGER;
60825 l_amb_context_code VARCHAR2(30);
60826 l_entity_code VARCHAR2(30);
60827 l_event_class_code VARCHAR2(30);
60828 l_ae_header_id NUMBER;
60829 l_event_type_code VARCHAR2(30);
60830 l_line_definition_code VARCHAR2(30);
60831 l_line_definition_owner_code VARCHAR2(1);
60832 --
60833 -- adr variables
60834 l_segment VARCHAR2(30);
60835 l_ccid NUMBER;
60836 l_adr_transaction_coa_id NUMBER;
60837 l_adr_accounting_coa_id NUMBER;
60838 l_adr_flexfield_segment_code VARCHAR2(30);
60839 l_adr_flex_value_set_id NUMBER;
60840 l_adr_value_type_code VARCHAR2(30);
60841 l_adr_value_combination_id NUMBER;
60845 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
60842 l_adr_value_segment_code VARCHAR2(30);
60843
60844 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
60846 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
60847 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
60848
60849 -- 4262811 Variables ------------------------------------------------------------------------------------------
60850 l_entered_amt_idx NUMBER;
60851 l_accted_amt_idx NUMBER;
60852 l_acc_rev_flag VARCHAR2(1);
60853 l_accrual_line_num NUMBER;
60854 l_tmp_amt NUMBER;
60855 l_acc_rev_natural_side_code VARCHAR2(1);
60856
60857 l_num_entries NUMBER;
60858 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
60859 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
60860 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
60861 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
60862 l_recog_line_1 NUMBER;
60863 l_recog_line_2 NUMBER;
60864
60865 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
60866 l_bflow_applied_to_amt NUMBER; -- 5132302
60867 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
60868
60869 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
60870
60871 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
60872 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
60873
60874 ---------------------------------------------------------------------------------------------------------------
60875
60876
60877 --
60878 -- bulk performance
60879 --
60880 l_balance_type_code VARCHAR2(1);
60881 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
60882 l_log_module VARCHAR2(240);
60883
60884 --
60885 -- Upgrade strategy
60886 --
60887 l_actual_upg_option VARCHAR2(1);
60888 l_enc_upg_option VARCHAR2(1);
60889
60890 --
60891 BEGIN
60892 --
60893 IF g_log_enabled THEN
60894 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_128';
60895 END IF;
60896 --
60897 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
60898
60899 trace
60900 (p_msg => 'BEGIN of AcctLineType_128'
60901 ,p_level => C_LEVEL_PROCEDURE
60902 ,p_module => l_log_module);
60903
60904 END IF;
60905 --
60906 l_component_type := 'AMB_JLT';
60907 l_component_code := 'AP_FREIGHT_EXPENSE_PREPAY';
60908 l_component_type_code := 'S';
60909 l_component_appl_id := 200;
60910 l_amb_context_code := 'DEFAULT';
60911 l_entity_code := 'AP_INVOICES';
60912 l_event_class_code := 'PREPAYMENTS';
60913 l_event_type_code := 'PREPAYMENTS_ALL';
60914 l_line_definition_owner_code := 'S';
60915 l_line_definition_code := 'ACCRUAL_PREPAYMENTS_ALL';
60916 --
60917 l_balance_type_code := 'A';
60918 l_segment := NULL;
60919 l_ccid := NULL;
60920 l_adr_transaction_coa_id := NULL;
60921 l_adr_accounting_coa_id := NULL;
60922 l_adr_flexfield_segment_code := NULL;
60923 l_adr_flex_value_set_id := NULL;
60924 l_adr_value_type_code := NULL;
60925 l_adr_value_combination_id := NULL;
60926 l_adr_value_segment_code := NULL;
60927
60928 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
60929 l_bflow_class_code := ''; -- 4219869 Business Flow
60930 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
60931 l_budgetary_control_flag := 'N';
60932
60933 l_bflow_applied_to_amt_idx := NULL; -- 5132302
60934 l_bflow_applied_to_amt := NULL; -- 5132302
60935 l_entered_amt_idx := NULL; -- 4262811
60936 l_accted_amt_idx := NULL; -- 4262811
60937 l_acc_rev_flag := NULL; -- 4262811
60938 l_accrual_line_num := NULL; -- 4262811
60939 l_tmp_amt := NULL; -- 4262811
60940 --
60941
60942 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
60943 l_balance_type_code <> 'B' THEN
60944 IF NVL(p_source_28,'
60945 ') = 'FREIGHT'
60946 THEN
60947
60948 --
60949 XLA_AE_LINES_PKG.SetNewLine;
60950
60951 p_balance_type_code := l_balance_type_code;
60952 -- set the flag so later we will know whether the gain loss line needs to be created
60953
60954 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
60955 p_actual_flag :='A';
60956 END IF;
60957
60958 --
60959 -- bulk performance
60960 --
60961 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
60962 p_header_num => 0); -- 4262811
60963 --
60964 -- set accounting line options
60965 --
60966 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
60967 p_natural_side_code => 'D'
60968 , p_gain_or_loss_flag => 'N'
60969 , p_gl_transfer_mode_code => 'S'
60973 );
60970 , p_acct_entry_type_code => 'A'
60971 , p_switch_side_flag => 'Y'
60972 , p_merge_duplicate_code => 'A'
60974 --
60975 l_acc_rev_natural_side_code := 'C'; -- 4262811
60976 --
60977 --
60978 -- set accounting line type info
60979 --
60980 xla_ae_lines_pkg.SetAcctLineType
60981 (p_component_type => l_component_type
60982 ,p_event_type_code => l_event_type_code
60983 ,p_line_definition_owner_code => l_line_definition_owner_code
60984 ,p_line_definition_code => l_line_definition_code
60985 ,p_accounting_line_code => l_component_code
60986 ,p_accounting_line_type_code => l_component_type_code
60987 ,p_accounting_line_appl_id => l_component_appl_id
60988 ,p_amb_context_code => l_amb_context_code
60989 ,p_entity_code => l_entity_code
60990 ,p_event_class_code => l_event_class_code);
60991 --
60992 -- set accounting class
60993 --
60994 xla_ae_lines_pkg.SetAcctClass(
60995 p_accounting_class_code => 'FREIGHT'
60996 , p_ae_header_id => l_ae_header_id
60997 );
60998
60999 --
61000 -- set rounding class
61001 --
61002 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
61003 'FREIGHT';
61004
61005 --
61006 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
61007 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
61008 --
61009 -- bulk performance
61010 --
61011 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
61012
61013 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
61014 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
61015
61016 -- 4955764
61017 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
61018 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
61019
61020 -- 4458381 Public Sector Enh
61021
61022 --
61023 -- set accounting attributes for the line type
61024 --
61025 l_entered_amt_idx := 23;
61026 l_accted_amt_idx := 28;
61027 l_bflow_applied_to_amt_idx := NULL; -- 5132302
61028 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
61029 l_rec_acct_attrs.array_char_value(1) := p_source_58;
61030 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
61031 l_rec_acct_attrs.array_num_value(2) :=
61032 xla_ae_sources_pkg.GetSystemSourceNum(
61033 p_source_code => 'XLA_EVENT_APPL_ID'
61034 , p_source_type_code => 'Y'
61035 , p_source_application_id => 602
61036 );
61037 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
61038 l_rec_acct_attrs.array_char_value(3) := p_source_60;
61039 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
61040 l_rec_acct_attrs.array_char_value(4) :=
61041 xla_ae_sources_pkg.GetSystemSourceChar(
61042 p_source_code => 'XLA_ENTITY_CODE'
61043 , p_source_type_code => 'Y'
61044 , p_source_application_id => 602
61045 );
61046 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
61047 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_62);
61048 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
61049 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_63);
61050 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
61051 l_rec_acct_attrs.array_num_value(7) := p_source_96;
61052 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
61053 l_rec_acct_attrs.array_char_value(8) := p_source_97;
61054 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
61055 l_rec_acct_attrs.array_char_value(9) := p_source_98;
61056 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
61057 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_99);
61058 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
61059 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_100);
61060 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
61061 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_69);
61062 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
61063 l_rec_acct_attrs.array_char_value(13) := p_source_60;
61064 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
61065 l_rec_acct_attrs.array_num_value(14) := p_source_70;
61066 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
61067 l_rec_acct_attrs.array_num_value(15) := p_source_71;
61068 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
61069 l_rec_acct_attrs.array_char_value(16) := p_source_72;
61070 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
61071 l_rec_acct_attrs.array_num_value(17) := p_source_73;
61072 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
61073 l_rec_acct_attrs.array_num_value(18) := p_source_74;
61074 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
61075 l_rec_acct_attrs.array_num_value(19) := p_source_75;
61079 l_rec_acct_attrs.array_num_value(21) := p_source_76;
61076 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
61077 l_rec_acct_attrs.array_char_value(20) := p_source_72;
61078 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
61080 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
61081 l_rec_acct_attrs.array_char_value(22) := p_source_77;
61082 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
61083 l_rec_acct_attrs.array_num_value(23) := p_source_78;
61084 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
61085 l_rec_acct_attrs.array_char_value(24) := p_source_72;
61086 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
61087 l_rec_acct_attrs.array_date_value(25) := p_source_146;
61088 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
61089 l_rec_acct_attrs.array_num_value(26) := p_source_147;
61090 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
61091 l_rec_acct_attrs.array_char_value(27) := p_source_148;
61092 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
61093 l_rec_acct_attrs.array_num_value(28) := p_source_16;
61094 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
61095 l_rec_acct_attrs.array_date_value(29) := p_source_82;
61096 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
61097 l_rec_acct_attrs.array_char_value(30) := p_source_83;
61098 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
61099 l_rec_acct_attrs.array_date_value(31) := p_source_84;
61100 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
61101 l_rec_acct_attrs.array_char_value(32) := p_source_85;
61102 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
61103 l_rec_acct_attrs.array_num_value(33) := p_source_86;
61104 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
61105 l_rec_acct_attrs.array_num_value(34) := p_source_87;
61106 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
61107 l_rec_acct_attrs.array_char_value(35) := p_source_88;
61108 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
61109 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_89);
61110 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
61111 l_rec_acct_attrs.array_char_value(37) := p_source_60;
61112 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
61113 l_rec_acct_attrs.array_num_value(38) := p_source_90;
61114 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
61115 l_rec_acct_attrs.array_num_value(39) := p_source_91;
61116 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
61117 l_rec_acct_attrs.array_num_value(40) := p_source_92;
61118 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
61119 l_rec_acct_attrs.array_num_value(41) := p_source_93;
61120 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
61121 l_rec_acct_attrs.array_num_value(42) := p_source_94;
61122 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
61123 l_rec_acct_attrs.array_num_value(43) := p_source_95;
61124
61125 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
61126 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
61127
61128 ---------------------------------------------------------------------------------------------------------------
61129 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
61130 ---------------------------------------------------------------------------------------------------------------
61131 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
61132
61133 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
61134 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
61135
61136 IF xla_accounting_cache_pkg.GetValueChar
61137 (p_source_code => 'LEDGER_CATEGORY_CODE'
61138 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
61139 AND l_bflow_method_code = 'PRIOR_ENTRY'
61140 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
61141 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
61142 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
61143 )
61144 THEN
61145 xla_ae_lines_pkg.BflowUpgEntry
61146 (p_business_method_code => l_bflow_method_code
61147 ,p_business_class_code => l_bflow_class_code
61148 ,p_balance_type => l_balance_type_code);
61149 ELSE
61150 NULL;
61151 -- No business flow processing for business flow method of NONE.
61152 END IF;
61153
61154 --
61155 -- call analytical criteria
61156 --
61157
61158 --
61159 -- call description
61160 --
61161
61162 xla_ae_lines_pkg.SetLineDescription(
61163 p_ae_header_id => l_ae_header_id
61164 ,p_description => Description_2 (
61165 p_application_id => p_application_id
61166 , p_ae_header_id => l_ae_header_id
61167 , p_source_1 => p_source_1
61168 )
61169 );
61170
61171
61172 --
61173 -- call ADRs
61174 -- Bug 4922099
61175 --
61176 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
61180 THEN
61177 (NVL(l_actual_upg_option, 'N') = 'O') OR
61178 (NVL(l_enc_upg_option, 'N') = 'O')
61179 )
61181 NULL;
61182 --
61183 --
61184
61185 l_ccid := AcctDerRule_35(
61186 p_application_id => p_application_id
61187 , p_ae_header_id => l_ae_header_id
61188 , p_source_25 => p_source_25
61189 , x_transaction_coa_id => l_adr_transaction_coa_id
61190 , x_accounting_coa_id => l_adr_accounting_coa_id
61191 , x_value_type_code => l_adr_value_type_code
61192 , p_side => 'NA'
61193 );
61194
61195 xla_ae_lines_pkg.set_ccid(
61196 p_code_combination_id => l_ccid
61197 , p_value_type_code => l_adr_value_type_code
61198 , p_transaction_coa_id => l_adr_transaction_coa_id
61199 , p_accounting_coa_id => l_adr_accounting_coa_id
61200 , p_adr_code => 'AP_INVOICE_DIST'
61201 , p_adr_type_code => 'S'
61202 , p_component_type => l_component_type
61203 , p_component_code => l_component_code
61204 , p_component_type_code => l_component_type_code
61205 , p_component_appl_id => l_component_appl_id
61206 , p_amb_context_code => l_amb_context_code
61207 , p_side => 'NA'
61208 );
61209
61210
61211 --
61212 --
61213 END IF;
61214 --
61215 -- Bug 4922099
61216 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
61217 (NVL(l_enc_upg_option, 'N') = 'O')
61218 ) AND
61219 (l_bflow_method_code = 'PRIOR_ENTRY')
61220 )
61221 THEN
61222 IF
61223 --
61224 1 = 2
61225 --
61226 THEN
61227 xla_accounting_err_pkg.build_message
61228 (p_appli_s_name => 'XLA'
61229 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
61230 ,p_token_1 => 'LINE_NUMBER'
61231 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
61232 ,p_token_2 => 'LINE_TYPE_NAME'
61233 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
61234 l_component_type
61235 ,l_component_code
61236 ,l_component_type_code
61237 ,l_component_appl_id
61238 ,l_amb_context_code
61239 ,l_entity_code
61240 ,l_event_class_code
61241 )
61242 ,p_token_3 => 'OWNER'
61243 ,p_value_3 => xla_lookups_pkg.get_meaning(
61244 p_lookup_type => 'XLA_OWNER_TYPE'
61245 ,p_lookup_code => l_component_type_code
61246 )
61247 ,p_token_4 => 'PRODUCT_NAME'
61248 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
61249 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
61250 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
61251 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
61252 ,p_ae_header_id => NULL
61253 );
61254
61255 IF (C_LEVEL_ERROR>= g_log_level) THEN
61256 trace
61257 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
61258 ,p_level => C_LEVEL_ERROR
61259 ,p_module => l_log_module);
61260 END IF;
61261 END IF;
61262 END IF;
61263 --
61264 --
61265 ------------------------------------------------------------------------------------------------
61266 -- 4219869 Business Flow
61267 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
61268 -- Prior Entry. Currently, the following code is always generated.
61269 ------------------------------------------------------------------------------------------------
61270 XLA_AE_LINES_PKG.ValidateCurrentLine;
61271
61272 ------------------------------------------------------------------------------------
61273 -- 4219869 Business Flow
61274 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
61275 ------------------------------------------------------------------------------------
61276 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
61277
61278 ----------------------------------------------------------------------------------
61279 -- 4219869 Business Flow
61283 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
61280 -- Update journal entry status -- Need to generate this within IF <condition>
61281 ----------------------------------------------------------------------------------
61282 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
61284 ,p_balance_type_code => l_balance_type_code
61285 );
61286
61287 -------------------------------------------------------------------------------------------
61288 -- 4262811 - Generate the Accrual Reversal lines
61289 -------------------------------------------------------------------------------------------
61290 BEGIN
61291 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
61292 (g_array_event(p_event_id).array_value_num('header_index'));
61293 IF l_acc_rev_flag IS NULL THEN
61294 l_acc_rev_flag := 'N';
61295 END IF;
61296 EXCEPTION
61297 WHEN OTHERS THEN
61298 l_acc_rev_flag := 'N';
61299 END;
61300 --
61301 IF (l_acc_rev_flag = 'Y') THEN
61302
61303 -- 4645092 ------------------------------------------------------------------------------
61304 -- To allow MPA report to determine if it should generate report process
61305 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
61306 ------------------------------------------------------------------------------------------
61307
61308 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
61309 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
61310 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
61311 -- call ADRs
61312 -- Bug 4922099
61313 --
61314 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
61315 (NVL(l_actual_upg_option, 'N') = 'O') OR
61316 (NVL(l_enc_upg_option, 'N') = 'O')
61317 )
61318 THEN
61319 NULL;
61320 --
61321 --
61322
61323 l_ccid := AcctDerRule_35(
61324 p_application_id => p_application_id
61325 , p_ae_header_id => l_ae_header_id
61326 , p_source_25 => p_source_25
61327 , x_transaction_coa_id => l_adr_transaction_coa_id
61328 , x_accounting_coa_id => l_adr_accounting_coa_id
61329 , x_value_type_code => l_adr_value_type_code
61330 , p_side => 'NA'
61331 );
61332
61333 xla_ae_lines_pkg.set_ccid(
61334 p_code_combination_id => l_ccid
61335 , p_value_type_code => l_adr_value_type_code
61336 , p_transaction_coa_id => l_adr_transaction_coa_id
61337 , p_accounting_coa_id => l_adr_accounting_coa_id
61338 , p_adr_code => 'AP_INVOICE_DIST'
61339 , p_adr_type_code => 'S'
61340 , p_component_type => l_component_type
61341 , p_component_code => l_component_code
61342 , p_component_type_code => l_component_type_code
61343 , p_component_appl_id => l_component_appl_id
61344 , p_amb_context_code => l_amb_context_code
61345 , p_side => 'NA'
61346 );
61347
61348
61349 --
61350 --
61351 END IF;
61352
61353 --
61354 -- Update the line information that should be overwritten
61355 --
61356 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
61357 p_header_num => 1);
61358 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
61359
61360 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
61361
61362 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
61363 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
61364 END IF;
61365
61366 --
61367 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
61368 --
61369 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
61370 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
61371 ELSE
61372 ---------------------------------------------------------------------------------------------------
61373 -- 4262811a Switch Sign
61374 ---------------------------------------------------------------------------------------------------
61375 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
61376 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
61377 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
61378 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
61379 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
61380 -- 5132302
61381 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
61382 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
61383
61384 END IF;
61385
61386 -- 4955764
61387 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
61391 XLA_AE_LINES_PKG.ValidateCurrentLine;
61388 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
61389
61390
61392 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
61393
61394 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
61395 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
61396 ,p_balance_type_code => l_balance_type_code);
61397
61398 END IF;
61399
61400 -----------------------------------------------------------------------------------------
61401 -- 4262811 Multiperiod Accounting
61402 -----------------------------------------------------------------------------------------
61403 -- No MPA option is assigned.
61404
61405
61406 END IF;
61407 END IF;
61408 --
61409
61410 --
61411 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
61412 trace
61413 (p_msg => 'END of AcctLineType_128'
61414 ,p_level => C_LEVEL_PROCEDURE
61415 ,p_module => l_log_module);
61416 END IF;
61417 --
61418 EXCEPTION
61419 WHEN xla_exceptions_pkg.application_exception THEN
61420 RAISE;
61421 WHEN OTHERS THEN
61422 xla_exceptions_pkg.raise_message
61423 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_128');
61424 END AcctLineType_128;
61425 --
61426
61427 ---------------------------------------
61428 --
61429 -- PRIVATE FUNCTION
61430 -- AcctLineType_129
61431 --
61432 ---------------------------------------
61433 PROCEDURE AcctLineType_129 (
61434 p_application_id IN NUMBER
61435 ,p_event_id IN NUMBER
61436 ,p_calculate_acctd_flag IN VARCHAR2
61437 ,p_calculate_g_l_flag IN VARCHAR2
61438 ,p_actual_flag IN OUT VARCHAR2
61439 ,p_balance_type_code OUT VARCHAR2
61440 ,p_gain_or_loss_ref OUT VARCHAR2
61441
61442 --Payment Currency Code
61443 , p_source_8 IN VARCHAR2
61444 --Automatic Offsets Value
61445 , p_source_10 IN VARCHAR2
61446 , p_source_10_meaning IN VARCHAR2
61447 --Bank Future Dated Payment Account
61448 , p_source_19 IN NUMBER
61449 --Future Dated Payment Account Source Option
61450 , p_source_20 IN VARCHAR2
61451 , p_source_20_meaning IN VARCHAR2
61452 --Financials Options Future Dated Payment Account
61453 , p_source_21 IN NUMBER
61454 --Supplier Site Future Dated Payment Account
61455 , p_source_22 IN NUMBER
61456 --Invoice Distribution Account
61457 , p_source_25 IN NUMBER
61458 --When to Account for Payment Option
61459 , p_source_57 IN VARCHAR2
61460 --Accounting Reversal Indicator
61461 , p_source_58 IN VARCHAR2
61462 --Distribution Link Type
61463 , p_source_60 IN VARCHAR2
61464 --Override Accounted Amount Indicator
61465 , p_source_85 IN VARCHAR2
61466 , p_source_85_meaning IN VARCHAR2
61467 --Third Party Type
61468 , p_source_88 IN VARCHAR2
61469 --Invoice Distribution Tax Line Identifier
61470 , p_source_91 IN NUMBER
61471 --Invoice Distribution Tax Distribution Identifier from Tax
61472 , p_source_92 IN NUMBER
61473 --Invoice Distribution Summary Tax Line Identifier
61474 , p_source_93 IN NUMBER
61475 --Business Flow Accounts Payable Application Identifier
61476 , p_source_96 IN NUMBER
61477 --Business Flow Invoice Distribution Type
61478 , p_source_97 IN VARCHAR2
61479 --Business Flow Invoice Entity Code
61480 , p_source_98 IN VARCHAR2
61481 --Business Flow Invoice Distribution Identifier
61482 , p_source_99 IN NUMBER
61483 --Business Flow Invoice Identifier
61484 , p_source_100 IN NUMBER
61485 --Payment Distribution Type
61486 , p_source_101 IN VARCHAR2
61487 , p_source_101_meaning IN VARCHAR2
61488 --Payment Distribution Amount
61489 , p_source_102 IN NUMBER
61490 --Payment Distribution Identifier
61491 , p_source_107 IN NUMBER
61492 --Payment Supplier Identifier
61493 , p_source_113 IN NUMBER
61494 --Payment Supplier Site Identifier
61495 , p_source_114 IN NUMBER
61496 --Payment Distribution Reversed Identifier
61497 , p_source_115 IN NUMBER
61498 --Payment Maturity Date
61499 , p_source_117 IN DATE
61500 --Payment Distribution (Payment Rate) Ledger Amount
61501 , p_source_118 IN NUMBER
61502 --Payment Exchange Date
61503 , p_source_120 IN DATE
61504 --Payment Exchange Rate
61505 , p_source_121 IN NUMBER
61506 --Payment Exchange Rate Type
61507 , p_source_122 IN VARCHAR2
61508 --Payment Processing Type
61509 , p_source_126 IN VARCHAR2
61510 --Invoice Distribution Amount of the Payment Distribution
61511 , p_source_127 IN NUMBER
61512 )
61513 IS
61514
61515 l_component_type VARCHAR2(80);
61516 l_component_code VARCHAR2(30);
61517 l_component_type_code VARCHAR2(1);
61518 l_component_appl_id INTEGER;
61519 l_amb_context_code VARCHAR2(30);
61520 l_entity_code VARCHAR2(30);
61521 l_event_class_code VARCHAR2(30);
61522 l_ae_header_id NUMBER;
61523 l_event_type_code VARCHAR2(30);
61524 l_line_definition_code VARCHAR2(30);
61528 l_segment VARCHAR2(30);
61525 l_line_definition_owner_code VARCHAR2(1);
61526 --
61527 -- adr variables
61529 l_ccid NUMBER;
61530 l_adr_transaction_coa_id NUMBER;
61531 l_adr_accounting_coa_id NUMBER;
61532 l_adr_flexfield_segment_code VARCHAR2(30);
61533 l_adr_flex_value_set_id NUMBER;
61534 l_adr_value_type_code VARCHAR2(30);
61535 l_adr_value_combination_id NUMBER;
61536 l_adr_value_segment_code VARCHAR2(30);
61537
61538 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
61539 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
61540 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
61541 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
61542
61543 -- 4262811 Variables ------------------------------------------------------------------------------------------
61544 l_entered_amt_idx NUMBER;
61545 l_accted_amt_idx NUMBER;
61546 l_acc_rev_flag VARCHAR2(1);
61547 l_accrual_line_num NUMBER;
61548 l_tmp_amt NUMBER;
61549 l_acc_rev_natural_side_code VARCHAR2(1);
61550
61551 l_num_entries NUMBER;
61552 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
61553 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
61554 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
61555 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
61556 l_recog_line_1 NUMBER;
61557 l_recog_line_2 NUMBER;
61558
61559 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
61560 l_bflow_applied_to_amt NUMBER; -- 5132302
61561 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
61562
61563 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
61564
61565 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
61566 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
61567
61568 ---------------------------------------------------------------------------------------------------------------
61569
61570
61571 --
61572 -- bulk performance
61573 --
61574 l_balance_type_code VARCHAR2(1);
61575 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
61576 l_log_module VARCHAR2(240);
61577
61578 --
61579 -- Upgrade strategy
61580 --
61581 l_actual_upg_option VARCHAR2(1);
61582 l_enc_upg_option VARCHAR2(1);
61583
61584 --
61585 BEGIN
61586 --
61587 IF g_log_enabled THEN
61588 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_129';
61589 END IF;
61590 --
61591 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
61592
61593 trace
61594 (p_msg => 'BEGIN of AcctLineType_129'
61595 ,p_level => C_LEVEL_PROCEDURE
61596 ,p_module => l_log_module);
61597
61598 END IF;
61599 --
61600 l_component_type := 'AMB_JLT';
61601 l_component_code := 'AP_FUTURE_DATED_PMT';
61602 l_component_type_code := 'S';
61603 l_component_appl_id := 200;
61604 l_amb_context_code := 'DEFAULT';
61605 l_entity_code := 'AP_PAYMENTS';
61606 l_event_class_code := 'PAYMENTS';
61607 l_event_type_code := 'PAYMENTS_ALL';
61608 l_line_definition_owner_code := 'S';
61609 l_line_definition_code := 'ACCRUAL_PAYMENTS_ALL';
61610 --
61611 l_balance_type_code := 'A';
61612 l_segment := NULL;
61613 l_ccid := NULL;
61614 l_adr_transaction_coa_id := NULL;
61615 l_adr_accounting_coa_id := NULL;
61616 l_adr_flexfield_segment_code := NULL;
61617 l_adr_flex_value_set_id := NULL;
61618 l_adr_value_type_code := NULL;
61619 l_adr_value_combination_id := NULL;
61620 l_adr_value_segment_code := NULL;
61621
61622 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
61623 l_bflow_class_code := 'AP_FUTURE_DTD_PMT'; -- 4219869 Business Flow
61624 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
61625 l_budgetary_control_flag := 'N';
61626
61627 l_bflow_applied_to_amt_idx := NULL; -- 5132302
61628 l_bflow_applied_to_amt := NULL; -- 5132302
61629 l_entered_amt_idx := NULL; -- 4262811
61630 l_accted_amt_idx := NULL; -- 4262811
61631 l_acc_rev_flag := NULL; -- 4262811
61632 l_accrual_line_num := NULL; -- 4262811
61633 l_tmp_amt := NULL; -- 4262811
61634 --
61635
61636 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
61637 l_balance_type_code <> 'B' THEN
61638 IF NVL(p_source_57,'
61639 ') <> 'CLEAR_CLEAR' AND
61640 NVL(p_source_57,'
61641 ') <> 'ALWAYS_CLEAR' AND
61642 NVL(p_source_101,'
61643 ') = 'CASH' AND
61644 p_source_117 IS NOT NULL AND
61645 NVL(p_source_126,'
61646 ') <> 'PAYMENTCARD'
61647 THEN
61648
61649 --
61650 XLA_AE_LINES_PKG.SetNewLine;
61651
61652 p_balance_type_code := l_balance_type_code;
61656 p_actual_flag :='A';
61653 -- set the flag so later we will know whether the gain loss line needs to be created
61654
61655 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
61657 END IF;
61658
61659 --
61660 -- bulk performance
61661 --
61662 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
61663 p_header_num => 0); -- 4262811
61664 --
61665 -- set accounting line options
61666 --
61667 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
61668 p_natural_side_code => 'C'
61669 , p_gain_or_loss_flag => 'N'
61670 , p_gl_transfer_mode_code => 'S'
61671 , p_acct_entry_type_code => 'A'
61672 , p_switch_side_flag => 'Y'
61673 , p_merge_duplicate_code => 'A'
61674 );
61675 --
61676 l_acc_rev_natural_side_code := 'D'; -- 4262811
61677 --
61678 --
61679 -- set accounting line type info
61680 --
61681 xla_ae_lines_pkg.SetAcctLineType
61682 (p_component_type => l_component_type
61683 ,p_event_type_code => l_event_type_code
61684 ,p_line_definition_owner_code => l_line_definition_owner_code
61685 ,p_line_definition_code => l_line_definition_code
61686 ,p_accounting_line_code => l_component_code
61687 ,p_accounting_line_type_code => l_component_type_code
61688 ,p_accounting_line_appl_id => l_component_appl_id
61689 ,p_amb_context_code => l_amb_context_code
61690 ,p_entity_code => l_entity_code
61691 ,p_event_class_code => l_event_class_code);
61692 --
61693 -- set accounting class
61694 --
61695 xla_ae_lines_pkg.SetAcctClass(
61696 p_accounting_class_code => 'FUTURE_DATED_PMT'
61697 , p_ae_header_id => l_ae_header_id
61698 );
61699
61700 --
61701 -- set rounding class
61702 --
61703 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
61704 'FUTURE_DATED_PMT';
61705
61706 --
61707 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
61708 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
61709 --
61710 -- bulk performance
61711 --
61712 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
61713
61714 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
61715 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
61716
61717 -- 4955764
61718 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
61719 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
61720
61721 -- 4458381 Public Sector Enh
61722
61723 --
61724 -- set accounting attributes for the line type
61725 --
61726 l_entered_amt_idx := 10;
61727 l_accted_amt_idx := 15;
61728 l_bflow_applied_to_amt_idx := 2; -- 5132302
61729 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
61730 l_rec_acct_attrs.array_char_value(1) := p_source_58;
61731 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
61732 l_rec_acct_attrs.array_num_value(2) := p_source_127;
61733 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
61734 l_rec_acct_attrs.array_num_value(3) := p_source_96;
61735 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
61736 l_rec_acct_attrs.array_char_value(4) := p_source_97;
61737 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
61738 l_rec_acct_attrs.array_char_value(5) := p_source_98;
61739 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
61740 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_99);
61741 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
61742 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_100);
61743 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
61744 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_107);
61745 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
61746 l_rec_acct_attrs.array_char_value(9) := p_source_60;
61747 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
61748 l_rec_acct_attrs.array_num_value(10) := p_source_102;
61749 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
61750 l_rec_acct_attrs.array_char_value(11) := p_source_8;
61751 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
61752 l_rec_acct_attrs.array_date_value(12) := p_source_120;
61753 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
61754 l_rec_acct_attrs.array_num_value(13) := p_source_121;
61755 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
61756 l_rec_acct_attrs.array_char_value(14) := p_source_122;
61757 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
61758 l_rec_acct_attrs.array_num_value(15) := p_source_118;
61759 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
61760 l_rec_acct_attrs.array_char_value(16) := p_source_85;
61764 l_rec_acct_attrs.array_num_value(18) := p_source_114;
61761 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
61762 l_rec_acct_attrs.array_num_value(17) := p_source_113;
61763 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
61765 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
61766 l_rec_acct_attrs.array_char_value(19) := p_source_88;
61767 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
61768 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_115);
61769 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
61770 l_rec_acct_attrs.array_char_value(21) := p_source_60;
61771 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
61772 l_rec_acct_attrs.array_num_value(22) := p_source_91;
61773 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
61774 l_rec_acct_attrs.array_num_value(23) := p_source_92;
61775 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
61776 l_rec_acct_attrs.array_num_value(24) := p_source_93;
61777
61778 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
61779 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
61780
61781 ---------------------------------------------------------------------------------------------------------------
61782 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
61783 ---------------------------------------------------------------------------------------------------------------
61784 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
61785
61786 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
61787 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
61788
61789 IF xla_accounting_cache_pkg.GetValueChar
61790 (p_source_code => 'LEDGER_CATEGORY_CODE'
61791 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
61792 AND l_bflow_method_code = 'PRIOR_ENTRY'
61793 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
61794 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
61795 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
61796 )
61797 THEN
61798 xla_ae_lines_pkg.BflowUpgEntry
61799 (p_business_method_code => l_bflow_method_code
61800 ,p_business_class_code => l_bflow_class_code
61801 ,p_balance_type => l_balance_type_code);
61802 ELSE
61803 NULL;
61804 -- No business flow processing for business flow method of NONE.
61805 END IF;
61806
61807 --
61808 -- call analytical criteria
61809 --
61810
61811 --
61812 -- call description
61813 --
61814 -- No description or it is inherited.
61815 --
61816 -- call ADRs
61817 -- Bug 4922099
61818 --
61819 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
61820 (NVL(l_actual_upg_option, 'N') = 'O') OR
61821 (NVL(l_enc_upg_option, 'N') = 'O')
61822 )
61823 THEN
61824 NULL;
61825 --
61826 --
61827
61828 l_ccid := AcctDerRule_33(
61829 p_application_id => p_application_id
61830 , p_ae_header_id => l_ae_header_id
61831 , p_source_10 => p_source_10
61832 , p_source_10_meaning => p_source_10_meaning
61833 , p_source_19 => p_source_19
61834 , p_source_20 => p_source_20
61835 , p_source_20_meaning => p_source_20_meaning
61836 , p_source_21 => p_source_21
61837 , p_source_22 => p_source_22
61838 , p_source_25 => p_source_25
61839 , x_transaction_coa_id => l_adr_transaction_coa_id
61840 , x_accounting_coa_id => l_adr_accounting_coa_id
61841 , x_value_type_code => l_adr_value_type_code
61842 , p_side => 'NA'
61843 );
61844
61845 xla_ae_lines_pkg.set_ccid(
61846 p_code_combination_id => l_ccid
61847 , p_value_type_code => l_adr_value_type_code
61848 , p_transaction_coa_id => l_adr_transaction_coa_id
61849 , p_accounting_coa_id => l_adr_accounting_coa_id
61850 , p_adr_code => 'AP_FUTURE_DATED_PMT'
61851 , p_adr_type_code => 'S'
61852 , p_component_type => l_component_type
61853 , p_component_code => l_component_code
61854 , p_component_type_code => l_component_type_code
61855 , p_component_appl_id => l_component_appl_id
61856 , p_amb_context_code => l_amb_context_code
61857 , p_side => 'NA'
61858 );
61859
61860
61861 l_segment := AcctDerRule_11(
61862 p_application_id => p_application_id
61863 , p_ae_header_id => l_ae_header_id
61864 , p_source_10 => p_source_10
61865 , p_source_10_meaning => p_source_10_meaning
61866 , p_source_19 => p_source_19
61867 , p_source_20 => p_source_20
61868 , p_source_20_meaning => p_source_20_meaning
61869 , p_source_21 => p_source_21
61870 , p_source_22 => p_source_22
61871 , x_transaction_coa_id => l_adr_transaction_coa_id
61872 , x_accounting_coa_id => l_adr_accounting_coa_id
61873 , x_flexfield_segment_code => l_adr_flexfield_segment_code
61874 , x_flex_value_set_id => l_adr_flex_value_set_id
61878 , p_side => 'NA'
61875 , x_value_type_code => l_adr_value_type_code
61876 , x_value_combination_id => l_adr_value_combination_id
61877 , x_value_segment_code => l_adr_value_segment_code
61879 , p_override_seg_flag => 'Y'
61880 );
61881
61882 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
61883
61884 xla_ae_lines_pkg.set_segment(
61885 p_to_segment_code => 'GL_ACCOUNT'
61886 , p_segment_value => l_segment
61887 , p_from_segment_code => l_adr_value_segment_code
61888 , p_from_combination_id => l_adr_value_combination_id
61889 , p_value_type_code => l_adr_value_type_code
61890 , p_transaction_coa_id => l_adr_transaction_coa_id
61891 , p_accounting_coa_id => l_adr_accounting_coa_id
61892 , p_flexfield_segment_code => l_adr_flexfield_segment_code
61893 , p_flex_value_set_id => l_adr_flex_value_set_id
61894 , p_adr_code => 'AP_FUTURE_DTD_PMT_NAT_ACCT_SEG'
61895 , p_adr_type_code => 'S'
61896 , p_component_type => l_component_type
61897 , p_component_code => l_component_code
61898 , p_component_type_code => l_component_type_code
61899 , p_component_appl_id => l_component_appl_id
61900 , p_amb_context_code => l_amb_context_code
61901 , p_entity_code => 'AP_PAYMENTS'
61902 , p_event_class_code => 'PAYMENTS'
61903 , p_side => 'NA'
61904 );
61905
61906 END IF;
61907
61908 l_segment := AcctDerRule_23(
61909 p_application_id => p_application_id
61910 , p_ae_header_id => l_ae_header_id
61911 , p_source_10 => p_source_10
61912 , p_source_10_meaning => p_source_10_meaning
61913 , p_source_25 => p_source_25
61914 , x_transaction_coa_id => l_adr_transaction_coa_id
61915 , x_accounting_coa_id => l_adr_accounting_coa_id
61916 , x_flexfield_segment_code => l_adr_flexfield_segment_code
61917 , x_flex_value_set_id => l_adr_flex_value_set_id
61918 , x_value_type_code => l_adr_value_type_code
61919 , x_value_combination_id => l_adr_value_combination_id
61920 , x_value_segment_code => l_adr_value_segment_code
61921 , p_side => 'NA'
61922 , p_override_seg_flag => 'Y'
61923 );
61924
61925 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
61926
61927 xla_ae_lines_pkg.set_segment(
61928 p_to_segment_code => 'GL_BALANCING'
61929 , p_segment_value => l_segment
61930 , p_from_segment_code => l_adr_value_segment_code
61931 , p_from_combination_id => l_adr_value_combination_id
61932 , p_value_type_code => l_adr_value_type_code
61933 , p_transaction_coa_id => l_adr_transaction_coa_id
61934 , p_accounting_coa_id => l_adr_accounting_coa_id
61935 , p_flexfield_segment_code => l_adr_flexfield_segment_code
61936 , p_flex_value_set_id => l_adr_flex_value_set_id
61937 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
61938 , p_adr_type_code => 'S'
61939 , p_component_type => l_component_type
61940 , p_component_code => l_component_code
61941 , p_component_type_code => l_component_type_code
61942 , p_component_appl_id => l_component_appl_id
61943 , p_amb_context_code => l_amb_context_code
61944 , p_entity_code => 'AP_PAYMENTS'
61945 , p_event_class_code => 'PAYMENTS'
61946 , p_side => 'NA'
61947 );
61948
61949 END IF;
61950
61951 --
61952 --
61953 END IF;
61954 --
61955 -- Bug 4922099
61956 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
61957 (NVL(l_enc_upg_option, 'N') = 'O')
61958 ) AND
61959 (l_bflow_method_code = 'PRIOR_ENTRY')
61960 )
61961 THEN
61962 IF
61963 --
61964 1 = 2
61965 --
61966 THEN
61967 xla_accounting_err_pkg.build_message
61968 (p_appli_s_name => 'XLA'
61969 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
61970 ,p_token_1 => 'LINE_NUMBER'
61971 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
61972 ,p_token_2 => 'LINE_TYPE_NAME'
61973 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
61974 l_component_type
61975 ,l_component_code
61976 ,l_component_type_code
61977 ,l_component_appl_id
61978 ,l_amb_context_code
61979 ,l_entity_code
61980 ,l_event_class_code
61984 p_lookup_type => 'XLA_OWNER_TYPE'
61981 )
61982 ,p_token_3 => 'OWNER'
61983 ,p_value_3 => xla_lookups_pkg.get_meaning(
61985 ,p_lookup_code => l_component_type_code
61986 )
61987 ,p_token_4 => 'PRODUCT_NAME'
61988 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
61989 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
61990 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
61991 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
61992 ,p_ae_header_id => NULL
61993 );
61994
61995 IF (C_LEVEL_ERROR>= g_log_level) THEN
61996 trace
61997 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
61998 ,p_level => C_LEVEL_ERROR
61999 ,p_module => l_log_module);
62000 END IF;
62001 END IF;
62002 END IF;
62003 --
62004 --
62005 ------------------------------------------------------------------------------------------------
62006 -- 4219869 Business Flow
62007 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
62008 -- Prior Entry. Currently, the following code is always generated.
62009 ------------------------------------------------------------------------------------------------
62010 XLA_AE_LINES_PKG.ValidateCurrentLine;
62011
62012 ------------------------------------------------------------------------------------
62013 -- 4219869 Business Flow
62014 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
62015 ------------------------------------------------------------------------------------
62016 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
62017
62018 ----------------------------------------------------------------------------------
62019 -- 4219869 Business Flow
62020 -- Update journal entry status -- Need to generate this within IF <condition>
62021 ----------------------------------------------------------------------------------
62022 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
62023 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
62024 ,p_balance_type_code => l_balance_type_code
62025 );
62026
62027 -------------------------------------------------------------------------------------------
62028 -- 4262811 - Generate the Accrual Reversal lines
62029 -------------------------------------------------------------------------------------------
62030 BEGIN
62031 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
62032 (g_array_event(p_event_id).array_value_num('header_index'));
62033 IF l_acc_rev_flag IS NULL THEN
62034 l_acc_rev_flag := 'N';
62035 END IF;
62036 EXCEPTION
62037 WHEN OTHERS THEN
62038 l_acc_rev_flag := 'N';
62039 END;
62040 --
62041 IF (l_acc_rev_flag = 'Y') THEN
62042
62043 -- 4645092 ------------------------------------------------------------------------------
62044 -- To allow MPA report to determine if it should generate report process
62045 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
62046 ------------------------------------------------------------------------------------------
62047
62048 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
62049 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
62050 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
62051 -- call ADRs
62052 -- Bug 4922099
62053 --
62054 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
62055 (NVL(l_actual_upg_option, 'N') = 'O') OR
62056 (NVL(l_enc_upg_option, 'N') = 'O')
62057 )
62058 THEN
62059 NULL;
62060 --
62061 --
62062
62063 l_ccid := AcctDerRule_33(
62064 p_application_id => p_application_id
62065 , p_ae_header_id => l_ae_header_id
62066 , p_source_10 => p_source_10
62067 , p_source_10_meaning => p_source_10_meaning
62068 , p_source_19 => p_source_19
62069 , p_source_20 => p_source_20
62070 , p_source_20_meaning => p_source_20_meaning
62071 , p_source_21 => p_source_21
62072 , p_source_22 => p_source_22
62073 , p_source_25 => p_source_25
62074 , x_transaction_coa_id => l_adr_transaction_coa_id
62075 , x_accounting_coa_id => l_adr_accounting_coa_id
62076 , x_value_type_code => l_adr_value_type_code
62077 , p_side => 'NA'
62078 );
62079
62080 xla_ae_lines_pkg.set_ccid(
62081 p_code_combination_id => l_ccid
62082 , p_value_type_code => l_adr_value_type_code
62083 , p_transaction_coa_id => l_adr_transaction_coa_id
62084 , p_accounting_coa_id => l_adr_accounting_coa_id
62085 , p_adr_code => 'AP_FUTURE_DATED_PMT'
62086 , p_adr_type_code => 'S'
62090 , p_component_appl_id => l_component_appl_id
62087 , p_component_type => l_component_type
62088 , p_component_code => l_component_code
62089 , p_component_type_code => l_component_type_code
62091 , p_amb_context_code => l_amb_context_code
62092 , p_side => 'NA'
62093 );
62094
62095
62096 l_segment := AcctDerRule_11(
62097 p_application_id => p_application_id
62098 , p_ae_header_id => l_ae_header_id
62099 , p_source_10 => p_source_10
62100 , p_source_10_meaning => p_source_10_meaning
62101 , p_source_19 => p_source_19
62102 , p_source_20 => p_source_20
62103 , p_source_20_meaning => p_source_20_meaning
62104 , p_source_21 => p_source_21
62105 , p_source_22 => p_source_22
62106 , x_transaction_coa_id => l_adr_transaction_coa_id
62107 , x_accounting_coa_id => l_adr_accounting_coa_id
62108 , x_flexfield_segment_code => l_adr_flexfield_segment_code
62109 , x_flex_value_set_id => l_adr_flex_value_set_id
62110 , x_value_type_code => l_adr_value_type_code
62111 , x_value_combination_id => l_adr_value_combination_id
62112 , x_value_segment_code => l_adr_value_segment_code
62113 , p_side => 'NA'
62114 , p_override_seg_flag => 'Y'
62115 );
62116
62117 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
62118
62119 xla_ae_lines_pkg.set_segment(
62120 p_to_segment_code => 'GL_ACCOUNT'
62121 , p_segment_value => l_segment
62122 , p_from_segment_code => l_adr_value_segment_code
62123 , p_from_combination_id => l_adr_value_combination_id
62124 , p_value_type_code => l_adr_value_type_code
62125 , p_transaction_coa_id => l_adr_transaction_coa_id
62126 , p_accounting_coa_id => l_adr_accounting_coa_id
62127 , p_flexfield_segment_code => l_adr_flexfield_segment_code
62128 , p_flex_value_set_id => l_adr_flex_value_set_id
62129 , p_adr_code => 'AP_FUTURE_DTD_PMT_NAT_ACCT_SEG'
62130 , p_adr_type_code => 'S'
62131 , p_component_type => l_component_type
62132 , p_component_code => l_component_code
62133 , p_component_type_code => l_component_type_code
62134 , p_component_appl_id => l_component_appl_id
62135 , p_amb_context_code => l_amb_context_code
62136 , p_entity_code => 'AP_PAYMENTS'
62137 , p_event_class_code => 'PAYMENTS'
62138 , p_side => 'NA'
62139 );
62140
62141 END IF;
62142
62143 l_segment := AcctDerRule_23(
62144 p_application_id => p_application_id
62145 , p_ae_header_id => l_ae_header_id
62146 , p_source_10 => p_source_10
62147 , p_source_10_meaning => p_source_10_meaning
62148 , p_source_25 => p_source_25
62149 , x_transaction_coa_id => l_adr_transaction_coa_id
62150 , x_accounting_coa_id => l_adr_accounting_coa_id
62151 , x_flexfield_segment_code => l_adr_flexfield_segment_code
62152 , x_flex_value_set_id => l_adr_flex_value_set_id
62153 , x_value_type_code => l_adr_value_type_code
62154 , x_value_combination_id => l_adr_value_combination_id
62155 , x_value_segment_code => l_adr_value_segment_code
62156 , p_side => 'NA'
62157 , p_override_seg_flag => 'Y'
62158 );
62159
62160 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
62161
62162 xla_ae_lines_pkg.set_segment(
62163 p_to_segment_code => 'GL_BALANCING'
62164 , p_segment_value => l_segment
62165 , p_from_segment_code => l_adr_value_segment_code
62166 , p_from_combination_id => l_adr_value_combination_id
62167 , p_value_type_code => l_adr_value_type_code
62168 , p_transaction_coa_id => l_adr_transaction_coa_id
62169 , p_accounting_coa_id => l_adr_accounting_coa_id
62170 , p_flexfield_segment_code => l_adr_flexfield_segment_code
62171 , p_flex_value_set_id => l_adr_flex_value_set_id
62172 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
62173 , p_adr_type_code => 'S'
62174 , p_component_type => l_component_type
62175 , p_component_code => l_component_code
62176 , p_component_type_code => l_component_type_code
62177 , p_component_appl_id => l_component_appl_id
62178 , p_amb_context_code => l_amb_context_code
62179 , p_entity_code => 'AP_PAYMENTS'
62180 , p_event_class_code => 'PAYMENTS'
62181 , p_side => 'NA'
62182 );
62183
62184 END IF;
62185
62186 --
62187 --
62188 END IF;
62189
62190 --
62191 -- Update the line information that should be overwritten
62192 --
62193 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
62194 p_header_num => 1);
62195 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
62196
62197 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
62201 END IF;
62198
62199 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
62200 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
62202
62203 --
62204 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
62205 --
62206 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
62207 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
62208 ELSE
62209 ---------------------------------------------------------------------------------------------------
62210 -- 4262811a Switch Sign
62211 ---------------------------------------------------------------------------------------------------
62212 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
62213 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
62214 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
62215 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
62216 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
62217 -- 5132302
62218 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
62219 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
62220
62221 END IF;
62222
62223 -- 4955764
62224 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
62225 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
62226
62227
62228 XLA_AE_LINES_PKG.ValidateCurrentLine;
62229 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
62230
62231 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
62232 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
62233 ,p_balance_type_code => l_balance_type_code);
62234
62235 END IF;
62236
62237 -----------------------------------------------------------------------------------------
62238 -- 4262811 Multiperiod Accounting
62239 -----------------------------------------------------------------------------------------
62240 -- No MPA option is assigned.
62241
62242
62243 END IF;
62244 END IF;
62245 --
62246
62247 --
62248 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
62249 trace
62250 (p_msg => 'END of AcctLineType_129'
62251 ,p_level => C_LEVEL_PROCEDURE
62252 ,p_module => l_log_module);
62253 END IF;
62254 --
62255 EXCEPTION
62256 WHEN xla_exceptions_pkg.application_exception THEN
62257 RAISE;
62258 WHEN OTHERS THEN
62259 xla_exceptions_pkg.raise_message
62260 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_129');
62261 END AcctLineType_129;
62262 --
62263
62264 ---------------------------------------
62265 --
62266 -- PRIVATE FUNCTION
62267 -- AcctLineType_130
62268 --
62269 ---------------------------------------
62270 PROCEDURE AcctLineType_130 (
62271 p_application_id IN NUMBER
62272 ,p_event_id IN NUMBER
62273 ,p_calculate_acctd_flag IN VARCHAR2
62274 ,p_calculate_g_l_flag IN VARCHAR2
62275 ,p_actual_flag IN OUT VARCHAR2
62276 ,p_balance_type_code OUT VARCHAR2
62277 ,p_gain_or_loss_ref OUT VARCHAR2
62278
62279 --Payment Currency Code
62280 , p_source_8 IN VARCHAR2
62281 --Automatic Offsets Value
62282 , p_source_10 IN VARCHAR2
62283 , p_source_10_meaning IN VARCHAR2
62284 --Bank Future Dated Payment Account
62285 , p_source_19 IN NUMBER
62286 --Future Dated Payment Account Source Option
62287 , p_source_20 IN VARCHAR2
62288 , p_source_20_meaning IN VARCHAR2
62289 --Financials Options Future Dated Payment Account
62290 , p_source_21 IN NUMBER
62291 --Supplier Site Future Dated Payment Account
62292 , p_source_22 IN NUMBER
62293 --Invoice Distribution Account
62294 , p_source_25 IN NUMBER
62295 --When to Account for Payment Option
62296 , p_source_57 IN VARCHAR2
62297 --Accounting Reversal Indicator
62298 , p_source_58 IN VARCHAR2
62299 --Distribution Link Type
62300 , p_source_60 IN VARCHAR2
62301 --Override Accounted Amount Indicator
62302 , p_source_85 IN VARCHAR2
62303 , p_source_85_meaning IN VARCHAR2
62304 --Third Party Type
62305 , p_source_88 IN VARCHAR2
62306 --Invoice Distribution Tax Line Identifier
62307 , p_source_91 IN NUMBER
62308 --Invoice Distribution Tax Distribution Identifier from Tax
62309 , p_source_92 IN NUMBER
62310 --Invoice Distribution Summary Tax Line Identifier
62311 , p_source_93 IN NUMBER
62312 --Business Flow Accounts Payable Application Identifier
62313 , p_source_96 IN NUMBER
62314 --Business Flow Invoice Distribution Type
62315 , p_source_97 IN VARCHAR2
62316 --Business Flow Invoice Entity Code
62317 , p_source_98 IN VARCHAR2
62318 --Business Flow Invoice Distribution Identifier
62322 --Payment Distribution Type
62319 , p_source_99 IN NUMBER
62320 --Business Flow Invoice Identifier
62321 , p_source_100 IN NUMBER
62323 , p_source_101 IN VARCHAR2
62324 , p_source_101_meaning IN VARCHAR2
62325 --Payment Distribution Amount
62326 , p_source_102 IN NUMBER
62327 --Payment Distribution Identifier
62328 , p_source_107 IN NUMBER
62329 --Payment Supplier Identifier
62330 , p_source_113 IN NUMBER
62331 --Payment Supplier Site Identifier
62332 , p_source_114 IN NUMBER
62333 --Payment Distribution Reversed Identifier
62334 , p_source_115 IN NUMBER
62335 --Payment Maturity Date
62336 , p_source_117 IN DATE
62337 --Payment Distribution (Invoice Rate) Ledger Amount
62338 , p_source_119 IN NUMBER
62339 --Payment Exchange Date
62340 , p_source_120 IN DATE
62341 --Payment Exchange Rate
62342 , p_source_121 IN NUMBER
62343 --Payment Exchange Rate Type
62344 , p_source_122 IN VARCHAR2
62345 --Payment Processing Type
62346 , p_source_126 IN VARCHAR2
62347 --Invoice Distribution Amount of the Payment Distribution
62348 , p_source_127 IN NUMBER
62349 )
62350 IS
62351
62352 l_component_type VARCHAR2(80);
62353 l_component_code VARCHAR2(30);
62354 l_component_type_code VARCHAR2(1);
62355 l_component_appl_id INTEGER;
62356 l_amb_context_code VARCHAR2(30);
62357 l_entity_code VARCHAR2(30);
62358 l_event_class_code VARCHAR2(30);
62359 l_ae_header_id NUMBER;
62360 l_event_type_code VARCHAR2(30);
62361 l_line_definition_code VARCHAR2(30);
62362 l_line_definition_owner_code VARCHAR2(1);
62363 --
62364 -- adr variables
62365 l_segment VARCHAR2(30);
62366 l_ccid NUMBER;
62367 l_adr_transaction_coa_id NUMBER;
62368 l_adr_accounting_coa_id NUMBER;
62369 l_adr_flexfield_segment_code VARCHAR2(30);
62370 l_adr_flex_value_set_id NUMBER;
62371 l_adr_value_type_code VARCHAR2(30);
62372 l_adr_value_combination_id NUMBER;
62373 l_adr_value_segment_code VARCHAR2(30);
62374
62375 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
62376 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
62377 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
62378 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
62379
62380 -- 4262811 Variables ------------------------------------------------------------------------------------------
62381 l_entered_amt_idx NUMBER;
62382 l_accted_amt_idx NUMBER;
62383 l_acc_rev_flag VARCHAR2(1);
62384 l_accrual_line_num NUMBER;
62385 l_tmp_amt NUMBER;
62386 l_acc_rev_natural_side_code VARCHAR2(1);
62387
62388 l_num_entries NUMBER;
62389 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
62390 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
62391 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
62392 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
62393 l_recog_line_1 NUMBER;
62394 l_recog_line_2 NUMBER;
62395
62396 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
62397 l_bflow_applied_to_amt NUMBER; -- 5132302
62398 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
62399
62400 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
62401
62402 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
62403 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
62404
62405 ---------------------------------------------------------------------------------------------------------------
62406
62407
62408 --
62409 -- bulk performance
62410 --
62411 l_balance_type_code VARCHAR2(1);
62412 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
62413 l_log_module VARCHAR2(240);
62414
62415 --
62416 -- Upgrade strategy
62417 --
62418 l_actual_upg_option VARCHAR2(1);
62419 l_enc_upg_option VARCHAR2(1);
62420
62421 --
62422 BEGIN
62423 --
62424 IF g_log_enabled THEN
62425 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_130';
62426 END IF;
62427 --
62428 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
62429
62430 trace
62431 (p_msg => 'BEGIN of AcctLineType_130'
62432 ,p_level => C_LEVEL_PROCEDURE
62433 ,p_module => l_log_module);
62434
62435 END IF;
62436 --
62437 l_component_type := 'AMB_JLT';
62438 l_component_code := 'AP_FUTURE_DATED_PMT_INVXRATE';
62439 l_component_type_code := 'S';
62440 l_component_appl_id := 200;
62441 l_amb_context_code := 'DEFAULT';
62442 l_entity_code := 'AP_PAYMENTS';
62443 l_event_class_code := 'PAYMENTS';
62444 l_event_type_code := 'PAYMENTS_ALL';
62445 l_line_definition_owner_code := 'S';
62446 l_line_definition_code := 'ACCRUAL_PAYMENTS_ALL';
62447 --
62451 l_adr_transaction_coa_id := NULL;
62448 l_balance_type_code := 'A';
62449 l_segment := NULL;
62450 l_ccid := NULL;
62452 l_adr_accounting_coa_id := NULL;
62453 l_adr_flexfield_segment_code := NULL;
62454 l_adr_flex_value_set_id := NULL;
62455 l_adr_value_type_code := NULL;
62456 l_adr_value_combination_id := NULL;
62457 l_adr_value_segment_code := NULL;
62458
62459 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
62460 l_bflow_class_code := 'AP_FUTURE_DTD_PMT'; -- 4219869 Business Flow
62461 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
62462 l_budgetary_control_flag := 'N';
62463
62464 l_bflow_applied_to_amt_idx := NULL; -- 5132302
62465 l_bflow_applied_to_amt := NULL; -- 5132302
62466 l_entered_amt_idx := NULL; -- 4262811
62467 l_accted_amt_idx := NULL; -- 4262811
62468 l_acc_rev_flag := NULL; -- 4262811
62469 l_accrual_line_num := NULL; -- 4262811
62470 l_tmp_amt := NULL; -- 4262811
62471 --
62472
62473 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
62474 l_balance_type_code <> 'B' THEN
62475 IF NVL(p_source_57,'
62476 ') = 'ALWAYS_CLEAR' AND
62477 NVL(p_source_101,'
62478 ') = 'CASH' AND
62479 p_source_117 IS NOT NULL AND
62480 NVL(p_source_126,'
62481 ') <> 'PAYMENTCARD'
62482 THEN
62483
62484 --
62485 XLA_AE_LINES_PKG.SetNewLine;
62486
62487 p_balance_type_code := l_balance_type_code;
62488 -- set the flag so later we will know whether the gain loss line needs to be created
62489
62490 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
62491 p_actual_flag :='A';
62492 END IF;
62493
62494 --
62495 -- bulk performance
62496 --
62497 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
62498 p_header_num => 0); -- 4262811
62499 --
62500 -- set accounting line options
62501 --
62502 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
62503 p_natural_side_code => 'C'
62504 , p_gain_or_loss_flag => 'N'
62505 , p_gl_transfer_mode_code => 'S'
62506 , p_acct_entry_type_code => 'A'
62507 , p_switch_side_flag => 'Y'
62508 , p_merge_duplicate_code => 'A'
62509 );
62510 --
62511 l_acc_rev_natural_side_code := 'D'; -- 4262811
62512 --
62513 --
62514 -- set accounting line type info
62515 --
62516 xla_ae_lines_pkg.SetAcctLineType
62517 (p_component_type => l_component_type
62518 ,p_event_type_code => l_event_type_code
62519 ,p_line_definition_owner_code => l_line_definition_owner_code
62520 ,p_line_definition_code => l_line_definition_code
62521 ,p_accounting_line_code => l_component_code
62522 ,p_accounting_line_type_code => l_component_type_code
62523 ,p_accounting_line_appl_id => l_component_appl_id
62524 ,p_amb_context_code => l_amb_context_code
62525 ,p_entity_code => l_entity_code
62526 ,p_event_class_code => l_event_class_code);
62527 --
62528 -- set accounting class
62529 --
62530 xla_ae_lines_pkg.SetAcctClass(
62531 p_accounting_class_code => 'FUTURE_DATED_PMT'
62532 , p_ae_header_id => l_ae_header_id
62533 );
62534
62535 --
62536 -- set rounding class
62537 --
62538 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
62539 'FUTURE_DATED_PMT';
62540
62541 --
62542 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
62543 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
62544 --
62545 -- bulk performance
62546 --
62547 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
62548
62549 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
62550 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
62551
62552 -- 4955764
62553 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
62554 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
62555
62556 -- 4458381 Public Sector Enh
62557
62558 --
62559 -- set accounting attributes for the line type
62560 --
62561 l_entered_amt_idx := 10;
62562 l_accted_amt_idx := 15;
62563 l_bflow_applied_to_amt_idx := 2; -- 5132302
62564 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
62565 l_rec_acct_attrs.array_char_value(1) := p_source_58;
62566 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
62567 l_rec_acct_attrs.array_num_value(2) := p_source_127;
62568 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
62569 l_rec_acct_attrs.array_num_value(3) := p_source_96;
62570 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
62571 l_rec_acct_attrs.array_char_value(4) := p_source_97;
62572 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
62573 l_rec_acct_attrs.array_char_value(5) := p_source_98;
62577 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_100);
62574 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
62575 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_99);
62576 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
62578 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
62579 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_107);
62580 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
62581 l_rec_acct_attrs.array_char_value(9) := p_source_60;
62582 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
62583 l_rec_acct_attrs.array_num_value(10) := p_source_102;
62584 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
62585 l_rec_acct_attrs.array_char_value(11) := p_source_8;
62586 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
62587 l_rec_acct_attrs.array_date_value(12) := p_source_120;
62588 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
62589 l_rec_acct_attrs.array_num_value(13) := p_source_121;
62590 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
62591 l_rec_acct_attrs.array_char_value(14) := p_source_122;
62592 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
62593 l_rec_acct_attrs.array_num_value(15) := p_source_119;
62594 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
62595 l_rec_acct_attrs.array_char_value(16) := p_source_85;
62596 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
62597 l_rec_acct_attrs.array_num_value(17) := p_source_113;
62598 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
62599 l_rec_acct_attrs.array_num_value(18) := p_source_114;
62600 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
62601 l_rec_acct_attrs.array_char_value(19) := p_source_88;
62602 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
62603 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_115);
62604 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
62605 l_rec_acct_attrs.array_char_value(21) := p_source_60;
62606 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
62607 l_rec_acct_attrs.array_num_value(22) := p_source_91;
62608 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
62609 l_rec_acct_attrs.array_num_value(23) := p_source_92;
62610 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
62611 l_rec_acct_attrs.array_num_value(24) := p_source_93;
62612
62613 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
62614 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
62615
62616 ---------------------------------------------------------------------------------------------------------------
62617 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
62618 ---------------------------------------------------------------------------------------------------------------
62619 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
62620
62621 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
62622 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
62623
62624 IF xla_accounting_cache_pkg.GetValueChar
62625 (p_source_code => 'LEDGER_CATEGORY_CODE'
62626 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
62627 AND l_bflow_method_code = 'PRIOR_ENTRY'
62628 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
62629 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
62630 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
62631 )
62632 THEN
62633 xla_ae_lines_pkg.BflowUpgEntry
62634 (p_business_method_code => l_bflow_method_code
62635 ,p_business_class_code => l_bflow_class_code
62636 ,p_balance_type => l_balance_type_code);
62637 ELSE
62638 NULL;
62639 -- No business flow processing for business flow method of NONE.
62640 END IF;
62641
62642 --
62643 -- call analytical criteria
62644 --
62645
62646 --
62647 -- call description
62648 --
62649 -- No description or it is inherited.
62650 --
62651 -- call ADRs
62652 -- Bug 4922099
62653 --
62654 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
62655 (NVL(l_actual_upg_option, 'N') = 'O') OR
62656 (NVL(l_enc_upg_option, 'N') = 'O')
62657 )
62658 THEN
62659 NULL;
62660 --
62661 --
62662
62663 l_ccid := AcctDerRule_33(
62664 p_application_id => p_application_id
62665 , p_ae_header_id => l_ae_header_id
62666 , p_source_10 => p_source_10
62667 , p_source_10_meaning => p_source_10_meaning
62668 , p_source_19 => p_source_19
62669 , p_source_20 => p_source_20
62670 , p_source_20_meaning => p_source_20_meaning
62671 , p_source_21 => p_source_21
62672 , p_source_22 => p_source_22
62673 , p_source_25 => p_source_25
62674 , x_transaction_coa_id => l_adr_transaction_coa_id
62675 , x_accounting_coa_id => l_adr_accounting_coa_id
62676 , x_value_type_code => l_adr_value_type_code
62677 , p_side => 'NA'
62678 );
62679
62683 , p_transaction_coa_id => l_adr_transaction_coa_id
62680 xla_ae_lines_pkg.set_ccid(
62681 p_code_combination_id => l_ccid
62682 , p_value_type_code => l_adr_value_type_code
62684 , p_accounting_coa_id => l_adr_accounting_coa_id
62685 , p_adr_code => 'AP_FUTURE_DATED_PMT'
62686 , p_adr_type_code => 'S'
62687 , p_component_type => l_component_type
62688 , p_component_code => l_component_code
62689 , p_component_type_code => l_component_type_code
62690 , p_component_appl_id => l_component_appl_id
62691 , p_amb_context_code => l_amb_context_code
62692 , p_side => 'NA'
62693 );
62694
62695
62696 l_segment := AcctDerRule_11(
62697 p_application_id => p_application_id
62698 , p_ae_header_id => l_ae_header_id
62699 , p_source_10 => p_source_10
62700 , p_source_10_meaning => p_source_10_meaning
62701 , p_source_19 => p_source_19
62702 , p_source_20 => p_source_20
62703 , p_source_20_meaning => p_source_20_meaning
62704 , p_source_21 => p_source_21
62705 , p_source_22 => p_source_22
62706 , x_transaction_coa_id => l_adr_transaction_coa_id
62707 , x_accounting_coa_id => l_adr_accounting_coa_id
62708 , x_flexfield_segment_code => l_adr_flexfield_segment_code
62709 , x_flex_value_set_id => l_adr_flex_value_set_id
62710 , x_value_type_code => l_adr_value_type_code
62711 , x_value_combination_id => l_adr_value_combination_id
62712 , x_value_segment_code => l_adr_value_segment_code
62713 , p_side => 'NA'
62714 , p_override_seg_flag => 'Y'
62715 );
62716
62717 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
62718
62719 xla_ae_lines_pkg.set_segment(
62720 p_to_segment_code => 'GL_ACCOUNT'
62721 , p_segment_value => l_segment
62722 , p_from_segment_code => l_adr_value_segment_code
62723 , p_from_combination_id => l_adr_value_combination_id
62724 , p_value_type_code => l_adr_value_type_code
62725 , p_transaction_coa_id => l_adr_transaction_coa_id
62726 , p_accounting_coa_id => l_adr_accounting_coa_id
62727 , p_flexfield_segment_code => l_adr_flexfield_segment_code
62728 , p_flex_value_set_id => l_adr_flex_value_set_id
62729 , p_adr_code => 'AP_FUTURE_DTD_PMT_NAT_ACCT_SEG'
62730 , p_adr_type_code => 'S'
62731 , p_component_type => l_component_type
62732 , p_component_code => l_component_code
62733 , p_component_type_code => l_component_type_code
62734 , p_component_appl_id => l_component_appl_id
62735 , p_amb_context_code => l_amb_context_code
62736 , p_entity_code => 'AP_PAYMENTS'
62737 , p_event_class_code => 'PAYMENTS'
62738 , p_side => 'NA'
62739 );
62740
62741 END IF;
62742
62743 l_segment := AcctDerRule_23(
62744 p_application_id => p_application_id
62745 , p_ae_header_id => l_ae_header_id
62746 , p_source_10 => p_source_10
62747 , p_source_10_meaning => p_source_10_meaning
62748 , p_source_25 => p_source_25
62749 , x_transaction_coa_id => l_adr_transaction_coa_id
62750 , x_accounting_coa_id => l_adr_accounting_coa_id
62751 , x_flexfield_segment_code => l_adr_flexfield_segment_code
62752 , x_flex_value_set_id => l_adr_flex_value_set_id
62753 , x_value_type_code => l_adr_value_type_code
62754 , x_value_combination_id => l_adr_value_combination_id
62755 , x_value_segment_code => l_adr_value_segment_code
62756 , p_side => 'NA'
62757 , p_override_seg_flag => 'Y'
62758 );
62759
62760 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
62761
62762 xla_ae_lines_pkg.set_segment(
62763 p_to_segment_code => 'GL_BALANCING'
62764 , p_segment_value => l_segment
62765 , p_from_segment_code => l_adr_value_segment_code
62766 , p_from_combination_id => l_adr_value_combination_id
62767 , p_value_type_code => l_adr_value_type_code
62768 , p_transaction_coa_id => l_adr_transaction_coa_id
62769 , p_accounting_coa_id => l_adr_accounting_coa_id
62770 , p_flexfield_segment_code => l_adr_flexfield_segment_code
62771 , p_flex_value_set_id => l_adr_flex_value_set_id
62772 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
62773 , p_adr_type_code => 'S'
62774 , p_component_type => l_component_type
62775 , p_component_code => l_component_code
62776 , p_component_type_code => l_component_type_code
62777 , p_component_appl_id => l_component_appl_id
62778 , p_amb_context_code => l_amb_context_code
62779 , p_entity_code => 'AP_PAYMENTS'
62780 , p_event_class_code => 'PAYMENTS'
62781 , p_side => 'NA'
62782 );
62783
62784 END IF;
62785
62786 --
62787 --
62788 END IF;
62789 --
62790 -- Bug 4922099
62791 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
62795 )
62792 (NVL(l_enc_upg_option, 'N') = 'O')
62793 ) AND
62794 (l_bflow_method_code = 'PRIOR_ENTRY')
62796 THEN
62797 IF
62798 --
62799 1 = 2
62800 --
62801 THEN
62802 xla_accounting_err_pkg.build_message
62803 (p_appli_s_name => 'XLA'
62804 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
62805 ,p_token_1 => 'LINE_NUMBER'
62806 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
62807 ,p_token_2 => 'LINE_TYPE_NAME'
62808 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
62809 l_component_type
62810 ,l_component_code
62811 ,l_component_type_code
62812 ,l_component_appl_id
62813 ,l_amb_context_code
62814 ,l_entity_code
62815 ,l_event_class_code
62816 )
62817 ,p_token_3 => 'OWNER'
62818 ,p_value_3 => xla_lookups_pkg.get_meaning(
62819 p_lookup_type => 'XLA_OWNER_TYPE'
62820 ,p_lookup_code => l_component_type_code
62821 )
62822 ,p_token_4 => 'PRODUCT_NAME'
62823 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
62824 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
62825 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
62826 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
62827 ,p_ae_header_id => NULL
62828 );
62829
62830 IF (C_LEVEL_ERROR>= g_log_level) THEN
62831 trace
62832 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
62833 ,p_level => C_LEVEL_ERROR
62834 ,p_module => l_log_module);
62835 END IF;
62836 END IF;
62837 END IF;
62838 --
62839 --
62840 ------------------------------------------------------------------------------------------------
62841 -- 4219869 Business Flow
62842 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
62843 -- Prior Entry. Currently, the following code is always generated.
62844 ------------------------------------------------------------------------------------------------
62845 XLA_AE_LINES_PKG.ValidateCurrentLine;
62846
62847 ------------------------------------------------------------------------------------
62848 -- 4219869 Business Flow
62849 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
62850 ------------------------------------------------------------------------------------
62851 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
62852
62853 ----------------------------------------------------------------------------------
62854 -- 4219869 Business Flow
62855 -- Update journal entry status -- Need to generate this within IF <condition>
62856 ----------------------------------------------------------------------------------
62857 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
62858 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
62859 ,p_balance_type_code => l_balance_type_code
62860 );
62861
62862 -------------------------------------------------------------------------------------------
62863 -- 4262811 - Generate the Accrual Reversal lines
62864 -------------------------------------------------------------------------------------------
62865 BEGIN
62866 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
62867 (g_array_event(p_event_id).array_value_num('header_index'));
62868 IF l_acc_rev_flag IS NULL THEN
62869 l_acc_rev_flag := 'N';
62870 END IF;
62871 EXCEPTION
62872 WHEN OTHERS THEN
62873 l_acc_rev_flag := 'N';
62874 END;
62875 --
62876 IF (l_acc_rev_flag = 'Y') THEN
62877
62878 -- 4645092 ------------------------------------------------------------------------------
62879 -- To allow MPA report to determine if it should generate report process
62880 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
62881 ------------------------------------------------------------------------------------------
62882
62883 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
62887 -- Bug 4922099
62884 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
62885 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
62886 -- call ADRs
62888 --
62889 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
62890 (NVL(l_actual_upg_option, 'N') = 'O') OR
62891 (NVL(l_enc_upg_option, 'N') = 'O')
62892 )
62893 THEN
62894 NULL;
62895 --
62896 --
62897
62898 l_ccid := AcctDerRule_33(
62899 p_application_id => p_application_id
62900 , p_ae_header_id => l_ae_header_id
62901 , p_source_10 => p_source_10
62902 , p_source_10_meaning => p_source_10_meaning
62903 , p_source_19 => p_source_19
62904 , p_source_20 => p_source_20
62905 , p_source_20_meaning => p_source_20_meaning
62906 , p_source_21 => p_source_21
62907 , p_source_22 => p_source_22
62908 , p_source_25 => p_source_25
62909 , x_transaction_coa_id => l_adr_transaction_coa_id
62910 , x_accounting_coa_id => l_adr_accounting_coa_id
62911 , x_value_type_code => l_adr_value_type_code
62912 , p_side => 'NA'
62913 );
62914
62915 xla_ae_lines_pkg.set_ccid(
62916 p_code_combination_id => l_ccid
62917 , p_value_type_code => l_adr_value_type_code
62918 , p_transaction_coa_id => l_adr_transaction_coa_id
62919 , p_accounting_coa_id => l_adr_accounting_coa_id
62920 , p_adr_code => 'AP_FUTURE_DATED_PMT'
62921 , p_adr_type_code => 'S'
62922 , p_component_type => l_component_type
62923 , p_component_code => l_component_code
62924 , p_component_type_code => l_component_type_code
62925 , p_component_appl_id => l_component_appl_id
62926 , p_amb_context_code => l_amb_context_code
62927 , p_side => 'NA'
62928 );
62929
62930
62931 l_segment := AcctDerRule_11(
62932 p_application_id => p_application_id
62933 , p_ae_header_id => l_ae_header_id
62934 , p_source_10 => p_source_10
62935 , p_source_10_meaning => p_source_10_meaning
62936 , p_source_19 => p_source_19
62937 , p_source_20 => p_source_20
62938 , p_source_20_meaning => p_source_20_meaning
62939 , p_source_21 => p_source_21
62940 , p_source_22 => p_source_22
62941 , x_transaction_coa_id => l_adr_transaction_coa_id
62942 , x_accounting_coa_id => l_adr_accounting_coa_id
62943 , x_flexfield_segment_code => l_adr_flexfield_segment_code
62944 , x_flex_value_set_id => l_adr_flex_value_set_id
62945 , x_value_type_code => l_adr_value_type_code
62946 , x_value_combination_id => l_adr_value_combination_id
62947 , x_value_segment_code => l_adr_value_segment_code
62948 , p_side => 'NA'
62949 , p_override_seg_flag => 'Y'
62950 );
62951
62952 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
62953
62954 xla_ae_lines_pkg.set_segment(
62955 p_to_segment_code => 'GL_ACCOUNT'
62956 , p_segment_value => l_segment
62957 , p_from_segment_code => l_adr_value_segment_code
62958 , p_from_combination_id => l_adr_value_combination_id
62959 , p_value_type_code => l_adr_value_type_code
62960 , p_transaction_coa_id => l_adr_transaction_coa_id
62961 , p_accounting_coa_id => l_adr_accounting_coa_id
62962 , p_flexfield_segment_code => l_adr_flexfield_segment_code
62963 , p_flex_value_set_id => l_adr_flex_value_set_id
62964 , p_adr_code => 'AP_FUTURE_DTD_PMT_NAT_ACCT_SEG'
62965 , p_adr_type_code => 'S'
62966 , p_component_type => l_component_type
62967 , p_component_code => l_component_code
62968 , p_component_type_code => l_component_type_code
62969 , p_component_appl_id => l_component_appl_id
62970 , p_amb_context_code => l_amb_context_code
62971 , p_entity_code => 'AP_PAYMENTS'
62972 , p_event_class_code => 'PAYMENTS'
62973 , p_side => 'NA'
62974 );
62975
62976 END IF;
62977
62978 l_segment := AcctDerRule_23(
62979 p_application_id => p_application_id
62980 , p_ae_header_id => l_ae_header_id
62981 , p_source_10 => p_source_10
62982 , p_source_10_meaning => p_source_10_meaning
62983 , p_source_25 => p_source_25
62984 , x_transaction_coa_id => l_adr_transaction_coa_id
62985 , x_accounting_coa_id => l_adr_accounting_coa_id
62986 , x_flexfield_segment_code => l_adr_flexfield_segment_code
62987 , x_flex_value_set_id => l_adr_flex_value_set_id
62988 , x_value_type_code => l_adr_value_type_code
62989 , x_value_combination_id => l_adr_value_combination_id
62990 , x_value_segment_code => l_adr_value_segment_code
62991 , p_side => 'NA'
62992 , p_override_seg_flag => 'Y'
62993 );
62994
62995 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
62996
62997 xla_ae_lines_pkg.set_segment(
62998 p_to_segment_code => 'GL_BALANCING'
62999 , p_segment_value => l_segment
63003 , p_transaction_coa_id => l_adr_transaction_coa_id
63000 , p_from_segment_code => l_adr_value_segment_code
63001 , p_from_combination_id => l_adr_value_combination_id
63002 , p_value_type_code => l_adr_value_type_code
63004 , p_accounting_coa_id => l_adr_accounting_coa_id
63005 , p_flexfield_segment_code => l_adr_flexfield_segment_code
63006 , p_flex_value_set_id => l_adr_flex_value_set_id
63007 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
63008 , p_adr_type_code => 'S'
63009 , p_component_type => l_component_type
63010 , p_component_code => l_component_code
63011 , p_component_type_code => l_component_type_code
63012 , p_component_appl_id => l_component_appl_id
63013 , p_amb_context_code => l_amb_context_code
63014 , p_entity_code => 'AP_PAYMENTS'
63015 , p_event_class_code => 'PAYMENTS'
63016 , p_side => 'NA'
63017 );
63018
63019 END IF;
63020
63021 --
63022 --
63023 END IF;
63024
63025 --
63026 -- Update the line information that should be overwritten
63027 --
63028 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
63029 p_header_num => 1);
63030 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
63031
63032 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
63033
63034 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
63035 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
63036 END IF;
63037
63038 --
63039 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
63040 --
63041 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
63042 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
63043 ELSE
63044 ---------------------------------------------------------------------------------------------------
63045 -- 4262811a Switch Sign
63046 ---------------------------------------------------------------------------------------------------
63047 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
63048 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
63049 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
63050 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
63051 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
63052 -- 5132302
63053 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
63054 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
63055
63056 END IF;
63057
63058 -- 4955764
63059 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
63060 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
63061
63062
63063 XLA_AE_LINES_PKG.ValidateCurrentLine;
63064 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
63065
63066 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
63067 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
63068 ,p_balance_type_code => l_balance_type_code);
63069
63070 END IF;
63071
63072 -----------------------------------------------------------------------------------------
63073 -- 4262811 Multiperiod Accounting
63074 -----------------------------------------------------------------------------------------
63075 -- No MPA option is assigned.
63076
63077
63078 END IF;
63079 END IF;
63080 --
63081
63082 --
63083 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
63084 trace
63085 (p_msg => 'END of AcctLineType_130'
63086 ,p_level => C_LEVEL_PROCEDURE
63087 ,p_module => l_log_module);
63088 END IF;
63089 --
63090 EXCEPTION
63091 WHEN xla_exceptions_pkg.application_exception THEN
63092 RAISE;
63093 WHEN OTHERS THEN
63094 xla_exceptions_pkg.raise_message
63095 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_130');
63096 END AcctLineType_130;
63097 --
63098
63099 ---------------------------------------
63100 --
63101 -- PRIVATE FUNCTION
63102 -- AcctLineType_131
63103 --
63104 ---------------------------------------
63105 PROCEDURE AcctLineType_131 (
63106 p_application_id IN NUMBER
63107 ,p_event_id IN NUMBER
63108 ,p_calculate_acctd_flag IN VARCHAR2
63109 ,p_calculate_g_l_flag IN VARCHAR2
63110 ,p_actual_flag IN OUT VARCHAR2
63111 ,p_balance_type_code OUT VARCHAR2
63112 ,p_gain_or_loss_ref OUT VARCHAR2
63113
63114 --Payment Currency Code
63115 , p_source_8 IN VARCHAR2
63116 --When to Account for Payment Option
63117 , p_source_57 IN VARCHAR2
63121 , p_source_60 IN VARCHAR2
63118 --Accounting Reversal Indicator
63119 , p_source_58 IN VARCHAR2
63120 --Distribution Link Type
63122 --Override Accounted Amount Indicator
63123 , p_source_85 IN VARCHAR2
63124 , p_source_85_meaning IN VARCHAR2
63125 --Third Party Type
63126 , p_source_88 IN VARCHAR2
63127 --Business Flow Accounts Payable Application Identifier
63128 , p_source_96 IN NUMBER
63129 --Payment Distribution Type
63130 , p_source_101 IN VARCHAR2
63131 , p_source_101_meaning IN VARCHAR2
63132 --Payment Distribution Amount
63133 , p_source_102 IN NUMBER
63134 --Business Flow Payment Distribution Type
63135 , p_source_103 IN VARCHAR2
63136 --Business Flow Payment Entity Code
63137 , p_source_104 IN VARCHAR2
63138 --Business Flow Payment Distribution Identifier
63139 , p_source_105 IN NUMBER
63140 --Business Flow Payment Identifier
63141 , p_source_106 IN NUMBER
63142 --Payment Distribution Identifier
63143 , p_source_107 IN NUMBER
63144 --Payment Distribution Reversed Identifier
63145 , p_source_115 IN NUMBER
63146 --Payment Maturity Date
63147 , p_source_117 IN DATE
63148 --Payment Distribution (Payment Rate) Ledger Amount
63149 , p_source_118 IN NUMBER
63150 )
63151 IS
63152
63153 l_component_type VARCHAR2(80);
63154 l_component_code VARCHAR2(30);
63155 l_component_type_code VARCHAR2(1);
63156 l_component_appl_id INTEGER;
63157 l_amb_context_code VARCHAR2(30);
63158 l_entity_code VARCHAR2(30);
63159 l_event_class_code VARCHAR2(30);
63160 l_ae_header_id NUMBER;
63161 l_event_type_code VARCHAR2(30);
63162 l_line_definition_code VARCHAR2(30);
63163 l_line_definition_owner_code VARCHAR2(1);
63164 --
63165 -- adr variables
63166 l_segment VARCHAR2(30);
63167 l_ccid NUMBER;
63168 l_adr_transaction_coa_id NUMBER;
63169 l_adr_accounting_coa_id NUMBER;
63170 l_adr_flexfield_segment_code VARCHAR2(30);
63171 l_adr_flex_value_set_id NUMBER;
63172 l_adr_value_type_code VARCHAR2(30);
63173 l_adr_value_combination_id NUMBER;
63174 l_adr_value_segment_code VARCHAR2(30);
63175
63176 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
63177 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
63178 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
63179 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
63180
63181 -- 4262811 Variables ------------------------------------------------------------------------------------------
63182 l_entered_amt_idx NUMBER;
63183 l_accted_amt_idx NUMBER;
63184 l_acc_rev_flag VARCHAR2(1);
63185 l_accrual_line_num NUMBER;
63186 l_tmp_amt NUMBER;
63187 l_acc_rev_natural_side_code VARCHAR2(1);
63188
63189 l_num_entries NUMBER;
63190 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
63191 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
63192 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
63193 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
63194 l_recog_line_1 NUMBER;
63195 l_recog_line_2 NUMBER;
63196
63197 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
63198 l_bflow_applied_to_amt NUMBER; -- 5132302
63199 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
63200
63201 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
63202
63203 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
63204 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
63205
63206 ---------------------------------------------------------------------------------------------------------------
63207
63208
63209 --
63210 -- bulk performance
63211 --
63212 l_balance_type_code VARCHAR2(1);
63213 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
63214 l_log_module VARCHAR2(240);
63215
63216 --
63217 -- Upgrade strategy
63218 --
63219 l_actual_upg_option VARCHAR2(1);
63220 l_enc_upg_option VARCHAR2(1);
63221
63222 --
63223 BEGIN
63224 --
63225 IF g_log_enabled THEN
63226 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_131';
63227 END IF;
63228 --
63229 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
63230
63231 trace
63232 (p_msg => 'BEGIN of AcctLineType_131'
63233 ,p_level => C_LEVEL_PROCEDURE
63234 ,p_module => l_log_module);
63235
63236 END IF;
63237 --
63238 l_component_type := 'AMB_JLT';
63239 l_component_code := 'AP_FUTURE_DATED_PMT_MAT';
63240 l_component_type_code := 'S';
63241 l_component_appl_id := 200;
63242 l_amb_context_code := 'DEFAULT';
63243 l_entity_code := 'AP_PAYMENTS';
63244 l_event_class_code := 'FUTURE DATED PAYMENTS';
63245 l_event_type_code := 'FUTURE DATED PAYMENTS_ALL';
63246 l_line_definition_owner_code := 'S';
63247 l_line_definition_code := 'ACCRUAL_FUTURE DATED PAYMENTS1';
63248 --
63252 l_adr_transaction_coa_id := NULL;
63249 l_balance_type_code := 'A';
63250 l_segment := NULL;
63251 l_ccid := NULL;
63253 l_adr_accounting_coa_id := NULL;
63254 l_adr_flexfield_segment_code := NULL;
63255 l_adr_flex_value_set_id := NULL;
63256 l_adr_value_type_code := NULL;
63257 l_adr_value_combination_id := NULL;
63258 l_adr_value_segment_code := NULL;
63259
63260 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
63261 l_bflow_class_code := 'AP_FUTURE_DTD_PMT'; -- 4219869 Business Flow
63262 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
63263 l_budgetary_control_flag := 'N';
63264
63265 l_bflow_applied_to_amt_idx := NULL; -- 5132302
63266 l_bflow_applied_to_amt := NULL; -- 5132302
63267 l_entered_amt_idx := NULL; -- 4262811
63268 l_accted_amt_idx := NULL; -- 4262811
63269 l_acc_rev_flag := NULL; -- 4262811
63270 l_accrual_line_num := NULL; -- 4262811
63271 l_tmp_amt := NULL; -- 4262811
63272 --
63273
63274 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
63275 l_balance_type_code <> 'B' THEN
63276 IF NVL(p_source_57,'
63277 ') <> 'CLEAR_CLEAR' AND
63278 p_source_117 IS NOT NULL AND
63279 (NVL(p_source_101,'
63280 ') = 'CASH' OR
63281 NVL(p_source_101,'
63282 ') = 'ROUNDING')
63283 THEN
63284
63285 --
63286 XLA_AE_LINES_PKG.SetNewLine;
63287
63288 p_balance_type_code := l_balance_type_code;
63289 -- set the flag so later we will know whether the gain loss line needs to be created
63290
63291 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
63292 p_actual_flag :='A';
63293 END IF;
63294
63295 --
63296 -- bulk performance
63297 --
63298 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
63299 p_header_num => 0); -- 4262811
63300 --
63301 -- set accounting line options
63302 --
63303 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
63304 p_natural_side_code => 'D'
63305 , p_gain_or_loss_flag => 'N'
63306 , p_gl_transfer_mode_code => 'S'
63307 , p_acct_entry_type_code => 'A'
63308 , p_switch_side_flag => 'Y'
63309 , p_merge_duplicate_code => 'A'
63310 );
63311 --
63312 l_acc_rev_natural_side_code := 'C'; -- 4262811
63313 --
63314 --
63315 -- set accounting line type info
63316 --
63317 xla_ae_lines_pkg.SetAcctLineType
63318 (p_component_type => l_component_type
63319 ,p_event_type_code => l_event_type_code
63320 ,p_line_definition_owner_code => l_line_definition_owner_code
63321 ,p_line_definition_code => l_line_definition_code
63322 ,p_accounting_line_code => l_component_code
63323 ,p_accounting_line_type_code => l_component_type_code
63324 ,p_accounting_line_appl_id => l_component_appl_id
63325 ,p_amb_context_code => l_amb_context_code
63326 ,p_entity_code => l_entity_code
63327 ,p_event_class_code => l_event_class_code);
63328 --
63329 -- set accounting class
63330 --
63331 xla_ae_lines_pkg.SetAcctClass(
63332 p_accounting_class_code => 'FUTURE_DATED_PMT'
63333 , p_ae_header_id => l_ae_header_id
63334 );
63335
63336 --
63337 -- set rounding class
63338 --
63339 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
63340 'FUTURE_DATED_PMT';
63341
63342 --
63343 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
63344 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
63345 --
63346 -- bulk performance
63347 --
63348 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
63349
63350 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
63351 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
63352
63353 -- 4955764
63354 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
63355 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
63356
63357 -- 4458381 Public Sector Enh
63358
63359 --
63360 -- set accounting attributes for the line type
63361 --
63362 l_entered_amt_idx := 9;
63363 l_accted_amt_idx := 11;
63364 l_bflow_applied_to_amt_idx := NULL; -- 5132302
63365 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
63366 l_rec_acct_attrs.array_char_value(1) := p_source_58;
63367 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_APPLICATION_ID';
63368 l_rec_acct_attrs.array_num_value(2) := p_source_96;
63369 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_DISTRIBUTION_TYPE';
63370 l_rec_acct_attrs.array_char_value(3) := p_source_103;
63371 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_ENTITY_CODE';
63372 l_rec_acct_attrs.array_char_value(4) := p_source_104;
63373 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_FIRST_DIST_ID';
63377 l_rec_acct_attrs.array_acct_attr_code(7) := 'DISTRIBUTION_IDENTIFIER_1';
63374 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_105);
63375 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
63376 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_106);
63378 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_107);
63379 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_TYPE';
63380 l_rec_acct_attrs.array_char_value(8) := p_source_60;
63381 l_rec_acct_attrs.array_acct_attr_code(9) := 'ENTERED_CURRENCY_AMOUNT';
63382 l_rec_acct_attrs.array_num_value(9) := p_source_102;
63383 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_CODE';
63384 l_rec_acct_attrs.array_char_value(10) := p_source_8;
63385 l_rec_acct_attrs.array_acct_attr_code(11) := 'LEDGER_AMOUNT';
63386 l_rec_acct_attrs.array_num_value(11) := p_source_118;
63387 l_rec_acct_attrs.array_acct_attr_code(12) := 'OVERRIDE_ACCTD_AMT_FLAG';
63388 l_rec_acct_attrs.array_char_value(12) := p_source_85;
63389 l_rec_acct_attrs.array_acct_attr_code(13) := 'PARTY_TYPE';
63390 l_rec_acct_attrs.array_char_value(13) := p_source_88;
63391 l_rec_acct_attrs.array_acct_attr_code(14) := 'REVERSED_DISTRIBUTION_ID1';
63392 l_rec_acct_attrs.array_num_value(14) := to_char(p_source_115);
63393 l_rec_acct_attrs.array_acct_attr_code(15) := 'REVERSED_DISTRIBUTION_TYPE';
63394 l_rec_acct_attrs.array_char_value(15) := p_source_60;
63395
63396 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
63397 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
63398
63399 ---------------------------------------------------------------------------------------------------------------
63400 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
63401 ---------------------------------------------------------------------------------------------------------------
63402 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
63403
63404 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
63405 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
63406
63407 IF xla_accounting_cache_pkg.GetValueChar
63408 (p_source_code => 'LEDGER_CATEGORY_CODE'
63409 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
63410 AND l_bflow_method_code = 'PRIOR_ENTRY'
63411 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
63412 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
63413 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
63414 )
63415 THEN
63416 xla_ae_lines_pkg.BflowUpgEntry
63417 (p_business_method_code => l_bflow_method_code
63418 ,p_business_class_code => l_bflow_class_code
63419 ,p_balance_type => l_balance_type_code);
63420 ELSE
63421 NULL;
63422 XLA_AE_LINES_PKG.business_flow_validation(
63423 p_business_method_code => l_bflow_method_code
63424 ,p_business_class_code => l_bflow_class_code
63425 ,p_inherit_description_flag => l_inherit_desc_flag);
63426 END IF;
63427
63428 --
63429 -- call analytical criteria
63430 --
63431 -- Inherited Analytical Criteria for business flow method of Prior Entry.
63432 --
63433 -- call description
63434 --
63435 -- No description or it is inherited.
63436 --
63437 -- call ADRs
63438 -- Bug 4922099
63439 --
63440 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
63441 (NVL(l_actual_upg_option, 'N') = 'O') OR
63442 (NVL(l_enc_upg_option, 'N') = 'O')
63443 )
63444 THEN
63445 NULL;
63446 --
63447 --
63448
63449 --
63450 --
63451 END IF;
63452 --
63453 -- Bug 4922099
63454 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
63455 (NVL(l_enc_upg_option, 'N') = 'O')
63456 ) AND
63457 (l_bflow_method_code = 'PRIOR_ENTRY')
63458 )
63459 THEN
63460 IF
63461 --
63462 1 = 1
63463 --
63464 THEN
63465 xla_accounting_err_pkg.build_message
63466 (p_appli_s_name => 'XLA'
63467 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
63468 ,p_token_1 => 'LINE_NUMBER'
63469 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
63470 ,p_token_2 => 'LINE_TYPE_NAME'
63471 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
63472 l_component_type
63473 ,l_component_code
63474 ,l_component_type_code
63475 ,l_component_appl_id
63476 ,l_amb_context_code
63477 ,l_entity_code
63481 ,p_value_3 => xla_lookups_pkg.get_meaning(
63478 ,l_event_class_code
63479 )
63480 ,p_token_3 => 'OWNER'
63482 p_lookup_type => 'XLA_OWNER_TYPE'
63483 ,p_lookup_code => l_component_type_code
63484 )
63485 ,p_token_4 => 'PRODUCT_NAME'
63486 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
63487 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
63488 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
63489 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
63490 ,p_ae_header_id => NULL
63491 );
63492
63493 IF (C_LEVEL_ERROR>= g_log_level) THEN
63494 trace
63495 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
63496 ,p_level => C_LEVEL_ERROR
63497 ,p_module => l_log_module);
63498 END IF;
63499 END IF;
63500 END IF;
63501 --
63502 --
63503 ------------------------------------------------------------------------------------------------
63504 -- 4219869 Business Flow
63505 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
63506 -- Prior Entry. Currently, the following code is always generated.
63507 ------------------------------------------------------------------------------------------------
63508 -- No ValidateCurrentLine for business flow method of Prior Entry
63509
63510 ------------------------------------------------------------------------------------
63511 -- 4219869 Business Flow
63512 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
63513 ------------------------------------------------------------------------------------
63514 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
63515
63516 ----------------------------------------------------------------------------------
63517 -- 4219869 Business Flow
63518 -- Update journal entry status -- Need to generate this within IF <condition>
63519 ----------------------------------------------------------------------------------
63520 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
63521 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
63522 ,p_balance_type_code => l_balance_type_code
63523 );
63524
63525 -------------------------------------------------------------------------------------------
63526 -- 4262811 - Generate the Accrual Reversal lines
63527 -------------------------------------------------------------------------------------------
63528 BEGIN
63529 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
63530 (g_array_event(p_event_id).array_value_num('header_index'));
63531 IF l_acc_rev_flag IS NULL THEN
63532 l_acc_rev_flag := 'N';
63533 END IF;
63534 EXCEPTION
63535 WHEN OTHERS THEN
63536 l_acc_rev_flag := 'N';
63537 END;
63538 --
63539 IF (l_acc_rev_flag = 'Y') THEN
63540
63541 -- 4645092 ------------------------------------------------------------------------------
63542 -- To allow MPA report to determine if it should generate report process
63543 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
63544 ------------------------------------------------------------------------------------------
63545
63546 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
63547 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
63548 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
63549 -- call ADRs
63550 -- Bug 4922099
63551 --
63552 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
63553 (NVL(l_actual_upg_option, 'N') = 'O') OR
63554 (NVL(l_enc_upg_option, 'N') = 'O')
63555 )
63556 THEN
63557 NULL;
63558 --
63559 --
63560
63561 --
63562 --
63563 END IF;
63564
63565 --
63566 -- Update the line information that should be overwritten
63567 --
63568 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
63569 p_header_num => 1);
63570 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
63571
63572 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
63573
63574 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
63575 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
63576 END IF;
63577
63578 --
63579 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
63580 --
63581 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
63585 -- 4262811a Switch Sign
63582 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
63583 ELSE
63584 ---------------------------------------------------------------------------------------------------
63586 ---------------------------------------------------------------------------------------------------
63587 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
63588 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
63589 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
63590 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
63591 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
63592 -- 5132302
63593 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
63594 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
63595
63596 END IF;
63597
63598 -- 4955764
63599 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
63600 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
63601
63602
63603 XLA_AE_LINES_PKG.ValidateCurrentLine;
63604 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
63605
63606 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
63607 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
63608 ,p_balance_type_code => l_balance_type_code);
63609
63610 END IF;
63611
63612 -----------------------------------------------------------------------------------------
63613 -- 4262811 Multiperiod Accounting
63614 -----------------------------------------------------------------------------------------
63615 -- No MPA option is assigned.
63616
63617
63618 END IF;
63619 END IF;
63620 --
63621
63622 --
63623 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
63624 trace
63625 (p_msg => 'END of AcctLineType_131'
63626 ,p_level => C_LEVEL_PROCEDURE
63627 ,p_module => l_log_module);
63628 END IF;
63629 --
63630 EXCEPTION
63631 WHEN xla_exceptions_pkg.application_exception THEN
63632 RAISE;
63633 WHEN OTHERS THEN
63634 xla_exceptions_pkg.raise_message
63635 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_131');
63636 END AcctLineType_131;
63637 --
63638
63639 ---------------------------------------
63640 --
63641 -- PRIVATE FUNCTION
63642 -- AcctLineType_132
63643 --
63644 ---------------------------------------
63645 PROCEDURE AcctLineType_132 (
63646 p_application_id IN NUMBER
63647 ,p_event_id IN NUMBER
63648 ,p_calculate_acctd_flag IN VARCHAR2
63649 ,p_calculate_g_l_flag IN VARCHAR2
63650 ,p_actual_flag IN OUT VARCHAR2
63651 ,p_balance_type_code OUT VARCHAR2
63652 ,p_gain_or_loss_ref OUT VARCHAR2
63653
63654 --Payment Currency Code
63655 , p_source_8 IN VARCHAR2
63656 --Automatic Offsets Value
63657 , p_source_10 IN VARCHAR2
63658 , p_source_10_meaning IN VARCHAR2
63659 --Invoice Distribution Account
63660 , p_source_25 IN NUMBER
63661 --Payables Options Rounding Account
63662 , p_source_45 IN NUMBER
63663 --When to Account for Payment Option
63664 , p_source_57 IN VARCHAR2
63665 --Accounting Reversal Indicator
63666 , p_source_58 IN VARCHAR2
63667 --Distribution Link Type
63668 , p_source_60 IN VARCHAR2
63669 --Override Accounted Amount Indicator
63670 , p_source_85 IN VARCHAR2
63671 , p_source_85_meaning IN VARCHAR2
63672 --Third Party Type
63673 , p_source_88 IN VARCHAR2
63674 --Business Flow Accounts Payable Application Identifier
63675 , p_source_96 IN NUMBER
63676 --Payment Distribution Type
63677 , p_source_101 IN VARCHAR2
63678 , p_source_101_meaning IN VARCHAR2
63679 --Payment Distribution Amount
63680 , p_source_102 IN NUMBER
63681 --Business Flow Payment Distribution Type
63682 , p_source_103 IN VARCHAR2
63683 --Business Flow Payment Entity Code
63684 , p_source_104 IN VARCHAR2
63685 --Business Flow Payment Distribution Identifier
63686 , p_source_105 IN NUMBER
63687 --Business Flow Payment Identifier
63688 , p_source_106 IN NUMBER
63689 --Payment Distribution Identifier
63690 , p_source_107 IN NUMBER
63691 --Payment Supplier Identifier
63692 , p_source_113 IN NUMBER
63693 --Payment Supplier Site Identifier
63694 , p_source_114 IN NUMBER
63695 --Payment Distribution Reversed Identifier
63696 , p_source_115 IN NUMBER
63697 --Payment Distribution (Payment Rate) Ledger Amount
63698 , p_source_118 IN NUMBER
63699 --Payment Exchange Date
63700 , p_source_120 IN DATE
63701 --Payment Exchange Rate
63702 , p_source_121 IN NUMBER
63703 --Payment Exchange Rate Type
63704 , p_source_122 IN VARCHAR2
63705 )
63706 IS
63707
63708 l_component_type VARCHAR2(80);
63712 l_amb_context_code VARCHAR2(30);
63709 l_component_code VARCHAR2(30);
63710 l_component_type_code VARCHAR2(1);
63711 l_component_appl_id INTEGER;
63713 l_entity_code VARCHAR2(30);
63714 l_event_class_code VARCHAR2(30);
63715 l_ae_header_id NUMBER;
63716 l_event_type_code VARCHAR2(30);
63717 l_line_definition_code VARCHAR2(30);
63718 l_line_definition_owner_code VARCHAR2(1);
63719 --
63720 -- adr variables
63721 l_segment VARCHAR2(30);
63722 l_ccid NUMBER;
63723 l_adr_transaction_coa_id NUMBER;
63724 l_adr_accounting_coa_id NUMBER;
63725 l_adr_flexfield_segment_code VARCHAR2(30);
63726 l_adr_flex_value_set_id NUMBER;
63727 l_adr_value_type_code VARCHAR2(30);
63728 l_adr_value_combination_id NUMBER;
63729 l_adr_value_segment_code VARCHAR2(30);
63730
63731 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
63732 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
63733 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
63734 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
63735
63736 -- 4262811 Variables ------------------------------------------------------------------------------------------
63737 l_entered_amt_idx NUMBER;
63738 l_accted_amt_idx NUMBER;
63739 l_acc_rev_flag VARCHAR2(1);
63740 l_accrual_line_num NUMBER;
63741 l_tmp_amt NUMBER;
63742 l_acc_rev_natural_side_code VARCHAR2(1);
63743
63744 l_num_entries NUMBER;
63745 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
63746 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
63747 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
63748 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
63749 l_recog_line_1 NUMBER;
63750 l_recog_line_2 NUMBER;
63751
63752 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
63753 l_bflow_applied_to_amt NUMBER; -- 5132302
63754 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
63755
63756 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
63757
63758 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
63759 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
63760
63761 ---------------------------------------------------------------------------------------------------------------
63762
63763
63764 --
63765 -- bulk performance
63766 --
63767 l_balance_type_code VARCHAR2(1);
63768 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
63769 l_log_module VARCHAR2(240);
63770
63771 --
63772 -- Upgrade strategy
63773 --
63774 l_actual_upg_option VARCHAR2(1);
63775 l_enc_upg_option VARCHAR2(1);
63776
63777 --
63778 BEGIN
63779 --
63780 IF g_log_enabled THEN
63781 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_132';
63782 END IF;
63783 --
63784 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
63785
63786 trace
63787 (p_msg => 'BEGIN of AcctLineType_132'
63788 ,p_level => C_LEVEL_PROCEDURE
63789 ,p_module => l_log_module);
63790
63791 END IF;
63792 --
63793 l_component_type := 'AMB_JLT';
63794 l_component_code := 'AP_FUTURE_PMT_ROUNDING_MAT';
63795 l_component_type_code := 'S';
63796 l_component_appl_id := 200;
63797 l_amb_context_code := 'DEFAULT';
63798 l_entity_code := 'AP_PAYMENTS';
63799 l_event_class_code := 'FUTURE DATED PAYMENTS';
63800 l_event_type_code := 'FUTURE DATED PAYMENTS_ALL';
63801 l_line_definition_owner_code := 'S';
63802 l_line_definition_code := 'ACCRUAL_FUTURE DATED PAYMENTS1';
63803 --
63804 l_balance_type_code := 'A';
63805 l_segment := NULL;
63806 l_ccid := NULL;
63807 l_adr_transaction_coa_id := NULL;
63808 l_adr_accounting_coa_id := NULL;
63809 l_adr_flexfield_segment_code := NULL;
63810 l_adr_flex_value_set_id := NULL;
63811 l_adr_value_type_code := NULL;
63812 l_adr_value_combination_id := NULL;
63813 l_adr_value_segment_code := NULL;
63814
63815 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
63816 l_bflow_class_code := ''; -- 4219869 Business Flow
63817 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
63818 l_budgetary_control_flag := 'N';
63819
63820 l_bflow_applied_to_amt_idx := NULL; -- 5132302
63821 l_bflow_applied_to_amt := NULL; -- 5132302
63822 l_entered_amt_idx := NULL; -- 4262811
63823 l_accted_amt_idx := NULL; -- 4262811
63824 l_acc_rev_flag := NULL; -- 4262811
63825 l_accrual_line_num := NULL; -- 4262811
63826 l_tmp_amt := NULL; -- 4262811
63827 --
63828
63829 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
63830 l_balance_type_code <> 'B' THEN
63831 IF NVL(p_source_57,'
63832 ') <> 'CLEAR_CLEAR' AND
63836
63833 NVL(p_source_101,'
63834 ') = 'FUTURE PAYMENT ROUNDING'
63835 THEN
63837 --
63838 XLA_AE_LINES_PKG.SetNewLine;
63839
63840 p_balance_type_code := l_balance_type_code;
63841 -- set the flag so later we will know whether the gain loss line needs to be created
63842
63843 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
63844 p_actual_flag :='A';
63845 END IF;
63846
63847 --
63848 -- bulk performance
63849 --
63850 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
63851 p_header_num => 0); -- 4262811
63852 --
63853 -- set accounting line options
63854 --
63855 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
63856 p_natural_side_code => 'D'
63857 , p_gain_or_loss_flag => 'N'
63858 , p_gl_transfer_mode_code => 'S'
63859 , p_acct_entry_type_code => 'A'
63860 , p_switch_side_flag => 'Y'
63861 , p_merge_duplicate_code => 'A'
63862 );
63863 --
63864 l_acc_rev_natural_side_code := 'C'; -- 4262811
63865 --
63866 --
63867 -- set accounting line type info
63868 --
63869 xla_ae_lines_pkg.SetAcctLineType
63870 (p_component_type => l_component_type
63871 ,p_event_type_code => l_event_type_code
63872 ,p_line_definition_owner_code => l_line_definition_owner_code
63873 ,p_line_definition_code => l_line_definition_code
63874 ,p_accounting_line_code => l_component_code
63875 ,p_accounting_line_type_code => l_component_type_code
63876 ,p_accounting_line_appl_id => l_component_appl_id
63877 ,p_amb_context_code => l_amb_context_code
63878 ,p_entity_code => l_entity_code
63879 ,p_event_class_code => l_event_class_code);
63880 --
63881 -- set accounting class
63882 --
63883 xla_ae_lines_pkg.SetAcctClass(
63884 p_accounting_class_code => 'ROUNDING'
63885 , p_ae_header_id => l_ae_header_id
63886 );
63887
63888 --
63889 -- set rounding class
63890 --
63891 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
63892 'ROUNDING';
63893
63894 --
63895 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
63896 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
63897 --
63898 -- bulk performance
63899 --
63900 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
63901
63902 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
63903 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
63904
63905 -- 4955764
63906 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
63907 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
63908
63909 -- 4458381 Public Sector Enh
63910
63911 --
63912 -- set accounting attributes for the line type
63913 --
63914 l_entered_amt_idx := 9;
63915 l_accted_amt_idx := 14;
63916 l_bflow_applied_to_amt_idx := NULL; -- 5132302
63917 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
63918 l_rec_acct_attrs.array_char_value(1) := p_source_58;
63919 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_APPLICATION_ID';
63920 l_rec_acct_attrs.array_num_value(2) := p_source_96;
63921 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_DISTRIBUTION_TYPE';
63922 l_rec_acct_attrs.array_char_value(3) := p_source_103;
63923 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_ENTITY_CODE';
63924 l_rec_acct_attrs.array_char_value(4) := p_source_104;
63925 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_FIRST_DIST_ID';
63926 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_105);
63927 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
63928 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_106);
63929 l_rec_acct_attrs.array_acct_attr_code(7) := 'DISTRIBUTION_IDENTIFIER_1';
63930 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_107);
63931 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_TYPE';
63932 l_rec_acct_attrs.array_char_value(8) := p_source_60;
63933 l_rec_acct_attrs.array_acct_attr_code(9) := 'ENTERED_CURRENCY_AMOUNT';
63934 l_rec_acct_attrs.array_num_value(9) := p_source_102;
63935 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_CODE';
63936 l_rec_acct_attrs.array_char_value(10) := p_source_8;
63937 l_rec_acct_attrs.array_acct_attr_code(11) := 'EXCHANGE_DATE';
63938 l_rec_acct_attrs.array_date_value(11) := p_source_120;
63939 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_RATE';
63940 l_rec_acct_attrs.array_num_value(12) := p_source_121;
63941 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE_TYPE';
63942 l_rec_acct_attrs.array_char_value(13) := p_source_122;
63943 l_rec_acct_attrs.array_acct_attr_code(14) := 'LEDGER_AMOUNT';
63944 l_rec_acct_attrs.array_num_value(14) := p_source_118;
63945 l_rec_acct_attrs.array_acct_attr_code(15) := 'OVERRIDE_ACCTD_AMT_FLAG';
63946 l_rec_acct_attrs.array_char_value(15) := p_source_85;
63950 l_rec_acct_attrs.array_num_value(17) := p_source_114;
63947 l_rec_acct_attrs.array_acct_attr_code(16) := 'PARTY_ID';
63948 l_rec_acct_attrs.array_num_value(16) := p_source_113;
63949 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_SITE_ID';
63951 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_TYPE';
63952 l_rec_acct_attrs.array_char_value(18) := p_source_88;
63953 l_rec_acct_attrs.array_acct_attr_code(19) := 'REVERSED_DISTRIBUTION_ID1';
63954 l_rec_acct_attrs.array_num_value(19) := to_char(p_source_115);
63955 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_TYPE';
63956 l_rec_acct_attrs.array_char_value(20) := p_source_60;
63957
63958 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
63959 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
63960
63961 ---------------------------------------------------------------------------------------------------------------
63962 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
63963 ---------------------------------------------------------------------------------------------------------------
63964 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
63965
63966 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
63967 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
63968
63969 IF xla_accounting_cache_pkg.GetValueChar
63970 (p_source_code => 'LEDGER_CATEGORY_CODE'
63971 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
63972 AND l_bflow_method_code = 'PRIOR_ENTRY'
63973 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
63974 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
63975 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
63976 )
63977 THEN
63978 xla_ae_lines_pkg.BflowUpgEntry
63979 (p_business_method_code => l_bflow_method_code
63980 ,p_business_class_code => l_bflow_class_code
63981 ,p_balance_type => l_balance_type_code);
63982 ELSE
63983 NULL;
63984 -- No business flow processing for business flow method of NONE.
63985 END IF;
63986
63987 --
63988 -- call analytical criteria
63989 --
63990
63991 --
63992 -- call description
63993 --
63994 -- No description or it is inherited.
63995 --
63996 -- call ADRs
63997 -- Bug 4922099
63998 --
63999 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
64000 (NVL(l_actual_upg_option, 'N') = 'O') OR
64001 (NVL(l_enc_upg_option, 'N') = 'O')
64002 )
64003 THEN
64004 NULL;
64005 --
64006 --
64007
64008 l_ccid := AcctDerRule_43(
64009 p_application_id => p_application_id
64010 , p_ae_header_id => l_ae_header_id
64011 , p_source_10 => p_source_10
64012 , p_source_10_meaning => p_source_10_meaning
64013 , p_source_25 => p_source_25
64014 , p_source_45 => p_source_45
64015 , x_transaction_coa_id => l_adr_transaction_coa_id
64016 , x_accounting_coa_id => l_adr_accounting_coa_id
64017 , x_value_type_code => l_adr_value_type_code
64018 , p_side => 'NA'
64019 );
64020
64021 xla_ae_lines_pkg.set_ccid(
64022 p_code_combination_id => l_ccid
64023 , p_value_type_code => l_adr_value_type_code
64024 , p_transaction_coa_id => l_adr_transaction_coa_id
64025 , p_accounting_coa_id => l_adr_accounting_coa_id
64026 , p_adr_code => 'AP_ROUNDING'
64027 , p_adr_type_code => 'S'
64028 , p_component_type => l_component_type
64029 , p_component_code => l_component_code
64030 , p_component_type_code => l_component_type_code
64031 , p_component_appl_id => l_component_appl_id
64032 , p_amb_context_code => l_amb_context_code
64033 , p_side => 'NA'
64034 );
64035
64036
64037 --
64038 --
64039 END IF;
64040 --
64041 -- Bug 4922099
64042 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
64043 (NVL(l_enc_upg_option, 'N') = 'O')
64044 ) AND
64045 (l_bflow_method_code = 'PRIOR_ENTRY')
64046 )
64047 THEN
64048 IF
64049 --
64050 1 = 2
64051 --
64052 THEN
64053 xla_accounting_err_pkg.build_message
64054 (p_appli_s_name => 'XLA'
64055 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
64056 ,p_token_1 => 'LINE_NUMBER'
64057 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
64058 ,p_token_2 => 'LINE_TYPE_NAME'
64059 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
64060 l_component_type
64061 ,l_component_code
64062 ,l_component_type_code
64066 ,l_event_class_code
64063 ,l_component_appl_id
64064 ,l_amb_context_code
64065 ,l_entity_code
64067 )
64068 ,p_token_3 => 'OWNER'
64069 ,p_value_3 => xla_lookups_pkg.get_meaning(
64070 p_lookup_type => 'XLA_OWNER_TYPE'
64071 ,p_lookup_code => l_component_type_code
64072 )
64073 ,p_token_4 => 'PRODUCT_NAME'
64074 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
64075 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
64076 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
64077 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
64078 ,p_ae_header_id => NULL
64079 );
64080
64081 IF (C_LEVEL_ERROR>= g_log_level) THEN
64082 trace
64083 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
64084 ,p_level => C_LEVEL_ERROR
64085 ,p_module => l_log_module);
64086 END IF;
64087 END IF;
64088 END IF;
64089 --
64090 --
64091 ------------------------------------------------------------------------------------------------
64092 -- 4219869 Business Flow
64093 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
64094 -- Prior Entry. Currently, the following code is always generated.
64095 ------------------------------------------------------------------------------------------------
64096 XLA_AE_LINES_PKG.ValidateCurrentLine;
64097
64098 ------------------------------------------------------------------------------------
64099 -- 4219869 Business Flow
64100 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
64101 ------------------------------------------------------------------------------------
64102 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
64103
64104 ----------------------------------------------------------------------------------
64105 -- 4219869 Business Flow
64106 -- Update journal entry status -- Need to generate this within IF <condition>
64107 ----------------------------------------------------------------------------------
64108 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
64109 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
64110 ,p_balance_type_code => l_balance_type_code
64111 );
64112
64113 -------------------------------------------------------------------------------------------
64114 -- 4262811 - Generate the Accrual Reversal lines
64115 -------------------------------------------------------------------------------------------
64116 BEGIN
64117 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
64118 (g_array_event(p_event_id).array_value_num('header_index'));
64119 IF l_acc_rev_flag IS NULL THEN
64120 l_acc_rev_flag := 'N';
64121 END IF;
64122 EXCEPTION
64123 WHEN OTHERS THEN
64124 l_acc_rev_flag := 'N';
64125 END;
64126 --
64127 IF (l_acc_rev_flag = 'Y') THEN
64128
64129 -- 4645092 ------------------------------------------------------------------------------
64130 -- To allow MPA report to determine if it should generate report process
64131 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
64132 ------------------------------------------------------------------------------------------
64133
64134 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
64135 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
64136 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
64137 -- call ADRs
64138 -- Bug 4922099
64139 --
64140 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
64141 (NVL(l_actual_upg_option, 'N') = 'O') OR
64142 (NVL(l_enc_upg_option, 'N') = 'O')
64143 )
64144 THEN
64145 NULL;
64146 --
64147 --
64148
64149 l_ccid := AcctDerRule_43(
64150 p_application_id => p_application_id
64151 , p_ae_header_id => l_ae_header_id
64152 , p_source_10 => p_source_10
64153 , p_source_10_meaning => p_source_10_meaning
64154 , p_source_25 => p_source_25
64155 , p_source_45 => p_source_45
64156 , x_transaction_coa_id => l_adr_transaction_coa_id
64157 , x_accounting_coa_id => l_adr_accounting_coa_id
64158 , x_value_type_code => l_adr_value_type_code
64159 , p_side => 'NA'
64160 );
64161
64162 xla_ae_lines_pkg.set_ccid(
64163 p_code_combination_id => l_ccid
64167 , p_adr_code => 'AP_ROUNDING'
64164 , p_value_type_code => l_adr_value_type_code
64165 , p_transaction_coa_id => l_adr_transaction_coa_id
64166 , p_accounting_coa_id => l_adr_accounting_coa_id
64168 , p_adr_type_code => 'S'
64169 , p_component_type => l_component_type
64170 , p_component_code => l_component_code
64171 , p_component_type_code => l_component_type_code
64172 , p_component_appl_id => l_component_appl_id
64173 , p_amb_context_code => l_amb_context_code
64174 , p_side => 'NA'
64175 );
64176
64177
64178 --
64179 --
64180 END IF;
64181
64182 --
64183 -- Update the line information that should be overwritten
64184 --
64185 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
64186 p_header_num => 1);
64187 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
64188
64189 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
64190
64191 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
64192 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
64193 END IF;
64194
64195 --
64196 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
64197 --
64198 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
64199 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
64200 ELSE
64201 ---------------------------------------------------------------------------------------------------
64202 -- 4262811a Switch Sign
64203 ---------------------------------------------------------------------------------------------------
64204 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
64205 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
64206 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
64207 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
64208 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
64209 -- 5132302
64210 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
64211 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
64212
64213 END IF;
64214
64215 -- 4955764
64216 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
64217 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
64218
64219
64220 XLA_AE_LINES_PKG.ValidateCurrentLine;
64221 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
64222
64223 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
64224 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
64225 ,p_balance_type_code => l_balance_type_code);
64226
64227 END IF;
64228
64229 -----------------------------------------------------------------------------------------
64230 -- 4262811 Multiperiod Accounting
64231 -----------------------------------------------------------------------------------------
64232 -- No MPA option is assigned.
64233
64234
64235 END IF;
64236 END IF;
64237 --
64238
64239 --
64240 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
64241 trace
64242 (p_msg => 'END of AcctLineType_132'
64243 ,p_level => C_LEVEL_PROCEDURE
64244 ,p_module => l_log_module);
64245 END IF;
64246 --
64247 EXCEPTION
64248 WHEN xla_exceptions_pkg.application_exception THEN
64249 RAISE;
64250 WHEN OTHERS THEN
64251 xla_exceptions_pkg.raise_message
64252 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_132');
64253 END AcctLineType_132;
64254 --
64255
64256 ---------------------------------------
64257 --
64258 -- PRIVATE FUNCTION
64259 -- AcctLineType_133
64260 --
64261 ---------------------------------------
64262 PROCEDURE AcctLineType_133 (
64263 p_application_id IN NUMBER
64264 ,p_event_id IN NUMBER
64265 ,p_calculate_acctd_flag IN VARCHAR2
64266 ,p_calculate_g_l_flag IN VARCHAR2
64267 ,p_actual_flag IN OUT VARCHAR2
64268 ,p_balance_type_code OUT VARCHAR2
64269 ,p_gain_or_loss_ref OUT VARCHAR2
64270
64271 --Payment Currency Code
64272 , p_source_8 IN VARCHAR2
64273 --Automatic Offsets Value
64274 , p_source_10 IN VARCHAR2
64275 , p_source_10_meaning IN VARCHAR2
64276 --Invoice Distribution Account
64277 , p_source_25 IN NUMBER
64278 --Internal Realized Gain Account
64279 , p_source_31 IN NUMBER
64280 --Bank Gain Account
64281 , p_source_32 IN NUMBER
64282 --When to Account for Payment Option
64283 , p_source_57 IN VARCHAR2
64284 --Accounting Reversal Indicator
64285 , p_source_58 IN VARCHAR2
64286 --Distribution Link Type
64287 , p_source_60 IN VARCHAR2
64291 --Third Party Type
64288 --Override Accounted Amount Indicator
64289 , p_source_85 IN VARCHAR2
64290 , p_source_85_meaning IN VARCHAR2
64292 , p_source_88 IN VARCHAR2
64293 --Invoice Distribution Tax Line Identifier
64294 , p_source_91 IN NUMBER
64295 --Invoice Distribution Summary Tax Line Identifier
64296 , p_source_93 IN NUMBER
64297 --Business Flow Accounts Payable Application Identifier
64298 , p_source_96 IN NUMBER
64299 --Payment Distribution Type
64300 , p_source_101 IN VARCHAR2
64301 , p_source_101_meaning IN VARCHAR2
64302 --Payment Distribution Amount
64303 , p_source_102 IN NUMBER
64304 --Business Flow Payment Distribution Type
64305 , p_source_103 IN VARCHAR2
64306 --Business Flow Payment Entity Code
64307 , p_source_104 IN VARCHAR2
64308 --Business Flow Payment Distribution Identifier
64309 , p_source_105 IN NUMBER
64310 --Business Flow Payment Identifier
64311 , p_source_106 IN NUMBER
64312 --Payment Distribution Identifier
64313 , p_source_107 IN NUMBER
64314 --Cleared Exchange Date
64315 , p_source_109 IN DATE
64316 --Cleared Exchange Rate
64317 , p_source_110 IN NUMBER
64318 --Cleared Exchange Rate Type
64319 , p_source_111 IN VARCHAR2
64320 --Payment Supplier Identifier
64321 , p_source_113 IN NUMBER
64322 --Payment Supplier Site Identifier
64323 , p_source_114 IN NUMBER
64324 --Payment Distribution Reversed Identifier
64325 , p_source_115 IN NUMBER
64326 --Gain or Loss Indicator between Invoice and Clearing
64327 , p_source_154 IN VARCHAR2
64328 --Invoice/Clearing Ledger Amount Difference
64329 , p_source_155 IN NUMBER
64330 )
64331 IS
64332
64333 l_component_type VARCHAR2(80);
64334 l_component_code VARCHAR2(30);
64335 l_component_type_code VARCHAR2(1);
64336 l_component_appl_id INTEGER;
64337 l_amb_context_code VARCHAR2(30);
64338 l_entity_code VARCHAR2(30);
64339 l_event_class_code VARCHAR2(30);
64340 l_ae_header_id NUMBER;
64341 l_event_type_code VARCHAR2(30);
64342 l_line_definition_code VARCHAR2(30);
64343 l_line_definition_owner_code VARCHAR2(1);
64344 --
64345 -- adr variables
64346 l_segment VARCHAR2(30);
64347 l_ccid NUMBER;
64348 l_adr_transaction_coa_id NUMBER;
64349 l_adr_accounting_coa_id NUMBER;
64350 l_adr_flexfield_segment_code VARCHAR2(30);
64351 l_adr_flex_value_set_id NUMBER;
64352 l_adr_value_type_code VARCHAR2(30);
64353 l_adr_value_combination_id NUMBER;
64354 l_adr_value_segment_code VARCHAR2(30);
64355
64356 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
64357 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
64358 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
64359 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
64360
64361 -- 4262811 Variables ------------------------------------------------------------------------------------------
64362 l_entered_amt_idx NUMBER;
64363 l_accted_amt_idx NUMBER;
64364 l_acc_rev_flag VARCHAR2(1);
64365 l_accrual_line_num NUMBER;
64366 l_tmp_amt NUMBER;
64367 l_acc_rev_natural_side_code VARCHAR2(1);
64368
64369 l_num_entries NUMBER;
64370 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
64371 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
64372 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
64373 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
64374 l_recog_line_1 NUMBER;
64375 l_recog_line_2 NUMBER;
64376
64377 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
64378 l_bflow_applied_to_amt NUMBER; -- 5132302
64379 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
64380
64381 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
64382
64383 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
64384 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
64385
64386 ---------------------------------------------------------------------------------------------------------------
64387
64388
64389 --
64390 -- bulk performance
64391 --
64392 l_balance_type_code VARCHAR2(1);
64393 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
64394 l_log_module VARCHAR2(240);
64395
64396 --
64397 -- Upgrade strategy
64398 --
64399 l_actual_upg_option VARCHAR2(1);
64400 l_enc_upg_option VARCHAR2(1);
64401
64402 --
64403 BEGIN
64404 --
64405 IF g_log_enabled THEN
64406 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_133';
64407 END IF;
64408 --
64409 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
64410
64411 trace
64412 (p_msg => 'BEGIN of AcctLineType_133'
64413 ,p_level => C_LEVEL_PROCEDURE
64414 ,p_module => l_log_module);
64415
64416 END IF;
64417 --
64421 l_component_appl_id := 200;
64418 l_component_type := 'AMB_JLT';
64419 l_component_code := 'AP_GAIN_INV_CLEAR_BY_PMT_CLEAR';
64420 l_component_type_code := 'S';
64422 l_amb_context_code := 'DEFAULT';
64423 l_entity_code := 'AP_PAYMENTS';
64424 l_event_class_code := 'RECONCILED PAYMENTS';
64425 l_event_type_code := 'RECONCILED PAYMENTS_ALL';
64426 l_line_definition_owner_code := 'S';
64427 l_line_definition_code := 'ACCRUAL_RECONCILED PAYMENTS_A4';
64428 --
64429 l_balance_type_code := 'A';
64430 l_segment := NULL;
64431 l_ccid := NULL;
64432 l_adr_transaction_coa_id := NULL;
64433 l_adr_accounting_coa_id := NULL;
64434 l_adr_flexfield_segment_code := NULL;
64435 l_adr_flex_value_set_id := NULL;
64436 l_adr_value_type_code := NULL;
64437 l_adr_value_combination_id := NULL;
64438 l_adr_value_segment_code := NULL;
64439
64440 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
64441 l_bflow_class_code := ''; -- 4219869 Business Flow
64442 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
64443 l_budgetary_control_flag := 'N';
64444
64445 l_bflow_applied_to_amt_idx := NULL; -- 5132302
64446 l_bflow_applied_to_amt := NULL; -- 5132302
64447 l_entered_amt_idx := NULL; -- 4262811
64448 l_accted_amt_idx := NULL; -- 4262811
64449 l_acc_rev_flag := NULL; -- 4262811
64450 l_accrual_line_num := NULL; -- 4262811
64451 l_tmp_amt := NULL; -- 4262811
64452 --
64453 IF ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
64454 (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
64455 return;
64456 END IF;
64457
64458 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
64459 l_balance_type_code <> 'B' THEN
64460 IF (NVL(p_source_57,'
64461 ') = 'CLEAR_CLEAR' OR
64462 NVL(p_source_57,'
64463 ') = 'ALWAYS_CLEAR') AND
64464 NVL(p_source_101,'
64465 ') <> 'EXCHANGE RATE VARIANCE' AND
64466 NVL(p_source_101,'
64467 ') <> 'BANK CHARGE' AND
64468 NVL(p_source_101,'
64469 ') <> 'BANK ERROR' AND
64470 NVL(p_source_101,'
64471 ') <> 'TAX EXCHANGE RATE VARIANCE' AND
64472 NVL(p_source_154,'
64473 ') = 'GAIN' AND
64474 NVL(p_source_101,'
64475 ') <> 'AWT'
64476 THEN
64477
64478 --
64479 XLA_AE_LINES_PKG.SetNewLine;
64480
64481 p_balance_type_code := l_balance_type_code;
64482 -- set the flag so later we will know whether the gain loss line needs to be created
64483
64484 IF(l_balance_type_code = 'A' ) THEN
64485 p_actual_flag :='G';
64486 END IF;
64487
64488 --
64489 -- bulk performance
64490 --
64491 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
64492 p_header_num => 0); -- 4262811
64493 --
64494 -- set accounting line options
64495 --
64496 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
64497 p_natural_side_code => 'C'
64498 , p_gain_or_loss_flag => 'Y'
64499 , p_gl_transfer_mode_code => 'S'
64500 , p_acct_entry_type_code => 'A'
64501 , p_switch_side_flag => 'Y'
64502 , p_merge_duplicate_code => 'A'
64503 );
64504 --
64505 l_acc_rev_natural_side_code := 'D'; -- 4262811
64506 --
64507 --
64508 -- set accounting line type info
64509 --
64510 xla_ae_lines_pkg.SetAcctLineType
64511 (p_component_type => l_component_type
64512 ,p_event_type_code => l_event_type_code
64513 ,p_line_definition_owner_code => l_line_definition_owner_code
64514 ,p_line_definition_code => l_line_definition_code
64515 ,p_accounting_line_code => l_component_code
64516 ,p_accounting_line_type_code => l_component_type_code
64517 ,p_accounting_line_appl_id => l_component_appl_id
64518 ,p_amb_context_code => l_amb_context_code
64519 ,p_entity_code => l_entity_code
64520 ,p_event_class_code => l_event_class_code);
64521 --
64522 -- set accounting class
64523 --
64524 xla_ae_lines_pkg.SetAcctClass(
64525 p_accounting_class_code => 'GAIN'
64526 , p_ae_header_id => l_ae_header_id
64527 );
64528
64529 --
64530 -- set rounding class
64531 --
64532 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
64533 'GAIN';
64534
64535 --
64536 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
64537 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
64538 --
64539 -- bulk performance
64540 --
64541 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
64542
64543 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
64547 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
64544 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
64545
64546 -- 4955764
64548 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
64549
64550 -- 4458381 Public Sector Enh
64551
64552 --
64553 -- set accounting attributes for the line type
64554 --
64555 l_entered_amt_idx := 10;
64556 l_accted_amt_idx := 15;
64557 l_bflow_applied_to_amt_idx := 2; -- 5132302
64558 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
64559 l_rec_acct_attrs.array_char_value(1) := p_source_58;
64560 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
64561 l_rec_acct_attrs.array_num_value(2) := p_source_102;
64562 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
64563 l_rec_acct_attrs.array_num_value(3) := p_source_96;
64564 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
64565 l_rec_acct_attrs.array_char_value(4) := p_source_103;
64566 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
64567 l_rec_acct_attrs.array_char_value(5) := p_source_104;
64568 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
64569 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_105);
64570 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
64571 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_106);
64572 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
64573 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_107);
64574 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
64575 l_rec_acct_attrs.array_char_value(9) := p_source_60;
64576 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
64577 l_rec_acct_attrs.array_num_value(10) := p_source_102;
64578 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
64579 l_rec_acct_attrs.array_char_value(11) := p_source_8;
64580 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
64581 l_rec_acct_attrs.array_date_value(12) := p_source_109;
64582 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
64583 l_rec_acct_attrs.array_num_value(13) := p_source_110;
64584 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
64585 l_rec_acct_attrs.array_char_value(14) := p_source_111;
64586 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
64587 l_rec_acct_attrs.array_num_value(15) := p_source_155;
64588 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
64589 l_rec_acct_attrs.array_char_value(16) := p_source_85;
64590 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
64591 l_rec_acct_attrs.array_num_value(17) := p_source_113;
64592 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
64593 l_rec_acct_attrs.array_num_value(18) := p_source_114;
64594 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
64595 l_rec_acct_attrs.array_char_value(19) := p_source_88;
64596 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
64597 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_115);
64598 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
64599 l_rec_acct_attrs.array_char_value(21) := p_source_60;
64600 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
64601 l_rec_acct_attrs.array_num_value(22) := p_source_91;
64602 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
64603 l_rec_acct_attrs.array_num_value(23) := p_source_91;
64604 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
64605 l_rec_acct_attrs.array_num_value(24) := p_source_93;
64606
64607 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
64608 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
64609
64610 ---------------------------------------------------------------------------------------------------------------
64611 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
64612 ---------------------------------------------------------------------------------------------------------------
64613 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
64614
64615 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
64616 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
64617
64618 IF xla_accounting_cache_pkg.GetValueChar
64619 (p_source_code => 'LEDGER_CATEGORY_CODE'
64620 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
64621 AND l_bflow_method_code = 'PRIOR_ENTRY'
64622 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
64623 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
64624 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
64625 )
64626 THEN
64627 xla_ae_lines_pkg.BflowUpgEntry
64628 (p_business_method_code => l_bflow_method_code
64629 ,p_business_class_code => l_bflow_class_code
64630 ,p_balance_type => l_balance_type_code);
64631 ELSE
64632 NULL;
64633 -- No business flow processing for business flow method of NONE.
64634 END IF;
64635
64636 --
64640 --
64637 -- call analytical criteria
64638 --
64639
64641 -- call description
64642 --
64643 -- No description or it is inherited.
64644 --
64645 -- call ADRs
64646 -- Bug 4922099
64647 --
64648 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
64649 (NVL(l_actual_upg_option, 'N') = 'O') OR
64650 (NVL(l_enc_upg_option, 'N') = 'O')
64651 )
64652 THEN
64653 NULL;
64654 --
64655 --
64656
64657 l_ccid := AcctDerRule_40(
64658 p_application_id => p_application_id
64659 , p_ae_header_id => l_ae_header_id
64660 , p_source_10 => p_source_10
64661 , p_source_10_meaning => p_source_10_meaning
64662 , p_source_25 => p_source_25
64663 , p_source_31 => p_source_31
64664 , p_source_32 => p_source_32
64665 , x_transaction_coa_id => l_adr_transaction_coa_id
64666 , x_accounting_coa_id => l_adr_accounting_coa_id
64667 , x_value_type_code => l_adr_value_type_code
64668 , p_side => 'NA'
64669 );
64670
64671 xla_ae_lines_pkg.set_ccid(
64672 p_code_combination_id => l_ccid
64673 , p_value_type_code => l_adr_value_type_code
64674 , p_transaction_coa_id => l_adr_transaction_coa_id
64675 , p_accounting_coa_id => l_adr_accounting_coa_id
64676 , p_adr_code => 'AP_REAL_GAIN'
64677 , p_adr_type_code => 'S'
64678 , p_component_type => l_component_type
64679 , p_component_code => l_component_code
64680 , p_component_type_code => l_component_type_code
64681 , p_component_appl_id => l_component_appl_id
64682 , p_amb_context_code => l_amb_context_code
64683 , p_side => 'NA'
64684 );
64685
64686
64687 l_segment := AcctDerRule_23(
64688 p_application_id => p_application_id
64689 , p_ae_header_id => l_ae_header_id
64690 , p_source_10 => p_source_10
64691 , p_source_10_meaning => p_source_10_meaning
64692 , p_source_25 => p_source_25
64693 , x_transaction_coa_id => l_adr_transaction_coa_id
64694 , x_accounting_coa_id => l_adr_accounting_coa_id
64695 , x_flexfield_segment_code => l_adr_flexfield_segment_code
64696 , x_flex_value_set_id => l_adr_flex_value_set_id
64697 , x_value_type_code => l_adr_value_type_code
64698 , x_value_combination_id => l_adr_value_combination_id
64699 , x_value_segment_code => l_adr_value_segment_code
64700 , p_side => 'NA'
64701 , p_override_seg_flag => 'Y'
64702 );
64703
64704 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
64705
64706 xla_ae_lines_pkg.set_segment(
64707 p_to_segment_code => 'GL_BALANCING'
64708 , p_segment_value => l_segment
64709 , p_from_segment_code => l_adr_value_segment_code
64710 , p_from_combination_id => l_adr_value_combination_id
64711 , p_value_type_code => l_adr_value_type_code
64712 , p_transaction_coa_id => l_adr_transaction_coa_id
64713 , p_accounting_coa_id => l_adr_accounting_coa_id
64714 , p_flexfield_segment_code => l_adr_flexfield_segment_code
64715 , p_flex_value_set_id => l_adr_flex_value_set_id
64716 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
64717 , p_adr_type_code => 'S'
64718 , p_component_type => l_component_type
64719 , p_component_code => l_component_code
64720 , p_component_type_code => l_component_type_code
64721 , p_component_appl_id => l_component_appl_id
64722 , p_amb_context_code => l_amb_context_code
64723 , p_entity_code => 'AP_PAYMENTS'
64724 , p_event_class_code => 'RECONCILED PAYMENTS'
64725 , p_side => 'NA'
64726 );
64727
64728 END IF;
64729
64730 l_segment := AcctDerRule_17(
64731 p_application_id => p_application_id
64732 , p_ae_header_id => l_ae_header_id
64733 , p_source_10 => p_source_10
64734 , p_source_10_meaning => p_source_10_meaning
64735 , p_source_31 => p_source_31
64736 , p_source_32 => p_source_32
64737 , x_transaction_coa_id => l_adr_transaction_coa_id
64738 , x_accounting_coa_id => l_adr_accounting_coa_id
64739 , x_flexfield_segment_code => l_adr_flexfield_segment_code
64740 , x_flex_value_set_id => l_adr_flex_value_set_id
64741 , x_value_type_code => l_adr_value_type_code
64742 , x_value_combination_id => l_adr_value_combination_id
64743 , x_value_segment_code => l_adr_value_segment_code
64744 , p_side => 'NA'
64745 , p_override_seg_flag => 'Y'
64746 );
64747
64748 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
64749
64750 xla_ae_lines_pkg.set_segment(
64751 p_to_segment_code => 'GL_ACCOUNT'
64752 , p_segment_value => l_segment
64753 , p_from_segment_code => l_adr_value_segment_code
64754 , p_from_combination_id => l_adr_value_combination_id
64755 , p_value_type_code => l_adr_value_type_code
64756 , p_transaction_coa_id => l_adr_transaction_coa_id
64760 , p_adr_code => 'AP_REAL_GAIN_NAT_ACCT_SEG'
64757 , p_accounting_coa_id => l_adr_accounting_coa_id
64758 , p_flexfield_segment_code => l_adr_flexfield_segment_code
64759 , p_flex_value_set_id => l_adr_flex_value_set_id
64761 , p_adr_type_code => 'S'
64762 , p_component_type => l_component_type
64763 , p_component_code => l_component_code
64764 , p_component_type_code => l_component_type_code
64765 , p_component_appl_id => l_component_appl_id
64766 , p_amb_context_code => l_amb_context_code
64767 , p_entity_code => 'AP_PAYMENTS'
64768 , p_event_class_code => 'RECONCILED PAYMENTS'
64769 , p_side => 'NA'
64770 );
64771
64772 END IF;
64773
64774 --
64775 --
64776 END IF;
64777 --
64778 -- Bug 4922099
64779 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
64780 (NVL(l_enc_upg_option, 'N') = 'O')
64781 ) AND
64782 (l_bflow_method_code = 'PRIOR_ENTRY')
64783 )
64784 THEN
64785 IF
64786 --
64787 1 = 2
64788 --
64789 THEN
64790 xla_accounting_err_pkg.build_message
64791 (p_appli_s_name => 'XLA'
64792 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
64793 ,p_token_1 => 'LINE_NUMBER'
64794 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
64795 ,p_token_2 => 'LINE_TYPE_NAME'
64796 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
64797 l_component_type
64798 ,l_component_code
64799 ,l_component_type_code
64800 ,l_component_appl_id
64801 ,l_amb_context_code
64802 ,l_entity_code
64803 ,l_event_class_code
64804 )
64805 ,p_token_3 => 'OWNER'
64806 ,p_value_3 => xla_lookups_pkg.get_meaning(
64807 p_lookup_type => 'XLA_OWNER_TYPE'
64808 ,p_lookup_code => l_component_type_code
64809 )
64810 ,p_token_4 => 'PRODUCT_NAME'
64811 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
64812 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
64813 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
64814 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
64815 ,p_ae_header_id => NULL
64816 );
64817
64818 IF (C_LEVEL_ERROR>= g_log_level) THEN
64819 trace
64820 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
64821 ,p_level => C_LEVEL_ERROR
64822 ,p_module => l_log_module);
64823 END IF;
64824 END IF;
64825 END IF;
64826 --
64827 --
64828 ------------------------------------------------------------------------------------------------
64829 -- 4219869 Business Flow
64830 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
64831 -- Prior Entry. Currently, the following code is always generated.
64832 ------------------------------------------------------------------------------------------------
64833 XLA_AE_LINES_PKG.ValidateCurrentLine;
64834
64835 ------------------------------------------------------------------------------------
64836 -- 4219869 Business Flow
64837 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
64838 ------------------------------------------------------------------------------------
64839 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
64840
64841 ----------------------------------------------------------------------------------
64842 -- 4219869 Business Flow
64843 -- Update journal entry status -- Need to generate this within IF <condition>
64844 ----------------------------------------------------------------------------------
64845 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
64846 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
64847 ,p_balance_type_code => l_balance_type_code
64848 );
64849
64850 -------------------------------------------------------------------------------------------
64851 -- 4262811 - Generate the Accrual Reversal lines
64855 (g_array_event(p_event_id).array_value_num('header_index'));
64852 -------------------------------------------------------------------------------------------
64853 BEGIN
64854 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
64856 IF l_acc_rev_flag IS NULL THEN
64857 l_acc_rev_flag := 'N';
64858 END IF;
64859 EXCEPTION
64860 WHEN OTHERS THEN
64861 l_acc_rev_flag := 'N';
64862 END;
64863 --
64864 IF (l_acc_rev_flag = 'Y') THEN
64865
64866 -- 4645092 ------------------------------------------------------------------------------
64867 -- To allow MPA report to determine if it should generate report process
64868 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
64869 ------------------------------------------------------------------------------------------
64870
64871 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
64872 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
64873 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
64874 -- call ADRs
64875 -- Bug 4922099
64876 --
64877 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
64878 (NVL(l_actual_upg_option, 'N') = 'O') OR
64879 (NVL(l_enc_upg_option, 'N') = 'O')
64880 )
64881 THEN
64882 NULL;
64883 --
64884 --
64885
64886 l_ccid := AcctDerRule_40(
64887 p_application_id => p_application_id
64888 , p_ae_header_id => l_ae_header_id
64889 , p_source_10 => p_source_10
64890 , p_source_10_meaning => p_source_10_meaning
64891 , p_source_25 => p_source_25
64892 , p_source_31 => p_source_31
64893 , p_source_32 => p_source_32
64894 , x_transaction_coa_id => l_adr_transaction_coa_id
64895 , x_accounting_coa_id => l_adr_accounting_coa_id
64896 , x_value_type_code => l_adr_value_type_code
64897 , p_side => 'NA'
64898 );
64899
64900 xla_ae_lines_pkg.set_ccid(
64901 p_code_combination_id => l_ccid
64902 , p_value_type_code => l_adr_value_type_code
64903 , p_transaction_coa_id => l_adr_transaction_coa_id
64904 , p_accounting_coa_id => l_adr_accounting_coa_id
64905 , p_adr_code => 'AP_REAL_GAIN'
64906 , p_adr_type_code => 'S'
64907 , p_component_type => l_component_type
64908 , p_component_code => l_component_code
64909 , p_component_type_code => l_component_type_code
64910 , p_component_appl_id => l_component_appl_id
64911 , p_amb_context_code => l_amb_context_code
64912 , p_side => 'NA'
64913 );
64914
64915
64916 l_segment := AcctDerRule_23(
64917 p_application_id => p_application_id
64918 , p_ae_header_id => l_ae_header_id
64919 , p_source_10 => p_source_10
64920 , p_source_10_meaning => p_source_10_meaning
64921 , p_source_25 => p_source_25
64922 , x_transaction_coa_id => l_adr_transaction_coa_id
64923 , x_accounting_coa_id => l_adr_accounting_coa_id
64924 , x_flexfield_segment_code => l_adr_flexfield_segment_code
64925 , x_flex_value_set_id => l_adr_flex_value_set_id
64926 , x_value_type_code => l_adr_value_type_code
64927 , x_value_combination_id => l_adr_value_combination_id
64928 , x_value_segment_code => l_adr_value_segment_code
64929 , p_side => 'NA'
64930 , p_override_seg_flag => 'Y'
64931 );
64932
64933 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
64934
64935 xla_ae_lines_pkg.set_segment(
64936 p_to_segment_code => 'GL_BALANCING'
64937 , p_segment_value => l_segment
64938 , p_from_segment_code => l_adr_value_segment_code
64939 , p_from_combination_id => l_adr_value_combination_id
64940 , p_value_type_code => l_adr_value_type_code
64941 , p_transaction_coa_id => l_adr_transaction_coa_id
64942 , p_accounting_coa_id => l_adr_accounting_coa_id
64943 , p_flexfield_segment_code => l_adr_flexfield_segment_code
64944 , p_flex_value_set_id => l_adr_flex_value_set_id
64945 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
64946 , p_adr_type_code => 'S'
64947 , p_component_type => l_component_type
64948 , p_component_code => l_component_code
64949 , p_component_type_code => l_component_type_code
64950 , p_component_appl_id => l_component_appl_id
64951 , p_amb_context_code => l_amb_context_code
64952 , p_entity_code => 'AP_PAYMENTS'
64953 , p_event_class_code => 'RECONCILED PAYMENTS'
64954 , p_side => 'NA'
64955 );
64956
64957 END IF;
64958
64959 l_segment := AcctDerRule_17(
64960 p_application_id => p_application_id
64961 , p_ae_header_id => l_ae_header_id
64962 , p_source_10 => p_source_10
64963 , p_source_10_meaning => p_source_10_meaning
64964 , p_source_31 => p_source_31
64965 , p_source_32 => p_source_32
64966 , x_transaction_coa_id => l_adr_transaction_coa_id
64967 , x_accounting_coa_id => l_adr_accounting_coa_id
64971 , x_value_combination_id => l_adr_value_combination_id
64968 , x_flexfield_segment_code => l_adr_flexfield_segment_code
64969 , x_flex_value_set_id => l_adr_flex_value_set_id
64970 , x_value_type_code => l_adr_value_type_code
64972 , x_value_segment_code => l_adr_value_segment_code
64973 , p_side => 'NA'
64974 , p_override_seg_flag => 'Y'
64975 );
64976
64977 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
64978
64979 xla_ae_lines_pkg.set_segment(
64980 p_to_segment_code => 'GL_ACCOUNT'
64981 , p_segment_value => l_segment
64982 , p_from_segment_code => l_adr_value_segment_code
64983 , p_from_combination_id => l_adr_value_combination_id
64984 , p_value_type_code => l_adr_value_type_code
64985 , p_transaction_coa_id => l_adr_transaction_coa_id
64986 , p_accounting_coa_id => l_adr_accounting_coa_id
64987 , p_flexfield_segment_code => l_adr_flexfield_segment_code
64988 , p_flex_value_set_id => l_adr_flex_value_set_id
64989 , p_adr_code => 'AP_REAL_GAIN_NAT_ACCT_SEG'
64990 , p_adr_type_code => 'S'
64991 , p_component_type => l_component_type
64992 , p_component_code => l_component_code
64993 , p_component_type_code => l_component_type_code
64994 , p_component_appl_id => l_component_appl_id
64995 , p_amb_context_code => l_amb_context_code
64996 , p_entity_code => 'AP_PAYMENTS'
64997 , p_event_class_code => 'RECONCILED PAYMENTS'
64998 , p_side => 'NA'
64999 );
65000
65001 END IF;
65002
65003 --
65004 --
65005 END IF;
65006
65007 --
65008 -- Update the line information that should be overwritten
65009 --
65010 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
65011 p_header_num => 1);
65012 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
65013
65014 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
65015
65016 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
65017 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
65018 END IF;
65019
65020 --
65021 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
65022 --
65023 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
65024 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
65025 ELSE
65026 ---------------------------------------------------------------------------------------------------
65027 -- 4262811a Switch Sign
65028 ---------------------------------------------------------------------------------------------------
65029 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
65030 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
65031 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
65032 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
65033 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
65034 -- 5132302
65035 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
65036 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
65037
65038 END IF;
65039
65040 -- 4955764
65041 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
65042 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
65043
65044
65045 XLA_AE_LINES_PKG.ValidateCurrentLine;
65046 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
65047
65048 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
65049 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
65050 ,p_balance_type_code => l_balance_type_code);
65051
65052 END IF;
65053
65054 -----------------------------------------------------------------------------------------
65055 -- 4262811 Multiperiod Accounting
65056 -----------------------------------------------------------------------------------------
65057 -- No MPA option is assigned.
65058
65059
65060 END IF;
65061 END IF;
65062 --
65063
65064 --
65065 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
65066 trace
65067 (p_msg => 'END of AcctLineType_133'
65068 ,p_level => C_LEVEL_PROCEDURE
65069 ,p_module => l_log_module);
65070 END IF;
65071 --
65072 EXCEPTION
65073 WHEN xla_exceptions_pkg.application_exception THEN
65074 RAISE;
65075 WHEN OTHERS THEN
65076 xla_exceptions_pkg.raise_message
65077 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_133');
65078 END AcctLineType_133;
65079 --
65083 -- PRIVATE FUNCTION
65080
65081 ---------------------------------------
65082 --
65084 -- AcctLineType_134
65085 --
65086 ---------------------------------------
65087 PROCEDURE AcctLineType_134 (
65088 p_application_id IN NUMBER
65089 ,p_event_id IN NUMBER
65090 ,p_calculate_acctd_flag IN VARCHAR2
65091 ,p_calculate_g_l_flag IN VARCHAR2
65092 ,p_actual_flag IN OUT VARCHAR2
65093 ,p_balance_type_code OUT VARCHAR2
65094 ,p_gain_or_loss_ref OUT VARCHAR2
65095
65096 --Automatic Offsets Value
65097 , p_source_10 IN VARCHAR2
65098 , p_source_10_meaning IN VARCHAR2
65099 --Invoice Distribution Account
65100 , p_source_25 IN NUMBER
65101 --Internal Realized Gain Account
65102 , p_source_31 IN NUMBER
65103 --Bank Gain Account
65104 , p_source_32 IN NUMBER
65105 --Internal Realized Loss Account
65106 , p_source_33 IN NUMBER
65107 --Bank Loss Account
65108 , p_source_34 IN NUMBER
65109 --When to Account for Payment Option
65110 , p_source_57 IN VARCHAR2
65111 --Accounting Reversal Indicator
65112 , p_source_58 IN VARCHAR2
65113 --Distribution Link Type
65114 , p_source_60 IN VARCHAR2
65115 --Override Accounted Amount Indicator
65116 , p_source_85 IN VARCHAR2
65117 , p_source_85_meaning IN VARCHAR2
65118 --Third Party Type
65119 , p_source_88 IN VARCHAR2
65120 --Invoice Distribution Tax Line Identifier
65121 , p_source_91 IN NUMBER
65122 --Invoice Distribution Summary Tax Line Identifier
65123 , p_source_93 IN NUMBER
65124 --Business Flow Accounts Payable Application Identifier
65125 , p_source_96 IN NUMBER
65126 --Payment Distribution Type
65127 , p_source_101 IN VARCHAR2
65128 , p_source_101_meaning IN VARCHAR2
65129 --Payment Distribution Amount
65130 , p_source_102 IN NUMBER
65131 --Business Flow Payment Distribution Type
65132 , p_source_103 IN VARCHAR2
65133 --Business Flow Payment Entity Code
65134 , p_source_104 IN VARCHAR2
65135 --Business Flow Payment Distribution Identifier
65136 , p_source_105 IN NUMBER
65137 --Business Flow Payment Identifier
65138 , p_source_106 IN NUMBER
65139 --Payment Distribution Identifier
65140 , p_source_107 IN NUMBER
65141 --Payment Supplier Identifier
65142 , p_source_113 IN NUMBER
65143 --Payment Supplier Site Identifier
65144 , p_source_114 IN NUMBER
65145 --Payment Distribution Reversed Identifier
65146 , p_source_115 IN NUMBER
65147 --Payment Maturity Date
65148 , p_source_117 IN DATE
65149 --Invoice/Clearing Ledger Amount Difference
65150 , p_source_155 IN NUMBER
65151 )
65152 IS
65153
65154 l_component_type VARCHAR2(80);
65155 l_component_code VARCHAR2(30);
65156 l_component_type_code VARCHAR2(1);
65157 l_component_appl_id INTEGER;
65158 l_amb_context_code VARCHAR2(30);
65159 l_entity_code VARCHAR2(30);
65160 l_event_class_code VARCHAR2(30);
65161 l_ae_header_id NUMBER;
65162 l_event_type_code VARCHAR2(30);
65163 l_line_definition_code VARCHAR2(30);
65164 l_line_definition_owner_code VARCHAR2(1);
65165 --
65166 -- adr variables
65167 l_segment VARCHAR2(30);
65168 l_ccid NUMBER;
65169 l_adr_transaction_coa_id NUMBER;
65170 l_adr_accounting_coa_id NUMBER;
65171 l_adr_flexfield_segment_code VARCHAR2(30);
65172 l_adr_flex_value_set_id NUMBER;
65173 l_adr_value_type_code VARCHAR2(30);
65174 l_adr_value_combination_id NUMBER;
65175 l_adr_value_segment_code VARCHAR2(30);
65176
65177 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
65178 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
65179 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
65180 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
65181
65182 -- 4262811 Variables ------------------------------------------------------------------------------------------
65183 l_entered_amt_idx NUMBER;
65184 l_accted_amt_idx NUMBER;
65185 l_acc_rev_flag VARCHAR2(1);
65186 l_accrual_line_num NUMBER;
65187 l_tmp_amt NUMBER;
65188 l_acc_rev_natural_side_code VARCHAR2(1);
65189
65190 l_num_entries NUMBER;
65191 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
65192 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
65193 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
65194 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
65195 l_recog_line_1 NUMBER;
65196 l_recog_line_2 NUMBER;
65197
65198 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
65199 l_bflow_applied_to_amt NUMBER; -- 5132302
65200 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
65201
65202 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
65203
65204 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
65208
65205 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
65206
65207 ---------------------------------------------------------------------------------------------------------------
65209
65210 --
65211 -- bulk performance
65212 --
65213 l_balance_type_code VARCHAR2(1);
65214 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
65215 l_log_module VARCHAR2(240);
65216
65217 --
65218 -- Upgrade strategy
65219 --
65220 l_actual_upg_option VARCHAR2(1);
65221 l_enc_upg_option VARCHAR2(1);
65222
65223 --
65224 BEGIN
65225 --
65226 IF g_log_enabled THEN
65227 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_134';
65228 END IF;
65229 --
65230 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
65231
65232 trace
65233 (p_msg => 'BEGIN of AcctLineType_134'
65234 ,p_level => C_LEVEL_PROCEDURE
65235 ,p_module => l_log_module);
65236
65237 END IF;
65238 --
65239 l_component_type := 'AMB_JLT';
65240 l_component_code := 'AP_GAIN_LOSS_PAY_CLEAR';
65241 l_component_type_code := 'S';
65242 l_component_appl_id := 200;
65243 l_amb_context_code := 'DEFAULT';
65244 l_entity_code := 'AP_PAYMENTS';
65245 l_event_class_code := 'RECONCILED PAYMENTS';
65246 l_event_type_code := 'RECONCILED PAYMENTS_ALL';
65247 l_line_definition_owner_code := 'S';
65248 l_line_definition_code := 'ACCRUAL_RECONCILED PAYMENTS_A4';
65249 --
65250 l_balance_type_code := 'A';
65251 l_segment := NULL;
65252 l_ccid := NULL;
65253 l_adr_transaction_coa_id := NULL;
65254 l_adr_accounting_coa_id := NULL;
65255 l_adr_flexfield_segment_code := NULL;
65256 l_adr_flex_value_set_id := NULL;
65257 l_adr_value_type_code := NULL;
65258 l_adr_value_combination_id := NULL;
65259 l_adr_value_segment_code := NULL;
65260
65261 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
65262 l_bflow_class_code := ''; -- 4219869 Business Flow
65263 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
65264 l_budgetary_control_flag := 'N';
65265
65266 l_bflow_applied_to_amt_idx := NULL; -- 5132302
65267 l_bflow_applied_to_amt := NULL; -- 5132302
65268 l_entered_amt_idx := NULL; -- 4262811
65269 l_accted_amt_idx := NULL; -- 4262811
65270 l_acc_rev_flag := NULL; -- 4262811
65271 l_accrual_line_num := NULL; -- 4262811
65272 l_tmp_amt := NULL; -- 4262811
65273 --
65274 IF NOT ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
65275 (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
65276 return;
65277 END IF;
65278
65279 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
65280 l_balance_type_code <> 'B' THEN
65281 IF (NVL(p_source_57,'
65282 ') = 'CLEAR_CLEAR' OR
65283 NVL(p_source_57,'
65284 ') = 'ALWAYS_CLEAR' OR
65285 NVL(p_source_57,'
65286 ') = 'ALWAYS_ALWAYS') AND
65287 p_source_117 IS NULL AND
65288 NVL(p_source_101,'
65289 ') <> 'EXCHANGE RATE VARIANCE' AND
65290 NVL(p_source_101,'
65291 ') <> 'TAX EXCHANGE RATE VARIANCE' AND
65292 NVL(p_source_101,'
65293 ') <> 'BANK CHARGE' AND
65294 NVL(p_source_101,'
65295 ') <> 'BANK ERROR'
65296 THEN
65297
65298 --
65299 XLA_AE_LINES_PKG.SetNewLine;
65300
65301 p_balance_type_code := l_balance_type_code;
65302 -- set the flag so later we will know whether the gain loss line needs to be created
65303
65304 IF(l_balance_type_code = 'A' ) THEN
65305 p_actual_flag :='G';
65306 END IF;
65307
65308 --
65309 -- bulk performance
65310 --
65311 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
65312 p_header_num => 0); -- 4262811
65313 --
65314 -- set accounting line options
65315 --
65316 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
65317 p_natural_side_code => 'G'
65318 , p_gain_or_loss_flag => 'N'
65319 , p_gl_transfer_mode_code => 'S'
65320 , p_acct_entry_type_code => 'A'
65321 , p_switch_side_flag => ''
65322 , p_merge_duplicate_code => 'A'
65323 );
65324 --
65325 l_acc_rev_natural_side_code := 'C'; -- 4262811
65326 --
65327 --
65328 -- set accounting line type info
65329 --
65330 xla_ae_lines_pkg.SetAcctLineType
65331 (p_component_type => l_component_type
65332 ,p_event_type_code => l_event_type_code
65333 ,p_line_definition_owner_code => l_line_definition_owner_code
65334 ,p_line_definition_code => l_line_definition_code
65335 ,p_accounting_line_code => l_component_code
65336 ,p_accounting_line_type_code => l_component_type_code
65337 ,p_accounting_line_appl_id => l_component_appl_id
65338 ,p_amb_context_code => l_amb_context_code
65342 -- set accounting class
65339 ,p_entity_code => l_entity_code
65340 ,p_event_class_code => l_event_class_code);
65341 --
65343 --
65344 xla_ae_lines_pkg.SetAcctClass(
65345 p_accounting_class_code => 'EXCHANGE_GAIN_LOSS'
65346 , p_ae_header_id => l_ae_header_id
65347 );
65348
65349 --
65350 -- set rounding class
65351 --
65352 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
65353 'EXCHANGE_GAIN_LOSS';
65354
65355 --
65356 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
65357 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
65358 --
65359 -- bulk performance
65360 --
65361 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
65362
65363 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
65364 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
65365
65366 -- 4955764
65367 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
65368 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
65369
65370 -- 4458381 Public Sector Enh
65371
65372 --
65373 -- set accounting attributes for the line type
65374 --
65375 l_entered_amt_idx := NULL;
65376 l_accted_amt_idx := 10;
65377 l_bflow_applied_to_amt_idx := 2; -- 5132302
65378 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
65379 l_rec_acct_attrs.array_char_value(1) := p_source_58;
65380 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
65381 l_rec_acct_attrs.array_num_value(2) := p_source_102;
65382 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
65383 l_rec_acct_attrs.array_num_value(3) := p_source_96;
65384 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
65385 l_rec_acct_attrs.array_char_value(4) := p_source_103;
65386 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
65387 l_rec_acct_attrs.array_char_value(5) := p_source_104;
65388 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
65389 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_105);
65390 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
65391 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_106);
65392 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
65393 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_107);
65394 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
65395 l_rec_acct_attrs.array_char_value(9) := p_source_60;
65396 l_rec_acct_attrs.array_acct_attr_code(10) := 'LEDGER_AMOUNT';
65397 l_rec_acct_attrs.array_num_value(10) := p_source_155;
65398 l_rec_acct_attrs.array_acct_attr_code(11) := 'OVERRIDE_ACCTD_AMT_FLAG';
65399 l_rec_acct_attrs.array_char_value(11) := p_source_85;
65400 l_rec_acct_attrs.array_acct_attr_code(12) := 'PARTY_ID';
65401 l_rec_acct_attrs.array_num_value(12) := p_source_113;
65402 l_rec_acct_attrs.array_acct_attr_code(13) := 'PARTY_SITE_ID';
65403 l_rec_acct_attrs.array_num_value(13) := p_source_114;
65404 l_rec_acct_attrs.array_acct_attr_code(14) := 'PARTY_TYPE';
65405 l_rec_acct_attrs.array_char_value(14) := p_source_88;
65406 l_rec_acct_attrs.array_acct_attr_code(15) := 'REVERSED_DISTRIBUTION_ID1';
65407 l_rec_acct_attrs.array_num_value(15) := to_char(p_source_115);
65408 l_rec_acct_attrs.array_acct_attr_code(16) := 'REVERSED_DISTRIBUTION_TYPE';
65409 l_rec_acct_attrs.array_char_value(16) := p_source_60;
65410 l_rec_acct_attrs.array_acct_attr_code(17) := 'TAX_LINE_REF_ID';
65411 l_rec_acct_attrs.array_num_value(17) := p_source_91;
65412 l_rec_acct_attrs.array_acct_attr_code(18) := 'TAX_REC_NREC_DIST_REF_ID';
65413 l_rec_acct_attrs.array_num_value(18) := p_source_91;
65414 l_rec_acct_attrs.array_acct_attr_code(19) := 'TAX_SUMMARY_LINE_REF_ID';
65415 l_rec_acct_attrs.array_num_value(19) := p_source_93;
65416
65417 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
65418 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
65419
65420 ---------------------------------------------------------------------------------------------------------------
65421 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
65422 ---------------------------------------------------------------------------------------------------------------
65423 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
65424
65425 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
65426 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
65427
65428 IF xla_accounting_cache_pkg.GetValueChar
65429 (p_source_code => 'LEDGER_CATEGORY_CODE'
65430 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
65431 AND l_bflow_method_code = 'PRIOR_ENTRY'
65432 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
65433 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
65434 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
65435 )
65436 THEN
65437 xla_ae_lines_pkg.BflowUpgEntry
65441 ELSE
65438 (p_business_method_code => l_bflow_method_code
65439 ,p_business_class_code => l_bflow_class_code
65440 ,p_balance_type => l_balance_type_code);
65442 NULL;
65443 -- No business flow processing for business flow method of NONE.
65444 END IF;
65445
65446 --
65447 -- call analytical criteria
65448 --
65449
65450 --
65451 -- call description
65452 --
65453 -- No description or it is inherited.
65454 --
65455 -- call ADRs
65456 -- Bug 4922099
65457 --
65458 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
65459 (NVL(l_actual_upg_option, 'N') = 'O') OR
65460 (NVL(l_enc_upg_option, 'N') = 'O')
65461 )
65462 THEN
65463 NULL;
65464 --
65465 --
65466
65467 l_ccid := AcctDerRule_40(
65468 p_application_id => p_application_id
65469 , p_ae_header_id => l_ae_header_id
65470 , p_source_10 => p_source_10
65471 , p_source_10_meaning => p_source_10_meaning
65472 , p_source_25 => p_source_25
65473 , p_source_31 => p_source_31
65474 , p_source_32 => p_source_32
65475 , x_transaction_coa_id => l_adr_transaction_coa_id
65476 , x_accounting_coa_id => l_adr_accounting_coa_id
65477 , x_value_type_code => l_adr_value_type_code
65478 , p_side => 'CREDIT'
65479 );
65480
65481 xla_ae_lines_pkg.set_ccid(
65482 p_code_combination_id => l_ccid
65483 , p_value_type_code => l_adr_value_type_code
65484 , p_transaction_coa_id => l_adr_transaction_coa_id
65485 , p_accounting_coa_id => l_adr_accounting_coa_id
65486 , p_adr_code => 'AP_REAL_GAIN'
65487 , p_adr_type_code => 'S'
65488 , p_component_type => l_component_type
65489 , p_component_code => l_component_code
65490 , p_component_type_code => l_component_type_code
65491 , p_component_appl_id => l_component_appl_id
65492 , p_amb_context_code => l_amb_context_code
65493 , p_side => 'CREDIT'
65494 );
65495
65496
65497 l_ccid := AcctDerRule_41(
65498 p_application_id => p_application_id
65499 , p_ae_header_id => l_ae_header_id
65500 , p_source_10 => p_source_10
65501 , p_source_10_meaning => p_source_10_meaning
65502 , p_source_25 => p_source_25
65503 , p_source_33 => p_source_33
65504 , p_source_34 => p_source_34
65505 , x_transaction_coa_id => l_adr_transaction_coa_id
65506 , x_accounting_coa_id => l_adr_accounting_coa_id
65507 , x_value_type_code => l_adr_value_type_code
65508 , p_side => 'DEBIT'
65509 );
65510
65511 xla_ae_lines_pkg.set_ccid(
65512 p_code_combination_id => l_ccid
65513 , p_value_type_code => l_adr_value_type_code
65514 , p_transaction_coa_id => l_adr_transaction_coa_id
65515 , p_accounting_coa_id => l_adr_accounting_coa_id
65516 , p_adr_code => 'AP_REAL_LOSS'
65517 , p_adr_type_code => 'S'
65518 , p_component_type => l_component_type
65519 , p_component_code => l_component_code
65520 , p_component_type_code => l_component_type_code
65521 , p_component_appl_id => l_component_appl_id
65522 , p_amb_context_code => l_amb_context_code
65523 , p_side => 'DEBIT'
65524 );
65525
65526
65527 l_segment := AcctDerRule_23(
65528 p_application_id => p_application_id
65529 , p_ae_header_id => l_ae_header_id
65530 , p_source_10 => p_source_10
65531 , p_source_10_meaning => p_source_10_meaning
65532 , p_source_25 => p_source_25
65533 , x_transaction_coa_id => l_adr_transaction_coa_id
65534 , x_accounting_coa_id => l_adr_accounting_coa_id
65535 , x_flexfield_segment_code => l_adr_flexfield_segment_code
65536 , x_flex_value_set_id => l_adr_flex_value_set_id
65537 , x_value_type_code => l_adr_value_type_code
65538 , x_value_combination_id => l_adr_value_combination_id
65539 , x_value_segment_code => l_adr_value_segment_code
65540 , p_side => 'ALL'
65541 , p_override_seg_flag => 'Y'
65542 );
65543
65544 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
65545
65546 xla_ae_lines_pkg.set_segment(
65547 p_to_segment_code => 'GL_BALANCING'
65548 , p_segment_value => l_segment
65549 , p_from_segment_code => l_adr_value_segment_code
65550 , p_from_combination_id => l_adr_value_combination_id
65551 , p_value_type_code => l_adr_value_type_code
65552 , p_transaction_coa_id => l_adr_transaction_coa_id
65553 , p_accounting_coa_id => l_adr_accounting_coa_id
65554 , p_flexfield_segment_code => l_adr_flexfield_segment_code
65555 , p_flex_value_set_id => l_adr_flex_value_set_id
65556 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
65557 , p_adr_type_code => 'S'
65558 , p_component_type => l_component_type
65559 , p_component_code => l_component_code
65560 , p_component_type_code => l_component_type_code
65564 , p_event_class_code => 'RECONCILED PAYMENTS'
65561 , p_component_appl_id => l_component_appl_id
65562 , p_amb_context_code => l_amb_context_code
65563 , p_entity_code => 'AP_PAYMENTS'
65565 , p_side => 'ALL'
65566 );
65567
65568 END IF;
65569
65570 l_segment := AcctDerRule_17(
65571 p_application_id => p_application_id
65572 , p_ae_header_id => l_ae_header_id
65573 , p_source_10 => p_source_10
65574 , p_source_10_meaning => p_source_10_meaning
65575 , p_source_31 => p_source_31
65576 , p_source_32 => p_source_32
65577 , x_transaction_coa_id => l_adr_transaction_coa_id
65578 , x_accounting_coa_id => l_adr_accounting_coa_id
65579 , x_flexfield_segment_code => l_adr_flexfield_segment_code
65580 , x_flex_value_set_id => l_adr_flex_value_set_id
65581 , x_value_type_code => l_adr_value_type_code
65582 , x_value_combination_id => l_adr_value_combination_id
65583 , x_value_segment_code => l_adr_value_segment_code
65584 , p_side => 'CREDIT'
65585 , p_override_seg_flag => 'Y'
65586 );
65587
65588 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
65589
65590 xla_ae_lines_pkg.set_segment(
65591 p_to_segment_code => 'GL_ACCOUNT'
65592 , p_segment_value => l_segment
65593 , p_from_segment_code => l_adr_value_segment_code
65594 , p_from_combination_id => l_adr_value_combination_id
65595 , p_value_type_code => l_adr_value_type_code
65596 , p_transaction_coa_id => l_adr_transaction_coa_id
65597 , p_accounting_coa_id => l_adr_accounting_coa_id
65598 , p_flexfield_segment_code => l_adr_flexfield_segment_code
65599 , p_flex_value_set_id => l_adr_flex_value_set_id
65600 , p_adr_code => 'AP_REAL_GAIN_NAT_ACCT_SEG'
65601 , p_adr_type_code => 'S'
65602 , p_component_type => l_component_type
65603 , p_component_code => l_component_code
65604 , p_component_type_code => l_component_type_code
65605 , p_component_appl_id => l_component_appl_id
65606 , p_amb_context_code => l_amb_context_code
65607 , p_entity_code => 'AP_PAYMENTS'
65608 , p_event_class_code => 'RECONCILED PAYMENTS'
65609 , p_side => 'CREDIT'
65610 );
65611
65612 END IF;
65613
65614 l_segment := AcctDerRule_18(
65615 p_application_id => p_application_id
65616 , p_ae_header_id => l_ae_header_id
65617 , p_source_10 => p_source_10
65618 , p_source_10_meaning => p_source_10_meaning
65619 , p_source_33 => p_source_33
65620 , p_source_34 => p_source_34
65621 , x_transaction_coa_id => l_adr_transaction_coa_id
65622 , x_accounting_coa_id => l_adr_accounting_coa_id
65623 , x_flexfield_segment_code => l_adr_flexfield_segment_code
65624 , x_flex_value_set_id => l_adr_flex_value_set_id
65625 , x_value_type_code => l_adr_value_type_code
65626 , x_value_combination_id => l_adr_value_combination_id
65627 , x_value_segment_code => l_adr_value_segment_code
65628 , p_side => 'DEBIT'
65629 , p_override_seg_flag => 'Y'
65630 );
65631
65632 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
65633
65634 xla_ae_lines_pkg.set_segment(
65635 p_to_segment_code => 'GL_ACCOUNT'
65636 , p_segment_value => l_segment
65637 , p_from_segment_code => l_adr_value_segment_code
65638 , p_from_combination_id => l_adr_value_combination_id
65639 , p_value_type_code => l_adr_value_type_code
65640 , p_transaction_coa_id => l_adr_transaction_coa_id
65641 , p_accounting_coa_id => l_adr_accounting_coa_id
65642 , p_flexfield_segment_code => l_adr_flexfield_segment_code
65643 , p_flex_value_set_id => l_adr_flex_value_set_id
65644 , p_adr_code => 'AP_REAL_LOSS_NAT_ACCT_SEG'
65645 , p_adr_type_code => 'S'
65646 , p_component_type => l_component_type
65647 , p_component_code => l_component_code
65648 , p_component_type_code => l_component_type_code
65649 , p_component_appl_id => l_component_appl_id
65650 , p_amb_context_code => l_amb_context_code
65651 , p_entity_code => 'AP_PAYMENTS'
65652 , p_event_class_code => 'RECONCILED PAYMENTS'
65653 , p_side => 'DEBIT'
65654 );
65655
65656 END IF;
65657
65658 --
65659 --
65660 END IF;
65661 --
65662 -- Bug 4922099
65663 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
65664 (NVL(l_enc_upg_option, 'N') = 'O')
65665 ) AND
65666 (l_bflow_method_code = 'PRIOR_ENTRY')
65667 )
65668 THEN
65669 IF
65670 --
65671 1 = 2
65672 --
65673 THEN
65674 xla_accounting_err_pkg.build_message
65675 (p_appli_s_name => 'XLA'
65676 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
65680 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
65677 ,p_token_1 => 'LINE_NUMBER'
65678 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
65679 ,p_token_2 => 'LINE_TYPE_NAME'
65681 l_component_type
65682 ,l_component_code
65683 ,l_component_type_code
65684 ,l_component_appl_id
65685 ,l_amb_context_code
65686 ,l_entity_code
65687 ,l_event_class_code
65688 )
65689 ,p_token_3 => 'OWNER'
65690 ,p_value_3 => xla_lookups_pkg.get_meaning(
65691 p_lookup_type => 'XLA_OWNER_TYPE'
65692 ,p_lookup_code => l_component_type_code
65693 )
65694 ,p_token_4 => 'PRODUCT_NAME'
65695 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
65696 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
65697 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
65698 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
65699 ,p_ae_header_id => NULL
65700 );
65701
65702 IF (C_LEVEL_ERROR>= g_log_level) THEN
65703 trace
65704 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
65705 ,p_level => C_LEVEL_ERROR
65706 ,p_module => l_log_module);
65707 END IF;
65708 END IF;
65709 END IF;
65710 --
65711 --
65712 ------------------------------------------------------------------------------------------------
65713 -- 4219869 Business Flow
65714 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
65715 -- Prior Entry. Currently, the following code is always generated.
65716 ------------------------------------------------------------------------------------------------
65717 XLA_AE_LINES_PKG.ValidateCurrentLine;
65718
65719 ------------------------------------------------------------------------------------
65720 -- 4219869 Business Flow
65721 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
65722 ------------------------------------------------------------------------------------
65723 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
65724
65725 ----------------------------------------------------------------------------------
65726 -- 4219869 Business Flow
65727 -- Update journal entry status -- Need to generate this within IF <condition>
65728 ----------------------------------------------------------------------------------
65729 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
65730 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
65731 ,p_balance_type_code => l_balance_type_code
65732 );
65733
65734 -------------------------------------------------------------------------------------------
65735 -- 4262811 - Generate the Accrual Reversal lines
65736 -------------------------------------------------------------------------------------------
65737 BEGIN
65738 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
65739 (g_array_event(p_event_id).array_value_num('header_index'));
65740 IF l_acc_rev_flag IS NULL THEN
65741 l_acc_rev_flag := 'N';
65742 END IF;
65743 EXCEPTION
65744 WHEN OTHERS THEN
65745 l_acc_rev_flag := 'N';
65746 END;
65747 --
65748 IF (l_acc_rev_flag = 'Y') THEN
65749
65750 -- 4645092 ------------------------------------------------------------------------------
65751 -- To allow MPA report to determine if it should generate report process
65752 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
65753 ------------------------------------------------------------------------------------------
65754
65755 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
65756 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
65757 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
65758 -- call ADRs
65759 -- Bug 4922099
65760 --
65761 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
65762 (NVL(l_actual_upg_option, 'N') = 'O') OR
65763 (NVL(l_enc_upg_option, 'N') = 'O')
65764 )
65765 THEN
65766 NULL;
65767 --
65768 --
65772 , p_ae_header_id => l_ae_header_id
65769
65770 l_ccid := AcctDerRule_40(
65771 p_application_id => p_application_id
65773 , p_source_10 => p_source_10
65774 , p_source_10_meaning => p_source_10_meaning
65775 , p_source_25 => p_source_25
65776 , p_source_31 => p_source_31
65777 , p_source_32 => p_source_32
65778 , x_transaction_coa_id => l_adr_transaction_coa_id
65779 , x_accounting_coa_id => l_adr_accounting_coa_id
65780 , x_value_type_code => l_adr_value_type_code
65781 , p_side => 'CREDIT'
65782 );
65783
65784 xla_ae_lines_pkg.set_ccid(
65785 p_code_combination_id => l_ccid
65786 , p_value_type_code => l_adr_value_type_code
65787 , p_transaction_coa_id => l_adr_transaction_coa_id
65788 , p_accounting_coa_id => l_adr_accounting_coa_id
65789 , p_adr_code => 'AP_REAL_GAIN'
65790 , p_adr_type_code => 'S'
65791 , p_component_type => l_component_type
65792 , p_component_code => l_component_code
65793 , p_component_type_code => l_component_type_code
65794 , p_component_appl_id => l_component_appl_id
65795 , p_amb_context_code => l_amb_context_code
65796 , p_side => 'CREDIT'
65797 );
65798
65799
65800 l_ccid := AcctDerRule_41(
65801 p_application_id => p_application_id
65802 , p_ae_header_id => l_ae_header_id
65803 , p_source_10 => p_source_10
65804 , p_source_10_meaning => p_source_10_meaning
65805 , p_source_25 => p_source_25
65806 , p_source_33 => p_source_33
65807 , p_source_34 => p_source_34
65808 , x_transaction_coa_id => l_adr_transaction_coa_id
65809 , x_accounting_coa_id => l_adr_accounting_coa_id
65810 , x_value_type_code => l_adr_value_type_code
65811 , p_side => 'DEBIT'
65812 );
65813
65814 xla_ae_lines_pkg.set_ccid(
65815 p_code_combination_id => l_ccid
65816 , p_value_type_code => l_adr_value_type_code
65817 , p_transaction_coa_id => l_adr_transaction_coa_id
65818 , p_accounting_coa_id => l_adr_accounting_coa_id
65819 , p_adr_code => 'AP_REAL_LOSS'
65820 , p_adr_type_code => 'S'
65821 , p_component_type => l_component_type
65822 , p_component_code => l_component_code
65823 , p_component_type_code => l_component_type_code
65824 , p_component_appl_id => l_component_appl_id
65825 , p_amb_context_code => l_amb_context_code
65826 , p_side => 'DEBIT'
65827 );
65828
65829
65830 l_segment := AcctDerRule_23(
65831 p_application_id => p_application_id
65832 , p_ae_header_id => l_ae_header_id
65833 , p_source_10 => p_source_10
65834 , p_source_10_meaning => p_source_10_meaning
65835 , p_source_25 => p_source_25
65836 , x_transaction_coa_id => l_adr_transaction_coa_id
65837 , x_accounting_coa_id => l_adr_accounting_coa_id
65838 , x_flexfield_segment_code => l_adr_flexfield_segment_code
65839 , x_flex_value_set_id => l_adr_flex_value_set_id
65840 , x_value_type_code => l_adr_value_type_code
65841 , x_value_combination_id => l_adr_value_combination_id
65842 , x_value_segment_code => l_adr_value_segment_code
65843 , p_side => 'ALL'
65844 , p_override_seg_flag => 'Y'
65845 );
65846
65847 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
65848
65849 xla_ae_lines_pkg.set_segment(
65850 p_to_segment_code => 'GL_BALANCING'
65851 , p_segment_value => l_segment
65852 , p_from_segment_code => l_adr_value_segment_code
65853 , p_from_combination_id => l_adr_value_combination_id
65854 , p_value_type_code => l_adr_value_type_code
65855 , p_transaction_coa_id => l_adr_transaction_coa_id
65856 , p_accounting_coa_id => l_adr_accounting_coa_id
65857 , p_flexfield_segment_code => l_adr_flexfield_segment_code
65858 , p_flex_value_set_id => l_adr_flex_value_set_id
65859 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
65860 , p_adr_type_code => 'S'
65861 , p_component_type => l_component_type
65862 , p_component_code => l_component_code
65863 , p_component_type_code => l_component_type_code
65864 , p_component_appl_id => l_component_appl_id
65865 , p_amb_context_code => l_amb_context_code
65866 , p_entity_code => 'AP_PAYMENTS'
65867 , p_event_class_code => 'RECONCILED PAYMENTS'
65868 , p_side => 'ALL'
65869 );
65870
65871 END IF;
65872
65873 l_segment := AcctDerRule_17(
65874 p_application_id => p_application_id
65875 , p_ae_header_id => l_ae_header_id
65876 , p_source_10 => p_source_10
65877 , p_source_10_meaning => p_source_10_meaning
65878 , p_source_31 => p_source_31
65879 , p_source_32 => p_source_32
65880 , x_transaction_coa_id => l_adr_transaction_coa_id
65884 , x_value_type_code => l_adr_value_type_code
65881 , x_accounting_coa_id => l_adr_accounting_coa_id
65882 , x_flexfield_segment_code => l_adr_flexfield_segment_code
65883 , x_flex_value_set_id => l_adr_flex_value_set_id
65885 , x_value_combination_id => l_adr_value_combination_id
65886 , x_value_segment_code => l_adr_value_segment_code
65887 , p_side => 'CREDIT'
65888 , p_override_seg_flag => 'Y'
65889 );
65890
65891 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
65892
65893 xla_ae_lines_pkg.set_segment(
65894 p_to_segment_code => 'GL_ACCOUNT'
65895 , p_segment_value => l_segment
65896 , p_from_segment_code => l_adr_value_segment_code
65897 , p_from_combination_id => l_adr_value_combination_id
65898 , p_value_type_code => l_adr_value_type_code
65899 , p_transaction_coa_id => l_adr_transaction_coa_id
65900 , p_accounting_coa_id => l_adr_accounting_coa_id
65901 , p_flexfield_segment_code => l_adr_flexfield_segment_code
65902 , p_flex_value_set_id => l_adr_flex_value_set_id
65903 , p_adr_code => 'AP_REAL_GAIN_NAT_ACCT_SEG'
65904 , p_adr_type_code => 'S'
65905 , p_component_type => l_component_type
65906 , p_component_code => l_component_code
65907 , p_component_type_code => l_component_type_code
65908 , p_component_appl_id => l_component_appl_id
65909 , p_amb_context_code => l_amb_context_code
65910 , p_entity_code => 'AP_PAYMENTS'
65911 , p_event_class_code => 'RECONCILED PAYMENTS'
65912 , p_side => 'CREDIT'
65913 );
65914
65915 END IF;
65916
65917 l_segment := AcctDerRule_18(
65918 p_application_id => p_application_id
65919 , p_ae_header_id => l_ae_header_id
65920 , p_source_10 => p_source_10
65921 , p_source_10_meaning => p_source_10_meaning
65922 , p_source_33 => p_source_33
65923 , p_source_34 => p_source_34
65924 , x_transaction_coa_id => l_adr_transaction_coa_id
65925 , x_accounting_coa_id => l_adr_accounting_coa_id
65926 , x_flexfield_segment_code => l_adr_flexfield_segment_code
65927 , x_flex_value_set_id => l_adr_flex_value_set_id
65928 , x_value_type_code => l_adr_value_type_code
65929 , x_value_combination_id => l_adr_value_combination_id
65930 , x_value_segment_code => l_adr_value_segment_code
65931 , p_side => 'DEBIT'
65932 , p_override_seg_flag => 'Y'
65933 );
65934
65935 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
65936
65937 xla_ae_lines_pkg.set_segment(
65938 p_to_segment_code => 'GL_ACCOUNT'
65939 , p_segment_value => l_segment
65940 , p_from_segment_code => l_adr_value_segment_code
65941 , p_from_combination_id => l_adr_value_combination_id
65942 , p_value_type_code => l_adr_value_type_code
65943 , p_transaction_coa_id => l_adr_transaction_coa_id
65944 , p_accounting_coa_id => l_adr_accounting_coa_id
65945 , p_flexfield_segment_code => l_adr_flexfield_segment_code
65946 , p_flex_value_set_id => l_adr_flex_value_set_id
65947 , p_adr_code => 'AP_REAL_LOSS_NAT_ACCT_SEG'
65948 , p_adr_type_code => 'S'
65949 , p_component_type => l_component_type
65950 , p_component_code => l_component_code
65951 , p_component_type_code => l_component_type_code
65952 , p_component_appl_id => l_component_appl_id
65953 , p_amb_context_code => l_amb_context_code
65954 , p_entity_code => 'AP_PAYMENTS'
65955 , p_event_class_code => 'RECONCILED PAYMENTS'
65956 , p_side => 'DEBIT'
65957 );
65958
65959 END IF;
65960
65961 --
65962 --
65963 END IF;
65964
65965 --
65966 -- Update the line information that should be overwritten
65967 --
65968 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
65969 p_header_num => 1);
65970 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
65971
65972 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
65973
65974 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
65975 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
65976 END IF;
65977
65978 --
65979 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
65980 --
65981 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
65982 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
65983 ELSE
65984 ---------------------------------------------------------------------------------------------------
65985 -- 4262811a Switch Sign
65986 ---------------------------------------------------------------------------------------------------
65990 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
65987 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
65988 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
65989 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
65991 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
65992 -- 5132302
65993 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
65994 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
65995
65996 END IF;
65997
65998 -- 4955764
65999 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
66000 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
66001
66002
66003 XLA_AE_LINES_PKG.ValidateCurrentLine;
66004 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
66005
66006 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
66007 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
66008 ,p_balance_type_code => l_balance_type_code);
66009
66010 END IF;
66011
66012 -----------------------------------------------------------------------------------------
66013 -- 4262811 Multiperiod Accounting
66014 -----------------------------------------------------------------------------------------
66015 -- No MPA option is assigned.
66016
66017
66018 END IF;
66019 END IF;
66020 --
66021
66022 --
66023 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
66024 trace
66025 (p_msg => 'END of AcctLineType_134'
66026 ,p_level => C_LEVEL_PROCEDURE
66027 ,p_module => l_log_module);
66028 END IF;
66029 --
66030 EXCEPTION
66031 WHEN xla_exceptions_pkg.application_exception THEN
66032 RAISE;
66033 WHEN OTHERS THEN
66034 xla_exceptions_pkg.raise_message
66035 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_134');
66036 END AcctLineType_134;
66037 --
66038
66039 ---------------------------------------
66040 --
66041 -- PRIVATE FUNCTION
66042 -- AcctLineType_135
66043 --
66044 ---------------------------------------
66045 PROCEDURE AcctLineType_135 (
66046 p_application_id IN NUMBER
66047 ,p_event_id IN NUMBER
66048 ,p_calculate_acctd_flag IN VARCHAR2
66049 ,p_calculate_g_l_flag IN VARCHAR2
66050 ,p_actual_flag IN OUT VARCHAR2
66051 ,p_balance_type_code OUT VARCHAR2
66052 ,p_gain_or_loss_ref OUT VARCHAR2
66053
66054 --Automatic Offsets Value
66055 , p_source_10 IN VARCHAR2
66056 , p_source_10_meaning IN VARCHAR2
66057 --Invoice Distribution Account
66058 , p_source_25 IN NUMBER
66059 --Internal Realized Gain Account
66060 , p_source_31 IN NUMBER
66061 --Bank Gain Account
66062 , p_source_32 IN NUMBER
66063 --Internal Realized Loss Account
66064 , p_source_33 IN NUMBER
66065 --Bank Loss Account
66066 , p_source_34 IN NUMBER
66067 --When to Account for Payment Option
66068 , p_source_57 IN VARCHAR2
66069 --Accounting Reversal Indicator
66070 , p_source_58 IN VARCHAR2
66071 --Distribution Link Type
66072 , p_source_60 IN VARCHAR2
66073 --Override Accounted Amount Indicator
66074 , p_source_85 IN VARCHAR2
66075 , p_source_85_meaning IN VARCHAR2
66076 --Third Party Type
66077 , p_source_88 IN VARCHAR2
66078 --Invoice Distribution Tax Line Identifier
66079 , p_source_91 IN NUMBER
66080 --Invoice Distribution Tax Distribution Identifier from Tax
66081 , p_source_92 IN NUMBER
66082 --Invoice Distribution Summary Tax Line Identifier
66083 , p_source_93 IN NUMBER
66084 --Business Flow Accounts Payable Application Identifier
66085 , p_source_96 IN NUMBER
66086 --Business Flow Invoice Distribution Type
66087 , p_source_97 IN VARCHAR2
66088 --Business Flow Invoice Entity Code
66089 , p_source_98 IN VARCHAR2
66090 --Business Flow Invoice Distribution Identifier
66091 , p_source_99 IN NUMBER
66092 --Business Flow Invoice Identifier
66093 , p_source_100 IN NUMBER
66094 --Payment Distribution Type
66095 , p_source_101 IN VARCHAR2
66096 , p_source_101_meaning IN VARCHAR2
66097 --Payment Distribution Identifier
66098 , p_source_107 IN NUMBER
66099 --Payment Supplier Identifier
66100 , p_source_113 IN NUMBER
66101 --Payment Supplier Site Identifier
66102 , p_source_114 IN NUMBER
66103 --Payment Distribution Reversed Identifier
66104 , p_source_115 IN NUMBER
66105 --Payment Type
66106 , p_source_125 IN VARCHAR2
66107 , p_source_125_meaning IN VARCHAR2
66108 --Invoice Distribution Amount of the Payment Distribution
66109 , p_source_127 IN NUMBER
66110 --Invoice/Payment Ledger Amount Difference
66111 , p_source_156 IN NUMBER
66112 )
66113 IS
66114
66115 l_component_type VARCHAR2(80);
66116 l_component_code VARCHAR2(30);
66117 l_component_type_code VARCHAR2(1);
66118 l_component_appl_id INTEGER;
66122 l_ae_header_id NUMBER;
66119 l_amb_context_code VARCHAR2(30);
66120 l_entity_code VARCHAR2(30);
66121 l_event_class_code VARCHAR2(30);
66123 l_event_type_code VARCHAR2(30);
66124 l_line_definition_code VARCHAR2(30);
66125 l_line_definition_owner_code VARCHAR2(1);
66126 --
66127 -- adr variables
66128 l_segment VARCHAR2(30);
66129 l_ccid NUMBER;
66130 l_adr_transaction_coa_id NUMBER;
66131 l_adr_accounting_coa_id NUMBER;
66132 l_adr_flexfield_segment_code VARCHAR2(30);
66133 l_adr_flex_value_set_id NUMBER;
66134 l_adr_value_type_code VARCHAR2(30);
66135 l_adr_value_combination_id NUMBER;
66136 l_adr_value_segment_code VARCHAR2(30);
66137
66138 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
66139 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
66140 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
66141 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
66142
66143 -- 4262811 Variables ------------------------------------------------------------------------------------------
66144 l_entered_amt_idx NUMBER;
66145 l_accted_amt_idx NUMBER;
66146 l_acc_rev_flag VARCHAR2(1);
66147 l_accrual_line_num NUMBER;
66148 l_tmp_amt NUMBER;
66149 l_acc_rev_natural_side_code VARCHAR2(1);
66150
66151 l_num_entries NUMBER;
66152 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
66153 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
66154 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
66155 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
66156 l_recog_line_1 NUMBER;
66157 l_recog_line_2 NUMBER;
66158
66159 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
66160 l_bflow_applied_to_amt NUMBER; -- 5132302
66161 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
66162
66163 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
66164
66165 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
66166 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
66167
66168 ---------------------------------------------------------------------------------------------------------------
66169
66170
66171 --
66172 -- bulk performance
66173 --
66174 l_balance_type_code VARCHAR2(1);
66175 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
66176 l_log_module VARCHAR2(240);
66177
66178 --
66179 -- Upgrade strategy
66180 --
66181 l_actual_upg_option VARCHAR2(1);
66182 l_enc_upg_option VARCHAR2(1);
66183
66184 --
66185 BEGIN
66186 --
66187 IF g_log_enabled THEN
66188 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_135';
66189 END IF;
66190 --
66191 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
66192
66193 trace
66194 (p_msg => 'BEGIN of AcctLineType_135'
66195 ,p_level => C_LEVEL_PROCEDURE
66196 ,p_module => l_log_module);
66197
66198 END IF;
66199 --
66200 l_component_type := 'AMB_JLT';
66201 l_component_code := 'AP_GAIN_LOSS_PMT';
66202 l_component_type_code := 'S';
66203 l_component_appl_id := 200;
66204 l_amb_context_code := 'DEFAULT';
66205 l_entity_code := 'AP_PAYMENTS';
66206 l_event_class_code := 'PAYMENTS';
66207 l_event_type_code := 'PAYMENTS_ALL';
66208 l_line_definition_owner_code := 'S';
66209 l_line_definition_code := 'ACCRUAL_PAYMENTS_ALL';
66210 --
66211 l_balance_type_code := 'A';
66212 l_segment := NULL;
66213 l_ccid := NULL;
66214 l_adr_transaction_coa_id := NULL;
66215 l_adr_accounting_coa_id := NULL;
66216 l_adr_flexfield_segment_code := NULL;
66217 l_adr_flex_value_set_id := NULL;
66218 l_adr_value_type_code := NULL;
66219 l_adr_value_combination_id := NULL;
66220 l_adr_value_segment_code := NULL;
66221
66222 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
66223 l_bflow_class_code := ''; -- 4219869 Business Flow
66224 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
66225 l_budgetary_control_flag := 'N';
66226
66227 l_bflow_applied_to_amt_idx := NULL; -- 5132302
66228 l_bflow_applied_to_amt := NULL; -- 5132302
66229 l_entered_amt_idx := NULL; -- 4262811
66230 l_accted_amt_idx := NULL; -- 4262811
66231 l_acc_rev_flag := NULL; -- 4262811
66232 l_accrual_line_num := NULL; -- 4262811
66233 l_tmp_amt := NULL; -- 4262811
66234 --
66235 IF NOT ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
66236 (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
66237 return;
66238 END IF;
66239
66240 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
66244 NVL(p_source_57,'
66241 l_balance_type_code <> 'B' THEN
66242 IF (NVL(p_source_57,'
66243 ') <> 'CLEAR_CLEAR' AND
66245 ') <> 'ALWAYS_CLEAR') AND
66246 NVL(p_source_101,'
66247 ') <> 'EXCHANGE RATE VARIANCE' AND
66248 NVL(p_source_101,'
66249 ') <> 'TAX EXCHANGE RATE VARIANCE' AND
66250 NVL(p_source_101,'
66251 ') <> 'BANK CHARGE' AND
66252 NVL(p_source_101,'
66253 ') <> 'BANK ERROR' AND
66254 NVL(p_source_125,'
66255 ') <> 'R'
66256 THEN
66257
66258 --
66259 XLA_AE_LINES_PKG.SetNewLine;
66260
66261 p_balance_type_code := l_balance_type_code;
66262 -- set the flag so later we will know whether the gain loss line needs to be created
66263
66264 IF(l_balance_type_code = 'A' ) THEN
66265 p_actual_flag :='G';
66266 END IF;
66267
66268 --
66269 -- bulk performance
66270 --
66271 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
66272 p_header_num => 0); -- 4262811
66273 --
66274 -- set accounting line options
66275 --
66276 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
66277 p_natural_side_code => 'G'
66278 , p_gain_or_loss_flag => 'N'
66279 , p_gl_transfer_mode_code => 'S'
66280 , p_acct_entry_type_code => 'A'
66281 , p_switch_side_flag => ''
66282 , p_merge_duplicate_code => 'A'
66283 );
66284 --
66285 l_acc_rev_natural_side_code := 'C'; -- 4262811
66286 --
66287 --
66288 -- set accounting line type info
66289 --
66290 xla_ae_lines_pkg.SetAcctLineType
66291 (p_component_type => l_component_type
66292 ,p_event_type_code => l_event_type_code
66293 ,p_line_definition_owner_code => l_line_definition_owner_code
66294 ,p_line_definition_code => l_line_definition_code
66295 ,p_accounting_line_code => l_component_code
66296 ,p_accounting_line_type_code => l_component_type_code
66297 ,p_accounting_line_appl_id => l_component_appl_id
66298 ,p_amb_context_code => l_amb_context_code
66299 ,p_entity_code => l_entity_code
66300 ,p_event_class_code => l_event_class_code);
66301 --
66302 -- set accounting class
66303 --
66304 xla_ae_lines_pkg.SetAcctClass(
66305 p_accounting_class_code => 'EXCHANGE_GAIN_LOSS'
66306 , p_ae_header_id => l_ae_header_id
66307 );
66308
66309 --
66310 -- set rounding class
66311 --
66312 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
66313 'EXCHANGE_GAIN_LOSS';
66314
66315 --
66316 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
66317 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
66318 --
66319 -- bulk performance
66320 --
66321 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
66322
66323 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
66324 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
66325
66326 -- 4955764
66327 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
66328 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
66329
66330 -- 4458381 Public Sector Enh
66331
66332 --
66333 -- set accounting attributes for the line type
66334 --
66335 l_entered_amt_idx := NULL;
66336 l_accted_amt_idx := 10;
66337 l_bflow_applied_to_amt_idx := 2; -- 5132302
66338 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
66339 l_rec_acct_attrs.array_char_value(1) := p_source_58;
66340 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
66341 l_rec_acct_attrs.array_num_value(2) := p_source_127;
66342 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
66343 l_rec_acct_attrs.array_num_value(3) := p_source_96;
66344 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
66345 l_rec_acct_attrs.array_char_value(4) := p_source_97;
66346 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
66347 l_rec_acct_attrs.array_char_value(5) := p_source_98;
66348 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
66349 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_99);
66350 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
66351 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_100);
66352 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
66353 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_107);
66354 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
66355 l_rec_acct_attrs.array_char_value(9) := p_source_60;
66356 l_rec_acct_attrs.array_acct_attr_code(10) := 'LEDGER_AMOUNT';
66357 l_rec_acct_attrs.array_num_value(10) := p_source_156;
66358 l_rec_acct_attrs.array_acct_attr_code(11) := 'OVERRIDE_ACCTD_AMT_FLAG';
66359 l_rec_acct_attrs.array_char_value(11) := p_source_85;
66360 l_rec_acct_attrs.array_acct_attr_code(12) := 'PARTY_ID';
66361 l_rec_acct_attrs.array_num_value(12) := p_source_113;
66362 l_rec_acct_attrs.array_acct_attr_code(13) := 'PARTY_SITE_ID';
66366 l_rec_acct_attrs.array_acct_attr_code(15) := 'REVERSED_DISTRIBUTION_ID1';
66363 l_rec_acct_attrs.array_num_value(13) := p_source_114;
66364 l_rec_acct_attrs.array_acct_attr_code(14) := 'PARTY_TYPE';
66365 l_rec_acct_attrs.array_char_value(14) := p_source_88;
66367 l_rec_acct_attrs.array_num_value(15) := to_char(p_source_115);
66368 l_rec_acct_attrs.array_acct_attr_code(16) := 'REVERSED_DISTRIBUTION_TYPE';
66369 l_rec_acct_attrs.array_char_value(16) := p_source_60;
66370 l_rec_acct_attrs.array_acct_attr_code(17) := 'TAX_LINE_REF_ID';
66371 l_rec_acct_attrs.array_num_value(17) := p_source_91;
66372 l_rec_acct_attrs.array_acct_attr_code(18) := 'TAX_REC_NREC_DIST_REF_ID';
66373 l_rec_acct_attrs.array_num_value(18) := p_source_92;
66374 l_rec_acct_attrs.array_acct_attr_code(19) := 'TAX_SUMMARY_LINE_REF_ID';
66375 l_rec_acct_attrs.array_num_value(19) := p_source_93;
66376
66377 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
66378 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
66379
66380 ---------------------------------------------------------------------------------------------------------------
66381 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
66382 ---------------------------------------------------------------------------------------------------------------
66383 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
66384
66385 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
66386 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
66387
66388 IF xla_accounting_cache_pkg.GetValueChar
66389 (p_source_code => 'LEDGER_CATEGORY_CODE'
66390 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
66391 AND l_bflow_method_code = 'PRIOR_ENTRY'
66392 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
66393 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
66394 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
66395 )
66396 THEN
66397 xla_ae_lines_pkg.BflowUpgEntry
66398 (p_business_method_code => l_bflow_method_code
66399 ,p_business_class_code => l_bflow_class_code
66400 ,p_balance_type => l_balance_type_code);
66401 ELSE
66402 NULL;
66403 -- No business flow processing for business flow method of NONE.
66404 END IF;
66405
66406 --
66407 -- call analytical criteria
66408 --
66409
66410 --
66411 -- call description
66412 --
66413 -- No description or it is inherited.
66414 --
66415 -- call ADRs
66416 -- Bug 4922099
66417 --
66418 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
66419 (NVL(l_actual_upg_option, 'N') = 'O') OR
66420 (NVL(l_enc_upg_option, 'N') = 'O')
66421 )
66422 THEN
66423 NULL;
66424 --
66425 --
66426
66427 l_ccid := AcctDerRule_40(
66428 p_application_id => p_application_id
66429 , p_ae_header_id => l_ae_header_id
66430 , p_source_10 => p_source_10
66431 , p_source_10_meaning => p_source_10_meaning
66432 , p_source_25 => p_source_25
66433 , p_source_31 => p_source_31
66434 , p_source_32 => p_source_32
66435 , x_transaction_coa_id => l_adr_transaction_coa_id
66436 , x_accounting_coa_id => l_adr_accounting_coa_id
66437 , x_value_type_code => l_adr_value_type_code
66438 , p_side => 'CREDIT'
66439 );
66440
66441 xla_ae_lines_pkg.set_ccid(
66442 p_code_combination_id => l_ccid
66443 , p_value_type_code => l_adr_value_type_code
66444 , p_transaction_coa_id => l_adr_transaction_coa_id
66445 , p_accounting_coa_id => l_adr_accounting_coa_id
66446 , p_adr_code => 'AP_REAL_GAIN'
66447 , p_adr_type_code => 'S'
66448 , p_component_type => l_component_type
66449 , p_component_code => l_component_code
66450 , p_component_type_code => l_component_type_code
66451 , p_component_appl_id => l_component_appl_id
66452 , p_amb_context_code => l_amb_context_code
66453 , p_side => 'CREDIT'
66454 );
66455
66456
66457 l_ccid := AcctDerRule_41(
66458 p_application_id => p_application_id
66459 , p_ae_header_id => l_ae_header_id
66460 , p_source_10 => p_source_10
66461 , p_source_10_meaning => p_source_10_meaning
66462 , p_source_25 => p_source_25
66463 , p_source_33 => p_source_33
66464 , p_source_34 => p_source_34
66465 , x_transaction_coa_id => l_adr_transaction_coa_id
66466 , x_accounting_coa_id => l_adr_accounting_coa_id
66467 , x_value_type_code => l_adr_value_type_code
66468 , p_side => 'DEBIT'
66469 );
66470
66471 xla_ae_lines_pkg.set_ccid(
66472 p_code_combination_id => l_ccid
66473 , p_value_type_code => l_adr_value_type_code
66474 , p_transaction_coa_id => l_adr_transaction_coa_id
66475 , p_accounting_coa_id => l_adr_accounting_coa_id
66479 , p_component_code => l_component_code
66476 , p_adr_code => 'AP_REAL_LOSS'
66477 , p_adr_type_code => 'S'
66478 , p_component_type => l_component_type
66480 , p_component_type_code => l_component_type_code
66481 , p_component_appl_id => l_component_appl_id
66482 , p_amb_context_code => l_amb_context_code
66483 , p_side => 'DEBIT'
66484 );
66485
66486
66487 l_segment := AcctDerRule_23(
66488 p_application_id => p_application_id
66489 , p_ae_header_id => l_ae_header_id
66490 , p_source_10 => p_source_10
66491 , p_source_10_meaning => p_source_10_meaning
66492 , p_source_25 => p_source_25
66493 , x_transaction_coa_id => l_adr_transaction_coa_id
66494 , x_accounting_coa_id => l_adr_accounting_coa_id
66495 , x_flexfield_segment_code => l_adr_flexfield_segment_code
66496 , x_flex_value_set_id => l_adr_flex_value_set_id
66497 , x_value_type_code => l_adr_value_type_code
66498 , x_value_combination_id => l_adr_value_combination_id
66499 , x_value_segment_code => l_adr_value_segment_code
66500 , p_side => 'ALL'
66501 , p_override_seg_flag => 'Y'
66502 );
66503
66504 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
66505
66506 xla_ae_lines_pkg.set_segment(
66507 p_to_segment_code => 'GL_BALANCING'
66508 , p_segment_value => l_segment
66509 , p_from_segment_code => l_adr_value_segment_code
66510 , p_from_combination_id => l_adr_value_combination_id
66511 , p_value_type_code => l_adr_value_type_code
66512 , p_transaction_coa_id => l_adr_transaction_coa_id
66513 , p_accounting_coa_id => l_adr_accounting_coa_id
66514 , p_flexfield_segment_code => l_adr_flexfield_segment_code
66515 , p_flex_value_set_id => l_adr_flex_value_set_id
66516 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
66517 , p_adr_type_code => 'S'
66518 , p_component_type => l_component_type
66519 , p_component_code => l_component_code
66520 , p_component_type_code => l_component_type_code
66521 , p_component_appl_id => l_component_appl_id
66522 , p_amb_context_code => l_amb_context_code
66523 , p_entity_code => 'AP_PAYMENTS'
66524 , p_event_class_code => 'PAYMENTS'
66525 , p_side => 'ALL'
66526 );
66527
66528 END IF;
66529
66530 l_segment := AcctDerRule_17(
66531 p_application_id => p_application_id
66532 , p_ae_header_id => l_ae_header_id
66533 , p_source_10 => p_source_10
66534 , p_source_10_meaning => p_source_10_meaning
66535 , p_source_31 => p_source_31
66536 , p_source_32 => p_source_32
66537 , x_transaction_coa_id => l_adr_transaction_coa_id
66538 , x_accounting_coa_id => l_adr_accounting_coa_id
66539 , x_flexfield_segment_code => l_adr_flexfield_segment_code
66540 , x_flex_value_set_id => l_adr_flex_value_set_id
66541 , x_value_type_code => l_adr_value_type_code
66542 , x_value_combination_id => l_adr_value_combination_id
66543 , x_value_segment_code => l_adr_value_segment_code
66544 , p_side => 'CREDIT'
66545 , p_override_seg_flag => 'Y'
66546 );
66547
66548 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
66549
66550 xla_ae_lines_pkg.set_segment(
66551 p_to_segment_code => 'GL_ACCOUNT'
66552 , p_segment_value => l_segment
66553 , p_from_segment_code => l_adr_value_segment_code
66554 , p_from_combination_id => l_adr_value_combination_id
66555 , p_value_type_code => l_adr_value_type_code
66556 , p_transaction_coa_id => l_adr_transaction_coa_id
66557 , p_accounting_coa_id => l_adr_accounting_coa_id
66558 , p_flexfield_segment_code => l_adr_flexfield_segment_code
66559 , p_flex_value_set_id => l_adr_flex_value_set_id
66560 , p_adr_code => 'AP_REAL_GAIN_NAT_ACCT_SEG'
66561 , p_adr_type_code => 'S'
66562 , p_component_type => l_component_type
66563 , p_component_code => l_component_code
66564 , p_component_type_code => l_component_type_code
66565 , p_component_appl_id => l_component_appl_id
66566 , p_amb_context_code => l_amb_context_code
66567 , p_entity_code => 'AP_PAYMENTS'
66568 , p_event_class_code => 'PAYMENTS'
66569 , p_side => 'CREDIT'
66570 );
66571
66572 END IF;
66573
66574 l_segment := AcctDerRule_18(
66575 p_application_id => p_application_id
66576 , p_ae_header_id => l_ae_header_id
66577 , p_source_10 => p_source_10
66578 , p_source_10_meaning => p_source_10_meaning
66579 , p_source_33 => p_source_33
66580 , p_source_34 => p_source_34
66581 , x_transaction_coa_id => l_adr_transaction_coa_id
66582 , x_accounting_coa_id => l_adr_accounting_coa_id
66586 , x_value_combination_id => l_adr_value_combination_id
66583 , x_flexfield_segment_code => l_adr_flexfield_segment_code
66584 , x_flex_value_set_id => l_adr_flex_value_set_id
66585 , x_value_type_code => l_adr_value_type_code
66587 , x_value_segment_code => l_adr_value_segment_code
66588 , p_side => 'DEBIT'
66589 , p_override_seg_flag => 'Y'
66590 );
66591
66592 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
66593
66594 xla_ae_lines_pkg.set_segment(
66595 p_to_segment_code => 'GL_ACCOUNT'
66596 , p_segment_value => l_segment
66597 , p_from_segment_code => l_adr_value_segment_code
66598 , p_from_combination_id => l_adr_value_combination_id
66599 , p_value_type_code => l_adr_value_type_code
66600 , p_transaction_coa_id => l_adr_transaction_coa_id
66601 , p_accounting_coa_id => l_adr_accounting_coa_id
66602 , p_flexfield_segment_code => l_adr_flexfield_segment_code
66603 , p_flex_value_set_id => l_adr_flex_value_set_id
66604 , p_adr_code => 'AP_REAL_LOSS_NAT_ACCT_SEG'
66605 , p_adr_type_code => 'S'
66606 , p_component_type => l_component_type
66607 , p_component_code => l_component_code
66608 , p_component_type_code => l_component_type_code
66609 , p_component_appl_id => l_component_appl_id
66610 , p_amb_context_code => l_amb_context_code
66611 , p_entity_code => 'AP_PAYMENTS'
66612 , p_event_class_code => 'PAYMENTS'
66613 , p_side => 'DEBIT'
66614 );
66615
66616 END IF;
66617
66618 --
66619 --
66620 END IF;
66621 --
66622 -- Bug 4922099
66623 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
66624 (NVL(l_enc_upg_option, 'N') = 'O')
66625 ) AND
66626 (l_bflow_method_code = 'PRIOR_ENTRY')
66627 )
66628 THEN
66629 IF
66630 --
66631 1 = 2
66632 --
66633 THEN
66634 xla_accounting_err_pkg.build_message
66635 (p_appli_s_name => 'XLA'
66636 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
66637 ,p_token_1 => 'LINE_NUMBER'
66638 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
66639 ,p_token_2 => 'LINE_TYPE_NAME'
66640 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
66641 l_component_type
66642 ,l_component_code
66643 ,l_component_type_code
66644 ,l_component_appl_id
66645 ,l_amb_context_code
66646 ,l_entity_code
66647 ,l_event_class_code
66648 )
66649 ,p_token_3 => 'OWNER'
66650 ,p_value_3 => xla_lookups_pkg.get_meaning(
66651 p_lookup_type => 'XLA_OWNER_TYPE'
66652 ,p_lookup_code => l_component_type_code
66653 )
66654 ,p_token_4 => 'PRODUCT_NAME'
66655 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
66656 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
66657 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
66658 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
66659 ,p_ae_header_id => NULL
66660 );
66661
66662 IF (C_LEVEL_ERROR>= g_log_level) THEN
66663 trace
66664 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
66665 ,p_level => C_LEVEL_ERROR
66666 ,p_module => l_log_module);
66667 END IF;
66668 END IF;
66669 END IF;
66670 --
66671 --
66672 ------------------------------------------------------------------------------------------------
66673 -- 4219869 Business Flow
66674 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
66675 -- Prior Entry. Currently, the following code is always generated.
66676 ------------------------------------------------------------------------------------------------
66677 XLA_AE_LINES_PKG.ValidateCurrentLine;
66678
66682 ------------------------------------------------------------------------------------
66679 ------------------------------------------------------------------------------------
66680 -- 4219869 Business Flow
66681 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
66683 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
66684
66685 ----------------------------------------------------------------------------------
66686 -- 4219869 Business Flow
66687 -- Update journal entry status -- Need to generate this within IF <condition>
66688 ----------------------------------------------------------------------------------
66689 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
66690 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
66691 ,p_balance_type_code => l_balance_type_code
66692 );
66693
66694 -------------------------------------------------------------------------------------------
66695 -- 4262811 - Generate the Accrual Reversal lines
66696 -------------------------------------------------------------------------------------------
66697 BEGIN
66698 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
66699 (g_array_event(p_event_id).array_value_num('header_index'));
66700 IF l_acc_rev_flag IS NULL THEN
66701 l_acc_rev_flag := 'N';
66702 END IF;
66703 EXCEPTION
66704 WHEN OTHERS THEN
66705 l_acc_rev_flag := 'N';
66706 END;
66707 --
66708 IF (l_acc_rev_flag = 'Y') THEN
66709
66710 -- 4645092 ------------------------------------------------------------------------------
66711 -- To allow MPA report to determine if it should generate report process
66712 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
66713 ------------------------------------------------------------------------------------------
66714
66715 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
66716 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
66717 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
66718 -- call ADRs
66719 -- Bug 4922099
66720 --
66721 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
66722 (NVL(l_actual_upg_option, 'N') = 'O') OR
66723 (NVL(l_enc_upg_option, 'N') = 'O')
66724 )
66725 THEN
66726 NULL;
66727 --
66728 --
66729
66730 l_ccid := AcctDerRule_40(
66731 p_application_id => p_application_id
66732 , p_ae_header_id => l_ae_header_id
66733 , p_source_10 => p_source_10
66734 , p_source_10_meaning => p_source_10_meaning
66735 , p_source_25 => p_source_25
66736 , p_source_31 => p_source_31
66737 , p_source_32 => p_source_32
66738 , x_transaction_coa_id => l_adr_transaction_coa_id
66739 , x_accounting_coa_id => l_adr_accounting_coa_id
66740 , x_value_type_code => l_adr_value_type_code
66741 , p_side => 'CREDIT'
66742 );
66743
66744 xla_ae_lines_pkg.set_ccid(
66745 p_code_combination_id => l_ccid
66746 , p_value_type_code => l_adr_value_type_code
66747 , p_transaction_coa_id => l_adr_transaction_coa_id
66748 , p_accounting_coa_id => l_adr_accounting_coa_id
66749 , p_adr_code => 'AP_REAL_GAIN'
66750 , p_adr_type_code => 'S'
66751 , p_component_type => l_component_type
66752 , p_component_code => l_component_code
66753 , p_component_type_code => l_component_type_code
66754 , p_component_appl_id => l_component_appl_id
66755 , p_amb_context_code => l_amb_context_code
66756 , p_side => 'CREDIT'
66757 );
66758
66759
66760 l_ccid := AcctDerRule_41(
66761 p_application_id => p_application_id
66762 , p_ae_header_id => l_ae_header_id
66763 , p_source_10 => p_source_10
66764 , p_source_10_meaning => p_source_10_meaning
66765 , p_source_25 => p_source_25
66766 , p_source_33 => p_source_33
66767 , p_source_34 => p_source_34
66768 , x_transaction_coa_id => l_adr_transaction_coa_id
66769 , x_accounting_coa_id => l_adr_accounting_coa_id
66770 , x_value_type_code => l_adr_value_type_code
66771 , p_side => 'DEBIT'
66772 );
66773
66774 xla_ae_lines_pkg.set_ccid(
66775 p_code_combination_id => l_ccid
66776 , p_value_type_code => l_adr_value_type_code
66777 , p_transaction_coa_id => l_adr_transaction_coa_id
66778 , p_accounting_coa_id => l_adr_accounting_coa_id
66779 , p_adr_code => 'AP_REAL_LOSS'
66780 , p_adr_type_code => 'S'
66781 , p_component_type => l_component_type
66782 , p_component_code => l_component_code
66783 , p_component_type_code => l_component_type_code
66784 , p_component_appl_id => l_component_appl_id
66785 , p_amb_context_code => l_amb_context_code
66786 , p_side => 'DEBIT'
66787 );
66788
66789
66790 l_segment := AcctDerRule_23(
66791 p_application_id => p_application_id
66792 , p_ae_header_id => l_ae_header_id
66793 , p_source_10 => p_source_10
66794 , p_source_10_meaning => p_source_10_meaning
66795 , p_source_25 => p_source_25
66799 , x_flex_value_set_id => l_adr_flex_value_set_id
66796 , x_transaction_coa_id => l_adr_transaction_coa_id
66797 , x_accounting_coa_id => l_adr_accounting_coa_id
66798 , x_flexfield_segment_code => l_adr_flexfield_segment_code
66800 , x_value_type_code => l_adr_value_type_code
66801 , x_value_combination_id => l_adr_value_combination_id
66802 , x_value_segment_code => l_adr_value_segment_code
66803 , p_side => 'ALL'
66804 , p_override_seg_flag => 'Y'
66805 );
66806
66807 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
66808
66809 xla_ae_lines_pkg.set_segment(
66810 p_to_segment_code => 'GL_BALANCING'
66811 , p_segment_value => l_segment
66812 , p_from_segment_code => l_adr_value_segment_code
66813 , p_from_combination_id => l_adr_value_combination_id
66814 , p_value_type_code => l_adr_value_type_code
66815 , p_transaction_coa_id => l_adr_transaction_coa_id
66816 , p_accounting_coa_id => l_adr_accounting_coa_id
66817 , p_flexfield_segment_code => l_adr_flexfield_segment_code
66818 , p_flex_value_set_id => l_adr_flex_value_set_id
66819 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
66820 , p_adr_type_code => 'S'
66821 , p_component_type => l_component_type
66822 , p_component_code => l_component_code
66823 , p_component_type_code => l_component_type_code
66824 , p_component_appl_id => l_component_appl_id
66825 , p_amb_context_code => l_amb_context_code
66826 , p_entity_code => 'AP_PAYMENTS'
66827 , p_event_class_code => 'PAYMENTS'
66828 , p_side => 'ALL'
66829 );
66830
66831 END IF;
66832
66833 l_segment := AcctDerRule_17(
66834 p_application_id => p_application_id
66835 , p_ae_header_id => l_ae_header_id
66836 , p_source_10 => p_source_10
66837 , p_source_10_meaning => p_source_10_meaning
66838 , p_source_31 => p_source_31
66839 , p_source_32 => p_source_32
66840 , x_transaction_coa_id => l_adr_transaction_coa_id
66841 , x_accounting_coa_id => l_adr_accounting_coa_id
66842 , x_flexfield_segment_code => l_adr_flexfield_segment_code
66843 , x_flex_value_set_id => l_adr_flex_value_set_id
66844 , x_value_type_code => l_adr_value_type_code
66845 , x_value_combination_id => l_adr_value_combination_id
66846 , x_value_segment_code => l_adr_value_segment_code
66847 , p_side => 'CREDIT'
66848 , p_override_seg_flag => 'Y'
66849 );
66850
66851 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
66852
66853 xla_ae_lines_pkg.set_segment(
66854 p_to_segment_code => 'GL_ACCOUNT'
66855 , p_segment_value => l_segment
66856 , p_from_segment_code => l_adr_value_segment_code
66857 , p_from_combination_id => l_adr_value_combination_id
66858 , p_value_type_code => l_adr_value_type_code
66859 , p_transaction_coa_id => l_adr_transaction_coa_id
66860 , p_accounting_coa_id => l_adr_accounting_coa_id
66861 , p_flexfield_segment_code => l_adr_flexfield_segment_code
66862 , p_flex_value_set_id => l_adr_flex_value_set_id
66863 , p_adr_code => 'AP_REAL_GAIN_NAT_ACCT_SEG'
66864 , p_adr_type_code => 'S'
66865 , p_component_type => l_component_type
66866 , p_component_code => l_component_code
66867 , p_component_type_code => l_component_type_code
66868 , p_component_appl_id => l_component_appl_id
66869 , p_amb_context_code => l_amb_context_code
66870 , p_entity_code => 'AP_PAYMENTS'
66871 , p_event_class_code => 'PAYMENTS'
66872 , p_side => 'CREDIT'
66873 );
66874
66875 END IF;
66876
66877 l_segment := AcctDerRule_18(
66878 p_application_id => p_application_id
66879 , p_ae_header_id => l_ae_header_id
66880 , p_source_10 => p_source_10
66881 , p_source_10_meaning => p_source_10_meaning
66882 , p_source_33 => p_source_33
66883 , p_source_34 => p_source_34
66884 , x_transaction_coa_id => l_adr_transaction_coa_id
66885 , x_accounting_coa_id => l_adr_accounting_coa_id
66886 , x_flexfield_segment_code => l_adr_flexfield_segment_code
66887 , x_flex_value_set_id => l_adr_flex_value_set_id
66888 , x_value_type_code => l_adr_value_type_code
66889 , x_value_combination_id => l_adr_value_combination_id
66890 , x_value_segment_code => l_adr_value_segment_code
66891 , p_side => 'DEBIT'
66892 , p_override_seg_flag => 'Y'
66893 );
66894
66895 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
66896
66897 xla_ae_lines_pkg.set_segment(
66898 p_to_segment_code => 'GL_ACCOUNT'
66899 , p_segment_value => l_segment
66900 , p_from_segment_code => l_adr_value_segment_code
66901 , p_from_combination_id => l_adr_value_combination_id
66902 , p_value_type_code => l_adr_value_type_code
66906 , p_flex_value_set_id => l_adr_flex_value_set_id
66903 , p_transaction_coa_id => l_adr_transaction_coa_id
66904 , p_accounting_coa_id => l_adr_accounting_coa_id
66905 , p_flexfield_segment_code => l_adr_flexfield_segment_code
66907 , p_adr_code => 'AP_REAL_LOSS_NAT_ACCT_SEG'
66908 , p_adr_type_code => 'S'
66909 , p_component_type => l_component_type
66910 , p_component_code => l_component_code
66911 , p_component_type_code => l_component_type_code
66912 , p_component_appl_id => l_component_appl_id
66913 , p_amb_context_code => l_amb_context_code
66914 , p_entity_code => 'AP_PAYMENTS'
66915 , p_event_class_code => 'PAYMENTS'
66916 , p_side => 'DEBIT'
66917 );
66918
66919 END IF;
66920
66921 --
66922 --
66923 END IF;
66924
66925 --
66926 -- Update the line information that should be overwritten
66927 --
66928 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
66929 p_header_num => 1);
66930 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
66931
66932 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
66933
66934 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
66935 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
66936 END IF;
66937
66938 --
66939 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
66940 --
66941 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
66942 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
66943 ELSE
66944 ---------------------------------------------------------------------------------------------------
66945 -- 4262811a Switch Sign
66946 ---------------------------------------------------------------------------------------------------
66947 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
66948 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
66949 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
66950 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
66951 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
66952 -- 5132302
66953 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
66954 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
66955
66956 END IF;
66957
66958 -- 4955764
66959 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
66960 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
66961
66962
66963 XLA_AE_LINES_PKG.ValidateCurrentLine;
66964 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
66965
66966 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
66967 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
66968 ,p_balance_type_code => l_balance_type_code);
66969
66970 END IF;
66971
66972 -----------------------------------------------------------------------------------------
66973 -- 4262811 Multiperiod Accounting
66974 -----------------------------------------------------------------------------------------
66975 -- No MPA option is assigned.
66976
66977
66978 END IF;
66979 END IF;
66980 --
66981
66982 --
66983 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
66984 trace
66985 (p_msg => 'END of AcctLineType_135'
66986 ,p_level => C_LEVEL_PROCEDURE
66987 ,p_module => l_log_module);
66988 END IF;
66989 --
66990 EXCEPTION
66991 WHEN xla_exceptions_pkg.application_exception THEN
66992 RAISE;
66993 WHEN OTHERS THEN
66994 xla_exceptions_pkg.raise_message
66995 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_135');
66996 END AcctLineType_135;
66997 --
66998
66999 ---------------------------------------
67000 --
67001 -- PRIVATE FUNCTION
67002 -- AcctLineType_136
67003 --
67004 ---------------------------------------
67005 PROCEDURE AcctLineType_136 (
67006 p_application_id IN NUMBER
67007 ,p_event_id IN NUMBER
67008 ,p_calculate_acctd_flag IN VARCHAR2
67009 ,p_calculate_g_l_flag IN VARCHAR2
67010 ,p_actual_flag IN OUT VARCHAR2
67011 ,p_balance_type_code OUT VARCHAR2
67012 ,p_gain_or_loss_ref OUT VARCHAR2
67013
67014 --Automatic Offsets Value
67015 , p_source_10 IN VARCHAR2
67016 , p_source_10_meaning IN VARCHAR2
67017 --Invoice Distribution Account
67018 , p_source_25 IN NUMBER
67019 --Internal Realized Gain Account
67020 , p_source_31 IN NUMBER
67021 --Bank Gain Account
67025 --Bank Loss Account
67022 , p_source_32 IN NUMBER
67023 --Internal Realized Loss Account
67024 , p_source_33 IN NUMBER
67026 , p_source_34 IN NUMBER
67027 --When to Account for Payment Option
67028 , p_source_57 IN VARCHAR2
67029 --Accounting Reversal Indicator
67030 , p_source_58 IN VARCHAR2
67031 --Distribution Link Type
67032 , p_source_60 IN VARCHAR2
67033 --Override Accounted Amount Indicator
67034 , p_source_85 IN VARCHAR2
67035 , p_source_85_meaning IN VARCHAR2
67036 --Third Party Type
67037 , p_source_88 IN VARCHAR2
67038 --Business Flow Accounts Payable Application Identifier
67039 , p_source_96 IN NUMBER
67040 --Payment Distribution Type
67041 , p_source_101 IN VARCHAR2
67042 , p_source_101_meaning IN VARCHAR2
67043 --Business Flow Payment Distribution Type
67044 , p_source_103 IN VARCHAR2
67045 --Business Flow Payment Entity Code
67046 , p_source_104 IN VARCHAR2
67047 --Business Flow Payment Distribution Identifier
67048 , p_source_105 IN NUMBER
67049 --Business Flow Payment Identifier
67050 , p_source_106 IN NUMBER
67051 --Payment Distribution Identifier
67052 , p_source_107 IN NUMBER
67053 --Payment Supplier Identifier
67054 , p_source_113 IN NUMBER
67055 --Payment Supplier Site Identifier
67056 , p_source_114 IN NUMBER
67057 --Payment Distribution Reversed Identifier
67058 , p_source_115 IN NUMBER
67059 --Payment Maturity Date
67060 , p_source_117 IN DATE
67061 --Payment/Maturity Ledger Amount Difference
67062 , p_source_157 IN NUMBER
67063 )
67064 IS
67065
67066 l_component_type VARCHAR2(80);
67067 l_component_code VARCHAR2(30);
67068 l_component_type_code VARCHAR2(1);
67069 l_component_appl_id INTEGER;
67070 l_amb_context_code VARCHAR2(30);
67071 l_entity_code VARCHAR2(30);
67072 l_event_class_code VARCHAR2(30);
67073 l_ae_header_id NUMBER;
67074 l_event_type_code VARCHAR2(30);
67075 l_line_definition_code VARCHAR2(30);
67076 l_line_definition_owner_code VARCHAR2(1);
67077 --
67078 -- adr variables
67079 l_segment VARCHAR2(30);
67080 l_ccid NUMBER;
67081 l_adr_transaction_coa_id NUMBER;
67082 l_adr_accounting_coa_id NUMBER;
67083 l_adr_flexfield_segment_code VARCHAR2(30);
67084 l_adr_flex_value_set_id NUMBER;
67085 l_adr_value_type_code VARCHAR2(30);
67086 l_adr_value_combination_id NUMBER;
67087 l_adr_value_segment_code VARCHAR2(30);
67088
67089 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
67090 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
67091 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
67092 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
67093
67094 -- 4262811 Variables ------------------------------------------------------------------------------------------
67095 l_entered_amt_idx NUMBER;
67096 l_accted_amt_idx NUMBER;
67097 l_acc_rev_flag VARCHAR2(1);
67098 l_accrual_line_num NUMBER;
67099 l_tmp_amt NUMBER;
67100 l_acc_rev_natural_side_code VARCHAR2(1);
67101
67102 l_num_entries NUMBER;
67103 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
67104 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
67105 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
67106 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
67107 l_recog_line_1 NUMBER;
67108 l_recog_line_2 NUMBER;
67109
67110 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
67111 l_bflow_applied_to_amt NUMBER; -- 5132302
67112 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
67113
67114 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
67115
67116 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
67117 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
67118
67119 ---------------------------------------------------------------------------------------------------------------
67120
67121
67122 --
67123 -- bulk performance
67124 --
67125 l_balance_type_code VARCHAR2(1);
67126 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
67127 l_log_module VARCHAR2(240);
67128
67129 --
67130 -- Upgrade strategy
67131 --
67132 l_actual_upg_option VARCHAR2(1);
67133 l_enc_upg_option VARCHAR2(1);
67134
67135 --
67136 BEGIN
67137 --
67138 IF g_log_enabled THEN
67139 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_136';
67140 END IF;
67141 --
67142 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
67143
67144 trace
67145 (p_msg => 'BEGIN of AcctLineType_136'
67146 ,p_level => C_LEVEL_PROCEDURE
67147 ,p_module => l_log_module);
67148
67149 END IF;
67150 --
67151 l_component_type := 'AMB_JLT';
67155 l_amb_context_code := 'DEFAULT';
67152 l_component_code := 'AP_GAIN_LOSS_PMT_MAT';
67153 l_component_type_code := 'S';
67154 l_component_appl_id := 200;
67156 l_entity_code := 'AP_PAYMENTS';
67157 l_event_class_code := 'FUTURE DATED PAYMENTS';
67158 l_event_type_code := 'FUTURE DATED PAYMENTS_ALL';
67159 l_line_definition_owner_code := 'S';
67160 l_line_definition_code := 'ACCRUAL_FUTURE DATED PAYMENTS1';
67161 --
67162 l_balance_type_code := 'A';
67163 l_segment := NULL;
67164 l_ccid := NULL;
67165 l_adr_transaction_coa_id := NULL;
67166 l_adr_accounting_coa_id := NULL;
67167 l_adr_flexfield_segment_code := NULL;
67168 l_adr_flex_value_set_id := NULL;
67169 l_adr_value_type_code := NULL;
67170 l_adr_value_combination_id := NULL;
67171 l_adr_value_segment_code := NULL;
67172
67173 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
67174 l_bflow_class_code := ''; -- 4219869 Business Flow
67175 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
67176 l_budgetary_control_flag := 'N';
67177
67178 l_bflow_applied_to_amt_idx := NULL; -- 5132302
67179 l_bflow_applied_to_amt := NULL; -- 5132302
67180 l_entered_amt_idx := NULL; -- 4262811
67181 l_accted_amt_idx := NULL; -- 4262811
67182 l_acc_rev_flag := NULL; -- 4262811
67183 l_accrual_line_num := NULL; -- 4262811
67184 l_tmp_amt := NULL; -- 4262811
67185 --
67186 IF NOT ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
67187 (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
67188 return;
67189 END IF;
67190
67191 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
67192 l_balance_type_code <> 'B' THEN
67193 IF (NVL(p_source_57,'
67194 ') = 'ALWAYS_ALWAYS' OR
67195 NVL(p_source_57,'
67196 ') = 'ALWAYS_ISSUE') AND
67197 p_source_117 IS NOT NULL AND
67198 NVL(p_source_101,'
67199 ') <> 'EXCHANGE RATE VARIANCE' AND
67200 NVL(p_source_101,'
67201 ') <> 'TAX EXCHANGE RATE VARIANCE' AND
67202 NVL(p_source_101,'
67203 ') <> 'BANK CHARGE' AND
67204 NVL(p_source_101,'
67205 ') <> 'BANK ERROR'
67206 THEN
67207
67208 --
67209 XLA_AE_LINES_PKG.SetNewLine;
67210
67211 p_balance_type_code := l_balance_type_code;
67212 -- set the flag so later we will know whether the gain loss line needs to be created
67213
67214 IF(l_balance_type_code = 'A' ) THEN
67215 p_actual_flag :='G';
67216 END IF;
67217
67218 --
67219 -- bulk performance
67220 --
67221 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
67222 p_header_num => 0); -- 4262811
67223 --
67224 -- set accounting line options
67225 --
67226 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
67227 p_natural_side_code => 'G'
67228 , p_gain_or_loss_flag => 'N'
67229 , p_gl_transfer_mode_code => 'S'
67230 , p_acct_entry_type_code => 'A'
67231 , p_switch_side_flag => ''
67232 , p_merge_duplicate_code => 'A'
67233 );
67234 --
67235 l_acc_rev_natural_side_code := 'C'; -- 4262811
67236 --
67237 --
67238 -- set accounting line type info
67239 --
67240 xla_ae_lines_pkg.SetAcctLineType
67241 (p_component_type => l_component_type
67242 ,p_event_type_code => l_event_type_code
67243 ,p_line_definition_owner_code => l_line_definition_owner_code
67244 ,p_line_definition_code => l_line_definition_code
67245 ,p_accounting_line_code => l_component_code
67246 ,p_accounting_line_type_code => l_component_type_code
67247 ,p_accounting_line_appl_id => l_component_appl_id
67248 ,p_amb_context_code => l_amb_context_code
67249 ,p_entity_code => l_entity_code
67250 ,p_event_class_code => l_event_class_code);
67251 --
67252 -- set accounting class
67253 --
67254 xla_ae_lines_pkg.SetAcctClass(
67255 p_accounting_class_code => 'EXCHANGE_GAIN_LOSS'
67256 , p_ae_header_id => l_ae_header_id
67257 );
67258
67259 --
67260 -- set rounding class
67261 --
67262 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
67263 'EXCHANGE_GAIN_LOSS';
67264
67265 --
67266 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
67267 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
67268 --
67269 -- bulk performance
67270 --
67271 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
67272
67273 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
67274 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
67275
67276 -- 4955764
67280 -- 4458381 Public Sector Enh
67277 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
67278 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
67279
67281
67282 --
67283 -- set accounting attributes for the line type
67284 --
67285 l_entered_amt_idx := NULL;
67286 l_accted_amt_idx := 9;
67287 l_bflow_applied_to_amt_idx := NULL; -- 5132302
67288 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
67289 l_rec_acct_attrs.array_char_value(1) := p_source_58;
67290 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_APPLICATION_ID';
67291 l_rec_acct_attrs.array_num_value(2) := p_source_96;
67292 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_DISTRIBUTION_TYPE';
67293 l_rec_acct_attrs.array_char_value(3) := p_source_103;
67294 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_ENTITY_CODE';
67295 l_rec_acct_attrs.array_char_value(4) := p_source_104;
67296 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_FIRST_DIST_ID';
67297 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_105);
67298 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
67299 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_106);
67300 l_rec_acct_attrs.array_acct_attr_code(7) := 'DISTRIBUTION_IDENTIFIER_1';
67301 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_107);
67302 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_TYPE';
67303 l_rec_acct_attrs.array_char_value(8) := p_source_60;
67304 l_rec_acct_attrs.array_acct_attr_code(9) := 'LEDGER_AMOUNT';
67305 l_rec_acct_attrs.array_num_value(9) := p_source_157;
67306 l_rec_acct_attrs.array_acct_attr_code(10) := 'OVERRIDE_ACCTD_AMT_FLAG';
67307 l_rec_acct_attrs.array_char_value(10) := p_source_85;
67308 l_rec_acct_attrs.array_acct_attr_code(11) := 'PARTY_ID';
67309 l_rec_acct_attrs.array_num_value(11) := p_source_113;
67310 l_rec_acct_attrs.array_acct_attr_code(12) := 'PARTY_SITE_ID';
67311 l_rec_acct_attrs.array_num_value(12) := p_source_114;
67312 l_rec_acct_attrs.array_acct_attr_code(13) := 'PARTY_TYPE';
67313 l_rec_acct_attrs.array_char_value(13) := p_source_88;
67314 l_rec_acct_attrs.array_acct_attr_code(14) := 'REVERSED_DISTRIBUTION_ID1';
67315 l_rec_acct_attrs.array_num_value(14) := to_char(p_source_115);
67316 l_rec_acct_attrs.array_acct_attr_code(15) := 'REVERSED_DISTRIBUTION_TYPE';
67317 l_rec_acct_attrs.array_char_value(15) := p_source_60;
67318
67319 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
67320 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
67321
67322 ---------------------------------------------------------------------------------------------------------------
67323 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
67324 ---------------------------------------------------------------------------------------------------------------
67325 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
67326
67327 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
67328 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
67329
67330 IF xla_accounting_cache_pkg.GetValueChar
67331 (p_source_code => 'LEDGER_CATEGORY_CODE'
67332 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
67333 AND l_bflow_method_code = 'PRIOR_ENTRY'
67334 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
67335 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
67336 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
67337 )
67338 THEN
67339 xla_ae_lines_pkg.BflowUpgEntry
67340 (p_business_method_code => l_bflow_method_code
67341 ,p_business_class_code => l_bflow_class_code
67342 ,p_balance_type => l_balance_type_code);
67343 ELSE
67344 NULL;
67345 -- No business flow processing for business flow method of NONE.
67346 END IF;
67347
67348 --
67349 -- call analytical criteria
67350 --
67351
67352 --
67353 -- call description
67354 --
67355 -- No description or it is inherited.
67356 --
67357 -- call ADRs
67358 -- Bug 4922099
67359 --
67360 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
67361 (NVL(l_actual_upg_option, 'N') = 'O') OR
67362 (NVL(l_enc_upg_option, 'N') = 'O')
67363 )
67364 THEN
67365 NULL;
67366 --
67367 --
67368
67369 l_ccid := AcctDerRule_40(
67370 p_application_id => p_application_id
67371 , p_ae_header_id => l_ae_header_id
67372 , p_source_10 => p_source_10
67373 , p_source_10_meaning => p_source_10_meaning
67374 , p_source_25 => p_source_25
67375 , p_source_31 => p_source_31
67376 , p_source_32 => p_source_32
67377 , x_transaction_coa_id => l_adr_transaction_coa_id
67378 , x_accounting_coa_id => l_adr_accounting_coa_id
67379 , x_value_type_code => l_adr_value_type_code
67380 , p_side => 'CREDIT'
67381 );
67382
67383 xla_ae_lines_pkg.set_ccid(
67384 p_code_combination_id => l_ccid
67385 , p_value_type_code => l_adr_value_type_code
67389 , p_adr_type_code => 'S'
67386 , p_transaction_coa_id => l_adr_transaction_coa_id
67387 , p_accounting_coa_id => l_adr_accounting_coa_id
67388 , p_adr_code => 'AP_REAL_GAIN'
67390 , p_component_type => l_component_type
67391 , p_component_code => l_component_code
67392 , p_component_type_code => l_component_type_code
67393 , p_component_appl_id => l_component_appl_id
67394 , p_amb_context_code => l_amb_context_code
67395 , p_side => 'CREDIT'
67396 );
67397
67398
67399 l_ccid := AcctDerRule_41(
67400 p_application_id => p_application_id
67401 , p_ae_header_id => l_ae_header_id
67402 , p_source_10 => p_source_10
67403 , p_source_10_meaning => p_source_10_meaning
67404 , p_source_25 => p_source_25
67405 , p_source_33 => p_source_33
67406 , p_source_34 => p_source_34
67407 , x_transaction_coa_id => l_adr_transaction_coa_id
67408 , x_accounting_coa_id => l_adr_accounting_coa_id
67409 , x_value_type_code => l_adr_value_type_code
67410 , p_side => 'DEBIT'
67411 );
67412
67413 xla_ae_lines_pkg.set_ccid(
67414 p_code_combination_id => l_ccid
67415 , p_value_type_code => l_adr_value_type_code
67416 , p_transaction_coa_id => l_adr_transaction_coa_id
67417 , p_accounting_coa_id => l_adr_accounting_coa_id
67418 , p_adr_code => 'AP_REAL_LOSS'
67419 , p_adr_type_code => 'S'
67420 , p_component_type => l_component_type
67421 , p_component_code => l_component_code
67422 , p_component_type_code => l_component_type_code
67423 , p_component_appl_id => l_component_appl_id
67424 , p_amb_context_code => l_amb_context_code
67425 , p_side => 'DEBIT'
67426 );
67427
67428
67429 l_segment := AcctDerRule_23(
67430 p_application_id => p_application_id
67431 , p_ae_header_id => l_ae_header_id
67432 , p_source_10 => p_source_10
67433 , p_source_10_meaning => p_source_10_meaning
67434 , p_source_25 => p_source_25
67435 , x_transaction_coa_id => l_adr_transaction_coa_id
67436 , x_accounting_coa_id => l_adr_accounting_coa_id
67437 , x_flexfield_segment_code => l_adr_flexfield_segment_code
67438 , x_flex_value_set_id => l_adr_flex_value_set_id
67439 , x_value_type_code => l_adr_value_type_code
67440 , x_value_combination_id => l_adr_value_combination_id
67441 , x_value_segment_code => l_adr_value_segment_code
67442 , p_side => 'ALL'
67443 , p_override_seg_flag => 'Y'
67444 );
67445
67446 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
67447
67448 xla_ae_lines_pkg.set_segment(
67449 p_to_segment_code => 'GL_BALANCING'
67450 , p_segment_value => l_segment
67451 , p_from_segment_code => l_adr_value_segment_code
67452 , p_from_combination_id => l_adr_value_combination_id
67453 , p_value_type_code => l_adr_value_type_code
67454 , p_transaction_coa_id => l_adr_transaction_coa_id
67455 , p_accounting_coa_id => l_adr_accounting_coa_id
67456 , p_flexfield_segment_code => l_adr_flexfield_segment_code
67457 , p_flex_value_set_id => l_adr_flex_value_set_id
67458 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
67459 , p_adr_type_code => 'S'
67460 , p_component_type => l_component_type
67461 , p_component_code => l_component_code
67462 , p_component_type_code => l_component_type_code
67463 , p_component_appl_id => l_component_appl_id
67464 , p_amb_context_code => l_amb_context_code
67465 , p_entity_code => 'AP_PAYMENTS'
67466 , p_event_class_code => 'FUTURE DATED PAYMENTS'
67467 , p_side => 'ALL'
67468 );
67469
67470 END IF;
67471
67472 l_segment := AcctDerRule_17(
67473 p_application_id => p_application_id
67474 , p_ae_header_id => l_ae_header_id
67475 , p_source_10 => p_source_10
67476 , p_source_10_meaning => p_source_10_meaning
67477 , p_source_31 => p_source_31
67478 , p_source_32 => p_source_32
67479 , x_transaction_coa_id => l_adr_transaction_coa_id
67480 , x_accounting_coa_id => l_adr_accounting_coa_id
67481 , x_flexfield_segment_code => l_adr_flexfield_segment_code
67482 , x_flex_value_set_id => l_adr_flex_value_set_id
67483 , x_value_type_code => l_adr_value_type_code
67484 , x_value_combination_id => l_adr_value_combination_id
67485 , x_value_segment_code => l_adr_value_segment_code
67486 , p_side => 'CREDIT'
67487 , p_override_seg_flag => 'Y'
67488 );
67489
67490 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
67491
67492 xla_ae_lines_pkg.set_segment(
67493 p_to_segment_code => 'GL_ACCOUNT'
67494 , p_segment_value => l_segment
67495 , p_from_segment_code => l_adr_value_segment_code
67496 , p_from_combination_id => l_adr_value_combination_id
67497 , p_value_type_code => l_adr_value_type_code
67501 , p_flex_value_set_id => l_adr_flex_value_set_id
67498 , p_transaction_coa_id => l_adr_transaction_coa_id
67499 , p_accounting_coa_id => l_adr_accounting_coa_id
67500 , p_flexfield_segment_code => l_adr_flexfield_segment_code
67502 , p_adr_code => 'AP_REAL_GAIN_NAT_ACCT_SEG'
67503 , p_adr_type_code => 'S'
67504 , p_component_type => l_component_type
67505 , p_component_code => l_component_code
67506 , p_component_type_code => l_component_type_code
67507 , p_component_appl_id => l_component_appl_id
67508 , p_amb_context_code => l_amb_context_code
67509 , p_entity_code => 'AP_PAYMENTS'
67510 , p_event_class_code => 'FUTURE DATED PAYMENTS'
67511 , p_side => 'CREDIT'
67512 );
67513
67514 END IF;
67515
67516 l_segment := AcctDerRule_18(
67517 p_application_id => p_application_id
67518 , p_ae_header_id => l_ae_header_id
67519 , p_source_10 => p_source_10
67520 , p_source_10_meaning => p_source_10_meaning
67521 , p_source_33 => p_source_33
67522 , p_source_34 => p_source_34
67523 , x_transaction_coa_id => l_adr_transaction_coa_id
67524 , x_accounting_coa_id => l_adr_accounting_coa_id
67525 , x_flexfield_segment_code => l_adr_flexfield_segment_code
67526 , x_flex_value_set_id => l_adr_flex_value_set_id
67527 , x_value_type_code => l_adr_value_type_code
67528 , x_value_combination_id => l_adr_value_combination_id
67529 , x_value_segment_code => l_adr_value_segment_code
67530 , p_side => 'DEBIT'
67531 , p_override_seg_flag => 'Y'
67532 );
67533
67534 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
67535
67536 xla_ae_lines_pkg.set_segment(
67537 p_to_segment_code => 'GL_ACCOUNT'
67538 , p_segment_value => l_segment
67539 , p_from_segment_code => l_adr_value_segment_code
67540 , p_from_combination_id => l_adr_value_combination_id
67541 , p_value_type_code => l_adr_value_type_code
67542 , p_transaction_coa_id => l_adr_transaction_coa_id
67543 , p_accounting_coa_id => l_adr_accounting_coa_id
67544 , p_flexfield_segment_code => l_adr_flexfield_segment_code
67545 , p_flex_value_set_id => l_adr_flex_value_set_id
67546 , p_adr_code => 'AP_REAL_LOSS_NAT_ACCT_SEG'
67547 , p_adr_type_code => 'S'
67548 , p_component_type => l_component_type
67549 , p_component_code => l_component_code
67550 , p_component_type_code => l_component_type_code
67551 , p_component_appl_id => l_component_appl_id
67552 , p_amb_context_code => l_amb_context_code
67553 , p_entity_code => 'AP_PAYMENTS'
67554 , p_event_class_code => 'FUTURE DATED PAYMENTS'
67555 , p_side => 'DEBIT'
67556 );
67557
67558 END IF;
67559
67560 --
67561 --
67562 END IF;
67563 --
67564 -- Bug 4922099
67565 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
67566 (NVL(l_enc_upg_option, 'N') = 'O')
67567 ) AND
67568 (l_bflow_method_code = 'PRIOR_ENTRY')
67569 )
67570 THEN
67571 IF
67572 --
67573 1 = 2
67574 --
67575 THEN
67576 xla_accounting_err_pkg.build_message
67577 (p_appli_s_name => 'XLA'
67578 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
67579 ,p_token_1 => 'LINE_NUMBER'
67580 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
67581 ,p_token_2 => 'LINE_TYPE_NAME'
67582 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
67583 l_component_type
67584 ,l_component_code
67585 ,l_component_type_code
67586 ,l_component_appl_id
67587 ,l_amb_context_code
67588 ,l_entity_code
67589 ,l_event_class_code
67590 )
67591 ,p_token_3 => 'OWNER'
67592 ,p_value_3 => xla_lookups_pkg.get_meaning(
67593 p_lookup_type => 'XLA_OWNER_TYPE'
67594 ,p_lookup_code => l_component_type_code
67595 )
67596 ,p_token_4 => 'PRODUCT_NAME'
67600 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
67597 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
67598 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
67599 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
67601 ,p_ae_header_id => NULL
67602 );
67603
67604 IF (C_LEVEL_ERROR>= g_log_level) THEN
67605 trace
67606 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
67607 ,p_level => C_LEVEL_ERROR
67608 ,p_module => l_log_module);
67609 END IF;
67610 END IF;
67611 END IF;
67612 --
67613 --
67614 ------------------------------------------------------------------------------------------------
67615 -- 4219869 Business Flow
67616 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
67617 -- Prior Entry. Currently, the following code is always generated.
67618 ------------------------------------------------------------------------------------------------
67619 XLA_AE_LINES_PKG.ValidateCurrentLine;
67620
67621 ------------------------------------------------------------------------------------
67622 -- 4219869 Business Flow
67623 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
67624 ------------------------------------------------------------------------------------
67625 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
67626
67627 ----------------------------------------------------------------------------------
67628 -- 4219869 Business Flow
67629 -- Update journal entry status -- Need to generate this within IF <condition>
67630 ----------------------------------------------------------------------------------
67631 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
67632 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
67633 ,p_balance_type_code => l_balance_type_code
67634 );
67635
67636 -------------------------------------------------------------------------------------------
67637 -- 4262811 - Generate the Accrual Reversal lines
67638 -------------------------------------------------------------------------------------------
67639 BEGIN
67640 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
67641 (g_array_event(p_event_id).array_value_num('header_index'));
67642 IF l_acc_rev_flag IS NULL THEN
67643 l_acc_rev_flag := 'N';
67644 END IF;
67645 EXCEPTION
67646 WHEN OTHERS THEN
67647 l_acc_rev_flag := 'N';
67648 END;
67649 --
67650 IF (l_acc_rev_flag = 'Y') THEN
67651
67652 -- 4645092 ------------------------------------------------------------------------------
67653 -- To allow MPA report to determine if it should generate report process
67654 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
67655 ------------------------------------------------------------------------------------------
67656
67657 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
67658 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
67659 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
67660 -- call ADRs
67661 -- Bug 4922099
67662 --
67663 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
67664 (NVL(l_actual_upg_option, 'N') = 'O') OR
67665 (NVL(l_enc_upg_option, 'N') = 'O')
67666 )
67667 THEN
67668 NULL;
67669 --
67670 --
67671
67672 l_ccid := AcctDerRule_40(
67673 p_application_id => p_application_id
67674 , p_ae_header_id => l_ae_header_id
67675 , p_source_10 => p_source_10
67676 , p_source_10_meaning => p_source_10_meaning
67677 , p_source_25 => p_source_25
67678 , p_source_31 => p_source_31
67679 , p_source_32 => p_source_32
67680 , x_transaction_coa_id => l_adr_transaction_coa_id
67681 , x_accounting_coa_id => l_adr_accounting_coa_id
67682 , x_value_type_code => l_adr_value_type_code
67683 , p_side => 'CREDIT'
67684 );
67685
67686 xla_ae_lines_pkg.set_ccid(
67687 p_code_combination_id => l_ccid
67688 , p_value_type_code => l_adr_value_type_code
67689 , p_transaction_coa_id => l_adr_transaction_coa_id
67690 , p_accounting_coa_id => l_adr_accounting_coa_id
67691 , p_adr_code => 'AP_REAL_GAIN'
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_side => 'CREDIT'
67699 );
67700
67701
67702 l_ccid := AcctDerRule_41(
67703 p_application_id => p_application_id
67704 , p_ae_header_id => l_ae_header_id
67705 , p_source_10 => p_source_10
67709 , p_source_34 => p_source_34
67706 , p_source_10_meaning => p_source_10_meaning
67707 , p_source_25 => p_source_25
67708 , p_source_33 => p_source_33
67710 , x_transaction_coa_id => l_adr_transaction_coa_id
67711 , x_accounting_coa_id => l_adr_accounting_coa_id
67712 , x_value_type_code => l_adr_value_type_code
67713 , p_side => 'DEBIT'
67714 );
67715
67716 xla_ae_lines_pkg.set_ccid(
67717 p_code_combination_id => l_ccid
67718 , p_value_type_code => l_adr_value_type_code
67719 , p_transaction_coa_id => l_adr_transaction_coa_id
67720 , p_accounting_coa_id => l_adr_accounting_coa_id
67721 , p_adr_code => 'AP_REAL_LOSS'
67722 , p_adr_type_code => 'S'
67723 , p_component_type => l_component_type
67724 , p_component_code => l_component_code
67725 , p_component_type_code => l_component_type_code
67726 , p_component_appl_id => l_component_appl_id
67727 , p_amb_context_code => l_amb_context_code
67728 , p_side => 'DEBIT'
67729 );
67730
67731
67732 l_segment := AcctDerRule_23(
67733 p_application_id => p_application_id
67734 , p_ae_header_id => l_ae_header_id
67735 , p_source_10 => p_source_10
67736 , p_source_10_meaning => p_source_10_meaning
67737 , p_source_25 => p_source_25
67738 , x_transaction_coa_id => l_adr_transaction_coa_id
67739 , x_accounting_coa_id => l_adr_accounting_coa_id
67740 , x_flexfield_segment_code => l_adr_flexfield_segment_code
67741 , x_flex_value_set_id => l_adr_flex_value_set_id
67742 , x_value_type_code => l_adr_value_type_code
67743 , x_value_combination_id => l_adr_value_combination_id
67744 , x_value_segment_code => l_adr_value_segment_code
67745 , p_side => 'ALL'
67746 , p_override_seg_flag => 'Y'
67747 );
67748
67749 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
67750
67751 xla_ae_lines_pkg.set_segment(
67752 p_to_segment_code => 'GL_BALANCING'
67753 , p_segment_value => l_segment
67754 , p_from_segment_code => l_adr_value_segment_code
67755 , p_from_combination_id => l_adr_value_combination_id
67756 , p_value_type_code => l_adr_value_type_code
67757 , p_transaction_coa_id => l_adr_transaction_coa_id
67758 , p_accounting_coa_id => l_adr_accounting_coa_id
67759 , p_flexfield_segment_code => l_adr_flexfield_segment_code
67760 , p_flex_value_set_id => l_adr_flex_value_set_id
67761 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
67762 , p_adr_type_code => 'S'
67763 , p_component_type => l_component_type
67764 , p_component_code => l_component_code
67765 , p_component_type_code => l_component_type_code
67766 , p_component_appl_id => l_component_appl_id
67767 , p_amb_context_code => l_amb_context_code
67768 , p_entity_code => 'AP_PAYMENTS'
67769 , p_event_class_code => 'FUTURE DATED PAYMENTS'
67770 , p_side => 'ALL'
67771 );
67772
67773 END IF;
67774
67775 l_segment := AcctDerRule_17(
67776 p_application_id => p_application_id
67777 , p_ae_header_id => l_ae_header_id
67778 , p_source_10 => p_source_10
67779 , p_source_10_meaning => p_source_10_meaning
67780 , p_source_31 => p_source_31
67781 , p_source_32 => p_source_32
67782 , x_transaction_coa_id => l_adr_transaction_coa_id
67783 , x_accounting_coa_id => l_adr_accounting_coa_id
67784 , x_flexfield_segment_code => l_adr_flexfield_segment_code
67785 , x_flex_value_set_id => l_adr_flex_value_set_id
67786 , x_value_type_code => l_adr_value_type_code
67787 , x_value_combination_id => l_adr_value_combination_id
67788 , x_value_segment_code => l_adr_value_segment_code
67789 , p_side => 'CREDIT'
67790 , p_override_seg_flag => 'Y'
67791 );
67792
67793 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
67794
67795 xla_ae_lines_pkg.set_segment(
67796 p_to_segment_code => 'GL_ACCOUNT'
67797 , p_segment_value => l_segment
67798 , p_from_segment_code => l_adr_value_segment_code
67799 , p_from_combination_id => l_adr_value_combination_id
67800 , p_value_type_code => l_adr_value_type_code
67801 , p_transaction_coa_id => l_adr_transaction_coa_id
67802 , p_accounting_coa_id => l_adr_accounting_coa_id
67803 , p_flexfield_segment_code => l_adr_flexfield_segment_code
67804 , p_flex_value_set_id => l_adr_flex_value_set_id
67805 , p_adr_code => 'AP_REAL_GAIN_NAT_ACCT_SEG'
67806 , p_adr_type_code => 'S'
67807 , p_component_type => l_component_type
67808 , p_component_code => l_component_code
67809 , p_component_type_code => l_component_type_code
67810 , p_component_appl_id => l_component_appl_id
67811 , p_amb_context_code => l_amb_context_code
67815 );
67812 , p_entity_code => 'AP_PAYMENTS'
67813 , p_event_class_code => 'FUTURE DATED PAYMENTS'
67814 , p_side => 'CREDIT'
67816
67817 END IF;
67818
67819 l_segment := AcctDerRule_18(
67820 p_application_id => p_application_id
67821 , p_ae_header_id => l_ae_header_id
67822 , p_source_10 => p_source_10
67823 , p_source_10_meaning => p_source_10_meaning
67824 , p_source_33 => p_source_33
67825 , p_source_34 => p_source_34
67826 , x_transaction_coa_id => l_adr_transaction_coa_id
67827 , x_accounting_coa_id => l_adr_accounting_coa_id
67828 , x_flexfield_segment_code => l_adr_flexfield_segment_code
67829 , x_flex_value_set_id => l_adr_flex_value_set_id
67830 , x_value_type_code => l_adr_value_type_code
67831 , x_value_combination_id => l_adr_value_combination_id
67832 , x_value_segment_code => l_adr_value_segment_code
67833 , p_side => 'DEBIT'
67834 , p_override_seg_flag => 'Y'
67835 );
67836
67837 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
67838
67839 xla_ae_lines_pkg.set_segment(
67840 p_to_segment_code => 'GL_ACCOUNT'
67841 , p_segment_value => l_segment
67842 , p_from_segment_code => l_adr_value_segment_code
67843 , p_from_combination_id => l_adr_value_combination_id
67844 , p_value_type_code => l_adr_value_type_code
67845 , p_transaction_coa_id => l_adr_transaction_coa_id
67846 , p_accounting_coa_id => l_adr_accounting_coa_id
67847 , p_flexfield_segment_code => l_adr_flexfield_segment_code
67848 , p_flex_value_set_id => l_adr_flex_value_set_id
67849 , p_adr_code => 'AP_REAL_LOSS_NAT_ACCT_SEG'
67850 , p_adr_type_code => 'S'
67851 , p_component_type => l_component_type
67852 , p_component_code => l_component_code
67853 , p_component_type_code => l_component_type_code
67854 , p_component_appl_id => l_component_appl_id
67855 , p_amb_context_code => l_amb_context_code
67856 , p_entity_code => 'AP_PAYMENTS'
67857 , p_event_class_code => 'FUTURE DATED PAYMENTS'
67858 , p_side => 'DEBIT'
67859 );
67860
67861 END IF;
67862
67863 --
67864 --
67865 END IF;
67866
67867 --
67868 -- Update the line information that should be overwritten
67869 --
67870 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
67871 p_header_num => 1);
67872 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
67873
67874 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
67875
67876 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
67877 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
67878 END IF;
67879
67880 --
67881 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
67882 --
67883 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
67884 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
67885 ELSE
67886 ---------------------------------------------------------------------------------------------------
67887 -- 4262811a Switch Sign
67888 ---------------------------------------------------------------------------------------------------
67889 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
67890 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
67891 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
67892 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
67893 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
67894 -- 5132302
67895 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
67896 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
67897
67898 END IF;
67899
67900 -- 4955764
67901 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
67902 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
67903
67904
67905 XLA_AE_LINES_PKG.ValidateCurrentLine;
67906 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
67907
67908 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
67909 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
67910 ,p_balance_type_code => l_balance_type_code);
67911
67912 END IF;
67913
67914 -----------------------------------------------------------------------------------------
67915 -- 4262811 Multiperiod Accounting
67916 -----------------------------------------------------------------------------------------
67917 -- No MPA option is assigned.
67918
67919
67920 END IF;
67921 END IF;
67922 --
67923
67927 (p_msg => 'END of AcctLineType_136'
67924 --
67925 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
67926 trace
67928 ,p_level => C_LEVEL_PROCEDURE
67929 ,p_module => l_log_module);
67930 END IF;
67931 --
67932 EXCEPTION
67933 WHEN xla_exceptions_pkg.application_exception THEN
67934 RAISE;
67935 WHEN OTHERS THEN
67936 xla_exceptions_pkg.raise_message
67937 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_136');
67938 END AcctLineType_136;
67939 --
67940
67941 ---------------------------------------
67942 --
67943 -- PRIVATE FUNCTION
67944 -- AcctLineType_137
67945 --
67946 ---------------------------------------
67947 PROCEDURE AcctLineType_137 (
67948 p_application_id IN NUMBER
67949 ,p_event_id IN NUMBER
67950 ,p_calculate_acctd_flag IN VARCHAR2
67951 ,p_calculate_g_l_flag IN VARCHAR2
67952 ,p_actual_flag IN OUT VARCHAR2
67953 ,p_balance_type_code OUT VARCHAR2
67954 ,p_gain_or_loss_ref OUT VARCHAR2
67955
67956 --Automatic Offsets Value
67957 , p_source_10 IN VARCHAR2
67958 , p_source_10_meaning IN VARCHAR2
67959 --Invoice Distribution Account
67960 , p_source_25 IN NUMBER
67961 --Internal Realized Gain Account
67962 , p_source_31 IN NUMBER
67963 --Bank Gain Account
67964 , p_source_32 IN NUMBER
67965 --Internal Realized Loss Account
67966 , p_source_33 IN NUMBER
67967 --Bank Loss Account
67968 , p_source_34 IN NUMBER
67969 --Accounting Reversal Indicator
67970 , p_source_58 IN VARCHAR2
67971 --Distribution Link Type
67972 , p_source_60 IN VARCHAR2
67973 --Invoice Identifier
67974 , p_source_63 IN NUMBER
67975 --Payables Encumbrance Upgrade Credit Account
67976 , p_source_70 IN NUMBER
67977 --Payables Encumbrance Upgrade Credit Amount
67978 , p_source_71 IN NUMBER
67979 --Invoice Currency Code
67980 , p_source_72 IN VARCHAR2
67981 --Payables Encumbrance Upgrade Credit Base Amount
67982 , p_source_73 IN NUMBER
67983 --Payables Encumbrance Upgrade Debit Account
67984 , p_source_74 IN NUMBER
67985 --Payables Encumbrance Upgrade Debit Amount
67986 , p_source_75 IN NUMBER
67987 --Payables Encumbrance Upgrade Debit Base Amount
67988 , p_source_76 IN NUMBER
67989 --Payables Encumbrance Upgrade Option
67990 , p_source_77 IN VARCHAR2
67991 --Deferred Accounting End Date
67992 , p_source_82 IN DATE
67993 --Deferred Accounting Option
67994 , p_source_83 IN VARCHAR2
67995 --Deferred Accounting Start Date
67996 , p_source_84 IN DATE
67997 --Override Accounted Amount Indicator
67998 , p_source_85 IN VARCHAR2
67999 , p_source_85_meaning IN VARCHAR2
68000 --Invoice Supplier Identifier
68001 , p_source_86 IN NUMBER
68002 --Invoice Supplier Site Identifier
68003 , p_source_87 IN NUMBER
68004 --Third Party Type
68005 , p_source_88 IN VARCHAR2
68006 --Invoice Distribution Tax Line Identifier
68007 , p_source_91 IN NUMBER
68008 --Invoice Distribution Tax Distribution Identifier from Tax
68009 , p_source_92 IN NUMBER
68010 --Invoice Distribution Summary Tax Line Identifier
68011 , p_source_93 IN NUMBER
68012 --Payables Upgrade Credit Encumbrance Type Identifier
68013 , p_source_94 IN NUMBER
68014 --Payables Upgrade Debit Encumbrance Type Identifier
68015 , p_source_95 IN NUMBER
68016 --Business Flow Accounts Payable Application Identifier
68017 , p_source_96 IN NUMBER
68018 --Prepayment Distribution Type
68019 , p_source_128 IN VARCHAR2
68020 --Prepayment Application Distribution Identifier
68021 , p_source_130 IN NUMBER
68022 --Upgrade Encumbrance Credit Account Class
68023 , p_source_135 IN VARCHAR2
68024 --Upgrade Encumbrance Debit Account Class
68025 , p_source_136 IN VARCHAR2
68026 --Identifier of the Prepayment Application Reversed
68027 , p_source_139 IN NUMBER
68028 --Business Flow Prepayment Invoice Distribution Type
68029 , p_source_149 IN VARCHAR2
68030 --Business Flow Prepayment Invoice Entity Code
68031 , p_source_150 IN VARCHAR2
68032 --Business Flow Prepayment Invoice Distribution Identifier
68033 , p_source_151 IN NUMBER
68034 --Business Flow Prepayment Invoice Identifier
68035 , p_source_152 IN NUMBER
68036 --Prepayment/Invoice Ledger Amount Difference
68037 , p_source_158 IN NUMBER
68038 )
68039 IS
68040
68041 l_component_type VARCHAR2(80);
68042 l_component_code VARCHAR2(30);
68043 l_component_type_code VARCHAR2(1);
68044 l_component_appl_id INTEGER;
68045 l_amb_context_code VARCHAR2(30);
68046 l_entity_code VARCHAR2(30);
68047 l_event_class_code VARCHAR2(30);
68048 l_ae_header_id NUMBER;
68049 l_event_type_code VARCHAR2(30);
68050 l_line_definition_code VARCHAR2(30);
68051 l_line_definition_owner_code VARCHAR2(1);
68052 --
68053 -- adr variables
68054 l_segment VARCHAR2(30);
68055 l_ccid NUMBER;
68056 l_adr_transaction_coa_id NUMBER;
68060 l_adr_value_type_code VARCHAR2(30);
68057 l_adr_accounting_coa_id NUMBER;
68058 l_adr_flexfield_segment_code VARCHAR2(30);
68059 l_adr_flex_value_set_id NUMBER;
68061 l_adr_value_combination_id NUMBER;
68062 l_adr_value_segment_code VARCHAR2(30);
68063
68064 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
68065 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
68066 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
68067 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
68068
68069 -- 4262811 Variables ------------------------------------------------------------------------------------------
68070 l_entered_amt_idx NUMBER;
68071 l_accted_amt_idx NUMBER;
68072 l_acc_rev_flag VARCHAR2(1);
68073 l_accrual_line_num NUMBER;
68074 l_tmp_amt NUMBER;
68075 l_acc_rev_natural_side_code VARCHAR2(1);
68076
68077 l_num_entries NUMBER;
68078 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
68079 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
68080 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
68081 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
68082 l_recog_line_1 NUMBER;
68083 l_recog_line_2 NUMBER;
68084
68085 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
68086 l_bflow_applied_to_amt NUMBER; -- 5132302
68087 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
68088
68089 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
68090
68091 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
68092 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
68093
68094 ---------------------------------------------------------------------------------------------------------------
68095
68096
68097 --
68098 -- bulk performance
68099 --
68100 l_balance_type_code VARCHAR2(1);
68101 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
68102 l_log_module VARCHAR2(240);
68103
68104 --
68105 -- Upgrade strategy
68106 --
68107 l_actual_upg_option VARCHAR2(1);
68108 l_enc_upg_option VARCHAR2(1);
68109
68110 --
68111 BEGIN
68112 --
68113 IF g_log_enabled THEN
68114 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_137';
68115 END IF;
68116 --
68117 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
68118
68119 trace
68120 (p_msg => 'BEGIN of AcctLineType_137'
68121 ,p_level => C_LEVEL_PROCEDURE
68122 ,p_module => l_log_module);
68123
68124 END IF;
68125 --
68126 l_component_type := 'AMB_JLT';
68127 l_component_code := 'AP_GAIN_LOSS_PREPAY_APP';
68128 l_component_type_code := 'S';
68129 l_component_appl_id := 200;
68130 l_amb_context_code := 'DEFAULT';
68131 l_entity_code := 'AP_INVOICES';
68132 l_event_class_code := 'PREPAYMENT APPLICATIONS';
68133 l_event_type_code := 'PREPAYMENT APPLICATIONS_ALL';
68134 l_line_definition_owner_code := 'S';
68135 l_line_definition_code := 'ACCRUAL_PREPAYMENT APPLICATIO2';
68136 --
68137 l_balance_type_code := 'A';
68138 l_segment := NULL;
68139 l_ccid := NULL;
68140 l_adr_transaction_coa_id := NULL;
68141 l_adr_accounting_coa_id := NULL;
68142 l_adr_flexfield_segment_code := NULL;
68143 l_adr_flex_value_set_id := NULL;
68144 l_adr_value_type_code := NULL;
68145 l_adr_value_combination_id := NULL;
68146 l_adr_value_segment_code := NULL;
68147
68148 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
68149 l_bflow_class_code := ''; -- 4219869 Business Flow
68150 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
68151 l_budgetary_control_flag := 'N';
68152
68153 l_bflow_applied_to_amt_idx := NULL; -- 5132302
68154 l_bflow_applied_to_amt := NULL; -- 5132302
68155 l_entered_amt_idx := NULL; -- 4262811
68156 l_accted_amt_idx := NULL; -- 4262811
68157 l_acc_rev_flag := NULL; -- 4262811
68158 l_accrual_line_num := NULL; -- 4262811
68159 l_tmp_amt := NULL; -- 4262811
68160 --
68161 IF NOT ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
68162 (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
68163 return;
68164 END IF;
68165
68166 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
68167 l_balance_type_code <> 'B' THEN
68168 IF NVL(p_source_128,'
68169 ') = 'PREPAY APPL'
68170 THEN
68171
68172 --
68173 XLA_AE_LINES_PKG.SetNewLine;
68174
68175 p_balance_type_code := l_balance_type_code;
68176 -- set the flag so later we will know whether the gain loss line needs to be created
68177
68178 IF(l_balance_type_code = 'A' ) THEN
68179 p_actual_flag :='G';
68180 END IF;
68181
68182 --
68183 -- bulk performance
68184 --
68188 -- set accounting line options
68185 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
68186 p_header_num => 0); -- 4262811
68187 --
68189 --
68190 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
68191 p_natural_side_code => 'G'
68192 , p_gain_or_loss_flag => 'N'
68193 , p_gl_transfer_mode_code => 'S'
68194 , p_acct_entry_type_code => 'A'
68195 , p_switch_side_flag => ''
68196 , p_merge_duplicate_code => 'A'
68197 );
68198 --
68199 l_acc_rev_natural_side_code := 'C'; -- 4262811
68200 --
68201 --
68202 -- set accounting line type info
68203 --
68204 xla_ae_lines_pkg.SetAcctLineType
68205 (p_component_type => l_component_type
68206 ,p_event_type_code => l_event_type_code
68207 ,p_line_definition_owner_code => l_line_definition_owner_code
68208 ,p_line_definition_code => l_line_definition_code
68209 ,p_accounting_line_code => l_component_code
68210 ,p_accounting_line_type_code => l_component_type_code
68211 ,p_accounting_line_appl_id => l_component_appl_id
68212 ,p_amb_context_code => l_amb_context_code
68213 ,p_entity_code => l_entity_code
68214 ,p_event_class_code => l_event_class_code);
68215 --
68216 -- set accounting class
68217 --
68218 xla_ae_lines_pkg.SetAcctClass(
68219 p_accounting_class_code => 'EXCHANGE_GAIN_LOSS'
68220 , p_ae_header_id => l_ae_header_id
68221 );
68222
68223 --
68224 -- set rounding class
68225 --
68226 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
68227 'EXCHANGE_GAIN_LOSS';
68228
68229 --
68230 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
68231 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
68232 --
68233 -- bulk performance
68234 --
68235 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
68236
68237 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
68238 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
68239
68240 -- 4955764
68241 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
68242 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
68243
68244 -- 4458381 Public Sector Enh
68245
68246 --
68247 -- set accounting attributes for the line type
68248 --
68249 l_entered_amt_idx := NULL;
68250 l_accted_amt_idx := 25;
68251 l_bflow_applied_to_amt_idx := NULL; -- 5132302
68252 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
68253 l_rec_acct_attrs.array_char_value(1) := p_source_58;
68254 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
68255 l_rec_acct_attrs.array_num_value(2) :=
68256 xla_ae_sources_pkg.GetSystemSourceNum(
68257 p_source_code => 'XLA_EVENT_APPL_ID'
68258 , p_source_type_code => 'Y'
68259 , p_source_application_id => 602
68260 );
68261 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
68262 l_rec_acct_attrs.array_char_value(3) := p_source_60;
68263 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
68264 l_rec_acct_attrs.array_char_value(4) :=
68265 xla_ae_sources_pkg.GetSystemSourceChar(
68266 p_source_code => 'XLA_ENTITY_CODE'
68267 , p_source_type_code => 'Y'
68268 , p_source_application_id => 602
68269 );
68270 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
68271 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_130);
68272 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
68273 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_63);
68274 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
68275 l_rec_acct_attrs.array_num_value(7) := p_source_96;
68276 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
68277 l_rec_acct_attrs.array_char_value(8) := p_source_149;
68278 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
68279 l_rec_acct_attrs.array_char_value(9) := p_source_150;
68280 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
68281 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_151);
68282 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
68283 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_152);
68284 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
68285 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_130);
68286 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
68287 l_rec_acct_attrs.array_char_value(13) := p_source_60;
68288 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_ACCT_CLASS';
68289 l_rec_acct_attrs.array_char_value(14) := p_source_135;
68290 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
68291 l_rec_acct_attrs.array_num_value(15) := p_source_70;
68292 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
68296 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
68293 l_rec_acct_attrs.array_num_value(16) := p_source_71;
68294 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
68295 l_rec_acct_attrs.array_char_value(17) := p_source_72;
68297 l_rec_acct_attrs.array_num_value(18) := p_source_73;
68298 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ACCT_CLASS';
68299 l_rec_acct_attrs.array_char_value(19) := p_source_136;
68300 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_CCID';
68301 l_rec_acct_attrs.array_num_value(20) := p_source_74;
68302 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_AMT';
68303 l_rec_acct_attrs.array_num_value(21) := p_source_75;
68304 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_ENTERED_CURR';
68305 l_rec_acct_attrs.array_char_value(22) := p_source_72;
68306 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_DR_LEDGER_AMT';
68307 l_rec_acct_attrs.array_num_value(23) := p_source_76;
68308 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENC_UPG_OPTION';
68309 l_rec_acct_attrs.array_char_value(24) := p_source_77;
68310 l_rec_acct_attrs.array_acct_attr_code(25) := 'LEDGER_AMOUNT';
68311 l_rec_acct_attrs.array_num_value(25) := p_source_158;
68312 l_rec_acct_attrs.array_acct_attr_code(26) := 'MULTIPERIOD_END_DATE';
68313 l_rec_acct_attrs.array_date_value(26) := p_source_82;
68314 l_rec_acct_attrs.array_acct_attr_code(27) := 'MULTIPERIOD_OPTION';
68315 l_rec_acct_attrs.array_char_value(27) := p_source_83;
68316 l_rec_acct_attrs.array_acct_attr_code(28) := 'MULTIPERIOD_START_DATE';
68317 l_rec_acct_attrs.array_date_value(28) := p_source_84;
68318 l_rec_acct_attrs.array_acct_attr_code(29) := 'OVERRIDE_ACCTD_AMT_FLAG';
68319 l_rec_acct_attrs.array_char_value(29) := p_source_85;
68320 l_rec_acct_attrs.array_acct_attr_code(30) := 'PARTY_ID';
68321 l_rec_acct_attrs.array_num_value(30) := p_source_86;
68322 l_rec_acct_attrs.array_acct_attr_code(31) := 'PARTY_SITE_ID';
68323 l_rec_acct_attrs.array_num_value(31) := p_source_87;
68324 l_rec_acct_attrs.array_acct_attr_code(32) := 'PARTY_TYPE';
68325 l_rec_acct_attrs.array_char_value(32) := p_source_88;
68326 l_rec_acct_attrs.array_acct_attr_code(33) := 'REVERSED_DISTRIBUTION_ID1';
68327 l_rec_acct_attrs.array_num_value(33) := to_char(p_source_139);
68328 l_rec_acct_attrs.array_acct_attr_code(34) := 'REVERSED_DISTRIBUTION_TYPE';
68329 l_rec_acct_attrs.array_char_value(34) := p_source_60;
68330 l_rec_acct_attrs.array_acct_attr_code(35) := 'TAX_LINE_REF_ID';
68331 l_rec_acct_attrs.array_num_value(35) := p_source_91;
68332 l_rec_acct_attrs.array_acct_attr_code(36) := 'TAX_REC_NREC_DIST_REF_ID';
68333 l_rec_acct_attrs.array_num_value(36) := p_source_92;
68334 l_rec_acct_attrs.array_acct_attr_code(37) := 'TAX_SUMMARY_LINE_REF_ID';
68335 l_rec_acct_attrs.array_num_value(37) := p_source_93;
68336 l_rec_acct_attrs.array_acct_attr_code(38) := 'UPG_CR_ENC_TYPE_ID';
68337 l_rec_acct_attrs.array_num_value(38) := p_source_94;
68338 l_rec_acct_attrs.array_acct_attr_code(39) := 'UPG_DR_ENC_TYPE_ID';
68339 l_rec_acct_attrs.array_num_value(39) := p_source_95;
68340
68341 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
68342 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
68343
68344 ---------------------------------------------------------------------------------------------------------------
68345 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
68346 ---------------------------------------------------------------------------------------------------------------
68347 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
68348
68349 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
68350 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
68351
68352 IF xla_accounting_cache_pkg.GetValueChar
68353 (p_source_code => 'LEDGER_CATEGORY_CODE'
68354 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
68355 AND l_bflow_method_code = 'PRIOR_ENTRY'
68356 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
68357 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
68358 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
68359 )
68360 THEN
68361 xla_ae_lines_pkg.BflowUpgEntry
68362 (p_business_method_code => l_bflow_method_code
68363 ,p_business_class_code => l_bflow_class_code
68364 ,p_balance_type => l_balance_type_code);
68365 ELSE
68366 NULL;
68367 -- No business flow processing for business flow method of NONE.
68368 END IF;
68369
68370 --
68371 -- call analytical criteria
68372 --
68373
68374 --
68375 -- call description
68376 --
68377 -- No description or it is inherited.
68378 --
68379 -- call ADRs
68380 -- Bug 4922099
68381 --
68382 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
68383 (NVL(l_actual_upg_option, 'N') = 'O') OR
68384 (NVL(l_enc_upg_option, 'N') = 'O')
68385 )
68386 THEN
68387 NULL;
68388 --
68389 --
68390
68391 l_ccid := AcctDerRule_40(
68392 p_application_id => p_application_id
68396 , p_source_25 => p_source_25
68393 , p_ae_header_id => l_ae_header_id
68394 , p_source_10 => p_source_10
68395 , p_source_10_meaning => p_source_10_meaning
68397 , p_source_31 => p_source_31
68398 , p_source_32 => p_source_32
68399 , x_transaction_coa_id => l_adr_transaction_coa_id
68400 , x_accounting_coa_id => l_adr_accounting_coa_id
68401 , x_value_type_code => l_adr_value_type_code
68402 , p_side => 'CREDIT'
68403 );
68404
68405 xla_ae_lines_pkg.set_ccid(
68406 p_code_combination_id => l_ccid
68407 , p_value_type_code => l_adr_value_type_code
68408 , p_transaction_coa_id => l_adr_transaction_coa_id
68409 , p_accounting_coa_id => l_adr_accounting_coa_id
68410 , p_adr_code => 'AP_REAL_GAIN'
68411 , p_adr_type_code => 'S'
68412 , p_component_type => l_component_type
68413 , p_component_code => l_component_code
68414 , p_component_type_code => l_component_type_code
68415 , p_component_appl_id => l_component_appl_id
68416 , p_amb_context_code => l_amb_context_code
68417 , p_side => 'CREDIT'
68418 );
68419
68420
68421 l_ccid := AcctDerRule_41(
68422 p_application_id => p_application_id
68423 , p_ae_header_id => l_ae_header_id
68424 , p_source_10 => p_source_10
68425 , p_source_10_meaning => p_source_10_meaning
68426 , p_source_25 => p_source_25
68427 , p_source_33 => p_source_33
68428 , p_source_34 => p_source_34
68429 , x_transaction_coa_id => l_adr_transaction_coa_id
68430 , x_accounting_coa_id => l_adr_accounting_coa_id
68431 , x_value_type_code => l_adr_value_type_code
68432 , p_side => 'DEBIT'
68433 );
68434
68435 xla_ae_lines_pkg.set_ccid(
68436 p_code_combination_id => l_ccid
68437 , p_value_type_code => l_adr_value_type_code
68438 , p_transaction_coa_id => l_adr_transaction_coa_id
68439 , p_accounting_coa_id => l_adr_accounting_coa_id
68440 , p_adr_code => 'AP_REAL_LOSS'
68441 , p_adr_type_code => 'S'
68442 , p_component_type => l_component_type
68443 , p_component_code => l_component_code
68444 , p_component_type_code => l_component_type_code
68445 , p_component_appl_id => l_component_appl_id
68446 , p_amb_context_code => l_amb_context_code
68447 , p_side => 'DEBIT'
68448 );
68449
68450
68451 l_segment := AcctDerRule_23(
68452 p_application_id => p_application_id
68453 , p_ae_header_id => l_ae_header_id
68454 , p_source_10 => p_source_10
68455 , p_source_10_meaning => p_source_10_meaning
68456 , p_source_25 => p_source_25
68457 , x_transaction_coa_id => l_adr_transaction_coa_id
68458 , x_accounting_coa_id => l_adr_accounting_coa_id
68459 , x_flexfield_segment_code => l_adr_flexfield_segment_code
68460 , x_flex_value_set_id => l_adr_flex_value_set_id
68461 , x_value_type_code => l_adr_value_type_code
68462 , x_value_combination_id => l_adr_value_combination_id
68463 , x_value_segment_code => l_adr_value_segment_code
68464 , p_side => 'ALL'
68465 , p_override_seg_flag => 'Y'
68466 );
68467
68468 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
68469
68470 xla_ae_lines_pkg.set_segment(
68471 p_to_segment_code => 'GL_BALANCING'
68472 , p_segment_value => l_segment
68473 , p_from_segment_code => l_adr_value_segment_code
68474 , p_from_combination_id => l_adr_value_combination_id
68475 , p_value_type_code => l_adr_value_type_code
68476 , p_transaction_coa_id => l_adr_transaction_coa_id
68477 , p_accounting_coa_id => l_adr_accounting_coa_id
68478 , p_flexfield_segment_code => l_adr_flexfield_segment_code
68479 , p_flex_value_set_id => l_adr_flex_value_set_id
68480 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
68481 , p_adr_type_code => 'S'
68482 , p_component_type => l_component_type
68483 , p_component_code => l_component_code
68484 , p_component_type_code => l_component_type_code
68485 , p_component_appl_id => l_component_appl_id
68486 , p_amb_context_code => l_amb_context_code
68487 , p_entity_code => 'AP_INVOICES'
68488 , p_event_class_code => 'PREPAYMENT APPLICATIONS'
68489 , p_side => 'ALL'
68490 );
68491
68492 END IF;
68493
68494 l_segment := AcctDerRule_17(
68495 p_application_id => p_application_id
68496 , p_ae_header_id => l_ae_header_id
68497 , p_source_10 => p_source_10
68498 , p_source_10_meaning => p_source_10_meaning
68499 , p_source_31 => p_source_31
68500 , p_source_32 => p_source_32
68501 , x_transaction_coa_id => l_adr_transaction_coa_id
68502 , x_accounting_coa_id => l_adr_accounting_coa_id
68503 , x_flexfield_segment_code => l_adr_flexfield_segment_code
68507 , x_value_segment_code => l_adr_value_segment_code
68504 , x_flex_value_set_id => l_adr_flex_value_set_id
68505 , x_value_type_code => l_adr_value_type_code
68506 , x_value_combination_id => l_adr_value_combination_id
68508 , p_side => 'CREDIT'
68509 , p_override_seg_flag => 'Y'
68510 );
68511
68512 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
68513
68514 xla_ae_lines_pkg.set_segment(
68515 p_to_segment_code => 'GL_ACCOUNT'
68516 , p_segment_value => l_segment
68517 , p_from_segment_code => l_adr_value_segment_code
68518 , p_from_combination_id => l_adr_value_combination_id
68519 , p_value_type_code => l_adr_value_type_code
68520 , p_transaction_coa_id => l_adr_transaction_coa_id
68521 , p_accounting_coa_id => l_adr_accounting_coa_id
68522 , p_flexfield_segment_code => l_adr_flexfield_segment_code
68523 , p_flex_value_set_id => l_adr_flex_value_set_id
68524 , p_adr_code => 'AP_REAL_GAIN_NAT_ACCT_SEG'
68525 , p_adr_type_code => 'S'
68526 , p_component_type => l_component_type
68527 , p_component_code => l_component_code
68528 , p_component_type_code => l_component_type_code
68529 , p_component_appl_id => l_component_appl_id
68530 , p_amb_context_code => l_amb_context_code
68531 , p_entity_code => 'AP_INVOICES'
68532 , p_event_class_code => 'PREPAYMENT APPLICATIONS'
68533 , p_side => 'CREDIT'
68534 );
68535
68536 END IF;
68537
68538 l_segment := AcctDerRule_18(
68539 p_application_id => p_application_id
68540 , p_ae_header_id => l_ae_header_id
68541 , p_source_10 => p_source_10
68542 , p_source_10_meaning => p_source_10_meaning
68543 , p_source_33 => p_source_33
68544 , p_source_34 => p_source_34
68545 , x_transaction_coa_id => l_adr_transaction_coa_id
68546 , x_accounting_coa_id => l_adr_accounting_coa_id
68547 , x_flexfield_segment_code => l_adr_flexfield_segment_code
68548 , x_flex_value_set_id => l_adr_flex_value_set_id
68549 , x_value_type_code => l_adr_value_type_code
68550 , x_value_combination_id => l_adr_value_combination_id
68551 , x_value_segment_code => l_adr_value_segment_code
68552 , p_side => 'DEBIT'
68553 , p_override_seg_flag => 'Y'
68554 );
68555
68556 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
68557
68558 xla_ae_lines_pkg.set_segment(
68559 p_to_segment_code => 'GL_ACCOUNT'
68560 , p_segment_value => l_segment
68561 , p_from_segment_code => l_adr_value_segment_code
68562 , p_from_combination_id => l_adr_value_combination_id
68563 , p_value_type_code => l_adr_value_type_code
68564 , p_transaction_coa_id => l_adr_transaction_coa_id
68565 , p_accounting_coa_id => l_adr_accounting_coa_id
68566 , p_flexfield_segment_code => l_adr_flexfield_segment_code
68567 , p_flex_value_set_id => l_adr_flex_value_set_id
68568 , p_adr_code => 'AP_REAL_LOSS_NAT_ACCT_SEG'
68569 , p_adr_type_code => 'S'
68570 , p_component_type => l_component_type
68571 , p_component_code => l_component_code
68572 , p_component_type_code => l_component_type_code
68573 , p_component_appl_id => l_component_appl_id
68574 , p_amb_context_code => l_amb_context_code
68575 , p_entity_code => 'AP_INVOICES'
68576 , p_event_class_code => 'PREPAYMENT APPLICATIONS'
68577 , p_side => 'DEBIT'
68578 );
68579
68580 END IF;
68581
68582 --
68583 --
68584 END IF;
68585 --
68586 -- Bug 4922099
68587 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
68588 (NVL(l_enc_upg_option, 'N') = 'O')
68589 ) AND
68590 (l_bflow_method_code = 'PRIOR_ENTRY')
68591 )
68592 THEN
68593 IF
68594 --
68595 1 = 2
68596 --
68597 THEN
68598 xla_accounting_err_pkg.build_message
68599 (p_appli_s_name => 'XLA'
68600 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
68601 ,p_token_1 => 'LINE_NUMBER'
68602 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
68603 ,p_token_2 => 'LINE_TYPE_NAME'
68604 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
68605 l_component_type
68606 ,l_component_code
68607 ,l_component_type_code
68608 ,l_component_appl_id
68609 ,l_amb_context_code
68610 ,l_entity_code
68614 ,p_value_3 => xla_lookups_pkg.get_meaning(
68611 ,l_event_class_code
68612 )
68613 ,p_token_3 => 'OWNER'
68615 p_lookup_type => 'XLA_OWNER_TYPE'
68616 ,p_lookup_code => l_component_type_code
68617 )
68618 ,p_token_4 => 'PRODUCT_NAME'
68619 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
68620 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
68621 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
68622 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
68623 ,p_ae_header_id => NULL
68624 );
68625
68626 IF (C_LEVEL_ERROR>= g_log_level) THEN
68627 trace
68628 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
68629 ,p_level => C_LEVEL_ERROR
68630 ,p_module => l_log_module);
68631 END IF;
68632 END IF;
68633 END IF;
68634 --
68635 --
68636 ------------------------------------------------------------------------------------------------
68637 -- 4219869 Business Flow
68638 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
68639 -- Prior Entry. Currently, the following code is always generated.
68640 ------------------------------------------------------------------------------------------------
68641 XLA_AE_LINES_PKG.ValidateCurrentLine;
68642
68643 ------------------------------------------------------------------------------------
68644 -- 4219869 Business Flow
68645 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
68646 ------------------------------------------------------------------------------------
68647 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
68648
68649 ----------------------------------------------------------------------------------
68650 -- 4219869 Business Flow
68651 -- Update journal entry status -- Need to generate this within IF <condition>
68652 ----------------------------------------------------------------------------------
68653 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
68654 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
68655 ,p_balance_type_code => l_balance_type_code
68656 );
68657
68658 -------------------------------------------------------------------------------------------
68659 -- 4262811 - Generate the Accrual Reversal lines
68660 -------------------------------------------------------------------------------------------
68661 BEGIN
68662 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
68663 (g_array_event(p_event_id).array_value_num('header_index'));
68664 IF l_acc_rev_flag IS NULL THEN
68665 l_acc_rev_flag := 'N';
68666 END IF;
68667 EXCEPTION
68668 WHEN OTHERS THEN
68669 l_acc_rev_flag := 'N';
68670 END;
68671 --
68672 IF (l_acc_rev_flag = 'Y') THEN
68673
68674 -- 4645092 ------------------------------------------------------------------------------
68675 -- To allow MPA report to determine if it should generate report process
68676 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
68677 ------------------------------------------------------------------------------------------
68678
68679 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
68680 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
68681 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
68682 -- call ADRs
68683 -- Bug 4922099
68684 --
68685 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
68686 (NVL(l_actual_upg_option, 'N') = 'O') OR
68687 (NVL(l_enc_upg_option, 'N') = 'O')
68688 )
68689 THEN
68690 NULL;
68691 --
68692 --
68693
68694 l_ccid := AcctDerRule_40(
68695 p_application_id => p_application_id
68696 , p_ae_header_id => l_ae_header_id
68697 , p_source_10 => p_source_10
68698 , p_source_10_meaning => p_source_10_meaning
68699 , p_source_25 => p_source_25
68700 , p_source_31 => p_source_31
68701 , p_source_32 => p_source_32
68702 , x_transaction_coa_id => l_adr_transaction_coa_id
68703 , x_accounting_coa_id => l_adr_accounting_coa_id
68704 , x_value_type_code => l_adr_value_type_code
68705 , p_side => 'CREDIT'
68706 );
68707
68708 xla_ae_lines_pkg.set_ccid(
68709 p_code_combination_id => l_ccid
68710 , p_value_type_code => l_adr_value_type_code
68711 , p_transaction_coa_id => l_adr_transaction_coa_id
68712 , p_accounting_coa_id => l_adr_accounting_coa_id
68713 , p_adr_code => 'AP_REAL_GAIN'
68714 , p_adr_type_code => 'S'
68718 , p_component_appl_id => l_component_appl_id
68715 , p_component_type => l_component_type
68716 , p_component_code => l_component_code
68717 , p_component_type_code => l_component_type_code
68719 , p_amb_context_code => l_amb_context_code
68720 , p_side => 'CREDIT'
68721 );
68722
68723
68724 l_ccid := AcctDerRule_41(
68725 p_application_id => p_application_id
68726 , p_ae_header_id => l_ae_header_id
68727 , p_source_10 => p_source_10
68728 , p_source_10_meaning => p_source_10_meaning
68729 , p_source_25 => p_source_25
68730 , p_source_33 => p_source_33
68731 , p_source_34 => p_source_34
68732 , x_transaction_coa_id => l_adr_transaction_coa_id
68733 , x_accounting_coa_id => l_adr_accounting_coa_id
68734 , x_value_type_code => l_adr_value_type_code
68735 , p_side => 'DEBIT'
68736 );
68737
68738 xla_ae_lines_pkg.set_ccid(
68739 p_code_combination_id => l_ccid
68740 , p_value_type_code => l_adr_value_type_code
68741 , p_transaction_coa_id => l_adr_transaction_coa_id
68742 , p_accounting_coa_id => l_adr_accounting_coa_id
68743 , p_adr_code => 'AP_REAL_LOSS'
68744 , p_adr_type_code => 'S'
68745 , p_component_type => l_component_type
68746 , p_component_code => l_component_code
68747 , p_component_type_code => l_component_type_code
68748 , p_component_appl_id => l_component_appl_id
68749 , p_amb_context_code => l_amb_context_code
68750 , p_side => 'DEBIT'
68751 );
68752
68753
68754 l_segment := AcctDerRule_23(
68755 p_application_id => p_application_id
68756 , p_ae_header_id => l_ae_header_id
68757 , p_source_10 => p_source_10
68758 , p_source_10_meaning => p_source_10_meaning
68759 , p_source_25 => p_source_25
68760 , x_transaction_coa_id => l_adr_transaction_coa_id
68761 , x_accounting_coa_id => l_adr_accounting_coa_id
68762 , x_flexfield_segment_code => l_adr_flexfield_segment_code
68763 , x_flex_value_set_id => l_adr_flex_value_set_id
68764 , x_value_type_code => l_adr_value_type_code
68765 , x_value_combination_id => l_adr_value_combination_id
68766 , x_value_segment_code => l_adr_value_segment_code
68767 , p_side => 'ALL'
68768 , p_override_seg_flag => 'Y'
68769 );
68770
68771 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
68772
68773 xla_ae_lines_pkg.set_segment(
68774 p_to_segment_code => 'GL_BALANCING'
68775 , p_segment_value => l_segment
68776 , p_from_segment_code => l_adr_value_segment_code
68777 , p_from_combination_id => l_adr_value_combination_id
68778 , p_value_type_code => l_adr_value_type_code
68779 , p_transaction_coa_id => l_adr_transaction_coa_id
68780 , p_accounting_coa_id => l_adr_accounting_coa_id
68781 , p_flexfield_segment_code => l_adr_flexfield_segment_code
68782 , p_flex_value_set_id => l_adr_flex_value_set_id
68783 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
68784 , p_adr_type_code => 'S'
68785 , p_component_type => l_component_type
68786 , p_component_code => l_component_code
68787 , p_component_type_code => l_component_type_code
68788 , p_component_appl_id => l_component_appl_id
68789 , p_amb_context_code => l_amb_context_code
68790 , p_entity_code => 'AP_INVOICES'
68791 , p_event_class_code => 'PREPAYMENT APPLICATIONS'
68792 , p_side => 'ALL'
68793 );
68794
68795 END IF;
68796
68797 l_segment := AcctDerRule_17(
68798 p_application_id => p_application_id
68799 , p_ae_header_id => l_ae_header_id
68800 , p_source_10 => p_source_10
68801 , p_source_10_meaning => p_source_10_meaning
68802 , p_source_31 => p_source_31
68803 , p_source_32 => p_source_32
68804 , x_transaction_coa_id => l_adr_transaction_coa_id
68805 , x_accounting_coa_id => l_adr_accounting_coa_id
68806 , x_flexfield_segment_code => l_adr_flexfield_segment_code
68807 , x_flex_value_set_id => l_adr_flex_value_set_id
68808 , x_value_type_code => l_adr_value_type_code
68809 , x_value_combination_id => l_adr_value_combination_id
68810 , x_value_segment_code => l_adr_value_segment_code
68811 , p_side => 'CREDIT'
68812 , p_override_seg_flag => 'Y'
68813 );
68814
68815 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
68816
68817 xla_ae_lines_pkg.set_segment(
68818 p_to_segment_code => 'GL_ACCOUNT'
68819 , p_segment_value => l_segment
68820 , p_from_segment_code => l_adr_value_segment_code
68821 , p_from_combination_id => l_adr_value_combination_id
68822 , p_value_type_code => l_adr_value_type_code
68823 , p_transaction_coa_id => l_adr_transaction_coa_id
68824 , p_accounting_coa_id => l_adr_accounting_coa_id
68828 , p_adr_type_code => 'S'
68825 , p_flexfield_segment_code => l_adr_flexfield_segment_code
68826 , p_flex_value_set_id => l_adr_flex_value_set_id
68827 , p_adr_code => 'AP_REAL_GAIN_NAT_ACCT_SEG'
68829 , p_component_type => l_component_type
68830 , p_component_code => l_component_code
68831 , p_component_type_code => l_component_type_code
68832 , p_component_appl_id => l_component_appl_id
68833 , p_amb_context_code => l_amb_context_code
68834 , p_entity_code => 'AP_INVOICES'
68835 , p_event_class_code => 'PREPAYMENT APPLICATIONS'
68836 , p_side => 'CREDIT'
68837 );
68838
68839 END IF;
68840
68841 l_segment := AcctDerRule_18(
68842 p_application_id => p_application_id
68843 , p_ae_header_id => l_ae_header_id
68844 , p_source_10 => p_source_10
68845 , p_source_10_meaning => p_source_10_meaning
68846 , p_source_33 => p_source_33
68847 , p_source_34 => p_source_34
68848 , x_transaction_coa_id => l_adr_transaction_coa_id
68849 , x_accounting_coa_id => l_adr_accounting_coa_id
68850 , x_flexfield_segment_code => l_adr_flexfield_segment_code
68851 , x_flex_value_set_id => l_adr_flex_value_set_id
68852 , x_value_type_code => l_adr_value_type_code
68853 , x_value_combination_id => l_adr_value_combination_id
68854 , x_value_segment_code => l_adr_value_segment_code
68855 , p_side => 'DEBIT'
68856 , p_override_seg_flag => 'Y'
68857 );
68858
68859 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
68860
68861 xla_ae_lines_pkg.set_segment(
68862 p_to_segment_code => 'GL_ACCOUNT'
68863 , p_segment_value => l_segment
68864 , p_from_segment_code => l_adr_value_segment_code
68865 , p_from_combination_id => l_adr_value_combination_id
68866 , p_value_type_code => l_adr_value_type_code
68867 , p_transaction_coa_id => l_adr_transaction_coa_id
68868 , p_accounting_coa_id => l_adr_accounting_coa_id
68869 , p_flexfield_segment_code => l_adr_flexfield_segment_code
68870 , p_flex_value_set_id => l_adr_flex_value_set_id
68871 , p_adr_code => 'AP_REAL_LOSS_NAT_ACCT_SEG'
68872 , p_adr_type_code => 'S'
68873 , p_component_type => l_component_type
68874 , p_component_code => l_component_code
68875 , p_component_type_code => l_component_type_code
68876 , p_component_appl_id => l_component_appl_id
68877 , p_amb_context_code => l_amb_context_code
68878 , p_entity_code => 'AP_INVOICES'
68879 , p_event_class_code => 'PREPAYMENT APPLICATIONS'
68880 , p_side => 'DEBIT'
68881 );
68882
68883 END IF;
68884
68885 --
68886 --
68887 END IF;
68888
68889 --
68890 -- Update the line information that should be overwritten
68891 --
68892 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
68893 p_header_num => 1);
68894 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
68895
68896 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
68897
68898 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
68899 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
68900 END IF;
68901
68902 --
68903 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
68904 --
68905 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
68906 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
68907 ELSE
68908 ---------------------------------------------------------------------------------------------------
68909 -- 4262811a Switch Sign
68910 ---------------------------------------------------------------------------------------------------
68911 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
68912 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
68913 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
68914 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
68915 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
68916 -- 5132302
68917 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
68918 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
68919
68920 END IF;
68921
68922 -- 4955764
68923 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
68924 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
68925
68926
68927 XLA_AE_LINES_PKG.ValidateCurrentLine;
68928 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
68929
68933
68930 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
68931 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
68932 ,p_balance_type_code => l_balance_type_code);
68934 END IF;
68935
68936 -----------------------------------------------------------------------------------------
68937 -- 4262811 Multiperiod Accounting
68938 -----------------------------------------------------------------------------------------
68939 -- No MPA option is assigned.
68940
68941
68942 END IF;
68943 END IF;
68944 --
68945
68946 --
68947 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
68948 trace
68949 (p_msg => 'END of AcctLineType_137'
68950 ,p_level => C_LEVEL_PROCEDURE
68951 ,p_module => l_log_module);
68952 END IF;
68953 --
68954 EXCEPTION
68955 WHEN xla_exceptions_pkg.application_exception THEN
68956 RAISE;
68957 WHEN OTHERS THEN
68958 xla_exceptions_pkg.raise_message
68959 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_137');
68960 END AcctLineType_137;
68961 --
68962
68963 ---------------------------------------
68964 --
68965 -- PRIVATE FUNCTION
68966 -- AcctLineType_138
68967 --
68968 ---------------------------------------
68969 PROCEDURE AcctLineType_138 (
68970 p_application_id IN NUMBER
68971 ,p_event_id IN NUMBER
68972 ,p_calculate_acctd_flag IN VARCHAR2
68973 ,p_calculate_g_l_flag IN VARCHAR2
68974 ,p_actual_flag IN OUT VARCHAR2
68975 ,p_balance_type_code OUT VARCHAR2
68976 ,p_gain_or_loss_ref OUT VARCHAR2
68977
68978 --Automatic Offsets Value
68979 , p_source_10 IN VARCHAR2
68980 , p_source_10_meaning IN VARCHAR2
68981 --Invoice Distribution Account
68982 , p_source_25 IN NUMBER
68983 --Internal Realized Gain Account
68984 , p_source_31 IN NUMBER
68985 --Bank Gain Account
68986 , p_source_32 IN NUMBER
68987 --Internal Realized Loss Account
68988 , p_source_33 IN NUMBER
68989 --Bank Loss Account
68990 , p_source_34 IN NUMBER
68991 --When to Account for Payment Option
68992 , p_source_57 IN VARCHAR2
68993 --Accounting Reversal Indicator
68994 , p_source_58 IN VARCHAR2
68995 --Distribution Link Type
68996 , p_source_60 IN VARCHAR2
68997 --Override Accounted Amount Indicator
68998 , p_source_85 IN VARCHAR2
68999 , p_source_85_meaning IN VARCHAR2
69000 --Third Party Type
69001 , p_source_88 IN VARCHAR2
69002 --Invoice Distribution Tax Line Identifier
69003 , p_source_91 IN NUMBER
69004 --Invoice Distribution Tax Distribution Identifier from Tax
69005 , p_source_92 IN NUMBER
69006 --Invoice Distribution Summary Tax Line Identifier
69007 , p_source_93 IN NUMBER
69008 --Business Flow Accounts Payable Application Identifier
69009 , p_source_96 IN NUMBER
69010 --Business Flow Invoice Distribution Type
69011 , p_source_97 IN VARCHAR2
69012 --Business Flow Invoice Entity Code
69013 , p_source_98 IN VARCHAR2
69014 --Business Flow Invoice Distribution Identifier
69015 , p_source_99 IN NUMBER
69016 --Business Flow Invoice Identifier
69017 , p_source_100 IN NUMBER
69018 --Payment Distribution Type
69019 , p_source_101 IN VARCHAR2
69020 , p_source_101_meaning IN VARCHAR2
69021 --Payment Distribution Identifier
69022 , p_source_107 IN NUMBER
69023 --Payment Supplier Identifier
69024 , p_source_113 IN NUMBER
69025 --Payment Supplier Site Identifier
69026 , p_source_114 IN NUMBER
69027 --Payment Distribution Reversed Identifier
69028 , p_source_115 IN NUMBER
69029 --Payment Type
69030 , p_source_125 IN VARCHAR2
69031 , p_source_125_meaning IN VARCHAR2
69032 --Invoice/Payment Ledger Amount Difference
69033 , p_source_156 IN NUMBER
69034 )
69035 IS
69036
69037 l_component_type VARCHAR2(80);
69038 l_component_code VARCHAR2(30);
69039 l_component_type_code VARCHAR2(1);
69040 l_component_appl_id INTEGER;
69041 l_amb_context_code VARCHAR2(30);
69042 l_entity_code VARCHAR2(30);
69043 l_event_class_code VARCHAR2(30);
69044 l_ae_header_id NUMBER;
69045 l_event_type_code VARCHAR2(30);
69046 l_line_definition_code VARCHAR2(30);
69047 l_line_definition_owner_code VARCHAR2(1);
69048 --
69049 -- adr variables
69050 l_segment VARCHAR2(30);
69051 l_ccid NUMBER;
69052 l_adr_transaction_coa_id NUMBER;
69053 l_adr_accounting_coa_id NUMBER;
69054 l_adr_flexfield_segment_code VARCHAR2(30);
69055 l_adr_flex_value_set_id NUMBER;
69056 l_adr_value_type_code VARCHAR2(30);
69057 l_adr_value_combination_id NUMBER;
69058 l_adr_value_segment_code VARCHAR2(30);
69059
69060 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
69061 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
69062 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
69063 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
69064
69068 l_acc_rev_flag VARCHAR2(1);
69065 -- 4262811 Variables ------------------------------------------------------------------------------------------
69066 l_entered_amt_idx NUMBER;
69067 l_accted_amt_idx NUMBER;
69069 l_accrual_line_num NUMBER;
69070 l_tmp_amt NUMBER;
69071 l_acc_rev_natural_side_code VARCHAR2(1);
69072
69073 l_num_entries NUMBER;
69074 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
69075 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
69076 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
69077 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
69078 l_recog_line_1 NUMBER;
69079 l_recog_line_2 NUMBER;
69080
69081 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
69082 l_bflow_applied_to_amt NUMBER; -- 5132302
69083 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
69084
69085 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
69086
69087 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
69088 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
69089
69090 ---------------------------------------------------------------------------------------------------------------
69091
69092
69093 --
69094 -- bulk performance
69095 --
69096 l_balance_type_code VARCHAR2(1);
69097 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
69098 l_log_module VARCHAR2(240);
69099
69100 --
69101 -- Upgrade strategy
69102 --
69103 l_actual_upg_option VARCHAR2(1);
69104 l_enc_upg_option VARCHAR2(1);
69105
69106 --
69107 BEGIN
69108 --
69109 IF g_log_enabled THEN
69110 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_138';
69111 END IF;
69112 --
69113 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
69114
69115 trace
69116 (p_msg => 'BEGIN of AcctLineType_138'
69117 ,p_level => C_LEVEL_PROCEDURE
69118 ,p_module => l_log_module);
69119
69120 END IF;
69121 --
69122 l_component_type := 'AMB_JLT';
69123 l_component_code := 'AP_GAIN_LOSS_REF';
69124 l_component_type_code := 'S';
69125 l_component_appl_id := 200;
69126 l_amb_context_code := 'DEFAULT';
69127 l_entity_code := 'AP_PAYMENTS';
69128 l_event_class_code := 'REFUNDS';
69129 l_event_type_code := 'REFUNDS_ALL';
69130 l_line_definition_owner_code := 'S';
69131 l_line_definition_code := 'ACCRUAL_REFUNDS_ALL';
69132 --
69133 l_balance_type_code := 'A';
69134 l_segment := NULL;
69135 l_ccid := NULL;
69136 l_adr_transaction_coa_id := NULL;
69137 l_adr_accounting_coa_id := NULL;
69138 l_adr_flexfield_segment_code := NULL;
69139 l_adr_flex_value_set_id := NULL;
69140 l_adr_value_type_code := NULL;
69141 l_adr_value_combination_id := NULL;
69142 l_adr_value_segment_code := NULL;
69143
69144 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
69145 l_bflow_class_code := ''; -- 4219869 Business Flow
69146 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
69147 l_budgetary_control_flag := 'N';
69148
69149 l_bflow_applied_to_amt_idx := NULL; -- 5132302
69150 l_bflow_applied_to_amt := NULL; -- 5132302
69151 l_entered_amt_idx := NULL; -- 4262811
69152 l_accted_amt_idx := NULL; -- 4262811
69153 l_acc_rev_flag := NULL; -- 4262811
69154 l_accrual_line_num := NULL; -- 4262811
69155 l_tmp_amt := NULL; -- 4262811
69156 --
69157 IF NOT ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
69158 (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
69159 return;
69160 END IF;
69161
69162 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
69163 l_balance_type_code <> 'B' THEN
69164 IF (NVL(p_source_57,'
69165 ') <> 'CLEAR_CLEAR' AND
69166 NVL(p_source_57,'
69167 ') <> 'ALWAYS_CLEAR') AND
69168 NVL(p_source_125,'
69169 ') = 'R' AND
69170 NVL(p_source_101,'
69171 ') <> 'EXCHANGE RATE VARIANCE' AND
69172 NVL(p_source_101,'
69173 ') <> 'TAX EXCHANGE RATE VARIANCE' AND
69174 NVL(p_source_101,'
69175 ') <> 'BANK CHARGE' AND
69176 NVL(p_source_101,'
69177 ') <> 'BANK ERROR'
69178 THEN
69179
69180 --
69181 XLA_AE_LINES_PKG.SetNewLine;
69182
69183 p_balance_type_code := l_balance_type_code;
69184 -- set the flag so later we will know whether the gain loss line needs to be created
69185
69186 IF(l_balance_type_code = 'A' ) THEN
69187 p_actual_flag :='G';
69188 END IF;
69189
69190 --
69191 -- bulk performance
69192 --
69193 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
69194 p_header_num => 0); -- 4262811
69195 --
69199 p_natural_side_code => 'G'
69196 -- set accounting line options
69197 --
69198 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
69200 , p_gain_or_loss_flag => 'N'
69201 , p_gl_transfer_mode_code => 'S'
69202 , p_acct_entry_type_code => 'A'
69203 , p_switch_side_flag => ''
69204 , p_merge_duplicate_code => 'A'
69205 );
69206 --
69207 l_acc_rev_natural_side_code := 'C'; -- 4262811
69208 --
69209 --
69210 -- set accounting line type info
69211 --
69212 xla_ae_lines_pkg.SetAcctLineType
69213 (p_component_type => l_component_type
69214 ,p_event_type_code => l_event_type_code
69215 ,p_line_definition_owner_code => l_line_definition_owner_code
69216 ,p_line_definition_code => l_line_definition_code
69217 ,p_accounting_line_code => l_component_code
69218 ,p_accounting_line_type_code => l_component_type_code
69219 ,p_accounting_line_appl_id => l_component_appl_id
69220 ,p_amb_context_code => l_amb_context_code
69221 ,p_entity_code => l_entity_code
69222 ,p_event_class_code => l_event_class_code);
69223 --
69224 -- set accounting class
69225 --
69226 xla_ae_lines_pkg.SetAcctClass(
69227 p_accounting_class_code => 'EXCHANGE_GAIN_LOSS'
69228 , p_ae_header_id => l_ae_header_id
69229 );
69230
69231 --
69232 -- set rounding class
69233 --
69234 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
69235 'EXCHANGE_GAIN_LOSS';
69236
69237 --
69238 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
69239 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
69240 --
69241 -- bulk performance
69242 --
69243 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
69244
69245 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
69246 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
69247
69248 -- 4955764
69249 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
69250 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
69251
69252 -- 4458381 Public Sector Enh
69253
69254 --
69255 -- set accounting attributes for the line type
69256 --
69257 l_entered_amt_idx := NULL;
69258 l_accted_amt_idx := 9;
69259 l_bflow_applied_to_amt_idx := NULL; -- 5132302
69260 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
69261 l_rec_acct_attrs.array_char_value(1) := p_source_58;
69262 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_APPLICATION_ID';
69263 l_rec_acct_attrs.array_num_value(2) := p_source_96;
69264 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_DISTRIBUTION_TYPE';
69265 l_rec_acct_attrs.array_char_value(3) := p_source_97;
69266 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_ENTITY_CODE';
69267 l_rec_acct_attrs.array_char_value(4) := p_source_98;
69268 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_FIRST_DIST_ID';
69269 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_99);
69270 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
69271 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_100);
69272 l_rec_acct_attrs.array_acct_attr_code(7) := 'DISTRIBUTION_IDENTIFIER_1';
69273 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_107);
69274 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_TYPE';
69275 l_rec_acct_attrs.array_char_value(8) := p_source_60;
69276 l_rec_acct_attrs.array_acct_attr_code(9) := 'LEDGER_AMOUNT';
69277 l_rec_acct_attrs.array_num_value(9) := p_source_156;
69278 l_rec_acct_attrs.array_acct_attr_code(10) := 'OVERRIDE_ACCTD_AMT_FLAG';
69279 l_rec_acct_attrs.array_char_value(10) := p_source_85;
69280 l_rec_acct_attrs.array_acct_attr_code(11) := 'PARTY_ID';
69281 l_rec_acct_attrs.array_num_value(11) := p_source_113;
69282 l_rec_acct_attrs.array_acct_attr_code(12) := 'PARTY_SITE_ID';
69283 l_rec_acct_attrs.array_num_value(12) := p_source_114;
69284 l_rec_acct_attrs.array_acct_attr_code(13) := 'PARTY_TYPE';
69285 l_rec_acct_attrs.array_char_value(13) := p_source_88;
69286 l_rec_acct_attrs.array_acct_attr_code(14) := 'REVERSED_DISTRIBUTION_ID1';
69287 l_rec_acct_attrs.array_num_value(14) := to_char(p_source_115);
69288 l_rec_acct_attrs.array_acct_attr_code(15) := 'REVERSED_DISTRIBUTION_TYPE';
69289 l_rec_acct_attrs.array_char_value(15) := p_source_60;
69290 l_rec_acct_attrs.array_acct_attr_code(16) := 'TAX_LINE_REF_ID';
69291 l_rec_acct_attrs.array_num_value(16) := p_source_91;
69292 l_rec_acct_attrs.array_acct_attr_code(17) := 'TAX_REC_NREC_DIST_REF_ID';
69293 l_rec_acct_attrs.array_num_value(17) := p_source_92;
69294 l_rec_acct_attrs.array_acct_attr_code(18) := 'TAX_SUMMARY_LINE_REF_ID';
69295 l_rec_acct_attrs.array_num_value(18) := p_source_93;
69296
69297 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
69298 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
69299
69300 ---------------------------------------------------------------------------------------------------------------
69304
69301 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
69302 ---------------------------------------------------------------------------------------------------------------
69303 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
69305 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
69306 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
69307
69308 IF xla_accounting_cache_pkg.GetValueChar
69309 (p_source_code => 'LEDGER_CATEGORY_CODE'
69310 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
69311 AND l_bflow_method_code = 'PRIOR_ENTRY'
69312 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
69313 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
69314 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
69315 )
69316 THEN
69317 xla_ae_lines_pkg.BflowUpgEntry
69318 (p_business_method_code => l_bflow_method_code
69319 ,p_business_class_code => l_bflow_class_code
69320 ,p_balance_type => l_balance_type_code);
69321 ELSE
69322 NULL;
69323 -- No business flow processing for business flow method of NONE.
69324 END IF;
69325
69326 --
69327 -- call analytical criteria
69328 --
69329
69330 --
69331 -- call description
69332 --
69333 -- No description or it is inherited.
69334 --
69335 -- call ADRs
69336 -- Bug 4922099
69337 --
69338 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
69339 (NVL(l_actual_upg_option, 'N') = 'O') OR
69340 (NVL(l_enc_upg_option, 'N') = 'O')
69341 )
69342 THEN
69343 NULL;
69344 --
69345 --
69346
69347 l_ccid := AcctDerRule_40(
69348 p_application_id => p_application_id
69349 , p_ae_header_id => l_ae_header_id
69350 , p_source_10 => p_source_10
69351 , p_source_10_meaning => p_source_10_meaning
69352 , p_source_25 => p_source_25
69353 , p_source_31 => p_source_31
69354 , p_source_32 => p_source_32
69355 , x_transaction_coa_id => l_adr_transaction_coa_id
69356 , x_accounting_coa_id => l_adr_accounting_coa_id
69357 , x_value_type_code => l_adr_value_type_code
69358 , p_side => 'CREDIT'
69359 );
69360
69361 xla_ae_lines_pkg.set_ccid(
69362 p_code_combination_id => l_ccid
69363 , p_value_type_code => l_adr_value_type_code
69364 , p_transaction_coa_id => l_adr_transaction_coa_id
69365 , p_accounting_coa_id => l_adr_accounting_coa_id
69366 , p_adr_code => 'AP_REAL_GAIN'
69367 , p_adr_type_code => 'S'
69368 , p_component_type => l_component_type
69369 , p_component_code => l_component_code
69370 , p_component_type_code => l_component_type_code
69371 , p_component_appl_id => l_component_appl_id
69372 , p_amb_context_code => l_amb_context_code
69373 , p_side => 'CREDIT'
69374 );
69375
69376
69377 l_ccid := AcctDerRule_41(
69378 p_application_id => p_application_id
69379 , p_ae_header_id => l_ae_header_id
69380 , p_source_10 => p_source_10
69381 , p_source_10_meaning => p_source_10_meaning
69382 , p_source_25 => p_source_25
69383 , p_source_33 => p_source_33
69384 , p_source_34 => p_source_34
69385 , x_transaction_coa_id => l_adr_transaction_coa_id
69386 , x_accounting_coa_id => l_adr_accounting_coa_id
69387 , x_value_type_code => l_adr_value_type_code
69388 , p_side => 'DEBIT'
69389 );
69390
69391 xla_ae_lines_pkg.set_ccid(
69392 p_code_combination_id => l_ccid
69393 , p_value_type_code => l_adr_value_type_code
69394 , p_transaction_coa_id => l_adr_transaction_coa_id
69395 , p_accounting_coa_id => l_adr_accounting_coa_id
69396 , p_adr_code => 'AP_REAL_LOSS'
69397 , p_adr_type_code => 'S'
69398 , p_component_type => l_component_type
69399 , p_component_code => l_component_code
69400 , p_component_type_code => l_component_type_code
69401 , p_component_appl_id => l_component_appl_id
69402 , p_amb_context_code => l_amb_context_code
69403 , p_side => 'DEBIT'
69404 );
69405
69406
69407 l_segment := AcctDerRule_23(
69408 p_application_id => p_application_id
69409 , p_ae_header_id => l_ae_header_id
69410 , p_source_10 => p_source_10
69411 , p_source_10_meaning => p_source_10_meaning
69412 , p_source_25 => p_source_25
69413 , x_transaction_coa_id => l_adr_transaction_coa_id
69414 , x_accounting_coa_id => l_adr_accounting_coa_id
69415 , x_flexfield_segment_code => l_adr_flexfield_segment_code
69416 , x_flex_value_set_id => l_adr_flex_value_set_id
69417 , x_value_type_code => l_adr_value_type_code
69418 , x_value_combination_id => l_adr_value_combination_id
69419 , x_value_segment_code => l_adr_value_segment_code
69420 , p_side => 'ALL'
69424 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
69421 , p_override_seg_flag => 'Y'
69422 );
69423
69425
69426 xla_ae_lines_pkg.set_segment(
69427 p_to_segment_code => 'GL_BALANCING'
69428 , p_segment_value => l_segment
69429 , p_from_segment_code => l_adr_value_segment_code
69430 , p_from_combination_id => l_adr_value_combination_id
69431 , p_value_type_code => l_adr_value_type_code
69432 , p_transaction_coa_id => l_adr_transaction_coa_id
69433 , p_accounting_coa_id => l_adr_accounting_coa_id
69434 , p_flexfield_segment_code => l_adr_flexfield_segment_code
69435 , p_flex_value_set_id => l_adr_flex_value_set_id
69436 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
69437 , p_adr_type_code => 'S'
69438 , p_component_type => l_component_type
69439 , p_component_code => l_component_code
69440 , p_component_type_code => l_component_type_code
69441 , p_component_appl_id => l_component_appl_id
69442 , p_amb_context_code => l_amb_context_code
69443 , p_entity_code => 'AP_PAYMENTS'
69444 , p_event_class_code => 'REFUNDS'
69445 , p_side => 'ALL'
69446 );
69447
69448 END IF;
69449
69450 l_segment := AcctDerRule_17(
69451 p_application_id => p_application_id
69452 , p_ae_header_id => l_ae_header_id
69453 , p_source_10 => p_source_10
69454 , p_source_10_meaning => p_source_10_meaning
69455 , p_source_31 => p_source_31
69456 , p_source_32 => p_source_32
69457 , x_transaction_coa_id => l_adr_transaction_coa_id
69458 , x_accounting_coa_id => l_adr_accounting_coa_id
69459 , x_flexfield_segment_code => l_adr_flexfield_segment_code
69460 , x_flex_value_set_id => l_adr_flex_value_set_id
69461 , x_value_type_code => l_adr_value_type_code
69462 , x_value_combination_id => l_adr_value_combination_id
69463 , x_value_segment_code => l_adr_value_segment_code
69464 , p_side => 'CREDIT'
69465 , p_override_seg_flag => 'Y'
69466 );
69467
69468 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
69469
69470 xla_ae_lines_pkg.set_segment(
69471 p_to_segment_code => 'GL_ACCOUNT'
69472 , p_segment_value => l_segment
69473 , p_from_segment_code => l_adr_value_segment_code
69474 , p_from_combination_id => l_adr_value_combination_id
69475 , p_value_type_code => l_adr_value_type_code
69476 , p_transaction_coa_id => l_adr_transaction_coa_id
69477 , p_accounting_coa_id => l_adr_accounting_coa_id
69478 , p_flexfield_segment_code => l_adr_flexfield_segment_code
69479 , p_flex_value_set_id => l_adr_flex_value_set_id
69480 , p_adr_code => 'AP_REAL_GAIN_NAT_ACCT_SEG'
69481 , p_adr_type_code => 'S'
69482 , p_component_type => l_component_type
69483 , p_component_code => l_component_code
69484 , p_component_type_code => l_component_type_code
69485 , p_component_appl_id => l_component_appl_id
69486 , p_amb_context_code => l_amb_context_code
69487 , p_entity_code => 'AP_PAYMENTS'
69488 , p_event_class_code => 'REFUNDS'
69489 , p_side => 'CREDIT'
69490 );
69491
69492 END IF;
69493
69494 l_segment := AcctDerRule_18(
69495 p_application_id => p_application_id
69496 , p_ae_header_id => l_ae_header_id
69497 , p_source_10 => p_source_10
69498 , p_source_10_meaning => p_source_10_meaning
69499 , p_source_33 => p_source_33
69500 , p_source_34 => p_source_34
69501 , x_transaction_coa_id => l_adr_transaction_coa_id
69502 , x_accounting_coa_id => l_adr_accounting_coa_id
69503 , x_flexfield_segment_code => l_adr_flexfield_segment_code
69504 , x_flex_value_set_id => l_adr_flex_value_set_id
69505 , x_value_type_code => l_adr_value_type_code
69506 , x_value_combination_id => l_adr_value_combination_id
69507 , x_value_segment_code => l_adr_value_segment_code
69508 , p_side => 'DEBIT'
69509 , p_override_seg_flag => 'Y'
69510 );
69511
69512 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
69513
69514 xla_ae_lines_pkg.set_segment(
69515 p_to_segment_code => 'GL_ACCOUNT'
69516 , p_segment_value => l_segment
69517 , p_from_segment_code => l_adr_value_segment_code
69518 , p_from_combination_id => l_adr_value_combination_id
69519 , p_value_type_code => l_adr_value_type_code
69520 , p_transaction_coa_id => l_adr_transaction_coa_id
69521 , p_accounting_coa_id => l_adr_accounting_coa_id
69522 , p_flexfield_segment_code => l_adr_flexfield_segment_code
69523 , p_flex_value_set_id => l_adr_flex_value_set_id
69524 , p_adr_code => 'AP_REAL_LOSS_NAT_ACCT_SEG'
69525 , p_adr_type_code => 'S'
69526 , p_component_type => l_component_type
69527 , p_component_code => l_component_code
69531 , p_entity_code => 'AP_PAYMENTS'
69528 , p_component_type_code => l_component_type_code
69529 , p_component_appl_id => l_component_appl_id
69530 , p_amb_context_code => l_amb_context_code
69532 , p_event_class_code => 'REFUNDS'
69533 , p_side => 'DEBIT'
69534 );
69535
69536 END IF;
69537
69538 --
69539 --
69540 END IF;
69541 --
69542 -- Bug 4922099
69543 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
69544 (NVL(l_enc_upg_option, 'N') = 'O')
69545 ) AND
69546 (l_bflow_method_code = 'PRIOR_ENTRY')
69547 )
69548 THEN
69549 IF
69550 --
69551 1 = 2
69552 --
69553 THEN
69554 xla_accounting_err_pkg.build_message
69555 (p_appli_s_name => 'XLA'
69556 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
69557 ,p_token_1 => 'LINE_NUMBER'
69558 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
69559 ,p_token_2 => 'LINE_TYPE_NAME'
69560 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
69561 l_component_type
69562 ,l_component_code
69563 ,l_component_type_code
69564 ,l_component_appl_id
69565 ,l_amb_context_code
69566 ,l_entity_code
69567 ,l_event_class_code
69568 )
69569 ,p_token_3 => 'OWNER'
69570 ,p_value_3 => xla_lookups_pkg.get_meaning(
69571 p_lookup_type => 'XLA_OWNER_TYPE'
69572 ,p_lookup_code => l_component_type_code
69573 )
69574 ,p_token_4 => 'PRODUCT_NAME'
69575 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
69576 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
69577 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
69578 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
69579 ,p_ae_header_id => NULL
69580 );
69581
69582 IF (C_LEVEL_ERROR>= g_log_level) THEN
69583 trace
69584 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
69585 ,p_level => C_LEVEL_ERROR
69586 ,p_module => l_log_module);
69587 END IF;
69588 END IF;
69589 END IF;
69590 --
69591 --
69592 ------------------------------------------------------------------------------------------------
69593 -- 4219869 Business Flow
69594 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
69595 -- Prior Entry. Currently, the following code is always generated.
69596 ------------------------------------------------------------------------------------------------
69597 XLA_AE_LINES_PKG.ValidateCurrentLine;
69598
69599 ------------------------------------------------------------------------------------
69600 -- 4219869 Business Flow
69601 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
69602 ------------------------------------------------------------------------------------
69603 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
69604
69605 ----------------------------------------------------------------------------------
69606 -- 4219869 Business Flow
69607 -- Update journal entry status -- Need to generate this within IF <condition>
69608 ----------------------------------------------------------------------------------
69609 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
69610 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
69611 ,p_balance_type_code => l_balance_type_code
69612 );
69613
69614 -------------------------------------------------------------------------------------------
69615 -- 4262811 - Generate the Accrual Reversal lines
69616 -------------------------------------------------------------------------------------------
69617 BEGIN
69618 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
69619 (g_array_event(p_event_id).array_value_num('header_index'));
69620 IF l_acc_rev_flag IS NULL THEN
69621 l_acc_rev_flag := 'N';
69622 END IF;
69623 EXCEPTION
69624 WHEN OTHERS THEN
69625 l_acc_rev_flag := 'N';
69629
69626 END;
69627 --
69628 IF (l_acc_rev_flag = 'Y') THEN
69630 -- 4645092 ------------------------------------------------------------------------------
69631 -- To allow MPA report to determine if it should generate report process
69632 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
69633 ------------------------------------------------------------------------------------------
69634
69635 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
69636 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
69637 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
69638 -- call ADRs
69639 -- Bug 4922099
69640 --
69641 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
69642 (NVL(l_actual_upg_option, 'N') = 'O') OR
69643 (NVL(l_enc_upg_option, 'N') = 'O')
69644 )
69645 THEN
69646 NULL;
69647 --
69648 --
69649
69650 l_ccid := AcctDerRule_40(
69651 p_application_id => p_application_id
69652 , p_ae_header_id => l_ae_header_id
69653 , p_source_10 => p_source_10
69654 , p_source_10_meaning => p_source_10_meaning
69655 , p_source_25 => p_source_25
69656 , p_source_31 => p_source_31
69657 , p_source_32 => p_source_32
69658 , x_transaction_coa_id => l_adr_transaction_coa_id
69659 , x_accounting_coa_id => l_adr_accounting_coa_id
69660 , x_value_type_code => l_adr_value_type_code
69661 , p_side => 'CREDIT'
69662 );
69663
69664 xla_ae_lines_pkg.set_ccid(
69665 p_code_combination_id => l_ccid
69666 , p_value_type_code => l_adr_value_type_code
69667 , p_transaction_coa_id => l_adr_transaction_coa_id
69668 , p_accounting_coa_id => l_adr_accounting_coa_id
69669 , p_adr_code => 'AP_REAL_GAIN'
69670 , p_adr_type_code => 'S'
69671 , p_component_type => l_component_type
69672 , p_component_code => l_component_code
69673 , p_component_type_code => l_component_type_code
69674 , p_component_appl_id => l_component_appl_id
69675 , p_amb_context_code => l_amb_context_code
69676 , p_side => 'CREDIT'
69677 );
69678
69679
69680 l_ccid := AcctDerRule_41(
69681 p_application_id => p_application_id
69682 , p_ae_header_id => l_ae_header_id
69683 , p_source_10 => p_source_10
69684 , p_source_10_meaning => p_source_10_meaning
69685 , p_source_25 => p_source_25
69686 , p_source_33 => p_source_33
69687 , p_source_34 => p_source_34
69688 , x_transaction_coa_id => l_adr_transaction_coa_id
69689 , x_accounting_coa_id => l_adr_accounting_coa_id
69690 , x_value_type_code => l_adr_value_type_code
69691 , p_side => 'DEBIT'
69692 );
69693
69694 xla_ae_lines_pkg.set_ccid(
69695 p_code_combination_id => l_ccid
69696 , p_value_type_code => l_adr_value_type_code
69697 , p_transaction_coa_id => l_adr_transaction_coa_id
69698 , p_accounting_coa_id => l_adr_accounting_coa_id
69699 , p_adr_code => 'AP_REAL_LOSS'
69700 , p_adr_type_code => 'S'
69701 , p_component_type => l_component_type
69702 , p_component_code => l_component_code
69703 , p_component_type_code => l_component_type_code
69704 , p_component_appl_id => l_component_appl_id
69705 , p_amb_context_code => l_amb_context_code
69706 , p_side => 'DEBIT'
69707 );
69708
69709
69710 l_segment := AcctDerRule_23(
69711 p_application_id => p_application_id
69712 , p_ae_header_id => l_ae_header_id
69713 , p_source_10 => p_source_10
69714 , p_source_10_meaning => p_source_10_meaning
69715 , p_source_25 => p_source_25
69716 , x_transaction_coa_id => l_adr_transaction_coa_id
69717 , x_accounting_coa_id => l_adr_accounting_coa_id
69718 , x_flexfield_segment_code => l_adr_flexfield_segment_code
69719 , x_flex_value_set_id => l_adr_flex_value_set_id
69720 , x_value_type_code => l_adr_value_type_code
69721 , x_value_combination_id => l_adr_value_combination_id
69722 , x_value_segment_code => l_adr_value_segment_code
69723 , p_side => 'ALL'
69724 , p_override_seg_flag => 'Y'
69725 );
69726
69727 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
69728
69729 xla_ae_lines_pkg.set_segment(
69730 p_to_segment_code => 'GL_BALANCING'
69731 , p_segment_value => l_segment
69732 , p_from_segment_code => l_adr_value_segment_code
69733 , p_from_combination_id => l_adr_value_combination_id
69734 , p_value_type_code => l_adr_value_type_code
69735 , p_transaction_coa_id => l_adr_transaction_coa_id
69736 , p_accounting_coa_id => l_adr_accounting_coa_id
69737 , p_flexfield_segment_code => l_adr_flexfield_segment_code
69738 , p_flex_value_set_id => l_adr_flex_value_set_id
69739 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
69740 , p_adr_type_code => 'S'
69744 , p_component_appl_id => l_component_appl_id
69741 , p_component_type => l_component_type
69742 , p_component_code => l_component_code
69743 , p_component_type_code => l_component_type_code
69745 , p_amb_context_code => l_amb_context_code
69746 , p_entity_code => 'AP_PAYMENTS'
69747 , p_event_class_code => 'REFUNDS'
69748 , p_side => 'ALL'
69749 );
69750
69751 END IF;
69752
69753 l_segment := AcctDerRule_17(
69754 p_application_id => p_application_id
69755 , p_ae_header_id => l_ae_header_id
69756 , p_source_10 => p_source_10
69757 , p_source_10_meaning => p_source_10_meaning
69758 , p_source_31 => p_source_31
69759 , p_source_32 => p_source_32
69760 , x_transaction_coa_id => l_adr_transaction_coa_id
69761 , x_accounting_coa_id => l_adr_accounting_coa_id
69762 , x_flexfield_segment_code => l_adr_flexfield_segment_code
69763 , x_flex_value_set_id => l_adr_flex_value_set_id
69764 , x_value_type_code => l_adr_value_type_code
69765 , x_value_combination_id => l_adr_value_combination_id
69766 , x_value_segment_code => l_adr_value_segment_code
69767 , p_side => 'CREDIT'
69768 , p_override_seg_flag => 'Y'
69769 );
69770
69771 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
69772
69773 xla_ae_lines_pkg.set_segment(
69774 p_to_segment_code => 'GL_ACCOUNT'
69775 , p_segment_value => l_segment
69776 , p_from_segment_code => l_adr_value_segment_code
69777 , p_from_combination_id => l_adr_value_combination_id
69778 , p_value_type_code => l_adr_value_type_code
69779 , p_transaction_coa_id => l_adr_transaction_coa_id
69780 , p_accounting_coa_id => l_adr_accounting_coa_id
69781 , p_flexfield_segment_code => l_adr_flexfield_segment_code
69782 , p_flex_value_set_id => l_adr_flex_value_set_id
69783 , p_adr_code => 'AP_REAL_GAIN_NAT_ACCT_SEG'
69784 , p_adr_type_code => 'S'
69785 , p_component_type => l_component_type
69786 , p_component_code => l_component_code
69787 , p_component_type_code => l_component_type_code
69788 , p_component_appl_id => l_component_appl_id
69789 , p_amb_context_code => l_amb_context_code
69790 , p_entity_code => 'AP_PAYMENTS'
69791 , p_event_class_code => 'REFUNDS'
69792 , p_side => 'CREDIT'
69793 );
69794
69795 END IF;
69796
69797 l_segment := AcctDerRule_18(
69798 p_application_id => p_application_id
69799 , p_ae_header_id => l_ae_header_id
69800 , p_source_10 => p_source_10
69801 , p_source_10_meaning => p_source_10_meaning
69802 , p_source_33 => p_source_33
69803 , p_source_34 => p_source_34
69804 , x_transaction_coa_id => l_adr_transaction_coa_id
69805 , x_accounting_coa_id => l_adr_accounting_coa_id
69806 , x_flexfield_segment_code => l_adr_flexfield_segment_code
69807 , x_flex_value_set_id => l_adr_flex_value_set_id
69808 , x_value_type_code => l_adr_value_type_code
69809 , x_value_combination_id => l_adr_value_combination_id
69810 , x_value_segment_code => l_adr_value_segment_code
69811 , p_side => 'DEBIT'
69812 , p_override_seg_flag => 'Y'
69813 );
69814
69815 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
69816
69817 xla_ae_lines_pkg.set_segment(
69818 p_to_segment_code => 'GL_ACCOUNT'
69819 , p_segment_value => l_segment
69820 , p_from_segment_code => l_adr_value_segment_code
69821 , p_from_combination_id => l_adr_value_combination_id
69822 , p_value_type_code => l_adr_value_type_code
69823 , p_transaction_coa_id => l_adr_transaction_coa_id
69824 , p_accounting_coa_id => l_adr_accounting_coa_id
69825 , p_flexfield_segment_code => l_adr_flexfield_segment_code
69826 , p_flex_value_set_id => l_adr_flex_value_set_id
69827 , p_adr_code => 'AP_REAL_LOSS_NAT_ACCT_SEG'
69828 , p_adr_type_code => 'S'
69829 , p_component_type => l_component_type
69830 , p_component_code => l_component_code
69831 , p_component_type_code => l_component_type_code
69832 , p_component_appl_id => l_component_appl_id
69833 , p_amb_context_code => l_amb_context_code
69834 , p_entity_code => 'AP_PAYMENTS'
69835 , p_event_class_code => 'REFUNDS'
69836 , p_side => 'DEBIT'
69837 );
69838
69839 END IF;
69840
69841 --
69842 --
69843 END IF;
69844
69845 --
69846 -- Update the line information that should be overwritten
69847 --
69848 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
69849 p_header_num => 1);
69850 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
69851
69855 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
69852 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
69853
69854 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
69856 END IF;
69857
69858 --
69859 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
69860 --
69861 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
69862 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
69863 ELSE
69864 ---------------------------------------------------------------------------------------------------
69865 -- 4262811a Switch Sign
69866 ---------------------------------------------------------------------------------------------------
69867 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
69868 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
69869 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
69870 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
69871 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
69872 -- 5132302
69873 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
69874 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
69875
69876 END IF;
69877
69878 -- 4955764
69879 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
69880 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
69881
69882
69883 XLA_AE_LINES_PKG.ValidateCurrentLine;
69884 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
69885
69886 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
69887 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
69888 ,p_balance_type_code => l_balance_type_code);
69889
69890 END IF;
69891
69892 -----------------------------------------------------------------------------------------
69893 -- 4262811 Multiperiod Accounting
69894 -----------------------------------------------------------------------------------------
69895 -- No MPA option is assigned.
69896
69897
69898 END IF;
69899 END IF;
69900 --
69901
69902 --
69903 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
69904 trace
69905 (p_msg => 'END of AcctLineType_138'
69906 ,p_level => C_LEVEL_PROCEDURE
69907 ,p_module => l_log_module);
69908 END IF;
69909 --
69910 EXCEPTION
69911 WHEN xla_exceptions_pkg.application_exception THEN
69912 RAISE;
69913 WHEN OTHERS THEN
69914 xla_exceptions_pkg.raise_message
69915 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_138');
69916 END AcctLineType_138;
69917 --
69918
69919 ---------------------------------------
69920 --
69921 -- PRIVATE FUNCTION
69922 -- AcctLineType_139
69923 --
69924 ---------------------------------------
69925 PROCEDURE AcctLineType_139 (
69926 p_application_id IN NUMBER
69927 ,p_event_id IN NUMBER
69928 ,p_calculate_acctd_flag IN VARCHAR2
69929 ,p_calculate_g_l_flag IN VARCHAR2
69930 ,p_actual_flag IN OUT VARCHAR2
69931 ,p_balance_type_code OUT VARCHAR2
69932 ,p_gain_or_loss_ref OUT VARCHAR2
69933
69934 --Payment Currency Code
69935 , p_source_8 IN VARCHAR2
69936 --Automatic Offsets Value
69937 , p_source_10 IN VARCHAR2
69938 , p_source_10_meaning IN VARCHAR2
69939 --Invoice Distribution Account
69940 , p_source_25 IN NUMBER
69941 --Internal Realized Gain Account
69942 , p_source_31 IN NUMBER
69943 --Bank Gain Account
69944 , p_source_32 IN NUMBER
69945 --When to Account for Payment Option
69946 , p_source_57 IN VARCHAR2
69947 --Accounting Reversal Indicator
69948 , p_source_58 IN VARCHAR2
69949 --Distribution Link Type
69950 , p_source_60 IN VARCHAR2
69951 --Override Accounted Amount Indicator
69952 , p_source_85 IN VARCHAR2
69953 , p_source_85_meaning IN VARCHAR2
69954 --Third Party Type
69955 , p_source_88 IN VARCHAR2
69956 --Invoice Distribution Tax Line Identifier
69957 , p_source_91 IN NUMBER
69958 --Invoice Distribution Summary Tax Line Identifier
69959 , p_source_93 IN NUMBER
69960 --Business Flow Accounts Payable Application Identifier
69961 , p_source_96 IN NUMBER
69962 --Payment Distribution Type
69963 , p_source_101 IN VARCHAR2
69964 , p_source_101_meaning IN VARCHAR2
69965 --Payment Distribution Amount
69966 , p_source_102 IN NUMBER
69967 --Business Flow Payment Distribution Type
69968 , p_source_103 IN VARCHAR2
69969 --Business Flow Payment Entity Code
69970 , p_source_104 IN VARCHAR2
69971 --Business Flow Payment Distribution Identifier
69972 , p_source_105 IN NUMBER
69973 --Business Flow Payment Identifier
69974 , p_source_106 IN NUMBER
69978 , p_source_109 IN DATE
69975 --Payment Distribution Identifier
69976 , p_source_107 IN NUMBER
69977 --Cleared Exchange Date
69979 --Cleared Exchange Rate
69980 , p_source_110 IN NUMBER
69981 --Cleared Exchange Rate Type
69982 , p_source_111 IN VARCHAR2
69983 --Payment Supplier Identifier
69984 , p_source_113 IN NUMBER
69985 --Payment Supplier Site Identifier
69986 , p_source_114 IN NUMBER
69987 --Payment Distribution Reversed Identifier
69988 , p_source_115 IN NUMBER
69989 --Payment Maturity Date
69990 , p_source_117 IN DATE
69991 --Gain or Loss Indicator between Maturity and Clearing
69992 , p_source_159 IN VARCHAR2
69993 --Maturity/Clearing Ledger Amount Difference
69994 , p_source_160 IN NUMBER
69995 )
69996 IS
69997
69998 l_component_type VARCHAR2(80);
69999 l_component_code VARCHAR2(30);
70000 l_component_type_code VARCHAR2(1);
70001 l_component_appl_id INTEGER;
70002 l_amb_context_code VARCHAR2(30);
70003 l_entity_code VARCHAR2(30);
70004 l_event_class_code VARCHAR2(30);
70005 l_ae_header_id NUMBER;
70006 l_event_type_code VARCHAR2(30);
70007 l_line_definition_code VARCHAR2(30);
70008 l_line_definition_owner_code VARCHAR2(1);
70009 --
70010 -- adr variables
70011 l_segment VARCHAR2(30);
70012 l_ccid NUMBER;
70013 l_adr_transaction_coa_id NUMBER;
70014 l_adr_accounting_coa_id NUMBER;
70015 l_adr_flexfield_segment_code VARCHAR2(30);
70016 l_adr_flex_value_set_id NUMBER;
70017 l_adr_value_type_code VARCHAR2(30);
70018 l_adr_value_combination_id NUMBER;
70019 l_adr_value_segment_code VARCHAR2(30);
70020
70021 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
70022 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
70023 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
70024 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
70025
70026 -- 4262811 Variables ------------------------------------------------------------------------------------------
70027 l_entered_amt_idx NUMBER;
70028 l_accted_amt_idx NUMBER;
70029 l_acc_rev_flag VARCHAR2(1);
70030 l_accrual_line_num NUMBER;
70031 l_tmp_amt NUMBER;
70032 l_acc_rev_natural_side_code VARCHAR2(1);
70033
70034 l_num_entries NUMBER;
70035 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
70036 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
70037 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
70038 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
70039 l_recog_line_1 NUMBER;
70040 l_recog_line_2 NUMBER;
70041
70042 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
70043 l_bflow_applied_to_amt NUMBER; -- 5132302
70044 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
70045
70046 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
70047
70048 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
70049 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
70050
70051 ---------------------------------------------------------------------------------------------------------------
70052
70053
70054 --
70055 -- bulk performance
70056 --
70057 l_balance_type_code VARCHAR2(1);
70058 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
70059 l_log_module VARCHAR2(240);
70060
70061 --
70062 -- Upgrade strategy
70063 --
70064 l_actual_upg_option VARCHAR2(1);
70065 l_enc_upg_option VARCHAR2(1);
70066
70067 --
70068 BEGIN
70069 --
70070 IF g_log_enabled THEN
70071 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_139';
70072 END IF;
70073 --
70074 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
70075
70076 trace
70077 (p_msg => 'BEGIN of AcctLineType_139'
70078 ,p_level => C_LEVEL_PROCEDURE
70079 ,p_module => l_log_module);
70080
70081 END IF;
70082 --
70083 l_component_type := 'AMB_JLT';
70084 l_component_code := 'AP_GAIN_MAT_CLEAR';
70085 l_component_type_code := 'S';
70086 l_component_appl_id := 200;
70087 l_amb_context_code := 'DEFAULT';
70088 l_entity_code := 'AP_PAYMENTS';
70089 l_event_class_code := 'RECONCILED PAYMENTS';
70090 l_event_type_code := 'RECONCILED PAYMENTS_ALL';
70091 l_line_definition_owner_code := 'S';
70092 l_line_definition_code := 'ACCRUAL_RECONCILED PAYMENTS_A4';
70093 --
70094 l_balance_type_code := 'A';
70095 l_segment := NULL;
70096 l_ccid := NULL;
70097 l_adr_transaction_coa_id := NULL;
70098 l_adr_accounting_coa_id := NULL;
70099 l_adr_flexfield_segment_code := NULL;
70100 l_adr_flex_value_set_id := NULL;
70101 l_adr_value_type_code := NULL;
70102 l_adr_value_combination_id := NULL;
70103 l_adr_value_segment_code := NULL;
70104
70105 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
70109
70106 l_bflow_class_code := ''; -- 4219869 Business Flow
70107 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
70108 l_budgetary_control_flag := 'N';
70110 l_bflow_applied_to_amt_idx := NULL; -- 5132302
70111 l_bflow_applied_to_amt := NULL; -- 5132302
70112 l_entered_amt_idx := NULL; -- 4262811
70113 l_accted_amt_idx := NULL; -- 4262811
70114 l_acc_rev_flag := NULL; -- 4262811
70115 l_accrual_line_num := NULL; -- 4262811
70116 l_tmp_amt := NULL; -- 4262811
70117 --
70118 IF ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
70119 (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
70120 return;
70121 END IF;
70122
70123 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
70124 l_balance_type_code <> 'B' THEN
70125 IF NVL(p_source_57,'
70126 ') = 'ALWAYS_ALWAYS' AND
70127 p_source_117 IS NOT NULL AND
70128 NVL(p_source_159,'
70129 ') = 'GAIN' AND
70130 NVL(p_source_101,'
70131 ') <> 'EXCHANGE RATE VARIANCE' AND
70132 NVL(p_source_101,'
70133 ') <> 'TAX EXCHANGE RATE VARIANCE' AND
70134 NVL(p_source_101,'
70135 ') <> 'BANK CHARGE' AND
70136 NVL(p_source_101,'
70137 ') <> 'BANK ERROR'
70138 THEN
70139
70140 --
70141 XLA_AE_LINES_PKG.SetNewLine;
70142
70143 p_balance_type_code := l_balance_type_code;
70144 -- set the flag so later we will know whether the gain loss line needs to be created
70145
70146 IF(l_balance_type_code = 'A' ) THEN
70147 p_actual_flag :='G';
70148 END IF;
70149
70150 --
70151 -- bulk performance
70152 --
70153 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
70154 p_header_num => 0); -- 4262811
70155 --
70156 -- set accounting line options
70157 --
70158 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
70159 p_natural_side_code => 'C'
70160 , p_gain_or_loss_flag => 'Y'
70161 , p_gl_transfer_mode_code => 'S'
70162 , p_acct_entry_type_code => 'A'
70163 , p_switch_side_flag => 'Y'
70164 , p_merge_duplicate_code => 'A'
70165 );
70166 --
70167 l_acc_rev_natural_side_code := 'D'; -- 4262811
70168 --
70169 --
70170 -- set accounting line type info
70171 --
70172 xla_ae_lines_pkg.SetAcctLineType
70173 (p_component_type => l_component_type
70174 ,p_event_type_code => l_event_type_code
70175 ,p_line_definition_owner_code => l_line_definition_owner_code
70176 ,p_line_definition_code => l_line_definition_code
70177 ,p_accounting_line_code => l_component_code
70178 ,p_accounting_line_type_code => l_component_type_code
70179 ,p_accounting_line_appl_id => l_component_appl_id
70180 ,p_amb_context_code => l_amb_context_code
70181 ,p_entity_code => l_entity_code
70182 ,p_event_class_code => l_event_class_code);
70183 --
70184 -- set accounting class
70185 --
70186 xla_ae_lines_pkg.SetAcctClass(
70187 p_accounting_class_code => 'GAIN'
70188 , p_ae_header_id => l_ae_header_id
70189 );
70190
70191 --
70192 -- set rounding class
70193 --
70194 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
70195 'GAIN';
70196
70197 --
70198 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
70199 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
70200 --
70201 -- bulk performance
70202 --
70203 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
70204
70205 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
70206 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
70207
70208 -- 4955764
70209 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
70210 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
70211
70212 -- 4458381 Public Sector Enh
70213
70214 --
70215 -- set accounting attributes for the line type
70216 --
70217 l_entered_amt_idx := 10;
70218 l_accted_amt_idx := 15;
70219 l_bflow_applied_to_amt_idx := 2; -- 5132302
70220 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
70221 l_rec_acct_attrs.array_char_value(1) := p_source_58;
70222 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
70223 l_rec_acct_attrs.array_num_value(2) := p_source_102;
70224 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
70225 l_rec_acct_attrs.array_num_value(3) := p_source_96;
70226 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
70227 l_rec_acct_attrs.array_char_value(4) := p_source_103;
70228 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
70232 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
70229 l_rec_acct_attrs.array_char_value(5) := p_source_104;
70230 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
70231 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_105);
70233 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_106);
70234 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
70235 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_107);
70236 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
70237 l_rec_acct_attrs.array_char_value(9) := p_source_60;
70238 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
70239 l_rec_acct_attrs.array_num_value(10) := p_source_102;
70240 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
70241 l_rec_acct_attrs.array_char_value(11) := p_source_8;
70242 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
70243 l_rec_acct_attrs.array_date_value(12) := p_source_109;
70244 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
70245 l_rec_acct_attrs.array_num_value(13) := p_source_110;
70246 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
70247 l_rec_acct_attrs.array_char_value(14) := p_source_111;
70248 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
70249 l_rec_acct_attrs.array_num_value(15) := p_source_160;
70250 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
70251 l_rec_acct_attrs.array_char_value(16) := p_source_85;
70252 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
70253 l_rec_acct_attrs.array_num_value(17) := p_source_113;
70254 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
70255 l_rec_acct_attrs.array_num_value(18) := p_source_114;
70256 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
70257 l_rec_acct_attrs.array_char_value(19) := p_source_88;
70258 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
70259 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_115);
70260 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
70261 l_rec_acct_attrs.array_char_value(21) := p_source_60;
70262 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
70263 l_rec_acct_attrs.array_num_value(22) := p_source_91;
70264 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
70265 l_rec_acct_attrs.array_num_value(23) := p_source_91;
70266 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
70267 l_rec_acct_attrs.array_num_value(24) := p_source_93;
70268
70269 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
70270 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
70271
70272 ---------------------------------------------------------------------------------------------------------------
70273 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
70274 ---------------------------------------------------------------------------------------------------------------
70275 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
70276
70277 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
70278 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
70279
70280 IF xla_accounting_cache_pkg.GetValueChar
70281 (p_source_code => 'LEDGER_CATEGORY_CODE'
70282 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
70283 AND l_bflow_method_code = 'PRIOR_ENTRY'
70284 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
70285 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
70286 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
70287 )
70288 THEN
70289 xla_ae_lines_pkg.BflowUpgEntry
70290 (p_business_method_code => l_bflow_method_code
70291 ,p_business_class_code => l_bflow_class_code
70292 ,p_balance_type => l_balance_type_code);
70293 ELSE
70294 NULL;
70295 -- No business flow processing for business flow method of NONE.
70296 END IF;
70297
70298 --
70299 -- call analytical criteria
70300 --
70301
70302 --
70303 -- call description
70304 --
70305 -- No description or it is inherited.
70306 --
70307 -- call ADRs
70308 -- Bug 4922099
70309 --
70310 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
70311 (NVL(l_actual_upg_option, 'N') = 'O') OR
70312 (NVL(l_enc_upg_option, 'N') = 'O')
70313 )
70314 THEN
70315 NULL;
70316 --
70317 --
70318
70319 l_ccid := AcctDerRule_40(
70320 p_application_id => p_application_id
70321 , p_ae_header_id => l_ae_header_id
70322 , p_source_10 => p_source_10
70323 , p_source_10_meaning => p_source_10_meaning
70324 , p_source_25 => p_source_25
70325 , p_source_31 => p_source_31
70326 , p_source_32 => p_source_32
70327 , x_transaction_coa_id => l_adr_transaction_coa_id
70328 , x_accounting_coa_id => l_adr_accounting_coa_id
70329 , x_value_type_code => l_adr_value_type_code
70330 , p_side => 'NA'
70331 );
70332
70333 xla_ae_lines_pkg.set_ccid(
70334 p_code_combination_id => l_ccid
70338 , p_adr_code => 'AP_REAL_GAIN'
70335 , p_value_type_code => l_adr_value_type_code
70336 , p_transaction_coa_id => l_adr_transaction_coa_id
70337 , p_accounting_coa_id => l_adr_accounting_coa_id
70339 , p_adr_type_code => 'S'
70340 , p_component_type => l_component_type
70341 , p_component_code => l_component_code
70342 , p_component_type_code => l_component_type_code
70343 , p_component_appl_id => l_component_appl_id
70344 , p_amb_context_code => l_amb_context_code
70345 , p_side => 'NA'
70346 );
70347
70348
70349 l_segment := AcctDerRule_23(
70350 p_application_id => p_application_id
70351 , p_ae_header_id => l_ae_header_id
70352 , p_source_10 => p_source_10
70353 , p_source_10_meaning => p_source_10_meaning
70354 , p_source_25 => p_source_25
70355 , x_transaction_coa_id => l_adr_transaction_coa_id
70356 , x_accounting_coa_id => l_adr_accounting_coa_id
70357 , x_flexfield_segment_code => l_adr_flexfield_segment_code
70358 , x_flex_value_set_id => l_adr_flex_value_set_id
70359 , x_value_type_code => l_adr_value_type_code
70360 , x_value_combination_id => l_adr_value_combination_id
70361 , x_value_segment_code => l_adr_value_segment_code
70362 , p_side => 'NA'
70363 , p_override_seg_flag => 'Y'
70364 );
70365
70366 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
70367
70368 xla_ae_lines_pkg.set_segment(
70369 p_to_segment_code => 'GL_BALANCING'
70370 , p_segment_value => l_segment
70371 , p_from_segment_code => l_adr_value_segment_code
70372 , p_from_combination_id => l_adr_value_combination_id
70373 , p_value_type_code => l_adr_value_type_code
70374 , p_transaction_coa_id => l_adr_transaction_coa_id
70375 , p_accounting_coa_id => l_adr_accounting_coa_id
70376 , p_flexfield_segment_code => l_adr_flexfield_segment_code
70377 , p_flex_value_set_id => l_adr_flex_value_set_id
70378 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
70379 , p_adr_type_code => 'S'
70380 , p_component_type => l_component_type
70381 , p_component_code => l_component_code
70382 , p_component_type_code => l_component_type_code
70383 , p_component_appl_id => l_component_appl_id
70384 , p_amb_context_code => l_amb_context_code
70385 , p_entity_code => 'AP_PAYMENTS'
70386 , p_event_class_code => 'RECONCILED PAYMENTS'
70387 , p_side => 'NA'
70388 );
70389
70390 END IF;
70391
70392 l_segment := AcctDerRule_17(
70393 p_application_id => p_application_id
70394 , p_ae_header_id => l_ae_header_id
70395 , p_source_10 => p_source_10
70396 , p_source_10_meaning => p_source_10_meaning
70397 , p_source_31 => p_source_31
70398 , p_source_32 => p_source_32
70399 , x_transaction_coa_id => l_adr_transaction_coa_id
70400 , x_accounting_coa_id => l_adr_accounting_coa_id
70401 , x_flexfield_segment_code => l_adr_flexfield_segment_code
70402 , x_flex_value_set_id => l_adr_flex_value_set_id
70403 , x_value_type_code => l_adr_value_type_code
70404 , x_value_combination_id => l_adr_value_combination_id
70405 , x_value_segment_code => l_adr_value_segment_code
70406 , p_side => 'NA'
70407 , p_override_seg_flag => 'Y'
70408 );
70409
70410 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
70411
70412 xla_ae_lines_pkg.set_segment(
70413 p_to_segment_code => 'GL_ACCOUNT'
70414 , p_segment_value => l_segment
70415 , p_from_segment_code => l_adr_value_segment_code
70416 , p_from_combination_id => l_adr_value_combination_id
70417 , p_value_type_code => l_adr_value_type_code
70418 , p_transaction_coa_id => l_adr_transaction_coa_id
70419 , p_accounting_coa_id => l_adr_accounting_coa_id
70420 , p_flexfield_segment_code => l_adr_flexfield_segment_code
70421 , p_flex_value_set_id => l_adr_flex_value_set_id
70422 , p_adr_code => 'AP_REAL_GAIN_NAT_ACCT_SEG'
70423 , p_adr_type_code => 'S'
70424 , p_component_type => l_component_type
70425 , p_component_code => l_component_code
70426 , p_component_type_code => l_component_type_code
70427 , p_component_appl_id => l_component_appl_id
70428 , p_amb_context_code => l_amb_context_code
70429 , p_entity_code => 'AP_PAYMENTS'
70430 , p_event_class_code => 'RECONCILED PAYMENTS'
70431 , p_side => 'NA'
70432 );
70433
70434 END IF;
70435
70436 --
70437 --
70438 END IF;
70439 --
70440 -- Bug 4922099
70441 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
70442 (NVL(l_enc_upg_option, 'N') = 'O')
70443 ) AND
70444 (l_bflow_method_code = 'PRIOR_ENTRY')
70445 )
70449 1 = 2
70446 THEN
70447 IF
70448 --
70450 --
70451 THEN
70452 xla_accounting_err_pkg.build_message
70453 (p_appli_s_name => 'XLA'
70454 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
70455 ,p_token_1 => 'LINE_NUMBER'
70456 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
70457 ,p_token_2 => 'LINE_TYPE_NAME'
70458 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
70459 l_component_type
70460 ,l_component_code
70461 ,l_component_type_code
70462 ,l_component_appl_id
70463 ,l_amb_context_code
70464 ,l_entity_code
70465 ,l_event_class_code
70466 )
70467 ,p_token_3 => 'OWNER'
70468 ,p_value_3 => xla_lookups_pkg.get_meaning(
70469 p_lookup_type => 'XLA_OWNER_TYPE'
70470 ,p_lookup_code => l_component_type_code
70471 )
70472 ,p_token_4 => 'PRODUCT_NAME'
70473 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
70474 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
70475 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
70476 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
70477 ,p_ae_header_id => NULL
70478 );
70479
70480 IF (C_LEVEL_ERROR>= g_log_level) THEN
70481 trace
70482 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
70483 ,p_level => C_LEVEL_ERROR
70484 ,p_module => l_log_module);
70485 END IF;
70486 END IF;
70487 END IF;
70488 --
70489 --
70490 ------------------------------------------------------------------------------------------------
70491 -- 4219869 Business Flow
70492 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
70493 -- Prior Entry. Currently, the following code is always generated.
70494 ------------------------------------------------------------------------------------------------
70495 XLA_AE_LINES_PKG.ValidateCurrentLine;
70496
70497 ------------------------------------------------------------------------------------
70498 -- 4219869 Business Flow
70499 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
70500 ------------------------------------------------------------------------------------
70501 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
70502
70503 ----------------------------------------------------------------------------------
70504 -- 4219869 Business Flow
70505 -- Update journal entry status -- Need to generate this within IF <condition>
70506 ----------------------------------------------------------------------------------
70507 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
70508 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
70509 ,p_balance_type_code => l_balance_type_code
70510 );
70511
70512 -------------------------------------------------------------------------------------------
70513 -- 4262811 - Generate the Accrual Reversal lines
70514 -------------------------------------------------------------------------------------------
70515 BEGIN
70516 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
70517 (g_array_event(p_event_id).array_value_num('header_index'));
70518 IF l_acc_rev_flag IS NULL THEN
70519 l_acc_rev_flag := 'N';
70520 END IF;
70521 EXCEPTION
70522 WHEN OTHERS THEN
70523 l_acc_rev_flag := 'N';
70524 END;
70525 --
70526 IF (l_acc_rev_flag = 'Y') THEN
70527
70528 -- 4645092 ------------------------------------------------------------------------------
70529 -- To allow MPA report to determine if it should generate report process
70530 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
70531 ------------------------------------------------------------------------------------------
70532
70533 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
70534 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
70535 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
70536 -- call ADRs
70540 (NVL(l_actual_upg_option, 'N') = 'O') OR
70537 -- Bug 4922099
70538 --
70539 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
70541 (NVL(l_enc_upg_option, 'N') = 'O')
70542 )
70543 THEN
70544 NULL;
70545 --
70546 --
70547
70548 l_ccid := AcctDerRule_40(
70549 p_application_id => p_application_id
70550 , p_ae_header_id => l_ae_header_id
70551 , p_source_10 => p_source_10
70552 , p_source_10_meaning => p_source_10_meaning
70553 , p_source_25 => p_source_25
70554 , p_source_31 => p_source_31
70555 , p_source_32 => p_source_32
70556 , x_transaction_coa_id => l_adr_transaction_coa_id
70557 , x_accounting_coa_id => l_adr_accounting_coa_id
70558 , x_value_type_code => l_adr_value_type_code
70559 , p_side => 'NA'
70560 );
70561
70562 xla_ae_lines_pkg.set_ccid(
70563 p_code_combination_id => l_ccid
70564 , p_value_type_code => l_adr_value_type_code
70565 , p_transaction_coa_id => l_adr_transaction_coa_id
70566 , p_accounting_coa_id => l_adr_accounting_coa_id
70567 , p_adr_code => 'AP_REAL_GAIN'
70568 , p_adr_type_code => 'S'
70569 , p_component_type => l_component_type
70570 , p_component_code => l_component_code
70571 , p_component_type_code => l_component_type_code
70572 , p_component_appl_id => l_component_appl_id
70573 , p_amb_context_code => l_amb_context_code
70574 , p_side => 'NA'
70575 );
70576
70577
70578 l_segment := AcctDerRule_23(
70579 p_application_id => p_application_id
70580 , p_ae_header_id => l_ae_header_id
70581 , p_source_10 => p_source_10
70582 , p_source_10_meaning => p_source_10_meaning
70583 , p_source_25 => p_source_25
70584 , x_transaction_coa_id => l_adr_transaction_coa_id
70585 , x_accounting_coa_id => l_adr_accounting_coa_id
70586 , x_flexfield_segment_code => l_adr_flexfield_segment_code
70587 , x_flex_value_set_id => l_adr_flex_value_set_id
70588 , x_value_type_code => l_adr_value_type_code
70589 , x_value_combination_id => l_adr_value_combination_id
70590 , x_value_segment_code => l_adr_value_segment_code
70591 , p_side => 'NA'
70592 , p_override_seg_flag => 'Y'
70593 );
70594
70595 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
70596
70597 xla_ae_lines_pkg.set_segment(
70598 p_to_segment_code => 'GL_BALANCING'
70599 , p_segment_value => l_segment
70600 , p_from_segment_code => l_adr_value_segment_code
70601 , p_from_combination_id => l_adr_value_combination_id
70602 , p_value_type_code => l_adr_value_type_code
70603 , p_transaction_coa_id => l_adr_transaction_coa_id
70604 , p_accounting_coa_id => l_adr_accounting_coa_id
70605 , p_flexfield_segment_code => l_adr_flexfield_segment_code
70606 , p_flex_value_set_id => l_adr_flex_value_set_id
70607 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
70608 , p_adr_type_code => 'S'
70609 , p_component_type => l_component_type
70610 , p_component_code => l_component_code
70611 , p_component_type_code => l_component_type_code
70612 , p_component_appl_id => l_component_appl_id
70613 , p_amb_context_code => l_amb_context_code
70614 , p_entity_code => 'AP_PAYMENTS'
70615 , p_event_class_code => 'RECONCILED PAYMENTS'
70616 , p_side => 'NA'
70617 );
70618
70619 END IF;
70620
70621 l_segment := AcctDerRule_17(
70622 p_application_id => p_application_id
70623 , p_ae_header_id => l_ae_header_id
70624 , p_source_10 => p_source_10
70625 , p_source_10_meaning => p_source_10_meaning
70626 , p_source_31 => p_source_31
70627 , p_source_32 => p_source_32
70628 , x_transaction_coa_id => l_adr_transaction_coa_id
70629 , x_accounting_coa_id => l_adr_accounting_coa_id
70630 , x_flexfield_segment_code => l_adr_flexfield_segment_code
70631 , x_flex_value_set_id => l_adr_flex_value_set_id
70632 , x_value_type_code => l_adr_value_type_code
70633 , x_value_combination_id => l_adr_value_combination_id
70634 , x_value_segment_code => l_adr_value_segment_code
70635 , p_side => 'NA'
70636 , p_override_seg_flag => 'Y'
70637 );
70638
70639 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
70640
70641 xla_ae_lines_pkg.set_segment(
70642 p_to_segment_code => 'GL_ACCOUNT'
70643 , p_segment_value => l_segment
70644 , p_from_segment_code => l_adr_value_segment_code
70645 , p_from_combination_id => l_adr_value_combination_id
70646 , p_value_type_code => l_adr_value_type_code
70647 , p_transaction_coa_id => l_adr_transaction_coa_id
70648 , p_accounting_coa_id => l_adr_accounting_coa_id
70649 , p_flexfield_segment_code => l_adr_flexfield_segment_code
70650 , p_flex_value_set_id => l_adr_flex_value_set_id
70654 , p_component_code => l_component_code
70651 , p_adr_code => 'AP_REAL_GAIN_NAT_ACCT_SEG'
70652 , p_adr_type_code => 'S'
70653 , p_component_type => l_component_type
70655 , p_component_type_code => l_component_type_code
70656 , p_component_appl_id => l_component_appl_id
70657 , p_amb_context_code => l_amb_context_code
70658 , p_entity_code => 'AP_PAYMENTS'
70659 , p_event_class_code => 'RECONCILED PAYMENTS'
70660 , p_side => 'NA'
70661 );
70662
70663 END IF;
70664
70665 --
70666 --
70667 END IF;
70668
70669 --
70670 -- Update the line information that should be overwritten
70671 --
70672 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
70673 p_header_num => 1);
70674 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
70675
70676 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
70677
70678 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
70679 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
70680 END IF;
70681
70682 --
70683 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
70684 --
70685 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
70686 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
70687 ELSE
70688 ---------------------------------------------------------------------------------------------------
70689 -- 4262811a Switch Sign
70690 ---------------------------------------------------------------------------------------------------
70691 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
70692 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
70693 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
70694 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
70695 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
70696 -- 5132302
70697 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
70698 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
70699
70700 END IF;
70701
70702 -- 4955764
70703 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
70704 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
70705
70706
70707 XLA_AE_LINES_PKG.ValidateCurrentLine;
70708 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
70709
70710 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
70711 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
70712 ,p_balance_type_code => l_balance_type_code);
70713
70714 END IF;
70715
70716 -----------------------------------------------------------------------------------------
70717 -- 4262811 Multiperiod Accounting
70718 -----------------------------------------------------------------------------------------
70719 -- No MPA option is assigned.
70720
70721
70722 END IF;
70723 END IF;
70724 --
70725
70726 --
70727 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
70728 trace
70729 (p_msg => 'END of AcctLineType_139'
70730 ,p_level => C_LEVEL_PROCEDURE
70731 ,p_module => l_log_module);
70732 END IF;
70733 --
70734 EXCEPTION
70735 WHEN xla_exceptions_pkg.application_exception THEN
70736 RAISE;
70737 WHEN OTHERS THEN
70738 xla_exceptions_pkg.raise_message
70739 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_139');
70740 END AcctLineType_139;
70741 --
70742
70743 ---------------------------------------
70744 --
70745 -- PRIVATE FUNCTION
70746 -- AcctLineType_140
70747 --
70748 ---------------------------------------
70749 PROCEDURE AcctLineType_140 (
70750 p_application_id IN NUMBER
70751 ,p_event_id IN NUMBER
70752 ,p_calculate_acctd_flag IN VARCHAR2
70753 ,p_calculate_g_l_flag IN VARCHAR2
70754 ,p_actual_flag IN OUT VARCHAR2
70755 ,p_balance_type_code OUT VARCHAR2
70756 ,p_gain_or_loss_ref OUT VARCHAR2
70757
70758 --Payment Currency Code
70759 , p_source_8 IN VARCHAR2
70760 --Automatic Offsets Value
70761 , p_source_10 IN VARCHAR2
70762 , p_source_10_meaning IN VARCHAR2
70763 --Invoice Distribution Account
70764 , p_source_25 IN NUMBER
70765 --Internal Realized Gain Account
70766 , p_source_31 IN NUMBER
70767 --Bank Gain Account
70768 , p_source_32 IN NUMBER
70769 --When to Account for Payment Option
70770 , p_source_57 IN VARCHAR2
70771 --Accounting Reversal Indicator
70772 , p_source_58 IN VARCHAR2
70773 --Distribution Link Type
70774 , p_source_60 IN VARCHAR2
70775 --Override Accounted Amount Indicator
70779 , p_source_88 IN VARCHAR2
70776 , p_source_85 IN VARCHAR2
70777 , p_source_85_meaning IN VARCHAR2
70778 --Third Party Type
70780 --Invoice Distribution Tax Line Identifier
70781 , p_source_91 IN NUMBER
70782 --Invoice Distribution Tax Distribution Identifier from Tax
70783 , p_source_92 IN NUMBER
70784 --Invoice Distribution Summary Tax Line Identifier
70785 , p_source_93 IN NUMBER
70786 --Business Flow Accounts Payable Application Identifier
70787 , p_source_96 IN NUMBER
70788 --Business Flow Invoice Distribution Type
70789 , p_source_97 IN VARCHAR2
70790 --Business Flow Invoice Entity Code
70791 , p_source_98 IN VARCHAR2
70792 --Business Flow Invoice Distribution Identifier
70793 , p_source_99 IN NUMBER
70794 --Business Flow Invoice Identifier
70795 , p_source_100 IN NUMBER
70796 --Payment Distribution Type
70797 , p_source_101 IN VARCHAR2
70798 , p_source_101_meaning IN VARCHAR2
70799 --Payment Distribution Amount
70800 , p_source_102 IN NUMBER
70801 --Payment Distribution Identifier
70802 , p_source_107 IN NUMBER
70803 --Payment Supplier Identifier
70804 , p_source_113 IN NUMBER
70805 --Payment Supplier Site Identifier
70806 , p_source_114 IN NUMBER
70807 --Payment Distribution Reversed Identifier
70808 , p_source_115 IN NUMBER
70809 --Payment Exchange Date
70810 , p_source_120 IN DATE
70811 --Payment Exchange Rate
70812 , p_source_121 IN NUMBER
70813 --Payment Exchange Rate Type
70814 , p_source_122 IN VARCHAR2
70815 --Payment Type
70816 , p_source_125 IN VARCHAR2
70817 , p_source_125_meaning IN VARCHAR2
70818 --Invoice Distribution Amount of the Payment Distribution
70819 , p_source_127 IN NUMBER
70820 --Invoice/Payment Ledger Amount Difference
70821 , p_source_156 IN NUMBER
70822 --Gain or Loss Indicator between Invoice and Payment
70823 , p_source_161 IN VARCHAR2
70824 )
70825 IS
70826
70827 l_component_type VARCHAR2(80);
70828 l_component_code VARCHAR2(30);
70829 l_component_type_code VARCHAR2(1);
70830 l_component_appl_id INTEGER;
70831 l_amb_context_code VARCHAR2(30);
70832 l_entity_code VARCHAR2(30);
70833 l_event_class_code VARCHAR2(30);
70834 l_ae_header_id NUMBER;
70835 l_event_type_code VARCHAR2(30);
70836 l_line_definition_code VARCHAR2(30);
70837 l_line_definition_owner_code VARCHAR2(1);
70838 --
70839 -- adr variables
70840 l_segment VARCHAR2(30);
70841 l_ccid NUMBER;
70842 l_adr_transaction_coa_id NUMBER;
70843 l_adr_accounting_coa_id NUMBER;
70844 l_adr_flexfield_segment_code VARCHAR2(30);
70845 l_adr_flex_value_set_id NUMBER;
70846 l_adr_value_type_code VARCHAR2(30);
70847 l_adr_value_combination_id NUMBER;
70848 l_adr_value_segment_code VARCHAR2(30);
70849
70850 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
70851 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
70852 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
70853 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
70854
70855 -- 4262811 Variables ------------------------------------------------------------------------------------------
70856 l_entered_amt_idx NUMBER;
70857 l_accted_amt_idx NUMBER;
70858 l_acc_rev_flag VARCHAR2(1);
70859 l_accrual_line_num NUMBER;
70860 l_tmp_amt NUMBER;
70861 l_acc_rev_natural_side_code VARCHAR2(1);
70862
70863 l_num_entries NUMBER;
70864 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
70865 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
70866 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
70867 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
70868 l_recog_line_1 NUMBER;
70869 l_recog_line_2 NUMBER;
70870
70871 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
70872 l_bflow_applied_to_amt NUMBER; -- 5132302
70873 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
70874
70875 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
70876
70877 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
70878 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
70879
70880 ---------------------------------------------------------------------------------------------------------------
70881
70882
70883 --
70884 -- bulk performance
70885 --
70886 l_balance_type_code VARCHAR2(1);
70887 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
70888 l_log_module VARCHAR2(240);
70889
70890 --
70891 -- Upgrade strategy
70892 --
70893 l_actual_upg_option VARCHAR2(1);
70894 l_enc_upg_option VARCHAR2(1);
70895
70896 --
70897 BEGIN
70898 --
70899 IF g_log_enabled THEN
70900 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_140';
70901 END IF;
70902 --
70903 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
70904
70908 ,p_module => l_log_module);
70905 trace
70906 (p_msg => 'BEGIN of AcctLineType_140'
70907 ,p_level => C_LEVEL_PROCEDURE
70909
70910 END IF;
70911 --
70912 l_component_type := 'AMB_JLT';
70913 l_component_code := 'AP_GAIN_PMT';
70914 l_component_type_code := 'S';
70915 l_component_appl_id := 200;
70916 l_amb_context_code := 'DEFAULT';
70917 l_entity_code := 'AP_PAYMENTS';
70918 l_event_class_code := 'PAYMENTS';
70919 l_event_type_code := 'PAYMENTS_ALL';
70920 l_line_definition_owner_code := 'S';
70921 l_line_definition_code := 'ACCRUAL_PAYMENTS_ALL';
70922 --
70923 l_balance_type_code := 'A';
70924 l_segment := NULL;
70925 l_ccid := NULL;
70926 l_adr_transaction_coa_id := NULL;
70927 l_adr_accounting_coa_id := NULL;
70928 l_adr_flexfield_segment_code := NULL;
70929 l_adr_flex_value_set_id := NULL;
70930 l_adr_value_type_code := NULL;
70931 l_adr_value_combination_id := NULL;
70932 l_adr_value_segment_code := NULL;
70933
70934 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
70935 l_bflow_class_code := ''; -- 4219869 Business Flow
70936 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
70937 l_budgetary_control_flag := 'N';
70938
70939 l_bflow_applied_to_amt_idx := NULL; -- 5132302
70940 l_bflow_applied_to_amt := NULL; -- 5132302
70941 l_entered_amt_idx := NULL; -- 4262811
70942 l_accted_amt_idx := NULL; -- 4262811
70943 l_acc_rev_flag := NULL; -- 4262811
70944 l_accrual_line_num := NULL; -- 4262811
70945 l_tmp_amt := NULL; -- 4262811
70946 --
70947 IF ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
70948 (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
70949 return;
70950 END IF;
70951
70952 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
70953 l_balance_type_code <> 'B' THEN
70954 IF (NVL(p_source_57,'
70955 ') <> 'CLEAR_CLEAR' AND
70956 NVL(p_source_57,'
70957 ') <> 'ALWAYS_CLEAR') AND
70958 NVL(p_source_161,'
70959 ') = 'GAIN' AND
70960 NVL(p_source_101,'
70961 ') <> 'EXCHANGE RATE VARIANCE' AND
70962 NVL(p_source_101,'
70963 ') <> 'TAX EXCHANGE RATE VARIANCE' AND
70964 NVL(p_source_101,'
70965 ') <> 'BANK ERROR' AND
70966 NVL(p_source_101,'
70967 ') <> 'BANK CHARGE' AND
70968 NVL(p_source_101,'
70969 ') <> 'AWT' AND
70970 NVL(p_source_125,'
70971 ') <> 'R'
70972 THEN
70973
70974 --
70975 XLA_AE_LINES_PKG.SetNewLine;
70976
70977 p_balance_type_code := l_balance_type_code;
70978 -- set the flag so later we will know whether the gain loss line needs to be created
70979
70980 IF(l_balance_type_code = 'A' ) THEN
70981 p_actual_flag :='G';
70982 END IF;
70983
70984 --
70985 -- bulk performance
70986 --
70987 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
70988 p_header_num => 0); -- 4262811
70989 --
70990 -- set accounting line options
70991 --
70992 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
70993 p_natural_side_code => 'C'
70994 , p_gain_or_loss_flag => 'Y'
70995 , p_gl_transfer_mode_code => 'S'
70996 , p_acct_entry_type_code => 'A'
70997 , p_switch_side_flag => 'Y'
70998 , p_merge_duplicate_code => 'A'
70999 );
71000 --
71001 l_acc_rev_natural_side_code := 'D'; -- 4262811
71002 --
71003 --
71004 -- set accounting line type info
71005 --
71006 xla_ae_lines_pkg.SetAcctLineType
71007 (p_component_type => l_component_type
71008 ,p_event_type_code => l_event_type_code
71009 ,p_line_definition_owner_code => l_line_definition_owner_code
71010 ,p_line_definition_code => l_line_definition_code
71011 ,p_accounting_line_code => l_component_code
71012 ,p_accounting_line_type_code => l_component_type_code
71013 ,p_accounting_line_appl_id => l_component_appl_id
71014 ,p_amb_context_code => l_amb_context_code
71015 ,p_entity_code => l_entity_code
71016 ,p_event_class_code => l_event_class_code);
71017 --
71018 -- set accounting class
71019 --
71020 xla_ae_lines_pkg.SetAcctClass(
71021 p_accounting_class_code => 'GAIN'
71022 , p_ae_header_id => l_ae_header_id
71023 );
71024
71025 --
71026 -- set rounding class
71027 --
71028 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
71029 'GAIN';
71030
71031 --
71032 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
71033 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
71034 --
71035 -- bulk performance
71036 --
71040 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
71037 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
71038
71039 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
71041
71042 -- 4955764
71043 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
71044 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
71045
71046 -- 4458381 Public Sector Enh
71047
71048 --
71049 -- set accounting attributes for the line type
71050 --
71051 l_entered_amt_idx := 10;
71052 l_accted_amt_idx := 15;
71053 l_bflow_applied_to_amt_idx := 2; -- 5132302
71054 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
71055 l_rec_acct_attrs.array_char_value(1) := p_source_58;
71056 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
71057 l_rec_acct_attrs.array_num_value(2) := p_source_127;
71058 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
71059 l_rec_acct_attrs.array_num_value(3) := p_source_96;
71060 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
71061 l_rec_acct_attrs.array_char_value(4) := p_source_97;
71062 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
71063 l_rec_acct_attrs.array_char_value(5) := p_source_98;
71064 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
71065 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_99);
71066 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
71067 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_100);
71068 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
71069 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_107);
71070 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
71071 l_rec_acct_attrs.array_char_value(9) := p_source_60;
71072 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
71073 l_rec_acct_attrs.array_num_value(10) := p_source_102;
71074 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
71075 l_rec_acct_attrs.array_char_value(11) := p_source_8;
71076 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
71077 l_rec_acct_attrs.array_date_value(12) := p_source_120;
71078 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
71079 l_rec_acct_attrs.array_num_value(13) := p_source_121;
71080 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
71081 l_rec_acct_attrs.array_char_value(14) := p_source_122;
71082 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
71083 l_rec_acct_attrs.array_num_value(15) := p_source_156;
71084 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
71085 l_rec_acct_attrs.array_char_value(16) := p_source_85;
71086 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
71087 l_rec_acct_attrs.array_num_value(17) := p_source_113;
71088 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
71089 l_rec_acct_attrs.array_num_value(18) := p_source_114;
71090 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
71091 l_rec_acct_attrs.array_char_value(19) := p_source_88;
71092 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
71093 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_115);
71094 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
71095 l_rec_acct_attrs.array_char_value(21) := p_source_60;
71096 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
71097 l_rec_acct_attrs.array_num_value(22) := p_source_91;
71098 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
71099 l_rec_acct_attrs.array_num_value(23) := p_source_92;
71100 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
71101 l_rec_acct_attrs.array_num_value(24) := p_source_93;
71102
71103 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
71104 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
71105
71106 ---------------------------------------------------------------------------------------------------------------
71107 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
71108 ---------------------------------------------------------------------------------------------------------------
71109 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
71110
71111 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
71112 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
71113
71114 IF xla_accounting_cache_pkg.GetValueChar
71115 (p_source_code => 'LEDGER_CATEGORY_CODE'
71116 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
71117 AND l_bflow_method_code = 'PRIOR_ENTRY'
71118 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
71119 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
71120 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
71121 )
71122 THEN
71123 xla_ae_lines_pkg.BflowUpgEntry
71124 (p_business_method_code => l_bflow_method_code
71125 ,p_business_class_code => l_bflow_class_code
71126 ,p_balance_type => l_balance_type_code);
71130 END IF;
71127 ELSE
71128 NULL;
71129 -- No business flow processing for business flow method of NONE.
71131
71132 --
71133 -- call analytical criteria
71134 --
71135
71136 --
71137 -- call description
71138 --
71139 -- No description or it is inherited.
71140 --
71141 -- call ADRs
71142 -- Bug 4922099
71143 --
71144 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
71145 (NVL(l_actual_upg_option, 'N') = 'O') OR
71146 (NVL(l_enc_upg_option, 'N') = 'O')
71147 )
71148 THEN
71149 NULL;
71150 --
71151 --
71152
71153 l_ccid := AcctDerRule_40(
71154 p_application_id => p_application_id
71155 , p_ae_header_id => l_ae_header_id
71156 , p_source_10 => p_source_10
71157 , p_source_10_meaning => p_source_10_meaning
71158 , p_source_25 => p_source_25
71159 , p_source_31 => p_source_31
71160 , p_source_32 => p_source_32
71161 , x_transaction_coa_id => l_adr_transaction_coa_id
71162 , x_accounting_coa_id => l_adr_accounting_coa_id
71163 , x_value_type_code => l_adr_value_type_code
71164 , p_side => 'NA'
71165 );
71166
71167 xla_ae_lines_pkg.set_ccid(
71168 p_code_combination_id => l_ccid
71169 , p_value_type_code => l_adr_value_type_code
71170 , p_transaction_coa_id => l_adr_transaction_coa_id
71171 , p_accounting_coa_id => l_adr_accounting_coa_id
71172 , p_adr_code => 'AP_REAL_GAIN'
71173 , p_adr_type_code => 'S'
71174 , p_component_type => l_component_type
71175 , p_component_code => l_component_code
71176 , p_component_type_code => l_component_type_code
71177 , p_component_appl_id => l_component_appl_id
71178 , p_amb_context_code => l_amb_context_code
71179 , p_side => 'NA'
71180 );
71181
71182
71183 l_segment := AcctDerRule_23(
71184 p_application_id => p_application_id
71185 , p_ae_header_id => l_ae_header_id
71186 , p_source_10 => p_source_10
71187 , p_source_10_meaning => p_source_10_meaning
71188 , p_source_25 => p_source_25
71189 , x_transaction_coa_id => l_adr_transaction_coa_id
71190 , x_accounting_coa_id => l_adr_accounting_coa_id
71191 , x_flexfield_segment_code => l_adr_flexfield_segment_code
71192 , x_flex_value_set_id => l_adr_flex_value_set_id
71193 , x_value_type_code => l_adr_value_type_code
71194 , x_value_combination_id => l_adr_value_combination_id
71195 , x_value_segment_code => l_adr_value_segment_code
71196 , p_side => 'NA'
71197 , p_override_seg_flag => 'Y'
71198 );
71199
71200 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
71201
71202 xla_ae_lines_pkg.set_segment(
71203 p_to_segment_code => 'GL_BALANCING'
71204 , p_segment_value => l_segment
71205 , p_from_segment_code => l_adr_value_segment_code
71206 , p_from_combination_id => l_adr_value_combination_id
71207 , p_value_type_code => l_adr_value_type_code
71208 , p_transaction_coa_id => l_adr_transaction_coa_id
71209 , p_accounting_coa_id => l_adr_accounting_coa_id
71210 , p_flexfield_segment_code => l_adr_flexfield_segment_code
71211 , p_flex_value_set_id => l_adr_flex_value_set_id
71212 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
71213 , p_adr_type_code => 'S'
71214 , p_component_type => l_component_type
71215 , p_component_code => l_component_code
71216 , p_component_type_code => l_component_type_code
71217 , p_component_appl_id => l_component_appl_id
71218 , p_amb_context_code => l_amb_context_code
71219 , p_entity_code => 'AP_PAYMENTS'
71220 , p_event_class_code => 'PAYMENTS'
71221 , p_side => 'NA'
71222 );
71223
71224 END IF;
71225
71226 l_segment := AcctDerRule_17(
71227 p_application_id => p_application_id
71228 , p_ae_header_id => l_ae_header_id
71229 , p_source_10 => p_source_10
71230 , p_source_10_meaning => p_source_10_meaning
71231 , p_source_31 => p_source_31
71232 , p_source_32 => p_source_32
71233 , x_transaction_coa_id => l_adr_transaction_coa_id
71234 , x_accounting_coa_id => l_adr_accounting_coa_id
71235 , x_flexfield_segment_code => l_adr_flexfield_segment_code
71236 , x_flex_value_set_id => l_adr_flex_value_set_id
71237 , x_value_type_code => l_adr_value_type_code
71238 , x_value_combination_id => l_adr_value_combination_id
71239 , x_value_segment_code => l_adr_value_segment_code
71240 , p_side => 'NA'
71241 , p_override_seg_flag => 'Y'
71242 );
71243
71244 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
71245
71246 xla_ae_lines_pkg.set_segment(
71247 p_to_segment_code => 'GL_ACCOUNT'
71248 , p_segment_value => l_segment
71252 , p_transaction_coa_id => l_adr_transaction_coa_id
71249 , p_from_segment_code => l_adr_value_segment_code
71250 , p_from_combination_id => l_adr_value_combination_id
71251 , p_value_type_code => l_adr_value_type_code
71253 , p_accounting_coa_id => l_adr_accounting_coa_id
71254 , p_flexfield_segment_code => l_adr_flexfield_segment_code
71255 , p_flex_value_set_id => l_adr_flex_value_set_id
71256 , p_adr_code => 'AP_REAL_GAIN_NAT_ACCT_SEG'
71257 , p_adr_type_code => 'S'
71258 , p_component_type => l_component_type
71259 , p_component_code => l_component_code
71260 , p_component_type_code => l_component_type_code
71261 , p_component_appl_id => l_component_appl_id
71262 , p_amb_context_code => l_amb_context_code
71263 , p_entity_code => 'AP_PAYMENTS'
71264 , p_event_class_code => 'PAYMENTS'
71265 , p_side => 'NA'
71266 );
71267
71268 END IF;
71269
71270 --
71271 --
71272 END IF;
71273 --
71274 -- Bug 4922099
71275 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
71276 (NVL(l_enc_upg_option, 'N') = 'O')
71277 ) AND
71278 (l_bflow_method_code = 'PRIOR_ENTRY')
71279 )
71280 THEN
71281 IF
71282 --
71283 1 = 2
71284 --
71285 THEN
71286 xla_accounting_err_pkg.build_message
71287 (p_appli_s_name => 'XLA'
71288 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
71289 ,p_token_1 => 'LINE_NUMBER'
71290 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
71291 ,p_token_2 => 'LINE_TYPE_NAME'
71292 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
71293 l_component_type
71294 ,l_component_code
71295 ,l_component_type_code
71296 ,l_component_appl_id
71297 ,l_amb_context_code
71298 ,l_entity_code
71299 ,l_event_class_code
71300 )
71301 ,p_token_3 => 'OWNER'
71302 ,p_value_3 => xla_lookups_pkg.get_meaning(
71303 p_lookup_type => 'XLA_OWNER_TYPE'
71304 ,p_lookup_code => l_component_type_code
71305 )
71306 ,p_token_4 => 'PRODUCT_NAME'
71307 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
71308 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
71309 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
71310 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
71311 ,p_ae_header_id => NULL
71312 );
71313
71314 IF (C_LEVEL_ERROR>= g_log_level) THEN
71315 trace
71316 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
71317 ,p_level => C_LEVEL_ERROR
71318 ,p_module => l_log_module);
71319 END IF;
71320 END IF;
71321 END IF;
71322 --
71323 --
71324 ------------------------------------------------------------------------------------------------
71325 -- 4219869 Business Flow
71326 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
71327 -- Prior Entry. Currently, the following code is always generated.
71328 ------------------------------------------------------------------------------------------------
71329 XLA_AE_LINES_PKG.ValidateCurrentLine;
71330
71331 ------------------------------------------------------------------------------------
71332 -- 4219869 Business Flow
71333 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
71334 ------------------------------------------------------------------------------------
71335 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
71336
71337 ----------------------------------------------------------------------------------
71338 -- 4219869 Business Flow
71339 -- Update journal entry status -- Need to generate this within IF <condition>
71340 ----------------------------------------------------------------------------------
71344 );
71341 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
71342 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
71343 ,p_balance_type_code => l_balance_type_code
71345
71346 -------------------------------------------------------------------------------------------
71347 -- 4262811 - Generate the Accrual Reversal lines
71348 -------------------------------------------------------------------------------------------
71349 BEGIN
71350 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
71351 (g_array_event(p_event_id).array_value_num('header_index'));
71352 IF l_acc_rev_flag IS NULL THEN
71353 l_acc_rev_flag := 'N';
71354 END IF;
71355 EXCEPTION
71356 WHEN OTHERS THEN
71357 l_acc_rev_flag := 'N';
71358 END;
71359 --
71360 IF (l_acc_rev_flag = 'Y') THEN
71361
71362 -- 4645092 ------------------------------------------------------------------------------
71363 -- To allow MPA report to determine if it should generate report process
71364 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
71365 ------------------------------------------------------------------------------------------
71366
71367 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
71368 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
71369 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
71370 -- call ADRs
71371 -- Bug 4922099
71372 --
71373 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
71374 (NVL(l_actual_upg_option, 'N') = 'O') OR
71375 (NVL(l_enc_upg_option, 'N') = 'O')
71376 )
71377 THEN
71378 NULL;
71379 --
71380 --
71381
71382 l_ccid := AcctDerRule_40(
71383 p_application_id => p_application_id
71384 , p_ae_header_id => l_ae_header_id
71385 , p_source_10 => p_source_10
71386 , p_source_10_meaning => p_source_10_meaning
71387 , p_source_25 => p_source_25
71388 , p_source_31 => p_source_31
71389 , p_source_32 => p_source_32
71390 , x_transaction_coa_id => l_adr_transaction_coa_id
71391 , x_accounting_coa_id => l_adr_accounting_coa_id
71392 , x_value_type_code => l_adr_value_type_code
71393 , p_side => 'NA'
71394 );
71395
71396 xla_ae_lines_pkg.set_ccid(
71397 p_code_combination_id => l_ccid
71398 , p_value_type_code => l_adr_value_type_code
71399 , p_transaction_coa_id => l_adr_transaction_coa_id
71400 , p_accounting_coa_id => l_adr_accounting_coa_id
71401 , p_adr_code => 'AP_REAL_GAIN'
71402 , p_adr_type_code => 'S'
71403 , p_component_type => l_component_type
71404 , p_component_code => l_component_code
71405 , p_component_type_code => l_component_type_code
71406 , p_component_appl_id => l_component_appl_id
71407 , p_amb_context_code => l_amb_context_code
71408 , p_side => 'NA'
71409 );
71410
71411
71412 l_segment := AcctDerRule_23(
71413 p_application_id => p_application_id
71414 , p_ae_header_id => l_ae_header_id
71415 , p_source_10 => p_source_10
71416 , p_source_10_meaning => p_source_10_meaning
71417 , p_source_25 => p_source_25
71418 , x_transaction_coa_id => l_adr_transaction_coa_id
71419 , x_accounting_coa_id => l_adr_accounting_coa_id
71420 , x_flexfield_segment_code => l_adr_flexfield_segment_code
71421 , x_flex_value_set_id => l_adr_flex_value_set_id
71422 , x_value_type_code => l_adr_value_type_code
71423 , x_value_combination_id => l_adr_value_combination_id
71424 , x_value_segment_code => l_adr_value_segment_code
71425 , p_side => 'NA'
71426 , p_override_seg_flag => 'Y'
71427 );
71428
71429 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
71430
71431 xla_ae_lines_pkg.set_segment(
71432 p_to_segment_code => 'GL_BALANCING'
71433 , p_segment_value => l_segment
71434 , p_from_segment_code => l_adr_value_segment_code
71435 , p_from_combination_id => l_adr_value_combination_id
71436 , p_value_type_code => l_adr_value_type_code
71437 , p_transaction_coa_id => l_adr_transaction_coa_id
71438 , p_accounting_coa_id => l_adr_accounting_coa_id
71439 , p_flexfield_segment_code => l_adr_flexfield_segment_code
71440 , p_flex_value_set_id => l_adr_flex_value_set_id
71441 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
71442 , p_adr_type_code => 'S'
71443 , p_component_type => l_component_type
71444 , p_component_code => l_component_code
71445 , p_component_type_code => l_component_type_code
71446 , p_component_appl_id => l_component_appl_id
71447 , p_amb_context_code => l_amb_context_code
71448 , p_entity_code => 'AP_PAYMENTS'
71449 , p_event_class_code => 'PAYMENTS'
71450 , p_side => 'NA'
71451 );
71452
71453 END IF;
71454
71455 l_segment := AcctDerRule_17(
71456 p_application_id => p_application_id
71460 , p_source_31 => p_source_31
71457 , p_ae_header_id => l_ae_header_id
71458 , p_source_10 => p_source_10
71459 , p_source_10_meaning => p_source_10_meaning
71461 , p_source_32 => p_source_32
71462 , x_transaction_coa_id => l_adr_transaction_coa_id
71463 , x_accounting_coa_id => l_adr_accounting_coa_id
71464 , x_flexfield_segment_code => l_adr_flexfield_segment_code
71465 , x_flex_value_set_id => l_adr_flex_value_set_id
71466 , x_value_type_code => l_adr_value_type_code
71467 , x_value_combination_id => l_adr_value_combination_id
71468 , x_value_segment_code => l_adr_value_segment_code
71469 , p_side => 'NA'
71470 , p_override_seg_flag => 'Y'
71471 );
71472
71473 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
71474
71475 xla_ae_lines_pkg.set_segment(
71476 p_to_segment_code => 'GL_ACCOUNT'
71477 , p_segment_value => l_segment
71478 , p_from_segment_code => l_adr_value_segment_code
71479 , p_from_combination_id => l_adr_value_combination_id
71480 , p_value_type_code => l_adr_value_type_code
71481 , p_transaction_coa_id => l_adr_transaction_coa_id
71482 , p_accounting_coa_id => l_adr_accounting_coa_id
71483 , p_flexfield_segment_code => l_adr_flexfield_segment_code
71484 , p_flex_value_set_id => l_adr_flex_value_set_id
71485 , p_adr_code => 'AP_REAL_GAIN_NAT_ACCT_SEG'
71486 , p_adr_type_code => 'S'
71487 , p_component_type => l_component_type
71488 , p_component_code => l_component_code
71489 , p_component_type_code => l_component_type_code
71490 , p_component_appl_id => l_component_appl_id
71491 , p_amb_context_code => l_amb_context_code
71492 , p_entity_code => 'AP_PAYMENTS'
71493 , p_event_class_code => 'PAYMENTS'
71494 , p_side => 'NA'
71495 );
71496
71497 END IF;
71498
71499 --
71500 --
71501 END IF;
71502
71503 --
71504 -- Update the line information that should be overwritten
71505 --
71506 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
71507 p_header_num => 1);
71508 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
71509
71510 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
71511
71512 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
71513 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
71514 END IF;
71515
71516 --
71517 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
71518 --
71519 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
71520 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
71521 ELSE
71522 ---------------------------------------------------------------------------------------------------
71523 -- 4262811a Switch Sign
71524 ---------------------------------------------------------------------------------------------------
71525 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
71526 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
71527 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
71528 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
71529 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
71530 -- 5132302
71531 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
71532 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
71533
71534 END IF;
71535
71536 -- 4955764
71537 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
71538 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
71539
71540
71541 XLA_AE_LINES_PKG.ValidateCurrentLine;
71542 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
71543
71544 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
71545 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
71546 ,p_balance_type_code => l_balance_type_code);
71547
71548 END IF;
71549
71550 -----------------------------------------------------------------------------------------
71551 -- 4262811 Multiperiod Accounting
71552 -----------------------------------------------------------------------------------------
71553 -- No MPA option is assigned.
71554
71555
71556 END IF;
71557 END IF;
71558 --
71559
71560 --
71561 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
71562 trace
71563 (p_msg => 'END of AcctLineType_140'
71564 ,p_level => C_LEVEL_PROCEDURE
71565 ,p_module => l_log_module);
71566 END IF;
71567 --
71568 EXCEPTION
71572 xla_exceptions_pkg.raise_message
71569 WHEN xla_exceptions_pkg.application_exception THEN
71570 RAISE;
71571 WHEN OTHERS THEN
71573 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_140');
71574 END AcctLineType_140;
71575 --
71576
71577 ---------------------------------------
71578 --
71579 -- PRIVATE FUNCTION
71580 -- AcctLineType_141
71581 --
71582 ---------------------------------------
71583 PROCEDURE AcctLineType_141 (
71584 p_application_id IN NUMBER
71585 ,p_event_id IN NUMBER
71586 ,p_calculate_acctd_flag IN VARCHAR2
71587 ,p_calculate_g_l_flag IN VARCHAR2
71588 ,p_actual_flag IN OUT VARCHAR2
71589 ,p_balance_type_code OUT VARCHAR2
71590 ,p_gain_or_loss_ref OUT VARCHAR2
71591
71592 --Payment Currency Code
71593 , p_source_8 IN VARCHAR2
71594 --Automatic Offsets Value
71595 , p_source_10 IN VARCHAR2
71596 , p_source_10_meaning IN VARCHAR2
71597 --Invoice Distribution Account
71598 , p_source_25 IN NUMBER
71599 --Internal Realized Gain Account
71600 , p_source_31 IN NUMBER
71601 --Bank Gain Account
71602 , p_source_32 IN NUMBER
71603 --When to Account for Payment Option
71604 , p_source_57 IN VARCHAR2
71605 --Accounting Reversal Indicator
71606 , p_source_58 IN VARCHAR2
71607 --Distribution Link Type
71608 , p_source_60 IN VARCHAR2
71609 --Override Accounted Amount Indicator
71610 , p_source_85 IN VARCHAR2
71611 , p_source_85_meaning IN VARCHAR2
71612 --Third Party Type
71613 , p_source_88 IN VARCHAR2
71614 --Invoice Distribution Tax Line Identifier
71615 , p_source_91 IN NUMBER
71616 --Invoice Distribution Summary Tax Line Identifier
71617 , p_source_93 IN NUMBER
71618 --Business Flow Accounts Payable Application Identifier
71619 , p_source_96 IN NUMBER
71620 --Payment Distribution Type
71621 , p_source_101 IN VARCHAR2
71622 , p_source_101_meaning IN VARCHAR2
71623 --Payment Distribution Amount
71624 , p_source_102 IN NUMBER
71625 --Business Flow Payment Distribution Type
71626 , p_source_103 IN VARCHAR2
71627 --Business Flow Payment Entity Code
71628 , p_source_104 IN VARCHAR2
71629 --Business Flow Payment Distribution Identifier
71630 , p_source_105 IN NUMBER
71631 --Business Flow Payment Identifier
71632 , p_source_106 IN NUMBER
71633 --Payment Distribution Identifier
71634 , p_source_107 IN NUMBER
71635 --Cleared Exchange Date
71636 , p_source_109 IN DATE
71637 --Cleared Exchange Rate
71638 , p_source_110 IN NUMBER
71639 --Cleared Exchange Rate Type
71640 , p_source_111 IN VARCHAR2
71641 --Payment Supplier Identifier
71642 , p_source_113 IN NUMBER
71643 --Payment Supplier Site Identifier
71644 , p_source_114 IN NUMBER
71645 --Payment Distribution Reversed Identifier
71646 , p_source_115 IN NUMBER
71647 --Payment Maturity Date
71648 , p_source_117 IN DATE
71649 --Gain or Loss Indicator between Payment and Clearing
71650 , p_source_162 IN VARCHAR2
71651 --Payment/Clearing Ledger Amount Difference
71652 , p_source_163 IN NUMBER
71653 )
71654 IS
71655
71656 l_component_type VARCHAR2(80);
71657 l_component_code VARCHAR2(30);
71658 l_component_type_code VARCHAR2(1);
71659 l_component_appl_id INTEGER;
71660 l_amb_context_code VARCHAR2(30);
71661 l_entity_code VARCHAR2(30);
71662 l_event_class_code VARCHAR2(30);
71663 l_ae_header_id NUMBER;
71664 l_event_type_code VARCHAR2(30);
71665 l_line_definition_code VARCHAR2(30);
71666 l_line_definition_owner_code VARCHAR2(1);
71667 --
71668 -- adr variables
71669 l_segment VARCHAR2(30);
71670 l_ccid NUMBER;
71671 l_adr_transaction_coa_id NUMBER;
71672 l_adr_accounting_coa_id NUMBER;
71673 l_adr_flexfield_segment_code VARCHAR2(30);
71674 l_adr_flex_value_set_id NUMBER;
71675 l_adr_value_type_code VARCHAR2(30);
71676 l_adr_value_combination_id NUMBER;
71677 l_adr_value_segment_code VARCHAR2(30);
71678
71679 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
71680 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
71681 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
71682 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
71683
71684 -- 4262811 Variables ------------------------------------------------------------------------------------------
71685 l_entered_amt_idx NUMBER;
71686 l_accted_amt_idx NUMBER;
71687 l_acc_rev_flag VARCHAR2(1);
71688 l_accrual_line_num NUMBER;
71689 l_tmp_amt NUMBER;
71690 l_acc_rev_natural_side_code VARCHAR2(1);
71691
71692 l_num_entries NUMBER;
71693 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
71694 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
71695 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
71696 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
71697 l_recog_line_1 NUMBER;
71698 l_recog_line_2 NUMBER;
71699
71700 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
71704 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
71701 l_bflow_applied_to_amt NUMBER; -- 5132302
71702 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
71703
71705
71706 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
71707 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
71708
71709 ---------------------------------------------------------------------------------------------------------------
71710
71711
71712 --
71713 -- bulk performance
71714 --
71715 l_balance_type_code VARCHAR2(1);
71716 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
71717 l_log_module VARCHAR2(240);
71718
71719 --
71720 -- Upgrade strategy
71721 --
71722 l_actual_upg_option VARCHAR2(1);
71723 l_enc_upg_option VARCHAR2(1);
71724
71725 --
71726 BEGIN
71727 --
71728 IF g_log_enabled THEN
71729 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_141';
71730 END IF;
71731 --
71732 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
71733
71734 trace
71735 (p_msg => 'BEGIN of AcctLineType_141'
71736 ,p_level => C_LEVEL_PROCEDURE
71737 ,p_module => l_log_module);
71738
71739 END IF;
71740 --
71741 l_component_type := 'AMB_JLT';
71742 l_component_code := 'AP_GAIN_PMT_CLEAR';
71743 l_component_type_code := 'S';
71744 l_component_appl_id := 200;
71745 l_amb_context_code := 'DEFAULT';
71746 l_entity_code := 'AP_PAYMENTS';
71747 l_event_class_code := 'RECONCILED PAYMENTS';
71748 l_event_type_code := 'RECONCILED PAYMENTS_ALL';
71749 l_line_definition_owner_code := 'S';
71750 l_line_definition_code := 'ACCRUAL_RECONCILED PAYMENTS_A4';
71751 --
71752 l_balance_type_code := 'A';
71753 l_segment := NULL;
71754 l_ccid := NULL;
71755 l_adr_transaction_coa_id := NULL;
71756 l_adr_accounting_coa_id := NULL;
71757 l_adr_flexfield_segment_code := NULL;
71758 l_adr_flex_value_set_id := NULL;
71759 l_adr_value_type_code := NULL;
71760 l_adr_value_combination_id := NULL;
71761 l_adr_value_segment_code := NULL;
71762
71763 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
71764 l_bflow_class_code := ''; -- 4219869 Business Flow
71765 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
71766 l_budgetary_control_flag := 'N';
71767
71768 l_bflow_applied_to_amt_idx := NULL; -- 5132302
71769 l_bflow_applied_to_amt := NULL; -- 5132302
71770 l_entered_amt_idx := NULL; -- 4262811
71771 l_accted_amt_idx := NULL; -- 4262811
71772 l_acc_rev_flag := NULL; -- 4262811
71773 l_accrual_line_num := NULL; -- 4262811
71774 l_tmp_amt := NULL; -- 4262811
71775 --
71776 IF ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
71777 (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
71778 return;
71779 END IF;
71780
71781 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
71782 l_balance_type_code <> 'B' THEN
71783 IF NVL(p_source_57,'
71784 ') = 'ALWAYS_ALWAYS' AND
71785 p_source_117 IS NULL AND
71786 NVL(p_source_162,'
71787 ') = 'GAIN' AND
71788 NVL(p_source_101,'
71789 ') <> 'EXCHANGE RATE VARIANCE' AND
71790 NVL(p_source_101,'
71791 ') <> 'TAX EXCHANGE RATE VARIANCE' AND
71792 NVL(p_source_101,'
71793 ') <> 'BANK CHARGE' AND
71794 NVL(p_source_101,'
71795 ') <> 'BANK ERROR' AND
71796 NVL(p_source_101,'
71797 ') <> 'AWT'
71798 THEN
71799
71800 --
71801 XLA_AE_LINES_PKG.SetNewLine;
71802
71803 p_balance_type_code := l_balance_type_code;
71804 -- set the flag so later we will know whether the gain loss line needs to be created
71805
71806 IF(l_balance_type_code = 'A' ) THEN
71807 p_actual_flag :='G';
71808 END IF;
71809
71810 --
71811 -- bulk performance
71812 --
71813 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
71814 p_header_num => 0); -- 4262811
71815 --
71816 -- set accounting line options
71817 --
71818 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
71819 p_natural_side_code => 'C'
71820 , p_gain_or_loss_flag => 'Y'
71821 , p_gl_transfer_mode_code => 'S'
71822 , p_acct_entry_type_code => 'A'
71823 , p_switch_side_flag => 'Y'
71824 , p_merge_duplicate_code => 'A'
71825 );
71826 --
71827 l_acc_rev_natural_side_code := 'D'; -- 4262811
71828 --
71829 --
71830 -- set accounting line type info
71831 --
71832 xla_ae_lines_pkg.SetAcctLineType
71833 (p_component_type => l_component_type
71834 ,p_event_type_code => l_event_type_code
71838 ,p_accounting_line_type_code => l_component_type_code
71835 ,p_line_definition_owner_code => l_line_definition_owner_code
71836 ,p_line_definition_code => l_line_definition_code
71837 ,p_accounting_line_code => l_component_code
71839 ,p_accounting_line_appl_id => l_component_appl_id
71840 ,p_amb_context_code => l_amb_context_code
71841 ,p_entity_code => l_entity_code
71842 ,p_event_class_code => l_event_class_code);
71843 --
71844 -- set accounting class
71845 --
71846 xla_ae_lines_pkg.SetAcctClass(
71847 p_accounting_class_code => 'GAIN'
71848 , p_ae_header_id => l_ae_header_id
71849 );
71850
71851 --
71852 -- set rounding class
71853 --
71854 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
71855 'GAIN';
71856
71857 --
71858 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
71859 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
71860 --
71861 -- bulk performance
71862 --
71863 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
71864
71865 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
71866 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
71867
71868 -- 4955764
71869 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
71870 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
71871
71872 -- 4458381 Public Sector Enh
71873
71874 --
71875 -- set accounting attributes for the line type
71876 --
71877 l_entered_amt_idx := 10;
71878 l_accted_amt_idx := 15;
71879 l_bflow_applied_to_amt_idx := 2; -- 5132302
71880 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
71881 l_rec_acct_attrs.array_char_value(1) := p_source_58;
71882 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
71883 l_rec_acct_attrs.array_num_value(2) := p_source_102;
71884 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
71885 l_rec_acct_attrs.array_num_value(3) := p_source_96;
71886 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
71887 l_rec_acct_attrs.array_char_value(4) := p_source_103;
71888 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
71889 l_rec_acct_attrs.array_char_value(5) := p_source_104;
71890 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
71891 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_105);
71892 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
71893 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_106);
71894 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
71895 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_107);
71896 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
71897 l_rec_acct_attrs.array_char_value(9) := p_source_60;
71898 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
71899 l_rec_acct_attrs.array_num_value(10) := p_source_102;
71900 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
71901 l_rec_acct_attrs.array_char_value(11) := p_source_8;
71902 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
71903 l_rec_acct_attrs.array_date_value(12) := p_source_109;
71904 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
71905 l_rec_acct_attrs.array_num_value(13) := p_source_110;
71906 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
71907 l_rec_acct_attrs.array_char_value(14) := p_source_111;
71908 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
71909 l_rec_acct_attrs.array_num_value(15) := p_source_163;
71910 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
71911 l_rec_acct_attrs.array_char_value(16) := p_source_85;
71912 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
71913 l_rec_acct_attrs.array_num_value(17) := p_source_113;
71914 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
71915 l_rec_acct_attrs.array_num_value(18) := p_source_114;
71916 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
71917 l_rec_acct_attrs.array_char_value(19) := p_source_88;
71918 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
71919 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_115);
71920 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
71921 l_rec_acct_attrs.array_char_value(21) := p_source_60;
71922 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
71923 l_rec_acct_attrs.array_num_value(22) := p_source_91;
71924 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
71925 l_rec_acct_attrs.array_num_value(23) := p_source_91;
71926 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
71927 l_rec_acct_attrs.array_num_value(24) := p_source_93;
71928
71929 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
71930 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
71931
71935 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
71932 ---------------------------------------------------------------------------------------------------------------
71933 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
71934 ---------------------------------------------------------------------------------------------------------------
71936
71937 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
71938 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
71939
71940 IF xla_accounting_cache_pkg.GetValueChar
71941 (p_source_code => 'LEDGER_CATEGORY_CODE'
71942 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
71943 AND l_bflow_method_code = 'PRIOR_ENTRY'
71944 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
71945 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
71946 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
71947 )
71948 THEN
71949 xla_ae_lines_pkg.BflowUpgEntry
71950 (p_business_method_code => l_bflow_method_code
71951 ,p_business_class_code => l_bflow_class_code
71952 ,p_balance_type => l_balance_type_code);
71953 ELSE
71954 NULL;
71955 -- No business flow processing for business flow method of NONE.
71956 END IF;
71957
71958 --
71959 -- call analytical criteria
71960 --
71961
71962 --
71963 -- call description
71964 --
71965 -- No description or it is inherited.
71966 --
71967 -- call ADRs
71968 -- Bug 4922099
71969 --
71970 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
71971 (NVL(l_actual_upg_option, 'N') = 'O') OR
71972 (NVL(l_enc_upg_option, 'N') = 'O')
71973 )
71974 THEN
71975 NULL;
71976 --
71977 --
71978
71979 l_ccid := AcctDerRule_40(
71980 p_application_id => p_application_id
71981 , p_ae_header_id => l_ae_header_id
71982 , p_source_10 => p_source_10
71983 , p_source_10_meaning => p_source_10_meaning
71984 , p_source_25 => p_source_25
71985 , p_source_31 => p_source_31
71986 , p_source_32 => p_source_32
71987 , x_transaction_coa_id => l_adr_transaction_coa_id
71988 , x_accounting_coa_id => l_adr_accounting_coa_id
71989 , x_value_type_code => l_adr_value_type_code
71990 , p_side => 'NA'
71991 );
71992
71993 xla_ae_lines_pkg.set_ccid(
71994 p_code_combination_id => l_ccid
71995 , p_value_type_code => l_adr_value_type_code
71996 , p_transaction_coa_id => l_adr_transaction_coa_id
71997 , p_accounting_coa_id => l_adr_accounting_coa_id
71998 , p_adr_code => 'AP_REAL_GAIN'
71999 , p_adr_type_code => 'S'
72000 , p_component_type => l_component_type
72001 , p_component_code => l_component_code
72002 , p_component_type_code => l_component_type_code
72003 , p_component_appl_id => l_component_appl_id
72004 , p_amb_context_code => l_amb_context_code
72005 , p_side => 'NA'
72006 );
72007
72008
72009 l_segment := AcctDerRule_23(
72010 p_application_id => p_application_id
72011 , p_ae_header_id => l_ae_header_id
72012 , p_source_10 => p_source_10
72013 , p_source_10_meaning => p_source_10_meaning
72014 , p_source_25 => p_source_25
72015 , x_transaction_coa_id => l_adr_transaction_coa_id
72016 , x_accounting_coa_id => l_adr_accounting_coa_id
72017 , x_flexfield_segment_code => l_adr_flexfield_segment_code
72018 , x_flex_value_set_id => l_adr_flex_value_set_id
72019 , x_value_type_code => l_adr_value_type_code
72020 , x_value_combination_id => l_adr_value_combination_id
72021 , x_value_segment_code => l_adr_value_segment_code
72022 , p_side => 'NA'
72023 , p_override_seg_flag => 'Y'
72024 );
72025
72026 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
72027
72028 xla_ae_lines_pkg.set_segment(
72029 p_to_segment_code => 'GL_BALANCING'
72030 , p_segment_value => l_segment
72031 , p_from_segment_code => l_adr_value_segment_code
72032 , p_from_combination_id => l_adr_value_combination_id
72033 , p_value_type_code => l_adr_value_type_code
72034 , p_transaction_coa_id => l_adr_transaction_coa_id
72035 , p_accounting_coa_id => l_adr_accounting_coa_id
72036 , p_flexfield_segment_code => l_adr_flexfield_segment_code
72037 , p_flex_value_set_id => l_adr_flex_value_set_id
72038 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
72039 , p_adr_type_code => 'S'
72040 , p_component_type => l_component_type
72041 , p_component_code => l_component_code
72042 , p_component_type_code => l_component_type_code
72043 , p_component_appl_id => l_component_appl_id
72047 , p_side => 'NA'
72044 , p_amb_context_code => l_amb_context_code
72045 , p_entity_code => 'AP_PAYMENTS'
72046 , p_event_class_code => 'RECONCILED PAYMENTS'
72048 );
72049
72050 END IF;
72051
72052 l_segment := AcctDerRule_17(
72053 p_application_id => p_application_id
72054 , p_ae_header_id => l_ae_header_id
72055 , p_source_10 => p_source_10
72056 , p_source_10_meaning => p_source_10_meaning
72057 , p_source_31 => p_source_31
72058 , p_source_32 => p_source_32
72059 , x_transaction_coa_id => l_adr_transaction_coa_id
72060 , x_accounting_coa_id => l_adr_accounting_coa_id
72061 , x_flexfield_segment_code => l_adr_flexfield_segment_code
72062 , x_flex_value_set_id => l_adr_flex_value_set_id
72063 , x_value_type_code => l_adr_value_type_code
72064 , x_value_combination_id => l_adr_value_combination_id
72065 , x_value_segment_code => l_adr_value_segment_code
72066 , p_side => 'NA'
72067 , p_override_seg_flag => 'Y'
72068 );
72069
72070 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
72071
72072 xla_ae_lines_pkg.set_segment(
72073 p_to_segment_code => 'GL_ACCOUNT'
72074 , p_segment_value => l_segment
72075 , p_from_segment_code => l_adr_value_segment_code
72076 , p_from_combination_id => l_adr_value_combination_id
72077 , p_value_type_code => l_adr_value_type_code
72078 , p_transaction_coa_id => l_adr_transaction_coa_id
72079 , p_accounting_coa_id => l_adr_accounting_coa_id
72080 , p_flexfield_segment_code => l_adr_flexfield_segment_code
72081 , p_flex_value_set_id => l_adr_flex_value_set_id
72082 , p_adr_code => 'AP_REAL_GAIN_NAT_ACCT_SEG'
72083 , p_adr_type_code => 'S'
72084 , p_component_type => l_component_type
72085 , p_component_code => l_component_code
72086 , p_component_type_code => l_component_type_code
72087 , p_component_appl_id => l_component_appl_id
72088 , p_amb_context_code => l_amb_context_code
72089 , p_entity_code => 'AP_PAYMENTS'
72090 , p_event_class_code => 'RECONCILED PAYMENTS'
72091 , p_side => 'NA'
72092 );
72093
72094 END IF;
72095
72096 --
72097 --
72098 END IF;
72099 --
72100 -- Bug 4922099
72101 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
72102 (NVL(l_enc_upg_option, 'N') = 'O')
72103 ) AND
72104 (l_bflow_method_code = 'PRIOR_ENTRY')
72105 )
72106 THEN
72107 IF
72108 --
72109 1 = 2
72110 --
72111 THEN
72112 xla_accounting_err_pkg.build_message
72113 (p_appli_s_name => 'XLA'
72114 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
72115 ,p_token_1 => 'LINE_NUMBER'
72116 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
72117 ,p_token_2 => 'LINE_TYPE_NAME'
72118 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
72119 l_component_type
72120 ,l_component_code
72121 ,l_component_type_code
72122 ,l_component_appl_id
72123 ,l_amb_context_code
72124 ,l_entity_code
72125 ,l_event_class_code
72126 )
72127 ,p_token_3 => 'OWNER'
72128 ,p_value_3 => xla_lookups_pkg.get_meaning(
72129 p_lookup_type => 'XLA_OWNER_TYPE'
72130 ,p_lookup_code => l_component_type_code
72131 )
72132 ,p_token_4 => 'PRODUCT_NAME'
72133 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
72134 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
72135 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
72136 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
72137 ,p_ae_header_id => NULL
72138 );
72139
72140 IF (C_LEVEL_ERROR>= g_log_level) THEN
72141 trace
72142 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
72146 END IF;
72143 ,p_level => C_LEVEL_ERROR
72144 ,p_module => l_log_module);
72145 END IF;
72147 END IF;
72148 --
72149 --
72150 ------------------------------------------------------------------------------------------------
72151 -- 4219869 Business Flow
72152 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
72153 -- Prior Entry. Currently, the following code is always generated.
72154 ------------------------------------------------------------------------------------------------
72155 XLA_AE_LINES_PKG.ValidateCurrentLine;
72156
72157 ------------------------------------------------------------------------------------
72158 -- 4219869 Business Flow
72159 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
72160 ------------------------------------------------------------------------------------
72161 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
72162
72163 ----------------------------------------------------------------------------------
72164 -- 4219869 Business Flow
72165 -- Update journal entry status -- Need to generate this within IF <condition>
72166 ----------------------------------------------------------------------------------
72167 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
72168 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
72169 ,p_balance_type_code => l_balance_type_code
72170 );
72171
72172 -------------------------------------------------------------------------------------------
72173 -- 4262811 - Generate the Accrual Reversal lines
72174 -------------------------------------------------------------------------------------------
72175 BEGIN
72176 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
72177 (g_array_event(p_event_id).array_value_num('header_index'));
72178 IF l_acc_rev_flag IS NULL THEN
72179 l_acc_rev_flag := 'N';
72180 END IF;
72181 EXCEPTION
72182 WHEN OTHERS THEN
72183 l_acc_rev_flag := 'N';
72184 END;
72185 --
72186 IF (l_acc_rev_flag = 'Y') THEN
72187
72188 -- 4645092 ------------------------------------------------------------------------------
72189 -- To allow MPA report to determine if it should generate report process
72190 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
72191 ------------------------------------------------------------------------------------------
72192
72193 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
72194 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
72195 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
72196 -- call ADRs
72197 -- Bug 4922099
72198 --
72199 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
72200 (NVL(l_actual_upg_option, 'N') = 'O') OR
72201 (NVL(l_enc_upg_option, 'N') = 'O')
72202 )
72203 THEN
72204 NULL;
72205 --
72206 --
72207
72208 l_ccid := AcctDerRule_40(
72209 p_application_id => p_application_id
72210 , p_ae_header_id => l_ae_header_id
72211 , p_source_10 => p_source_10
72212 , p_source_10_meaning => p_source_10_meaning
72213 , p_source_25 => p_source_25
72214 , p_source_31 => p_source_31
72215 , p_source_32 => p_source_32
72216 , x_transaction_coa_id => l_adr_transaction_coa_id
72217 , x_accounting_coa_id => l_adr_accounting_coa_id
72218 , x_value_type_code => l_adr_value_type_code
72219 , p_side => 'NA'
72220 );
72221
72222 xla_ae_lines_pkg.set_ccid(
72223 p_code_combination_id => l_ccid
72224 , p_value_type_code => l_adr_value_type_code
72225 , p_transaction_coa_id => l_adr_transaction_coa_id
72226 , p_accounting_coa_id => l_adr_accounting_coa_id
72227 , p_adr_code => 'AP_REAL_GAIN'
72228 , p_adr_type_code => 'S'
72229 , p_component_type => l_component_type
72230 , p_component_code => l_component_code
72231 , p_component_type_code => l_component_type_code
72232 , p_component_appl_id => l_component_appl_id
72233 , p_amb_context_code => l_amb_context_code
72234 , p_side => 'NA'
72235 );
72236
72237
72238 l_segment := AcctDerRule_23(
72239 p_application_id => p_application_id
72240 , p_ae_header_id => l_ae_header_id
72241 , p_source_10 => p_source_10
72242 , p_source_10_meaning => p_source_10_meaning
72243 , p_source_25 => p_source_25
72244 , x_transaction_coa_id => l_adr_transaction_coa_id
72245 , x_accounting_coa_id => l_adr_accounting_coa_id
72246 , x_flexfield_segment_code => l_adr_flexfield_segment_code
72247 , x_flex_value_set_id => l_adr_flex_value_set_id
72248 , x_value_type_code => l_adr_value_type_code
72249 , x_value_combination_id => l_adr_value_combination_id
72250 , x_value_segment_code => l_adr_value_segment_code
72251 , p_side => 'NA'
72252 , p_override_seg_flag => 'Y'
72253 );
72254
72255 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
72256
72257 xla_ae_lines_pkg.set_segment(
72261 , p_from_combination_id => l_adr_value_combination_id
72258 p_to_segment_code => 'GL_BALANCING'
72259 , p_segment_value => l_segment
72260 , p_from_segment_code => l_adr_value_segment_code
72262 , p_value_type_code => l_adr_value_type_code
72263 , p_transaction_coa_id => l_adr_transaction_coa_id
72264 , p_accounting_coa_id => l_adr_accounting_coa_id
72265 , p_flexfield_segment_code => l_adr_flexfield_segment_code
72266 , p_flex_value_set_id => l_adr_flex_value_set_id
72267 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
72268 , p_adr_type_code => 'S'
72269 , p_component_type => l_component_type
72270 , p_component_code => l_component_code
72271 , p_component_type_code => l_component_type_code
72272 , p_component_appl_id => l_component_appl_id
72273 , p_amb_context_code => l_amb_context_code
72274 , p_entity_code => 'AP_PAYMENTS'
72275 , p_event_class_code => 'RECONCILED PAYMENTS'
72276 , p_side => 'NA'
72277 );
72278
72279 END IF;
72280
72281 l_segment := AcctDerRule_17(
72282 p_application_id => p_application_id
72283 , p_ae_header_id => l_ae_header_id
72284 , p_source_10 => p_source_10
72285 , p_source_10_meaning => p_source_10_meaning
72286 , p_source_31 => p_source_31
72287 , p_source_32 => p_source_32
72288 , x_transaction_coa_id => l_adr_transaction_coa_id
72289 , x_accounting_coa_id => l_adr_accounting_coa_id
72290 , x_flexfield_segment_code => l_adr_flexfield_segment_code
72291 , x_flex_value_set_id => l_adr_flex_value_set_id
72292 , x_value_type_code => l_adr_value_type_code
72293 , x_value_combination_id => l_adr_value_combination_id
72294 , x_value_segment_code => l_adr_value_segment_code
72295 , p_side => 'NA'
72296 , p_override_seg_flag => 'Y'
72297 );
72298
72299 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
72300
72301 xla_ae_lines_pkg.set_segment(
72302 p_to_segment_code => 'GL_ACCOUNT'
72303 , p_segment_value => l_segment
72304 , p_from_segment_code => l_adr_value_segment_code
72305 , p_from_combination_id => l_adr_value_combination_id
72306 , p_value_type_code => l_adr_value_type_code
72307 , p_transaction_coa_id => l_adr_transaction_coa_id
72308 , p_accounting_coa_id => l_adr_accounting_coa_id
72309 , p_flexfield_segment_code => l_adr_flexfield_segment_code
72310 , p_flex_value_set_id => l_adr_flex_value_set_id
72311 , p_adr_code => 'AP_REAL_GAIN_NAT_ACCT_SEG'
72312 , p_adr_type_code => 'S'
72313 , p_component_type => l_component_type
72314 , p_component_code => l_component_code
72315 , p_component_type_code => l_component_type_code
72316 , p_component_appl_id => l_component_appl_id
72317 , p_amb_context_code => l_amb_context_code
72318 , p_entity_code => 'AP_PAYMENTS'
72319 , p_event_class_code => 'RECONCILED PAYMENTS'
72320 , p_side => 'NA'
72321 );
72322
72323 END IF;
72324
72325 --
72326 --
72327 END IF;
72328
72329 --
72330 -- Update the line information that should be overwritten
72331 --
72332 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
72333 p_header_num => 1);
72334 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
72335
72336 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
72337
72338 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
72339 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
72340 END IF;
72341
72342 --
72343 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
72344 --
72345 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
72346 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
72347 ELSE
72348 ---------------------------------------------------------------------------------------------------
72349 -- 4262811a Switch Sign
72350 ---------------------------------------------------------------------------------------------------
72351 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
72352 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
72353 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
72354 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
72355 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
72356 -- 5132302
72357 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
72358 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
72359
72360 END IF;
72361
72365
72362 -- 4955764
72363 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
72364 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
72366
72367 XLA_AE_LINES_PKG.ValidateCurrentLine;
72368 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
72369
72370 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
72371 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
72372 ,p_balance_type_code => l_balance_type_code);
72373
72374 END IF;
72375
72376 -----------------------------------------------------------------------------------------
72377 -- 4262811 Multiperiod Accounting
72378 -----------------------------------------------------------------------------------------
72379 -- No MPA option is assigned.
72380
72381
72382 END IF;
72383 END IF;
72384 --
72385
72386 --
72387 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
72388 trace
72389 (p_msg => 'END of AcctLineType_141'
72390 ,p_level => C_LEVEL_PROCEDURE
72391 ,p_module => l_log_module);
72392 END IF;
72393 --
72394 EXCEPTION
72395 WHEN xla_exceptions_pkg.application_exception THEN
72396 RAISE;
72397 WHEN OTHERS THEN
72398 xla_exceptions_pkg.raise_message
72399 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_141');
72400 END AcctLineType_141;
72401 --
72402
72403 ---------------------------------------
72404 --
72405 -- PRIVATE FUNCTION
72406 -- AcctLineType_142
72407 --
72408 ---------------------------------------
72409 PROCEDURE AcctLineType_142 (
72410 p_application_id IN NUMBER
72411 ,p_event_id IN NUMBER
72412 ,p_calculate_acctd_flag IN VARCHAR2
72413 ,p_calculate_g_l_flag IN VARCHAR2
72414 ,p_actual_flag IN OUT VARCHAR2
72415 ,p_balance_type_code OUT VARCHAR2
72416 ,p_gain_or_loss_ref OUT VARCHAR2
72417
72418 --Payment Currency Code
72419 , p_source_8 IN VARCHAR2
72420 --Automatic Offsets Value
72421 , p_source_10 IN VARCHAR2
72422 , p_source_10_meaning IN VARCHAR2
72423 --Invoice Distribution Account
72424 , p_source_25 IN NUMBER
72425 --Internal Realized Gain Account
72426 , p_source_31 IN NUMBER
72427 --Bank Gain Account
72428 , p_source_32 IN NUMBER
72429 --When to Account for Payment Option
72430 , p_source_57 IN VARCHAR2
72431 --Accounting Reversal Indicator
72432 , p_source_58 IN VARCHAR2
72433 --Distribution Link Type
72434 , p_source_60 IN VARCHAR2
72435 --Override Accounted Amount Indicator
72436 , p_source_85 IN VARCHAR2
72437 , p_source_85_meaning IN VARCHAR2
72438 --Third Party Type
72439 , p_source_88 IN VARCHAR2
72440 --Business Flow Accounts Payable Application Identifier
72441 , p_source_96 IN NUMBER
72442 --Payment Distribution Type
72443 , p_source_101 IN VARCHAR2
72444 , p_source_101_meaning IN VARCHAR2
72445 --Payment Distribution Amount
72446 , p_source_102 IN NUMBER
72447 --Business Flow Payment Distribution Type
72448 , p_source_103 IN VARCHAR2
72449 --Business Flow Payment Entity Code
72450 , p_source_104 IN VARCHAR2
72451 --Business Flow Payment Distribution Identifier
72452 , p_source_105 IN NUMBER
72453 --Business Flow Payment Identifier
72454 , p_source_106 IN NUMBER
72455 --Payment Distribution Identifier
72456 , p_source_107 IN NUMBER
72457 --Payment Supplier Identifier
72458 , p_source_113 IN NUMBER
72459 --Payment Supplier Site Identifier
72460 , p_source_114 IN NUMBER
72461 --Payment Distribution Reversed Identifier
72462 , p_source_115 IN NUMBER
72463 --Payment Maturity Date
72464 , p_source_117 IN DATE
72465 --Payment Exchange Date
72466 , p_source_120 IN DATE
72467 --Payment Exchange Rate
72468 , p_source_121 IN NUMBER
72469 --Payment Exchange Rate Type
72470 , p_source_122 IN VARCHAR2
72471 --Payment/Maturity Ledger Amount Difference
72472 , p_source_157 IN NUMBER
72473 --Gain or Loss Indicator between Payment and Maturity
72474 , p_source_164 IN VARCHAR2
72475 )
72476 IS
72477
72478 l_component_type VARCHAR2(80);
72479 l_component_code VARCHAR2(30);
72480 l_component_type_code VARCHAR2(1);
72481 l_component_appl_id INTEGER;
72482 l_amb_context_code VARCHAR2(30);
72483 l_entity_code VARCHAR2(30);
72484 l_event_class_code VARCHAR2(30);
72485 l_ae_header_id NUMBER;
72486 l_event_type_code VARCHAR2(30);
72487 l_line_definition_code VARCHAR2(30);
72488 l_line_definition_owner_code VARCHAR2(1);
72489 --
72490 -- adr variables
72491 l_segment VARCHAR2(30);
72492 l_ccid NUMBER;
72493 l_adr_transaction_coa_id NUMBER;
72494 l_adr_accounting_coa_id NUMBER;
72495 l_adr_flexfield_segment_code VARCHAR2(30);
72496 l_adr_flex_value_set_id NUMBER;
72497 l_adr_value_type_code VARCHAR2(30);
72498 l_adr_value_combination_id NUMBER;
72499 l_adr_value_segment_code VARCHAR2(30);
72500
72504 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
72501 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
72502 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
72503 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
72505
72506 -- 4262811 Variables ------------------------------------------------------------------------------------------
72507 l_entered_amt_idx NUMBER;
72508 l_accted_amt_idx NUMBER;
72509 l_acc_rev_flag VARCHAR2(1);
72510 l_accrual_line_num NUMBER;
72511 l_tmp_amt NUMBER;
72512 l_acc_rev_natural_side_code VARCHAR2(1);
72513
72514 l_num_entries NUMBER;
72515 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
72516 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
72517 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
72518 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
72519 l_recog_line_1 NUMBER;
72520 l_recog_line_2 NUMBER;
72521
72522 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
72523 l_bflow_applied_to_amt NUMBER; -- 5132302
72524 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
72525
72526 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
72527
72528 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
72529 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
72530
72531 ---------------------------------------------------------------------------------------------------------------
72532
72533
72534 --
72535 -- bulk performance
72536 --
72537 l_balance_type_code VARCHAR2(1);
72538 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
72539 l_log_module VARCHAR2(240);
72540
72541 --
72542 -- Upgrade strategy
72543 --
72544 l_actual_upg_option VARCHAR2(1);
72545 l_enc_upg_option VARCHAR2(1);
72546
72547 --
72548 BEGIN
72549 --
72550 IF g_log_enabled THEN
72551 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_142';
72552 END IF;
72553 --
72554 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
72555
72556 trace
72557 (p_msg => 'BEGIN of AcctLineType_142'
72558 ,p_level => C_LEVEL_PROCEDURE
72559 ,p_module => l_log_module);
72560
72561 END IF;
72562 --
72563 l_component_type := 'AMB_JLT';
72564 l_component_code := 'AP_GAIN_PMT_MAT';
72565 l_component_type_code := 'S';
72566 l_component_appl_id := 200;
72567 l_amb_context_code := 'DEFAULT';
72568 l_entity_code := 'AP_PAYMENTS';
72569 l_event_class_code := 'FUTURE DATED PAYMENTS';
72570 l_event_type_code := 'FUTURE DATED PAYMENTS_ALL';
72571 l_line_definition_owner_code := 'S';
72572 l_line_definition_code := 'ACCRUAL_FUTURE DATED PAYMENTS1';
72573 --
72574 l_balance_type_code := 'A';
72575 l_segment := NULL;
72576 l_ccid := NULL;
72577 l_adr_transaction_coa_id := NULL;
72578 l_adr_accounting_coa_id := NULL;
72579 l_adr_flexfield_segment_code := NULL;
72580 l_adr_flex_value_set_id := NULL;
72581 l_adr_value_type_code := NULL;
72582 l_adr_value_combination_id := NULL;
72583 l_adr_value_segment_code := NULL;
72584
72585 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
72586 l_bflow_class_code := ''; -- 4219869 Business Flow
72587 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
72588 l_budgetary_control_flag := 'N';
72589
72590 l_bflow_applied_to_amt_idx := NULL; -- 5132302
72591 l_bflow_applied_to_amt := NULL; -- 5132302
72592 l_entered_amt_idx := NULL; -- 4262811
72593 l_accted_amt_idx := NULL; -- 4262811
72594 l_acc_rev_flag := NULL; -- 4262811
72595 l_accrual_line_num := NULL; -- 4262811
72596 l_tmp_amt := NULL; -- 4262811
72597 --
72598 IF ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
72599 (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
72600 return;
72601 END IF;
72602
72603 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
72604 l_balance_type_code <> 'B' THEN
72605 IF (NVL(p_source_57,'
72606 ') = 'ALWAYS_ALWAYS' OR
72607 NVL(p_source_57,'
72608 ') = 'ISSUE_ISSUE') AND
72609 p_source_117 IS NOT NULL AND
72610 NVL(p_source_164,'
72611 ') = 'GAIN' AND
72612 NVL(p_source_101,'
72613 ') <> 'EXCHANGE RATE VARIANCE' AND
72614 NVL(p_source_101,'
72615 ') <> 'TAX EXCHANGE RATE VARIANCE' AND
72616 NVL(p_source_101,'
72617 ') <> 'BANK CHARGE' AND
72618 NVL(p_source_101,'
72619 ') <> 'BANK ERROR' AND
72620 NVL(p_source_101,'
72621 ') <> 'AWT'
72622 THEN
72623
72624 --
72625 XLA_AE_LINES_PKG.SetNewLine;
72626
72630 IF(l_balance_type_code = 'A' ) THEN
72627 p_balance_type_code := l_balance_type_code;
72628 -- set the flag so later we will know whether the gain loss line needs to be created
72629
72631 p_actual_flag :='G';
72632 END IF;
72633
72634 --
72635 -- bulk performance
72636 --
72637 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
72638 p_header_num => 0); -- 4262811
72639 --
72640 -- set accounting line options
72641 --
72642 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
72643 p_natural_side_code => 'C'
72644 , p_gain_or_loss_flag => 'Y'
72645 , p_gl_transfer_mode_code => 'S'
72646 , p_acct_entry_type_code => 'A'
72647 , p_switch_side_flag => 'Y'
72648 , p_merge_duplicate_code => 'A'
72649 );
72650 --
72651 l_acc_rev_natural_side_code := 'D'; -- 4262811
72652 --
72653 --
72654 -- set accounting line type info
72655 --
72656 xla_ae_lines_pkg.SetAcctLineType
72657 (p_component_type => l_component_type
72658 ,p_event_type_code => l_event_type_code
72659 ,p_line_definition_owner_code => l_line_definition_owner_code
72660 ,p_line_definition_code => l_line_definition_code
72661 ,p_accounting_line_code => l_component_code
72662 ,p_accounting_line_type_code => l_component_type_code
72663 ,p_accounting_line_appl_id => l_component_appl_id
72664 ,p_amb_context_code => l_amb_context_code
72665 ,p_entity_code => l_entity_code
72666 ,p_event_class_code => l_event_class_code);
72667 --
72668 -- set accounting class
72669 --
72670 xla_ae_lines_pkg.SetAcctClass(
72671 p_accounting_class_code => 'GAIN'
72672 , p_ae_header_id => l_ae_header_id
72673 );
72674
72675 --
72676 -- set rounding class
72677 --
72678 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
72679 'GAIN';
72680
72681 --
72682 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
72683 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
72684 --
72685 -- bulk performance
72686 --
72687 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
72688
72689 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
72690 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
72691
72692 -- 4955764
72693 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
72694 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
72695
72696 -- 4458381 Public Sector Enh
72697
72698 --
72699 -- set accounting attributes for the line type
72700 --
72701 l_entered_amt_idx := 9;
72702 l_accted_amt_idx := 14;
72703 l_bflow_applied_to_amt_idx := NULL; -- 5132302
72704 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
72705 l_rec_acct_attrs.array_char_value(1) := p_source_58;
72706 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_APPLICATION_ID';
72707 l_rec_acct_attrs.array_num_value(2) := p_source_96;
72708 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_DISTRIBUTION_TYPE';
72709 l_rec_acct_attrs.array_char_value(3) := p_source_103;
72710 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_ENTITY_CODE';
72711 l_rec_acct_attrs.array_char_value(4) := p_source_104;
72712 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_FIRST_DIST_ID';
72713 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_105);
72714 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
72715 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_106);
72716 l_rec_acct_attrs.array_acct_attr_code(7) := 'DISTRIBUTION_IDENTIFIER_1';
72717 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_107);
72718 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_TYPE';
72719 l_rec_acct_attrs.array_char_value(8) := p_source_60;
72720 l_rec_acct_attrs.array_acct_attr_code(9) := 'ENTERED_CURRENCY_AMOUNT';
72721 l_rec_acct_attrs.array_num_value(9) := p_source_102;
72722 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_CODE';
72723 l_rec_acct_attrs.array_char_value(10) := p_source_8;
72724 l_rec_acct_attrs.array_acct_attr_code(11) := 'EXCHANGE_DATE';
72725 l_rec_acct_attrs.array_date_value(11) := p_source_120;
72726 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_RATE';
72727 l_rec_acct_attrs.array_num_value(12) := p_source_121;
72728 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE_TYPE';
72729 l_rec_acct_attrs.array_char_value(13) := p_source_122;
72730 l_rec_acct_attrs.array_acct_attr_code(14) := 'LEDGER_AMOUNT';
72731 l_rec_acct_attrs.array_num_value(14) := p_source_157;
72732 l_rec_acct_attrs.array_acct_attr_code(15) := 'OVERRIDE_ACCTD_AMT_FLAG';
72733 l_rec_acct_attrs.array_char_value(15) := p_source_85;
72734 l_rec_acct_attrs.array_acct_attr_code(16) := 'PARTY_ID';
72735 l_rec_acct_attrs.array_num_value(16) := p_source_113;
72739 l_rec_acct_attrs.array_char_value(18) := p_source_88;
72736 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_SITE_ID';
72737 l_rec_acct_attrs.array_num_value(17) := p_source_114;
72738 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_TYPE';
72740 l_rec_acct_attrs.array_acct_attr_code(19) := 'REVERSED_DISTRIBUTION_ID1';
72741 l_rec_acct_attrs.array_num_value(19) := to_char(p_source_115);
72742 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_TYPE';
72743 l_rec_acct_attrs.array_char_value(20) := p_source_60;
72744
72745 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
72746 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
72747
72748 ---------------------------------------------------------------------------------------------------------------
72749 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
72750 ---------------------------------------------------------------------------------------------------------------
72751 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
72752
72753 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
72754 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
72755
72756 IF xla_accounting_cache_pkg.GetValueChar
72757 (p_source_code => 'LEDGER_CATEGORY_CODE'
72758 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
72759 AND l_bflow_method_code = 'PRIOR_ENTRY'
72760 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
72761 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
72762 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
72763 )
72764 THEN
72765 xla_ae_lines_pkg.BflowUpgEntry
72766 (p_business_method_code => l_bflow_method_code
72767 ,p_business_class_code => l_bflow_class_code
72768 ,p_balance_type => l_balance_type_code);
72769 ELSE
72770 NULL;
72771 -- No business flow processing for business flow method of NONE.
72772 END IF;
72773
72774 --
72775 -- call analytical criteria
72776 --
72777
72778 --
72779 -- call description
72780 --
72781 -- No description or it is inherited.
72782 --
72783 -- call ADRs
72784 -- Bug 4922099
72785 --
72786 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
72787 (NVL(l_actual_upg_option, 'N') = 'O') OR
72788 (NVL(l_enc_upg_option, 'N') = 'O')
72789 )
72790 THEN
72791 NULL;
72792 --
72793 --
72794
72795 l_ccid := AcctDerRule_40(
72796 p_application_id => p_application_id
72797 , p_ae_header_id => l_ae_header_id
72798 , p_source_10 => p_source_10
72799 , p_source_10_meaning => p_source_10_meaning
72800 , p_source_25 => p_source_25
72801 , p_source_31 => p_source_31
72802 , p_source_32 => p_source_32
72803 , x_transaction_coa_id => l_adr_transaction_coa_id
72804 , x_accounting_coa_id => l_adr_accounting_coa_id
72805 , x_value_type_code => l_adr_value_type_code
72806 , p_side => 'NA'
72807 );
72808
72809 xla_ae_lines_pkg.set_ccid(
72810 p_code_combination_id => l_ccid
72811 , p_value_type_code => l_adr_value_type_code
72812 , p_transaction_coa_id => l_adr_transaction_coa_id
72813 , p_accounting_coa_id => l_adr_accounting_coa_id
72814 , p_adr_code => 'AP_REAL_GAIN'
72815 , p_adr_type_code => 'S'
72816 , p_component_type => l_component_type
72817 , p_component_code => l_component_code
72818 , p_component_type_code => l_component_type_code
72819 , p_component_appl_id => l_component_appl_id
72820 , p_amb_context_code => l_amb_context_code
72821 , p_side => 'NA'
72822 );
72823
72824
72825 l_segment := AcctDerRule_23(
72826 p_application_id => p_application_id
72827 , p_ae_header_id => l_ae_header_id
72828 , p_source_10 => p_source_10
72829 , p_source_10_meaning => p_source_10_meaning
72830 , p_source_25 => p_source_25
72831 , x_transaction_coa_id => l_adr_transaction_coa_id
72832 , x_accounting_coa_id => l_adr_accounting_coa_id
72833 , x_flexfield_segment_code => l_adr_flexfield_segment_code
72834 , x_flex_value_set_id => l_adr_flex_value_set_id
72835 , x_value_type_code => l_adr_value_type_code
72836 , x_value_combination_id => l_adr_value_combination_id
72837 , x_value_segment_code => l_adr_value_segment_code
72838 , p_side => 'NA'
72839 , p_override_seg_flag => 'Y'
72840 );
72841
72842 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
72843
72844 xla_ae_lines_pkg.set_segment(
72845 p_to_segment_code => 'GL_BALANCING'
72846 , p_segment_value => l_segment
72847 , p_from_segment_code => l_adr_value_segment_code
72848 , p_from_combination_id => l_adr_value_combination_id
72849 , p_value_type_code => l_adr_value_type_code
72850 , p_transaction_coa_id => l_adr_transaction_coa_id
72854 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
72851 , p_accounting_coa_id => l_adr_accounting_coa_id
72852 , p_flexfield_segment_code => l_adr_flexfield_segment_code
72853 , p_flex_value_set_id => l_adr_flex_value_set_id
72855 , p_adr_type_code => 'S'
72856 , p_component_type => l_component_type
72857 , p_component_code => l_component_code
72858 , p_component_type_code => l_component_type_code
72859 , p_component_appl_id => l_component_appl_id
72860 , p_amb_context_code => l_amb_context_code
72861 , p_entity_code => 'AP_PAYMENTS'
72862 , p_event_class_code => 'FUTURE DATED PAYMENTS'
72863 , p_side => 'NA'
72864 );
72865
72866 END IF;
72867
72868 l_segment := AcctDerRule_17(
72869 p_application_id => p_application_id
72870 , p_ae_header_id => l_ae_header_id
72871 , p_source_10 => p_source_10
72872 , p_source_10_meaning => p_source_10_meaning
72873 , p_source_31 => p_source_31
72874 , p_source_32 => p_source_32
72875 , x_transaction_coa_id => l_adr_transaction_coa_id
72876 , x_accounting_coa_id => l_adr_accounting_coa_id
72877 , x_flexfield_segment_code => l_adr_flexfield_segment_code
72878 , x_flex_value_set_id => l_adr_flex_value_set_id
72879 , x_value_type_code => l_adr_value_type_code
72880 , x_value_combination_id => l_adr_value_combination_id
72881 , x_value_segment_code => l_adr_value_segment_code
72882 , p_side => 'NA'
72883 , p_override_seg_flag => 'Y'
72884 );
72885
72886 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
72887
72888 xla_ae_lines_pkg.set_segment(
72889 p_to_segment_code => 'GL_ACCOUNT'
72890 , p_segment_value => l_segment
72891 , p_from_segment_code => l_adr_value_segment_code
72892 , p_from_combination_id => l_adr_value_combination_id
72893 , p_value_type_code => l_adr_value_type_code
72894 , p_transaction_coa_id => l_adr_transaction_coa_id
72895 , p_accounting_coa_id => l_adr_accounting_coa_id
72896 , p_flexfield_segment_code => l_adr_flexfield_segment_code
72897 , p_flex_value_set_id => l_adr_flex_value_set_id
72898 , p_adr_code => 'AP_REAL_GAIN_NAT_ACCT_SEG'
72899 , p_adr_type_code => 'S'
72900 , p_component_type => l_component_type
72901 , p_component_code => l_component_code
72902 , p_component_type_code => l_component_type_code
72903 , p_component_appl_id => l_component_appl_id
72904 , p_amb_context_code => l_amb_context_code
72905 , p_entity_code => 'AP_PAYMENTS'
72906 , p_event_class_code => 'FUTURE DATED PAYMENTS'
72907 , p_side => 'NA'
72908 );
72909
72910 END IF;
72911
72912 --
72913 --
72914 END IF;
72915 --
72916 -- Bug 4922099
72917 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
72918 (NVL(l_enc_upg_option, 'N') = 'O')
72919 ) AND
72920 (l_bflow_method_code = 'PRIOR_ENTRY')
72921 )
72922 THEN
72923 IF
72924 --
72925 1 = 2
72926 --
72927 THEN
72928 xla_accounting_err_pkg.build_message
72929 (p_appli_s_name => 'XLA'
72930 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
72931 ,p_token_1 => 'LINE_NUMBER'
72932 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
72933 ,p_token_2 => 'LINE_TYPE_NAME'
72934 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
72935 l_component_type
72936 ,l_component_code
72937 ,l_component_type_code
72938 ,l_component_appl_id
72939 ,l_amb_context_code
72940 ,l_entity_code
72941 ,l_event_class_code
72942 )
72943 ,p_token_3 => 'OWNER'
72944 ,p_value_3 => xla_lookups_pkg.get_meaning(
72945 p_lookup_type => 'XLA_OWNER_TYPE'
72946 ,p_lookup_code => l_component_type_code
72947 )
72948 ,p_token_4 => 'PRODUCT_NAME'
72949 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
72950 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
72954 );
72951 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
72952 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
72953 ,p_ae_header_id => NULL
72955
72956 IF (C_LEVEL_ERROR>= g_log_level) THEN
72957 trace
72958 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
72959 ,p_level => C_LEVEL_ERROR
72960 ,p_module => l_log_module);
72961 END IF;
72962 END IF;
72963 END IF;
72964 --
72965 --
72966 ------------------------------------------------------------------------------------------------
72967 -- 4219869 Business Flow
72968 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
72969 -- Prior Entry. Currently, the following code is always generated.
72970 ------------------------------------------------------------------------------------------------
72971 XLA_AE_LINES_PKG.ValidateCurrentLine;
72972
72973 ------------------------------------------------------------------------------------
72974 -- 4219869 Business Flow
72975 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
72976 ------------------------------------------------------------------------------------
72977 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
72978
72979 ----------------------------------------------------------------------------------
72980 -- 4219869 Business Flow
72981 -- Update journal entry status -- Need to generate this within IF <condition>
72982 ----------------------------------------------------------------------------------
72983 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
72984 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
72985 ,p_balance_type_code => l_balance_type_code
72986 );
72987
72988 -------------------------------------------------------------------------------------------
72989 -- 4262811 - Generate the Accrual Reversal lines
72990 -------------------------------------------------------------------------------------------
72991 BEGIN
72992 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
72993 (g_array_event(p_event_id).array_value_num('header_index'));
72994 IF l_acc_rev_flag IS NULL THEN
72995 l_acc_rev_flag := 'N';
72996 END IF;
72997 EXCEPTION
72998 WHEN OTHERS THEN
72999 l_acc_rev_flag := 'N';
73000 END;
73001 --
73002 IF (l_acc_rev_flag = 'Y') THEN
73003
73004 -- 4645092 ------------------------------------------------------------------------------
73005 -- To allow MPA report to determine if it should generate report process
73006 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
73007 ------------------------------------------------------------------------------------------
73008
73009 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
73010 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
73011 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
73012 -- call ADRs
73013 -- Bug 4922099
73014 --
73015 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
73016 (NVL(l_actual_upg_option, 'N') = 'O') OR
73017 (NVL(l_enc_upg_option, 'N') = 'O')
73018 )
73019 THEN
73020 NULL;
73021 --
73022 --
73023
73024 l_ccid := AcctDerRule_40(
73025 p_application_id => p_application_id
73026 , p_ae_header_id => l_ae_header_id
73027 , p_source_10 => p_source_10
73028 , p_source_10_meaning => p_source_10_meaning
73029 , p_source_25 => p_source_25
73030 , p_source_31 => p_source_31
73031 , p_source_32 => p_source_32
73032 , x_transaction_coa_id => l_adr_transaction_coa_id
73033 , x_accounting_coa_id => l_adr_accounting_coa_id
73034 , x_value_type_code => l_adr_value_type_code
73035 , p_side => 'NA'
73036 );
73037
73038 xla_ae_lines_pkg.set_ccid(
73039 p_code_combination_id => l_ccid
73040 , p_value_type_code => l_adr_value_type_code
73041 , p_transaction_coa_id => l_adr_transaction_coa_id
73042 , p_accounting_coa_id => l_adr_accounting_coa_id
73043 , p_adr_code => 'AP_REAL_GAIN'
73044 , p_adr_type_code => 'S'
73045 , p_component_type => l_component_type
73046 , p_component_code => l_component_code
73047 , p_component_type_code => l_component_type_code
73048 , p_component_appl_id => l_component_appl_id
73049 , p_amb_context_code => l_amb_context_code
73050 , p_side => 'NA'
73051 );
73052
73053
73054 l_segment := AcctDerRule_23(
73055 p_application_id => p_application_id
73056 , p_ae_header_id => l_ae_header_id
73057 , p_source_10 => p_source_10
73058 , p_source_10_meaning => p_source_10_meaning
73059 , p_source_25 => p_source_25
73060 , x_transaction_coa_id => l_adr_transaction_coa_id
73061 , x_accounting_coa_id => l_adr_accounting_coa_id
73062 , x_flexfield_segment_code => l_adr_flexfield_segment_code
73063 , x_flex_value_set_id => l_adr_flex_value_set_id
73067 , p_side => 'NA'
73064 , x_value_type_code => l_adr_value_type_code
73065 , x_value_combination_id => l_adr_value_combination_id
73066 , x_value_segment_code => l_adr_value_segment_code
73068 , p_override_seg_flag => 'Y'
73069 );
73070
73071 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
73072
73073 xla_ae_lines_pkg.set_segment(
73074 p_to_segment_code => 'GL_BALANCING'
73075 , p_segment_value => l_segment
73076 , p_from_segment_code => l_adr_value_segment_code
73077 , p_from_combination_id => l_adr_value_combination_id
73078 , p_value_type_code => l_adr_value_type_code
73079 , p_transaction_coa_id => l_adr_transaction_coa_id
73080 , p_accounting_coa_id => l_adr_accounting_coa_id
73081 , p_flexfield_segment_code => l_adr_flexfield_segment_code
73082 , p_flex_value_set_id => l_adr_flex_value_set_id
73083 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
73084 , p_adr_type_code => 'S'
73085 , p_component_type => l_component_type
73086 , p_component_code => l_component_code
73087 , p_component_type_code => l_component_type_code
73088 , p_component_appl_id => l_component_appl_id
73089 , p_amb_context_code => l_amb_context_code
73090 , p_entity_code => 'AP_PAYMENTS'
73091 , p_event_class_code => 'FUTURE DATED PAYMENTS'
73092 , p_side => 'NA'
73093 );
73094
73095 END IF;
73096
73097 l_segment := AcctDerRule_17(
73098 p_application_id => p_application_id
73099 , p_ae_header_id => l_ae_header_id
73100 , p_source_10 => p_source_10
73101 , p_source_10_meaning => p_source_10_meaning
73102 , p_source_31 => p_source_31
73103 , p_source_32 => p_source_32
73104 , x_transaction_coa_id => l_adr_transaction_coa_id
73105 , x_accounting_coa_id => l_adr_accounting_coa_id
73106 , x_flexfield_segment_code => l_adr_flexfield_segment_code
73107 , x_flex_value_set_id => l_adr_flex_value_set_id
73108 , x_value_type_code => l_adr_value_type_code
73109 , x_value_combination_id => l_adr_value_combination_id
73110 , x_value_segment_code => l_adr_value_segment_code
73111 , p_side => 'NA'
73112 , p_override_seg_flag => 'Y'
73113 );
73114
73115 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
73116
73117 xla_ae_lines_pkg.set_segment(
73118 p_to_segment_code => 'GL_ACCOUNT'
73119 , p_segment_value => l_segment
73120 , p_from_segment_code => l_adr_value_segment_code
73121 , p_from_combination_id => l_adr_value_combination_id
73122 , p_value_type_code => l_adr_value_type_code
73123 , p_transaction_coa_id => l_adr_transaction_coa_id
73124 , p_accounting_coa_id => l_adr_accounting_coa_id
73125 , p_flexfield_segment_code => l_adr_flexfield_segment_code
73126 , p_flex_value_set_id => l_adr_flex_value_set_id
73127 , p_adr_code => 'AP_REAL_GAIN_NAT_ACCT_SEG'
73128 , p_adr_type_code => 'S'
73129 , p_component_type => l_component_type
73130 , p_component_code => l_component_code
73131 , p_component_type_code => l_component_type_code
73132 , p_component_appl_id => l_component_appl_id
73133 , p_amb_context_code => l_amb_context_code
73134 , p_entity_code => 'AP_PAYMENTS'
73135 , p_event_class_code => 'FUTURE DATED PAYMENTS'
73136 , p_side => 'NA'
73137 );
73138
73139 END IF;
73140
73141 --
73142 --
73143 END IF;
73144
73145 --
73146 -- Update the line information that should be overwritten
73147 --
73148 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
73149 p_header_num => 1);
73150 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
73151
73152 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
73153
73154 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
73155 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
73156 END IF;
73157
73158 --
73159 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
73160 --
73161 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
73162 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
73163 ELSE
73164 ---------------------------------------------------------------------------------------------------
73165 -- 4262811a Switch Sign
73166 ---------------------------------------------------------------------------------------------------
73167 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
73168 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
73169 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
73173 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
73170 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
73171 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
73172 -- 5132302
73174 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
73175
73176 END IF;
73177
73178 -- 4955764
73179 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
73180 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
73181
73182
73183 XLA_AE_LINES_PKG.ValidateCurrentLine;
73184 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
73185
73186 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
73187 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
73188 ,p_balance_type_code => l_balance_type_code);
73189
73190 END IF;
73191
73192 -----------------------------------------------------------------------------------------
73193 -- 4262811 Multiperiod Accounting
73194 -----------------------------------------------------------------------------------------
73195 -- No MPA option is assigned.
73196
73197
73198 END IF;
73199 END IF;
73200 --
73201
73202 --
73203 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
73204 trace
73205 (p_msg => 'END of AcctLineType_142'
73206 ,p_level => C_LEVEL_PROCEDURE
73207 ,p_module => l_log_module);
73208 END IF;
73209 --
73210 EXCEPTION
73211 WHEN xla_exceptions_pkg.application_exception THEN
73212 RAISE;
73213 WHEN OTHERS THEN
73214 xla_exceptions_pkg.raise_message
73215 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_142');
73216 END AcctLineType_142;
73217 --
73218
73219 ---------------------------------------
73220 --
73221 -- PRIVATE FUNCTION
73222 -- AcctLineType_143
73223 --
73224 ---------------------------------------
73225 PROCEDURE AcctLineType_143 (
73226 p_application_id IN NUMBER
73227 ,p_event_id IN NUMBER
73228 ,p_calculate_acctd_flag IN VARCHAR2
73229 ,p_calculate_g_l_flag IN VARCHAR2
73230 ,p_actual_flag IN OUT VARCHAR2
73231 ,p_balance_type_code OUT VARCHAR2
73232 ,p_gain_or_loss_ref OUT VARCHAR2
73233
73234 --Automatic Offsets Value
73235 , p_source_10 IN VARCHAR2
73236 , p_source_10_meaning IN VARCHAR2
73237 --Invoice Distribution Account
73238 , p_source_25 IN NUMBER
73239 --Internal Realized Gain Account
73240 , p_source_31 IN NUMBER
73241 --Bank Gain Account
73242 , p_source_32 IN NUMBER
73243 --Accounting Reversal Indicator
73244 , p_source_58 IN VARCHAR2
73245 --Distribution Link Type
73246 , p_source_60 IN VARCHAR2
73247 --Invoice Identifier
73248 , p_source_63 IN NUMBER
73249 --Payables Encumbrance Upgrade Credit Account
73250 , p_source_70 IN NUMBER
73251 --Payables Encumbrance Upgrade Credit Amount
73252 , p_source_71 IN NUMBER
73253 --Invoice Currency Code
73254 , p_source_72 IN VARCHAR2
73255 --Payables Encumbrance Upgrade Credit Base Amount
73256 , p_source_73 IN NUMBER
73257 --Payables Encumbrance Upgrade Debit Account
73258 , p_source_74 IN NUMBER
73259 --Payables Encumbrance Upgrade Debit Amount
73260 , p_source_75 IN NUMBER
73261 --Payables Encumbrance Upgrade Debit Base Amount
73262 , p_source_76 IN NUMBER
73263 --Payables Encumbrance Upgrade Option
73264 , p_source_77 IN VARCHAR2
73265 --Deferred Accounting End Date
73266 , p_source_82 IN DATE
73267 --Deferred Accounting Option
73268 , p_source_83 IN VARCHAR2
73269 --Deferred Accounting Start Date
73270 , p_source_84 IN DATE
73271 --Override Accounted Amount Indicator
73272 , p_source_85 IN VARCHAR2
73273 , p_source_85_meaning IN VARCHAR2
73274 --Invoice Supplier Identifier
73275 , p_source_86 IN NUMBER
73276 --Invoice Supplier Site Identifier
73277 , p_source_87 IN NUMBER
73278 --Third Party Type
73279 , p_source_88 IN VARCHAR2
73280 --Invoice Distribution Tax Line Identifier
73281 , p_source_91 IN NUMBER
73282 --Invoice Distribution Tax Distribution Identifier from Tax
73283 , p_source_92 IN NUMBER
73284 --Invoice Distribution Summary Tax Line Identifier
73285 , p_source_93 IN NUMBER
73286 --Payables Upgrade Credit Encumbrance Type Identifier
73287 , p_source_94 IN NUMBER
73288 --Payables Upgrade Debit Encumbrance Type Identifier
73289 , p_source_95 IN NUMBER
73290 --Business Flow Accounts Payable Application Identifier
73291 , p_source_96 IN NUMBER
73292 --Prepayment Distribution Type
73293 , p_source_128 IN VARCHAR2
73294 --Prepayment Application Distribution Identifier
73295 , p_source_130 IN NUMBER
73296 --Upgrade Encumbrance Credit Account Class
73297 , p_source_135 IN VARCHAR2
73298 --Upgrade Encumbrance Debit Account Class
73299 , p_source_136 IN VARCHAR2
73300 --Prepayment Distribution Amount
73304 --Invoice Exchange Date
73301 , p_source_137 IN NUMBER
73302 --Identifier of the Prepayment Application Reversed
73303 , p_source_139 IN NUMBER
73305 , p_source_146 IN DATE
73306 --Invoice Exchange Rate
73307 , p_source_147 IN NUMBER
73308 --Invoice Exchange Rate Type
73309 , p_source_148 IN VARCHAR2
73310 --Business Flow Prepayment Invoice Distribution Type
73311 , p_source_149 IN VARCHAR2
73312 --Business Flow Prepayment Invoice Entity Code
73313 , p_source_150 IN VARCHAR2
73314 --Business Flow Prepayment Invoice Distribution Identifier
73315 , p_source_151 IN NUMBER
73316 --Business Flow Prepayment Invoice Identifier
73317 , p_source_152 IN NUMBER
73318 --Prepayment/Invoice Ledger Amount Difference
73319 , p_source_158 IN NUMBER
73320 --Gain or Loss Indicator between Prepayment and Invoice
73321 , p_source_165 IN VARCHAR2
73322 )
73323 IS
73324
73325 l_component_type VARCHAR2(80);
73326 l_component_code VARCHAR2(30);
73327 l_component_type_code VARCHAR2(1);
73328 l_component_appl_id INTEGER;
73329 l_amb_context_code VARCHAR2(30);
73330 l_entity_code VARCHAR2(30);
73331 l_event_class_code VARCHAR2(30);
73332 l_ae_header_id NUMBER;
73333 l_event_type_code VARCHAR2(30);
73334 l_line_definition_code VARCHAR2(30);
73335 l_line_definition_owner_code VARCHAR2(1);
73336 --
73337 -- adr variables
73338 l_segment VARCHAR2(30);
73339 l_ccid NUMBER;
73340 l_adr_transaction_coa_id NUMBER;
73341 l_adr_accounting_coa_id NUMBER;
73342 l_adr_flexfield_segment_code VARCHAR2(30);
73343 l_adr_flex_value_set_id NUMBER;
73344 l_adr_value_type_code VARCHAR2(30);
73345 l_adr_value_combination_id NUMBER;
73346 l_adr_value_segment_code VARCHAR2(30);
73347
73348 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
73349 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
73350 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
73351 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
73352
73353 -- 4262811 Variables ------------------------------------------------------------------------------------------
73354 l_entered_amt_idx NUMBER;
73355 l_accted_amt_idx NUMBER;
73356 l_acc_rev_flag VARCHAR2(1);
73357 l_accrual_line_num NUMBER;
73358 l_tmp_amt NUMBER;
73359 l_acc_rev_natural_side_code VARCHAR2(1);
73360
73361 l_num_entries NUMBER;
73362 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
73363 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
73364 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
73365 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
73366 l_recog_line_1 NUMBER;
73367 l_recog_line_2 NUMBER;
73368
73369 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
73370 l_bflow_applied_to_amt NUMBER; -- 5132302
73371 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
73372
73373 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
73374
73375 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
73376 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
73377
73378 ---------------------------------------------------------------------------------------------------------------
73379
73380
73381 --
73382 -- bulk performance
73383 --
73384 l_balance_type_code VARCHAR2(1);
73385 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
73386 l_log_module VARCHAR2(240);
73387
73388 --
73389 -- Upgrade strategy
73390 --
73391 l_actual_upg_option VARCHAR2(1);
73392 l_enc_upg_option VARCHAR2(1);
73393
73394 --
73395 BEGIN
73396 --
73397 IF g_log_enabled THEN
73398 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_143';
73399 END IF;
73400 --
73401 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
73402
73403 trace
73404 (p_msg => 'BEGIN of AcctLineType_143'
73405 ,p_level => C_LEVEL_PROCEDURE
73406 ,p_module => l_log_module);
73407
73408 END IF;
73409 --
73410 l_component_type := 'AMB_JLT';
73411 l_component_code := 'AP_GAIN_PREPAY_APP';
73412 l_component_type_code := 'S';
73413 l_component_appl_id := 200;
73414 l_amb_context_code := 'DEFAULT';
73415 l_entity_code := 'AP_INVOICES';
73416 l_event_class_code := 'PREPAYMENT APPLICATIONS';
73417 l_event_type_code := 'PREPAYMENT APPLICATIONS_ALL';
73418 l_line_definition_owner_code := 'S';
73419 l_line_definition_code := 'ACCRUAL_PREPAYMENT APPLICATIO2';
73420 --
73421 l_balance_type_code := 'A';
73422 l_segment := NULL;
73423 l_ccid := NULL;
73424 l_adr_transaction_coa_id := NULL;
73425 l_adr_accounting_coa_id := NULL;
73426 l_adr_flexfield_segment_code := NULL;
73427 l_adr_flex_value_set_id := NULL;
73431
73428 l_adr_value_type_code := NULL;
73429 l_adr_value_combination_id := NULL;
73430 l_adr_value_segment_code := NULL;
73432 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
73433 l_bflow_class_code := ''; -- 4219869 Business Flow
73434 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
73435 l_budgetary_control_flag := 'N';
73436
73437 l_bflow_applied_to_amt_idx := NULL; -- 5132302
73438 l_bflow_applied_to_amt := NULL; -- 5132302
73439 l_entered_amt_idx := NULL; -- 4262811
73440 l_accted_amt_idx := NULL; -- 4262811
73441 l_acc_rev_flag := NULL; -- 4262811
73442 l_accrual_line_num := NULL; -- 4262811
73443 l_tmp_amt := NULL; -- 4262811
73444 --
73445 IF ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
73446 (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
73447 return;
73448 END IF;
73449
73450 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
73451 l_balance_type_code <> 'B' THEN
73452 IF NVL(p_source_128,'
73453 ') = 'PREPAY APPL' AND
73454 NVL(p_source_165,'
73455 ') = 'GAIN'
73456 THEN
73457
73458 --
73459 XLA_AE_LINES_PKG.SetNewLine;
73460
73461 p_balance_type_code := l_balance_type_code;
73462 -- set the flag so later we will know whether the gain loss line needs to be created
73463
73464 IF(l_balance_type_code = 'A' ) THEN
73465 p_actual_flag :='G';
73466 END IF;
73467
73468 --
73469 -- bulk performance
73470 --
73471 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
73472 p_header_num => 0); -- 4262811
73473 --
73474 -- set accounting line options
73475 --
73476 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
73477 p_natural_side_code => 'D'
73478 , p_gain_or_loss_flag => 'Y'
73479 , p_gl_transfer_mode_code => 'S'
73480 , p_acct_entry_type_code => 'A'
73481 , p_switch_side_flag => 'Y'
73482 , p_merge_duplicate_code => 'A'
73483 );
73484 --
73485 l_acc_rev_natural_side_code := 'C'; -- 4262811
73486 --
73487 --
73488 -- set accounting line type info
73489 --
73490 xla_ae_lines_pkg.SetAcctLineType
73491 (p_component_type => l_component_type
73492 ,p_event_type_code => l_event_type_code
73493 ,p_line_definition_owner_code => l_line_definition_owner_code
73494 ,p_line_definition_code => l_line_definition_code
73495 ,p_accounting_line_code => l_component_code
73496 ,p_accounting_line_type_code => l_component_type_code
73497 ,p_accounting_line_appl_id => l_component_appl_id
73498 ,p_amb_context_code => l_amb_context_code
73499 ,p_entity_code => l_entity_code
73500 ,p_event_class_code => l_event_class_code);
73501 --
73502 -- set accounting class
73503 --
73504 xla_ae_lines_pkg.SetAcctClass(
73505 p_accounting_class_code => 'GAIN'
73506 , p_ae_header_id => l_ae_header_id
73507 );
73508
73509 --
73510 -- set rounding class
73511 --
73512 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
73513 'GAIN';
73514
73515 --
73516 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
73517 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
73518 --
73519 -- bulk performance
73520 --
73521 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
73522
73523 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
73524 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
73525
73526 -- 4955764
73527 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
73528 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
73529
73530 -- 4458381 Public Sector Enh
73531
73532 --
73533 -- set accounting attributes for the line type
73534 --
73535 l_entered_amt_idx := 25;
73536 l_accted_amt_idx := 30;
73537 l_bflow_applied_to_amt_idx := NULL; -- 5132302
73538 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
73539 l_rec_acct_attrs.array_char_value(1) := p_source_58;
73540 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
73541 l_rec_acct_attrs.array_num_value(2) :=
73542 xla_ae_sources_pkg.GetSystemSourceNum(
73543 p_source_code => 'XLA_EVENT_APPL_ID'
73544 , p_source_type_code => 'Y'
73545 , p_source_application_id => 602
73546 );
73547 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
73548 l_rec_acct_attrs.array_char_value(3) := p_source_60;
73549 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
73553 , p_source_type_code => 'Y'
73550 l_rec_acct_attrs.array_char_value(4) :=
73551 xla_ae_sources_pkg.GetSystemSourceChar(
73552 p_source_code => 'XLA_ENTITY_CODE'
73554 , p_source_application_id => 602
73555 );
73556 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
73557 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_130);
73558 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
73559 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_63);
73560 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
73561 l_rec_acct_attrs.array_num_value(7) := p_source_96;
73562 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
73563 l_rec_acct_attrs.array_char_value(8) := p_source_149;
73564 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
73565 l_rec_acct_attrs.array_char_value(9) := p_source_150;
73566 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
73567 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_151);
73568 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
73569 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_152);
73570 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
73571 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_130);
73572 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
73573 l_rec_acct_attrs.array_char_value(13) := p_source_60;
73574 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_ACCT_CLASS';
73575 l_rec_acct_attrs.array_char_value(14) := p_source_135;
73576 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
73577 l_rec_acct_attrs.array_num_value(15) := p_source_70;
73578 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
73579 l_rec_acct_attrs.array_num_value(16) := p_source_71;
73580 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
73581 l_rec_acct_attrs.array_char_value(17) := p_source_72;
73582 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
73583 l_rec_acct_attrs.array_num_value(18) := p_source_73;
73584 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ACCT_CLASS';
73585 l_rec_acct_attrs.array_char_value(19) := p_source_136;
73586 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_CCID';
73587 l_rec_acct_attrs.array_num_value(20) := p_source_74;
73588 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_AMT';
73589 l_rec_acct_attrs.array_num_value(21) := p_source_75;
73590 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_ENTERED_CURR';
73591 l_rec_acct_attrs.array_char_value(22) := p_source_72;
73592 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_DR_LEDGER_AMT';
73593 l_rec_acct_attrs.array_num_value(23) := p_source_76;
73594 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENC_UPG_OPTION';
73595 l_rec_acct_attrs.array_char_value(24) := p_source_77;
73596 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_AMOUNT';
73597 l_rec_acct_attrs.array_num_value(25) := p_source_137;
73598 l_rec_acct_attrs.array_acct_attr_code(26) := 'ENTERED_CURRENCY_CODE';
73599 l_rec_acct_attrs.array_char_value(26) := p_source_72;
73600 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_DATE';
73601 l_rec_acct_attrs.array_date_value(27) := p_source_146;
73602 l_rec_acct_attrs.array_acct_attr_code(28) := 'EXCHANGE_RATE';
73603 l_rec_acct_attrs.array_num_value(28) := p_source_147;
73604 l_rec_acct_attrs.array_acct_attr_code(29) := 'EXCHANGE_RATE_TYPE';
73605 l_rec_acct_attrs.array_char_value(29) := p_source_148;
73606 l_rec_acct_attrs.array_acct_attr_code(30) := 'LEDGER_AMOUNT';
73607 l_rec_acct_attrs.array_num_value(30) := p_source_158;
73608 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_END_DATE';
73609 l_rec_acct_attrs.array_date_value(31) := p_source_82;
73610 l_rec_acct_attrs.array_acct_attr_code(32) := 'MULTIPERIOD_OPTION';
73611 l_rec_acct_attrs.array_char_value(32) := p_source_83;
73612 l_rec_acct_attrs.array_acct_attr_code(33) := 'MULTIPERIOD_START_DATE';
73613 l_rec_acct_attrs.array_date_value(33) := p_source_84;
73614 l_rec_acct_attrs.array_acct_attr_code(34) := 'OVERRIDE_ACCTD_AMT_FLAG';
73615 l_rec_acct_attrs.array_char_value(34) := p_source_85;
73616 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_ID';
73617 l_rec_acct_attrs.array_num_value(35) := p_source_86;
73618 l_rec_acct_attrs.array_acct_attr_code(36) := 'PARTY_SITE_ID';
73619 l_rec_acct_attrs.array_num_value(36) := p_source_87;
73620 l_rec_acct_attrs.array_acct_attr_code(37) := 'PARTY_TYPE';
73621 l_rec_acct_attrs.array_char_value(37) := p_source_88;
73622 l_rec_acct_attrs.array_acct_attr_code(38) := 'REVERSED_DISTRIBUTION_ID1';
73623 l_rec_acct_attrs.array_num_value(38) := to_char(p_source_139);
73624 l_rec_acct_attrs.array_acct_attr_code(39) := 'REVERSED_DISTRIBUTION_TYPE';
73625 l_rec_acct_attrs.array_char_value(39) := p_source_60;
73626 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_LINE_REF_ID';
73627 l_rec_acct_attrs.array_num_value(40) := p_source_91;
73628 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_REC_NREC_DIST_REF_ID';
73629 l_rec_acct_attrs.array_num_value(41) := p_source_92;
73630 l_rec_acct_attrs.array_acct_attr_code(42) := 'TAX_SUMMARY_LINE_REF_ID';
73631 l_rec_acct_attrs.array_num_value(42) := p_source_93;
73632 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_CR_ENC_TYPE_ID';
73633 l_rec_acct_attrs.array_num_value(43) := p_source_94;
73634 l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
73635 l_rec_acct_attrs.array_num_value(44) := p_source_95;
73636
73640 ---------------------------------------------------------------------------------------------------------------
73637 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
73638 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
73639
73641 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
73642 ---------------------------------------------------------------------------------------------------------------
73643 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
73644
73645 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
73646 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
73647
73648 IF xla_accounting_cache_pkg.GetValueChar
73649 (p_source_code => 'LEDGER_CATEGORY_CODE'
73650 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
73651 AND l_bflow_method_code = 'PRIOR_ENTRY'
73652 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
73653 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
73654 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
73655 )
73656 THEN
73657 xla_ae_lines_pkg.BflowUpgEntry
73658 (p_business_method_code => l_bflow_method_code
73659 ,p_business_class_code => l_bflow_class_code
73660 ,p_balance_type => l_balance_type_code);
73661 ELSE
73662 NULL;
73663 -- No business flow processing for business flow method of NONE.
73664 END IF;
73665
73666 --
73667 -- call analytical criteria
73668 --
73669
73670 --
73671 -- call description
73672 --
73673 -- No description or it is inherited.
73674 --
73675 -- call ADRs
73676 -- Bug 4922099
73677 --
73678 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
73679 (NVL(l_actual_upg_option, 'N') = 'O') OR
73680 (NVL(l_enc_upg_option, 'N') = 'O')
73681 )
73682 THEN
73683 NULL;
73684 --
73685 --
73686
73687 l_ccid := AcctDerRule_40(
73688 p_application_id => p_application_id
73689 , p_ae_header_id => l_ae_header_id
73690 , p_source_10 => p_source_10
73691 , p_source_10_meaning => p_source_10_meaning
73692 , p_source_25 => p_source_25
73693 , p_source_31 => p_source_31
73694 , p_source_32 => p_source_32
73695 , x_transaction_coa_id => l_adr_transaction_coa_id
73696 , x_accounting_coa_id => l_adr_accounting_coa_id
73697 , x_value_type_code => l_adr_value_type_code
73698 , p_side => 'NA'
73699 );
73700
73701 xla_ae_lines_pkg.set_ccid(
73702 p_code_combination_id => l_ccid
73703 , p_value_type_code => l_adr_value_type_code
73704 , p_transaction_coa_id => l_adr_transaction_coa_id
73705 , p_accounting_coa_id => l_adr_accounting_coa_id
73706 , p_adr_code => 'AP_REAL_GAIN'
73707 , p_adr_type_code => 'S'
73708 , p_component_type => l_component_type
73709 , p_component_code => l_component_code
73710 , p_component_type_code => l_component_type_code
73711 , p_component_appl_id => l_component_appl_id
73712 , p_amb_context_code => l_amb_context_code
73713 , p_side => 'NA'
73714 );
73715
73716
73717 l_segment := AcctDerRule_23(
73718 p_application_id => p_application_id
73719 , p_ae_header_id => l_ae_header_id
73720 , p_source_10 => p_source_10
73721 , p_source_10_meaning => p_source_10_meaning
73722 , p_source_25 => p_source_25
73723 , x_transaction_coa_id => l_adr_transaction_coa_id
73724 , x_accounting_coa_id => l_adr_accounting_coa_id
73725 , x_flexfield_segment_code => l_adr_flexfield_segment_code
73726 , x_flex_value_set_id => l_adr_flex_value_set_id
73727 , x_value_type_code => l_adr_value_type_code
73728 , x_value_combination_id => l_adr_value_combination_id
73729 , x_value_segment_code => l_adr_value_segment_code
73730 , p_side => 'NA'
73731 , p_override_seg_flag => 'Y'
73732 );
73733
73734 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
73735
73736 xla_ae_lines_pkg.set_segment(
73737 p_to_segment_code => 'GL_BALANCING'
73738 , p_segment_value => l_segment
73739 , p_from_segment_code => l_adr_value_segment_code
73740 , p_from_combination_id => l_adr_value_combination_id
73741 , p_value_type_code => l_adr_value_type_code
73742 , p_transaction_coa_id => l_adr_transaction_coa_id
73743 , p_accounting_coa_id => l_adr_accounting_coa_id
73744 , p_flexfield_segment_code => l_adr_flexfield_segment_code
73745 , p_flex_value_set_id => l_adr_flex_value_set_id
73746 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
73747 , p_adr_type_code => 'S'
73748 , p_component_type => l_component_type
73749 , p_component_code => l_component_code
73753 , p_entity_code => 'AP_INVOICES'
73750 , p_component_type_code => l_component_type_code
73751 , p_component_appl_id => l_component_appl_id
73752 , p_amb_context_code => l_amb_context_code
73754 , p_event_class_code => 'PREPAYMENT APPLICATIONS'
73755 , p_side => 'NA'
73756 );
73757
73758 END IF;
73759
73760 l_segment := AcctDerRule_17(
73761 p_application_id => p_application_id
73762 , p_ae_header_id => l_ae_header_id
73763 , p_source_10 => p_source_10
73764 , p_source_10_meaning => p_source_10_meaning
73765 , p_source_31 => p_source_31
73766 , p_source_32 => p_source_32
73767 , x_transaction_coa_id => l_adr_transaction_coa_id
73768 , x_accounting_coa_id => l_adr_accounting_coa_id
73769 , x_flexfield_segment_code => l_adr_flexfield_segment_code
73770 , x_flex_value_set_id => l_adr_flex_value_set_id
73771 , x_value_type_code => l_adr_value_type_code
73772 , x_value_combination_id => l_adr_value_combination_id
73773 , x_value_segment_code => l_adr_value_segment_code
73774 , p_side => 'NA'
73775 , p_override_seg_flag => 'Y'
73776 );
73777
73778 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
73779
73780 xla_ae_lines_pkg.set_segment(
73781 p_to_segment_code => 'GL_ACCOUNT'
73782 , p_segment_value => l_segment
73783 , p_from_segment_code => l_adr_value_segment_code
73784 , p_from_combination_id => l_adr_value_combination_id
73785 , p_value_type_code => l_adr_value_type_code
73786 , p_transaction_coa_id => l_adr_transaction_coa_id
73787 , p_accounting_coa_id => l_adr_accounting_coa_id
73788 , p_flexfield_segment_code => l_adr_flexfield_segment_code
73789 , p_flex_value_set_id => l_adr_flex_value_set_id
73790 , p_adr_code => 'AP_REAL_GAIN_NAT_ACCT_SEG'
73791 , p_adr_type_code => 'S'
73792 , p_component_type => l_component_type
73793 , p_component_code => l_component_code
73794 , p_component_type_code => l_component_type_code
73795 , p_component_appl_id => l_component_appl_id
73796 , p_amb_context_code => l_amb_context_code
73797 , p_entity_code => 'AP_INVOICES'
73798 , p_event_class_code => 'PREPAYMENT APPLICATIONS'
73799 , p_side => 'NA'
73800 );
73801
73802 END IF;
73803
73804 --
73805 --
73806 END IF;
73807 --
73808 -- Bug 4922099
73809 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
73810 (NVL(l_enc_upg_option, 'N') = 'O')
73811 ) AND
73812 (l_bflow_method_code = 'PRIOR_ENTRY')
73813 )
73814 THEN
73815 IF
73816 --
73817 1 = 2
73818 --
73819 THEN
73820 xla_accounting_err_pkg.build_message
73821 (p_appli_s_name => 'XLA'
73822 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
73823 ,p_token_1 => 'LINE_NUMBER'
73824 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
73825 ,p_token_2 => 'LINE_TYPE_NAME'
73826 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
73827 l_component_type
73828 ,l_component_code
73829 ,l_component_type_code
73830 ,l_component_appl_id
73831 ,l_amb_context_code
73832 ,l_entity_code
73833 ,l_event_class_code
73834 )
73835 ,p_token_3 => 'OWNER'
73836 ,p_value_3 => xla_lookups_pkg.get_meaning(
73837 p_lookup_type => 'XLA_OWNER_TYPE'
73838 ,p_lookup_code => l_component_type_code
73839 )
73840 ,p_token_4 => 'PRODUCT_NAME'
73841 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
73842 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
73843 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
73844 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
73845 ,p_ae_header_id => NULL
73846 );
73847
73848 IF (C_LEVEL_ERROR>= g_log_level) THEN
73849 trace
73853 END IF;
73850 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
73851 ,p_level => C_LEVEL_ERROR
73852 ,p_module => l_log_module);
73854 END IF;
73855 END IF;
73856 --
73857 --
73858 ------------------------------------------------------------------------------------------------
73859 -- 4219869 Business Flow
73860 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
73861 -- Prior Entry. Currently, the following code is always generated.
73862 ------------------------------------------------------------------------------------------------
73863 XLA_AE_LINES_PKG.ValidateCurrentLine;
73864
73865 ------------------------------------------------------------------------------------
73866 -- 4219869 Business Flow
73867 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
73868 ------------------------------------------------------------------------------------
73869 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
73870
73871 ----------------------------------------------------------------------------------
73872 -- 4219869 Business Flow
73873 -- Update journal entry status -- Need to generate this within IF <condition>
73874 ----------------------------------------------------------------------------------
73875 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
73876 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
73877 ,p_balance_type_code => l_balance_type_code
73878 );
73879
73880 -------------------------------------------------------------------------------------------
73881 -- 4262811 - Generate the Accrual Reversal lines
73882 -------------------------------------------------------------------------------------------
73883 BEGIN
73884 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
73885 (g_array_event(p_event_id).array_value_num('header_index'));
73886 IF l_acc_rev_flag IS NULL THEN
73887 l_acc_rev_flag := 'N';
73888 END IF;
73889 EXCEPTION
73890 WHEN OTHERS THEN
73891 l_acc_rev_flag := 'N';
73892 END;
73893 --
73894 IF (l_acc_rev_flag = 'Y') THEN
73895
73896 -- 4645092 ------------------------------------------------------------------------------
73897 -- To allow MPA report to determine if it should generate report process
73898 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
73899 ------------------------------------------------------------------------------------------
73900
73901 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
73902 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
73903 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
73904 -- call ADRs
73905 -- Bug 4922099
73906 --
73907 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
73908 (NVL(l_actual_upg_option, 'N') = 'O') OR
73909 (NVL(l_enc_upg_option, 'N') = 'O')
73910 )
73911 THEN
73912 NULL;
73913 --
73914 --
73915
73916 l_ccid := AcctDerRule_40(
73917 p_application_id => p_application_id
73918 , p_ae_header_id => l_ae_header_id
73919 , p_source_10 => p_source_10
73920 , p_source_10_meaning => p_source_10_meaning
73921 , p_source_25 => p_source_25
73922 , p_source_31 => p_source_31
73923 , p_source_32 => p_source_32
73924 , x_transaction_coa_id => l_adr_transaction_coa_id
73925 , x_accounting_coa_id => l_adr_accounting_coa_id
73926 , x_value_type_code => l_adr_value_type_code
73927 , p_side => 'NA'
73928 );
73929
73930 xla_ae_lines_pkg.set_ccid(
73931 p_code_combination_id => l_ccid
73932 , p_value_type_code => l_adr_value_type_code
73933 , p_transaction_coa_id => l_adr_transaction_coa_id
73934 , p_accounting_coa_id => l_adr_accounting_coa_id
73935 , p_adr_code => 'AP_REAL_GAIN'
73936 , p_adr_type_code => 'S'
73937 , p_component_type => l_component_type
73938 , p_component_code => l_component_code
73939 , p_component_type_code => l_component_type_code
73940 , p_component_appl_id => l_component_appl_id
73941 , p_amb_context_code => l_amb_context_code
73942 , p_side => 'NA'
73943 );
73944
73945
73946 l_segment := AcctDerRule_23(
73947 p_application_id => p_application_id
73948 , p_ae_header_id => l_ae_header_id
73949 , p_source_10 => p_source_10
73950 , p_source_10_meaning => p_source_10_meaning
73951 , p_source_25 => p_source_25
73952 , x_transaction_coa_id => l_adr_transaction_coa_id
73953 , x_accounting_coa_id => l_adr_accounting_coa_id
73954 , x_flexfield_segment_code => l_adr_flexfield_segment_code
73955 , x_flex_value_set_id => l_adr_flex_value_set_id
73956 , x_value_type_code => l_adr_value_type_code
73957 , x_value_combination_id => l_adr_value_combination_id
73958 , x_value_segment_code => l_adr_value_segment_code
73959 , p_side => 'NA'
73960 , p_override_seg_flag => 'Y'
73964
73961 );
73962
73963 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
73965 xla_ae_lines_pkg.set_segment(
73966 p_to_segment_code => 'GL_BALANCING'
73967 , p_segment_value => l_segment
73968 , p_from_segment_code => l_adr_value_segment_code
73969 , p_from_combination_id => l_adr_value_combination_id
73970 , p_value_type_code => l_adr_value_type_code
73971 , p_transaction_coa_id => l_adr_transaction_coa_id
73972 , p_accounting_coa_id => l_adr_accounting_coa_id
73973 , p_flexfield_segment_code => l_adr_flexfield_segment_code
73974 , p_flex_value_set_id => l_adr_flex_value_set_id
73975 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
73976 , p_adr_type_code => 'S'
73977 , p_component_type => l_component_type
73978 , p_component_code => l_component_code
73979 , p_component_type_code => l_component_type_code
73980 , p_component_appl_id => l_component_appl_id
73981 , p_amb_context_code => l_amb_context_code
73982 , p_entity_code => 'AP_INVOICES'
73983 , p_event_class_code => 'PREPAYMENT APPLICATIONS'
73984 , p_side => 'NA'
73985 );
73986
73987 END IF;
73988
73989 l_segment := AcctDerRule_17(
73990 p_application_id => p_application_id
73991 , p_ae_header_id => l_ae_header_id
73992 , p_source_10 => p_source_10
73993 , p_source_10_meaning => p_source_10_meaning
73994 , p_source_31 => p_source_31
73995 , p_source_32 => p_source_32
73996 , x_transaction_coa_id => l_adr_transaction_coa_id
73997 , x_accounting_coa_id => l_adr_accounting_coa_id
73998 , x_flexfield_segment_code => l_adr_flexfield_segment_code
73999 , x_flex_value_set_id => l_adr_flex_value_set_id
74000 , x_value_type_code => l_adr_value_type_code
74001 , x_value_combination_id => l_adr_value_combination_id
74002 , x_value_segment_code => l_adr_value_segment_code
74003 , p_side => 'NA'
74004 , p_override_seg_flag => 'Y'
74005 );
74006
74007 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
74008
74009 xla_ae_lines_pkg.set_segment(
74010 p_to_segment_code => 'GL_ACCOUNT'
74011 , p_segment_value => l_segment
74012 , p_from_segment_code => l_adr_value_segment_code
74013 , p_from_combination_id => l_adr_value_combination_id
74014 , p_value_type_code => l_adr_value_type_code
74015 , p_transaction_coa_id => l_adr_transaction_coa_id
74016 , p_accounting_coa_id => l_adr_accounting_coa_id
74017 , p_flexfield_segment_code => l_adr_flexfield_segment_code
74018 , p_flex_value_set_id => l_adr_flex_value_set_id
74019 , p_adr_code => 'AP_REAL_GAIN_NAT_ACCT_SEG'
74020 , p_adr_type_code => 'S'
74021 , p_component_type => l_component_type
74022 , p_component_code => l_component_code
74023 , p_component_type_code => l_component_type_code
74024 , p_component_appl_id => l_component_appl_id
74025 , p_amb_context_code => l_amb_context_code
74026 , p_entity_code => 'AP_INVOICES'
74027 , p_event_class_code => 'PREPAYMENT APPLICATIONS'
74028 , p_side => 'NA'
74029 );
74030
74031 END IF;
74032
74033 --
74034 --
74035 END IF;
74036
74037 --
74038 -- Update the line information that should be overwritten
74039 --
74040 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
74041 p_header_num => 1);
74042 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
74043
74044 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
74045
74046 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
74047 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
74048 END IF;
74049
74050 --
74051 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
74052 --
74053 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
74054 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
74055 ELSE
74056 ---------------------------------------------------------------------------------------------------
74057 -- 4262811a Switch Sign
74058 ---------------------------------------------------------------------------------------------------
74059 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
74060 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
74061 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
74062 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
74063 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
74064 -- 5132302
74068 END IF;
74065 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
74066 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
74067
74069
74070 -- 4955764
74071 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
74072 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
74073
74074
74075 XLA_AE_LINES_PKG.ValidateCurrentLine;
74076 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
74077
74078 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
74079 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
74080 ,p_balance_type_code => l_balance_type_code);
74081
74082 END IF;
74083
74084 -----------------------------------------------------------------------------------------
74085 -- 4262811 Multiperiod Accounting
74086 -----------------------------------------------------------------------------------------
74087 -- No MPA option is assigned.
74088
74089
74090 END IF;
74091 END IF;
74092 --
74093
74094 --
74095 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
74096 trace
74097 (p_msg => 'END of AcctLineType_143'
74098 ,p_level => C_LEVEL_PROCEDURE
74099 ,p_module => l_log_module);
74100 END IF;
74101 --
74102 EXCEPTION
74103 WHEN xla_exceptions_pkg.application_exception THEN
74104 RAISE;
74105 WHEN OTHERS THEN
74106 xla_exceptions_pkg.raise_message
74107 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_143');
74108 END AcctLineType_143;
74109 --
74110
74111 ---------------------------------------
74112 --
74113 -- PRIVATE FUNCTION
74114 -- AcctLineType_144
74115 --
74116 ---------------------------------------
74117 PROCEDURE AcctLineType_144 (
74118 p_application_id IN NUMBER
74119 ,p_event_id IN NUMBER
74120 ,p_calculate_acctd_flag IN VARCHAR2
74121 ,p_calculate_g_l_flag IN VARCHAR2
74122 ,p_actual_flag IN OUT VARCHAR2
74123 ,p_balance_type_code OUT VARCHAR2
74124 ,p_gain_or_loss_ref OUT VARCHAR2
74125
74126 --Payment Currency Code
74127 , p_source_8 IN VARCHAR2
74128 --Automatic Offsets Value
74129 , p_source_10 IN VARCHAR2
74130 , p_source_10_meaning IN VARCHAR2
74131 --Invoice Distribution Account
74132 , p_source_25 IN NUMBER
74133 --Internal Realized Gain Account
74134 , p_source_31 IN NUMBER
74135 --Bank Gain Account
74136 , p_source_32 IN NUMBER
74137 --When to Account for Payment Option
74138 , p_source_57 IN VARCHAR2
74139 --Accounting Reversal Indicator
74140 , p_source_58 IN VARCHAR2
74141 --Distribution Link Type
74142 , p_source_60 IN VARCHAR2
74143 --Override Accounted Amount Indicator
74144 , p_source_85 IN VARCHAR2
74145 , p_source_85_meaning IN VARCHAR2
74146 --Third Party Type
74147 , p_source_88 IN VARCHAR2
74148 --Invoice Distribution Tax Line Identifier
74149 , p_source_91 IN NUMBER
74150 --Invoice Distribution Tax Distribution Identifier from Tax
74151 , p_source_92 IN NUMBER
74152 --Invoice Distribution Summary Tax Line Identifier
74153 , p_source_93 IN NUMBER
74154 --Business Flow Accounts Payable Application Identifier
74155 , p_source_96 IN NUMBER
74156 --Business Flow Invoice Distribution Type
74157 , p_source_97 IN VARCHAR2
74158 --Business Flow Invoice Entity Code
74159 , p_source_98 IN VARCHAR2
74160 --Business Flow Invoice Distribution Identifier
74161 , p_source_99 IN NUMBER
74162 --Business Flow Invoice Identifier
74163 , p_source_100 IN NUMBER
74164 --Payment Distribution Type
74165 , p_source_101 IN VARCHAR2
74166 , p_source_101_meaning IN VARCHAR2
74167 --Payment Distribution Amount
74168 , p_source_102 IN NUMBER
74169 --Payment Distribution Identifier
74170 , p_source_107 IN NUMBER
74171 --Payment Supplier Identifier
74172 , p_source_113 IN NUMBER
74173 --Payment Supplier Site Identifier
74174 , p_source_114 IN NUMBER
74175 --Payment Distribution Reversed Identifier
74176 , p_source_115 IN NUMBER
74177 --Payment Exchange Date
74178 , p_source_120 IN DATE
74179 --Payment Exchange Rate
74180 , p_source_121 IN NUMBER
74181 --Payment Exchange Rate Type
74182 , p_source_122 IN VARCHAR2
74183 --Payment Type
74184 , p_source_125 IN VARCHAR2
74185 , p_source_125_meaning IN VARCHAR2
74186 --Invoice/Payment Ledger Amount Difference
74187 , p_source_156 IN NUMBER
74188 --Gain or Loss Indicator between Invoice and Payment
74189 , p_source_161 IN VARCHAR2
74190 )
74191 IS
74192
74193 l_component_type VARCHAR2(80);
74194 l_component_code VARCHAR2(30);
74195 l_component_type_code VARCHAR2(1);
74196 l_component_appl_id INTEGER;
74197 l_amb_context_code VARCHAR2(30);
74198 l_entity_code VARCHAR2(30);
74199 l_event_class_code VARCHAR2(30);
74200 l_ae_header_id NUMBER;
74201 l_event_type_code VARCHAR2(30);
74205 -- adr variables
74202 l_line_definition_code VARCHAR2(30);
74203 l_line_definition_owner_code VARCHAR2(1);
74204 --
74206 l_segment VARCHAR2(30);
74207 l_ccid NUMBER;
74208 l_adr_transaction_coa_id NUMBER;
74209 l_adr_accounting_coa_id NUMBER;
74210 l_adr_flexfield_segment_code VARCHAR2(30);
74211 l_adr_flex_value_set_id NUMBER;
74212 l_adr_value_type_code VARCHAR2(30);
74213 l_adr_value_combination_id NUMBER;
74214 l_adr_value_segment_code VARCHAR2(30);
74215
74216 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
74217 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
74218 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
74219 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
74220
74221 -- 4262811 Variables ------------------------------------------------------------------------------------------
74222 l_entered_amt_idx NUMBER;
74223 l_accted_amt_idx NUMBER;
74224 l_acc_rev_flag VARCHAR2(1);
74225 l_accrual_line_num NUMBER;
74226 l_tmp_amt NUMBER;
74227 l_acc_rev_natural_side_code VARCHAR2(1);
74228
74229 l_num_entries NUMBER;
74230 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
74231 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
74232 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
74233 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
74234 l_recog_line_1 NUMBER;
74235 l_recog_line_2 NUMBER;
74236
74237 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
74238 l_bflow_applied_to_amt NUMBER; -- 5132302
74239 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
74240
74241 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
74242
74243 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
74244 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
74245
74246 ---------------------------------------------------------------------------------------------------------------
74247
74248
74249 --
74250 -- bulk performance
74251 --
74252 l_balance_type_code VARCHAR2(1);
74253 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
74254 l_log_module VARCHAR2(240);
74255
74256 --
74257 -- Upgrade strategy
74258 --
74259 l_actual_upg_option VARCHAR2(1);
74260 l_enc_upg_option VARCHAR2(1);
74261
74262 --
74263 BEGIN
74264 --
74265 IF g_log_enabled THEN
74266 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_144';
74267 END IF;
74268 --
74269 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
74270
74271 trace
74272 (p_msg => 'BEGIN of AcctLineType_144'
74273 ,p_level => C_LEVEL_PROCEDURE
74274 ,p_module => l_log_module);
74275
74276 END IF;
74277 --
74278 l_component_type := 'AMB_JLT';
74279 l_component_code := 'AP_GAIN_REF';
74280 l_component_type_code := 'S';
74281 l_component_appl_id := 200;
74282 l_amb_context_code := 'DEFAULT';
74283 l_entity_code := 'AP_PAYMENTS';
74284 l_event_class_code := 'REFUNDS';
74285 l_event_type_code := 'REFUNDS_ALL';
74286 l_line_definition_owner_code := 'S';
74287 l_line_definition_code := 'ACCRUAL_REFUNDS_ALL';
74288 --
74289 l_balance_type_code := 'A';
74290 l_segment := NULL;
74291 l_ccid := NULL;
74292 l_adr_transaction_coa_id := NULL;
74293 l_adr_accounting_coa_id := NULL;
74294 l_adr_flexfield_segment_code := NULL;
74295 l_adr_flex_value_set_id := NULL;
74296 l_adr_value_type_code := NULL;
74297 l_adr_value_combination_id := NULL;
74298 l_adr_value_segment_code := NULL;
74299
74300 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
74301 l_bflow_class_code := ''; -- 4219869 Business Flow
74302 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
74303 l_budgetary_control_flag := 'N';
74304
74305 l_bflow_applied_to_amt_idx := NULL; -- 5132302
74306 l_bflow_applied_to_amt := NULL; -- 5132302
74307 l_entered_amt_idx := NULL; -- 4262811
74308 l_accted_amt_idx := NULL; -- 4262811
74309 l_acc_rev_flag := NULL; -- 4262811
74310 l_accrual_line_num := NULL; -- 4262811
74311 l_tmp_amt := NULL; -- 4262811
74312 --
74313 IF ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
74314 (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code in ('ALC', 'SECONDARY') AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.calculate_amts_flag='Y')) THEN
74315 return;
74316 END IF;
74317
74318 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
74319 l_balance_type_code <> 'B' THEN
74320 IF (NVL(p_source_57,'
74321 ') <> 'CLEAR_CLEAR' AND
74322 NVL(p_source_57,'
74323 ') <> 'ALWAYS_CLEAR') AND
74324 NVL(p_source_161,'
74325 ') = 'GAIN' AND
74326 NVL(p_source_125,'
74327 ') = 'R' AND
74328 NVL(p_source_101,'
74332 NVL(p_source_101,'
74329 ') <> 'EXCHANGE RATE VARIANCE' AND
74330 NVL(p_source_101,'
74331 ') <> 'TAX EXCHANGE RATE VARIANCE' AND
74333 ') <> 'BANK CHARGE' AND
74334 NVL(p_source_101,'
74335 ') <> 'BANK ERROR'
74336 THEN
74337
74338 --
74339 XLA_AE_LINES_PKG.SetNewLine;
74340
74341 p_balance_type_code := l_balance_type_code;
74342 -- set the flag so later we will know whether the gain loss line needs to be created
74343
74344 IF(l_balance_type_code = 'A' ) THEN
74345 p_actual_flag :='G';
74346 END IF;
74347
74348 --
74349 -- bulk performance
74350 --
74351 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
74352 p_header_num => 0); -- 4262811
74353 --
74354 -- set accounting line options
74355 --
74356 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
74357 p_natural_side_code => 'C'
74358 , p_gain_or_loss_flag => 'Y'
74359 , p_gl_transfer_mode_code => 'S'
74360 , p_acct_entry_type_code => 'A'
74361 , p_switch_side_flag => 'Y'
74362 , p_merge_duplicate_code => 'A'
74363 );
74364 --
74365 l_acc_rev_natural_side_code := 'D'; -- 4262811
74366 --
74367 --
74368 -- set accounting line type info
74369 --
74370 xla_ae_lines_pkg.SetAcctLineType
74371 (p_component_type => l_component_type
74372 ,p_event_type_code => l_event_type_code
74373 ,p_line_definition_owner_code => l_line_definition_owner_code
74374 ,p_line_definition_code => l_line_definition_code
74375 ,p_accounting_line_code => l_component_code
74376 ,p_accounting_line_type_code => l_component_type_code
74377 ,p_accounting_line_appl_id => l_component_appl_id
74378 ,p_amb_context_code => l_amb_context_code
74379 ,p_entity_code => l_entity_code
74380 ,p_event_class_code => l_event_class_code);
74381 --
74382 -- set accounting class
74383 --
74384 xla_ae_lines_pkg.SetAcctClass(
74385 p_accounting_class_code => 'GAIN'
74386 , p_ae_header_id => l_ae_header_id
74387 );
74388
74389 --
74390 -- set rounding class
74391 --
74392 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
74393 'GAIN';
74394
74395 --
74396 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
74397 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
74398 --
74399 -- bulk performance
74400 --
74401 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
74402
74403 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
74404 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
74405
74406 -- 4955764
74407 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
74408 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
74409
74410 -- 4458381 Public Sector Enh
74411
74412 --
74413 -- set accounting attributes for the line type
74414 --
74415 l_entered_amt_idx := 9;
74416 l_accted_amt_idx := 14;
74417 l_bflow_applied_to_amt_idx := NULL; -- 5132302
74418 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
74419 l_rec_acct_attrs.array_char_value(1) := p_source_58;
74420 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_APPLICATION_ID';
74421 l_rec_acct_attrs.array_num_value(2) := p_source_96;
74422 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_DISTRIBUTION_TYPE';
74423 l_rec_acct_attrs.array_char_value(3) := p_source_97;
74424 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_ENTITY_CODE';
74425 l_rec_acct_attrs.array_char_value(4) := p_source_98;
74426 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_FIRST_DIST_ID';
74427 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_99);
74428 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
74429 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_100);
74430 l_rec_acct_attrs.array_acct_attr_code(7) := 'DISTRIBUTION_IDENTIFIER_1';
74431 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_107);
74432 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_TYPE';
74433 l_rec_acct_attrs.array_char_value(8) := p_source_60;
74434 l_rec_acct_attrs.array_acct_attr_code(9) := 'ENTERED_CURRENCY_AMOUNT';
74435 l_rec_acct_attrs.array_num_value(9) := p_source_102;
74436 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_CODE';
74437 l_rec_acct_attrs.array_char_value(10) := p_source_8;
74438 l_rec_acct_attrs.array_acct_attr_code(11) := 'EXCHANGE_DATE';
74439 l_rec_acct_attrs.array_date_value(11) := p_source_120;
74440 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_RATE';
74441 l_rec_acct_attrs.array_num_value(12) := p_source_121;
74442 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE_TYPE';
74443 l_rec_acct_attrs.array_char_value(13) := p_source_122;
74444 l_rec_acct_attrs.array_acct_attr_code(14) := 'LEDGER_AMOUNT';
74445 l_rec_acct_attrs.array_num_value(14) := p_source_156;
74449 l_rec_acct_attrs.array_num_value(16) := p_source_113;
74446 l_rec_acct_attrs.array_acct_attr_code(15) := 'OVERRIDE_ACCTD_AMT_FLAG';
74447 l_rec_acct_attrs.array_char_value(15) := p_source_85;
74448 l_rec_acct_attrs.array_acct_attr_code(16) := 'PARTY_ID';
74450 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_SITE_ID';
74451 l_rec_acct_attrs.array_num_value(17) := p_source_114;
74452 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_TYPE';
74453 l_rec_acct_attrs.array_char_value(18) := p_source_88;
74454 l_rec_acct_attrs.array_acct_attr_code(19) := 'REVERSED_DISTRIBUTION_ID1';
74455 l_rec_acct_attrs.array_num_value(19) := to_char(p_source_115);
74456 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_TYPE';
74457 l_rec_acct_attrs.array_char_value(20) := p_source_60;
74458 l_rec_acct_attrs.array_acct_attr_code(21) := 'TAX_LINE_REF_ID';
74459 l_rec_acct_attrs.array_num_value(21) := p_source_91;
74460 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_REC_NREC_DIST_REF_ID';
74461 l_rec_acct_attrs.array_num_value(22) := p_source_92;
74462 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_SUMMARY_LINE_REF_ID';
74463 l_rec_acct_attrs.array_num_value(23) := p_source_93;
74464
74465 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
74466 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
74467
74468 ---------------------------------------------------------------------------------------------------------------
74469 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
74470 ---------------------------------------------------------------------------------------------------------------
74471 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
74472
74473 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
74474 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
74475
74476 IF xla_accounting_cache_pkg.GetValueChar
74477 (p_source_code => 'LEDGER_CATEGORY_CODE'
74478 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
74479 AND l_bflow_method_code = 'PRIOR_ENTRY'
74480 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
74481 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
74482 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
74483 )
74484 THEN
74485 xla_ae_lines_pkg.BflowUpgEntry
74486 (p_business_method_code => l_bflow_method_code
74487 ,p_business_class_code => l_bflow_class_code
74488 ,p_balance_type => l_balance_type_code);
74489 ELSE
74490 NULL;
74491 -- No business flow processing for business flow method of NONE.
74492 END IF;
74493
74494 --
74495 -- call analytical criteria
74496 --
74497
74498 --
74499 -- call description
74500 --
74501 -- No description or it is inherited.
74502 --
74503 -- call ADRs
74504 -- Bug 4922099
74505 --
74506 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
74507 (NVL(l_actual_upg_option, 'N') = 'O') OR
74508 (NVL(l_enc_upg_option, 'N') = 'O')
74509 )
74510 THEN
74511 NULL;
74512 --
74513 --
74514
74515 l_ccid := AcctDerRule_40(
74516 p_application_id => p_application_id
74517 , p_ae_header_id => l_ae_header_id
74518 , p_source_10 => p_source_10
74519 , p_source_10_meaning => p_source_10_meaning
74520 , p_source_25 => p_source_25
74521 , p_source_31 => p_source_31
74522 , p_source_32 => p_source_32
74523 , x_transaction_coa_id => l_adr_transaction_coa_id
74524 , x_accounting_coa_id => l_adr_accounting_coa_id
74525 , x_value_type_code => l_adr_value_type_code
74526 , p_side => 'NA'
74527 );
74528
74529 xla_ae_lines_pkg.set_ccid(
74530 p_code_combination_id => l_ccid
74531 , p_value_type_code => l_adr_value_type_code
74532 , p_transaction_coa_id => l_adr_transaction_coa_id
74533 , p_accounting_coa_id => l_adr_accounting_coa_id
74534 , p_adr_code => 'AP_REAL_GAIN'
74535 , p_adr_type_code => 'S'
74536 , p_component_type => l_component_type
74537 , p_component_code => l_component_code
74538 , p_component_type_code => l_component_type_code
74539 , p_component_appl_id => l_component_appl_id
74540 , p_amb_context_code => l_amb_context_code
74541 , p_side => 'NA'
74542 );
74543
74544
74545 l_segment := AcctDerRule_23(
74546 p_application_id => p_application_id
74547 , p_ae_header_id => l_ae_header_id
74548 , p_source_10 => p_source_10
74549 , p_source_10_meaning => p_source_10_meaning
74550 , p_source_25 => p_source_25
74551 , x_transaction_coa_id => l_adr_transaction_coa_id
74552 , x_accounting_coa_id => l_adr_accounting_coa_id
74553 , x_flexfield_segment_code => l_adr_flexfield_segment_code
74554 , x_flex_value_set_id => l_adr_flex_value_set_id
74555 , x_value_type_code => l_adr_value_type_code
74556 , x_value_combination_id => l_adr_value_combination_id
74557 , x_value_segment_code => l_adr_value_segment_code
74561
74558 , p_side => 'NA'
74559 , p_override_seg_flag => 'Y'
74560 );
74562 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
74563
74564 xla_ae_lines_pkg.set_segment(
74565 p_to_segment_code => 'GL_BALANCING'
74566 , p_segment_value => l_segment
74567 , p_from_segment_code => l_adr_value_segment_code
74568 , p_from_combination_id => l_adr_value_combination_id
74569 , p_value_type_code => l_adr_value_type_code
74570 , p_transaction_coa_id => l_adr_transaction_coa_id
74571 , p_accounting_coa_id => l_adr_accounting_coa_id
74572 , p_flexfield_segment_code => l_adr_flexfield_segment_code
74573 , p_flex_value_set_id => l_adr_flex_value_set_id
74574 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
74575 , p_adr_type_code => 'S'
74576 , p_component_type => l_component_type
74577 , p_component_code => l_component_code
74578 , p_component_type_code => l_component_type_code
74579 , p_component_appl_id => l_component_appl_id
74580 , p_amb_context_code => l_amb_context_code
74581 , p_entity_code => 'AP_PAYMENTS'
74582 , p_event_class_code => 'REFUNDS'
74583 , p_side => 'NA'
74584 );
74585
74586 END IF;
74587
74588 l_segment := AcctDerRule_17(
74589 p_application_id => p_application_id
74590 , p_ae_header_id => l_ae_header_id
74591 , p_source_10 => p_source_10
74592 , p_source_10_meaning => p_source_10_meaning
74593 , p_source_31 => p_source_31
74594 , p_source_32 => p_source_32
74595 , x_transaction_coa_id => l_adr_transaction_coa_id
74596 , x_accounting_coa_id => l_adr_accounting_coa_id
74597 , x_flexfield_segment_code => l_adr_flexfield_segment_code
74598 , x_flex_value_set_id => l_adr_flex_value_set_id
74599 , x_value_type_code => l_adr_value_type_code
74600 , x_value_combination_id => l_adr_value_combination_id
74601 , x_value_segment_code => l_adr_value_segment_code
74602 , p_side => 'NA'
74603 , p_override_seg_flag => 'Y'
74604 );
74605
74606 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
74607
74608 xla_ae_lines_pkg.set_segment(
74609 p_to_segment_code => 'GL_ACCOUNT'
74610 , p_segment_value => l_segment
74611 , p_from_segment_code => l_adr_value_segment_code
74612 , p_from_combination_id => l_adr_value_combination_id
74613 , p_value_type_code => l_adr_value_type_code
74614 , p_transaction_coa_id => l_adr_transaction_coa_id
74615 , p_accounting_coa_id => l_adr_accounting_coa_id
74616 , p_flexfield_segment_code => l_adr_flexfield_segment_code
74617 , p_flex_value_set_id => l_adr_flex_value_set_id
74618 , p_adr_code => 'AP_REAL_GAIN_NAT_ACCT_SEG'
74619 , p_adr_type_code => 'S'
74620 , p_component_type => l_component_type
74621 , p_component_code => l_component_code
74622 , p_component_type_code => l_component_type_code
74623 , p_component_appl_id => l_component_appl_id
74624 , p_amb_context_code => l_amb_context_code
74625 , p_entity_code => 'AP_PAYMENTS'
74626 , p_event_class_code => 'REFUNDS'
74627 , p_side => 'NA'
74628 );
74629
74630 END IF;
74631
74632 --
74633 --
74634 END IF;
74635 --
74636 -- Bug 4922099
74637 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
74638 (NVL(l_enc_upg_option, 'N') = 'O')
74639 ) AND
74640 (l_bflow_method_code = 'PRIOR_ENTRY')
74641 )
74642 THEN
74643 IF
74644 --
74645 1 = 2
74646 --
74647 THEN
74648 xla_accounting_err_pkg.build_message
74649 (p_appli_s_name => 'XLA'
74650 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
74651 ,p_token_1 => 'LINE_NUMBER'
74652 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
74653 ,p_token_2 => 'LINE_TYPE_NAME'
74654 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
74655 l_component_type
74656 ,l_component_code
74657 ,l_component_type_code
74658 ,l_component_appl_id
74659 ,l_amb_context_code
74660 ,l_entity_code
74661 ,l_event_class_code
74662 )
74663 ,p_token_3 => 'OWNER'
74667 )
74664 ,p_value_3 => xla_lookups_pkg.get_meaning(
74665 p_lookup_type => 'XLA_OWNER_TYPE'
74666 ,p_lookup_code => l_component_type_code
74668 ,p_token_4 => 'PRODUCT_NAME'
74669 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
74670 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
74671 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
74672 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
74673 ,p_ae_header_id => NULL
74674 );
74675
74676 IF (C_LEVEL_ERROR>= g_log_level) THEN
74677 trace
74678 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
74679 ,p_level => C_LEVEL_ERROR
74680 ,p_module => l_log_module);
74681 END IF;
74682 END IF;
74683 END IF;
74684 --
74685 --
74686 ------------------------------------------------------------------------------------------------
74687 -- 4219869 Business Flow
74688 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
74689 -- Prior Entry. Currently, the following code is always generated.
74690 ------------------------------------------------------------------------------------------------
74691 XLA_AE_LINES_PKG.ValidateCurrentLine;
74692
74693 ------------------------------------------------------------------------------------
74694 -- 4219869 Business Flow
74695 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
74696 ------------------------------------------------------------------------------------
74697 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
74698
74699 ----------------------------------------------------------------------------------
74700 -- 4219869 Business Flow
74701 -- Update journal entry status -- Need to generate this within IF <condition>
74702 ----------------------------------------------------------------------------------
74703 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
74704 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
74705 ,p_balance_type_code => l_balance_type_code
74706 );
74707
74708 -------------------------------------------------------------------------------------------
74709 -- 4262811 - Generate the Accrual Reversal lines
74710 -------------------------------------------------------------------------------------------
74711 BEGIN
74712 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
74713 (g_array_event(p_event_id).array_value_num('header_index'));
74714 IF l_acc_rev_flag IS NULL THEN
74715 l_acc_rev_flag := 'N';
74716 END IF;
74717 EXCEPTION
74718 WHEN OTHERS THEN
74719 l_acc_rev_flag := 'N';
74720 END;
74721 --
74722 IF (l_acc_rev_flag = 'Y') THEN
74723
74724 -- 4645092 ------------------------------------------------------------------------------
74725 -- To allow MPA report to determine if it should generate report process
74726 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
74727 ------------------------------------------------------------------------------------------
74728
74729 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
74730 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
74731 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
74732 -- call ADRs
74733 -- Bug 4922099
74734 --
74735 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
74736 (NVL(l_actual_upg_option, 'N') = 'O') OR
74737 (NVL(l_enc_upg_option, 'N') = 'O')
74738 )
74739 THEN
74740 NULL;
74741 --
74742 --
74743
74744 l_ccid := AcctDerRule_40(
74745 p_application_id => p_application_id
74746 , p_ae_header_id => l_ae_header_id
74747 , p_source_10 => p_source_10
74748 , p_source_10_meaning => p_source_10_meaning
74749 , p_source_25 => p_source_25
74750 , p_source_31 => p_source_31
74751 , p_source_32 => p_source_32
74752 , x_transaction_coa_id => l_adr_transaction_coa_id
74753 , x_accounting_coa_id => l_adr_accounting_coa_id
74754 , x_value_type_code => l_adr_value_type_code
74755 , p_side => 'NA'
74756 );
74757
74758 xla_ae_lines_pkg.set_ccid(
74759 p_code_combination_id => l_ccid
74760 , p_value_type_code => l_adr_value_type_code
74761 , p_transaction_coa_id => l_adr_transaction_coa_id
74762 , p_accounting_coa_id => l_adr_accounting_coa_id
74763 , p_adr_code => 'AP_REAL_GAIN'
74764 , p_adr_type_code => 'S'
74765 , p_component_type => l_component_type
74766 , p_component_code => l_component_code
74770 , p_side => 'NA'
74767 , p_component_type_code => l_component_type_code
74768 , p_component_appl_id => l_component_appl_id
74769 , p_amb_context_code => l_amb_context_code
74771 );
74772
74773
74774 l_segment := AcctDerRule_23(
74775 p_application_id => p_application_id
74776 , p_ae_header_id => l_ae_header_id
74777 , p_source_10 => p_source_10
74778 , p_source_10_meaning => p_source_10_meaning
74779 , p_source_25 => p_source_25
74780 , x_transaction_coa_id => l_adr_transaction_coa_id
74781 , x_accounting_coa_id => l_adr_accounting_coa_id
74782 , x_flexfield_segment_code => l_adr_flexfield_segment_code
74783 , x_flex_value_set_id => l_adr_flex_value_set_id
74784 , x_value_type_code => l_adr_value_type_code
74785 , x_value_combination_id => l_adr_value_combination_id
74786 , x_value_segment_code => l_adr_value_segment_code
74787 , p_side => 'NA'
74788 , p_override_seg_flag => 'Y'
74789 );
74790
74791 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
74792
74793 xla_ae_lines_pkg.set_segment(
74794 p_to_segment_code => 'GL_BALANCING'
74795 , p_segment_value => l_segment
74796 , p_from_segment_code => l_adr_value_segment_code
74797 , p_from_combination_id => l_adr_value_combination_id
74798 , p_value_type_code => l_adr_value_type_code
74799 , p_transaction_coa_id => l_adr_transaction_coa_id
74800 , p_accounting_coa_id => l_adr_accounting_coa_id
74801 , p_flexfield_segment_code => l_adr_flexfield_segment_code
74802 , p_flex_value_set_id => l_adr_flex_value_set_id
74803 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
74804 , p_adr_type_code => 'S'
74805 , p_component_type => l_component_type
74806 , p_component_code => l_component_code
74807 , p_component_type_code => l_component_type_code
74808 , p_component_appl_id => l_component_appl_id
74809 , p_amb_context_code => l_amb_context_code
74810 , p_entity_code => 'AP_PAYMENTS'
74811 , p_event_class_code => 'REFUNDS'
74812 , p_side => 'NA'
74813 );
74814
74815 END IF;
74816
74817 l_segment := AcctDerRule_17(
74818 p_application_id => p_application_id
74819 , p_ae_header_id => l_ae_header_id
74820 , p_source_10 => p_source_10
74821 , p_source_10_meaning => p_source_10_meaning
74822 , p_source_31 => p_source_31
74823 , p_source_32 => p_source_32
74824 , x_transaction_coa_id => l_adr_transaction_coa_id
74825 , x_accounting_coa_id => l_adr_accounting_coa_id
74826 , x_flexfield_segment_code => l_adr_flexfield_segment_code
74827 , x_flex_value_set_id => l_adr_flex_value_set_id
74828 , x_value_type_code => l_adr_value_type_code
74829 , x_value_combination_id => l_adr_value_combination_id
74830 , x_value_segment_code => l_adr_value_segment_code
74831 , p_side => 'NA'
74832 , p_override_seg_flag => 'Y'
74833 );
74834
74835 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
74836
74837 xla_ae_lines_pkg.set_segment(
74838 p_to_segment_code => 'GL_ACCOUNT'
74839 , p_segment_value => l_segment
74840 , p_from_segment_code => l_adr_value_segment_code
74841 , p_from_combination_id => l_adr_value_combination_id
74842 , p_value_type_code => l_adr_value_type_code
74843 , p_transaction_coa_id => l_adr_transaction_coa_id
74844 , p_accounting_coa_id => l_adr_accounting_coa_id
74845 , p_flexfield_segment_code => l_adr_flexfield_segment_code
74846 , p_flex_value_set_id => l_adr_flex_value_set_id
74847 , p_adr_code => 'AP_REAL_GAIN_NAT_ACCT_SEG'
74848 , p_adr_type_code => 'S'
74849 , p_component_type => l_component_type
74850 , p_component_code => l_component_code
74851 , p_component_type_code => l_component_type_code
74852 , p_component_appl_id => l_component_appl_id
74853 , p_amb_context_code => l_amb_context_code
74854 , p_entity_code => 'AP_PAYMENTS'
74855 , p_event_class_code => 'REFUNDS'
74856 , p_side => 'NA'
74857 );
74858
74859 END IF;
74860
74861 --
74862 --
74863 END IF;
74864
74865 --
74866 -- Update the line information that should be overwritten
74867 --
74868 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
74869 p_header_num => 1);
74870 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
74871
74872 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
74873
74874 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
74875 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
74876 END IF;
74877
74878 --
74882 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
74879 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
74880 --
74881 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
74883 ELSE
74884 ---------------------------------------------------------------------------------------------------
74885 -- 4262811a Switch Sign
74886 ---------------------------------------------------------------------------------------------------
74887 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
74888 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
74889 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
74890 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
74891 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
74892 -- 5132302
74893 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
74894 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
74895
74896 END IF;
74897
74898 -- 4955764
74899 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
74900 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
74901
74902
74903 XLA_AE_LINES_PKG.ValidateCurrentLine;
74904 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
74905
74906 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
74907 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
74908 ,p_balance_type_code => l_balance_type_code);
74909
74910 END IF;
74911
74912 -----------------------------------------------------------------------------------------
74913 -- 4262811 Multiperiod Accounting
74914 -----------------------------------------------------------------------------------------
74915 -- No MPA option is assigned.
74916
74917
74918 END IF;
74919 END IF;
74920 --
74921
74922 --
74923 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
74924 trace
74925 (p_msg => 'END of AcctLineType_144'
74926 ,p_level => C_LEVEL_PROCEDURE
74927 ,p_module => l_log_module);
74928 END IF;
74929 --
74930 EXCEPTION
74931 WHEN xla_exceptions_pkg.application_exception THEN
74932 RAISE;
74933 WHEN OTHERS THEN
74934 xla_exceptions_pkg.raise_message
74935 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_144');
74936 END AcctLineType_144;
74937 --
74938
74939 ---------------------------------------
74940 --
74941 -- PRIVATE FUNCTION
74942 -- AcctLineType_145
74943 --
74944 ---------------------------------------
74945 PROCEDURE AcctLineType_145 (
74946 p_application_id IN NUMBER
74947 ,p_event_id IN NUMBER
74948 ,p_calculate_acctd_flag IN VARCHAR2
74949 ,p_calculate_g_l_flag IN VARCHAR2
74950 ,p_actual_flag IN OUT VARCHAR2
74951 ,p_balance_type_code OUT VARCHAR2
74952 ,p_gain_or_loss_ref OUT VARCHAR2
74953
74954 --Payment Currency Code
74955 , p_source_8 IN VARCHAR2
74956 --Interest Account
74957 , p_source_23 IN NUMBER
74958 --Prorate Interest Invoice Across Distributions Option
74959 , p_source_24 IN VARCHAR2
74960 --Invoice Distribution Account
74961 , p_source_25 IN NUMBER
74962 --Invoice Distribution Type
74963 , p_source_28 IN VARCHAR2
74964 , p_source_28_meaning IN VARCHAR2
74965 --Invoice Type Paid
74966 , p_source_56 IN VARCHAR2
74967 , p_source_56_meaning IN VARCHAR2
74968 --When to Account for Payment Option
74969 , p_source_57 IN VARCHAR2
74970 --Accounting Reversal Indicator
74971 , p_source_58 IN VARCHAR2
74972 --Distribution Link Type
74973 , p_source_60 IN VARCHAR2
74974 --Override Accounted Amount Indicator
74975 , p_source_85 IN VARCHAR2
74976 , p_source_85_meaning IN VARCHAR2
74977 --Third Party Type
74978 , p_source_88 IN VARCHAR2
74979 --Invoice Distribution Tax Line Identifier
74980 , p_source_91 IN NUMBER
74981 --Invoice Distribution Summary Tax Line Identifier
74982 , p_source_93 IN NUMBER
74983 --Business Flow Accounts Payable Application Identifier
74984 , p_source_96 IN NUMBER
74985 --Payment Distribution Type
74986 , p_source_101 IN VARCHAR2
74987 , p_source_101_meaning IN VARCHAR2
74988 --Payment Distribution Amount
74989 , p_source_102 IN NUMBER
74990 --Business Flow Payment Distribution Type
74991 , p_source_103 IN VARCHAR2
74992 --Business Flow Payment Entity Code
74993 , p_source_104 IN VARCHAR2
74994 --Business Flow Payment Distribution Identifier
74995 , p_source_105 IN NUMBER
74996 --Business Flow Payment Identifier
74997 , p_source_106 IN NUMBER
74998 --Payment Distribution Identifier
74999 , p_source_107 IN NUMBER
75000 --Cleared Exchange Date
75001 , p_source_109 IN DATE
75002 --Cleared Exchange Rate
75003 , p_source_110 IN NUMBER
75004 --Cleared Exchange Rate Type
75008 --Payment Supplier Identifier
75005 , p_source_111 IN VARCHAR2
75006 --Payment Distribution (Cleared Rate) Ledger Amount
75007 , p_source_112 IN NUMBER
75009 , p_source_113 IN NUMBER
75010 --Payment Supplier Site Identifier
75011 , p_source_114 IN NUMBER
75012 --Payment Distribution Reversed Identifier
75013 , p_source_115 IN NUMBER
75014 --Payment Type
75015 , p_source_125 IN VARCHAR2
75016 , p_source_125_meaning IN VARCHAR2
75017 )
75018 IS
75019
75020 l_component_type VARCHAR2(80);
75021 l_component_code VARCHAR2(30);
75022 l_component_type_code VARCHAR2(1);
75023 l_component_appl_id INTEGER;
75024 l_amb_context_code VARCHAR2(30);
75025 l_entity_code VARCHAR2(30);
75026 l_event_class_code VARCHAR2(30);
75027 l_ae_header_id NUMBER;
75028 l_event_type_code VARCHAR2(30);
75029 l_line_definition_code VARCHAR2(30);
75030 l_line_definition_owner_code VARCHAR2(1);
75031 --
75032 -- adr variables
75033 l_segment VARCHAR2(30);
75034 l_ccid NUMBER;
75035 l_adr_transaction_coa_id NUMBER;
75036 l_adr_accounting_coa_id NUMBER;
75037 l_adr_flexfield_segment_code VARCHAR2(30);
75038 l_adr_flex_value_set_id NUMBER;
75039 l_adr_value_type_code VARCHAR2(30);
75040 l_adr_value_combination_id NUMBER;
75041 l_adr_value_segment_code VARCHAR2(30);
75042
75043 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
75044 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
75045 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
75046 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
75047
75048 -- 4262811 Variables ------------------------------------------------------------------------------------------
75049 l_entered_amt_idx NUMBER;
75050 l_accted_amt_idx NUMBER;
75051 l_acc_rev_flag VARCHAR2(1);
75052 l_accrual_line_num NUMBER;
75053 l_tmp_amt NUMBER;
75054 l_acc_rev_natural_side_code VARCHAR2(1);
75055
75056 l_num_entries NUMBER;
75057 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
75058 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
75059 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
75060 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
75061 l_recog_line_1 NUMBER;
75062 l_recog_line_2 NUMBER;
75063
75064 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
75065 l_bflow_applied_to_amt NUMBER; -- 5132302
75066 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
75067
75068 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
75069
75070 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
75071 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
75072
75073 ---------------------------------------------------------------------------------------------------------------
75074
75075
75076 --
75077 -- bulk performance
75078 --
75079 l_balance_type_code VARCHAR2(1);
75080 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
75081 l_log_module VARCHAR2(240);
75082
75083 --
75084 -- Upgrade strategy
75085 --
75086 l_actual_upg_option VARCHAR2(1);
75087 l_enc_upg_option VARCHAR2(1);
75088
75089 --
75090 BEGIN
75091 --
75092 IF g_log_enabled THEN
75093 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_145';
75094 END IF;
75095 --
75096 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
75097
75098 trace
75099 (p_msg => 'BEGIN of AcctLineType_145'
75100 ,p_level => C_LEVEL_PROCEDURE
75101 ,p_module => l_log_module);
75102
75103 END IF;
75104 --
75105 l_component_type := 'AMB_JLT';
75106 l_component_code := 'AP_INTEREST_EXPENSE_CLEAR';
75107 l_component_type_code := 'S';
75108 l_component_appl_id := 200;
75109 l_amb_context_code := 'DEFAULT';
75110 l_entity_code := 'AP_PAYMENTS';
75111 l_event_class_code := 'RECONCILED PAYMENTS';
75112 l_event_type_code := 'RECONCILED PAYMENTS_ALL';
75113 l_line_definition_owner_code := 'S';
75114 l_line_definition_code := 'ACCRUAL_RECONCILED PAYMENTS_A4';
75115 --
75116 l_balance_type_code := 'A';
75117 l_segment := NULL;
75118 l_ccid := NULL;
75119 l_adr_transaction_coa_id := NULL;
75120 l_adr_accounting_coa_id := NULL;
75121 l_adr_flexfield_segment_code := NULL;
75122 l_adr_flex_value_set_id := NULL;
75123 l_adr_value_type_code := NULL;
75124 l_adr_value_combination_id := NULL;
75125 l_adr_value_segment_code := NULL;
75126
75127 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
75128 l_bflow_class_code := ''; -- 4219869 Business Flow
75129 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
75130 l_budgetary_control_flag := 'N';
75131
75132 l_bflow_applied_to_amt_idx := NULL; -- 5132302
75133 l_bflow_applied_to_amt := NULL; -- 5132302
75137 l_accrual_line_num := NULL; -- 4262811
75134 l_entered_amt_idx := NULL; -- 4262811
75135 l_accted_amt_idx := NULL; -- 4262811
75136 l_acc_rev_flag := NULL; -- 4262811
75138 l_tmp_amt := NULL; -- 4262811
75139 --
75140
75141 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
75142 l_balance_type_code <> 'B' THEN
75143 IF NVL(p_source_57,'
75144 ') = 'CLEAR_CLEAR' AND
75145 NVL(p_source_28,'
75146 ') = 'ITEM' AND
75147 NVL(p_source_56,'
75148 ') = 'INTEREST' AND
75149 (NVL(p_source_101,'
75150 ') = 'CASH' OR
75151 NVL(p_source_101,'
75152 ') = 'DISCOUNT') AND
75153 NVL(p_source_125,'
75154 ') <> 'R'
75155 THEN
75156
75157 --
75158 XLA_AE_LINES_PKG.SetNewLine;
75159
75160 p_balance_type_code := l_balance_type_code;
75161 -- set the flag so later we will know whether the gain loss line needs to be created
75162
75163 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
75164 p_actual_flag :='A';
75165 END IF;
75166
75167 --
75168 -- bulk performance
75169 --
75170 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
75171 p_header_num => 0); -- 4262811
75172 --
75173 -- set accounting line options
75174 --
75175 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
75176 p_natural_side_code => 'D'
75177 , p_gain_or_loss_flag => 'N'
75178 , p_gl_transfer_mode_code => 'S'
75179 , p_acct_entry_type_code => 'A'
75180 , p_switch_side_flag => 'Y'
75181 , p_merge_duplicate_code => 'A'
75182 );
75183 --
75184 l_acc_rev_natural_side_code := 'C'; -- 4262811
75185 --
75186 --
75187 -- set accounting line type info
75188 --
75189 xla_ae_lines_pkg.SetAcctLineType
75190 (p_component_type => l_component_type
75191 ,p_event_type_code => l_event_type_code
75192 ,p_line_definition_owner_code => l_line_definition_owner_code
75193 ,p_line_definition_code => l_line_definition_code
75194 ,p_accounting_line_code => l_component_code
75195 ,p_accounting_line_type_code => l_component_type_code
75196 ,p_accounting_line_appl_id => l_component_appl_id
75197 ,p_amb_context_code => l_amb_context_code
75198 ,p_entity_code => l_entity_code
75199 ,p_event_class_code => l_event_class_code);
75200 --
75201 -- set accounting class
75202 --
75203 xla_ae_lines_pkg.SetAcctClass(
75204 p_accounting_class_code => 'INTEREST_EXPENSE'
75205 , p_ae_header_id => l_ae_header_id
75206 );
75207
75208 --
75209 -- set rounding class
75210 --
75211 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
75212 'INTEREST_EXPENSE';
75213
75214 --
75215 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
75216 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
75217 --
75218 -- bulk performance
75219 --
75220 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
75221
75222 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
75223 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
75224
75225 -- 4955764
75226 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
75227 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
75228
75229 -- 4458381 Public Sector Enh
75230
75231 --
75232 -- set accounting attributes for the line type
75233 --
75234 l_entered_amt_idx := 10;
75235 l_accted_amt_idx := 15;
75236 l_bflow_applied_to_amt_idx := 2; -- 5132302
75237 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
75238 l_rec_acct_attrs.array_char_value(1) := p_source_58;
75239 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
75240 l_rec_acct_attrs.array_num_value(2) := p_source_102;
75241 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
75242 l_rec_acct_attrs.array_num_value(3) := p_source_96;
75243 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
75244 l_rec_acct_attrs.array_char_value(4) := p_source_103;
75245 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
75246 l_rec_acct_attrs.array_char_value(5) := p_source_104;
75247 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
75248 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_105);
75249 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
75250 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_106);
75251 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
75252 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_107);
75253 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
75254 l_rec_acct_attrs.array_char_value(9) := p_source_60;
75255 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
75259 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
75256 l_rec_acct_attrs.array_num_value(10) := p_source_102;
75257 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
75258 l_rec_acct_attrs.array_char_value(11) := p_source_8;
75260 l_rec_acct_attrs.array_date_value(12) := p_source_109;
75261 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
75262 l_rec_acct_attrs.array_num_value(13) := p_source_110;
75263 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
75264 l_rec_acct_attrs.array_char_value(14) := p_source_111;
75265 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
75266 l_rec_acct_attrs.array_num_value(15) := p_source_112;
75267 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
75268 l_rec_acct_attrs.array_char_value(16) := p_source_85;
75269 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
75270 l_rec_acct_attrs.array_num_value(17) := p_source_113;
75271 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
75272 l_rec_acct_attrs.array_num_value(18) := p_source_114;
75273 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
75274 l_rec_acct_attrs.array_char_value(19) := p_source_88;
75275 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
75276 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_115);
75277 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
75278 l_rec_acct_attrs.array_char_value(21) := p_source_60;
75279 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
75280 l_rec_acct_attrs.array_num_value(22) := p_source_91;
75281 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
75282 l_rec_acct_attrs.array_num_value(23) := p_source_91;
75283 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
75284 l_rec_acct_attrs.array_num_value(24) := p_source_93;
75285
75286 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
75287 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
75288
75289 ---------------------------------------------------------------------------------------------------------------
75290 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
75291 ---------------------------------------------------------------------------------------------------------------
75292 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
75293
75294 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
75295 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
75296
75297 IF xla_accounting_cache_pkg.GetValueChar
75298 (p_source_code => 'LEDGER_CATEGORY_CODE'
75299 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
75300 AND l_bflow_method_code = 'PRIOR_ENTRY'
75301 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
75302 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
75303 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
75304 )
75305 THEN
75306 xla_ae_lines_pkg.BflowUpgEntry
75307 (p_business_method_code => l_bflow_method_code
75308 ,p_business_class_code => l_bflow_class_code
75309 ,p_balance_type => l_balance_type_code);
75310 ELSE
75311 NULL;
75312 -- No business flow processing for business flow method of NONE.
75313 END IF;
75314
75315 --
75316 -- call analytical criteria
75317 --
75318
75319 --
75320 -- call description
75321 --
75322 -- No description or it is inherited.
75323 --
75324 -- call ADRs
75325 -- Bug 4922099
75326 --
75327 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
75328 (NVL(l_actual_upg_option, 'N') = 'O') OR
75329 (NVL(l_enc_upg_option, 'N') = 'O')
75330 )
75331 THEN
75332 NULL;
75333 --
75334 --
75335
75336 l_ccid := AcctDerRule_34(
75337 p_application_id => p_application_id
75338 , p_ae_header_id => l_ae_header_id
75339 , p_source_23 => p_source_23
75340 , p_source_24 => p_source_24
75341 , p_source_25 => p_source_25
75342 , x_transaction_coa_id => l_adr_transaction_coa_id
75343 , x_accounting_coa_id => l_adr_accounting_coa_id
75344 , x_value_type_code => l_adr_value_type_code
75345 , p_side => 'NA'
75346 );
75347
75348 xla_ae_lines_pkg.set_ccid(
75349 p_code_combination_id => l_ccid
75350 , p_value_type_code => l_adr_value_type_code
75351 , p_transaction_coa_id => l_adr_transaction_coa_id
75352 , p_accounting_coa_id => l_adr_accounting_coa_id
75353 , p_adr_code => 'AP_INTEREST'
75354 , p_adr_type_code => 'S'
75355 , p_component_type => l_component_type
75356 , p_component_code => l_component_code
75357 , p_component_type_code => l_component_type_code
75358 , p_component_appl_id => l_component_appl_id
75359 , p_amb_context_code => l_amb_context_code
75360 , p_side => 'NA'
75361 );
75362
75363
75364 l_segment := AcctDerRule_12(
75365 p_application_id => p_application_id
75369 , x_transaction_coa_id => l_adr_transaction_coa_id
75366 , p_ae_header_id => l_ae_header_id
75367 , p_source_23 => p_source_23
75368 , p_source_24 => p_source_24
75370 , x_accounting_coa_id => l_adr_accounting_coa_id
75371 , x_flexfield_segment_code => l_adr_flexfield_segment_code
75372 , x_flex_value_set_id => l_adr_flex_value_set_id
75373 , x_value_type_code => l_adr_value_type_code
75374 , x_value_combination_id => l_adr_value_combination_id
75375 , x_value_segment_code => l_adr_value_segment_code
75376 , p_side => 'NA'
75377 , p_override_seg_flag => 'Y'
75378 );
75379
75380 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
75381
75382 xla_ae_lines_pkg.set_segment(
75383 p_to_segment_code => 'GL_ACCOUNT'
75384 , p_segment_value => l_segment
75385 , p_from_segment_code => l_adr_value_segment_code
75386 , p_from_combination_id => l_adr_value_combination_id
75387 , p_value_type_code => l_adr_value_type_code
75388 , p_transaction_coa_id => l_adr_transaction_coa_id
75389 , p_accounting_coa_id => l_adr_accounting_coa_id
75390 , p_flexfield_segment_code => l_adr_flexfield_segment_code
75391 , p_flex_value_set_id => l_adr_flex_value_set_id
75392 , p_adr_code => 'AP_INTEREST_NAT_ACCT_SEG'
75393 , p_adr_type_code => 'S'
75394 , p_component_type => l_component_type
75395 , p_component_code => l_component_code
75396 , p_component_type_code => l_component_type_code
75397 , p_component_appl_id => l_component_appl_id
75398 , p_amb_context_code => l_amb_context_code
75399 , p_entity_code => 'AP_PAYMENTS'
75400 , p_event_class_code => 'RECONCILED PAYMENTS'
75401 , p_side => 'NA'
75402 );
75403
75404 END IF;
75405
75406 --
75407 --
75408 END IF;
75409 --
75410 -- Bug 4922099
75411 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
75412 (NVL(l_enc_upg_option, 'N') = 'O')
75413 ) AND
75414 (l_bflow_method_code = 'PRIOR_ENTRY')
75415 )
75416 THEN
75417 IF
75418 --
75419 1 = 2
75420 --
75421 THEN
75422 xla_accounting_err_pkg.build_message
75423 (p_appli_s_name => 'XLA'
75424 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
75425 ,p_token_1 => 'LINE_NUMBER'
75426 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
75427 ,p_token_2 => 'LINE_TYPE_NAME'
75428 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
75429 l_component_type
75430 ,l_component_code
75431 ,l_component_type_code
75432 ,l_component_appl_id
75433 ,l_amb_context_code
75434 ,l_entity_code
75435 ,l_event_class_code
75436 )
75437 ,p_token_3 => 'OWNER'
75438 ,p_value_3 => xla_lookups_pkg.get_meaning(
75439 p_lookup_type => 'XLA_OWNER_TYPE'
75440 ,p_lookup_code => l_component_type_code
75441 )
75442 ,p_token_4 => 'PRODUCT_NAME'
75443 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
75444 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
75445 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
75446 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
75447 ,p_ae_header_id => NULL
75448 );
75449
75450 IF (C_LEVEL_ERROR>= g_log_level) THEN
75451 trace
75452 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
75453 ,p_level => C_LEVEL_ERROR
75454 ,p_module => l_log_module);
75455 END IF;
75456 END IF;
75457 END IF;
75458 --
75459 --
75460 ------------------------------------------------------------------------------------------------
75461 -- 4219869 Business Flow
75462 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
75466
75463 -- Prior Entry. Currently, the following code is always generated.
75464 ------------------------------------------------------------------------------------------------
75465 XLA_AE_LINES_PKG.ValidateCurrentLine;
75467 ------------------------------------------------------------------------------------
75468 -- 4219869 Business Flow
75469 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
75470 ------------------------------------------------------------------------------------
75471 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
75472
75473 ----------------------------------------------------------------------------------
75474 -- 4219869 Business Flow
75475 -- Update journal entry status -- Need to generate this within IF <condition>
75476 ----------------------------------------------------------------------------------
75477 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
75478 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
75479 ,p_balance_type_code => l_balance_type_code
75480 );
75481
75482 -------------------------------------------------------------------------------------------
75483 -- 4262811 - Generate the Accrual Reversal lines
75484 -------------------------------------------------------------------------------------------
75485 BEGIN
75486 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
75487 (g_array_event(p_event_id).array_value_num('header_index'));
75488 IF l_acc_rev_flag IS NULL THEN
75489 l_acc_rev_flag := 'N';
75490 END IF;
75491 EXCEPTION
75492 WHEN OTHERS THEN
75493 l_acc_rev_flag := 'N';
75494 END;
75495 --
75496 IF (l_acc_rev_flag = 'Y') THEN
75497
75498 -- 4645092 ------------------------------------------------------------------------------
75499 -- To allow MPA report to determine if it should generate report process
75500 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
75501 ------------------------------------------------------------------------------------------
75502
75503 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
75504 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
75505 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
75506 -- call ADRs
75507 -- Bug 4922099
75508 --
75509 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
75510 (NVL(l_actual_upg_option, 'N') = 'O') OR
75511 (NVL(l_enc_upg_option, 'N') = 'O')
75512 )
75513 THEN
75514 NULL;
75515 --
75516 --
75517
75518 l_ccid := AcctDerRule_34(
75519 p_application_id => p_application_id
75520 , p_ae_header_id => l_ae_header_id
75521 , p_source_23 => p_source_23
75522 , p_source_24 => p_source_24
75523 , p_source_25 => p_source_25
75524 , x_transaction_coa_id => l_adr_transaction_coa_id
75525 , x_accounting_coa_id => l_adr_accounting_coa_id
75526 , x_value_type_code => l_adr_value_type_code
75527 , p_side => 'NA'
75528 );
75529
75530 xla_ae_lines_pkg.set_ccid(
75531 p_code_combination_id => l_ccid
75532 , p_value_type_code => l_adr_value_type_code
75533 , p_transaction_coa_id => l_adr_transaction_coa_id
75534 , p_accounting_coa_id => l_adr_accounting_coa_id
75535 , p_adr_code => 'AP_INTEREST'
75536 , p_adr_type_code => 'S'
75537 , p_component_type => l_component_type
75538 , p_component_code => l_component_code
75539 , p_component_type_code => l_component_type_code
75540 , p_component_appl_id => l_component_appl_id
75541 , p_amb_context_code => l_amb_context_code
75542 , p_side => 'NA'
75543 );
75544
75545
75546 l_segment := AcctDerRule_12(
75547 p_application_id => p_application_id
75548 , p_ae_header_id => l_ae_header_id
75549 , p_source_23 => p_source_23
75550 , p_source_24 => p_source_24
75551 , x_transaction_coa_id => l_adr_transaction_coa_id
75552 , x_accounting_coa_id => l_adr_accounting_coa_id
75553 , x_flexfield_segment_code => l_adr_flexfield_segment_code
75554 , x_flex_value_set_id => l_adr_flex_value_set_id
75555 , x_value_type_code => l_adr_value_type_code
75556 , x_value_combination_id => l_adr_value_combination_id
75557 , x_value_segment_code => l_adr_value_segment_code
75558 , p_side => 'NA'
75559 , p_override_seg_flag => 'Y'
75560 );
75561
75562 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
75563
75564 xla_ae_lines_pkg.set_segment(
75565 p_to_segment_code => 'GL_ACCOUNT'
75566 , p_segment_value => l_segment
75567 , p_from_segment_code => l_adr_value_segment_code
75568 , p_from_combination_id => l_adr_value_combination_id
75569 , p_value_type_code => l_adr_value_type_code
75570 , p_transaction_coa_id => l_adr_transaction_coa_id
75571 , p_accounting_coa_id => l_adr_accounting_coa_id
75572 , p_flexfield_segment_code => l_adr_flexfield_segment_code
75576 , p_component_type => l_component_type
75573 , p_flex_value_set_id => l_adr_flex_value_set_id
75574 , p_adr_code => 'AP_INTEREST_NAT_ACCT_SEG'
75575 , p_adr_type_code => 'S'
75577 , p_component_code => l_component_code
75578 , p_component_type_code => l_component_type_code
75579 , p_component_appl_id => l_component_appl_id
75580 , p_amb_context_code => l_amb_context_code
75581 , p_entity_code => 'AP_PAYMENTS'
75582 , p_event_class_code => 'RECONCILED PAYMENTS'
75583 , p_side => 'NA'
75584 );
75585
75586 END IF;
75587
75588 --
75589 --
75590 END IF;
75591
75592 --
75593 -- Update the line information that should be overwritten
75594 --
75595 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
75596 p_header_num => 1);
75597 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
75598
75599 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
75600
75601 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
75602 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
75603 END IF;
75604
75605 --
75606 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
75607 --
75608 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
75609 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
75610 ELSE
75611 ---------------------------------------------------------------------------------------------------
75612 -- 4262811a Switch Sign
75613 ---------------------------------------------------------------------------------------------------
75614 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
75615 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
75616 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
75617 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
75618 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
75619 -- 5132302
75620 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
75621 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
75622
75623 END IF;
75624
75625 -- 4955764
75626 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
75627 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
75628
75629
75630 XLA_AE_LINES_PKG.ValidateCurrentLine;
75631 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
75632
75633 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
75634 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
75635 ,p_balance_type_code => l_balance_type_code);
75636
75637 END IF;
75638
75639 -----------------------------------------------------------------------------------------
75640 -- 4262811 Multiperiod Accounting
75641 -----------------------------------------------------------------------------------------
75642 -- No MPA option is assigned.
75643
75644
75645 END IF;
75646 END IF;
75647 --
75648
75649 --
75650 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
75651 trace
75652 (p_msg => 'END of AcctLineType_145'
75653 ,p_level => C_LEVEL_PROCEDURE
75654 ,p_module => l_log_module);
75655 END IF;
75656 --
75657 EXCEPTION
75658 WHEN xla_exceptions_pkg.application_exception THEN
75659 RAISE;
75660 WHEN OTHERS THEN
75661 xla_exceptions_pkg.raise_message
75662 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_145');
75663 END AcctLineType_145;
75664 --
75665
75666 ---------------------------------------
75667 --
75668 -- PRIVATE FUNCTION
75669 -- AcctLineType_146
75670 --
75671 ---------------------------------------
75672 PROCEDURE AcctLineType_146 (
75673 p_application_id IN NUMBER
75674 ,p_event_id IN NUMBER
75675 ,p_calculate_acctd_flag IN VARCHAR2
75676 ,p_calculate_g_l_flag IN VARCHAR2
75677 ,p_actual_flag IN OUT VARCHAR2
75678 ,p_balance_type_code OUT VARCHAR2
75679 ,p_gain_or_loss_ref OUT VARCHAR2
75680
75681 --Payment Currency Code
75682 , p_source_8 IN VARCHAR2
75683 --Interest Account
75684 , p_source_23 IN NUMBER
75685 --Prorate Interest Invoice Across Distributions Option
75686 , p_source_24 IN VARCHAR2
75687 --Invoice Distribution Account
75688 , p_source_25 IN NUMBER
75689 --Invoice Distribution Type
75690 , p_source_28 IN VARCHAR2
75691 , p_source_28_meaning IN VARCHAR2
75692 --Invoice Type Paid
75693 , p_source_56 IN VARCHAR2
75694 , p_source_56_meaning IN VARCHAR2
75698 , p_source_58 IN VARCHAR2
75695 --When to Account for Payment Option
75696 , p_source_57 IN VARCHAR2
75697 --Accounting Reversal Indicator
75699 --Distribution Link Type
75700 , p_source_60 IN VARCHAR2
75701 --Override Accounted Amount Indicator
75702 , p_source_85 IN VARCHAR2
75703 , p_source_85_meaning IN VARCHAR2
75704 --Third Party Type
75705 , p_source_88 IN VARCHAR2
75706 --Invoice Distribution Tax Line Identifier
75707 , p_source_91 IN NUMBER
75708 --Invoice Distribution Tax Distribution Identifier from Tax
75709 , p_source_92 IN NUMBER
75710 --Invoice Distribution Summary Tax Line Identifier
75711 , p_source_93 IN NUMBER
75712 --Business Flow Accounts Payable Application Identifier
75713 , p_source_96 IN NUMBER
75714 --Business Flow Invoice Distribution Type
75715 , p_source_97 IN VARCHAR2
75716 --Business Flow Invoice Entity Code
75717 , p_source_98 IN VARCHAR2
75718 --Business Flow Invoice Distribution Identifier
75719 , p_source_99 IN NUMBER
75720 --Business Flow Invoice Identifier
75721 , p_source_100 IN NUMBER
75722 --Payment Distribution Type
75723 , p_source_101 IN VARCHAR2
75724 , p_source_101_meaning IN VARCHAR2
75725 --Payment Distribution Amount
75726 , p_source_102 IN NUMBER
75727 --Payment Distribution Identifier
75728 , p_source_107 IN NUMBER
75729 --Payment Supplier Identifier
75730 , p_source_113 IN NUMBER
75731 --Payment Supplier Site Identifier
75732 , p_source_114 IN NUMBER
75733 --Payment Distribution Reversed Identifier
75734 , p_source_115 IN NUMBER
75735 --Payment Distribution (Payment Rate) Ledger Amount
75736 , p_source_118 IN NUMBER
75737 --Payment Exchange Date
75738 , p_source_120 IN DATE
75739 --Payment Exchange Rate
75740 , p_source_121 IN NUMBER
75741 --Payment Exchange Rate Type
75742 , p_source_122 IN VARCHAR2
75743 --Payment Processing Type
75744 , p_source_126 IN VARCHAR2
75745 --Invoice Distribution Amount of the Payment Distribution
75746 , p_source_127 IN NUMBER
75747 )
75748 IS
75749
75750 l_component_type VARCHAR2(80);
75751 l_component_code VARCHAR2(30);
75752 l_component_type_code VARCHAR2(1);
75753 l_component_appl_id INTEGER;
75754 l_amb_context_code VARCHAR2(30);
75755 l_entity_code VARCHAR2(30);
75756 l_event_class_code VARCHAR2(30);
75757 l_ae_header_id NUMBER;
75758 l_event_type_code VARCHAR2(30);
75759 l_line_definition_code VARCHAR2(30);
75760 l_line_definition_owner_code VARCHAR2(1);
75761 --
75762 -- adr variables
75763 l_segment VARCHAR2(30);
75764 l_ccid NUMBER;
75765 l_adr_transaction_coa_id NUMBER;
75766 l_adr_accounting_coa_id NUMBER;
75767 l_adr_flexfield_segment_code VARCHAR2(30);
75768 l_adr_flex_value_set_id NUMBER;
75769 l_adr_value_type_code VARCHAR2(30);
75770 l_adr_value_combination_id NUMBER;
75771 l_adr_value_segment_code VARCHAR2(30);
75772
75773 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
75774 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
75775 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
75776 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
75777
75778 -- 4262811 Variables ------------------------------------------------------------------------------------------
75779 l_entered_amt_idx NUMBER;
75780 l_accted_amt_idx NUMBER;
75781 l_acc_rev_flag VARCHAR2(1);
75782 l_accrual_line_num NUMBER;
75783 l_tmp_amt NUMBER;
75784 l_acc_rev_natural_side_code VARCHAR2(1);
75785
75786 l_num_entries NUMBER;
75787 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
75788 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
75789 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
75790 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
75791 l_recog_line_1 NUMBER;
75792 l_recog_line_2 NUMBER;
75793
75794 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
75795 l_bflow_applied_to_amt NUMBER; -- 5132302
75796 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
75797
75798 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
75799
75800 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
75801 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
75802
75803 ---------------------------------------------------------------------------------------------------------------
75804
75805
75806 --
75807 -- bulk performance
75808 --
75809 l_balance_type_code VARCHAR2(1);
75810 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
75811 l_log_module VARCHAR2(240);
75812
75813 --
75814 -- Upgrade strategy
75815 --
75816 l_actual_upg_option VARCHAR2(1);
75817 l_enc_upg_option VARCHAR2(1);
75818
75819 --
75820 BEGIN
75821 --
75822 IF g_log_enabled THEN
75826 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
75823 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_146';
75824 END IF;
75825 --
75827
75828 trace
75829 (p_msg => 'BEGIN of AcctLineType_146'
75830 ,p_level => C_LEVEL_PROCEDURE
75831 ,p_module => l_log_module);
75832
75833 END IF;
75834 --
75835 l_component_type := 'AMB_JLT';
75836 l_component_code := 'AP_INTEREST_EXPENSE_PMT';
75837 l_component_type_code := 'S';
75838 l_component_appl_id := 200;
75839 l_amb_context_code := 'DEFAULT';
75840 l_entity_code := 'AP_PAYMENTS';
75841 l_event_class_code := 'PAYMENTS';
75842 l_event_type_code := 'PAYMENTS_ALL';
75843 l_line_definition_owner_code := 'S';
75844 l_line_definition_code := 'ACCRUAL_PAYMENTS_ALL';
75845 --
75846 l_balance_type_code := 'A';
75847 l_segment := NULL;
75848 l_ccid := NULL;
75849 l_adr_transaction_coa_id := NULL;
75850 l_adr_accounting_coa_id := NULL;
75851 l_adr_flexfield_segment_code := NULL;
75852 l_adr_flex_value_set_id := NULL;
75853 l_adr_value_type_code := NULL;
75854 l_adr_value_combination_id := NULL;
75855 l_adr_value_segment_code := NULL;
75856
75857 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
75858 l_bflow_class_code := ''; -- 4219869 Business Flow
75859 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
75860 l_budgetary_control_flag := 'N';
75861
75862 l_bflow_applied_to_amt_idx := NULL; -- 5132302
75863 l_bflow_applied_to_amt := NULL; -- 5132302
75864 l_entered_amt_idx := NULL; -- 4262811
75865 l_accted_amt_idx := NULL; -- 4262811
75866 l_acc_rev_flag := NULL; -- 4262811
75867 l_accrual_line_num := NULL; -- 4262811
75868 l_tmp_amt := NULL; -- 4262811
75869 --
75870
75871 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
75872 l_balance_type_code <> 'B' THEN
75873 IF NVL(p_source_57,'
75874 ') <> 'CLEAR_CLEAR' AND
75875 NVL(p_source_56,'
75876 ') = 'INTEREST' AND
75877 NVL(p_source_28,'
75878 ') = 'ITEM' AND
75879 (NVL(p_source_101,'
75880 ') = 'CASH' OR
75881 NVL(p_source_101,'
75882 ') = 'DISCOUNT') AND
75883 NVL(p_source_126,'
75884 ') <> 'PAYMENTCARD'
75885 THEN
75886
75887 --
75888 XLA_AE_LINES_PKG.SetNewLine;
75889
75890 p_balance_type_code := l_balance_type_code;
75891 -- set the flag so later we will know whether the gain loss line needs to be created
75892
75893 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
75894 p_actual_flag :='A';
75895 END IF;
75896
75897 --
75898 -- bulk performance
75899 --
75900 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
75901 p_header_num => 0); -- 4262811
75902 --
75903 -- set accounting line options
75904 --
75905 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
75906 p_natural_side_code => 'D'
75907 , p_gain_or_loss_flag => 'N'
75908 , p_gl_transfer_mode_code => 'S'
75909 , p_acct_entry_type_code => 'A'
75910 , p_switch_side_flag => 'Y'
75911 , p_merge_duplicate_code => 'A'
75912 );
75913 --
75914 l_acc_rev_natural_side_code := 'C'; -- 4262811
75915 --
75916 --
75917 -- set accounting line type info
75918 --
75919 xla_ae_lines_pkg.SetAcctLineType
75920 (p_component_type => l_component_type
75921 ,p_event_type_code => l_event_type_code
75922 ,p_line_definition_owner_code => l_line_definition_owner_code
75923 ,p_line_definition_code => l_line_definition_code
75924 ,p_accounting_line_code => l_component_code
75925 ,p_accounting_line_type_code => l_component_type_code
75926 ,p_accounting_line_appl_id => l_component_appl_id
75927 ,p_amb_context_code => l_amb_context_code
75928 ,p_entity_code => l_entity_code
75929 ,p_event_class_code => l_event_class_code);
75930 --
75931 -- set accounting class
75932 --
75933 xla_ae_lines_pkg.SetAcctClass(
75934 p_accounting_class_code => 'INTEREST_EXPENSE'
75935 , p_ae_header_id => l_ae_header_id
75936 );
75937
75938 --
75939 -- set rounding class
75940 --
75941 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
75942 'INTEREST_EXPENSE';
75943
75944 --
75945 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
75946 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
75947 --
75948 -- bulk performance
75949 --
75950 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
75951
75952 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
75953 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
75954
75955 -- 4955764
75956 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
75960
75957 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
75958
75959 -- 4458381 Public Sector Enh
75961 --
75962 -- set accounting attributes for the line type
75963 --
75964 l_entered_amt_idx := 10;
75965 l_accted_amt_idx := 15;
75966 l_bflow_applied_to_amt_idx := 2; -- 5132302
75967 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
75968 l_rec_acct_attrs.array_char_value(1) := p_source_58;
75969 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
75970 l_rec_acct_attrs.array_num_value(2) := p_source_127;
75971 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
75972 l_rec_acct_attrs.array_num_value(3) := p_source_96;
75973 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
75974 l_rec_acct_attrs.array_char_value(4) := p_source_97;
75975 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
75976 l_rec_acct_attrs.array_char_value(5) := p_source_98;
75977 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
75978 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_99);
75979 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
75980 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_100);
75981 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
75982 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_107);
75983 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
75984 l_rec_acct_attrs.array_char_value(9) := p_source_60;
75985 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
75986 l_rec_acct_attrs.array_num_value(10) := p_source_102;
75987 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
75988 l_rec_acct_attrs.array_char_value(11) := p_source_8;
75989 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
75990 l_rec_acct_attrs.array_date_value(12) := p_source_120;
75991 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
75992 l_rec_acct_attrs.array_num_value(13) := p_source_121;
75993 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
75994 l_rec_acct_attrs.array_char_value(14) := p_source_122;
75995 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
75996 l_rec_acct_attrs.array_num_value(15) := p_source_118;
75997 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
75998 l_rec_acct_attrs.array_char_value(16) := p_source_85;
75999 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
76000 l_rec_acct_attrs.array_num_value(17) := p_source_113;
76001 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
76002 l_rec_acct_attrs.array_num_value(18) := p_source_114;
76003 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
76004 l_rec_acct_attrs.array_char_value(19) := p_source_88;
76005 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
76006 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_115);
76007 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
76008 l_rec_acct_attrs.array_char_value(21) := p_source_60;
76009 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
76010 l_rec_acct_attrs.array_num_value(22) := p_source_91;
76011 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
76012 l_rec_acct_attrs.array_num_value(23) := p_source_92;
76013 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
76014 l_rec_acct_attrs.array_num_value(24) := p_source_93;
76015
76016 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
76017 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
76018
76019 ---------------------------------------------------------------------------------------------------------------
76020 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
76021 ---------------------------------------------------------------------------------------------------------------
76022 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
76023
76024 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
76025 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
76026
76027 IF xla_accounting_cache_pkg.GetValueChar
76028 (p_source_code => 'LEDGER_CATEGORY_CODE'
76029 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
76030 AND l_bflow_method_code = 'PRIOR_ENTRY'
76031 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
76032 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
76033 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
76034 )
76035 THEN
76036 xla_ae_lines_pkg.BflowUpgEntry
76037 (p_business_method_code => l_bflow_method_code
76038 ,p_business_class_code => l_bflow_class_code
76039 ,p_balance_type => l_balance_type_code);
76040 ELSE
76041 NULL;
76042 -- No business flow processing for business flow method of NONE.
76043 END IF;
76044
76045 --
76046 -- call analytical criteria
76047 --
76048
76049 --
76050 -- call description
76051 --
76052 -- No description or it is inherited.
76053 --
76054 -- call ADRs
76055 -- Bug 4922099
76059 (NVL(l_enc_upg_option, 'N') = 'O')
76056 --
76057 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
76058 (NVL(l_actual_upg_option, 'N') = 'O') OR
76060 )
76061 THEN
76062 NULL;
76063 --
76064 --
76065
76066 l_ccid := AcctDerRule_34(
76067 p_application_id => p_application_id
76068 , p_ae_header_id => l_ae_header_id
76069 , p_source_23 => p_source_23
76070 , p_source_24 => p_source_24
76071 , p_source_25 => p_source_25
76072 , x_transaction_coa_id => l_adr_transaction_coa_id
76073 , x_accounting_coa_id => l_adr_accounting_coa_id
76074 , x_value_type_code => l_adr_value_type_code
76075 , p_side => 'NA'
76076 );
76077
76078 xla_ae_lines_pkg.set_ccid(
76079 p_code_combination_id => l_ccid
76080 , p_value_type_code => l_adr_value_type_code
76081 , p_transaction_coa_id => l_adr_transaction_coa_id
76082 , p_accounting_coa_id => l_adr_accounting_coa_id
76083 , p_adr_code => 'AP_INTEREST'
76084 , p_adr_type_code => 'S'
76085 , p_component_type => l_component_type
76086 , p_component_code => l_component_code
76087 , p_component_type_code => l_component_type_code
76088 , p_component_appl_id => l_component_appl_id
76089 , p_amb_context_code => l_amb_context_code
76090 , p_side => 'NA'
76091 );
76092
76093
76094 l_segment := AcctDerRule_12(
76095 p_application_id => p_application_id
76096 , p_ae_header_id => l_ae_header_id
76097 , p_source_23 => p_source_23
76098 , p_source_24 => p_source_24
76099 , x_transaction_coa_id => l_adr_transaction_coa_id
76100 , x_accounting_coa_id => l_adr_accounting_coa_id
76101 , x_flexfield_segment_code => l_adr_flexfield_segment_code
76102 , x_flex_value_set_id => l_adr_flex_value_set_id
76103 , x_value_type_code => l_adr_value_type_code
76104 , x_value_combination_id => l_adr_value_combination_id
76105 , x_value_segment_code => l_adr_value_segment_code
76106 , p_side => 'NA'
76107 , p_override_seg_flag => 'Y'
76108 );
76109
76110 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
76111
76112 xla_ae_lines_pkg.set_segment(
76113 p_to_segment_code => 'GL_ACCOUNT'
76114 , p_segment_value => l_segment
76115 , p_from_segment_code => l_adr_value_segment_code
76116 , p_from_combination_id => l_adr_value_combination_id
76117 , p_value_type_code => l_adr_value_type_code
76118 , p_transaction_coa_id => l_adr_transaction_coa_id
76119 , p_accounting_coa_id => l_adr_accounting_coa_id
76120 , p_flexfield_segment_code => l_adr_flexfield_segment_code
76121 , p_flex_value_set_id => l_adr_flex_value_set_id
76122 , p_adr_code => 'AP_INTEREST_NAT_ACCT_SEG'
76123 , p_adr_type_code => 'S'
76124 , p_component_type => l_component_type
76125 , p_component_code => l_component_code
76126 , p_component_type_code => l_component_type_code
76127 , p_component_appl_id => l_component_appl_id
76128 , p_amb_context_code => l_amb_context_code
76129 , p_entity_code => 'AP_PAYMENTS'
76130 , p_event_class_code => 'PAYMENTS'
76131 , p_side => 'NA'
76132 );
76133
76134 END IF;
76135
76136 --
76137 --
76138 END IF;
76139 --
76140 -- Bug 4922099
76141 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
76142 (NVL(l_enc_upg_option, 'N') = 'O')
76143 ) AND
76144 (l_bflow_method_code = 'PRIOR_ENTRY')
76145 )
76146 THEN
76147 IF
76148 --
76149 1 = 2
76150 --
76151 THEN
76152 xla_accounting_err_pkg.build_message
76153 (p_appli_s_name => 'XLA'
76154 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
76155 ,p_token_1 => 'LINE_NUMBER'
76156 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
76157 ,p_token_2 => 'LINE_TYPE_NAME'
76158 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
76159 l_component_type
76160 ,l_component_code
76161 ,l_component_type_code
76162 ,l_component_appl_id
76163 ,l_amb_context_code
76164 ,l_entity_code
76165 ,l_event_class_code
76166 )
76170 ,p_lookup_code => l_component_type_code
76167 ,p_token_3 => 'OWNER'
76168 ,p_value_3 => xla_lookups_pkg.get_meaning(
76169 p_lookup_type => 'XLA_OWNER_TYPE'
76171 )
76172 ,p_token_4 => 'PRODUCT_NAME'
76173 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
76174 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
76175 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
76176 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
76177 ,p_ae_header_id => NULL
76178 );
76179
76180 IF (C_LEVEL_ERROR>= g_log_level) THEN
76181 trace
76182 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
76183 ,p_level => C_LEVEL_ERROR
76184 ,p_module => l_log_module);
76185 END IF;
76186 END IF;
76187 END IF;
76188 --
76189 --
76190 ------------------------------------------------------------------------------------------------
76191 -- 4219869 Business Flow
76192 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
76193 -- Prior Entry. Currently, the following code is always generated.
76194 ------------------------------------------------------------------------------------------------
76195 XLA_AE_LINES_PKG.ValidateCurrentLine;
76196
76197 ------------------------------------------------------------------------------------
76198 -- 4219869 Business Flow
76199 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
76200 ------------------------------------------------------------------------------------
76201 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
76202
76203 ----------------------------------------------------------------------------------
76204 -- 4219869 Business Flow
76205 -- Update journal entry status -- Need to generate this within IF <condition>
76206 ----------------------------------------------------------------------------------
76207 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
76208 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
76209 ,p_balance_type_code => l_balance_type_code
76210 );
76211
76212 -------------------------------------------------------------------------------------------
76213 -- 4262811 - Generate the Accrual Reversal lines
76214 -------------------------------------------------------------------------------------------
76215 BEGIN
76216 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
76217 (g_array_event(p_event_id).array_value_num('header_index'));
76218 IF l_acc_rev_flag IS NULL THEN
76219 l_acc_rev_flag := 'N';
76220 END IF;
76221 EXCEPTION
76222 WHEN OTHERS THEN
76223 l_acc_rev_flag := 'N';
76224 END;
76225 --
76226 IF (l_acc_rev_flag = 'Y') THEN
76227
76228 -- 4645092 ------------------------------------------------------------------------------
76229 -- To allow MPA report to determine if it should generate report process
76230 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
76231 ------------------------------------------------------------------------------------------
76232
76233 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
76234 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
76235 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
76236 -- call ADRs
76237 -- Bug 4922099
76238 --
76239 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
76240 (NVL(l_actual_upg_option, 'N') = 'O') OR
76241 (NVL(l_enc_upg_option, 'N') = 'O')
76242 )
76243 THEN
76244 NULL;
76245 --
76246 --
76247
76248 l_ccid := AcctDerRule_34(
76249 p_application_id => p_application_id
76250 , p_ae_header_id => l_ae_header_id
76251 , p_source_23 => p_source_23
76252 , p_source_24 => p_source_24
76253 , p_source_25 => p_source_25
76254 , x_transaction_coa_id => l_adr_transaction_coa_id
76255 , x_accounting_coa_id => l_adr_accounting_coa_id
76256 , x_value_type_code => l_adr_value_type_code
76257 , p_side => 'NA'
76258 );
76259
76260 xla_ae_lines_pkg.set_ccid(
76261 p_code_combination_id => l_ccid
76262 , p_value_type_code => l_adr_value_type_code
76263 , p_transaction_coa_id => l_adr_transaction_coa_id
76264 , p_accounting_coa_id => l_adr_accounting_coa_id
76265 , p_adr_code => 'AP_INTEREST'
76266 , p_adr_type_code => 'S'
76267 , p_component_type => l_component_type
76271 , p_amb_context_code => l_amb_context_code
76268 , p_component_code => l_component_code
76269 , p_component_type_code => l_component_type_code
76270 , p_component_appl_id => l_component_appl_id
76272 , p_side => 'NA'
76273 );
76274
76275
76276 l_segment := AcctDerRule_12(
76277 p_application_id => p_application_id
76278 , p_ae_header_id => l_ae_header_id
76279 , p_source_23 => p_source_23
76280 , p_source_24 => p_source_24
76281 , x_transaction_coa_id => l_adr_transaction_coa_id
76282 , x_accounting_coa_id => l_adr_accounting_coa_id
76283 , x_flexfield_segment_code => l_adr_flexfield_segment_code
76284 , x_flex_value_set_id => l_adr_flex_value_set_id
76285 , x_value_type_code => l_adr_value_type_code
76286 , x_value_combination_id => l_adr_value_combination_id
76287 , x_value_segment_code => l_adr_value_segment_code
76288 , p_side => 'NA'
76289 , p_override_seg_flag => 'Y'
76290 );
76291
76292 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
76293
76294 xla_ae_lines_pkg.set_segment(
76295 p_to_segment_code => 'GL_ACCOUNT'
76296 , p_segment_value => l_segment
76297 , p_from_segment_code => l_adr_value_segment_code
76298 , p_from_combination_id => l_adr_value_combination_id
76299 , p_value_type_code => l_adr_value_type_code
76300 , p_transaction_coa_id => l_adr_transaction_coa_id
76301 , p_accounting_coa_id => l_adr_accounting_coa_id
76302 , p_flexfield_segment_code => l_adr_flexfield_segment_code
76303 , p_flex_value_set_id => l_adr_flex_value_set_id
76304 , p_adr_code => 'AP_INTEREST_NAT_ACCT_SEG'
76305 , p_adr_type_code => 'S'
76306 , p_component_type => l_component_type
76307 , p_component_code => l_component_code
76308 , p_component_type_code => l_component_type_code
76309 , p_component_appl_id => l_component_appl_id
76310 , p_amb_context_code => l_amb_context_code
76311 , p_entity_code => 'AP_PAYMENTS'
76312 , p_event_class_code => 'PAYMENTS'
76313 , p_side => 'NA'
76314 );
76315
76316 END IF;
76317
76318 --
76319 --
76320 END IF;
76321
76322 --
76323 -- Update the line information that should be overwritten
76324 --
76325 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
76326 p_header_num => 1);
76327 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
76328
76329 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
76330
76331 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
76332 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
76333 END IF;
76334
76335 --
76336 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
76337 --
76338 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
76339 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
76340 ELSE
76341 ---------------------------------------------------------------------------------------------------
76342 -- 4262811a Switch Sign
76343 ---------------------------------------------------------------------------------------------------
76344 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
76345 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
76346 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
76347 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
76348 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
76349 -- 5132302
76350 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
76351 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
76352
76353 END IF;
76354
76355 -- 4955764
76356 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
76357 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
76358
76359
76360 XLA_AE_LINES_PKG.ValidateCurrentLine;
76361 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
76362
76363 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
76364 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
76365 ,p_balance_type_code => l_balance_type_code);
76366
76367 END IF;
76368
76369 -----------------------------------------------------------------------------------------
76370 -- 4262811 Multiperiod Accounting
76371 -----------------------------------------------------------------------------------------
76372 -- No MPA option is assigned.
76373
76374
76375 END IF;
76379 --
76376 END IF;
76377 --
76378
76380 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
76381 trace
76382 (p_msg => 'END of AcctLineType_146'
76383 ,p_level => C_LEVEL_PROCEDURE
76384 ,p_module => l_log_module);
76385 END IF;
76386 --
76387 EXCEPTION
76388 WHEN xla_exceptions_pkg.application_exception THEN
76389 RAISE;
76390 WHEN OTHERS THEN
76391 xla_exceptions_pkg.raise_message
76392 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_146');
76393 END AcctLineType_146;
76394 --
76395
76396 ---------------------------------------
76397 --
76398 -- PRIVATE FUNCTION
76399 -- AcctLineType_147
76400 --
76401 ---------------------------------------
76402 PROCEDURE AcctLineType_147 (
76403 p_application_id IN NUMBER
76404 ,p_event_id IN NUMBER
76405 ,p_calculate_acctd_flag IN VARCHAR2
76406 ,p_calculate_g_l_flag IN VARCHAR2
76407 ,p_actual_flag IN OUT VARCHAR2
76408 ,p_balance_type_code OUT VARCHAR2
76409 ,p_gain_or_loss_ref OUT VARCHAR2
76410
76411 --Invoice Distribution Description
76412 , p_source_1 IN VARCHAR2
76413 --Invoice Distribution Ledger Amount
76414 , p_source_16 IN NUMBER
76415 --Invoice Distribution Account
76416 , p_source_25 IN NUMBER
76417 --Invoice Distribution Type
76418 , p_source_28 IN VARCHAR2
76419 , p_source_28_meaning IN VARCHAR2
76420 --Accrue on Receipt Option
76421 , p_source_54 IN VARCHAR2
76422 , p_source_54_meaning IN VARCHAR2
76423 --Accounting Reversal Indicator
76424 , p_source_58 IN VARCHAR2
76425 --Distribution Link Type
76426 , p_source_60 IN VARCHAR2
76427 --Allocation to Main Distribution Identifier
76428 , p_source_62 IN NUMBER
76429 --Invoice Identifier
76430 , p_source_63 IN NUMBER
76431 --Invoice Distribution Identifier
76432 , p_source_69 IN NUMBER
76433 --Payables Encumbrance Upgrade Credit Account
76434 , p_source_70 IN NUMBER
76435 --Payables Encumbrance Upgrade Credit Amount
76436 , p_source_71 IN NUMBER
76437 --Invoice Currency Code
76438 , p_source_72 IN VARCHAR2
76439 --Payables Encumbrance Upgrade Credit Base Amount
76440 , p_source_73 IN NUMBER
76441 --Payables Encumbrance Upgrade Debit Account
76442 , p_source_74 IN NUMBER
76443 --Payables Encumbrance Upgrade Debit Amount
76444 , p_source_75 IN NUMBER
76445 --Payables Encumbrance Upgrade Debit Base Amount
76446 , p_source_76 IN NUMBER
76447 --Payables Encumbrance Upgrade Option
76448 , p_source_77 IN VARCHAR2
76449 --Invoice Distribution Amount
76450 , p_source_78 IN NUMBER
76451 --Deferred Accounting End Date
76452 , p_source_82 IN DATE
76453 --Deferred Accounting Option
76454 , p_source_83 IN VARCHAR2
76455 --Deferred Accounting Start Date
76456 , p_source_84 IN DATE
76457 --Override Accounted Amount Indicator
76458 , p_source_85 IN VARCHAR2
76459 , p_source_85_meaning IN VARCHAR2
76460 --Invoice Supplier Identifier
76461 , p_source_86 IN NUMBER
76462 --Invoice Supplier Site Identifier
76463 , p_source_87 IN NUMBER
76464 --Third Party Type
76465 , p_source_88 IN VARCHAR2
76466 --Parent Reversal Identifier
76467 , p_source_89 IN NUMBER
76468 --Invoice Distribution Statistical Amount
76469 , p_source_90 IN NUMBER
76470 --Invoice Distribution Tax Line Identifier
76471 , p_source_91 IN NUMBER
76472 --Invoice Distribution Tax Distribution Identifier from Tax
76473 , p_source_92 IN NUMBER
76474 --Invoice Distribution Summary Tax Line Identifier
76475 , p_source_93 IN NUMBER
76476 --Payables Upgrade Credit Encumbrance Type Identifier
76477 , p_source_94 IN NUMBER
76478 --Payables Upgrade Debit Encumbrance Type Identifier
76479 , p_source_95 IN NUMBER
76480 --Business Flow Accounts Payable Application Identifier
76481 , p_source_96 IN NUMBER
76482 --Business Flow Invoice Distribution Type
76483 , p_source_97 IN VARCHAR2
76484 --Business Flow Invoice Entity Code
76485 , p_source_98 IN VARCHAR2
76486 --Business Flow Invoice Distribution Identifier
76487 , p_source_99 IN NUMBER
76488 --Business Flow Invoice Identifier
76489 , p_source_100 IN NUMBER
76490 --Invoice Exchange Date
76491 , p_source_146 IN DATE
76492 --Invoice Exchange Rate
76493 , p_source_147 IN NUMBER
76494 --Invoice Exchange Rate Type
76495 , p_source_148 IN VARCHAR2
76496 )
76497 IS
76498
76499 l_component_type VARCHAR2(80);
76500 l_component_code VARCHAR2(30);
76501 l_component_type_code VARCHAR2(1);
76502 l_component_appl_id INTEGER;
76503 l_amb_context_code VARCHAR2(30);
76504 l_entity_code VARCHAR2(30);
76505 l_event_class_code VARCHAR2(30);
76506 l_ae_header_id NUMBER;
76507 l_event_type_code VARCHAR2(30);
76508 l_line_definition_code VARCHAR2(30);
76509 l_line_definition_owner_code VARCHAR2(1);
76510 --
76511 -- adr variables
76512 l_segment VARCHAR2(30);
76513 l_ccid NUMBER;
76514 l_adr_transaction_coa_id NUMBER;
76518 l_adr_value_type_code VARCHAR2(30);
76515 l_adr_accounting_coa_id NUMBER;
76516 l_adr_flexfield_segment_code VARCHAR2(30);
76517 l_adr_flex_value_set_id NUMBER;
76519 l_adr_value_combination_id NUMBER;
76520 l_adr_value_segment_code VARCHAR2(30);
76521
76522 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
76523 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
76524 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
76525 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
76526
76527 -- 4262811 Variables ------------------------------------------------------------------------------------------
76528 l_entered_amt_idx NUMBER;
76529 l_accted_amt_idx NUMBER;
76530 l_acc_rev_flag VARCHAR2(1);
76531 l_accrual_line_num NUMBER;
76532 l_tmp_amt NUMBER;
76533 l_acc_rev_natural_side_code VARCHAR2(1);
76534
76535 l_num_entries NUMBER;
76536 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
76537 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
76538 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
76539 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
76540 l_recog_line_1 NUMBER;
76541 l_recog_line_2 NUMBER;
76542
76543 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
76544 l_bflow_applied_to_amt NUMBER; -- 5132302
76545 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
76546
76547 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
76548
76549 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
76550 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
76551
76552 ---------------------------------------------------------------------------------------------------------------
76553
76554
76555 --
76556 -- bulk performance
76557 --
76558 l_balance_type_code VARCHAR2(1);
76559 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
76560 l_log_module VARCHAR2(240);
76561
76562 --
76563 -- Upgrade strategy
76564 --
76565 l_actual_upg_option VARCHAR2(1);
76566 l_enc_upg_option VARCHAR2(1);
76567
76568 --
76569 BEGIN
76570 --
76571 IF g_log_enabled THEN
76572 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_147';
76573 END IF;
76574 --
76575 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
76576
76577 trace
76578 (p_msg => 'BEGIN of AcctLineType_147'
76579 ,p_level => C_LEVEL_PROCEDURE
76580 ,p_module => l_log_module);
76581
76582 END IF;
76583 --
76584 l_component_type := 'AMB_JLT';
76585 l_component_code := 'AP_INV_PRICE_VAR_CM';
76586 l_component_type_code := 'S';
76587 l_component_appl_id := 200;
76588 l_amb_context_code := 'DEFAULT';
76589 l_entity_code := 'AP_INVOICES';
76590 l_event_class_code := 'CREDIT MEMOS';
76591 l_event_type_code := 'CREDIT MEMOS_ALL';
76592 l_line_definition_owner_code := 'S';
76593 l_line_definition_code := 'ACCRUAL_CREDIT MEMOS_ALL';
76594 --
76595 l_balance_type_code := 'A';
76596 l_segment := NULL;
76597 l_ccid := NULL;
76598 l_adr_transaction_coa_id := NULL;
76599 l_adr_accounting_coa_id := NULL;
76600 l_adr_flexfield_segment_code := NULL;
76601 l_adr_flex_value_set_id := NULL;
76602 l_adr_value_type_code := NULL;
76603 l_adr_value_combination_id := NULL;
76604 l_adr_value_segment_code := NULL;
76605
76606 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
76607 l_bflow_class_code := ''; -- 4219869 Business Flow
76608 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
76609 l_budgetary_control_flag := 'N';
76610
76611 l_bflow_applied_to_amt_idx := NULL; -- 5132302
76612 l_bflow_applied_to_amt := NULL; -- 5132302
76613 l_entered_amt_idx := NULL; -- 4262811
76614 l_accted_amt_idx := NULL; -- 4262811
76615 l_acc_rev_flag := NULL; -- 4262811
76616 l_accrual_line_num := NULL; -- 4262811
76617 l_tmp_amt := NULL; -- 4262811
76618 --
76619
76620 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
76621 l_balance_type_code <> 'B' THEN
76622 IF NVL(p_source_28,'
76623 ') = 'IPV' AND
76624 NVL(p_source_54,'
76625 ') = 'Y'
76626 THEN
76627
76628 --
76629 XLA_AE_LINES_PKG.SetNewLine;
76630
76631 p_balance_type_code := l_balance_type_code;
76632 -- set the flag so later we will know whether the gain loss line needs to be created
76633
76634 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
76635 p_actual_flag :='A';
76636 END IF;
76637
76638 --
76639 -- bulk performance
76640 --
76641 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
76642 p_header_num => 0); -- 4262811
76643 --
76644 -- set accounting line options
76645 --
76649 , p_gl_transfer_mode_code => 'S'
76646 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
76647 p_natural_side_code => 'D'
76648 , p_gain_or_loss_flag => 'N'
76650 , p_acct_entry_type_code => 'A'
76651 , p_switch_side_flag => 'Y'
76652 , p_merge_duplicate_code => 'A'
76653 );
76654 --
76655 l_acc_rev_natural_side_code := 'C'; -- 4262811
76656 --
76657 --
76658 -- set accounting line type info
76659 --
76660 xla_ae_lines_pkg.SetAcctLineType
76661 (p_component_type => l_component_type
76662 ,p_event_type_code => l_event_type_code
76663 ,p_line_definition_owner_code => l_line_definition_owner_code
76664 ,p_line_definition_code => l_line_definition_code
76665 ,p_accounting_line_code => l_component_code
76666 ,p_accounting_line_type_code => l_component_type_code
76667 ,p_accounting_line_appl_id => l_component_appl_id
76668 ,p_amb_context_code => l_amb_context_code
76669 ,p_entity_code => l_entity_code
76670 ,p_event_class_code => l_event_class_code);
76671 --
76672 -- set accounting class
76673 --
76674 xla_ae_lines_pkg.SetAcctClass(
76675 p_accounting_class_code => 'IPV'
76676 , p_ae_header_id => l_ae_header_id
76677 );
76678
76679 --
76680 -- set rounding class
76681 --
76682 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
76683 'IPV';
76684
76685 --
76686 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
76687 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
76688 --
76689 -- bulk performance
76690 --
76691 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
76692
76693 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
76694 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
76695
76696 -- 4955764
76697 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
76698 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
76699
76700 -- 4458381 Public Sector Enh
76701
76702 --
76703 -- set accounting attributes for the line type
76704 --
76705 l_entered_amt_idx := 23;
76706 l_accted_amt_idx := 28;
76707 l_bflow_applied_to_amt_idx := NULL; -- 5132302
76708 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
76709 l_rec_acct_attrs.array_char_value(1) := p_source_58;
76710 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
76711 l_rec_acct_attrs.array_num_value(2) :=
76712 xla_ae_sources_pkg.GetSystemSourceNum(
76713 p_source_code => 'XLA_EVENT_APPL_ID'
76714 , p_source_type_code => 'Y'
76715 , p_source_application_id => 602
76716 );
76717 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
76718 l_rec_acct_attrs.array_char_value(3) := p_source_60;
76719 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
76720 l_rec_acct_attrs.array_char_value(4) :=
76721 xla_ae_sources_pkg.GetSystemSourceChar(
76722 p_source_code => 'XLA_ENTITY_CODE'
76723 , p_source_type_code => 'Y'
76724 , p_source_application_id => 602
76725 );
76726 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
76727 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_62);
76728 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
76729 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_63);
76730 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
76731 l_rec_acct_attrs.array_num_value(7) := p_source_96;
76732 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
76733 l_rec_acct_attrs.array_char_value(8) := p_source_97;
76734 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
76735 l_rec_acct_attrs.array_char_value(9) := p_source_98;
76736 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
76737 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_99);
76738 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
76739 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_100);
76740 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
76741 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_69);
76742 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
76743 l_rec_acct_attrs.array_char_value(13) := p_source_60;
76744 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
76745 l_rec_acct_attrs.array_num_value(14) := p_source_70;
76746 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
76747 l_rec_acct_attrs.array_num_value(15) := p_source_71;
76748 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
76749 l_rec_acct_attrs.array_char_value(16) := p_source_72;
76750 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
76751 l_rec_acct_attrs.array_num_value(17) := p_source_73;
76752 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
76756 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
76753 l_rec_acct_attrs.array_num_value(18) := p_source_74;
76754 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
76755 l_rec_acct_attrs.array_num_value(19) := p_source_75;
76757 l_rec_acct_attrs.array_char_value(20) := p_source_72;
76758 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
76759 l_rec_acct_attrs.array_num_value(21) := p_source_76;
76760 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
76761 l_rec_acct_attrs.array_char_value(22) := p_source_77;
76762 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
76763 l_rec_acct_attrs.array_num_value(23) := p_source_78;
76764 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
76765 l_rec_acct_attrs.array_char_value(24) := p_source_72;
76766 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
76767 l_rec_acct_attrs.array_date_value(25) := p_source_146;
76768 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
76769 l_rec_acct_attrs.array_num_value(26) := p_source_147;
76770 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
76771 l_rec_acct_attrs.array_char_value(27) := p_source_148;
76772 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
76773 l_rec_acct_attrs.array_num_value(28) := p_source_16;
76774 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
76775 l_rec_acct_attrs.array_date_value(29) := p_source_82;
76776 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
76777 l_rec_acct_attrs.array_char_value(30) := p_source_83;
76778 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
76779 l_rec_acct_attrs.array_date_value(31) := p_source_84;
76780 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
76781 l_rec_acct_attrs.array_char_value(32) := p_source_85;
76782 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
76783 l_rec_acct_attrs.array_num_value(33) := p_source_86;
76784 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
76785 l_rec_acct_attrs.array_num_value(34) := p_source_87;
76786 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
76787 l_rec_acct_attrs.array_char_value(35) := p_source_88;
76788 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
76789 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_89);
76790 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
76791 l_rec_acct_attrs.array_char_value(37) := p_source_60;
76792 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
76793 l_rec_acct_attrs.array_num_value(38) := p_source_90;
76794 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
76795 l_rec_acct_attrs.array_num_value(39) := p_source_91;
76796 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
76797 l_rec_acct_attrs.array_num_value(40) := p_source_92;
76798 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
76799 l_rec_acct_attrs.array_num_value(41) := p_source_93;
76800 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
76801 l_rec_acct_attrs.array_num_value(42) := p_source_94;
76802 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
76803 l_rec_acct_attrs.array_num_value(43) := p_source_95;
76804
76805 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
76806 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
76807
76808 ---------------------------------------------------------------------------------------------------------------
76809 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
76810 ---------------------------------------------------------------------------------------------------------------
76811 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
76812
76813 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
76814 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
76815
76816 IF xla_accounting_cache_pkg.GetValueChar
76817 (p_source_code => 'LEDGER_CATEGORY_CODE'
76818 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
76819 AND l_bflow_method_code = 'PRIOR_ENTRY'
76820 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
76821 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
76822 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
76823 )
76824 THEN
76825 xla_ae_lines_pkg.BflowUpgEntry
76826 (p_business_method_code => l_bflow_method_code
76827 ,p_business_class_code => l_bflow_class_code
76828 ,p_balance_type => l_balance_type_code);
76829 ELSE
76830 NULL;
76831 -- No business flow processing for business flow method of NONE.
76832 END IF;
76833
76834 --
76835 -- call analytical criteria
76836 --
76837
76838 --
76839 -- call description
76840 --
76841
76842 xla_ae_lines_pkg.SetLineDescription(
76843 p_ae_header_id => l_ae_header_id
76844 ,p_description => Description_2 (
76845 p_application_id => p_application_id
76849 );
76846 , p_ae_header_id => l_ae_header_id
76847 , p_source_1 => p_source_1
76848 )
76850
76851
76852 --
76853 -- call ADRs
76854 -- Bug 4922099
76855 --
76856 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
76857 (NVL(l_actual_upg_option, 'N') = 'O') OR
76858 (NVL(l_enc_upg_option, 'N') = 'O')
76859 )
76860 THEN
76861 NULL;
76862 --
76863 --
76864
76865 l_ccid := AcctDerRule_35(
76866 p_application_id => p_application_id
76867 , p_ae_header_id => l_ae_header_id
76868 , p_source_25 => p_source_25
76869 , x_transaction_coa_id => l_adr_transaction_coa_id
76870 , x_accounting_coa_id => l_adr_accounting_coa_id
76871 , x_value_type_code => l_adr_value_type_code
76872 , p_side => 'NA'
76873 );
76874
76875 xla_ae_lines_pkg.set_ccid(
76876 p_code_combination_id => l_ccid
76877 , p_value_type_code => l_adr_value_type_code
76878 , p_transaction_coa_id => l_adr_transaction_coa_id
76879 , p_accounting_coa_id => l_adr_accounting_coa_id
76880 , p_adr_code => 'AP_INVOICE_DIST'
76881 , p_adr_type_code => 'S'
76882 , p_component_type => l_component_type
76883 , p_component_code => l_component_code
76884 , p_component_type_code => l_component_type_code
76885 , p_component_appl_id => l_component_appl_id
76886 , p_amb_context_code => l_amb_context_code
76887 , p_side => 'NA'
76888 );
76889
76890
76891 --
76892 --
76893 END IF;
76894 --
76895 -- Bug 4922099
76896 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
76897 (NVL(l_enc_upg_option, 'N') = 'O')
76898 ) AND
76899 (l_bflow_method_code = 'PRIOR_ENTRY')
76900 )
76901 THEN
76902 IF
76903 --
76904 1 = 2
76905 --
76906 THEN
76907 xla_accounting_err_pkg.build_message
76908 (p_appli_s_name => 'XLA'
76909 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
76910 ,p_token_1 => 'LINE_NUMBER'
76911 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
76912 ,p_token_2 => 'LINE_TYPE_NAME'
76913 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
76914 l_component_type
76915 ,l_component_code
76916 ,l_component_type_code
76917 ,l_component_appl_id
76918 ,l_amb_context_code
76919 ,l_entity_code
76920 ,l_event_class_code
76921 )
76922 ,p_token_3 => 'OWNER'
76923 ,p_value_3 => xla_lookups_pkg.get_meaning(
76924 p_lookup_type => 'XLA_OWNER_TYPE'
76925 ,p_lookup_code => l_component_type_code
76926 )
76927 ,p_token_4 => 'PRODUCT_NAME'
76928 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
76929 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
76930 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
76931 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
76932 ,p_ae_header_id => NULL
76933 );
76934
76935 IF (C_LEVEL_ERROR>= g_log_level) THEN
76936 trace
76937 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
76938 ,p_level => C_LEVEL_ERROR
76939 ,p_module => l_log_module);
76940 END IF;
76941 END IF;
76942 END IF;
76943 --
76944 --
76945 ------------------------------------------------------------------------------------------------
76946 -- 4219869 Business Flow
76947 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
76948 -- Prior Entry. Currently, the following code is always generated.
76949 ------------------------------------------------------------------------------------------------
76950 XLA_AE_LINES_PKG.ValidateCurrentLine;
76951
76952 ------------------------------------------------------------------------------------
76953 -- 4219869 Business Flow
76954 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
76958 ----------------------------------------------------------------------------------
76955 ------------------------------------------------------------------------------------
76956 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
76957
76959 -- 4219869 Business Flow
76960 -- Update journal entry status -- Need to generate this within IF <condition>
76961 ----------------------------------------------------------------------------------
76962 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
76963 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
76964 ,p_balance_type_code => l_balance_type_code
76965 );
76966
76967 -------------------------------------------------------------------------------------------
76968 -- 4262811 - Generate the Accrual Reversal lines
76969 -------------------------------------------------------------------------------------------
76970 BEGIN
76971 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
76972 (g_array_event(p_event_id).array_value_num('header_index'));
76973 IF l_acc_rev_flag IS NULL THEN
76974 l_acc_rev_flag := 'N';
76975 END IF;
76976 EXCEPTION
76977 WHEN OTHERS THEN
76978 l_acc_rev_flag := 'N';
76979 END;
76980 --
76981 IF (l_acc_rev_flag = 'Y') THEN
76982
76983 -- 4645092 ------------------------------------------------------------------------------
76984 -- To allow MPA report to determine if it should generate report process
76985 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
76986 ------------------------------------------------------------------------------------------
76987
76988 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
76989 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
76990 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
76991 -- call ADRs
76992 -- Bug 4922099
76993 --
76994 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
76995 (NVL(l_actual_upg_option, 'N') = 'O') OR
76996 (NVL(l_enc_upg_option, 'N') = 'O')
76997 )
76998 THEN
76999 NULL;
77000 --
77001 --
77002
77003 l_ccid := AcctDerRule_35(
77004 p_application_id => p_application_id
77005 , p_ae_header_id => l_ae_header_id
77006 , p_source_25 => p_source_25
77007 , x_transaction_coa_id => l_adr_transaction_coa_id
77008 , x_accounting_coa_id => l_adr_accounting_coa_id
77009 , x_value_type_code => l_adr_value_type_code
77010 , p_side => 'NA'
77011 );
77012
77013 xla_ae_lines_pkg.set_ccid(
77014 p_code_combination_id => l_ccid
77015 , p_value_type_code => l_adr_value_type_code
77016 , p_transaction_coa_id => l_adr_transaction_coa_id
77017 , p_accounting_coa_id => l_adr_accounting_coa_id
77018 , p_adr_code => 'AP_INVOICE_DIST'
77019 , p_adr_type_code => 'S'
77020 , p_component_type => l_component_type
77021 , p_component_code => l_component_code
77022 , p_component_type_code => l_component_type_code
77023 , p_component_appl_id => l_component_appl_id
77024 , p_amb_context_code => l_amb_context_code
77025 , p_side => 'NA'
77026 );
77027
77028
77029 --
77030 --
77031 END IF;
77032
77033 --
77034 -- Update the line information that should be overwritten
77035 --
77036 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
77037 p_header_num => 1);
77038 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
77039
77040 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
77041
77042 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
77043 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
77044 END IF;
77045
77046 --
77047 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
77048 --
77049 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
77050 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
77051 ELSE
77052 ---------------------------------------------------------------------------------------------------
77053 -- 4262811a Switch Sign
77054 ---------------------------------------------------------------------------------------------------
77055 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
77056 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
77057 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
77058 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
77059 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
77060 -- 5132302
77061 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
77062 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
77066 -- 4955764
77063
77064 END IF;
77065
77067 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
77068 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
77069
77070
77071 XLA_AE_LINES_PKG.ValidateCurrentLine;
77072 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
77073
77074 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
77075 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
77076 ,p_balance_type_code => l_balance_type_code);
77077
77078 END IF;
77079
77080 -----------------------------------------------------------------------------------------
77081 -- 4262811 Multiperiod Accounting
77082 -----------------------------------------------------------------------------------------
77083 -- No MPA option is assigned.
77084
77085
77086 END IF;
77087 END IF;
77088 --
77089
77090 --
77091 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
77092 trace
77093 (p_msg => 'END of AcctLineType_147'
77094 ,p_level => C_LEVEL_PROCEDURE
77095 ,p_module => l_log_module);
77096 END IF;
77097 --
77098 EXCEPTION
77099 WHEN xla_exceptions_pkg.application_exception THEN
77100 RAISE;
77101 WHEN OTHERS THEN
77102 xla_exceptions_pkg.raise_message
77103 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_147');
77104 END AcctLineType_147;
77105 --
77106
77107 ---------------------------------------
77108 --
77109 -- PRIVATE FUNCTION
77110 -- AcctLineType_148
77111 --
77112 ---------------------------------------
77113 PROCEDURE AcctLineType_148 (
77114 p_application_id IN NUMBER
77115 ,p_event_id IN NUMBER
77116 ,p_calculate_acctd_flag IN VARCHAR2
77117 ,p_calculate_g_l_flag IN VARCHAR2
77118 ,p_actual_flag IN OUT VARCHAR2
77119 ,p_balance_type_code OUT VARCHAR2
77120 ,p_gain_or_loss_ref OUT VARCHAR2
77121
77122 --Invoice Distribution Description
77123 , p_source_1 IN VARCHAR2
77124 --Invoice Distribution Ledger Amount
77125 , p_source_16 IN NUMBER
77126 --Invoice Distribution Account
77127 , p_source_25 IN NUMBER
77128 --Invoice Distribution Type
77129 , p_source_28 IN VARCHAR2
77130 , p_source_28_meaning IN VARCHAR2
77131 --Accrue on Receipt Option
77132 , p_source_54 IN VARCHAR2
77133 , p_source_54_meaning IN VARCHAR2
77134 --Accounting Reversal Indicator
77135 , p_source_58 IN VARCHAR2
77136 --Distribution Link Type
77137 , p_source_60 IN VARCHAR2
77138 --Allocation to Main Distribution Identifier
77139 , p_source_62 IN NUMBER
77140 --Invoice Identifier
77141 , p_source_63 IN NUMBER
77142 --Invoice Distribution Identifier
77143 , p_source_69 IN NUMBER
77144 --Payables Encumbrance Upgrade Credit Account
77145 , p_source_70 IN NUMBER
77146 --Payables Encumbrance Upgrade Credit Amount
77147 , p_source_71 IN NUMBER
77148 --Invoice Currency Code
77149 , p_source_72 IN VARCHAR2
77150 --Payables Encumbrance Upgrade Credit Base Amount
77151 , p_source_73 IN NUMBER
77152 --Payables Encumbrance Upgrade Debit Account
77153 , p_source_74 IN NUMBER
77154 --Payables Encumbrance Upgrade Debit Amount
77155 , p_source_75 IN NUMBER
77156 --Payables Encumbrance Upgrade Debit Base Amount
77157 , p_source_76 IN NUMBER
77158 --Payables Encumbrance Upgrade Option
77159 , p_source_77 IN VARCHAR2
77160 --Invoice Distribution Amount
77161 , p_source_78 IN NUMBER
77162 --Deferred Accounting End Date
77163 , p_source_82 IN DATE
77164 --Deferred Accounting Option
77165 , p_source_83 IN VARCHAR2
77166 --Deferred Accounting Start Date
77167 , p_source_84 IN DATE
77168 --Override Accounted Amount Indicator
77169 , p_source_85 IN VARCHAR2
77170 , p_source_85_meaning IN VARCHAR2
77171 --Invoice Supplier Identifier
77172 , p_source_86 IN NUMBER
77173 --Invoice Supplier Site Identifier
77174 , p_source_87 IN NUMBER
77175 --Third Party Type
77176 , p_source_88 IN VARCHAR2
77177 --Parent Reversal Identifier
77178 , p_source_89 IN NUMBER
77179 --Invoice Distribution Tax Line Identifier
77180 , p_source_91 IN NUMBER
77181 --Invoice Distribution Tax Distribution Identifier from Tax
77182 , p_source_92 IN NUMBER
77183 --Invoice Distribution Summary Tax Line Identifier
77184 , p_source_93 IN NUMBER
77185 --Payables Upgrade Credit Encumbrance Type Identifier
77186 , p_source_94 IN NUMBER
77187 --Payables Upgrade Debit Encumbrance Type Identifier
77188 , p_source_95 IN NUMBER
77189 --Business Flow Accounts Payable Application Identifier
77190 , p_source_96 IN NUMBER
77191 --Business Flow Invoice Distribution Type
77192 , p_source_97 IN VARCHAR2
77193 --Business Flow Invoice Entity Code
77194 , p_source_98 IN VARCHAR2
77195 --Business Flow Invoice Distribution Identifier
77196 , p_source_99 IN NUMBER
77197 --Business Flow Invoice Identifier
77198 , p_source_100 IN NUMBER
77199 --Invoice Exchange Date
77203 --Invoice Exchange Rate Type
77200 , p_source_146 IN DATE
77201 --Invoice Exchange Rate
77202 , p_source_147 IN NUMBER
77204 , p_source_148 IN VARCHAR2
77205 )
77206 IS
77207
77208 l_component_type VARCHAR2(80);
77209 l_component_code VARCHAR2(30);
77210 l_component_type_code VARCHAR2(1);
77211 l_component_appl_id INTEGER;
77212 l_amb_context_code VARCHAR2(30);
77213 l_entity_code VARCHAR2(30);
77214 l_event_class_code VARCHAR2(30);
77215 l_ae_header_id NUMBER;
77216 l_event_type_code VARCHAR2(30);
77217 l_line_definition_code VARCHAR2(30);
77218 l_line_definition_owner_code VARCHAR2(1);
77219 --
77220 -- adr variables
77221 l_segment VARCHAR2(30);
77222 l_ccid NUMBER;
77223 l_adr_transaction_coa_id NUMBER;
77224 l_adr_accounting_coa_id NUMBER;
77225 l_adr_flexfield_segment_code VARCHAR2(30);
77226 l_adr_flex_value_set_id NUMBER;
77227 l_adr_value_type_code VARCHAR2(30);
77228 l_adr_value_combination_id NUMBER;
77229 l_adr_value_segment_code VARCHAR2(30);
77230
77231 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
77232 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
77233 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
77234 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
77235
77236 -- 4262811 Variables ------------------------------------------------------------------------------------------
77237 l_entered_amt_idx NUMBER;
77238 l_accted_amt_idx NUMBER;
77239 l_acc_rev_flag VARCHAR2(1);
77240 l_accrual_line_num NUMBER;
77241 l_tmp_amt NUMBER;
77242 l_acc_rev_natural_side_code VARCHAR2(1);
77243
77244 l_num_entries NUMBER;
77245 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
77246 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
77247 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
77248 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
77249 l_recog_line_1 NUMBER;
77250 l_recog_line_2 NUMBER;
77251
77252 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
77253 l_bflow_applied_to_amt NUMBER; -- 5132302
77254 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
77255
77256 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
77257
77258 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
77259 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
77260
77261 ---------------------------------------------------------------------------------------------------------------
77262
77263
77264 --
77265 -- bulk performance
77266 --
77267 l_balance_type_code VARCHAR2(1);
77268 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
77269 l_log_module VARCHAR2(240);
77270
77271 --
77272 -- Upgrade strategy
77273 --
77274 l_actual_upg_option VARCHAR2(1);
77275 l_enc_upg_option VARCHAR2(1);
77276
77277 --
77278 BEGIN
77279 --
77280 IF g_log_enabled THEN
77281 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_148';
77282 END IF;
77283 --
77284 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
77285
77286 trace
77287 (p_msg => 'BEGIN of AcctLineType_148'
77288 ,p_level => C_LEVEL_PROCEDURE
77289 ,p_module => l_log_module);
77290
77291 END IF;
77292 --
77293 l_component_type := 'AMB_JLT';
77294 l_component_code := 'AP_INV_PRICE_VAR_DM';
77295 l_component_type_code := 'S';
77296 l_component_appl_id := 200;
77297 l_amb_context_code := 'DEFAULT';
77298 l_entity_code := 'AP_INVOICES';
77299 l_event_class_code := 'DEBIT MEMOS';
77300 l_event_type_code := 'DEBIT MEMOS_ALL';
77301 l_line_definition_owner_code := 'S';
77302 l_line_definition_code := 'ACCRUAL_DEBIT MEMOS_ALL';
77303 --
77304 l_balance_type_code := 'A';
77305 l_segment := NULL;
77306 l_ccid := NULL;
77307 l_adr_transaction_coa_id := NULL;
77308 l_adr_accounting_coa_id := NULL;
77309 l_adr_flexfield_segment_code := NULL;
77310 l_adr_flex_value_set_id := NULL;
77311 l_adr_value_type_code := NULL;
77312 l_adr_value_combination_id := NULL;
77313 l_adr_value_segment_code := NULL;
77314
77315 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
77316 l_bflow_class_code := ''; -- 4219869 Business Flow
77317 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
77318 l_budgetary_control_flag := 'N';
77319
77320 l_bflow_applied_to_amt_idx := NULL; -- 5132302
77321 l_bflow_applied_to_amt := NULL; -- 5132302
77322 l_entered_amt_idx := NULL; -- 4262811
77323 l_accted_amt_idx := NULL; -- 4262811
77324 l_acc_rev_flag := NULL; -- 4262811
77325 l_accrual_line_num := NULL; -- 4262811
77329 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
77326 l_tmp_amt := NULL; -- 4262811
77327 --
77328
77330 l_balance_type_code <> 'B' THEN
77331 IF NVL(p_source_28,'
77332 ') = 'IPV' AND
77333 NVL(p_source_54,'
77334 ') = 'Y'
77335 THEN
77336
77337 --
77338 XLA_AE_LINES_PKG.SetNewLine;
77339
77340 p_balance_type_code := l_balance_type_code;
77341 -- set the flag so later we will know whether the gain loss line needs to be created
77342
77343 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
77344 p_actual_flag :='A';
77345 END IF;
77346
77347 --
77348 -- bulk performance
77349 --
77350 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
77351 p_header_num => 0); -- 4262811
77352 --
77353 -- set accounting line options
77354 --
77355 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
77356 p_natural_side_code => 'D'
77357 , p_gain_or_loss_flag => 'N'
77358 , p_gl_transfer_mode_code => 'S'
77359 , p_acct_entry_type_code => 'A'
77360 , p_switch_side_flag => 'Y'
77361 , p_merge_duplicate_code => 'A'
77362 );
77363 --
77364 l_acc_rev_natural_side_code := 'C'; -- 4262811
77365 --
77366 --
77367 -- set accounting line type info
77368 --
77369 xla_ae_lines_pkg.SetAcctLineType
77370 (p_component_type => l_component_type
77371 ,p_event_type_code => l_event_type_code
77372 ,p_line_definition_owner_code => l_line_definition_owner_code
77373 ,p_line_definition_code => l_line_definition_code
77374 ,p_accounting_line_code => l_component_code
77375 ,p_accounting_line_type_code => l_component_type_code
77376 ,p_accounting_line_appl_id => l_component_appl_id
77377 ,p_amb_context_code => l_amb_context_code
77378 ,p_entity_code => l_entity_code
77379 ,p_event_class_code => l_event_class_code);
77380 --
77381 -- set accounting class
77382 --
77383 xla_ae_lines_pkg.SetAcctClass(
77384 p_accounting_class_code => 'IPV'
77385 , p_ae_header_id => l_ae_header_id
77386 );
77387
77388 --
77389 -- set rounding class
77390 --
77391 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
77392 'IPV';
77393
77394 --
77395 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
77396 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
77397 --
77398 -- bulk performance
77399 --
77400 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
77401
77402 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
77403 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
77404
77405 -- 4955764
77406 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
77407 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
77408
77409 -- 4458381 Public Sector Enh
77410
77411 --
77412 -- set accounting attributes for the line type
77413 --
77414 l_entered_amt_idx := 23;
77415 l_accted_amt_idx := 28;
77416 l_bflow_applied_to_amt_idx := NULL; -- 5132302
77417 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
77418 l_rec_acct_attrs.array_char_value(1) := p_source_58;
77419 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
77420 l_rec_acct_attrs.array_num_value(2) :=
77421 xla_ae_sources_pkg.GetSystemSourceNum(
77422 p_source_code => 'XLA_EVENT_APPL_ID'
77423 , p_source_type_code => 'Y'
77424 , p_source_application_id => 602
77425 );
77426 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
77427 l_rec_acct_attrs.array_char_value(3) := p_source_60;
77428 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
77429 l_rec_acct_attrs.array_char_value(4) :=
77430 xla_ae_sources_pkg.GetSystemSourceChar(
77431 p_source_code => 'XLA_ENTITY_CODE'
77432 , p_source_type_code => 'Y'
77433 , p_source_application_id => 602
77434 );
77435 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
77436 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_62);
77437 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
77438 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_63);
77439 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
77440 l_rec_acct_attrs.array_num_value(7) := p_source_96;
77441 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
77442 l_rec_acct_attrs.array_char_value(8) := p_source_97;
77443 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
77444 l_rec_acct_attrs.array_char_value(9) := p_source_98;
77445 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
77446 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_99);
77450 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_69);
77447 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
77448 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_100);
77449 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
77451 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
77452 l_rec_acct_attrs.array_char_value(13) := p_source_60;
77453 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
77454 l_rec_acct_attrs.array_num_value(14) := p_source_70;
77455 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
77456 l_rec_acct_attrs.array_num_value(15) := p_source_71;
77457 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
77458 l_rec_acct_attrs.array_char_value(16) := p_source_72;
77459 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
77460 l_rec_acct_attrs.array_num_value(17) := p_source_73;
77461 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
77462 l_rec_acct_attrs.array_num_value(18) := p_source_74;
77463 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
77464 l_rec_acct_attrs.array_num_value(19) := p_source_75;
77465 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
77466 l_rec_acct_attrs.array_char_value(20) := p_source_72;
77467 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
77468 l_rec_acct_attrs.array_num_value(21) := p_source_76;
77469 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
77470 l_rec_acct_attrs.array_char_value(22) := p_source_77;
77471 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
77472 l_rec_acct_attrs.array_num_value(23) := p_source_78;
77473 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
77474 l_rec_acct_attrs.array_char_value(24) := p_source_72;
77475 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
77476 l_rec_acct_attrs.array_date_value(25) := p_source_146;
77477 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
77478 l_rec_acct_attrs.array_num_value(26) := p_source_147;
77479 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
77480 l_rec_acct_attrs.array_char_value(27) := p_source_148;
77481 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
77482 l_rec_acct_attrs.array_num_value(28) := p_source_16;
77483 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
77484 l_rec_acct_attrs.array_date_value(29) := p_source_82;
77485 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
77486 l_rec_acct_attrs.array_char_value(30) := p_source_83;
77487 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
77488 l_rec_acct_attrs.array_date_value(31) := p_source_84;
77489 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
77490 l_rec_acct_attrs.array_char_value(32) := p_source_85;
77491 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
77492 l_rec_acct_attrs.array_num_value(33) := p_source_86;
77493 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
77494 l_rec_acct_attrs.array_num_value(34) := p_source_87;
77495 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
77496 l_rec_acct_attrs.array_char_value(35) := p_source_88;
77497 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
77498 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_89);
77499 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
77500 l_rec_acct_attrs.array_char_value(37) := p_source_60;
77501 l_rec_acct_attrs.array_acct_attr_code(38) := 'TAX_LINE_REF_ID';
77502 l_rec_acct_attrs.array_num_value(38) := p_source_91;
77503 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_REC_NREC_DIST_REF_ID';
77504 l_rec_acct_attrs.array_num_value(39) := p_source_92;
77505 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_SUMMARY_LINE_REF_ID';
77506 l_rec_acct_attrs.array_num_value(40) := p_source_93;
77507 l_rec_acct_attrs.array_acct_attr_code(41) := 'UPG_CR_ENC_TYPE_ID';
77508 l_rec_acct_attrs.array_num_value(41) := p_source_94;
77509 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_DR_ENC_TYPE_ID';
77510 l_rec_acct_attrs.array_num_value(42) := p_source_95;
77511
77512 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
77513 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
77514
77515 ---------------------------------------------------------------------------------------------------------------
77516 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
77517 ---------------------------------------------------------------------------------------------------------------
77518 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
77519
77520 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
77521 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
77522
77523 IF xla_accounting_cache_pkg.GetValueChar
77524 (p_source_code => 'LEDGER_CATEGORY_CODE'
77525 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
77526 AND l_bflow_method_code = 'PRIOR_ENTRY'
77527 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
77528 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
77529 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
77530 )
77531 THEN
77535 ,p_balance_type => l_balance_type_code);
77532 xla_ae_lines_pkg.BflowUpgEntry
77533 (p_business_method_code => l_bflow_method_code
77534 ,p_business_class_code => l_bflow_class_code
77536 ELSE
77537 NULL;
77538 -- No business flow processing for business flow method of NONE.
77539 END IF;
77540
77541 --
77542 -- call analytical criteria
77543 --
77544
77545 --
77546 -- call description
77547 --
77548
77549 xla_ae_lines_pkg.SetLineDescription(
77550 p_ae_header_id => l_ae_header_id
77551 ,p_description => Description_2 (
77552 p_application_id => p_application_id
77553 , p_ae_header_id => l_ae_header_id
77554 , p_source_1 => p_source_1
77555 )
77556 );
77557
77558
77559 --
77560 -- call ADRs
77561 -- Bug 4922099
77562 --
77563 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
77564 (NVL(l_actual_upg_option, 'N') = 'O') OR
77565 (NVL(l_enc_upg_option, 'N') = 'O')
77566 )
77567 THEN
77568 NULL;
77569 --
77570 --
77571
77572 l_ccid := AcctDerRule_35(
77573 p_application_id => p_application_id
77574 , p_ae_header_id => l_ae_header_id
77575 , p_source_25 => p_source_25
77576 , x_transaction_coa_id => l_adr_transaction_coa_id
77577 , x_accounting_coa_id => l_adr_accounting_coa_id
77578 , x_value_type_code => l_adr_value_type_code
77579 , p_side => 'NA'
77580 );
77581
77582 xla_ae_lines_pkg.set_ccid(
77583 p_code_combination_id => l_ccid
77584 , p_value_type_code => l_adr_value_type_code
77585 , p_transaction_coa_id => l_adr_transaction_coa_id
77586 , p_accounting_coa_id => l_adr_accounting_coa_id
77587 , p_adr_code => 'AP_INVOICE_DIST'
77588 , p_adr_type_code => 'S'
77589 , p_component_type => l_component_type
77590 , p_component_code => l_component_code
77591 , p_component_type_code => l_component_type_code
77592 , p_component_appl_id => l_component_appl_id
77593 , p_amb_context_code => l_amb_context_code
77594 , p_side => 'NA'
77595 );
77596
77597
77598 --
77599 --
77600 END IF;
77601 --
77602 -- Bug 4922099
77603 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
77604 (NVL(l_enc_upg_option, 'N') = 'O')
77605 ) AND
77606 (l_bflow_method_code = 'PRIOR_ENTRY')
77607 )
77608 THEN
77609 IF
77610 --
77611 1 = 2
77612 --
77613 THEN
77614 xla_accounting_err_pkg.build_message
77615 (p_appli_s_name => 'XLA'
77616 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
77617 ,p_token_1 => 'LINE_NUMBER'
77618 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
77619 ,p_token_2 => 'LINE_TYPE_NAME'
77620 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
77621 l_component_type
77622 ,l_component_code
77623 ,l_component_type_code
77624 ,l_component_appl_id
77625 ,l_amb_context_code
77626 ,l_entity_code
77627 ,l_event_class_code
77628 )
77629 ,p_token_3 => 'OWNER'
77630 ,p_value_3 => xla_lookups_pkg.get_meaning(
77631 p_lookup_type => 'XLA_OWNER_TYPE'
77632 ,p_lookup_code => l_component_type_code
77633 )
77634 ,p_token_4 => 'PRODUCT_NAME'
77635 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
77636 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
77637 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
77638 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
77639 ,p_ae_header_id => NULL
77640 );
77641
77642 IF (C_LEVEL_ERROR>= g_log_level) THEN
77643 trace
77644 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
77645 ,p_level => C_LEVEL_ERROR
77649 END IF;
77646 ,p_module => l_log_module);
77647 END IF;
77648 END IF;
77650 --
77651 --
77652 ------------------------------------------------------------------------------------------------
77653 -- 4219869 Business Flow
77654 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
77655 -- Prior Entry. Currently, the following code is always generated.
77656 ------------------------------------------------------------------------------------------------
77657 XLA_AE_LINES_PKG.ValidateCurrentLine;
77658
77659 ------------------------------------------------------------------------------------
77660 -- 4219869 Business Flow
77661 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
77662 ------------------------------------------------------------------------------------
77663 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
77664
77665 ----------------------------------------------------------------------------------
77666 -- 4219869 Business Flow
77667 -- Update journal entry status -- Need to generate this within IF <condition>
77668 ----------------------------------------------------------------------------------
77669 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
77670 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
77671 ,p_balance_type_code => l_balance_type_code
77672 );
77673
77674 -------------------------------------------------------------------------------------------
77675 -- 4262811 - Generate the Accrual Reversal lines
77676 -------------------------------------------------------------------------------------------
77677 BEGIN
77678 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
77679 (g_array_event(p_event_id).array_value_num('header_index'));
77680 IF l_acc_rev_flag IS NULL THEN
77681 l_acc_rev_flag := 'N';
77682 END IF;
77683 EXCEPTION
77684 WHEN OTHERS THEN
77685 l_acc_rev_flag := 'N';
77686 END;
77687 --
77688 IF (l_acc_rev_flag = 'Y') THEN
77689
77690 -- 4645092 ------------------------------------------------------------------------------
77691 -- To allow MPA report to determine if it should generate report process
77692 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
77693 ------------------------------------------------------------------------------------------
77694
77695 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
77696 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
77697 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
77698 -- call ADRs
77699 -- Bug 4922099
77700 --
77701 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
77702 (NVL(l_actual_upg_option, 'N') = 'O') OR
77703 (NVL(l_enc_upg_option, 'N') = 'O')
77704 )
77705 THEN
77706 NULL;
77707 --
77708 --
77709
77710 l_ccid := AcctDerRule_35(
77711 p_application_id => p_application_id
77712 , p_ae_header_id => l_ae_header_id
77713 , p_source_25 => p_source_25
77714 , x_transaction_coa_id => l_adr_transaction_coa_id
77715 , x_accounting_coa_id => l_adr_accounting_coa_id
77716 , x_value_type_code => l_adr_value_type_code
77717 , p_side => 'NA'
77718 );
77719
77720 xla_ae_lines_pkg.set_ccid(
77721 p_code_combination_id => l_ccid
77722 , p_value_type_code => l_adr_value_type_code
77723 , p_transaction_coa_id => l_adr_transaction_coa_id
77724 , p_accounting_coa_id => l_adr_accounting_coa_id
77725 , p_adr_code => 'AP_INVOICE_DIST'
77726 , p_adr_type_code => 'S'
77727 , p_component_type => l_component_type
77728 , p_component_code => l_component_code
77729 , p_component_type_code => l_component_type_code
77730 , p_component_appl_id => l_component_appl_id
77731 , p_amb_context_code => l_amb_context_code
77732 , p_side => 'NA'
77733 );
77734
77735
77736 --
77737 --
77738 END IF;
77739
77740 --
77741 -- Update the line information that should be overwritten
77742 --
77743 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
77744 p_header_num => 1);
77745 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
77746
77747 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
77748
77749 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
77750 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
77751 END IF;
77752
77753 --
77754 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
77755 --
77756 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
77757 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
77758 ELSE
77759 ---------------------------------------------------------------------------------------------------
77760 -- 4262811a Switch Sign
77764 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
77761 ---------------------------------------------------------------------------------------------------
77762 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
77763 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
77765 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
77766 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
77767 -- 5132302
77768 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
77769 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
77770
77771 END IF;
77772
77773 -- 4955764
77774 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
77775 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
77776
77777
77778 XLA_AE_LINES_PKG.ValidateCurrentLine;
77779 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
77780
77781 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
77782 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
77783 ,p_balance_type_code => l_balance_type_code);
77784
77785 END IF;
77786
77787 -----------------------------------------------------------------------------------------
77788 -- 4262811 Multiperiod Accounting
77789 -----------------------------------------------------------------------------------------
77790 -- No MPA option is assigned.
77791
77792
77793 END IF;
77794 END IF;
77795 --
77796
77797 --
77798 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
77799 trace
77800 (p_msg => 'END of AcctLineType_148'
77801 ,p_level => C_LEVEL_PROCEDURE
77802 ,p_module => l_log_module);
77803 END IF;
77804 --
77805 EXCEPTION
77806 WHEN xla_exceptions_pkg.application_exception THEN
77807 RAISE;
77808 WHEN OTHERS THEN
77809 xla_exceptions_pkg.raise_message
77810 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_148');
77811 END AcctLineType_148;
77812 --
77813
77814 ---------------------------------------
77815 --
77816 -- PRIVATE FUNCTION
77817 -- AcctLineType_149
77818 --
77819 ---------------------------------------
77820 PROCEDURE AcctLineType_149 (
77821 p_application_id IN NUMBER
77822 ,p_event_id IN NUMBER
77823 ,p_calculate_acctd_flag IN VARCHAR2
77824 ,p_calculate_g_l_flag IN VARCHAR2
77825 ,p_actual_flag IN OUT VARCHAR2
77826 ,p_balance_type_code OUT VARCHAR2
77827 ,p_gain_or_loss_ref OUT VARCHAR2
77828
77829 --Invoice Distribution Description
77830 , p_source_1 IN VARCHAR2
77831 --Invoice Distribution Ledger Amount
77832 , p_source_16 IN NUMBER
77833 --Invoice Distribution Account
77834 , p_source_25 IN NUMBER
77835 --Invoice Distribution Type
77836 , p_source_28 IN VARCHAR2
77837 , p_source_28_meaning IN VARCHAR2
77838 --Accrue on Receipt Option
77839 , p_source_54 IN VARCHAR2
77840 , p_source_54_meaning IN VARCHAR2
77841 --Accounting Reversal Indicator
77842 , p_source_58 IN VARCHAR2
77843 --Distribution Link Type
77844 , p_source_60 IN VARCHAR2
77845 --Allocation to Main Distribution Identifier
77846 , p_source_62 IN NUMBER
77847 --Invoice Identifier
77848 , p_source_63 IN NUMBER
77849 --Invoice Distribution Identifier
77850 , p_source_69 IN NUMBER
77851 --Payables Encumbrance Upgrade Credit Account
77852 , p_source_70 IN NUMBER
77853 --Payables Encumbrance Upgrade Credit Amount
77854 , p_source_71 IN NUMBER
77855 --Invoice Currency Code
77856 , p_source_72 IN VARCHAR2
77857 --Payables Encumbrance Upgrade Credit Base Amount
77858 , p_source_73 IN NUMBER
77859 --Payables Encumbrance Upgrade Debit Account
77860 , p_source_74 IN NUMBER
77861 --Payables Encumbrance Upgrade Debit Amount
77862 , p_source_75 IN NUMBER
77863 --Payables Encumbrance Upgrade Debit Base Amount
77864 , p_source_76 IN NUMBER
77865 --Payables Encumbrance Upgrade Option
77866 , p_source_77 IN VARCHAR2
77867 --Invoice Distribution Amount
77868 , p_source_78 IN NUMBER
77869 --Deferred Accounting End Date
77870 , p_source_82 IN DATE
77871 --Deferred Accounting Option
77872 , p_source_83 IN VARCHAR2
77873 --Deferred Accounting Start Date
77874 , p_source_84 IN DATE
77875 --Override Accounted Amount Indicator
77876 , p_source_85 IN VARCHAR2
77877 , p_source_85_meaning IN VARCHAR2
77878 --Invoice Supplier Identifier
77879 , p_source_86 IN NUMBER
77880 --Invoice Supplier Site Identifier
77881 , p_source_87 IN NUMBER
77882 --Third Party Type
77883 , p_source_88 IN VARCHAR2
77884 --Parent Reversal Identifier
77885 , p_source_89 IN NUMBER
77886 --Invoice Distribution Statistical Amount
77887 , p_source_90 IN NUMBER
77891 , p_source_92 IN NUMBER
77888 --Invoice Distribution Tax Line Identifier
77889 , p_source_91 IN NUMBER
77890 --Invoice Distribution Tax Distribution Identifier from Tax
77892 --Invoice Distribution Summary Tax Line Identifier
77893 , p_source_93 IN NUMBER
77894 --Payables Upgrade Credit Encumbrance Type Identifier
77895 , p_source_94 IN NUMBER
77896 --Payables Upgrade Debit Encumbrance Type Identifier
77897 , p_source_95 IN NUMBER
77898 --Business Flow Accounts Payable Application Identifier
77899 , p_source_96 IN NUMBER
77900 --Business Flow Invoice Distribution Type
77901 , p_source_97 IN VARCHAR2
77902 --Business Flow Invoice Entity Code
77903 , p_source_98 IN VARCHAR2
77904 --Business Flow Invoice Distribution Identifier
77905 , p_source_99 IN NUMBER
77906 --Business Flow Invoice Identifier
77907 , p_source_100 IN NUMBER
77908 --Invoice Exchange Date
77909 , p_source_146 IN DATE
77910 --Invoice Exchange Rate
77911 , p_source_147 IN NUMBER
77912 --Invoice Exchange Rate Type
77913 , p_source_148 IN VARCHAR2
77914 )
77915 IS
77916
77917 l_component_type VARCHAR2(80);
77918 l_component_code VARCHAR2(30);
77919 l_component_type_code VARCHAR2(1);
77920 l_component_appl_id INTEGER;
77921 l_amb_context_code VARCHAR2(30);
77922 l_entity_code VARCHAR2(30);
77923 l_event_class_code VARCHAR2(30);
77924 l_ae_header_id NUMBER;
77925 l_event_type_code VARCHAR2(30);
77926 l_line_definition_code VARCHAR2(30);
77927 l_line_definition_owner_code VARCHAR2(1);
77928 --
77929 -- adr variables
77930 l_segment VARCHAR2(30);
77931 l_ccid NUMBER;
77932 l_adr_transaction_coa_id NUMBER;
77933 l_adr_accounting_coa_id NUMBER;
77934 l_adr_flexfield_segment_code VARCHAR2(30);
77935 l_adr_flex_value_set_id NUMBER;
77936 l_adr_value_type_code VARCHAR2(30);
77937 l_adr_value_combination_id NUMBER;
77938 l_adr_value_segment_code VARCHAR2(30);
77939
77940 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
77941 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
77942 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
77943 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
77944
77945 -- 4262811 Variables ------------------------------------------------------------------------------------------
77946 l_entered_amt_idx NUMBER;
77947 l_accted_amt_idx NUMBER;
77948 l_acc_rev_flag VARCHAR2(1);
77949 l_accrual_line_num NUMBER;
77950 l_tmp_amt NUMBER;
77951 l_acc_rev_natural_side_code VARCHAR2(1);
77952
77953 l_num_entries NUMBER;
77954 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
77955 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
77956 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
77957 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
77958 l_recog_line_1 NUMBER;
77959 l_recog_line_2 NUMBER;
77960
77961 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
77962 l_bflow_applied_to_amt NUMBER; -- 5132302
77963 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
77964
77965 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
77966
77967 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
77968 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
77969
77970 ---------------------------------------------------------------------------------------------------------------
77971
77972
77973 --
77974 -- bulk performance
77975 --
77976 l_balance_type_code VARCHAR2(1);
77977 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
77978 l_log_module VARCHAR2(240);
77979
77980 --
77981 -- Upgrade strategy
77982 --
77983 l_actual_upg_option VARCHAR2(1);
77984 l_enc_upg_option VARCHAR2(1);
77985
77986 --
77987 BEGIN
77988 --
77989 IF g_log_enabled THEN
77990 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_149';
77991 END IF;
77992 --
77993 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
77994
77995 trace
77996 (p_msg => 'BEGIN of AcctLineType_149'
77997 ,p_level => C_LEVEL_PROCEDURE
77998 ,p_module => l_log_module);
77999
78000 END IF;
78001 --
78002 l_component_type := 'AMB_JLT';
78003 l_component_code := 'AP_INV_PRICE_VAR_INV';
78004 l_component_type_code := 'S';
78005 l_component_appl_id := 200;
78006 l_amb_context_code := 'DEFAULT';
78007 l_entity_code := 'AP_INVOICES';
78008 l_event_class_code := 'INVOICES';
78009 l_event_type_code := 'INVOICES_ALL';
78010 l_line_definition_owner_code := 'S';
78011 l_line_definition_code := 'ACCRUAL_INVOICES_ALL';
78012 --
78013 l_balance_type_code := 'A';
78014 l_segment := NULL;
78015 l_ccid := NULL;
78019 l_adr_flex_value_set_id := NULL;
78016 l_adr_transaction_coa_id := NULL;
78017 l_adr_accounting_coa_id := NULL;
78018 l_adr_flexfield_segment_code := NULL;
78020 l_adr_value_type_code := NULL;
78021 l_adr_value_combination_id := NULL;
78022 l_adr_value_segment_code := NULL;
78023
78024 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
78025 l_bflow_class_code := ''; -- 4219869 Business Flow
78026 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
78027 l_budgetary_control_flag := 'N';
78028
78029 l_bflow_applied_to_amt_idx := NULL; -- 5132302
78030 l_bflow_applied_to_amt := NULL; -- 5132302
78031 l_entered_amt_idx := NULL; -- 4262811
78032 l_accted_amt_idx := NULL; -- 4262811
78033 l_acc_rev_flag := NULL; -- 4262811
78034 l_accrual_line_num := NULL; -- 4262811
78035 l_tmp_amt := NULL; -- 4262811
78036 --
78037
78038 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
78039 l_balance_type_code <> 'B' THEN
78040 IF NVL(p_source_28,'
78041 ') = 'IPV' AND
78042 NVL(p_source_54,'
78043 ') = 'Y'
78044 THEN
78045
78046 --
78047 XLA_AE_LINES_PKG.SetNewLine;
78048
78049 p_balance_type_code := l_balance_type_code;
78050 -- set the flag so later we will know whether the gain loss line needs to be created
78051
78052 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
78053 p_actual_flag :='A';
78054 END IF;
78055
78056 --
78057 -- bulk performance
78058 --
78059 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
78060 p_header_num => 0); -- 4262811
78061 --
78062 -- set accounting line options
78063 --
78064 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
78065 p_natural_side_code => 'D'
78066 , p_gain_or_loss_flag => 'N'
78067 , p_gl_transfer_mode_code => 'S'
78068 , p_acct_entry_type_code => 'A'
78069 , p_switch_side_flag => 'Y'
78070 , p_merge_duplicate_code => 'A'
78071 );
78072 --
78073 l_acc_rev_natural_side_code := 'C'; -- 4262811
78074 --
78075 --
78076 -- set accounting line type info
78077 --
78078 xla_ae_lines_pkg.SetAcctLineType
78079 (p_component_type => l_component_type
78080 ,p_event_type_code => l_event_type_code
78081 ,p_line_definition_owner_code => l_line_definition_owner_code
78082 ,p_line_definition_code => l_line_definition_code
78083 ,p_accounting_line_code => l_component_code
78084 ,p_accounting_line_type_code => l_component_type_code
78085 ,p_accounting_line_appl_id => l_component_appl_id
78086 ,p_amb_context_code => l_amb_context_code
78087 ,p_entity_code => l_entity_code
78088 ,p_event_class_code => l_event_class_code);
78089 --
78090 -- set accounting class
78091 --
78092 xla_ae_lines_pkg.SetAcctClass(
78093 p_accounting_class_code => 'IPV'
78094 , p_ae_header_id => l_ae_header_id
78095 );
78096
78097 --
78098 -- set rounding class
78099 --
78100 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
78101 'IPV';
78102
78103 --
78104 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
78105 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
78106 --
78107 -- bulk performance
78108 --
78109 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
78110
78111 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
78112 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
78113
78114 -- 4955764
78115 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
78116 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
78117
78118 -- 4458381 Public Sector Enh
78119
78120 --
78121 -- set accounting attributes for the line type
78122 --
78123 l_entered_amt_idx := 24;
78124 l_accted_amt_idx := 29;
78125 l_bflow_applied_to_amt_idx := 7; -- 5132302
78126 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
78127 l_rec_acct_attrs.array_char_value(1) := p_source_58;
78128 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
78129 l_rec_acct_attrs.array_num_value(2) :=
78130 xla_ae_sources_pkg.GetSystemSourceNum(
78131 p_source_code => 'XLA_EVENT_APPL_ID'
78132 , p_source_type_code => 'Y'
78133 , p_source_application_id => 602
78134 );
78135 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
78136 l_rec_acct_attrs.array_char_value(3) := p_source_60;
78137 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
78138 l_rec_acct_attrs.array_char_value(4) :=
78139 xla_ae_sources_pkg.GetSystemSourceChar(
78140 p_source_code => 'XLA_ENTITY_CODE'
78144 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
78141 , p_source_type_code => 'Y'
78142 , p_source_application_id => 602
78143 );
78145 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_62);
78146 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
78147 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_63);
78148 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
78149 l_rec_acct_attrs.array_num_value(7) := p_source_78;
78150 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
78151 l_rec_acct_attrs.array_num_value(8) := p_source_96;
78152 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
78153 l_rec_acct_attrs.array_char_value(9) := p_source_97;
78154 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
78155 l_rec_acct_attrs.array_char_value(10) := p_source_98;
78156 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
78157 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_99);
78158 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
78159 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_100);
78160 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
78161 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_69);
78162 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
78163 l_rec_acct_attrs.array_char_value(14) := p_source_60;
78164 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
78165 l_rec_acct_attrs.array_num_value(15) := p_source_70;
78166 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
78167 l_rec_acct_attrs.array_num_value(16) := p_source_71;
78168 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
78169 l_rec_acct_attrs.array_char_value(17) := p_source_72;
78170 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
78171 l_rec_acct_attrs.array_num_value(18) := p_source_73;
78172 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
78173 l_rec_acct_attrs.array_num_value(19) := p_source_74;
78174 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
78175 l_rec_acct_attrs.array_num_value(20) := p_source_75;
78176 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
78177 l_rec_acct_attrs.array_char_value(21) := p_source_72;
78178 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
78179 l_rec_acct_attrs.array_num_value(22) := p_source_76;
78180 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
78181 l_rec_acct_attrs.array_char_value(23) := p_source_77;
78182 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_AMOUNT';
78183 l_rec_acct_attrs.array_num_value(24) := p_source_78;
78184 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_CODE';
78185 l_rec_acct_attrs.array_char_value(25) := p_source_72;
78186 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_DATE';
78187 l_rec_acct_attrs.array_date_value(26) := p_source_146;
78188 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE';
78189 l_rec_acct_attrs.array_num_value(27) := p_source_147;
78190 l_rec_acct_attrs.array_acct_attr_code(28) := 'EXCHANGE_RATE_TYPE';
78191 l_rec_acct_attrs.array_char_value(28) := p_source_148;
78192 l_rec_acct_attrs.array_acct_attr_code(29) := 'LEDGER_AMOUNT';
78193 l_rec_acct_attrs.array_num_value(29) := p_source_16;
78194 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_END_DATE';
78195 l_rec_acct_attrs.array_date_value(30) := p_source_82;
78196 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_OPTION';
78197 l_rec_acct_attrs.array_char_value(31) := p_source_83;
78198 l_rec_acct_attrs.array_acct_attr_code(32) := 'MULTIPERIOD_START_DATE';
78199 l_rec_acct_attrs.array_date_value(32) := p_source_84;
78200 l_rec_acct_attrs.array_acct_attr_code(33) := 'OVERRIDE_ACCTD_AMT_FLAG';
78201 l_rec_acct_attrs.array_char_value(33) := p_source_85;
78202 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_ID';
78203 l_rec_acct_attrs.array_num_value(34) := p_source_86;
78204 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_SITE_ID';
78205 l_rec_acct_attrs.array_num_value(35) := p_source_87;
78206 l_rec_acct_attrs.array_acct_attr_code(36) := 'PARTY_TYPE';
78207 l_rec_acct_attrs.array_char_value(36) := p_source_88;
78208 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_ID1';
78209 l_rec_acct_attrs.array_num_value(37) := to_char(p_source_89);
78210 l_rec_acct_attrs.array_acct_attr_code(38) := 'REVERSED_DISTRIBUTION_TYPE';
78211 l_rec_acct_attrs.array_char_value(38) := p_source_60;
78212 l_rec_acct_attrs.array_acct_attr_code(39) := 'STATISTICAL_AMOUNT';
78213 l_rec_acct_attrs.array_num_value(39) := p_source_90;
78214 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_LINE_REF_ID';
78215 l_rec_acct_attrs.array_num_value(40) := p_source_91;
78216 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_REC_NREC_DIST_REF_ID';
78217 l_rec_acct_attrs.array_num_value(41) := p_source_92;
78218 l_rec_acct_attrs.array_acct_attr_code(42) := 'TAX_SUMMARY_LINE_REF_ID';
78219 l_rec_acct_attrs.array_num_value(42) := p_source_93;
78220 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_CR_ENC_TYPE_ID';
78221 l_rec_acct_attrs.array_num_value(43) := p_source_94;
78222 l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
78223 l_rec_acct_attrs.array_num_value(44) := p_source_95;
78224
78225 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
78226 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
78230 ---------------------------------------------------------------------------------------------------------------
78227
78228 ---------------------------------------------------------------------------------------------------------------
78229 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
78231 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
78232
78233 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
78234 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
78235
78236 IF xla_accounting_cache_pkg.GetValueChar
78237 (p_source_code => 'LEDGER_CATEGORY_CODE'
78238 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
78239 AND l_bflow_method_code = 'PRIOR_ENTRY'
78240 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
78241 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
78242 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
78243 )
78244 THEN
78245 xla_ae_lines_pkg.BflowUpgEntry
78246 (p_business_method_code => l_bflow_method_code
78247 ,p_business_class_code => l_bflow_class_code
78248 ,p_balance_type => l_balance_type_code);
78249 ELSE
78250 NULL;
78251 -- No business flow processing for business flow method of NONE.
78252 END IF;
78253
78254 --
78255 -- call analytical criteria
78256 --
78257
78258 --
78259 -- call description
78260 --
78261
78262 xla_ae_lines_pkg.SetLineDescription(
78263 p_ae_header_id => l_ae_header_id
78264 ,p_description => Description_2 (
78265 p_application_id => p_application_id
78266 , p_ae_header_id => l_ae_header_id
78267 , p_source_1 => p_source_1
78268 )
78269 );
78270
78271
78272 --
78273 -- call ADRs
78274 -- Bug 4922099
78275 --
78276 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
78277 (NVL(l_actual_upg_option, 'N') = 'O') OR
78278 (NVL(l_enc_upg_option, 'N') = 'O')
78279 )
78280 THEN
78281 NULL;
78282 --
78283 --
78284
78285 l_ccid := AcctDerRule_35(
78286 p_application_id => p_application_id
78287 , p_ae_header_id => l_ae_header_id
78288 , p_source_25 => p_source_25
78289 , x_transaction_coa_id => l_adr_transaction_coa_id
78290 , x_accounting_coa_id => l_adr_accounting_coa_id
78291 , x_value_type_code => l_adr_value_type_code
78292 , p_side => 'NA'
78293 );
78294
78295 xla_ae_lines_pkg.set_ccid(
78296 p_code_combination_id => l_ccid
78297 , p_value_type_code => l_adr_value_type_code
78298 , p_transaction_coa_id => l_adr_transaction_coa_id
78299 , p_accounting_coa_id => l_adr_accounting_coa_id
78300 , p_adr_code => 'AP_INVOICE_DIST'
78301 , p_adr_type_code => 'S'
78302 , p_component_type => l_component_type
78303 , p_component_code => l_component_code
78304 , p_component_type_code => l_component_type_code
78305 , p_component_appl_id => l_component_appl_id
78306 , p_amb_context_code => l_amb_context_code
78307 , p_side => 'NA'
78308 );
78309
78310
78311 --
78312 --
78313 END IF;
78314 --
78315 -- Bug 4922099
78316 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
78317 (NVL(l_enc_upg_option, 'N') = 'O')
78318 ) AND
78319 (l_bflow_method_code = 'PRIOR_ENTRY')
78320 )
78321 THEN
78322 IF
78323 --
78324 1 = 2
78325 --
78326 THEN
78327 xla_accounting_err_pkg.build_message
78328 (p_appli_s_name => 'XLA'
78329 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
78330 ,p_token_1 => 'LINE_NUMBER'
78331 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
78332 ,p_token_2 => 'LINE_TYPE_NAME'
78333 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
78334 l_component_type
78335 ,l_component_code
78336 ,l_component_type_code
78337 ,l_component_appl_id
78338 ,l_amb_context_code
78339 ,l_entity_code
78340 ,l_event_class_code
78341 )
78342 ,p_token_3 => 'OWNER'
78343 ,p_value_3 => xla_lookups_pkg.get_meaning(
78347 ,p_token_4 => 'PRODUCT_NAME'
78344 p_lookup_type => 'XLA_OWNER_TYPE'
78345 ,p_lookup_code => l_component_type_code
78346 )
78348 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
78349 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
78350 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
78351 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
78352 ,p_ae_header_id => NULL
78353 );
78354
78355 IF (C_LEVEL_ERROR>= g_log_level) THEN
78356 trace
78357 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
78358 ,p_level => C_LEVEL_ERROR
78359 ,p_module => l_log_module);
78360 END IF;
78361 END IF;
78362 END IF;
78363 --
78364 --
78365 ------------------------------------------------------------------------------------------------
78366 -- 4219869 Business Flow
78367 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
78368 -- Prior Entry. Currently, the following code is always generated.
78369 ------------------------------------------------------------------------------------------------
78370 XLA_AE_LINES_PKG.ValidateCurrentLine;
78371
78372 ------------------------------------------------------------------------------------
78373 -- 4219869 Business Flow
78374 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
78375 ------------------------------------------------------------------------------------
78376 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
78377
78378 ----------------------------------------------------------------------------------
78379 -- 4219869 Business Flow
78380 -- Update journal entry status -- Need to generate this within IF <condition>
78381 ----------------------------------------------------------------------------------
78382 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
78383 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
78384 ,p_balance_type_code => l_balance_type_code
78385 );
78386
78387 -------------------------------------------------------------------------------------------
78388 -- 4262811 - Generate the Accrual Reversal lines
78389 -------------------------------------------------------------------------------------------
78390 BEGIN
78391 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
78392 (g_array_event(p_event_id).array_value_num('header_index'));
78393 IF l_acc_rev_flag IS NULL THEN
78394 l_acc_rev_flag := 'N';
78395 END IF;
78396 EXCEPTION
78397 WHEN OTHERS THEN
78398 l_acc_rev_flag := 'N';
78399 END;
78400 --
78401 IF (l_acc_rev_flag = 'Y') THEN
78402
78403 -- 4645092 ------------------------------------------------------------------------------
78404 -- To allow MPA report to determine if it should generate report process
78405 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
78406 ------------------------------------------------------------------------------------------
78407
78408 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
78409 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
78410 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
78411 -- call ADRs
78412 -- Bug 4922099
78413 --
78414 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
78415 (NVL(l_actual_upg_option, 'N') = 'O') OR
78416 (NVL(l_enc_upg_option, 'N') = 'O')
78417 )
78418 THEN
78419 NULL;
78420 --
78421 --
78422
78423 l_ccid := AcctDerRule_35(
78424 p_application_id => p_application_id
78425 , p_ae_header_id => l_ae_header_id
78426 , p_source_25 => p_source_25
78427 , x_transaction_coa_id => l_adr_transaction_coa_id
78428 , x_accounting_coa_id => l_adr_accounting_coa_id
78429 , x_value_type_code => l_adr_value_type_code
78430 , p_side => 'NA'
78431 );
78432
78433 xla_ae_lines_pkg.set_ccid(
78434 p_code_combination_id => l_ccid
78435 , p_value_type_code => l_adr_value_type_code
78436 , p_transaction_coa_id => l_adr_transaction_coa_id
78437 , p_accounting_coa_id => l_adr_accounting_coa_id
78438 , p_adr_code => 'AP_INVOICE_DIST'
78439 , p_adr_type_code => 'S'
78440 , p_component_type => l_component_type
78441 , p_component_code => l_component_code
78442 , p_component_type_code => l_component_type_code
78443 , p_component_appl_id => l_component_appl_id
78444 , p_amb_context_code => l_amb_context_code
78445 , p_side => 'NA'
78446 );
78447
78448
78449 --
78450 --
78451 END IF;
78452
78453 --
78457 p_header_num => 1);
78454 -- Update the line information that should be overwritten
78455 --
78456 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
78458 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
78459
78460 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
78461
78462 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
78463 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
78464 END IF;
78465
78466 --
78467 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
78468 --
78469 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
78470 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
78471 ELSE
78472 ---------------------------------------------------------------------------------------------------
78473 -- 4262811a Switch Sign
78474 ---------------------------------------------------------------------------------------------------
78475 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
78476 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
78477 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
78478 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
78479 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
78480 -- 5132302
78481 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
78482 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
78483
78484 END IF;
78485
78486 -- 4955764
78487 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
78488 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
78489
78490
78491 XLA_AE_LINES_PKG.ValidateCurrentLine;
78492 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
78493
78494 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
78495 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
78496 ,p_balance_type_code => l_balance_type_code);
78497
78498 END IF;
78499
78500 -----------------------------------------------------------------------------------------
78501 -- 4262811 Multiperiod Accounting
78502 -----------------------------------------------------------------------------------------
78503 -- No MPA option is assigned.
78504
78505
78506 END IF;
78507 END IF;
78508 --
78509
78510 --
78511 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
78512 trace
78513 (p_msg => 'END of AcctLineType_149'
78514 ,p_level => C_LEVEL_PROCEDURE
78515 ,p_module => l_log_module);
78516 END IF;
78517 --
78518 EXCEPTION
78519 WHEN xla_exceptions_pkg.application_exception THEN
78520 RAISE;
78521 WHEN OTHERS THEN
78522 xla_exceptions_pkg.raise_message
78523 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_149');
78524 END AcctLineType_149;
78525 --
78526
78527 ---------------------------------------
78528 --
78529 -- PRIVATE FUNCTION
78530 -- AcctLineType_150
78531 --
78532 ---------------------------------------
78533 PROCEDURE AcctLineType_150 (
78534 p_application_id IN NUMBER
78535 ,p_event_id IN NUMBER
78536 ,p_calculate_acctd_flag IN VARCHAR2
78537 ,p_calculate_g_l_flag IN VARCHAR2
78538 ,p_actual_flag IN OUT VARCHAR2
78539 ,p_balance_type_code OUT VARCHAR2
78540 ,p_gain_or_loss_ref OUT VARCHAR2
78541
78542 --Invoice Distribution Description
78543 , p_source_1 IN VARCHAR2
78544 --Invoice Distribution Ledger Amount
78545 , p_source_16 IN NUMBER
78546 --Invoice Distribution Account
78547 , p_source_25 IN NUMBER
78548 --Invoice Distribution Type
78549 , p_source_28 IN VARCHAR2
78550 , p_source_28_meaning IN VARCHAR2
78551 --Accrue on Receipt Option
78552 , p_source_54 IN VARCHAR2
78553 , p_source_54_meaning IN VARCHAR2
78554 --Accounting Reversal Indicator
78555 , p_source_58 IN VARCHAR2
78556 --Distribution Link Type
78557 , p_source_60 IN VARCHAR2
78558 --Allocation to Main Distribution Identifier
78559 , p_source_62 IN NUMBER
78560 --Invoice Identifier
78561 , p_source_63 IN NUMBER
78562 --Invoice Distribution Identifier
78563 , p_source_69 IN NUMBER
78564 --Payables Encumbrance Upgrade Credit Account
78565 , p_source_70 IN NUMBER
78566 --Payables Encumbrance Upgrade Credit Amount
78567 , p_source_71 IN NUMBER
78568 --Invoice Currency Code
78569 , p_source_72 IN VARCHAR2
78570 --Payables Encumbrance Upgrade Credit Base Amount
78571 , p_source_73 IN NUMBER
78575 , p_source_75 IN NUMBER
78572 --Payables Encumbrance Upgrade Debit Account
78573 , p_source_74 IN NUMBER
78574 --Payables Encumbrance Upgrade Debit Amount
78576 --Payables Encumbrance Upgrade Debit Base Amount
78577 , p_source_76 IN NUMBER
78578 --Payables Encumbrance Upgrade Option
78579 , p_source_77 IN VARCHAR2
78580 --Invoice Distribution Amount
78581 , p_source_78 IN NUMBER
78582 --Deferred Accounting End Date
78583 , p_source_82 IN DATE
78584 --Deferred Accounting Option
78585 , p_source_83 IN VARCHAR2
78586 --Deferred Accounting Start Date
78587 , p_source_84 IN DATE
78588 --Override Accounted Amount Indicator
78589 , p_source_85 IN VARCHAR2
78590 , p_source_85_meaning IN VARCHAR2
78591 --Invoice Supplier Identifier
78592 , p_source_86 IN NUMBER
78593 --Invoice Supplier Site Identifier
78594 , p_source_87 IN NUMBER
78595 --Third Party Type
78596 , p_source_88 IN VARCHAR2
78597 --Parent Reversal Identifier
78598 , p_source_89 IN NUMBER
78599 --Invoice Distribution Statistical Amount
78600 , p_source_90 IN NUMBER
78601 --Invoice Distribution Tax Line Identifier
78602 , p_source_91 IN NUMBER
78603 --Invoice Distribution Tax Distribution Identifier from Tax
78604 , p_source_92 IN NUMBER
78605 --Invoice Distribution Summary Tax Line Identifier
78606 , p_source_93 IN NUMBER
78607 --Payables Upgrade Credit Encumbrance Type Identifier
78608 , p_source_94 IN NUMBER
78609 --Payables Upgrade Debit Encumbrance Type Identifier
78610 , p_source_95 IN NUMBER
78611 --Business Flow Accounts Payable Application Identifier
78612 , p_source_96 IN NUMBER
78613 --Business Flow Invoice Distribution Type
78614 , p_source_97 IN VARCHAR2
78615 --Business Flow Invoice Entity Code
78616 , p_source_98 IN VARCHAR2
78617 --Business Flow Invoice Distribution Identifier
78618 , p_source_99 IN NUMBER
78619 --Business Flow Invoice Identifier
78620 , p_source_100 IN NUMBER
78621 --Invoice Exchange Date
78622 , p_source_146 IN DATE
78623 --Invoice Exchange Rate
78624 , p_source_147 IN NUMBER
78625 --Invoice Exchange Rate Type
78626 , p_source_148 IN VARCHAR2
78627 )
78628 IS
78629
78630 l_component_type VARCHAR2(80);
78631 l_component_code VARCHAR2(30);
78632 l_component_type_code VARCHAR2(1);
78633 l_component_appl_id INTEGER;
78634 l_amb_context_code VARCHAR2(30);
78635 l_entity_code VARCHAR2(30);
78636 l_event_class_code VARCHAR2(30);
78637 l_ae_header_id NUMBER;
78638 l_event_type_code VARCHAR2(30);
78639 l_line_definition_code VARCHAR2(30);
78640 l_line_definition_owner_code VARCHAR2(1);
78641 --
78642 -- adr variables
78643 l_segment VARCHAR2(30);
78644 l_ccid NUMBER;
78645 l_adr_transaction_coa_id NUMBER;
78646 l_adr_accounting_coa_id NUMBER;
78647 l_adr_flexfield_segment_code VARCHAR2(30);
78648 l_adr_flex_value_set_id NUMBER;
78649 l_adr_value_type_code VARCHAR2(30);
78650 l_adr_value_combination_id NUMBER;
78651 l_adr_value_segment_code VARCHAR2(30);
78652
78653 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
78654 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
78655 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
78656 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
78657
78658 -- 4262811 Variables ------------------------------------------------------------------------------------------
78659 l_entered_amt_idx NUMBER;
78660 l_accted_amt_idx NUMBER;
78661 l_acc_rev_flag VARCHAR2(1);
78662 l_accrual_line_num NUMBER;
78663 l_tmp_amt NUMBER;
78664 l_acc_rev_natural_side_code VARCHAR2(1);
78665
78666 l_num_entries NUMBER;
78667 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
78668 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
78669 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
78670 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
78671 l_recog_line_1 NUMBER;
78672 l_recog_line_2 NUMBER;
78673
78674 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
78675 l_bflow_applied_to_amt NUMBER; -- 5132302
78676 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
78677
78678 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
78679
78680 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
78681 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
78682
78683 ---------------------------------------------------------------------------------------------------------------
78684
78685
78686 --
78687 -- bulk performance
78688 --
78689 l_balance_type_code VARCHAR2(1);
78690 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
78691 l_log_module VARCHAR2(240);
78692
78693 --
78697 l_enc_upg_option VARCHAR2(1);
78694 -- Upgrade strategy
78695 --
78696 l_actual_upg_option VARCHAR2(1);
78698
78699 --
78700 BEGIN
78701 --
78702 IF g_log_enabled THEN
78703 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_150';
78704 END IF;
78705 --
78706 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
78707
78708 trace
78709 (p_msg => 'BEGIN of AcctLineType_150'
78710 ,p_level => C_LEVEL_PROCEDURE
78711 ,p_module => l_log_module);
78712
78713 END IF;
78714 --
78715 l_component_type := 'AMB_JLT';
78716 l_component_code := 'AP_INV_PRICE_VAR_PREPAY';
78717 l_component_type_code := 'S';
78718 l_component_appl_id := 200;
78719 l_amb_context_code := 'DEFAULT';
78720 l_entity_code := 'AP_INVOICES';
78721 l_event_class_code := 'PREPAYMENTS';
78722 l_event_type_code := 'PREPAYMENTS_ALL';
78723 l_line_definition_owner_code := 'S';
78724 l_line_definition_code := 'ACCRUAL_PREPAYMENTS_ALL';
78725 --
78726 l_balance_type_code := 'A';
78727 l_segment := NULL;
78728 l_ccid := NULL;
78729 l_adr_transaction_coa_id := NULL;
78730 l_adr_accounting_coa_id := NULL;
78731 l_adr_flexfield_segment_code := NULL;
78732 l_adr_flex_value_set_id := NULL;
78733 l_adr_value_type_code := NULL;
78734 l_adr_value_combination_id := NULL;
78735 l_adr_value_segment_code := NULL;
78736
78737 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
78738 l_bflow_class_code := 'AP_PREPAY'; -- 4219869 Business Flow
78739 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
78740 l_budgetary_control_flag := 'N';
78741
78742 l_bflow_applied_to_amt_idx := NULL; -- 5132302
78743 l_bflow_applied_to_amt := NULL; -- 5132302
78744 l_entered_amt_idx := NULL; -- 4262811
78745 l_accted_amt_idx := NULL; -- 4262811
78746 l_acc_rev_flag := NULL; -- 4262811
78747 l_accrual_line_num := NULL; -- 4262811
78748 l_tmp_amt := NULL; -- 4262811
78749 --
78750
78751 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
78752 l_balance_type_code <> 'B' THEN
78753 IF NVL(p_source_28,'
78754 ') = 'IPV' AND
78755 NVL(p_source_54,'
78756 ') = 'Y'
78757 THEN
78758
78759 --
78760 XLA_AE_LINES_PKG.SetNewLine;
78761
78762 p_balance_type_code := l_balance_type_code;
78763 -- set the flag so later we will know whether the gain loss line needs to be created
78764
78765 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
78766 p_actual_flag :='A';
78767 END IF;
78768
78769 --
78770 -- bulk performance
78771 --
78772 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
78773 p_header_num => 0); -- 4262811
78774 --
78775 -- set accounting line options
78776 --
78777 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
78778 p_natural_side_code => 'D'
78779 , p_gain_or_loss_flag => 'N'
78780 , p_gl_transfer_mode_code => 'S'
78781 , p_acct_entry_type_code => 'A'
78782 , p_switch_side_flag => 'Y'
78783 , p_merge_duplicate_code => 'A'
78784 );
78785 --
78786 l_acc_rev_natural_side_code := 'C'; -- 4262811
78787 --
78788 --
78789 -- set accounting line type info
78790 --
78791 xla_ae_lines_pkg.SetAcctLineType
78792 (p_component_type => l_component_type
78793 ,p_event_type_code => l_event_type_code
78794 ,p_line_definition_owner_code => l_line_definition_owner_code
78795 ,p_line_definition_code => l_line_definition_code
78796 ,p_accounting_line_code => l_component_code
78797 ,p_accounting_line_type_code => l_component_type_code
78798 ,p_accounting_line_appl_id => l_component_appl_id
78799 ,p_amb_context_code => l_amb_context_code
78800 ,p_entity_code => l_entity_code
78801 ,p_event_class_code => l_event_class_code);
78802 --
78803 -- set accounting class
78804 --
78805 xla_ae_lines_pkg.SetAcctClass(
78806 p_accounting_class_code => 'IPV'
78807 , p_ae_header_id => l_ae_header_id
78808 );
78809
78810 --
78811 -- set rounding class
78812 --
78813 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
78814 'IPV';
78815
78816 --
78817 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
78818 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
78819 --
78820 -- bulk performance
78821 --
78822 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
78823
78824 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
78825 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
78826
78827 -- 4955764
78831 -- 4458381 Public Sector Enh
78828 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
78829 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
78830
78832
78833 --
78834 -- set accounting attributes for the line type
78835 --
78836 l_entered_amt_idx := 23;
78837 l_accted_amt_idx := 28;
78838 l_bflow_applied_to_amt_idx := NULL; -- 5132302
78839 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
78840 l_rec_acct_attrs.array_char_value(1) := p_source_58;
78841 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
78842 l_rec_acct_attrs.array_num_value(2) :=
78843 xla_ae_sources_pkg.GetSystemSourceNum(
78844 p_source_code => 'XLA_EVENT_APPL_ID'
78845 , p_source_type_code => 'Y'
78846 , p_source_application_id => 602
78847 );
78848 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
78849 l_rec_acct_attrs.array_char_value(3) := p_source_60;
78850 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
78851 l_rec_acct_attrs.array_char_value(4) :=
78852 xla_ae_sources_pkg.GetSystemSourceChar(
78853 p_source_code => 'XLA_ENTITY_CODE'
78854 , p_source_type_code => 'Y'
78855 , p_source_application_id => 602
78856 );
78857 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
78858 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_62);
78859 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
78860 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_63);
78861 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
78862 l_rec_acct_attrs.array_num_value(7) := p_source_96;
78863 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
78864 l_rec_acct_attrs.array_char_value(8) := p_source_97;
78865 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
78866 l_rec_acct_attrs.array_char_value(9) := p_source_98;
78867 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
78868 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_99);
78869 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
78870 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_100);
78871 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
78872 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_69);
78873 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
78874 l_rec_acct_attrs.array_char_value(13) := p_source_60;
78875 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
78876 l_rec_acct_attrs.array_num_value(14) := p_source_70;
78877 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
78878 l_rec_acct_attrs.array_num_value(15) := p_source_71;
78879 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
78880 l_rec_acct_attrs.array_char_value(16) := p_source_72;
78881 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
78882 l_rec_acct_attrs.array_num_value(17) := p_source_73;
78883 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
78884 l_rec_acct_attrs.array_num_value(18) := p_source_74;
78885 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
78886 l_rec_acct_attrs.array_num_value(19) := p_source_75;
78887 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
78888 l_rec_acct_attrs.array_char_value(20) := p_source_72;
78889 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
78890 l_rec_acct_attrs.array_num_value(21) := p_source_76;
78891 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
78892 l_rec_acct_attrs.array_char_value(22) := p_source_77;
78893 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
78894 l_rec_acct_attrs.array_num_value(23) := p_source_78;
78895 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
78896 l_rec_acct_attrs.array_char_value(24) := p_source_72;
78897 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
78898 l_rec_acct_attrs.array_date_value(25) := p_source_146;
78899 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
78900 l_rec_acct_attrs.array_num_value(26) := p_source_147;
78901 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
78902 l_rec_acct_attrs.array_char_value(27) := p_source_148;
78903 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
78904 l_rec_acct_attrs.array_num_value(28) := p_source_16;
78905 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
78906 l_rec_acct_attrs.array_date_value(29) := p_source_82;
78907 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
78908 l_rec_acct_attrs.array_char_value(30) := p_source_83;
78909 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
78910 l_rec_acct_attrs.array_date_value(31) := p_source_84;
78911 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
78912 l_rec_acct_attrs.array_char_value(32) := p_source_85;
78913 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
78914 l_rec_acct_attrs.array_num_value(33) := p_source_86;
78915 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
78916 l_rec_acct_attrs.array_num_value(34) := p_source_87;
78917 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
78918 l_rec_acct_attrs.array_char_value(35) := p_source_88;
78922 l_rec_acct_attrs.array_char_value(37) := p_source_60;
78919 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
78920 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_89);
78921 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
78923 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
78924 l_rec_acct_attrs.array_num_value(38) := p_source_90;
78925 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
78926 l_rec_acct_attrs.array_num_value(39) := p_source_91;
78927 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
78928 l_rec_acct_attrs.array_num_value(40) := p_source_92;
78929 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
78930 l_rec_acct_attrs.array_num_value(41) := p_source_93;
78931 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
78932 l_rec_acct_attrs.array_num_value(42) := p_source_94;
78933 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
78934 l_rec_acct_attrs.array_num_value(43) := p_source_95;
78935
78936 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
78937 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
78938
78939 ---------------------------------------------------------------------------------------------------------------
78940 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
78941 ---------------------------------------------------------------------------------------------------------------
78942 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
78943
78944 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
78945 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
78946
78947 IF xla_accounting_cache_pkg.GetValueChar
78948 (p_source_code => 'LEDGER_CATEGORY_CODE'
78949 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
78950 AND l_bflow_method_code = 'PRIOR_ENTRY'
78951 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
78952 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
78953 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
78954 )
78955 THEN
78956 xla_ae_lines_pkg.BflowUpgEntry
78957 (p_business_method_code => l_bflow_method_code
78958 ,p_business_class_code => l_bflow_class_code
78959 ,p_balance_type => l_balance_type_code);
78960 ELSE
78961 NULL;
78962 -- No business flow processing for business flow method of NONE.
78963 END IF;
78964
78965 --
78966 -- call analytical criteria
78967 --
78968
78969 --
78970 -- call description
78971 --
78972
78973 xla_ae_lines_pkg.SetLineDescription(
78974 p_ae_header_id => l_ae_header_id
78975 ,p_description => Description_2 (
78976 p_application_id => p_application_id
78977 , p_ae_header_id => l_ae_header_id
78978 , p_source_1 => p_source_1
78979 )
78980 );
78981
78982
78983 --
78984 -- call ADRs
78985 -- Bug 4922099
78986 --
78987 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
78988 (NVL(l_actual_upg_option, 'N') = 'O') OR
78989 (NVL(l_enc_upg_option, 'N') = 'O')
78990 )
78991 THEN
78992 NULL;
78993 --
78994 --
78995
78996 l_ccid := AcctDerRule_35(
78997 p_application_id => p_application_id
78998 , p_ae_header_id => l_ae_header_id
78999 , p_source_25 => p_source_25
79000 , x_transaction_coa_id => l_adr_transaction_coa_id
79001 , x_accounting_coa_id => l_adr_accounting_coa_id
79002 , x_value_type_code => l_adr_value_type_code
79003 , p_side => 'NA'
79004 );
79005
79006 xla_ae_lines_pkg.set_ccid(
79007 p_code_combination_id => l_ccid
79008 , p_value_type_code => l_adr_value_type_code
79009 , p_transaction_coa_id => l_adr_transaction_coa_id
79010 , p_accounting_coa_id => l_adr_accounting_coa_id
79011 , p_adr_code => 'AP_INVOICE_DIST'
79012 , p_adr_type_code => 'S'
79013 , p_component_type => l_component_type
79014 , p_component_code => l_component_code
79015 , p_component_type_code => l_component_type_code
79016 , p_component_appl_id => l_component_appl_id
79017 , p_amb_context_code => l_amb_context_code
79018 , p_side => 'NA'
79019 );
79020
79021
79022 --
79023 --
79024 END IF;
79025 --
79026 -- Bug 4922099
79027 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
79028 (NVL(l_enc_upg_option, 'N') = 'O')
79029 ) AND
79030 (l_bflow_method_code = 'PRIOR_ENTRY')
79031 )
79032 THEN
79033 IF
79034 --
79035 1 = 2
79036 --
79037 THEN
79038 xla_accounting_err_pkg.build_message
79039 (p_appli_s_name => 'XLA'
79040 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
79041 ,p_token_1 => 'LINE_NUMBER'
79045 l_component_type
79042 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
79043 ,p_token_2 => 'LINE_TYPE_NAME'
79044 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
79046 ,l_component_code
79047 ,l_component_type_code
79048 ,l_component_appl_id
79049 ,l_amb_context_code
79050 ,l_entity_code
79051 ,l_event_class_code
79052 )
79053 ,p_token_3 => 'OWNER'
79054 ,p_value_3 => xla_lookups_pkg.get_meaning(
79055 p_lookup_type => 'XLA_OWNER_TYPE'
79056 ,p_lookup_code => l_component_type_code
79057 )
79058 ,p_token_4 => 'PRODUCT_NAME'
79059 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
79060 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
79061 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
79062 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
79063 ,p_ae_header_id => NULL
79064 );
79065
79066 IF (C_LEVEL_ERROR>= g_log_level) THEN
79067 trace
79068 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
79069 ,p_level => C_LEVEL_ERROR
79070 ,p_module => l_log_module);
79071 END IF;
79072 END IF;
79073 END IF;
79074 --
79075 --
79076 ------------------------------------------------------------------------------------------------
79077 -- 4219869 Business Flow
79078 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
79079 -- Prior Entry. Currently, the following code is always generated.
79080 ------------------------------------------------------------------------------------------------
79081 XLA_AE_LINES_PKG.ValidateCurrentLine;
79082
79083 ------------------------------------------------------------------------------------
79084 -- 4219869 Business Flow
79085 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
79086 ------------------------------------------------------------------------------------
79087 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
79088
79089 ----------------------------------------------------------------------------------
79090 -- 4219869 Business Flow
79091 -- Update journal entry status -- Need to generate this within IF <condition>
79092 ----------------------------------------------------------------------------------
79093 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
79094 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
79095 ,p_balance_type_code => l_balance_type_code
79096 );
79097
79098 -------------------------------------------------------------------------------------------
79099 -- 4262811 - Generate the Accrual Reversal lines
79100 -------------------------------------------------------------------------------------------
79101 BEGIN
79102 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
79103 (g_array_event(p_event_id).array_value_num('header_index'));
79104 IF l_acc_rev_flag IS NULL THEN
79105 l_acc_rev_flag := 'N';
79106 END IF;
79107 EXCEPTION
79108 WHEN OTHERS THEN
79109 l_acc_rev_flag := 'N';
79110 END;
79111 --
79112 IF (l_acc_rev_flag = 'Y') THEN
79113
79114 -- 4645092 ------------------------------------------------------------------------------
79115 -- To allow MPA report to determine if it should generate report process
79116 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
79117 ------------------------------------------------------------------------------------------
79118
79119 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
79120 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
79121 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
79122 -- call ADRs
79123 -- Bug 4922099
79124 --
79125 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
79126 (NVL(l_actual_upg_option, 'N') = 'O') OR
79127 (NVL(l_enc_upg_option, 'N') = 'O')
79128 )
79129 THEN
79130 NULL;
79131 --
79132 --
79133
79134 l_ccid := AcctDerRule_35(
79135 p_application_id => p_application_id
79139 , x_accounting_coa_id => l_adr_accounting_coa_id
79136 , p_ae_header_id => l_ae_header_id
79137 , p_source_25 => p_source_25
79138 , x_transaction_coa_id => l_adr_transaction_coa_id
79140 , x_value_type_code => l_adr_value_type_code
79141 , p_side => 'NA'
79142 );
79143
79144 xla_ae_lines_pkg.set_ccid(
79145 p_code_combination_id => l_ccid
79146 , p_value_type_code => l_adr_value_type_code
79147 , p_transaction_coa_id => l_adr_transaction_coa_id
79148 , p_accounting_coa_id => l_adr_accounting_coa_id
79149 , p_adr_code => 'AP_INVOICE_DIST'
79150 , p_adr_type_code => 'S'
79151 , p_component_type => l_component_type
79152 , p_component_code => l_component_code
79153 , p_component_type_code => l_component_type_code
79154 , p_component_appl_id => l_component_appl_id
79155 , p_amb_context_code => l_amb_context_code
79156 , p_side => 'NA'
79157 );
79158
79159
79160 --
79161 --
79162 END IF;
79163
79164 --
79165 -- Update the line information that should be overwritten
79166 --
79167 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
79168 p_header_num => 1);
79169 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
79170
79171 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
79172
79173 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
79174 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
79175 END IF;
79176
79177 --
79178 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
79179 --
79180 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
79181 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
79182 ELSE
79183 ---------------------------------------------------------------------------------------------------
79184 -- 4262811a Switch Sign
79185 ---------------------------------------------------------------------------------------------------
79186 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
79187 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
79188 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
79189 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
79190 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
79191 -- 5132302
79192 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
79193 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
79194
79195 END IF;
79196
79197 -- 4955764
79198 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
79199 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
79200
79201
79202 XLA_AE_LINES_PKG.ValidateCurrentLine;
79203 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
79204
79205 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
79206 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
79207 ,p_balance_type_code => l_balance_type_code);
79208
79209 END IF;
79210
79211 -----------------------------------------------------------------------------------------
79212 -- 4262811 Multiperiod Accounting
79213 -----------------------------------------------------------------------------------------
79214 -- No MPA option is assigned.
79215
79216
79217 END IF;
79218 END IF;
79219 --
79220
79221 --
79222 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
79223 trace
79224 (p_msg => 'END of AcctLineType_150'
79225 ,p_level => C_LEVEL_PROCEDURE
79226 ,p_module => l_log_module);
79227 END IF;
79228 --
79229 EXCEPTION
79230 WHEN xla_exceptions_pkg.application_exception THEN
79231 RAISE;
79232 WHEN OTHERS THEN
79233 xla_exceptions_pkg.raise_message
79234 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_150');
79235 END AcctLineType_150;
79236 --
79237
79238 ---------------------------------------
79239 --
79240 -- PRIVATE FUNCTION
79241 -- AcctLineType_151
79242 --
79243 ---------------------------------------
79244 PROCEDURE AcctLineType_151 (
79245 p_application_id IN NUMBER
79246 ,p_event_id IN NUMBER
79247 ,p_calculate_acctd_flag IN VARCHAR2
79248 ,p_calculate_g_l_flag IN VARCHAR2
79249 ,p_actual_flag IN OUT VARCHAR2
79250 ,p_balance_type_code OUT VARCHAR2
79251 ,p_gain_or_loss_ref OUT VARCHAR2
79252
79253 --Invoice Distribution Description
79254 , p_source_1 IN VARCHAR2
79258 , p_source_25 IN NUMBER
79255 --Invoice Distribution Ledger Amount
79256 , p_source_16 IN NUMBER
79257 --Invoice Distribution Account
79259 --Invoice Distribution Type
79260 , p_source_28 IN VARCHAR2
79261 , p_source_28_meaning IN VARCHAR2
79262 --Accrue on Receipt Option
79263 , p_source_54 IN VARCHAR2
79264 , p_source_54_meaning IN VARCHAR2
79265 --Accounting Reversal Indicator
79266 , p_source_58 IN VARCHAR2
79267 --Distribution Link Type
79268 , p_source_60 IN VARCHAR2
79269 --Allocation to Main Distribution Identifier
79270 , p_source_62 IN NUMBER
79271 --Invoice Identifier
79272 , p_source_63 IN NUMBER
79273 --Invoice Distribution Identifier
79274 , p_source_69 IN NUMBER
79275 --Payables Encumbrance Upgrade Credit Account
79276 , p_source_70 IN NUMBER
79277 --Payables Encumbrance Upgrade Credit Amount
79278 , p_source_71 IN NUMBER
79279 --Invoice Currency Code
79280 , p_source_72 IN VARCHAR2
79281 --Payables Encumbrance Upgrade Credit Base Amount
79282 , p_source_73 IN NUMBER
79283 --Payables Encumbrance Upgrade Debit Account
79284 , p_source_74 IN NUMBER
79285 --Payables Encumbrance Upgrade Debit Amount
79286 , p_source_75 IN NUMBER
79287 --Payables Encumbrance Upgrade Debit Base Amount
79288 , p_source_76 IN NUMBER
79289 --Payables Encumbrance Upgrade Option
79290 , p_source_77 IN VARCHAR2
79291 --Invoice Distribution Amount
79292 , p_source_78 IN NUMBER
79293 --Deferred Accounting End Date
79294 , p_source_82 IN DATE
79295 --Deferred Accounting Option
79296 , p_source_83 IN VARCHAR2
79297 --Deferred Accounting Start Date
79298 , p_source_84 IN DATE
79299 --Override Accounted Amount Indicator
79300 , p_source_85 IN VARCHAR2
79301 , p_source_85_meaning IN VARCHAR2
79302 --Invoice Supplier Identifier
79303 , p_source_86 IN NUMBER
79304 --Invoice Supplier Site Identifier
79305 , p_source_87 IN NUMBER
79306 --Third Party Type
79307 , p_source_88 IN VARCHAR2
79308 --Parent Reversal Identifier
79309 , p_source_89 IN NUMBER
79310 --Invoice Distribution Statistical Amount
79311 , p_source_90 IN NUMBER
79312 --Invoice Distribution Tax Line Identifier
79313 , p_source_91 IN NUMBER
79314 --Invoice Distribution Tax Distribution Identifier from Tax
79315 , p_source_92 IN NUMBER
79316 --Invoice Distribution Summary Tax Line Identifier
79317 , p_source_93 IN NUMBER
79318 --Payables Upgrade Credit Encumbrance Type Identifier
79319 , p_source_94 IN NUMBER
79320 --Payables Upgrade Debit Encumbrance Type Identifier
79321 , p_source_95 IN NUMBER
79322 --Business Flow Accounts Payable Application Identifier
79323 , p_source_96 IN NUMBER
79324 --Business Flow Invoice Distribution Type
79325 , p_source_97 IN VARCHAR2
79326 --Business Flow Invoice Entity Code
79327 , p_source_98 IN VARCHAR2
79328 --Business Flow Invoice Distribution Identifier
79329 , p_source_99 IN NUMBER
79330 --Business Flow Invoice Identifier
79331 , p_source_100 IN NUMBER
79332 --Invoice Exchange Date
79333 , p_source_146 IN DATE
79334 --Invoice Exchange Rate
79335 , p_source_147 IN NUMBER
79336 --Invoice Exchange Rate Type
79337 , p_source_148 IN VARCHAR2
79338 )
79339 IS
79340
79341 l_component_type VARCHAR2(80);
79342 l_component_code VARCHAR2(30);
79343 l_component_type_code VARCHAR2(1);
79344 l_component_appl_id INTEGER;
79345 l_amb_context_code VARCHAR2(30);
79346 l_entity_code VARCHAR2(30);
79347 l_event_class_code VARCHAR2(30);
79348 l_ae_header_id NUMBER;
79349 l_event_type_code VARCHAR2(30);
79350 l_line_definition_code VARCHAR2(30);
79351 l_line_definition_owner_code VARCHAR2(1);
79352 --
79353 -- adr variables
79354 l_segment VARCHAR2(30);
79355 l_ccid NUMBER;
79356 l_adr_transaction_coa_id NUMBER;
79357 l_adr_accounting_coa_id NUMBER;
79358 l_adr_flexfield_segment_code VARCHAR2(30);
79359 l_adr_flex_value_set_id NUMBER;
79360 l_adr_value_type_code VARCHAR2(30);
79361 l_adr_value_combination_id NUMBER;
79362 l_adr_value_segment_code VARCHAR2(30);
79363
79364 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
79365 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
79366 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
79367 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
79368
79369 -- 4262811 Variables ------------------------------------------------------------------------------------------
79370 l_entered_amt_idx NUMBER;
79371 l_accted_amt_idx NUMBER;
79372 l_acc_rev_flag VARCHAR2(1);
79373 l_accrual_line_num NUMBER;
79374 l_tmp_amt NUMBER;
79375 l_acc_rev_natural_side_code VARCHAR2(1);
79376
79377 l_num_entries NUMBER;
79378 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
79379 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
79383 l_recog_line_2 NUMBER;
79380 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
79381 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
79382 l_recog_line_1 NUMBER;
79384
79385 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
79386 l_bflow_applied_to_amt NUMBER; -- 5132302
79387 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
79388
79389 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
79390
79391 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
79392 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
79393
79394 ---------------------------------------------------------------------------------------------------------------
79395
79396
79397 --
79398 -- bulk performance
79399 --
79400 l_balance_type_code VARCHAR2(1);
79401 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
79402 l_log_module VARCHAR2(240);
79403
79404 --
79405 -- Upgrade strategy
79406 --
79407 l_actual_upg_option VARCHAR2(1);
79408 l_enc_upg_option VARCHAR2(1);
79409
79410 --
79411 BEGIN
79412 --
79413 IF g_log_enabled THEN
79414 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_151';
79415 END IF;
79416 --
79417 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
79418
79419 trace
79420 (p_msg => 'BEGIN of AcctLineType_151'
79421 ,p_level => C_LEVEL_PROCEDURE
79422 ,p_module => l_log_module);
79423
79424 END IF;
79425 --
79426 l_component_type := 'AMB_JLT';
79427 l_component_code := 'AP_ITEM_EXPENSE_CM';
79428 l_component_type_code := 'S';
79429 l_component_appl_id := 200;
79430 l_amb_context_code := 'DEFAULT';
79431 l_entity_code := 'AP_INVOICES';
79432 l_event_class_code := 'CREDIT MEMOS';
79433 l_event_type_code := 'CREDIT MEMOS_ALL';
79434 l_line_definition_owner_code := 'S';
79435 l_line_definition_code := 'ACCRUAL_CREDIT MEMOS_ALL';
79436 --
79437 l_balance_type_code := 'A';
79438 l_segment := NULL;
79439 l_ccid := NULL;
79440 l_adr_transaction_coa_id := NULL;
79441 l_adr_accounting_coa_id := NULL;
79442 l_adr_flexfield_segment_code := NULL;
79443 l_adr_flex_value_set_id := NULL;
79444 l_adr_value_type_code := NULL;
79445 l_adr_value_combination_id := NULL;
79446 l_adr_value_segment_code := NULL;
79447
79448 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
79449 l_bflow_class_code := ''; -- 4219869 Business Flow
79450 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
79451 l_budgetary_control_flag := 'N';
79452
79453 l_bflow_applied_to_amt_idx := NULL; -- 5132302
79454 l_bflow_applied_to_amt := NULL; -- 5132302
79455 l_entered_amt_idx := NULL; -- 4262811
79456 l_accted_amt_idx := NULL; -- 4262811
79457 l_acc_rev_flag := NULL; -- 4262811
79458 l_accrual_line_num := NULL; -- 4262811
79459 l_tmp_amt := NULL; -- 4262811
79460 --
79461
79462 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
79463 l_balance_type_code <> 'B' THEN
79464 IF NVL(p_source_28,'
79465 ') = 'RETROEXPENSE' OR
79466 NVL(p_source_28,'
79467 ') = 'ITEM' OR
79468 (NVL(p_source_28,'
79469 ') = 'ERV' AND
79470 NVL(p_source_54,'
79471 ') <> 'Y') OR
79472 (NVL(p_source_28,'
79473 ') = 'IPV' AND
79474 NVL(p_source_54,'
79475 ') <> 'Y')
79476 THEN
79477
79478 --
79479 XLA_AE_LINES_PKG.SetNewLine;
79480
79481 p_balance_type_code := l_balance_type_code;
79482 -- set the flag so later we will know whether the gain loss line needs to be created
79483
79484 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
79485 p_actual_flag :='A';
79486 END IF;
79487
79488 --
79489 -- bulk performance
79490 --
79491 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
79492 p_header_num => 0); -- 4262811
79493 --
79494 -- set accounting line options
79495 --
79496 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
79497 p_natural_side_code => 'D'
79498 , p_gain_or_loss_flag => 'N'
79499 , p_gl_transfer_mode_code => 'S'
79500 , p_acct_entry_type_code => 'A'
79501 , p_switch_side_flag => 'Y'
79502 , p_merge_duplicate_code => 'A'
79503 );
79504 --
79505 l_acc_rev_natural_side_code := 'C'; -- 4262811
79506 --
79507 --
79508 -- set accounting line type info
79509 --
79510 xla_ae_lines_pkg.SetAcctLineType
79511 (p_component_type => l_component_type
79512 ,p_event_type_code => l_event_type_code
79513 ,p_line_definition_owner_code => l_line_definition_owner_code
79514 ,p_line_definition_code => l_line_definition_code
79515 ,p_accounting_line_code => l_component_code
79516 ,p_accounting_line_type_code => l_component_type_code
79520 ,p_event_class_code => l_event_class_code);
79517 ,p_accounting_line_appl_id => l_component_appl_id
79518 ,p_amb_context_code => l_amb_context_code
79519 ,p_entity_code => l_entity_code
79521 --
79522 -- set accounting class
79523 --
79524 xla_ae_lines_pkg.SetAcctClass(
79525 p_accounting_class_code => 'ITEM EXPENSE'
79526 , p_ae_header_id => l_ae_header_id
79527 );
79528
79529 --
79530 -- set rounding class
79531 --
79532 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
79533 'ITEM EXPENSE';
79534
79535 --
79536 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
79537 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
79538 --
79539 -- bulk performance
79540 --
79541 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
79542
79543 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
79544 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
79545
79546 -- 4955764
79547 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
79548 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
79549
79550 -- 4458381 Public Sector Enh
79551
79552 --
79553 -- set accounting attributes for the line type
79554 --
79555 l_entered_amt_idx := 23;
79556 l_accted_amt_idx := 28;
79557 l_bflow_applied_to_amt_idx := NULL; -- 5132302
79558 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
79559 l_rec_acct_attrs.array_char_value(1) := p_source_58;
79560 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
79561 l_rec_acct_attrs.array_num_value(2) :=
79562 xla_ae_sources_pkg.GetSystemSourceNum(
79563 p_source_code => 'XLA_EVENT_APPL_ID'
79564 , p_source_type_code => 'Y'
79565 , p_source_application_id => 602
79566 );
79567 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
79568 l_rec_acct_attrs.array_char_value(3) := p_source_60;
79569 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
79570 l_rec_acct_attrs.array_char_value(4) :=
79571 xla_ae_sources_pkg.GetSystemSourceChar(
79572 p_source_code => 'XLA_ENTITY_CODE'
79573 , p_source_type_code => 'Y'
79574 , p_source_application_id => 602
79575 );
79576 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
79577 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_62);
79578 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
79579 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_63);
79580 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
79581 l_rec_acct_attrs.array_num_value(7) := p_source_96;
79582 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
79583 l_rec_acct_attrs.array_char_value(8) := p_source_97;
79584 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
79585 l_rec_acct_attrs.array_char_value(9) := p_source_98;
79586 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
79587 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_99);
79588 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
79589 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_100);
79590 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
79591 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_69);
79592 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
79593 l_rec_acct_attrs.array_char_value(13) := p_source_60;
79594 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
79595 l_rec_acct_attrs.array_num_value(14) := p_source_70;
79596 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
79597 l_rec_acct_attrs.array_num_value(15) := p_source_71;
79598 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
79599 l_rec_acct_attrs.array_char_value(16) := p_source_72;
79600 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
79601 l_rec_acct_attrs.array_num_value(17) := p_source_73;
79602 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
79603 l_rec_acct_attrs.array_num_value(18) := p_source_74;
79604 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
79605 l_rec_acct_attrs.array_num_value(19) := p_source_75;
79606 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
79607 l_rec_acct_attrs.array_char_value(20) := p_source_72;
79608 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
79609 l_rec_acct_attrs.array_num_value(21) := p_source_76;
79610 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
79611 l_rec_acct_attrs.array_char_value(22) := p_source_77;
79612 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
79613 l_rec_acct_attrs.array_num_value(23) := p_source_78;
79614 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
79615 l_rec_acct_attrs.array_char_value(24) := p_source_72;
79616 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
79617 l_rec_acct_attrs.array_date_value(25) := p_source_146;
79621 l_rec_acct_attrs.array_char_value(27) := p_source_148;
79618 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
79619 l_rec_acct_attrs.array_num_value(26) := p_source_147;
79620 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
79622 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
79623 l_rec_acct_attrs.array_num_value(28) := p_source_16;
79624 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
79625 l_rec_acct_attrs.array_date_value(29) := p_source_82;
79626 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
79627 l_rec_acct_attrs.array_char_value(30) := p_source_83;
79628 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
79629 l_rec_acct_attrs.array_date_value(31) := p_source_84;
79630 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
79631 l_rec_acct_attrs.array_char_value(32) := p_source_85;
79632 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
79633 l_rec_acct_attrs.array_num_value(33) := p_source_86;
79634 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
79635 l_rec_acct_attrs.array_num_value(34) := p_source_87;
79636 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
79637 l_rec_acct_attrs.array_char_value(35) := p_source_88;
79638 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
79639 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_89);
79640 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
79641 l_rec_acct_attrs.array_char_value(37) := p_source_60;
79642 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
79643 l_rec_acct_attrs.array_num_value(38) := p_source_90;
79644 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
79645 l_rec_acct_attrs.array_num_value(39) := p_source_91;
79646 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
79647 l_rec_acct_attrs.array_num_value(40) := p_source_92;
79648 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
79649 l_rec_acct_attrs.array_num_value(41) := p_source_93;
79650 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
79651 l_rec_acct_attrs.array_num_value(42) := p_source_94;
79652 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
79653 l_rec_acct_attrs.array_num_value(43) := p_source_95;
79654
79655 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
79656 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
79657
79658 ---------------------------------------------------------------------------------------------------------------
79659 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
79660 ---------------------------------------------------------------------------------------------------------------
79661 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
79662
79663 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
79664 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
79665
79666 IF xla_accounting_cache_pkg.GetValueChar
79667 (p_source_code => 'LEDGER_CATEGORY_CODE'
79668 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
79669 AND l_bflow_method_code = 'PRIOR_ENTRY'
79670 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
79671 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
79672 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
79673 )
79674 THEN
79675 xla_ae_lines_pkg.BflowUpgEntry
79676 (p_business_method_code => l_bflow_method_code
79677 ,p_business_class_code => l_bflow_class_code
79678 ,p_balance_type => l_balance_type_code);
79679 ELSE
79680 NULL;
79681 -- No business flow processing for business flow method of NONE.
79682 END IF;
79683
79684 --
79685 -- call analytical criteria
79686 --
79687
79688 --
79689 -- call description
79690 --
79691
79692 xla_ae_lines_pkg.SetLineDescription(
79693 p_ae_header_id => l_ae_header_id
79694 ,p_description => Description_2 (
79695 p_application_id => p_application_id
79696 , p_ae_header_id => l_ae_header_id
79697 , p_source_1 => p_source_1
79698 )
79699 );
79700
79701
79702 --
79703 -- call ADRs
79704 -- Bug 4922099
79705 --
79706 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
79707 (NVL(l_actual_upg_option, 'N') = 'O') OR
79708 (NVL(l_enc_upg_option, 'N') = 'O')
79709 )
79710 THEN
79711 NULL;
79712 --
79713 --
79714
79715 l_ccid := AcctDerRule_35(
79716 p_application_id => p_application_id
79717 , p_ae_header_id => l_ae_header_id
79718 , p_source_25 => p_source_25
79719 , x_transaction_coa_id => l_adr_transaction_coa_id
79720 , x_accounting_coa_id => l_adr_accounting_coa_id
79721 , x_value_type_code => l_adr_value_type_code
79722 , p_side => 'NA'
79723 );
79724
79725 xla_ae_lines_pkg.set_ccid(
79726 p_code_combination_id => l_ccid
79727 , p_value_type_code => l_adr_value_type_code
79728 , p_transaction_coa_id => l_adr_transaction_coa_id
79732 , p_component_type => l_component_type
79729 , p_accounting_coa_id => l_adr_accounting_coa_id
79730 , p_adr_code => 'AP_INVOICE_DIST'
79731 , p_adr_type_code => 'S'
79733 , p_component_code => l_component_code
79734 , p_component_type_code => l_component_type_code
79735 , p_component_appl_id => l_component_appl_id
79736 , p_amb_context_code => l_amb_context_code
79737 , p_side => 'NA'
79738 );
79739
79740
79741 --
79742 --
79743 END IF;
79744 --
79745 -- Bug 4922099
79746 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
79747 (NVL(l_enc_upg_option, 'N') = 'O')
79748 ) AND
79749 (l_bflow_method_code = 'PRIOR_ENTRY')
79750 )
79751 THEN
79752 IF
79753 --
79754 1 = 2
79755 --
79756 THEN
79757 xla_accounting_err_pkg.build_message
79758 (p_appli_s_name => 'XLA'
79759 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
79760 ,p_token_1 => 'LINE_NUMBER'
79761 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
79762 ,p_token_2 => 'LINE_TYPE_NAME'
79763 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
79764 l_component_type
79765 ,l_component_code
79766 ,l_component_type_code
79767 ,l_component_appl_id
79768 ,l_amb_context_code
79769 ,l_entity_code
79770 ,l_event_class_code
79771 )
79772 ,p_token_3 => 'OWNER'
79773 ,p_value_3 => xla_lookups_pkg.get_meaning(
79774 p_lookup_type => 'XLA_OWNER_TYPE'
79775 ,p_lookup_code => l_component_type_code
79776 )
79777 ,p_token_4 => 'PRODUCT_NAME'
79778 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
79779 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
79780 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
79781 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
79782 ,p_ae_header_id => NULL
79783 );
79784
79785 IF (C_LEVEL_ERROR>= g_log_level) THEN
79786 trace
79787 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
79788 ,p_level => C_LEVEL_ERROR
79789 ,p_module => l_log_module);
79790 END IF;
79791 END IF;
79792 END IF;
79793 --
79794 --
79795 ------------------------------------------------------------------------------------------------
79796 -- 4219869 Business Flow
79797 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
79798 -- Prior Entry. Currently, the following code is always generated.
79799 ------------------------------------------------------------------------------------------------
79800 XLA_AE_LINES_PKG.ValidateCurrentLine;
79801
79802 ------------------------------------------------------------------------------------
79803 -- 4219869 Business Flow
79804 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
79805 ------------------------------------------------------------------------------------
79806 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
79807
79808 ----------------------------------------------------------------------------------
79809 -- 4219869 Business Flow
79810 -- Update journal entry status -- Need to generate this within IF <condition>
79811 ----------------------------------------------------------------------------------
79812 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
79813 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
79814 ,p_balance_type_code => l_balance_type_code
79815 );
79816
79817 -------------------------------------------------------------------------------------------
79818 -- 4262811 - Generate the Accrual Reversal lines
79819 -------------------------------------------------------------------------------------------
79820 BEGIN
79821 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
79822 (g_array_event(p_event_id).array_value_num('header_index'));
79826 EXCEPTION
79823 IF l_acc_rev_flag IS NULL THEN
79824 l_acc_rev_flag := 'N';
79825 END IF;
79827 WHEN OTHERS THEN
79828 l_acc_rev_flag := 'N';
79829 END;
79830 --
79831 IF (l_acc_rev_flag = 'Y') THEN
79832
79833 -- 4645092 ------------------------------------------------------------------------------
79834 -- To allow MPA report to determine if it should generate report process
79835 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
79836 ------------------------------------------------------------------------------------------
79837
79838 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
79839 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
79840 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
79841 -- call ADRs
79842 -- Bug 4922099
79843 --
79844 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
79845 (NVL(l_actual_upg_option, 'N') = 'O') OR
79846 (NVL(l_enc_upg_option, 'N') = 'O')
79847 )
79848 THEN
79849 NULL;
79850 --
79851 --
79852
79853 l_ccid := AcctDerRule_35(
79854 p_application_id => p_application_id
79855 , p_ae_header_id => l_ae_header_id
79856 , p_source_25 => p_source_25
79857 , x_transaction_coa_id => l_adr_transaction_coa_id
79858 , x_accounting_coa_id => l_adr_accounting_coa_id
79859 , x_value_type_code => l_adr_value_type_code
79860 , p_side => 'NA'
79861 );
79862
79863 xla_ae_lines_pkg.set_ccid(
79864 p_code_combination_id => l_ccid
79865 , p_value_type_code => l_adr_value_type_code
79866 , p_transaction_coa_id => l_adr_transaction_coa_id
79867 , p_accounting_coa_id => l_adr_accounting_coa_id
79868 , p_adr_code => 'AP_INVOICE_DIST'
79869 , p_adr_type_code => 'S'
79870 , p_component_type => l_component_type
79871 , p_component_code => l_component_code
79872 , p_component_type_code => l_component_type_code
79873 , p_component_appl_id => l_component_appl_id
79874 , p_amb_context_code => l_amb_context_code
79875 , p_side => 'NA'
79876 );
79877
79878
79879 --
79880 --
79881 END IF;
79882
79883 --
79884 -- Update the line information that should be overwritten
79885 --
79886 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
79887 p_header_num => 1);
79888 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
79889
79890 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
79891
79892 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
79893 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
79894 END IF;
79895
79896 --
79897 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
79898 --
79899 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
79900 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
79901 ELSE
79902 ---------------------------------------------------------------------------------------------------
79903 -- 4262811a Switch Sign
79904 ---------------------------------------------------------------------------------------------------
79905 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
79906 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
79907 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
79908 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
79909 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
79910 -- 5132302
79911 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
79912 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
79913
79914 END IF;
79915
79916 -- 4955764
79917 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
79918 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
79919
79920
79921 XLA_AE_LINES_PKG.ValidateCurrentLine;
79922 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
79923
79924 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
79925 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
79926 ,p_balance_type_code => l_balance_type_code);
79927
79928 END IF;
79929
79930 -----------------------------------------------------------------------------------------
79931 -- 4262811 Multiperiod Accounting
79932 -----------------------------------------------------------------------------------------
79933 -- No MPA option is assigned.
79934
79935
79936 END IF;
79940 --
79937 END IF;
79938 --
79939
79941 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
79942 trace
79943 (p_msg => 'END of AcctLineType_151'
79944 ,p_level => C_LEVEL_PROCEDURE
79945 ,p_module => l_log_module);
79946 END IF;
79947 --
79948 EXCEPTION
79949 WHEN xla_exceptions_pkg.application_exception THEN
79950 RAISE;
79951 WHEN OTHERS THEN
79952 xla_exceptions_pkg.raise_message
79953 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_151');
79954 END AcctLineType_151;
79955 --
79956
79957 ---------------------------------------
79958 --
79959 -- PRIVATE FUNCTION
79960 -- AcctLineType_152
79961 --
79962 ---------------------------------------
79963 PROCEDURE AcctLineType_152 (
79964 p_application_id IN NUMBER
79965 ,p_event_id IN NUMBER
79966 ,p_calculate_acctd_flag IN VARCHAR2
79967 ,p_calculate_g_l_flag IN VARCHAR2
79968 ,p_actual_flag IN OUT VARCHAR2
79969 ,p_balance_type_code OUT VARCHAR2
79970 ,p_gain_or_loss_ref OUT VARCHAR2
79971
79972 --Invoice Distribution Description
79973 , p_source_1 IN VARCHAR2
79974 --Invoice Distribution Ledger Amount
79975 , p_source_16 IN NUMBER
79976 --Invoice Distribution Account
79977 , p_source_25 IN NUMBER
79978 --Invoice Distribution Type
79979 , p_source_28 IN VARCHAR2
79980 , p_source_28_meaning IN VARCHAR2
79981 --Accrue on Receipt Option
79982 , p_source_54 IN VARCHAR2
79983 , p_source_54_meaning IN VARCHAR2
79984 --Accounting Reversal Indicator
79985 , p_source_58 IN VARCHAR2
79986 --Distribution Link Type
79987 , p_source_60 IN VARCHAR2
79988 --Allocation to Main Distribution Identifier
79989 , p_source_62 IN NUMBER
79990 --Invoice Identifier
79991 , p_source_63 IN NUMBER
79992 --Invoice Distribution Identifier
79993 , p_source_69 IN NUMBER
79994 --Payables Encumbrance Upgrade Credit Account
79995 , p_source_70 IN NUMBER
79996 --Payables Encumbrance Upgrade Credit Amount
79997 , p_source_71 IN NUMBER
79998 --Invoice Currency Code
79999 , p_source_72 IN VARCHAR2
80000 --Payables Encumbrance Upgrade Credit Base Amount
80001 , p_source_73 IN NUMBER
80002 --Payables Encumbrance Upgrade Debit Account
80003 , p_source_74 IN NUMBER
80004 --Payables Encumbrance Upgrade Debit Amount
80005 , p_source_75 IN NUMBER
80006 --Payables Encumbrance Upgrade Debit Base Amount
80007 , p_source_76 IN NUMBER
80008 --Payables Encumbrance Upgrade Option
80009 , p_source_77 IN VARCHAR2
80010 --Invoice Distribution Amount
80011 , p_source_78 IN NUMBER
80012 --Deferred Accounting End Date
80013 , p_source_82 IN DATE
80014 --Deferred Accounting Option
80015 , p_source_83 IN VARCHAR2
80016 --Deferred Accounting Start Date
80017 , p_source_84 IN DATE
80018 --Override Accounted Amount Indicator
80019 , p_source_85 IN VARCHAR2
80020 , p_source_85_meaning IN VARCHAR2
80021 --Invoice Supplier Identifier
80022 , p_source_86 IN NUMBER
80023 --Invoice Supplier Site Identifier
80024 , p_source_87 IN NUMBER
80025 --Third Party Type
80026 , p_source_88 IN VARCHAR2
80027 --Parent Reversal Identifier
80028 , p_source_89 IN NUMBER
80029 --Invoice Distribution Tax Line Identifier
80030 , p_source_91 IN NUMBER
80031 --Invoice Distribution Tax Distribution Identifier from Tax
80032 , p_source_92 IN NUMBER
80033 --Invoice Distribution Summary Tax Line Identifier
80034 , p_source_93 IN NUMBER
80035 --Payables Upgrade Credit Encumbrance Type Identifier
80036 , p_source_94 IN NUMBER
80037 --Payables Upgrade Debit Encumbrance Type Identifier
80038 , p_source_95 IN NUMBER
80039 --Business Flow Accounts Payable Application Identifier
80040 , p_source_96 IN NUMBER
80041 --Business Flow Invoice Distribution Type
80042 , p_source_97 IN VARCHAR2
80043 --Business Flow Invoice Entity Code
80044 , p_source_98 IN VARCHAR2
80045 --Business Flow Invoice Distribution Identifier
80046 , p_source_99 IN NUMBER
80047 --Business Flow Invoice Identifier
80048 , p_source_100 IN NUMBER
80049 --Invoice Exchange Date
80050 , p_source_146 IN DATE
80051 --Invoice Exchange Rate
80052 , p_source_147 IN NUMBER
80053 --Invoice Exchange Rate Type
80054 , p_source_148 IN VARCHAR2
80055 )
80056 IS
80057
80058 l_component_type VARCHAR2(80);
80059 l_component_code VARCHAR2(30);
80060 l_component_type_code VARCHAR2(1);
80061 l_component_appl_id INTEGER;
80062 l_amb_context_code VARCHAR2(30);
80063 l_entity_code VARCHAR2(30);
80064 l_event_class_code VARCHAR2(30);
80065 l_ae_header_id NUMBER;
80066 l_event_type_code VARCHAR2(30);
80067 l_line_definition_code VARCHAR2(30);
80068 l_line_definition_owner_code VARCHAR2(1);
80069 --
80070 -- adr variables
80071 l_segment VARCHAR2(30);
80072 l_ccid NUMBER;
80076 l_adr_flex_value_set_id NUMBER;
80073 l_adr_transaction_coa_id NUMBER;
80074 l_adr_accounting_coa_id NUMBER;
80075 l_adr_flexfield_segment_code VARCHAR2(30);
80077 l_adr_value_type_code VARCHAR2(30);
80078 l_adr_value_combination_id NUMBER;
80079 l_adr_value_segment_code VARCHAR2(30);
80080
80081 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
80082 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
80083 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
80084 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
80085
80086 -- 4262811 Variables ------------------------------------------------------------------------------------------
80087 l_entered_amt_idx NUMBER;
80088 l_accted_amt_idx NUMBER;
80089 l_acc_rev_flag VARCHAR2(1);
80090 l_accrual_line_num NUMBER;
80091 l_tmp_amt NUMBER;
80092 l_acc_rev_natural_side_code VARCHAR2(1);
80093
80094 l_num_entries NUMBER;
80095 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
80096 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
80097 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
80098 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
80099 l_recog_line_1 NUMBER;
80100 l_recog_line_2 NUMBER;
80101
80102 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
80103 l_bflow_applied_to_amt NUMBER; -- 5132302
80104 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
80105
80106 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
80107
80108 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
80109 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
80110
80111 ---------------------------------------------------------------------------------------------------------------
80112
80113
80114 --
80115 -- bulk performance
80116 --
80117 l_balance_type_code VARCHAR2(1);
80118 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
80119 l_log_module VARCHAR2(240);
80120
80121 --
80122 -- Upgrade strategy
80123 --
80124 l_actual_upg_option VARCHAR2(1);
80125 l_enc_upg_option VARCHAR2(1);
80126
80127 --
80128 BEGIN
80129 --
80130 IF g_log_enabled THEN
80131 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_152';
80132 END IF;
80133 --
80134 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
80135
80136 trace
80137 (p_msg => 'BEGIN of AcctLineType_152'
80138 ,p_level => C_LEVEL_PROCEDURE
80139 ,p_module => l_log_module);
80140
80141 END IF;
80142 --
80143 l_component_type := 'AMB_JLT';
80144 l_component_code := 'AP_ITEM_EXPENSE_DM';
80145 l_component_type_code := 'S';
80146 l_component_appl_id := 200;
80147 l_amb_context_code := 'DEFAULT';
80148 l_entity_code := 'AP_INVOICES';
80149 l_event_class_code := 'DEBIT MEMOS';
80150 l_event_type_code := 'DEBIT MEMOS_ALL';
80151 l_line_definition_owner_code := 'S';
80152 l_line_definition_code := 'ACCRUAL_DEBIT MEMOS_ALL';
80153 --
80154 l_balance_type_code := 'A';
80155 l_segment := NULL;
80156 l_ccid := NULL;
80157 l_adr_transaction_coa_id := NULL;
80158 l_adr_accounting_coa_id := NULL;
80159 l_adr_flexfield_segment_code := NULL;
80160 l_adr_flex_value_set_id := NULL;
80161 l_adr_value_type_code := NULL;
80162 l_adr_value_combination_id := NULL;
80163 l_adr_value_segment_code := NULL;
80164
80165 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
80166 l_bflow_class_code := ''; -- 4219869 Business Flow
80167 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
80168 l_budgetary_control_flag := 'N';
80169
80170 l_bflow_applied_to_amt_idx := NULL; -- 5132302
80171 l_bflow_applied_to_amt := NULL; -- 5132302
80172 l_entered_amt_idx := NULL; -- 4262811
80173 l_accted_amt_idx := NULL; -- 4262811
80174 l_acc_rev_flag := NULL; -- 4262811
80175 l_accrual_line_num := NULL; -- 4262811
80176 l_tmp_amt := NULL; -- 4262811
80177 --
80178
80179 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
80180 l_balance_type_code <> 'B' THEN
80181 IF NVL(p_source_28,'
80182 ') = 'RETROEXPENSE' OR
80183 NVL(p_source_28,'
80184 ') = 'ITEM' OR
80185 (NVL(p_source_28,'
80186 ') = 'ERV' AND
80187 NVL(p_source_54,'
80188 ') <> 'Y') OR
80189 (NVL(p_source_28,'
80190 ') = 'IPV' AND
80191 NVL(p_source_54,'
80192 ') <> 'Y')
80193 THEN
80194
80195 --
80196 XLA_AE_LINES_PKG.SetNewLine;
80197
80198 p_balance_type_code := l_balance_type_code;
80199 -- set the flag so later we will know whether the gain loss line needs to be created
80200
80201 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
80202 p_actual_flag :='A';
80203 END IF;
80204
80205 --
80206 -- bulk performance
80207 --
80211 -- set accounting line options
80208 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
80209 p_header_num => 0); -- 4262811
80210 --
80212 --
80213 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
80214 p_natural_side_code => 'D'
80215 , p_gain_or_loss_flag => 'N'
80216 , p_gl_transfer_mode_code => 'S'
80217 , p_acct_entry_type_code => 'A'
80218 , p_switch_side_flag => 'Y'
80219 , p_merge_duplicate_code => 'A'
80220 );
80221 --
80222 l_acc_rev_natural_side_code := 'C'; -- 4262811
80223 --
80224 --
80225 -- set accounting line type info
80226 --
80227 xla_ae_lines_pkg.SetAcctLineType
80228 (p_component_type => l_component_type
80229 ,p_event_type_code => l_event_type_code
80230 ,p_line_definition_owner_code => l_line_definition_owner_code
80231 ,p_line_definition_code => l_line_definition_code
80232 ,p_accounting_line_code => l_component_code
80233 ,p_accounting_line_type_code => l_component_type_code
80234 ,p_accounting_line_appl_id => l_component_appl_id
80235 ,p_amb_context_code => l_amb_context_code
80236 ,p_entity_code => l_entity_code
80237 ,p_event_class_code => l_event_class_code);
80238 --
80239 -- set accounting class
80240 --
80241 xla_ae_lines_pkg.SetAcctClass(
80242 p_accounting_class_code => 'ITEM EXPENSE'
80243 , p_ae_header_id => l_ae_header_id
80244 );
80245
80246 --
80247 -- set rounding class
80248 --
80249 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
80250 'ITEM EXPENSE';
80251
80252 --
80253 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
80254 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
80255 --
80256 -- bulk performance
80257 --
80258 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
80259
80260 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
80261 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
80262
80263 -- 4955764
80264 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
80265 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
80266
80267 -- 4458381 Public Sector Enh
80268
80269 --
80270 -- set accounting attributes for the line type
80271 --
80272 l_entered_amt_idx := 23;
80273 l_accted_amt_idx := 28;
80274 l_bflow_applied_to_amt_idx := NULL; -- 5132302
80275 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
80276 l_rec_acct_attrs.array_char_value(1) := p_source_58;
80277 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
80278 l_rec_acct_attrs.array_num_value(2) :=
80279 xla_ae_sources_pkg.GetSystemSourceNum(
80280 p_source_code => 'XLA_EVENT_APPL_ID'
80281 , p_source_type_code => 'Y'
80282 , p_source_application_id => 602
80283 );
80284 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
80285 l_rec_acct_attrs.array_char_value(3) := p_source_60;
80286 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
80287 l_rec_acct_attrs.array_char_value(4) :=
80288 xla_ae_sources_pkg.GetSystemSourceChar(
80289 p_source_code => 'XLA_ENTITY_CODE'
80290 , p_source_type_code => 'Y'
80291 , p_source_application_id => 602
80292 );
80293 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
80294 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_62);
80295 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
80296 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_63);
80297 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
80298 l_rec_acct_attrs.array_num_value(7) := p_source_96;
80299 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
80300 l_rec_acct_attrs.array_char_value(8) := p_source_97;
80301 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
80302 l_rec_acct_attrs.array_char_value(9) := p_source_98;
80303 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
80304 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_99);
80305 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
80306 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_100);
80307 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
80308 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_69);
80309 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
80310 l_rec_acct_attrs.array_char_value(13) := p_source_60;
80311 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
80312 l_rec_acct_attrs.array_num_value(14) := p_source_70;
80313 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
80314 l_rec_acct_attrs.array_num_value(15) := p_source_71;
80315 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
80316 l_rec_acct_attrs.array_char_value(16) := p_source_72;
80320 l_rec_acct_attrs.array_num_value(18) := p_source_74;
80317 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
80318 l_rec_acct_attrs.array_num_value(17) := p_source_73;
80319 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
80321 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
80322 l_rec_acct_attrs.array_num_value(19) := p_source_75;
80323 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
80324 l_rec_acct_attrs.array_char_value(20) := p_source_72;
80325 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
80326 l_rec_acct_attrs.array_num_value(21) := p_source_76;
80327 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
80328 l_rec_acct_attrs.array_char_value(22) := p_source_77;
80329 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
80330 l_rec_acct_attrs.array_num_value(23) := p_source_78;
80331 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
80332 l_rec_acct_attrs.array_char_value(24) := p_source_72;
80333 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
80334 l_rec_acct_attrs.array_date_value(25) := p_source_146;
80335 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
80336 l_rec_acct_attrs.array_num_value(26) := p_source_147;
80337 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
80338 l_rec_acct_attrs.array_char_value(27) := p_source_148;
80339 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
80340 l_rec_acct_attrs.array_num_value(28) := p_source_16;
80341 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
80342 l_rec_acct_attrs.array_date_value(29) := p_source_82;
80343 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
80344 l_rec_acct_attrs.array_char_value(30) := p_source_83;
80345 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
80346 l_rec_acct_attrs.array_date_value(31) := p_source_84;
80347 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
80348 l_rec_acct_attrs.array_char_value(32) := p_source_85;
80349 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
80350 l_rec_acct_attrs.array_num_value(33) := p_source_86;
80351 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
80352 l_rec_acct_attrs.array_num_value(34) := p_source_87;
80353 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
80354 l_rec_acct_attrs.array_char_value(35) := p_source_88;
80355 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
80356 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_89);
80357 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
80358 l_rec_acct_attrs.array_char_value(37) := p_source_60;
80359 l_rec_acct_attrs.array_acct_attr_code(38) := 'TAX_LINE_REF_ID';
80360 l_rec_acct_attrs.array_num_value(38) := p_source_91;
80361 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_REC_NREC_DIST_REF_ID';
80362 l_rec_acct_attrs.array_num_value(39) := p_source_92;
80363 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_SUMMARY_LINE_REF_ID';
80364 l_rec_acct_attrs.array_num_value(40) := p_source_93;
80365 l_rec_acct_attrs.array_acct_attr_code(41) := 'UPG_CR_ENC_TYPE_ID';
80366 l_rec_acct_attrs.array_num_value(41) := p_source_94;
80367 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_DR_ENC_TYPE_ID';
80368 l_rec_acct_attrs.array_num_value(42) := p_source_95;
80369
80370 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
80371 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
80372
80373 ---------------------------------------------------------------------------------------------------------------
80374 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
80375 ---------------------------------------------------------------------------------------------------------------
80376 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
80377
80378 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
80379 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
80380
80381 IF xla_accounting_cache_pkg.GetValueChar
80382 (p_source_code => 'LEDGER_CATEGORY_CODE'
80383 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
80384 AND l_bflow_method_code = 'PRIOR_ENTRY'
80385 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
80386 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
80387 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
80388 )
80389 THEN
80390 xla_ae_lines_pkg.BflowUpgEntry
80391 (p_business_method_code => l_bflow_method_code
80392 ,p_business_class_code => l_bflow_class_code
80393 ,p_balance_type => l_balance_type_code);
80394 ELSE
80395 NULL;
80396 -- No business flow processing for business flow method of NONE.
80397 END IF;
80398
80399 --
80400 -- call analytical criteria
80401 --
80402
80403 --
80404 -- call description
80405 --
80406
80407 xla_ae_lines_pkg.SetLineDescription(
80408 p_ae_header_id => l_ae_header_id
80409 ,p_description => Description_2 (
80410 p_application_id => p_application_id
80411 , p_ae_header_id => l_ae_header_id
80412 , p_source_1 => p_source_1
80413 )
80414 );
80415
80416
80420 --
80417 --
80418 -- call ADRs
80419 -- Bug 4922099
80421 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
80422 (NVL(l_actual_upg_option, 'N') = 'O') OR
80423 (NVL(l_enc_upg_option, 'N') = 'O')
80424 )
80425 THEN
80426 NULL;
80427 --
80428 --
80429
80430 l_ccid := AcctDerRule_35(
80431 p_application_id => p_application_id
80432 , p_ae_header_id => l_ae_header_id
80433 , p_source_25 => p_source_25
80434 , x_transaction_coa_id => l_adr_transaction_coa_id
80435 , x_accounting_coa_id => l_adr_accounting_coa_id
80436 , x_value_type_code => l_adr_value_type_code
80437 , p_side => 'NA'
80438 );
80439
80440 xla_ae_lines_pkg.set_ccid(
80441 p_code_combination_id => l_ccid
80442 , p_value_type_code => l_adr_value_type_code
80443 , p_transaction_coa_id => l_adr_transaction_coa_id
80444 , p_accounting_coa_id => l_adr_accounting_coa_id
80445 , p_adr_code => 'AP_INVOICE_DIST'
80446 , p_adr_type_code => 'S'
80447 , p_component_type => l_component_type
80448 , p_component_code => l_component_code
80449 , p_component_type_code => l_component_type_code
80450 , p_component_appl_id => l_component_appl_id
80451 , p_amb_context_code => l_amb_context_code
80452 , p_side => 'NA'
80453 );
80454
80455
80456 --
80457 --
80458 END IF;
80459 --
80460 -- Bug 4922099
80461 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
80462 (NVL(l_enc_upg_option, 'N') = 'O')
80463 ) AND
80464 (l_bflow_method_code = 'PRIOR_ENTRY')
80465 )
80466 THEN
80467 IF
80468 --
80469 1 = 2
80470 --
80471 THEN
80472 xla_accounting_err_pkg.build_message
80473 (p_appli_s_name => 'XLA'
80474 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
80475 ,p_token_1 => 'LINE_NUMBER'
80476 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
80477 ,p_token_2 => 'LINE_TYPE_NAME'
80478 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
80479 l_component_type
80480 ,l_component_code
80481 ,l_component_type_code
80482 ,l_component_appl_id
80483 ,l_amb_context_code
80484 ,l_entity_code
80485 ,l_event_class_code
80486 )
80487 ,p_token_3 => 'OWNER'
80488 ,p_value_3 => xla_lookups_pkg.get_meaning(
80489 p_lookup_type => 'XLA_OWNER_TYPE'
80490 ,p_lookup_code => l_component_type_code
80491 )
80492 ,p_token_4 => 'PRODUCT_NAME'
80493 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
80494 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
80495 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
80496 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
80497 ,p_ae_header_id => NULL
80498 );
80499
80500 IF (C_LEVEL_ERROR>= g_log_level) THEN
80501 trace
80502 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
80503 ,p_level => C_LEVEL_ERROR
80504 ,p_module => l_log_module);
80505 END IF;
80506 END IF;
80507 END IF;
80508 --
80509 --
80510 ------------------------------------------------------------------------------------------------
80511 -- 4219869 Business Flow
80512 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
80513 -- Prior Entry. Currently, the following code is always generated.
80514 ------------------------------------------------------------------------------------------------
80515 XLA_AE_LINES_PKG.ValidateCurrentLine;
80516
80517 ------------------------------------------------------------------------------------
80518 -- 4219869 Business Flow
80519 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
80523 ----------------------------------------------------------------------------------
80520 ------------------------------------------------------------------------------------
80521 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
80522
80524 -- 4219869 Business Flow
80525 -- Update journal entry status -- Need to generate this within IF <condition>
80526 ----------------------------------------------------------------------------------
80527 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
80528 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
80529 ,p_balance_type_code => l_balance_type_code
80530 );
80531
80532 -------------------------------------------------------------------------------------------
80533 -- 4262811 - Generate the Accrual Reversal lines
80534 -------------------------------------------------------------------------------------------
80535 BEGIN
80536 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
80537 (g_array_event(p_event_id).array_value_num('header_index'));
80538 IF l_acc_rev_flag IS NULL THEN
80539 l_acc_rev_flag := 'N';
80540 END IF;
80541 EXCEPTION
80542 WHEN OTHERS THEN
80543 l_acc_rev_flag := 'N';
80544 END;
80545 --
80546 IF (l_acc_rev_flag = 'Y') THEN
80547
80548 -- 4645092 ------------------------------------------------------------------------------
80549 -- To allow MPA report to determine if it should generate report process
80550 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
80551 ------------------------------------------------------------------------------------------
80552
80553 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
80554 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
80555 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
80556 -- call ADRs
80557 -- Bug 4922099
80558 --
80559 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
80560 (NVL(l_actual_upg_option, 'N') = 'O') OR
80561 (NVL(l_enc_upg_option, 'N') = 'O')
80562 )
80563 THEN
80564 NULL;
80565 --
80566 --
80567
80568 l_ccid := AcctDerRule_35(
80569 p_application_id => p_application_id
80570 , p_ae_header_id => l_ae_header_id
80571 , p_source_25 => p_source_25
80572 , x_transaction_coa_id => l_adr_transaction_coa_id
80573 , x_accounting_coa_id => l_adr_accounting_coa_id
80574 , x_value_type_code => l_adr_value_type_code
80575 , p_side => 'NA'
80576 );
80577
80578 xla_ae_lines_pkg.set_ccid(
80579 p_code_combination_id => l_ccid
80580 , p_value_type_code => l_adr_value_type_code
80581 , p_transaction_coa_id => l_adr_transaction_coa_id
80582 , p_accounting_coa_id => l_adr_accounting_coa_id
80583 , p_adr_code => 'AP_INVOICE_DIST'
80584 , p_adr_type_code => 'S'
80585 , p_component_type => l_component_type
80586 , p_component_code => l_component_code
80587 , p_component_type_code => l_component_type_code
80588 , p_component_appl_id => l_component_appl_id
80589 , p_amb_context_code => l_amb_context_code
80590 , p_side => 'NA'
80591 );
80592
80593
80594 --
80595 --
80596 END IF;
80597
80598 --
80599 -- Update the line information that should be overwritten
80600 --
80601 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
80602 p_header_num => 1);
80603 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
80604
80605 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
80606
80607 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
80608 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
80609 END IF;
80610
80611 --
80612 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
80613 --
80614 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
80615 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
80616 ELSE
80617 ---------------------------------------------------------------------------------------------------
80618 -- 4262811a Switch Sign
80619 ---------------------------------------------------------------------------------------------------
80620 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
80621 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
80622 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
80623 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
80624 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
80625 -- 5132302
80626 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
80630
80627 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
80628
80629 END IF;
80631 -- 4955764
80632 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
80633 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
80634
80635
80636 XLA_AE_LINES_PKG.ValidateCurrentLine;
80637 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
80638
80639 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
80640 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
80641 ,p_balance_type_code => l_balance_type_code);
80642
80643 END IF;
80644
80645 -----------------------------------------------------------------------------------------
80646 -- 4262811 Multiperiod Accounting
80647 -----------------------------------------------------------------------------------------
80648 -- No MPA option is assigned.
80649
80650
80651 END IF;
80652 END IF;
80653 --
80654
80655 --
80656 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
80657 trace
80658 (p_msg => 'END of AcctLineType_152'
80659 ,p_level => C_LEVEL_PROCEDURE
80660 ,p_module => l_log_module);
80661 END IF;
80662 --
80663 EXCEPTION
80664 WHEN xla_exceptions_pkg.application_exception THEN
80665 RAISE;
80666 WHEN OTHERS THEN
80667 xla_exceptions_pkg.raise_message
80668 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_152');
80669 END AcctLineType_152;
80670 --
80671
80672 ---------------------------------------
80673 --
80674 -- PRIVATE FUNCTION
80675 -- AcctLineType_153
80676 --
80677 ---------------------------------------
80678 PROCEDURE AcctLineType_153 (
80679 p_application_id IN NUMBER
80680 ,p_event_id IN NUMBER
80681 ,p_calculate_acctd_flag IN VARCHAR2
80682 ,p_calculate_g_l_flag IN VARCHAR2
80683 ,p_actual_flag IN OUT VARCHAR2
80684 ,p_balance_type_code OUT VARCHAR2
80685 ,p_gain_or_loss_ref OUT VARCHAR2
80686
80687 --Invoice Distribution Description
80688 , p_source_1 IN VARCHAR2
80689 --Invoice Distribution Ledger Amount
80690 , p_source_16 IN NUMBER
80691 --Invoice Distribution Account
80692 , p_source_25 IN NUMBER
80693 --Invoice Distribution Type
80694 , p_source_28 IN VARCHAR2
80695 , p_source_28_meaning IN VARCHAR2
80696 --Accrue on Receipt Option
80697 , p_source_54 IN VARCHAR2
80698 , p_source_54_meaning IN VARCHAR2
80699 --Accounting Reversal Indicator
80700 , p_source_58 IN VARCHAR2
80701 --Distribution Link Type
80702 , p_source_60 IN VARCHAR2
80703 --Allocation to Main Distribution Identifier
80704 , p_source_62 IN NUMBER
80705 --Invoice Identifier
80706 , p_source_63 IN NUMBER
80707 --Invoice Distribution Identifier
80708 , p_source_69 IN NUMBER
80709 --Payables Encumbrance Upgrade Credit Account
80710 , p_source_70 IN NUMBER
80711 --Payables Encumbrance Upgrade Credit Amount
80712 , p_source_71 IN NUMBER
80713 --Invoice Currency Code
80714 , p_source_72 IN VARCHAR2
80715 --Payables Encumbrance Upgrade Credit Base Amount
80716 , p_source_73 IN NUMBER
80717 --Payables Encumbrance Upgrade Debit Account
80718 , p_source_74 IN NUMBER
80719 --Payables Encumbrance Upgrade Debit Amount
80720 , p_source_75 IN NUMBER
80721 --Payables Encumbrance Upgrade Debit Base Amount
80722 , p_source_76 IN NUMBER
80723 --Payables Encumbrance Upgrade Option
80724 , p_source_77 IN VARCHAR2
80725 --Invoice Distribution Amount
80726 , p_source_78 IN NUMBER
80727 --Deferred Accounting End Date
80728 , p_source_82 IN DATE
80729 --Deferred Accounting Option
80730 , p_source_83 IN VARCHAR2
80731 --Deferred Accounting Start Date
80732 , p_source_84 IN DATE
80733 --Override Accounted Amount Indicator
80734 , p_source_85 IN VARCHAR2
80735 , p_source_85_meaning IN VARCHAR2
80736 --Invoice Supplier Identifier
80737 , p_source_86 IN NUMBER
80738 --Invoice Supplier Site Identifier
80739 , p_source_87 IN NUMBER
80740 --Third Party Type
80741 , p_source_88 IN VARCHAR2
80742 --Parent Reversal Identifier
80743 , p_source_89 IN NUMBER
80744 --Invoice Distribution Statistical Amount
80745 , p_source_90 IN NUMBER
80746 --Invoice Distribution Tax Line Identifier
80747 , p_source_91 IN NUMBER
80748 --Invoice Distribution Tax Distribution Identifier from Tax
80749 , p_source_92 IN NUMBER
80750 --Invoice Distribution Summary Tax Line Identifier
80751 , p_source_93 IN NUMBER
80752 --Payables Upgrade Credit Encumbrance Type Identifier
80753 , p_source_94 IN NUMBER
80754 --Payables Upgrade Debit Encumbrance Type Identifier
80755 , p_source_95 IN NUMBER
80756 --Business Flow Accounts Payable Application Identifier
80757 , p_source_96 IN NUMBER
80758 --Business Flow Invoice Distribution Type
80759 , p_source_97 IN VARCHAR2
80760 --Business Flow Invoice Entity Code
80761 , p_source_98 IN VARCHAR2
80765 , p_source_100 IN NUMBER
80762 --Business Flow Invoice Distribution Identifier
80763 , p_source_99 IN NUMBER
80764 --Business Flow Invoice Identifier
80766 --Invoice Exchange Date
80767 , p_source_146 IN DATE
80768 --Invoice Exchange Rate
80769 , p_source_147 IN NUMBER
80770 --Invoice Exchange Rate Type
80771 , p_source_148 IN VARCHAR2
80772 )
80773 IS
80774
80775 l_component_type VARCHAR2(80);
80776 l_component_code VARCHAR2(30);
80777 l_component_type_code VARCHAR2(1);
80778 l_component_appl_id INTEGER;
80779 l_amb_context_code VARCHAR2(30);
80780 l_entity_code VARCHAR2(30);
80781 l_event_class_code VARCHAR2(30);
80782 l_ae_header_id NUMBER;
80783 l_event_type_code VARCHAR2(30);
80784 l_line_definition_code VARCHAR2(30);
80785 l_line_definition_owner_code VARCHAR2(1);
80786 --
80787 -- adr variables
80788 l_segment VARCHAR2(30);
80789 l_ccid NUMBER;
80790 l_adr_transaction_coa_id NUMBER;
80791 l_adr_accounting_coa_id NUMBER;
80792 l_adr_flexfield_segment_code VARCHAR2(30);
80793 l_adr_flex_value_set_id NUMBER;
80794 l_adr_value_type_code VARCHAR2(30);
80795 l_adr_value_combination_id NUMBER;
80796 l_adr_value_segment_code VARCHAR2(30);
80797
80798 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
80799 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
80800 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
80801 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
80802
80803 -- 4262811 Variables ------------------------------------------------------------------------------------------
80804 l_entered_amt_idx NUMBER;
80805 l_accted_amt_idx NUMBER;
80806 l_acc_rev_flag VARCHAR2(1);
80807 l_accrual_line_num NUMBER;
80808 l_tmp_amt NUMBER;
80809 l_acc_rev_natural_side_code VARCHAR2(1);
80810
80811 l_num_entries NUMBER;
80812 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
80813 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
80814 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
80815 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
80816 l_recog_line_1 NUMBER;
80817 l_recog_line_2 NUMBER;
80818
80819 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
80820 l_bflow_applied_to_amt NUMBER; -- 5132302
80821 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
80822
80823 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
80824
80825 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
80826 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
80827
80828 ---------------------------------------------------------------------------------------------------------------
80829
80830
80831 --
80832 -- bulk performance
80833 --
80834 l_balance_type_code VARCHAR2(1);
80835 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
80836 l_log_module VARCHAR2(240);
80837
80838 --
80839 -- Upgrade strategy
80840 --
80841 l_actual_upg_option VARCHAR2(1);
80842 l_enc_upg_option VARCHAR2(1);
80843
80844 --
80845 BEGIN
80846 --
80847 IF g_log_enabled THEN
80848 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_153';
80849 END IF;
80850 --
80851 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
80852
80853 trace
80854 (p_msg => 'BEGIN of AcctLineType_153'
80855 ,p_level => C_LEVEL_PROCEDURE
80856 ,p_module => l_log_module);
80857
80858 END IF;
80859 --
80860 l_component_type := 'AMB_JLT';
80861 l_component_code := 'AP_ITEM_EXPENSE_INV';
80862 l_component_type_code := 'S';
80863 l_component_appl_id := 200;
80864 l_amb_context_code := 'DEFAULT';
80865 l_entity_code := 'AP_INVOICES';
80866 l_event_class_code := 'INVOICES';
80867 l_event_type_code := 'INVOICES_ALL';
80868 l_line_definition_owner_code := 'S';
80869 l_line_definition_code := 'ACCRUAL_INVOICES_ALL';
80870 --
80871 l_balance_type_code := 'A';
80872 l_segment := NULL;
80873 l_ccid := NULL;
80874 l_adr_transaction_coa_id := NULL;
80875 l_adr_accounting_coa_id := NULL;
80876 l_adr_flexfield_segment_code := NULL;
80877 l_adr_flex_value_set_id := NULL;
80878 l_adr_value_type_code := NULL;
80879 l_adr_value_combination_id := NULL;
80880 l_adr_value_segment_code := NULL;
80881
80882 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
80883 l_bflow_class_code := ''; -- 4219869 Business Flow
80884 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
80885 l_budgetary_control_flag := 'N';
80886
80887 l_bflow_applied_to_amt_idx := NULL; -- 5132302
80888 l_bflow_applied_to_amt := NULL; -- 5132302
80889 l_entered_amt_idx := NULL; -- 4262811
80890 l_accted_amt_idx := NULL; -- 4262811
80891 l_acc_rev_flag := NULL; -- 4262811
80895
80892 l_accrual_line_num := NULL; -- 4262811
80893 l_tmp_amt := NULL; -- 4262811
80894 --
80896 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
80897 l_balance_type_code <> 'B' THEN
80898 IF NVL(p_source_28,'
80899 ') = 'RETROEXPENSE' OR
80900 NVL(p_source_28,'
80901 ') = 'ITEM' OR
80902 (NVL(p_source_28,'
80903 ') = 'ERV' AND
80904 NVL(p_source_54,'
80905 ') <> 'Y') OR
80906 (NVL(p_source_28,'
80907 ') = 'IPV' AND
80908 NVL(p_source_54,'
80909 ') <> 'Y')
80910 THEN
80911
80912 --
80913 XLA_AE_LINES_PKG.SetNewLine;
80914
80915 p_balance_type_code := l_balance_type_code;
80916 -- set the flag so later we will know whether the gain loss line needs to be created
80917
80918 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
80919 p_actual_flag :='A';
80920 END IF;
80921
80922 --
80923 -- bulk performance
80924 --
80925 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
80926 p_header_num => 0); -- 4262811
80927 --
80928 -- set accounting line options
80929 --
80930 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
80931 p_natural_side_code => 'D'
80932 , p_gain_or_loss_flag => 'N'
80933 , p_gl_transfer_mode_code => 'S'
80934 , p_acct_entry_type_code => 'A'
80935 , p_switch_side_flag => 'Y'
80936 , p_merge_duplicate_code => 'A'
80937 );
80938 --
80939 l_acc_rev_natural_side_code := 'C'; -- 4262811
80940 --
80941 --
80942 -- set accounting line type info
80943 --
80944 xla_ae_lines_pkg.SetAcctLineType
80945 (p_component_type => l_component_type
80946 ,p_event_type_code => l_event_type_code
80947 ,p_line_definition_owner_code => l_line_definition_owner_code
80948 ,p_line_definition_code => l_line_definition_code
80949 ,p_accounting_line_code => l_component_code
80950 ,p_accounting_line_type_code => l_component_type_code
80951 ,p_accounting_line_appl_id => l_component_appl_id
80952 ,p_amb_context_code => l_amb_context_code
80953 ,p_entity_code => l_entity_code
80954 ,p_event_class_code => l_event_class_code);
80955 --
80956 -- set accounting class
80957 --
80958 xla_ae_lines_pkg.SetAcctClass(
80959 p_accounting_class_code => 'ITEM EXPENSE'
80960 , p_ae_header_id => l_ae_header_id
80961 );
80962
80963 --
80964 -- set rounding class
80965 --
80966 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
80967 'ITEM EXPENSE';
80968
80969 --
80970 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
80971 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
80972 --
80973 -- bulk performance
80974 --
80975 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
80976
80977 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
80978 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
80979
80980 -- 4955764
80981 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
80982 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
80983
80984 -- 4458381 Public Sector Enh
80985
80986 --
80987 -- set accounting attributes for the line type
80988 --
80989 l_entered_amt_idx := 24;
80990 l_accted_amt_idx := 29;
80991 l_bflow_applied_to_amt_idx := 7; -- 5132302
80992 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
80993 l_rec_acct_attrs.array_char_value(1) := p_source_58;
80994 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
80995 l_rec_acct_attrs.array_num_value(2) :=
80996 xla_ae_sources_pkg.GetSystemSourceNum(
80997 p_source_code => 'XLA_EVENT_APPL_ID'
80998 , p_source_type_code => 'Y'
80999 , p_source_application_id => 602
81000 );
81001 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
81002 l_rec_acct_attrs.array_char_value(3) := p_source_60;
81003 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
81004 l_rec_acct_attrs.array_char_value(4) :=
81005 xla_ae_sources_pkg.GetSystemSourceChar(
81006 p_source_code => 'XLA_ENTITY_CODE'
81007 , p_source_type_code => 'Y'
81008 , p_source_application_id => 602
81009 );
81010 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
81011 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_62);
81012 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
81013 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_63);
81014 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
81015 l_rec_acct_attrs.array_num_value(7) := p_source_78;
81016 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
81017 l_rec_acct_attrs.array_num_value(8) := p_source_96;
81021 l_rec_acct_attrs.array_char_value(10) := p_source_98;
81018 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
81019 l_rec_acct_attrs.array_char_value(9) := p_source_97;
81020 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
81022 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
81023 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_99);
81024 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
81025 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_100);
81026 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
81027 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_69);
81028 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
81029 l_rec_acct_attrs.array_char_value(14) := p_source_60;
81030 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
81031 l_rec_acct_attrs.array_num_value(15) := p_source_70;
81032 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
81033 l_rec_acct_attrs.array_num_value(16) := p_source_71;
81034 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
81035 l_rec_acct_attrs.array_char_value(17) := p_source_72;
81036 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
81037 l_rec_acct_attrs.array_num_value(18) := p_source_73;
81038 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
81039 l_rec_acct_attrs.array_num_value(19) := p_source_74;
81040 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
81041 l_rec_acct_attrs.array_num_value(20) := p_source_75;
81042 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
81043 l_rec_acct_attrs.array_char_value(21) := p_source_72;
81044 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
81045 l_rec_acct_attrs.array_num_value(22) := p_source_76;
81046 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
81047 l_rec_acct_attrs.array_char_value(23) := p_source_77;
81048 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_AMOUNT';
81049 l_rec_acct_attrs.array_num_value(24) := p_source_78;
81050 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_CODE';
81051 l_rec_acct_attrs.array_char_value(25) := p_source_72;
81052 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_DATE';
81053 l_rec_acct_attrs.array_date_value(26) := p_source_146;
81054 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE';
81055 l_rec_acct_attrs.array_num_value(27) := p_source_147;
81056 l_rec_acct_attrs.array_acct_attr_code(28) := 'EXCHANGE_RATE_TYPE';
81057 l_rec_acct_attrs.array_char_value(28) := p_source_148;
81058 l_rec_acct_attrs.array_acct_attr_code(29) := 'LEDGER_AMOUNT';
81059 l_rec_acct_attrs.array_num_value(29) := p_source_16;
81060 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_END_DATE';
81061 l_rec_acct_attrs.array_date_value(30) := p_source_82;
81062 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_OPTION';
81063 l_rec_acct_attrs.array_char_value(31) := p_source_83;
81064 l_rec_acct_attrs.array_acct_attr_code(32) := 'MULTIPERIOD_START_DATE';
81065 l_rec_acct_attrs.array_date_value(32) := p_source_84;
81066 l_rec_acct_attrs.array_acct_attr_code(33) := 'OVERRIDE_ACCTD_AMT_FLAG';
81067 l_rec_acct_attrs.array_char_value(33) := p_source_85;
81068 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_ID';
81069 l_rec_acct_attrs.array_num_value(34) := p_source_86;
81070 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_SITE_ID';
81071 l_rec_acct_attrs.array_num_value(35) := p_source_87;
81072 l_rec_acct_attrs.array_acct_attr_code(36) := 'PARTY_TYPE';
81073 l_rec_acct_attrs.array_char_value(36) := p_source_88;
81074 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_ID1';
81075 l_rec_acct_attrs.array_num_value(37) := to_char(p_source_89);
81076 l_rec_acct_attrs.array_acct_attr_code(38) := 'REVERSED_DISTRIBUTION_TYPE';
81077 l_rec_acct_attrs.array_char_value(38) := p_source_60;
81078 l_rec_acct_attrs.array_acct_attr_code(39) := 'STATISTICAL_AMOUNT';
81079 l_rec_acct_attrs.array_num_value(39) := p_source_90;
81080 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_LINE_REF_ID';
81081 l_rec_acct_attrs.array_num_value(40) := p_source_91;
81082 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_REC_NREC_DIST_REF_ID';
81083 l_rec_acct_attrs.array_num_value(41) := p_source_92;
81084 l_rec_acct_attrs.array_acct_attr_code(42) := 'TAX_SUMMARY_LINE_REF_ID';
81085 l_rec_acct_attrs.array_num_value(42) := p_source_93;
81086 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_CR_ENC_TYPE_ID';
81087 l_rec_acct_attrs.array_num_value(43) := p_source_94;
81088 l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
81089 l_rec_acct_attrs.array_num_value(44) := p_source_95;
81090
81091 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
81092 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
81093
81094 ---------------------------------------------------------------------------------------------------------------
81095 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
81096 ---------------------------------------------------------------------------------------------------------------
81097 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
81098
81099 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
81103 (p_source_code => 'LEDGER_CATEGORY_CODE'
81100 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
81101
81102 IF xla_accounting_cache_pkg.GetValueChar
81104 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
81105 AND l_bflow_method_code = 'PRIOR_ENTRY'
81106 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
81107 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
81108 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
81109 )
81110 THEN
81111 xla_ae_lines_pkg.BflowUpgEntry
81112 (p_business_method_code => l_bflow_method_code
81113 ,p_business_class_code => l_bflow_class_code
81114 ,p_balance_type => l_balance_type_code);
81115 ELSE
81116 NULL;
81117 -- No business flow processing for business flow method of NONE.
81118 END IF;
81119
81120 --
81121 -- call analytical criteria
81122 --
81123
81124 --
81125 -- call description
81126 --
81127
81128 xla_ae_lines_pkg.SetLineDescription(
81129 p_ae_header_id => l_ae_header_id
81130 ,p_description => Description_2 (
81131 p_application_id => p_application_id
81132 , p_ae_header_id => l_ae_header_id
81133 , p_source_1 => p_source_1
81134 )
81135 );
81136
81137
81138 --
81139 -- call ADRs
81140 -- Bug 4922099
81141 --
81142 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
81143 (NVL(l_actual_upg_option, 'N') = 'O') OR
81144 (NVL(l_enc_upg_option, 'N') = 'O')
81145 )
81146 THEN
81147 NULL;
81148 --
81149 --
81150
81151 l_ccid := AcctDerRule_35(
81152 p_application_id => p_application_id
81153 , p_ae_header_id => l_ae_header_id
81154 , p_source_25 => p_source_25
81155 , x_transaction_coa_id => l_adr_transaction_coa_id
81156 , x_accounting_coa_id => l_adr_accounting_coa_id
81157 , x_value_type_code => l_adr_value_type_code
81158 , p_side => 'NA'
81159 );
81160
81161 xla_ae_lines_pkg.set_ccid(
81162 p_code_combination_id => l_ccid
81163 , p_value_type_code => l_adr_value_type_code
81164 , p_transaction_coa_id => l_adr_transaction_coa_id
81165 , p_accounting_coa_id => l_adr_accounting_coa_id
81166 , p_adr_code => 'AP_INVOICE_DIST'
81167 , p_adr_type_code => 'S'
81168 , p_component_type => l_component_type
81169 , p_component_code => l_component_code
81170 , p_component_type_code => l_component_type_code
81171 , p_component_appl_id => l_component_appl_id
81172 , p_amb_context_code => l_amb_context_code
81173 , p_side => 'NA'
81174 );
81175
81176
81177 --
81178 --
81179 END IF;
81180 --
81181 -- Bug 4922099
81182 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
81183 (NVL(l_enc_upg_option, 'N') = 'O')
81184 ) AND
81185 (l_bflow_method_code = 'PRIOR_ENTRY')
81186 )
81187 THEN
81188 IF
81189 --
81190 1 = 2
81191 --
81192 THEN
81193 xla_accounting_err_pkg.build_message
81194 (p_appli_s_name => 'XLA'
81195 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
81196 ,p_token_1 => 'LINE_NUMBER'
81197 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
81198 ,p_token_2 => 'LINE_TYPE_NAME'
81199 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
81200 l_component_type
81201 ,l_component_code
81202 ,l_component_type_code
81203 ,l_component_appl_id
81204 ,l_amb_context_code
81205 ,l_entity_code
81206 ,l_event_class_code
81207 )
81208 ,p_token_3 => 'OWNER'
81209 ,p_value_3 => xla_lookups_pkg.get_meaning(
81210 p_lookup_type => 'XLA_OWNER_TYPE'
81211 ,p_lookup_code => l_component_type_code
81212 )
81213 ,p_token_4 => 'PRODUCT_NAME'
81214 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
81218 ,p_ae_header_id => NULL
81215 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
81216 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
81217 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
81219 );
81220
81221 IF (C_LEVEL_ERROR>= g_log_level) THEN
81222 trace
81223 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
81224 ,p_level => C_LEVEL_ERROR
81225 ,p_module => l_log_module);
81226 END IF;
81227 END IF;
81228 END IF;
81229 --
81230 --
81231 ------------------------------------------------------------------------------------------------
81232 -- 4219869 Business Flow
81233 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
81234 -- Prior Entry. Currently, the following code is always generated.
81235 ------------------------------------------------------------------------------------------------
81236 XLA_AE_LINES_PKG.ValidateCurrentLine;
81237
81238 ------------------------------------------------------------------------------------
81239 -- 4219869 Business Flow
81240 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
81241 ------------------------------------------------------------------------------------
81242 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
81243
81244 ----------------------------------------------------------------------------------
81245 -- 4219869 Business Flow
81246 -- Update journal entry status -- Need to generate this within IF <condition>
81247 ----------------------------------------------------------------------------------
81248 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
81249 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
81250 ,p_balance_type_code => l_balance_type_code
81251 );
81252
81253 -------------------------------------------------------------------------------------------
81254 -- 4262811 - Generate the Accrual Reversal lines
81255 -------------------------------------------------------------------------------------------
81256 BEGIN
81257 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
81258 (g_array_event(p_event_id).array_value_num('header_index'));
81259 IF l_acc_rev_flag IS NULL THEN
81260 l_acc_rev_flag := 'N';
81261 END IF;
81262 EXCEPTION
81263 WHEN OTHERS THEN
81264 l_acc_rev_flag := 'N';
81265 END;
81266 --
81267 IF (l_acc_rev_flag = 'Y') THEN
81268
81269 -- 4645092 ------------------------------------------------------------------------------
81270 -- To allow MPA report to determine if it should generate report process
81271 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
81272 ------------------------------------------------------------------------------------------
81273
81274 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
81275 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
81276 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
81277 -- call ADRs
81278 -- Bug 4922099
81279 --
81280 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
81281 (NVL(l_actual_upg_option, 'N') = 'O') OR
81282 (NVL(l_enc_upg_option, 'N') = 'O')
81283 )
81284 THEN
81285 NULL;
81286 --
81287 --
81288
81289 l_ccid := AcctDerRule_35(
81290 p_application_id => p_application_id
81291 , p_ae_header_id => l_ae_header_id
81292 , p_source_25 => p_source_25
81293 , x_transaction_coa_id => l_adr_transaction_coa_id
81294 , x_accounting_coa_id => l_adr_accounting_coa_id
81295 , x_value_type_code => l_adr_value_type_code
81296 , p_side => 'NA'
81297 );
81298
81299 xla_ae_lines_pkg.set_ccid(
81300 p_code_combination_id => l_ccid
81301 , p_value_type_code => l_adr_value_type_code
81302 , p_transaction_coa_id => l_adr_transaction_coa_id
81303 , p_accounting_coa_id => l_adr_accounting_coa_id
81304 , p_adr_code => 'AP_INVOICE_DIST'
81305 , p_adr_type_code => 'S'
81306 , p_component_type => l_component_type
81307 , p_component_code => l_component_code
81308 , p_component_type_code => l_component_type_code
81309 , p_component_appl_id => l_component_appl_id
81310 , p_amb_context_code => l_amb_context_code
81311 , p_side => 'NA'
81312 );
81313
81314
81315 --
81316 --
81317 END IF;
81318
81319 --
81320 -- Update the line information that should be overwritten
81321 --
81322 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
81323 p_header_num => 1);
81324 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
81325
81329 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
81326 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
81327
81328 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
81330 END IF;
81331
81332 --
81333 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
81334 --
81335 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
81336 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
81337 ELSE
81338 ---------------------------------------------------------------------------------------------------
81339 -- 4262811a Switch Sign
81340 ---------------------------------------------------------------------------------------------------
81341 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
81342 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
81343 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
81344 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
81345 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
81346 -- 5132302
81347 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
81348 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
81349
81350 END IF;
81351
81352 -- 4955764
81353 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
81354 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
81355
81356
81357 XLA_AE_LINES_PKG.ValidateCurrentLine;
81358 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
81359
81360 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
81361 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
81362 ,p_balance_type_code => l_balance_type_code);
81363
81364 END IF;
81365
81366 -----------------------------------------------------------------------------------------
81367 -- 4262811 Multiperiod Accounting
81368 -----------------------------------------------------------------------------------------
81369 -- No MPA option is assigned.
81370
81371
81372 END IF;
81373 END IF;
81374 --
81375
81376 --
81377 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
81378 trace
81379 (p_msg => 'END of AcctLineType_153'
81380 ,p_level => C_LEVEL_PROCEDURE
81381 ,p_module => l_log_module);
81382 END IF;
81383 --
81384 EXCEPTION
81385 WHEN xla_exceptions_pkg.application_exception THEN
81386 RAISE;
81387 WHEN OTHERS THEN
81388 xla_exceptions_pkg.raise_message
81389 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_153');
81390 END AcctLineType_153;
81391 --
81392
81393 ---------------------------------------
81394 --
81395 -- PRIVATE FUNCTION
81396 -- AcctLineType_154
81397 --
81398 ---------------------------------------
81399 PROCEDURE AcctLineType_154 (
81400 p_application_id IN NUMBER
81401 ,p_event_id IN NUMBER
81402 ,p_calculate_acctd_flag IN VARCHAR2
81403 ,p_calculate_g_l_flag IN VARCHAR2
81404 ,p_actual_flag IN OUT VARCHAR2
81405 ,p_balance_type_code OUT VARCHAR2
81406 ,p_gain_or_loss_ref OUT VARCHAR2
81407
81408 --Payment Currency Code
81409 , p_source_8 IN VARCHAR2
81410 --Invoice Type Paid
81411 , p_source_56 IN VARCHAR2
81412 , p_source_56_meaning IN VARCHAR2
81413 --When to Account for Payment Option
81414 , p_source_57 IN VARCHAR2
81415 --Accounting Reversal Indicator
81416 , p_source_58 IN VARCHAR2
81417 --Distribution Link Type
81418 , p_source_60 IN VARCHAR2
81419 --Override Accounted Amount Indicator
81420 , p_source_85 IN VARCHAR2
81421 , p_source_85_meaning IN VARCHAR2
81422 --Third Party Type
81423 , p_source_88 IN VARCHAR2
81424 --Invoice Distribution Tax Line Identifier
81425 , p_source_91 IN NUMBER
81426 --Invoice Distribution Summary Tax Line Identifier
81427 , p_source_93 IN NUMBER
81428 --Business Flow Accounts Payable Application Identifier
81429 , p_source_96 IN NUMBER
81430 --Business Flow Invoice Distribution Type
81431 , p_source_97 IN VARCHAR2
81432 --Business Flow Invoice Entity Code
81433 , p_source_98 IN VARCHAR2
81434 --Business Flow Invoice Distribution Identifier
81435 , p_source_99 IN NUMBER
81436 --Business Flow Invoice Identifier
81437 , p_source_100 IN NUMBER
81438 --Payment Distribution Type
81439 , p_source_101 IN VARCHAR2
81440 , p_source_101_meaning IN VARCHAR2
81441 --Payment Distribution Amount
81442 , p_source_102 IN NUMBER
81443 --Payment Distribution Identifier
81444 , p_source_107 IN NUMBER
81445 --Payment Distribution Reversed Identifier
81446 , p_source_115 IN NUMBER
81447 --Payment Distribution (Invoice Rate) Ledger Amount
81451 , p_source_125_meaning IN VARCHAR2
81448 , p_source_119 IN NUMBER
81449 --Payment Type
81450 , p_source_125 IN VARCHAR2
81452 --Withholding at Payment Indicator
81453 , p_source_166 IN VARCHAR2
81454 , p_source_166_meaning IN VARCHAR2
81455 )
81456 IS
81457
81458 l_component_type VARCHAR2(80);
81459 l_component_code VARCHAR2(30);
81460 l_component_type_code VARCHAR2(1);
81461 l_component_appl_id INTEGER;
81462 l_amb_context_code VARCHAR2(30);
81463 l_entity_code VARCHAR2(30);
81464 l_event_class_code VARCHAR2(30);
81465 l_ae_header_id NUMBER;
81466 l_event_type_code VARCHAR2(30);
81467 l_line_definition_code VARCHAR2(30);
81468 l_line_definition_owner_code VARCHAR2(1);
81469 --
81470 -- adr variables
81471 l_segment VARCHAR2(30);
81472 l_ccid NUMBER;
81473 l_adr_transaction_coa_id NUMBER;
81474 l_adr_accounting_coa_id NUMBER;
81475 l_adr_flexfield_segment_code VARCHAR2(30);
81476 l_adr_flex_value_set_id NUMBER;
81477 l_adr_value_type_code VARCHAR2(30);
81478 l_adr_value_combination_id NUMBER;
81479 l_adr_value_segment_code VARCHAR2(30);
81480
81481 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
81482 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
81483 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
81484 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
81485
81486 -- 4262811 Variables ------------------------------------------------------------------------------------------
81487 l_entered_amt_idx NUMBER;
81488 l_accted_amt_idx NUMBER;
81489 l_acc_rev_flag VARCHAR2(1);
81490 l_accrual_line_num NUMBER;
81491 l_tmp_amt NUMBER;
81492 l_acc_rev_natural_side_code VARCHAR2(1);
81493
81494 l_num_entries NUMBER;
81495 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
81496 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
81497 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
81498 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
81499 l_recog_line_1 NUMBER;
81500 l_recog_line_2 NUMBER;
81501
81502 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
81503 l_bflow_applied_to_amt NUMBER; -- 5132302
81504 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
81505
81506 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
81507
81508 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
81509 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
81510
81511 ---------------------------------------------------------------------------------------------------------------
81512
81513
81514 --
81515 -- bulk performance
81516 --
81517 l_balance_type_code VARCHAR2(1);
81518 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
81519 l_log_module VARCHAR2(240);
81520
81521 --
81522 -- Upgrade strategy
81523 --
81524 l_actual_upg_option VARCHAR2(1);
81525 l_enc_upg_option VARCHAR2(1);
81526
81527 --
81528 BEGIN
81529 --
81530 IF g_log_enabled THEN
81531 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_154';
81532 END IF;
81533 --
81534 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
81535
81536 trace
81537 (p_msg => 'BEGIN of AcctLineType_154'
81538 ,p_level => C_LEVEL_PROCEDURE
81539 ,p_module => l_log_module);
81540
81541 END IF;
81542 --
81543 l_component_type := 'AMB_JLT';
81544 l_component_code := 'AP_LIAB_AWT_CLEAR';
81545 l_component_type_code := 'S';
81546 l_component_appl_id := 200;
81547 l_amb_context_code := 'DEFAULT';
81548 l_entity_code := 'AP_PAYMENTS';
81549 l_event_class_code := 'RECONCILED PAYMENTS';
81550 l_event_type_code := 'RECONCILED PAYMENTS_ALL';
81551 l_line_definition_owner_code := 'S';
81552 l_line_definition_code := 'ACCRUAL_RECONCILED PAYMENTS_A4';
81553 --
81554 l_balance_type_code := 'A';
81555 l_segment := NULL;
81556 l_ccid := NULL;
81557 l_adr_transaction_coa_id := NULL;
81558 l_adr_accounting_coa_id := NULL;
81559 l_adr_flexfield_segment_code := NULL;
81560 l_adr_flex_value_set_id := NULL;
81561 l_adr_value_type_code := NULL;
81562 l_adr_value_combination_id := NULL;
81563 l_adr_value_segment_code := NULL;
81564
81565 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
81566 l_bflow_class_code := 'AP_LIAB'; -- 4219869 Business Flow
81567 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
81568 l_budgetary_control_flag := 'N';
81569
81570 l_bflow_applied_to_amt_idx := NULL; -- 5132302
81571 l_bflow_applied_to_amt := NULL; -- 5132302
81572 l_entered_amt_idx := NULL; -- 4262811
81573 l_accted_amt_idx := NULL; -- 4262811
81574 l_acc_rev_flag := NULL; -- 4262811
81575 l_accrual_line_num := NULL; -- 4262811
81579 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
81576 l_tmp_amt := NULL; -- 4262811
81577 --
81578
81580 l_balance_type_code <> 'B' THEN
81581 IF NVL(p_source_57,'
81582 ') = 'CLEAR_CLEAR' AND
81583 NVL(p_source_56,'
81584 ') <> 'INTEREST' AND
81585 NVL(p_source_101,'
81586 ') = 'AWT' AND
81587 NVL(p_source_166,'
81588 ') = 'Y' AND
81589 NVL(p_source_125,'
81590 ') <> 'R'
81591 THEN
81592
81593 --
81594 XLA_AE_LINES_PKG.SetNewLine;
81595
81596 p_balance_type_code := l_balance_type_code;
81597 -- set the flag so later we will know whether the gain loss line needs to be created
81598
81599 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
81600 p_actual_flag :='A';
81601 END IF;
81602
81603 --
81604 -- bulk performance
81605 --
81606 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
81607 p_header_num => 0); -- 4262811
81608 --
81609 -- set accounting line options
81610 --
81611 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
81612 p_natural_side_code => 'D'
81613 , p_gain_or_loss_flag => 'N'
81614 , p_gl_transfer_mode_code => 'S'
81615 , p_acct_entry_type_code => 'A'
81616 , p_switch_side_flag => 'Y'
81617 , p_merge_duplicate_code => 'A'
81618 );
81619 --
81620 l_acc_rev_natural_side_code := 'C'; -- 4262811
81621 --
81622 --
81623 -- set accounting line type info
81624 --
81625 xla_ae_lines_pkg.SetAcctLineType
81626 (p_component_type => l_component_type
81627 ,p_event_type_code => l_event_type_code
81628 ,p_line_definition_owner_code => l_line_definition_owner_code
81629 ,p_line_definition_code => l_line_definition_code
81630 ,p_accounting_line_code => l_component_code
81631 ,p_accounting_line_type_code => l_component_type_code
81632 ,p_accounting_line_appl_id => l_component_appl_id
81633 ,p_amb_context_code => l_amb_context_code
81634 ,p_entity_code => l_entity_code
81635 ,p_event_class_code => l_event_class_code);
81636 --
81637 -- set accounting class
81638 --
81639 xla_ae_lines_pkg.SetAcctClass(
81640 p_accounting_class_code => 'LIABILITY'
81641 , p_ae_header_id => l_ae_header_id
81642 );
81643
81644 --
81645 -- set rounding class
81646 --
81647 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
81648 'LIABILITY';
81649
81650 --
81651 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
81652 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
81653 --
81654 -- bulk performance
81655 --
81656 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
81657
81658 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
81659 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
81660
81661 -- 4955764
81662 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
81663 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
81664
81665 -- 4458381 Public Sector Enh
81666
81667 --
81668 -- set accounting attributes for the line type
81669 --
81670 l_entered_amt_idx := 10;
81671 l_accted_amt_idx := 12;
81672 l_bflow_applied_to_amt_idx := 2; -- 5132302
81673 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
81674 l_rec_acct_attrs.array_char_value(1) := p_source_58;
81675 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
81676 l_rec_acct_attrs.array_num_value(2) := p_source_102;
81677 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
81678 l_rec_acct_attrs.array_num_value(3) := p_source_96;
81679 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
81680 l_rec_acct_attrs.array_char_value(4) := p_source_97;
81681 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
81682 l_rec_acct_attrs.array_char_value(5) := p_source_98;
81683 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
81684 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_99);
81685 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
81686 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_100);
81687 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
81688 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_107);
81689 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
81690 l_rec_acct_attrs.array_char_value(9) := p_source_60;
81691 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
81692 l_rec_acct_attrs.array_num_value(10) := p_source_102;
81693 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
81694 l_rec_acct_attrs.array_char_value(11) := p_source_8;
81695 l_rec_acct_attrs.array_acct_attr_code(12) := 'LEDGER_AMOUNT';
81699 l_rec_acct_attrs.array_acct_attr_code(14) := 'PARTY_TYPE';
81696 l_rec_acct_attrs.array_num_value(12) := p_source_119;
81697 l_rec_acct_attrs.array_acct_attr_code(13) := 'OVERRIDE_ACCTD_AMT_FLAG';
81698 l_rec_acct_attrs.array_char_value(13) := p_source_85;
81700 l_rec_acct_attrs.array_char_value(14) := p_source_88;
81701 l_rec_acct_attrs.array_acct_attr_code(15) := 'REVERSED_DISTRIBUTION_ID1';
81702 l_rec_acct_attrs.array_num_value(15) := to_char(p_source_115);
81703 l_rec_acct_attrs.array_acct_attr_code(16) := 'REVERSED_DISTRIBUTION_TYPE';
81704 l_rec_acct_attrs.array_char_value(16) := p_source_60;
81705 l_rec_acct_attrs.array_acct_attr_code(17) := 'TAX_LINE_REF_ID';
81706 l_rec_acct_attrs.array_num_value(17) := p_source_91;
81707 l_rec_acct_attrs.array_acct_attr_code(18) := 'TAX_REC_NREC_DIST_REF_ID';
81708 l_rec_acct_attrs.array_num_value(18) := p_source_91;
81709 l_rec_acct_attrs.array_acct_attr_code(19) := 'TAX_SUMMARY_LINE_REF_ID';
81710 l_rec_acct_attrs.array_num_value(19) := p_source_93;
81711
81712 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
81713 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
81714
81715 ---------------------------------------------------------------------------------------------------------------
81716 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
81717 ---------------------------------------------------------------------------------------------------------------
81718 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
81719
81720 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
81721 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
81722
81723 IF xla_accounting_cache_pkg.GetValueChar
81724 (p_source_code => 'LEDGER_CATEGORY_CODE'
81725 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
81726 AND l_bflow_method_code = 'PRIOR_ENTRY'
81727 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
81728 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
81729 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
81730 )
81731 THEN
81732 xla_ae_lines_pkg.BflowUpgEntry
81733 (p_business_method_code => l_bflow_method_code
81734 ,p_business_class_code => l_bflow_class_code
81735 ,p_balance_type => l_balance_type_code);
81736 ELSE
81737 NULL;
81738 XLA_AE_LINES_PKG.business_flow_validation(
81739 p_business_method_code => l_bflow_method_code
81740 ,p_business_class_code => l_bflow_class_code
81741 ,p_inherit_description_flag => l_inherit_desc_flag);
81742 END IF;
81743
81744 --
81745 -- call analytical criteria
81746 --
81747 -- Inherited Analytical Criteria for business flow method of Prior Entry.
81748 --
81749 -- call description
81750 --
81751 -- No description or it is inherited.
81752 --
81753 -- call ADRs
81754 -- Bug 4922099
81755 --
81756 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
81757 (NVL(l_actual_upg_option, 'N') = 'O') OR
81758 (NVL(l_enc_upg_option, 'N') = 'O')
81759 )
81760 THEN
81761 NULL;
81762 --
81763 --
81764
81765 --
81766 --
81767 END IF;
81768 --
81769 -- Bug 4922099
81770 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
81771 (NVL(l_enc_upg_option, 'N') = 'O')
81772 ) AND
81773 (l_bflow_method_code = 'PRIOR_ENTRY')
81774 )
81775 THEN
81776 IF
81777 --
81778 1 = 1
81779 --
81780 THEN
81781 xla_accounting_err_pkg.build_message
81782 (p_appli_s_name => 'XLA'
81783 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
81784 ,p_token_1 => 'LINE_NUMBER'
81785 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
81786 ,p_token_2 => 'LINE_TYPE_NAME'
81787 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
81788 l_component_type
81789 ,l_component_code
81790 ,l_component_type_code
81791 ,l_component_appl_id
81792 ,l_amb_context_code
81793 ,l_entity_code
81794 ,l_event_class_code
81795 )
81796 ,p_token_3 => 'OWNER'
81797 ,p_value_3 => xla_lookups_pkg.get_meaning(
81798 p_lookup_type => 'XLA_OWNER_TYPE'
81802 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
81799 ,p_lookup_code => l_component_type_code
81800 )
81801 ,p_token_4 => 'PRODUCT_NAME'
81803 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
81804 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
81805 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
81806 ,p_ae_header_id => NULL
81807 );
81808
81809 IF (C_LEVEL_ERROR>= g_log_level) THEN
81810 trace
81811 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
81812 ,p_level => C_LEVEL_ERROR
81813 ,p_module => l_log_module);
81814 END IF;
81815 END IF;
81816 END IF;
81817 --
81818 --
81819 ------------------------------------------------------------------------------------------------
81820 -- 4219869 Business Flow
81821 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
81822 -- Prior Entry. Currently, the following code is always generated.
81823 ------------------------------------------------------------------------------------------------
81824 -- No ValidateCurrentLine for business flow method of Prior Entry
81825
81826 ------------------------------------------------------------------------------------
81827 -- 4219869 Business Flow
81828 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
81829 ------------------------------------------------------------------------------------
81830 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
81831
81832 ----------------------------------------------------------------------------------
81833 -- 4219869 Business Flow
81834 -- Update journal entry status -- Need to generate this within IF <condition>
81835 ----------------------------------------------------------------------------------
81836 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
81837 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
81838 ,p_balance_type_code => l_balance_type_code
81839 );
81840
81841 -------------------------------------------------------------------------------------------
81842 -- 4262811 - Generate the Accrual Reversal lines
81843 -------------------------------------------------------------------------------------------
81844 BEGIN
81845 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
81846 (g_array_event(p_event_id).array_value_num('header_index'));
81847 IF l_acc_rev_flag IS NULL THEN
81848 l_acc_rev_flag := 'N';
81849 END IF;
81850 EXCEPTION
81851 WHEN OTHERS THEN
81852 l_acc_rev_flag := 'N';
81853 END;
81854 --
81855 IF (l_acc_rev_flag = 'Y') THEN
81856
81857 -- 4645092 ------------------------------------------------------------------------------
81858 -- To allow MPA report to determine if it should generate report process
81859 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
81860 ------------------------------------------------------------------------------------------
81861
81862 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
81863 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
81864 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
81865 -- call ADRs
81866 -- Bug 4922099
81867 --
81868 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
81869 (NVL(l_actual_upg_option, 'N') = 'O') OR
81870 (NVL(l_enc_upg_option, 'N') = 'O')
81871 )
81872 THEN
81873 NULL;
81874 --
81875 --
81876
81877 --
81878 --
81879 END IF;
81880
81881 --
81882 -- Update the line information that should be overwritten
81883 --
81884 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
81885 p_header_num => 1);
81886 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
81887
81888 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
81889
81890 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
81891 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
81892 END IF;
81893
81894 --
81895 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
81896 --
81897 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
81898 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
81899 ELSE
81900 ---------------------------------------------------------------------------------------------------
81901 -- 4262811a Switch Sign
81905 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
81902 ---------------------------------------------------------------------------------------------------
81903 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
81904 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
81906 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
81907 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
81908 -- 5132302
81909 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
81910 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
81911
81912 END IF;
81913
81914 -- 4955764
81915 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
81916 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
81917
81918
81919 XLA_AE_LINES_PKG.ValidateCurrentLine;
81920 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
81921
81922 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
81923 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
81924 ,p_balance_type_code => l_balance_type_code);
81925
81926 END IF;
81927
81928 -----------------------------------------------------------------------------------------
81929 -- 4262811 Multiperiod Accounting
81930 -----------------------------------------------------------------------------------------
81931 -- No MPA option is assigned.
81932
81933
81934 END IF;
81935 END IF;
81936 --
81937
81938 --
81939 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
81940 trace
81941 (p_msg => 'END of AcctLineType_154'
81942 ,p_level => C_LEVEL_PROCEDURE
81943 ,p_module => l_log_module);
81944 END IF;
81945 --
81946 EXCEPTION
81947 WHEN xla_exceptions_pkg.application_exception THEN
81948 RAISE;
81949 WHEN OTHERS THEN
81950 xla_exceptions_pkg.raise_message
81951 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_154');
81952 END AcctLineType_154;
81953 --
81954
81955 ---------------------------------------
81956 --
81957 -- PRIVATE FUNCTION
81958 -- AcctLineType_155
81959 --
81960 ---------------------------------------
81961 PROCEDURE AcctLineType_155 (
81962 p_application_id IN NUMBER
81963 ,p_event_id IN NUMBER
81964 ,p_calculate_acctd_flag IN VARCHAR2
81965 ,p_calculate_g_l_flag IN VARCHAR2
81966 ,p_actual_flag IN OUT VARCHAR2
81967 ,p_balance_type_code OUT VARCHAR2
81968 ,p_gain_or_loss_ref OUT VARCHAR2
81969
81970 --Payment Currency Code
81971 , p_source_8 IN VARCHAR2
81972 --Invoice Type Paid
81973 , p_source_56 IN VARCHAR2
81974 , p_source_56_meaning IN VARCHAR2
81975 --When to Account for Payment Option
81976 , p_source_57 IN VARCHAR2
81977 --Accounting Reversal Indicator
81978 , p_source_58 IN VARCHAR2
81979 --Distribution Link Type
81980 , p_source_60 IN VARCHAR2
81981 --Override Accounted Amount Indicator
81982 , p_source_85 IN VARCHAR2
81983 , p_source_85_meaning IN VARCHAR2
81984 --Third Party Type
81985 , p_source_88 IN VARCHAR2
81986 --Invoice Distribution Tax Line Identifier
81987 , p_source_91 IN NUMBER
81988 --Invoice Distribution Tax Distribution Identifier from Tax
81989 , p_source_92 IN NUMBER
81990 --Invoice Distribution Summary Tax Line Identifier
81991 , p_source_93 IN NUMBER
81992 --Business Flow Accounts Payable Application Identifier
81993 , p_source_96 IN NUMBER
81994 --Business Flow Invoice Distribution Type
81995 , p_source_97 IN VARCHAR2
81996 --Business Flow Invoice Entity Code
81997 , p_source_98 IN VARCHAR2
81998 --Business Flow Invoice Distribution Identifier
81999 , p_source_99 IN NUMBER
82000 --Business Flow Invoice Identifier
82001 , p_source_100 IN NUMBER
82002 --Payment Distribution Type
82003 , p_source_101 IN VARCHAR2
82004 , p_source_101_meaning IN VARCHAR2
82005 --Payment Distribution Amount
82006 , p_source_102 IN NUMBER
82007 --Payment Distribution Identifier
82008 , p_source_107 IN NUMBER
82009 --Payment Distribution Reversed Identifier
82010 , p_source_115 IN NUMBER
82011 --Payment Distribution (Invoice Rate) Ledger Amount
82012 , p_source_119 IN NUMBER
82013 --Payment Type
82014 , p_source_125 IN VARCHAR2
82015 , p_source_125_meaning IN VARCHAR2
82016 --Payment Processing Type
82017 , p_source_126 IN VARCHAR2
82018 --Invoice Distribution Amount of the Payment Distribution
82019 , p_source_127 IN NUMBER
82020 --Withholding at Payment Indicator
82021 , p_source_166 IN VARCHAR2
82022 , p_source_166_meaning IN VARCHAR2
82023 )
82024 IS
82025
82026 l_component_type VARCHAR2(80);
82027 l_component_code VARCHAR2(30);
82028 l_component_type_code VARCHAR2(1);
82029 l_component_appl_id INTEGER;
82033 l_ae_header_id NUMBER;
82030 l_amb_context_code VARCHAR2(30);
82031 l_entity_code VARCHAR2(30);
82032 l_event_class_code VARCHAR2(30);
82034 l_event_type_code VARCHAR2(30);
82035 l_line_definition_code VARCHAR2(30);
82036 l_line_definition_owner_code VARCHAR2(1);
82037 --
82038 -- adr variables
82039 l_segment VARCHAR2(30);
82040 l_ccid NUMBER;
82041 l_adr_transaction_coa_id NUMBER;
82042 l_adr_accounting_coa_id NUMBER;
82043 l_adr_flexfield_segment_code VARCHAR2(30);
82044 l_adr_flex_value_set_id NUMBER;
82045 l_adr_value_type_code VARCHAR2(30);
82046 l_adr_value_combination_id NUMBER;
82047 l_adr_value_segment_code VARCHAR2(30);
82048
82049 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
82050 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
82051 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
82052 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
82053
82054 -- 4262811 Variables ------------------------------------------------------------------------------------------
82055 l_entered_amt_idx NUMBER;
82056 l_accted_amt_idx NUMBER;
82057 l_acc_rev_flag VARCHAR2(1);
82058 l_accrual_line_num NUMBER;
82059 l_tmp_amt NUMBER;
82060 l_acc_rev_natural_side_code VARCHAR2(1);
82061
82062 l_num_entries NUMBER;
82063 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
82064 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
82065 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
82066 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
82067 l_recog_line_1 NUMBER;
82068 l_recog_line_2 NUMBER;
82069
82070 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
82071 l_bflow_applied_to_amt NUMBER; -- 5132302
82072 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
82073
82074 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
82075
82076 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
82077 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
82078
82079 ---------------------------------------------------------------------------------------------------------------
82080
82081
82082 --
82083 -- bulk performance
82084 --
82085 l_balance_type_code VARCHAR2(1);
82086 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
82087 l_log_module VARCHAR2(240);
82088
82089 --
82090 -- Upgrade strategy
82091 --
82092 l_actual_upg_option VARCHAR2(1);
82093 l_enc_upg_option VARCHAR2(1);
82094
82095 --
82096 BEGIN
82097 --
82098 IF g_log_enabled THEN
82099 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_155';
82100 END IF;
82101 --
82102 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
82103
82104 trace
82105 (p_msg => 'BEGIN of AcctLineType_155'
82106 ,p_level => C_LEVEL_PROCEDURE
82107 ,p_module => l_log_module);
82108
82109 END IF;
82110 --
82111 l_component_type := 'AMB_JLT';
82112 l_component_code := 'AP_LIAB_AWT_PMT';
82113 l_component_type_code := 'S';
82114 l_component_appl_id := 200;
82115 l_amb_context_code := 'DEFAULT';
82116 l_entity_code := 'AP_PAYMENTS';
82117 l_event_class_code := 'PAYMENTS';
82118 l_event_type_code := 'PAYMENTS_ALL';
82119 l_line_definition_owner_code := 'S';
82120 l_line_definition_code := 'ACCRUAL_PAYMENTS_ALL';
82121 --
82122 l_balance_type_code := 'A';
82123 l_segment := NULL;
82124 l_ccid := NULL;
82125 l_adr_transaction_coa_id := NULL;
82126 l_adr_accounting_coa_id := NULL;
82127 l_adr_flexfield_segment_code := NULL;
82128 l_adr_flex_value_set_id := NULL;
82129 l_adr_value_type_code := NULL;
82130 l_adr_value_combination_id := NULL;
82131 l_adr_value_segment_code := NULL;
82132
82133 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
82134 l_bflow_class_code := 'AP_LIAB'; -- 4219869 Business Flow
82135 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
82136 l_budgetary_control_flag := 'N';
82137
82138 l_bflow_applied_to_amt_idx := NULL; -- 5132302
82139 l_bflow_applied_to_amt := NULL; -- 5132302
82140 l_entered_amt_idx := NULL; -- 4262811
82141 l_accted_amt_idx := NULL; -- 4262811
82142 l_acc_rev_flag := NULL; -- 4262811
82143 l_accrual_line_num := NULL; -- 4262811
82144 l_tmp_amt := NULL; -- 4262811
82145 --
82146
82147 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
82148 l_balance_type_code <> 'B' THEN
82149 IF NVL(p_source_57,'
82150 ') <> 'CLEAR_CLEAR' AND
82151 NVL(p_source_56,'
82152 ') <> 'INTEREST' AND
82153 NVL(p_source_101,'
82154 ') = 'AWT' AND
82155 NVL(p_source_166,'
82156 ') = 'Y' AND
82157 NVL(p_source_125,'
82161 THEN
82158 ') <> 'R' AND
82159 NVL(p_source_126,'
82160 ') <> 'PAYMENTCARD'
82162
82163 --
82164 XLA_AE_LINES_PKG.SetNewLine;
82165
82166 p_balance_type_code := l_balance_type_code;
82167 -- set the flag so later we will know whether the gain loss line needs to be created
82168
82169 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
82170 p_actual_flag :='A';
82171 END IF;
82172
82173 --
82174 -- bulk performance
82175 --
82176 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
82177 p_header_num => 0); -- 4262811
82178 --
82179 -- set accounting line options
82180 --
82181 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
82182 p_natural_side_code => 'D'
82183 , p_gain_or_loss_flag => 'N'
82184 , p_gl_transfer_mode_code => 'S'
82185 , p_acct_entry_type_code => 'A'
82186 , p_switch_side_flag => 'Y'
82187 , p_merge_duplicate_code => 'A'
82188 );
82189 --
82190 l_acc_rev_natural_side_code := 'C'; -- 4262811
82191 --
82192 --
82193 -- set accounting line type info
82194 --
82195 xla_ae_lines_pkg.SetAcctLineType
82196 (p_component_type => l_component_type
82197 ,p_event_type_code => l_event_type_code
82198 ,p_line_definition_owner_code => l_line_definition_owner_code
82199 ,p_line_definition_code => l_line_definition_code
82200 ,p_accounting_line_code => l_component_code
82201 ,p_accounting_line_type_code => l_component_type_code
82202 ,p_accounting_line_appl_id => l_component_appl_id
82203 ,p_amb_context_code => l_amb_context_code
82204 ,p_entity_code => l_entity_code
82205 ,p_event_class_code => l_event_class_code);
82206 --
82207 -- set accounting class
82208 --
82209 xla_ae_lines_pkg.SetAcctClass(
82210 p_accounting_class_code => 'LIABILITY'
82211 , p_ae_header_id => l_ae_header_id
82212 );
82213
82214 --
82215 -- set rounding class
82216 --
82217 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
82218 'LIABILITY';
82219
82220 --
82221 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
82222 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
82223 --
82224 -- bulk performance
82225 --
82226 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
82227
82228 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
82229 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
82230
82231 -- 4955764
82232 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
82233 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
82234
82235 -- 4458381 Public Sector Enh
82236
82237 --
82238 -- set accounting attributes for the line type
82239 --
82240 l_entered_amt_idx := 10;
82241 l_accted_amt_idx := 12;
82242 l_bflow_applied_to_amt_idx := 2; -- 5132302
82243 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
82244 l_rec_acct_attrs.array_char_value(1) := p_source_58;
82245 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
82246 l_rec_acct_attrs.array_num_value(2) := p_source_127;
82247 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
82248 l_rec_acct_attrs.array_num_value(3) := p_source_96;
82249 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
82250 l_rec_acct_attrs.array_char_value(4) := p_source_97;
82251 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
82252 l_rec_acct_attrs.array_char_value(5) := p_source_98;
82253 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
82254 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_99);
82255 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
82256 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_100);
82257 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
82258 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_107);
82259 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
82260 l_rec_acct_attrs.array_char_value(9) := p_source_60;
82261 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
82262 l_rec_acct_attrs.array_num_value(10) := p_source_102;
82263 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
82264 l_rec_acct_attrs.array_char_value(11) := p_source_8;
82265 l_rec_acct_attrs.array_acct_attr_code(12) := 'LEDGER_AMOUNT';
82266 l_rec_acct_attrs.array_num_value(12) := p_source_119;
82267 l_rec_acct_attrs.array_acct_attr_code(13) := 'OVERRIDE_ACCTD_AMT_FLAG';
82268 l_rec_acct_attrs.array_char_value(13) := p_source_85;
82269 l_rec_acct_attrs.array_acct_attr_code(14) := 'PARTY_TYPE';
82270 l_rec_acct_attrs.array_char_value(14) := p_source_88;
82271 l_rec_acct_attrs.array_acct_attr_code(15) := 'REVERSED_DISTRIBUTION_ID1';
82272 l_rec_acct_attrs.array_num_value(15) := to_char(p_source_115);
82273 l_rec_acct_attrs.array_acct_attr_code(16) := 'REVERSED_DISTRIBUTION_TYPE';
82277 l_rec_acct_attrs.array_acct_attr_code(18) := 'TAX_REC_NREC_DIST_REF_ID';
82274 l_rec_acct_attrs.array_char_value(16) := p_source_60;
82275 l_rec_acct_attrs.array_acct_attr_code(17) := 'TAX_LINE_REF_ID';
82276 l_rec_acct_attrs.array_num_value(17) := p_source_91;
82278 l_rec_acct_attrs.array_num_value(18) := p_source_92;
82279 l_rec_acct_attrs.array_acct_attr_code(19) := 'TAX_SUMMARY_LINE_REF_ID';
82280 l_rec_acct_attrs.array_num_value(19) := p_source_93;
82281
82282 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
82283 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
82284
82285 ---------------------------------------------------------------------------------------------------------------
82286 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
82287 ---------------------------------------------------------------------------------------------------------------
82288 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
82289
82290 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
82291 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
82292
82293 IF xla_accounting_cache_pkg.GetValueChar
82294 (p_source_code => 'LEDGER_CATEGORY_CODE'
82295 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
82296 AND l_bflow_method_code = 'PRIOR_ENTRY'
82297 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
82298 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
82299 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
82300 )
82301 THEN
82302 xla_ae_lines_pkg.BflowUpgEntry
82303 (p_business_method_code => l_bflow_method_code
82304 ,p_business_class_code => l_bflow_class_code
82305 ,p_balance_type => l_balance_type_code);
82306 ELSE
82307 NULL;
82308 XLA_AE_LINES_PKG.business_flow_validation(
82309 p_business_method_code => l_bflow_method_code
82310 ,p_business_class_code => l_bflow_class_code
82311 ,p_inherit_description_flag => l_inherit_desc_flag);
82312 END IF;
82313
82314 --
82315 -- call analytical criteria
82316 --
82317 -- Inherited Analytical Criteria for business flow method of Prior Entry.
82318 --
82319 -- call description
82320 --
82321 -- No description or it is inherited.
82322 --
82323 -- call ADRs
82324 -- Bug 4922099
82325 --
82326 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
82327 (NVL(l_actual_upg_option, 'N') = 'O') OR
82328 (NVL(l_enc_upg_option, 'N') = 'O')
82329 )
82330 THEN
82331 NULL;
82332 --
82333 --
82334
82335 --
82336 --
82337 END IF;
82338 --
82339 -- Bug 4922099
82340 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
82341 (NVL(l_enc_upg_option, 'N') = 'O')
82342 ) AND
82343 (l_bflow_method_code = 'PRIOR_ENTRY')
82344 )
82345 THEN
82346 IF
82347 --
82348 1 = 1
82349 --
82350 THEN
82351 xla_accounting_err_pkg.build_message
82352 (p_appli_s_name => 'XLA'
82353 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
82354 ,p_token_1 => 'LINE_NUMBER'
82355 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
82356 ,p_token_2 => 'LINE_TYPE_NAME'
82357 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
82358 l_component_type
82359 ,l_component_code
82360 ,l_component_type_code
82361 ,l_component_appl_id
82362 ,l_amb_context_code
82363 ,l_entity_code
82364 ,l_event_class_code
82365 )
82366 ,p_token_3 => 'OWNER'
82367 ,p_value_3 => xla_lookups_pkg.get_meaning(
82368 p_lookup_type => 'XLA_OWNER_TYPE'
82369 ,p_lookup_code => l_component_type_code
82370 )
82371 ,p_token_4 => 'PRODUCT_NAME'
82372 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
82373 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
82377 );
82374 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
82375 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
82376 ,p_ae_header_id => NULL
82378
82379 IF (C_LEVEL_ERROR>= g_log_level) THEN
82380 trace
82381 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
82382 ,p_level => C_LEVEL_ERROR
82383 ,p_module => l_log_module);
82384 END IF;
82385 END IF;
82386 END IF;
82387 --
82388 --
82389 ------------------------------------------------------------------------------------------------
82390 -- 4219869 Business Flow
82391 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
82392 -- Prior Entry. Currently, the following code is always generated.
82393 ------------------------------------------------------------------------------------------------
82394 -- No ValidateCurrentLine for business flow method of Prior Entry
82395
82396 ------------------------------------------------------------------------------------
82397 -- 4219869 Business Flow
82398 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
82399 ------------------------------------------------------------------------------------
82400 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
82401
82402 ----------------------------------------------------------------------------------
82403 -- 4219869 Business Flow
82404 -- Update journal entry status -- Need to generate this within IF <condition>
82405 ----------------------------------------------------------------------------------
82406 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
82407 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
82408 ,p_balance_type_code => l_balance_type_code
82409 );
82410
82411 -------------------------------------------------------------------------------------------
82412 -- 4262811 - Generate the Accrual Reversal lines
82413 -------------------------------------------------------------------------------------------
82414 BEGIN
82415 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
82416 (g_array_event(p_event_id).array_value_num('header_index'));
82417 IF l_acc_rev_flag IS NULL THEN
82418 l_acc_rev_flag := 'N';
82419 END IF;
82420 EXCEPTION
82421 WHEN OTHERS THEN
82422 l_acc_rev_flag := 'N';
82423 END;
82424 --
82425 IF (l_acc_rev_flag = 'Y') THEN
82426
82427 -- 4645092 ------------------------------------------------------------------------------
82428 -- To allow MPA report to determine if it should generate report process
82429 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
82430 ------------------------------------------------------------------------------------------
82431
82432 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
82433 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
82434 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
82435 -- call ADRs
82436 -- Bug 4922099
82437 --
82438 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
82439 (NVL(l_actual_upg_option, 'N') = 'O') OR
82440 (NVL(l_enc_upg_option, 'N') = 'O')
82441 )
82442 THEN
82443 NULL;
82444 --
82445 --
82446
82447 --
82448 --
82449 END IF;
82450
82451 --
82452 -- Update the line information that should be overwritten
82453 --
82454 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
82455 p_header_num => 1);
82456 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
82457
82458 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
82459
82460 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
82461 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
82462 END IF;
82463
82464 --
82465 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
82466 --
82467 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
82468 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
82469 ELSE
82470 ---------------------------------------------------------------------------------------------------
82471 -- 4262811a Switch Sign
82472 ---------------------------------------------------------------------------------------------------
82473 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
82474 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
82475 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
82476 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
82477 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
82478 -- 5132302
82482 END IF;
82479 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
82480 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
82481
82483
82484 -- 4955764
82485 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
82486 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
82487
82488
82489 XLA_AE_LINES_PKG.ValidateCurrentLine;
82490 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
82491
82492 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
82493 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
82494 ,p_balance_type_code => l_balance_type_code);
82495
82496 END IF;
82497
82498 -----------------------------------------------------------------------------------------
82499 -- 4262811 Multiperiod Accounting
82500 -----------------------------------------------------------------------------------------
82501 -- No MPA option is assigned.
82502
82503
82504 END IF;
82505 END IF;
82506 --
82507
82508 --
82509 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
82510 trace
82511 (p_msg => 'END of AcctLineType_155'
82512 ,p_level => C_LEVEL_PROCEDURE
82513 ,p_module => l_log_module);
82514 END IF;
82515 --
82516 EXCEPTION
82517 WHEN xla_exceptions_pkg.application_exception THEN
82518 RAISE;
82519 WHEN OTHERS THEN
82520 xla_exceptions_pkg.raise_message
82521 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_155');
82522 END AcctLineType_155;
82523 --
82524
82525 ---------------------------------------
82526 --
82527 -- PRIVATE FUNCTION
82528 -- AcctLineType_156
82529 --
82530 ---------------------------------------
82531 PROCEDURE AcctLineType_156 (
82532 p_application_id IN NUMBER
82533 ,p_event_id IN NUMBER
82534 ,p_calculate_acctd_flag IN VARCHAR2
82535 ,p_calculate_g_l_flag IN VARCHAR2
82536 ,p_actual_flag IN OUT VARCHAR2
82537 ,p_balance_type_code OUT VARCHAR2
82538 ,p_gain_or_loss_ref OUT VARCHAR2
82539
82540 --Payment Currency Code
82541 , p_source_8 IN VARCHAR2
82542 --Invoice Type Paid
82543 , p_source_56 IN VARCHAR2
82544 , p_source_56_meaning IN VARCHAR2
82545 --When to Account for Payment Option
82546 , p_source_57 IN VARCHAR2
82547 --Accounting Reversal Indicator
82548 , p_source_58 IN VARCHAR2
82549 --Distribution Link Type
82550 , p_source_60 IN VARCHAR2
82551 --Override Accounted Amount Indicator
82552 , p_source_85 IN VARCHAR2
82553 , p_source_85_meaning IN VARCHAR2
82554 --Third Party Type
82555 , p_source_88 IN VARCHAR2
82556 --Invoice Distribution Tax Line Identifier
82557 , p_source_91 IN NUMBER
82558 --Invoice Distribution Summary Tax Line Identifier
82559 , p_source_93 IN NUMBER
82560 --Business Flow Accounts Payable Application Identifier
82561 , p_source_96 IN NUMBER
82562 --Business Flow Invoice Distribution Type
82563 , p_source_97 IN VARCHAR2
82564 --Business Flow Invoice Entity Code
82565 , p_source_98 IN VARCHAR2
82566 --Business Flow Invoice Distribution Identifier
82567 , p_source_99 IN NUMBER
82568 --Business Flow Invoice Identifier
82569 , p_source_100 IN NUMBER
82570 --Payment Distribution Type
82571 , p_source_101 IN VARCHAR2
82572 , p_source_101_meaning IN VARCHAR2
82573 --Payment Distribution Amount
82574 , p_source_102 IN NUMBER
82575 --Payment Distribution Identifier
82576 , p_source_107 IN NUMBER
82577 --Payment Distribution Reversed Identifier
82578 , p_source_115 IN NUMBER
82579 --Payment Distribution (Invoice Rate) Ledger Amount
82580 , p_source_119 IN NUMBER
82581 )
82582 IS
82583
82584 l_component_type VARCHAR2(80);
82585 l_component_code VARCHAR2(30);
82586 l_component_type_code VARCHAR2(1);
82587 l_component_appl_id INTEGER;
82588 l_amb_context_code VARCHAR2(30);
82589 l_entity_code VARCHAR2(30);
82590 l_event_class_code VARCHAR2(30);
82591 l_ae_header_id NUMBER;
82592 l_event_type_code VARCHAR2(30);
82593 l_line_definition_code VARCHAR2(30);
82594 l_line_definition_owner_code VARCHAR2(1);
82595 --
82596 -- adr variables
82597 l_segment VARCHAR2(30);
82598 l_ccid NUMBER;
82599 l_adr_transaction_coa_id NUMBER;
82600 l_adr_accounting_coa_id NUMBER;
82601 l_adr_flexfield_segment_code VARCHAR2(30);
82602 l_adr_flex_value_set_id NUMBER;
82603 l_adr_value_type_code VARCHAR2(30);
82604 l_adr_value_combination_id NUMBER;
82605 l_adr_value_segment_code VARCHAR2(30);
82606
82607 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
82608 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
82609 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
82610 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
82611
82615 l_acc_rev_flag VARCHAR2(1);
82612 -- 4262811 Variables ------------------------------------------------------------------------------------------
82613 l_entered_amt_idx NUMBER;
82614 l_accted_amt_idx NUMBER;
82616 l_accrual_line_num NUMBER;
82617 l_tmp_amt NUMBER;
82618 l_acc_rev_natural_side_code VARCHAR2(1);
82619
82620 l_num_entries NUMBER;
82621 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
82622 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
82623 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
82624 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
82625 l_recog_line_1 NUMBER;
82626 l_recog_line_2 NUMBER;
82627
82628 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
82629 l_bflow_applied_to_amt NUMBER; -- 5132302
82630 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
82631
82632 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
82633
82634 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
82635 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
82636
82637 ---------------------------------------------------------------------------------------------------------------
82638
82639
82640 --
82641 -- bulk performance
82642 --
82643 l_balance_type_code VARCHAR2(1);
82644 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
82645 l_log_module VARCHAR2(240);
82646
82647 --
82648 -- Upgrade strategy
82649 --
82650 l_actual_upg_option VARCHAR2(1);
82651 l_enc_upg_option VARCHAR2(1);
82652
82653 --
82654 BEGIN
82655 --
82656 IF g_log_enabled THEN
82657 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_156';
82658 END IF;
82659 --
82660 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
82661
82662 trace
82663 (p_msg => 'BEGIN of AcctLineType_156'
82664 ,p_level => C_LEVEL_PROCEDURE
82665 ,p_module => l_log_module);
82666
82667 END IF;
82668 --
82669 l_component_type := 'AMB_JLT';
82670 l_component_code := 'AP_LIAB_CLEAR';
82671 l_component_type_code := 'S';
82672 l_component_appl_id := 200;
82673 l_amb_context_code := 'DEFAULT';
82674 l_entity_code := 'AP_PAYMENTS';
82675 l_event_class_code := 'RECONCILED PAYMENTS';
82676 l_event_type_code := 'RECONCILED PAYMENTS_ALL';
82677 l_line_definition_owner_code := 'S';
82678 l_line_definition_code := 'ACCRUAL_RECONCILED PAYMENTS_A4';
82679 --
82680 l_balance_type_code := 'A';
82681 l_segment := NULL;
82682 l_ccid := NULL;
82683 l_adr_transaction_coa_id := NULL;
82684 l_adr_accounting_coa_id := NULL;
82685 l_adr_flexfield_segment_code := NULL;
82686 l_adr_flex_value_set_id := NULL;
82687 l_adr_value_type_code := NULL;
82688 l_adr_value_combination_id := NULL;
82689 l_adr_value_segment_code := NULL;
82690
82691 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
82692 l_bflow_class_code := 'AP_LIAB'; -- 4219869 Business Flow
82693 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
82694 l_budgetary_control_flag := 'N';
82695
82696 l_bflow_applied_to_amt_idx := NULL; -- 5132302
82697 l_bflow_applied_to_amt := NULL; -- 5132302
82698 l_entered_amt_idx := NULL; -- 4262811
82699 l_accted_amt_idx := NULL; -- 4262811
82700 l_acc_rev_flag := NULL; -- 4262811
82701 l_accrual_line_num := NULL; -- 4262811
82702 l_tmp_amt := NULL; -- 4262811
82703 --
82704
82705 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
82706 l_balance_type_code <> 'B' THEN
82707 IF NVL(p_source_57,'
82708 ') = 'CLEAR_CLEAR' AND
82709 NVL(p_source_56,'
82710 ') <> 'INTEREST' AND
82711 (NVL(p_source_101,'
82712 ') = 'ROUNDING' OR
82713 NVL(p_source_101,'
82714 ') = 'CASH' OR
82715 NVL(p_source_101,'
82716 ') = 'DISCOUNT')
82717 THEN
82718
82719 --
82720 XLA_AE_LINES_PKG.SetNewLine;
82721
82722 p_balance_type_code := l_balance_type_code;
82723 -- set the flag so later we will know whether the gain loss line needs to be created
82724
82725 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
82726 p_actual_flag :='A';
82727 END IF;
82728
82729 --
82730 -- bulk performance
82731 --
82732 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
82733 p_header_num => 0); -- 4262811
82734 --
82735 -- set accounting line options
82736 --
82737 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
82738 p_natural_side_code => 'D'
82739 , p_gain_or_loss_flag => 'N'
82740 , p_gl_transfer_mode_code => 'S'
82741 , p_acct_entry_type_code => 'A'
82742 , p_switch_side_flag => 'Y'
82746 l_acc_rev_natural_side_code := 'C'; -- 4262811
82743 , p_merge_duplicate_code => 'A'
82744 );
82745 --
82747 --
82748 --
82749 -- set accounting line type info
82750 --
82751 xla_ae_lines_pkg.SetAcctLineType
82752 (p_component_type => l_component_type
82753 ,p_event_type_code => l_event_type_code
82754 ,p_line_definition_owner_code => l_line_definition_owner_code
82755 ,p_line_definition_code => l_line_definition_code
82756 ,p_accounting_line_code => l_component_code
82757 ,p_accounting_line_type_code => l_component_type_code
82758 ,p_accounting_line_appl_id => l_component_appl_id
82759 ,p_amb_context_code => l_amb_context_code
82760 ,p_entity_code => l_entity_code
82761 ,p_event_class_code => l_event_class_code);
82762 --
82763 -- set accounting class
82764 --
82765 xla_ae_lines_pkg.SetAcctClass(
82766 p_accounting_class_code => 'LIABILITY'
82767 , p_ae_header_id => l_ae_header_id
82768 );
82769
82770 --
82771 -- set rounding class
82772 --
82773 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
82774 'LIABILITY';
82775
82776 --
82777 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
82778 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
82779 --
82780 -- bulk performance
82781 --
82782 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
82783
82784 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
82785 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
82786
82787 -- 4955764
82788 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
82789 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
82790
82791 -- 4458381 Public Sector Enh
82792
82793 --
82794 -- set accounting attributes for the line type
82795 --
82796 l_entered_amt_idx := 10;
82797 l_accted_amt_idx := 12;
82798 l_bflow_applied_to_amt_idx := 2; -- 5132302
82799 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
82800 l_rec_acct_attrs.array_char_value(1) := p_source_58;
82801 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
82802 l_rec_acct_attrs.array_num_value(2) := p_source_102;
82803 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
82804 l_rec_acct_attrs.array_num_value(3) := p_source_96;
82805 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
82806 l_rec_acct_attrs.array_char_value(4) := p_source_97;
82807 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
82808 l_rec_acct_attrs.array_char_value(5) := p_source_98;
82809 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
82810 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_99);
82811 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
82812 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_100);
82813 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
82814 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_107);
82815 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
82816 l_rec_acct_attrs.array_char_value(9) := p_source_60;
82817 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
82818 l_rec_acct_attrs.array_num_value(10) := p_source_102;
82819 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
82820 l_rec_acct_attrs.array_char_value(11) := p_source_8;
82821 l_rec_acct_attrs.array_acct_attr_code(12) := 'LEDGER_AMOUNT';
82822 l_rec_acct_attrs.array_num_value(12) := p_source_119;
82823 l_rec_acct_attrs.array_acct_attr_code(13) := 'OVERRIDE_ACCTD_AMT_FLAG';
82824 l_rec_acct_attrs.array_char_value(13) := p_source_85;
82825 l_rec_acct_attrs.array_acct_attr_code(14) := 'PARTY_TYPE';
82826 l_rec_acct_attrs.array_char_value(14) := p_source_88;
82827 l_rec_acct_attrs.array_acct_attr_code(15) := 'REVERSED_DISTRIBUTION_ID1';
82828 l_rec_acct_attrs.array_num_value(15) := to_char(p_source_115);
82829 l_rec_acct_attrs.array_acct_attr_code(16) := 'REVERSED_DISTRIBUTION_TYPE';
82830 l_rec_acct_attrs.array_char_value(16) := p_source_60;
82831 l_rec_acct_attrs.array_acct_attr_code(17) := 'TAX_LINE_REF_ID';
82832 l_rec_acct_attrs.array_num_value(17) := p_source_91;
82833 l_rec_acct_attrs.array_acct_attr_code(18) := 'TAX_REC_NREC_DIST_REF_ID';
82834 l_rec_acct_attrs.array_num_value(18) := p_source_91;
82835 l_rec_acct_attrs.array_acct_attr_code(19) := 'TAX_SUMMARY_LINE_REF_ID';
82836 l_rec_acct_attrs.array_num_value(19) := p_source_93;
82837
82838 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
82839 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
82840
82841 ---------------------------------------------------------------------------------------------------------------
82842 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
82843 ---------------------------------------------------------------------------------------------------------------
82847 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
82844 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
82845
82846 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
82848
82849 IF xla_accounting_cache_pkg.GetValueChar
82850 (p_source_code => 'LEDGER_CATEGORY_CODE'
82851 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
82852 AND l_bflow_method_code = 'PRIOR_ENTRY'
82853 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
82854 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
82855 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
82856 )
82857 THEN
82858 xla_ae_lines_pkg.BflowUpgEntry
82859 (p_business_method_code => l_bflow_method_code
82860 ,p_business_class_code => l_bflow_class_code
82861 ,p_balance_type => l_balance_type_code);
82862 ELSE
82863 NULL;
82864 XLA_AE_LINES_PKG.business_flow_validation(
82865 p_business_method_code => l_bflow_method_code
82866 ,p_business_class_code => l_bflow_class_code
82867 ,p_inherit_description_flag => l_inherit_desc_flag);
82868 END IF;
82869
82870 --
82871 -- call analytical criteria
82872 --
82873 -- Inherited Analytical Criteria for business flow method of Prior Entry.
82874 --
82875 -- call description
82876 --
82877 -- No description or it is inherited.
82878 --
82879 -- call ADRs
82880 -- Bug 4922099
82881 --
82882 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
82883 (NVL(l_actual_upg_option, 'N') = 'O') OR
82884 (NVL(l_enc_upg_option, 'N') = 'O')
82885 )
82886 THEN
82887 NULL;
82888 --
82889 --
82890
82891 --
82892 --
82893 END IF;
82894 --
82895 -- Bug 4922099
82896 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
82897 (NVL(l_enc_upg_option, 'N') = 'O')
82898 ) AND
82899 (l_bflow_method_code = 'PRIOR_ENTRY')
82900 )
82901 THEN
82902 IF
82903 --
82904 1 = 1
82905 --
82906 THEN
82907 xla_accounting_err_pkg.build_message
82908 (p_appli_s_name => 'XLA'
82909 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
82910 ,p_token_1 => 'LINE_NUMBER'
82911 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
82912 ,p_token_2 => 'LINE_TYPE_NAME'
82913 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
82914 l_component_type
82915 ,l_component_code
82916 ,l_component_type_code
82917 ,l_component_appl_id
82918 ,l_amb_context_code
82919 ,l_entity_code
82920 ,l_event_class_code
82921 )
82922 ,p_token_3 => 'OWNER'
82923 ,p_value_3 => xla_lookups_pkg.get_meaning(
82924 p_lookup_type => 'XLA_OWNER_TYPE'
82925 ,p_lookup_code => l_component_type_code
82926 )
82927 ,p_token_4 => 'PRODUCT_NAME'
82928 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
82929 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
82930 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
82931 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
82932 ,p_ae_header_id => NULL
82933 );
82934
82935 IF (C_LEVEL_ERROR>= g_log_level) THEN
82936 trace
82937 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
82938 ,p_level => C_LEVEL_ERROR
82939 ,p_module => l_log_module);
82940 END IF;
82941 END IF;
82942 END IF;
82943 --
82944 --
82945 ------------------------------------------------------------------------------------------------
82946 -- 4219869 Business Flow
82947 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
82948 -- Prior Entry. Currently, the following code is always generated.
82949 ------------------------------------------------------------------------------------------------
82953 -- 4219869 Business Flow
82950 -- No ValidateCurrentLine for business flow method of Prior Entry
82951
82952 ------------------------------------------------------------------------------------
82954 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
82955 ------------------------------------------------------------------------------------
82956 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
82957
82958 ----------------------------------------------------------------------------------
82959 -- 4219869 Business Flow
82960 -- Update journal entry status -- Need to generate this within IF <condition>
82961 ----------------------------------------------------------------------------------
82962 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
82963 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
82964 ,p_balance_type_code => l_balance_type_code
82965 );
82966
82967 -------------------------------------------------------------------------------------------
82968 -- 4262811 - Generate the Accrual Reversal lines
82969 -------------------------------------------------------------------------------------------
82970 BEGIN
82971 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
82972 (g_array_event(p_event_id).array_value_num('header_index'));
82973 IF l_acc_rev_flag IS NULL THEN
82974 l_acc_rev_flag := 'N';
82975 END IF;
82976 EXCEPTION
82977 WHEN OTHERS THEN
82978 l_acc_rev_flag := 'N';
82979 END;
82980 --
82981 IF (l_acc_rev_flag = 'Y') THEN
82982
82983 -- 4645092 ------------------------------------------------------------------------------
82984 -- To allow MPA report to determine if it should generate report process
82985 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
82986 ------------------------------------------------------------------------------------------
82987
82988 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
82989 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
82990 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
82991 -- call ADRs
82992 -- Bug 4922099
82993 --
82994 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
82995 (NVL(l_actual_upg_option, 'N') = 'O') OR
82996 (NVL(l_enc_upg_option, 'N') = 'O')
82997 )
82998 THEN
82999 NULL;
83000 --
83001 --
83002
83003 --
83004 --
83005 END IF;
83006
83007 --
83008 -- Update the line information that should be overwritten
83009 --
83010 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
83011 p_header_num => 1);
83012 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
83013
83014 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
83015
83016 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
83017 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
83018 END IF;
83019
83020 --
83021 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
83022 --
83023 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
83024 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
83025 ELSE
83026 ---------------------------------------------------------------------------------------------------
83027 -- 4262811a Switch Sign
83028 ---------------------------------------------------------------------------------------------------
83029 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
83030 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
83031 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
83032 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
83033 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
83034 -- 5132302
83035 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
83036 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
83037
83038 END IF;
83039
83040 -- 4955764
83041 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
83042 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
83043
83044
83045 XLA_AE_LINES_PKG.ValidateCurrentLine;
83046 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
83047
83048 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
83049 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
83050 ,p_balance_type_code => l_balance_type_code);
83051
83052 END IF;
83053
83054 -----------------------------------------------------------------------------------------
83055 -- 4262811 Multiperiod Accounting
83059
83056 -----------------------------------------------------------------------------------------
83057 -- No MPA option is assigned.
83058
83060 END IF;
83061 END IF;
83062 --
83063
83064 --
83065 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
83066 trace
83067 (p_msg => 'END of AcctLineType_156'
83068 ,p_level => C_LEVEL_PROCEDURE
83069 ,p_module => l_log_module);
83070 END IF;
83071 --
83072 EXCEPTION
83073 WHEN xla_exceptions_pkg.application_exception THEN
83074 RAISE;
83075 WHEN OTHERS THEN
83076 xla_exceptions_pkg.raise_message
83077 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_156');
83078 END AcctLineType_156;
83079 --
83080
83081 ---------------------------------------
83082 --
83083 -- PRIVATE FUNCTION
83084 -- AcctLineType_157
83085 --
83086 ---------------------------------------
83087 PROCEDURE AcctLineType_157 (
83088 p_application_id IN NUMBER
83089 ,p_event_id IN NUMBER
83090 ,p_calculate_acctd_flag IN VARCHAR2
83091 ,p_calculate_g_l_flag IN VARCHAR2
83092 ,p_actual_flag IN OUT VARCHAR2
83093 ,p_balance_type_code OUT VARCHAR2
83094 ,p_gain_or_loss_ref OUT VARCHAR2
83095
83096 --Invoice Distribution Description
83097 , p_source_1 IN VARCHAR2
83098 --Automatic Offsets Value
83099 , p_source_10 IN VARCHAR2
83100 , p_source_10_meaning IN VARCHAR2
83101 --Invoice Distribution Ledger Amount
83102 , p_source_16 IN NUMBER
83103 --Invoice Liability Account
83104 , p_source_29 IN NUMBER
83105 --Accounting Reversal Indicator
83106 , p_source_58 IN VARCHAR2
83107 --Distribution Link Type
83108 , p_source_60 IN VARCHAR2
83109 --Allocation to Main Distribution Identifier
83110 , p_source_62 IN NUMBER
83111 --Invoice Identifier
83112 , p_source_63 IN NUMBER
83113 --Invoice Distribution Identifier
83114 , p_source_69 IN NUMBER
83115 --Payables Encumbrance Upgrade Credit Account
83116 , p_source_70 IN NUMBER
83117 --Payables Encumbrance Upgrade Credit Amount
83118 , p_source_71 IN NUMBER
83119 --Invoice Currency Code
83120 , p_source_72 IN VARCHAR2
83121 --Payables Encumbrance Upgrade Credit Base Amount
83122 , p_source_73 IN NUMBER
83123 --Payables Encumbrance Upgrade Debit Account
83124 , p_source_74 IN NUMBER
83125 --Payables Encumbrance Upgrade Debit Amount
83126 , p_source_75 IN NUMBER
83127 --Payables Encumbrance Upgrade Debit Base Amount
83128 , p_source_76 IN NUMBER
83129 --Payables Encumbrance Upgrade Option
83130 , p_source_77 IN VARCHAR2
83131 --Invoice Distribution Amount
83132 , p_source_78 IN NUMBER
83133 --Deferred Accounting End Date
83134 , p_source_82 IN DATE
83135 --Deferred Accounting Option
83136 , p_source_83 IN VARCHAR2
83137 --Deferred Accounting Start Date
83138 , p_source_84 IN DATE
83139 --Override Accounted Amount Indicator
83140 , p_source_85 IN VARCHAR2
83141 , p_source_85_meaning IN VARCHAR2
83142 --Invoice Supplier Identifier
83143 , p_source_86 IN NUMBER
83144 --Invoice Supplier Site Identifier
83145 , p_source_87 IN NUMBER
83146 --Third Party Type
83147 , p_source_88 IN VARCHAR2
83148 --Parent Reversal Identifier
83149 , p_source_89 IN NUMBER
83150 --Invoice Distribution Statistical Amount
83151 , p_source_90 IN NUMBER
83152 --Invoice Distribution Tax Line Identifier
83153 , p_source_91 IN NUMBER
83154 --Invoice Distribution Tax Distribution Identifier from Tax
83155 , p_source_92 IN NUMBER
83156 --Invoice Distribution Summary Tax Line Identifier
83157 , p_source_93 IN NUMBER
83158 --Payables Upgrade Credit Encumbrance Type Identifier
83159 , p_source_94 IN NUMBER
83160 --Payables Upgrade Debit Encumbrance Type Identifier
83161 , p_source_95 IN NUMBER
83162 --Business Flow Accounts Payable Application Identifier
83163 , p_source_96 IN NUMBER
83164 --Business Flow Invoice Distribution Type
83165 , p_source_97 IN VARCHAR2
83166 --Business Flow Invoice Entity Code
83167 , p_source_98 IN VARCHAR2
83168 --Business Flow Invoice Distribution Identifier
83169 , p_source_99 IN NUMBER
83170 --Business Flow Invoice Identifier
83171 , p_source_100 IN NUMBER
83172 --Self-Assessed Tax Flag
83173 , p_source_145 IN VARCHAR2
83174 , p_source_145_meaning IN VARCHAR2
83175 --Invoice Exchange Date
83176 , p_source_146 IN DATE
83177 --Invoice Exchange Rate
83178 , p_source_147 IN NUMBER
83179 --Invoice Exchange Rate Type
83180 , p_source_148 IN VARCHAR2
83181 )
83182 IS
83183
83184 l_component_type VARCHAR2(80);
83185 l_component_code VARCHAR2(30);
83186 l_component_type_code VARCHAR2(1);
83187 l_component_appl_id INTEGER;
83188 l_amb_context_code VARCHAR2(30);
83189 l_entity_code VARCHAR2(30);
83190 l_event_class_code VARCHAR2(30);
83191 l_ae_header_id NUMBER;
83192 l_event_type_code VARCHAR2(30);
83193 l_line_definition_code VARCHAR2(30);
83194 l_line_definition_owner_code VARCHAR2(1);
83195 --
83199 l_adr_transaction_coa_id NUMBER;
83196 -- adr variables
83197 l_segment VARCHAR2(30);
83198 l_ccid NUMBER;
83200 l_adr_accounting_coa_id NUMBER;
83201 l_adr_flexfield_segment_code VARCHAR2(30);
83202 l_adr_flex_value_set_id NUMBER;
83203 l_adr_value_type_code VARCHAR2(30);
83204 l_adr_value_combination_id NUMBER;
83205 l_adr_value_segment_code VARCHAR2(30);
83206
83207 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
83208 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
83209 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
83210 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
83211
83212 -- 4262811 Variables ------------------------------------------------------------------------------------------
83213 l_entered_amt_idx NUMBER;
83214 l_accted_amt_idx NUMBER;
83215 l_acc_rev_flag VARCHAR2(1);
83216 l_accrual_line_num NUMBER;
83217 l_tmp_amt NUMBER;
83218 l_acc_rev_natural_side_code VARCHAR2(1);
83219
83220 l_num_entries NUMBER;
83221 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
83222 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
83223 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
83224 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
83225 l_recog_line_1 NUMBER;
83226 l_recog_line_2 NUMBER;
83227
83228 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
83229 l_bflow_applied_to_amt NUMBER; -- 5132302
83230 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
83231
83232 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
83233
83234 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
83235 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
83236
83237 ---------------------------------------------------------------------------------------------------------------
83238
83239
83240 --
83241 -- bulk performance
83242 --
83243 l_balance_type_code VARCHAR2(1);
83244 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
83245 l_log_module VARCHAR2(240);
83246
83247 --
83248 -- Upgrade strategy
83249 --
83250 l_actual_upg_option VARCHAR2(1);
83251 l_enc_upg_option VARCHAR2(1);
83252
83253 --
83254 BEGIN
83255 --
83256 IF g_log_enabled THEN
83257 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_157';
83258 END IF;
83259 --
83260 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
83261
83262 trace
83263 (p_msg => 'BEGIN of AcctLineType_157'
83264 ,p_level => C_LEVEL_PROCEDURE
83265 ,p_module => l_log_module);
83266
83267 END IF;
83268 --
83269 l_component_type := 'AMB_JLT';
83270 l_component_code := 'AP_LIAB_CM';
83271 l_component_type_code := 'S';
83272 l_component_appl_id := 200;
83273 l_amb_context_code := 'DEFAULT';
83274 l_entity_code := 'AP_INVOICES';
83275 l_event_class_code := 'CREDIT MEMOS';
83276 l_event_type_code := 'CREDIT MEMOS_ALL';
83277 l_line_definition_owner_code := 'S';
83278 l_line_definition_code := 'ACCRUAL_CREDIT MEMOS_ALL';
83279 --
83280 l_balance_type_code := 'A';
83281 l_segment := NULL;
83282 l_ccid := NULL;
83283 l_adr_transaction_coa_id := NULL;
83284 l_adr_accounting_coa_id := NULL;
83285 l_adr_flexfield_segment_code := NULL;
83286 l_adr_flex_value_set_id := NULL;
83287 l_adr_value_type_code := NULL;
83288 l_adr_value_combination_id := NULL;
83289 l_adr_value_segment_code := NULL;
83290
83291 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
83292 l_bflow_class_code := 'AP_LIAB'; -- 4219869 Business Flow
83293 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
83294 l_budgetary_control_flag := 'N';
83295
83296 l_bflow_applied_to_amt_idx := NULL; -- 5132302
83297 l_bflow_applied_to_amt := NULL; -- 5132302
83298 l_entered_amt_idx := NULL; -- 4262811
83299 l_accted_amt_idx := NULL; -- 4262811
83300 l_acc_rev_flag := NULL; -- 4262811
83301 l_accrual_line_num := NULL; -- 4262811
83302 l_tmp_amt := NULL; -- 4262811
83303 --
83304
83305 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
83306 l_balance_type_code <> 'B' THEN
83307 IF (NVL(p_source_10,'
83308 ') <> 'BALANCING_SEGMENT' AND
83309 NVL(p_source_10,'
83310 ') <> 'ACCOUNT_SEGMENT_VALUE') AND
83311 NVL(p_source_145,'
83312 ') <> 'Y'
83313 THEN
83314
83315 --
83316 XLA_AE_LINES_PKG.SetNewLine;
83317
83318 p_balance_type_code := l_balance_type_code;
83319 -- set the flag so later we will know whether the gain loss line needs to be created
83320
83321 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
83322 p_actual_flag :='A';
83323 END IF;
83324
83328 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
83325 --
83326 -- bulk performance
83327 --
83329 p_header_num => 0); -- 4262811
83330 --
83331 -- set accounting line options
83332 --
83333 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
83334 p_natural_side_code => 'C'
83335 , p_gain_or_loss_flag => 'N'
83336 , p_gl_transfer_mode_code => 'S'
83337 , p_acct_entry_type_code => 'A'
83338 , p_switch_side_flag => 'Y'
83339 , p_merge_duplicate_code => 'A'
83340 );
83341 --
83342 l_acc_rev_natural_side_code := 'D'; -- 4262811
83343 --
83344 --
83345 -- set accounting line type info
83346 --
83347 xla_ae_lines_pkg.SetAcctLineType
83348 (p_component_type => l_component_type
83349 ,p_event_type_code => l_event_type_code
83350 ,p_line_definition_owner_code => l_line_definition_owner_code
83351 ,p_line_definition_code => l_line_definition_code
83352 ,p_accounting_line_code => l_component_code
83353 ,p_accounting_line_type_code => l_component_type_code
83354 ,p_accounting_line_appl_id => l_component_appl_id
83355 ,p_amb_context_code => l_amb_context_code
83356 ,p_entity_code => l_entity_code
83357 ,p_event_class_code => l_event_class_code);
83358 --
83359 -- set accounting class
83360 --
83361 xla_ae_lines_pkg.SetAcctClass(
83362 p_accounting_class_code => 'LIABILITY'
83363 , p_ae_header_id => l_ae_header_id
83364 );
83365
83366 --
83367 -- set rounding class
83368 --
83369 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
83370 'LIABILITY';
83371
83372 --
83373 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
83374 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
83375 --
83376 -- bulk performance
83377 --
83378 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
83379
83380 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
83381 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
83382
83383 -- 4955764
83384 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
83385 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
83386
83387 -- 4458381 Public Sector Enh
83388
83389 --
83390 -- set accounting attributes for the line type
83391 --
83392 l_entered_amt_idx := 23;
83393 l_accted_amt_idx := 28;
83394 l_bflow_applied_to_amt_idx := NULL; -- 5132302
83395 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
83396 l_rec_acct_attrs.array_char_value(1) := p_source_58;
83397 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
83398 l_rec_acct_attrs.array_num_value(2) :=
83399 xla_ae_sources_pkg.GetSystemSourceNum(
83400 p_source_code => 'XLA_EVENT_APPL_ID'
83401 , p_source_type_code => 'Y'
83402 , p_source_application_id => 602
83403 );
83404 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
83405 l_rec_acct_attrs.array_char_value(3) := p_source_60;
83406 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
83407 l_rec_acct_attrs.array_char_value(4) :=
83408 xla_ae_sources_pkg.GetSystemSourceChar(
83409 p_source_code => 'XLA_ENTITY_CODE'
83410 , p_source_type_code => 'Y'
83411 , p_source_application_id => 602
83412 );
83413 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
83414 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_62);
83415 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
83416 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_63);
83417 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
83418 l_rec_acct_attrs.array_num_value(7) := p_source_96;
83419 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
83420 l_rec_acct_attrs.array_char_value(8) := p_source_97;
83421 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
83422 l_rec_acct_attrs.array_char_value(9) := p_source_98;
83423 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
83424 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_99);
83425 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
83426 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_100);
83427 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
83428 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_69);
83429 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
83430 l_rec_acct_attrs.array_char_value(13) := p_source_60;
83431 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
83432 l_rec_acct_attrs.array_num_value(14) := p_source_70;
83433 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
83434 l_rec_acct_attrs.array_num_value(15) := p_source_71;
83438 l_rec_acct_attrs.array_num_value(17) := p_source_73;
83435 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
83436 l_rec_acct_attrs.array_char_value(16) := p_source_72;
83437 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
83439 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
83440 l_rec_acct_attrs.array_num_value(18) := p_source_74;
83441 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
83442 l_rec_acct_attrs.array_num_value(19) := p_source_75;
83443 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
83444 l_rec_acct_attrs.array_char_value(20) := p_source_72;
83445 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
83446 l_rec_acct_attrs.array_num_value(21) := p_source_76;
83447 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
83448 l_rec_acct_attrs.array_char_value(22) := p_source_77;
83449 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
83450 l_rec_acct_attrs.array_num_value(23) := p_source_78;
83451 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
83452 l_rec_acct_attrs.array_char_value(24) := p_source_72;
83453 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
83454 l_rec_acct_attrs.array_date_value(25) := p_source_146;
83455 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
83456 l_rec_acct_attrs.array_num_value(26) := p_source_147;
83457 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
83458 l_rec_acct_attrs.array_char_value(27) := p_source_148;
83459 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
83460 l_rec_acct_attrs.array_num_value(28) := p_source_16;
83461 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
83462 l_rec_acct_attrs.array_date_value(29) := p_source_82;
83463 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
83464 l_rec_acct_attrs.array_char_value(30) := p_source_83;
83465 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
83466 l_rec_acct_attrs.array_date_value(31) := p_source_84;
83467 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
83468 l_rec_acct_attrs.array_char_value(32) := p_source_85;
83469 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
83470 l_rec_acct_attrs.array_num_value(33) := p_source_86;
83471 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
83472 l_rec_acct_attrs.array_num_value(34) := p_source_87;
83473 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
83474 l_rec_acct_attrs.array_char_value(35) := p_source_88;
83475 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
83476 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_89);
83477 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
83478 l_rec_acct_attrs.array_char_value(37) := p_source_60;
83479 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
83480 l_rec_acct_attrs.array_num_value(38) := p_source_90;
83481 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
83482 l_rec_acct_attrs.array_num_value(39) := p_source_91;
83483 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
83484 l_rec_acct_attrs.array_num_value(40) := p_source_92;
83485 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
83486 l_rec_acct_attrs.array_num_value(41) := p_source_93;
83487 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
83488 l_rec_acct_attrs.array_num_value(42) := p_source_94;
83489 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
83490 l_rec_acct_attrs.array_num_value(43) := p_source_95;
83491
83492 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
83493 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
83494
83495 ---------------------------------------------------------------------------------------------------------------
83496 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
83497 ---------------------------------------------------------------------------------------------------------------
83498 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
83499
83500 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
83501 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
83502
83503 IF xla_accounting_cache_pkg.GetValueChar
83504 (p_source_code => 'LEDGER_CATEGORY_CODE'
83505 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
83506 AND l_bflow_method_code = 'PRIOR_ENTRY'
83507 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
83508 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
83509 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
83510 )
83511 THEN
83512 xla_ae_lines_pkg.BflowUpgEntry
83513 (p_business_method_code => l_bflow_method_code
83514 ,p_business_class_code => l_bflow_class_code
83515 ,p_balance_type => l_balance_type_code);
83516 ELSE
83517 NULL;
83518 -- No business flow processing for business flow method of NONE.
83519 END IF;
83520
83521 --
83522 -- call analytical criteria
83523 --
83524
83525 --
83526 -- call description
83527 --
83528
83529 xla_ae_lines_pkg.SetLineDescription(
83533 , p_ae_header_id => l_ae_header_id
83530 p_ae_header_id => l_ae_header_id
83531 ,p_description => Description_2 (
83532 p_application_id => p_application_id
83534 , p_source_1 => p_source_1
83535 )
83536 );
83537
83538
83539 --
83540 -- call ADRs
83541 -- Bug 4922099
83542 --
83543 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
83544 (NVL(l_actual_upg_option, 'N') = 'O') OR
83545 (NVL(l_enc_upg_option, 'N') = 'O')
83546 )
83547 THEN
83548 NULL;
83549 --
83550 --
83551
83552 l_ccid := AcctDerRule_36(
83553 p_application_id => p_application_id
83554 , p_ae_header_id => l_ae_header_id
83555 , p_source_29 => p_source_29
83556 , x_transaction_coa_id => l_adr_transaction_coa_id
83557 , x_accounting_coa_id => l_adr_accounting_coa_id
83558 , x_value_type_code => l_adr_value_type_code
83559 , p_side => 'NA'
83560 );
83561
83562 xla_ae_lines_pkg.set_ccid(
83563 p_code_combination_id => l_ccid
83564 , p_value_type_code => l_adr_value_type_code
83565 , p_transaction_coa_id => l_adr_transaction_coa_id
83566 , p_accounting_coa_id => l_adr_accounting_coa_id
83567 , p_adr_code => 'AP_LIAB'
83568 , p_adr_type_code => 'S'
83569 , p_component_type => l_component_type
83570 , p_component_code => l_component_code
83571 , p_component_type_code => l_component_type_code
83572 , p_component_appl_id => l_component_appl_id
83573 , p_amb_context_code => l_amb_context_code
83574 , p_side => 'NA'
83575 );
83576
83577
83578 --
83579 --
83580 END IF;
83581 --
83582 -- Bug 4922099
83583 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
83584 (NVL(l_enc_upg_option, 'N') = 'O')
83585 ) AND
83586 (l_bflow_method_code = 'PRIOR_ENTRY')
83587 )
83588 THEN
83589 IF
83590 --
83591 1 = 2
83592 --
83593 THEN
83594 xla_accounting_err_pkg.build_message
83595 (p_appli_s_name => 'XLA'
83596 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
83597 ,p_token_1 => 'LINE_NUMBER'
83598 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
83599 ,p_token_2 => 'LINE_TYPE_NAME'
83600 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
83601 l_component_type
83602 ,l_component_code
83603 ,l_component_type_code
83604 ,l_component_appl_id
83605 ,l_amb_context_code
83606 ,l_entity_code
83607 ,l_event_class_code
83608 )
83609 ,p_token_3 => 'OWNER'
83610 ,p_value_3 => xla_lookups_pkg.get_meaning(
83611 p_lookup_type => 'XLA_OWNER_TYPE'
83612 ,p_lookup_code => l_component_type_code
83613 )
83614 ,p_token_4 => 'PRODUCT_NAME'
83615 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
83616 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
83617 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
83618 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
83619 ,p_ae_header_id => NULL
83620 );
83621
83622 IF (C_LEVEL_ERROR>= g_log_level) THEN
83623 trace
83624 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
83625 ,p_level => C_LEVEL_ERROR
83626 ,p_module => l_log_module);
83627 END IF;
83628 END IF;
83629 END IF;
83630 --
83631 --
83632 ------------------------------------------------------------------------------------------------
83633 -- 4219869 Business Flow
83634 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
83635 -- Prior Entry. Currently, the following code is always generated.
83636 ------------------------------------------------------------------------------------------------
83637 XLA_AE_LINES_PKG.ValidateCurrentLine;
83638
83642 ------------------------------------------------------------------------------------
83639 ------------------------------------------------------------------------------------
83640 -- 4219869 Business Flow
83641 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
83643 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
83644
83645 ----------------------------------------------------------------------------------
83646 -- 4219869 Business Flow
83647 -- Update journal entry status -- Need to generate this within IF <condition>
83648 ----------------------------------------------------------------------------------
83649 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
83650 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
83651 ,p_balance_type_code => l_balance_type_code
83652 );
83653
83654 -------------------------------------------------------------------------------------------
83655 -- 4262811 - Generate the Accrual Reversal lines
83656 -------------------------------------------------------------------------------------------
83657 BEGIN
83658 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
83659 (g_array_event(p_event_id).array_value_num('header_index'));
83660 IF l_acc_rev_flag IS NULL THEN
83661 l_acc_rev_flag := 'N';
83662 END IF;
83663 EXCEPTION
83664 WHEN OTHERS THEN
83665 l_acc_rev_flag := 'N';
83666 END;
83667 --
83668 IF (l_acc_rev_flag = 'Y') THEN
83669
83670 -- 4645092 ------------------------------------------------------------------------------
83671 -- To allow MPA report to determine if it should generate report process
83672 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
83673 ------------------------------------------------------------------------------------------
83674
83675 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
83676 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
83677 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
83678 -- call ADRs
83679 -- Bug 4922099
83680 --
83681 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
83682 (NVL(l_actual_upg_option, 'N') = 'O') OR
83683 (NVL(l_enc_upg_option, 'N') = 'O')
83684 )
83685 THEN
83686 NULL;
83687 --
83688 --
83689
83690 l_ccid := AcctDerRule_36(
83691 p_application_id => p_application_id
83692 , p_ae_header_id => l_ae_header_id
83693 , p_source_29 => p_source_29
83694 , x_transaction_coa_id => l_adr_transaction_coa_id
83695 , x_accounting_coa_id => l_adr_accounting_coa_id
83696 , x_value_type_code => l_adr_value_type_code
83697 , p_side => 'NA'
83698 );
83699
83700 xla_ae_lines_pkg.set_ccid(
83701 p_code_combination_id => l_ccid
83702 , p_value_type_code => l_adr_value_type_code
83703 , p_transaction_coa_id => l_adr_transaction_coa_id
83704 , p_accounting_coa_id => l_adr_accounting_coa_id
83705 , p_adr_code => 'AP_LIAB'
83706 , p_adr_type_code => 'S'
83707 , p_component_type => l_component_type
83708 , p_component_code => l_component_code
83709 , p_component_type_code => l_component_type_code
83710 , p_component_appl_id => l_component_appl_id
83711 , p_amb_context_code => l_amb_context_code
83712 , p_side => 'NA'
83713 );
83714
83715
83716 --
83717 --
83718 END IF;
83719
83720 --
83721 -- Update the line information that should be overwritten
83722 --
83723 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
83724 p_header_num => 1);
83725 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
83726
83727 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
83728
83729 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
83730 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
83731 END IF;
83732
83733 --
83734 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
83735 --
83736 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
83737 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
83738 ELSE
83739 ---------------------------------------------------------------------------------------------------
83740 -- 4262811a Switch Sign
83741 ---------------------------------------------------------------------------------------------------
83742 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
83743 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
83744 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
83745 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
83749 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
83746 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
83747 -- 5132302
83748 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
83750
83751 END IF;
83752
83753 -- 4955764
83754 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
83755 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
83756
83757
83758 XLA_AE_LINES_PKG.ValidateCurrentLine;
83759 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
83760
83761 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
83762 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
83763 ,p_balance_type_code => l_balance_type_code);
83764
83765 END IF;
83766
83767 -----------------------------------------------------------------------------------------
83768 -- 4262811 Multiperiod Accounting
83769 -----------------------------------------------------------------------------------------
83770 -- No MPA option is assigned.
83771
83772
83773 END IF;
83774 END IF;
83775 --
83776
83777 --
83778 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
83779 trace
83780 (p_msg => 'END of AcctLineType_157'
83781 ,p_level => C_LEVEL_PROCEDURE
83782 ,p_module => l_log_module);
83783 END IF;
83784 --
83785 EXCEPTION
83786 WHEN xla_exceptions_pkg.application_exception THEN
83787 RAISE;
83788 WHEN OTHERS THEN
83789 xla_exceptions_pkg.raise_message
83790 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_157');
83791 END AcctLineType_157;
83792 --
83793
83794 ---------------------------------------
83795 --
83796 -- PRIVATE FUNCTION
83797 -- AcctLineType_158
83798 --
83799 ---------------------------------------
83800 PROCEDURE AcctLineType_158 (
83801 p_application_id IN NUMBER
83802 ,p_event_id IN NUMBER
83803 ,p_calculate_acctd_flag IN VARCHAR2
83804 ,p_calculate_g_l_flag IN VARCHAR2
83805 ,p_actual_flag IN OUT VARCHAR2
83806 ,p_balance_type_code OUT VARCHAR2
83807 ,p_gain_or_loss_ref OUT VARCHAR2
83808
83809 --Invoice Distribution Description
83810 , p_source_1 IN VARCHAR2
83811 --Automatic Offsets Value
83812 , p_source_10 IN VARCHAR2
83813 , p_source_10_meaning IN VARCHAR2
83814 --Invoice Distribution Ledger Amount
83815 , p_source_16 IN NUMBER
83816 --Invoice Liability Account
83817 , p_source_29 IN NUMBER
83818 --Accounting Reversal Indicator
83819 , p_source_58 IN VARCHAR2
83820 --Distribution Link Type
83821 , p_source_60 IN VARCHAR2
83822 --Allocation to Main Distribution Identifier
83823 , p_source_62 IN NUMBER
83824 --Invoice Identifier
83825 , p_source_63 IN NUMBER
83826 --Invoice Distribution Identifier
83827 , p_source_69 IN NUMBER
83828 --Payables Encumbrance Upgrade Credit Account
83829 , p_source_70 IN NUMBER
83830 --Payables Encumbrance Upgrade Credit Amount
83831 , p_source_71 IN NUMBER
83832 --Invoice Currency Code
83833 , p_source_72 IN VARCHAR2
83834 --Payables Encumbrance Upgrade Credit Base Amount
83835 , p_source_73 IN NUMBER
83836 --Payables Encumbrance Upgrade Debit Account
83837 , p_source_74 IN NUMBER
83838 --Payables Encumbrance Upgrade Debit Amount
83839 , p_source_75 IN NUMBER
83840 --Payables Encumbrance Upgrade Debit Base Amount
83841 , p_source_76 IN NUMBER
83842 --Payables Encumbrance Upgrade Option
83843 , p_source_77 IN VARCHAR2
83844 --Invoice Distribution Amount
83845 , p_source_78 IN NUMBER
83846 --Deferred Accounting End Date
83847 , p_source_82 IN DATE
83848 --Deferred Accounting Option
83849 , p_source_83 IN VARCHAR2
83850 --Deferred Accounting Start Date
83851 , p_source_84 IN DATE
83852 --Override Accounted Amount Indicator
83853 , p_source_85 IN VARCHAR2
83854 , p_source_85_meaning IN VARCHAR2
83855 --Invoice Supplier Identifier
83856 , p_source_86 IN NUMBER
83857 --Invoice Supplier Site Identifier
83858 , p_source_87 IN NUMBER
83859 --Third Party Type
83860 , p_source_88 IN VARCHAR2
83861 --Parent Reversal Identifier
83862 , p_source_89 IN NUMBER
83863 --Invoice Distribution Statistical Amount
83864 , p_source_90 IN NUMBER
83865 --Invoice Distribution Tax Line Identifier
83866 , p_source_91 IN NUMBER
83867 --Invoice Distribution Tax Distribution Identifier from Tax
83868 , p_source_92 IN NUMBER
83869 --Invoice Distribution Summary Tax Line Identifier
83870 , p_source_93 IN NUMBER
83871 --Payables Upgrade Credit Encumbrance Type Identifier
83872 , p_source_94 IN NUMBER
83873 --Payables Upgrade Debit Encumbrance Type Identifier
83874 , p_source_95 IN NUMBER
83875 --Business Flow Accounts Payable Application Identifier
83876 , p_source_96 IN NUMBER
83877 --Business Flow Invoice Distribution Type
83878 , p_source_97 IN VARCHAR2
83879 --Business Flow Invoice Entity Code
83880 , p_source_98 IN VARCHAR2
83884 , p_source_100 IN NUMBER
83881 --Business Flow Invoice Distribution Identifier
83882 , p_source_99 IN NUMBER
83883 --Business Flow Invoice Identifier
83885 --Self-Assessed Tax Flag
83886 , p_source_145 IN VARCHAR2
83887 , p_source_145_meaning IN VARCHAR2
83888 --Invoice Exchange Date
83889 , p_source_146 IN DATE
83890 --Invoice Exchange Rate
83891 , p_source_147 IN NUMBER
83892 --Invoice Exchange Rate Type
83893 , p_source_148 IN VARCHAR2
83894 )
83895 IS
83896
83897 l_component_type VARCHAR2(80);
83898 l_component_code VARCHAR2(30);
83899 l_component_type_code VARCHAR2(1);
83900 l_component_appl_id INTEGER;
83901 l_amb_context_code VARCHAR2(30);
83902 l_entity_code VARCHAR2(30);
83903 l_event_class_code VARCHAR2(30);
83904 l_ae_header_id NUMBER;
83905 l_event_type_code VARCHAR2(30);
83906 l_line_definition_code VARCHAR2(30);
83907 l_line_definition_owner_code VARCHAR2(1);
83908 --
83909 -- adr variables
83910 l_segment VARCHAR2(30);
83911 l_ccid NUMBER;
83912 l_adr_transaction_coa_id NUMBER;
83913 l_adr_accounting_coa_id NUMBER;
83914 l_adr_flexfield_segment_code VARCHAR2(30);
83915 l_adr_flex_value_set_id NUMBER;
83916 l_adr_value_type_code VARCHAR2(30);
83917 l_adr_value_combination_id NUMBER;
83918 l_adr_value_segment_code VARCHAR2(30);
83919
83920 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
83921 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
83922 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
83923 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
83924
83925 -- 4262811 Variables ------------------------------------------------------------------------------------------
83926 l_entered_amt_idx NUMBER;
83927 l_accted_amt_idx NUMBER;
83928 l_acc_rev_flag VARCHAR2(1);
83929 l_accrual_line_num NUMBER;
83930 l_tmp_amt NUMBER;
83931 l_acc_rev_natural_side_code VARCHAR2(1);
83932
83933 l_num_entries NUMBER;
83934 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
83935 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
83936 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
83937 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
83938 l_recog_line_1 NUMBER;
83939 l_recog_line_2 NUMBER;
83940
83941 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
83942 l_bflow_applied_to_amt NUMBER; -- 5132302
83943 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
83944
83945 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
83946
83947 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
83948 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
83949
83950 ---------------------------------------------------------------------------------------------------------------
83951
83952
83953 --
83954 -- bulk performance
83955 --
83956 l_balance_type_code VARCHAR2(1);
83957 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
83958 l_log_module VARCHAR2(240);
83959
83960 --
83961 -- Upgrade strategy
83962 --
83963 l_actual_upg_option VARCHAR2(1);
83964 l_enc_upg_option VARCHAR2(1);
83965
83966 --
83967 BEGIN
83968 --
83969 IF g_log_enabled THEN
83970 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_158';
83971 END IF;
83972 --
83973 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
83974
83975 trace
83976 (p_msg => 'BEGIN of AcctLineType_158'
83977 ,p_level => C_LEVEL_PROCEDURE
83978 ,p_module => l_log_module);
83979
83980 END IF;
83981 --
83982 l_component_type := 'AMB_JLT';
83983 l_component_code := 'AP_LIAB_CM_AOS_AS';
83984 l_component_type_code := 'S';
83985 l_component_appl_id := 200;
83986 l_amb_context_code := 'DEFAULT';
83987 l_entity_code := 'AP_INVOICES';
83988 l_event_class_code := 'CREDIT MEMOS';
83989 l_event_type_code := 'CREDIT MEMOS_ALL';
83990 l_line_definition_owner_code := 'S';
83991 l_line_definition_code := 'ACCRUAL_CREDIT MEMOS_ALL';
83992 --
83993 l_balance_type_code := 'A';
83994 l_segment := NULL;
83995 l_ccid := NULL;
83996 l_adr_transaction_coa_id := NULL;
83997 l_adr_accounting_coa_id := NULL;
83998 l_adr_flexfield_segment_code := NULL;
83999 l_adr_flex_value_set_id := NULL;
84000 l_adr_value_type_code := NULL;
84001 l_adr_value_combination_id := NULL;
84002 l_adr_value_segment_code := NULL;
84003
84004 l_bflow_method_code := 'SAME_ENTRY'; -- 4219869 Business Flow
84005 l_bflow_class_code := 'AP_LIAB'; -- 4219869 Business Flow
84006 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
84007 l_budgetary_control_flag := 'N';
84008
84009 l_bflow_applied_to_amt_idx := NULL; -- 5132302
84013 l_acc_rev_flag := NULL; -- 4262811
84010 l_bflow_applied_to_amt := NULL; -- 5132302
84011 l_entered_amt_idx := NULL; -- 4262811
84012 l_accted_amt_idx := NULL; -- 4262811
84014 l_accrual_line_num := NULL; -- 4262811
84015 l_tmp_amt := NULL; -- 4262811
84016 --
84017
84018 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
84019 l_balance_type_code <> 'B' THEN
84020 IF NVL(p_source_10,'
84021 ') = 'ACCOUNT_SEGMENT_VALUE' AND
84022 NVL(p_source_145,'
84023 ') <> 'Y'
84024 THEN
84025
84026 --
84027 XLA_AE_LINES_PKG.SetNewLine;
84028
84029 p_balance_type_code := l_balance_type_code;
84030 -- set the flag so later we will know whether the gain loss line needs to be created
84031
84032 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
84033 p_actual_flag :='A';
84034 END IF;
84035
84036 --
84037 -- bulk performance
84038 --
84039 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
84040 p_header_num => 0); -- 4262811
84041 --
84042 -- set accounting line options
84043 --
84044 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
84045 p_natural_side_code => 'C'
84046 , p_gain_or_loss_flag => 'N'
84047 , p_gl_transfer_mode_code => 'S'
84048 , p_acct_entry_type_code => 'A'
84049 , p_switch_side_flag => 'Y'
84050 , p_merge_duplicate_code => 'A'
84051 );
84052 --
84053 l_acc_rev_natural_side_code := 'D'; -- 4262811
84054 --
84055 --
84056 -- set accounting line type info
84057 --
84058 xla_ae_lines_pkg.SetAcctLineType
84059 (p_component_type => l_component_type
84060 ,p_event_type_code => l_event_type_code
84061 ,p_line_definition_owner_code => l_line_definition_owner_code
84062 ,p_line_definition_code => l_line_definition_code
84063 ,p_accounting_line_code => l_component_code
84064 ,p_accounting_line_type_code => l_component_type_code
84065 ,p_accounting_line_appl_id => l_component_appl_id
84066 ,p_amb_context_code => l_amb_context_code
84067 ,p_entity_code => l_entity_code
84068 ,p_event_class_code => l_event_class_code);
84069 --
84070 -- set accounting class
84071 --
84072 xla_ae_lines_pkg.SetAcctClass(
84073 p_accounting_class_code => 'LIABILITY'
84074 , p_ae_header_id => l_ae_header_id
84075 );
84076
84077 --
84078 -- set rounding class
84079 --
84080 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
84081 'LIABILITY';
84082
84083 --
84084 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
84085 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
84086 --
84087 -- bulk performance
84088 --
84089 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
84090
84091 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
84092 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
84093
84094 -- 4955764
84095 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
84096 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
84097
84098 -- 4458381 Public Sector Enh
84099
84100 --
84101 -- set accounting attributes for the line type
84102 --
84103 l_entered_amt_idx := 23;
84104 l_accted_amt_idx := 28;
84105 l_bflow_applied_to_amt_idx := NULL; -- 5132302
84106 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
84107 l_rec_acct_attrs.array_char_value(1) := p_source_58;
84108 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
84109 l_rec_acct_attrs.array_num_value(2) :=
84110 xla_ae_sources_pkg.GetSystemSourceNum(
84111 p_source_code => 'XLA_EVENT_APPL_ID'
84112 , p_source_type_code => 'Y'
84113 , p_source_application_id => 602
84114 );
84115 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
84116 l_rec_acct_attrs.array_char_value(3) := p_source_60;
84117 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
84118 l_rec_acct_attrs.array_char_value(4) :=
84119 xla_ae_sources_pkg.GetSystemSourceChar(
84120 p_source_code => 'XLA_ENTITY_CODE'
84121 , p_source_type_code => 'Y'
84122 , p_source_application_id => 602
84123 );
84124 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
84125 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_62);
84126 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
84127 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_63);
84128 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
84129 l_rec_acct_attrs.array_num_value(7) := p_source_96;
84130 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
84134 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
84131 l_rec_acct_attrs.array_char_value(8) := p_source_97;
84132 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
84133 l_rec_acct_attrs.array_char_value(9) := p_source_98;
84135 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_99);
84136 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
84137 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_100);
84138 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
84139 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_69);
84140 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
84141 l_rec_acct_attrs.array_char_value(13) := p_source_60;
84142 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
84143 l_rec_acct_attrs.array_num_value(14) := p_source_70;
84144 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
84145 l_rec_acct_attrs.array_num_value(15) := p_source_71;
84146 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
84147 l_rec_acct_attrs.array_char_value(16) := p_source_72;
84148 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
84149 l_rec_acct_attrs.array_num_value(17) := p_source_73;
84150 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
84151 l_rec_acct_attrs.array_num_value(18) := p_source_74;
84152 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
84153 l_rec_acct_attrs.array_num_value(19) := p_source_75;
84154 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
84155 l_rec_acct_attrs.array_char_value(20) := p_source_72;
84156 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
84157 l_rec_acct_attrs.array_num_value(21) := p_source_76;
84158 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
84159 l_rec_acct_attrs.array_char_value(22) := p_source_77;
84160 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
84161 l_rec_acct_attrs.array_num_value(23) := p_source_78;
84162 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
84163 l_rec_acct_attrs.array_char_value(24) := p_source_72;
84164 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
84165 l_rec_acct_attrs.array_date_value(25) := p_source_146;
84166 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
84167 l_rec_acct_attrs.array_num_value(26) := p_source_147;
84168 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
84169 l_rec_acct_attrs.array_char_value(27) := p_source_148;
84170 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
84171 l_rec_acct_attrs.array_num_value(28) := p_source_16;
84172 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
84173 l_rec_acct_attrs.array_date_value(29) := p_source_82;
84174 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
84175 l_rec_acct_attrs.array_char_value(30) := p_source_83;
84176 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
84177 l_rec_acct_attrs.array_date_value(31) := p_source_84;
84178 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
84179 l_rec_acct_attrs.array_char_value(32) := p_source_85;
84180 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
84181 l_rec_acct_attrs.array_num_value(33) := p_source_86;
84182 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
84183 l_rec_acct_attrs.array_num_value(34) := p_source_87;
84184 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
84185 l_rec_acct_attrs.array_char_value(35) := p_source_88;
84186 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
84187 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_89);
84188 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
84189 l_rec_acct_attrs.array_char_value(37) := p_source_60;
84190 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
84191 l_rec_acct_attrs.array_num_value(38) := p_source_90;
84192 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
84193 l_rec_acct_attrs.array_num_value(39) := p_source_91;
84194 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
84195 l_rec_acct_attrs.array_num_value(40) := p_source_92;
84196 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
84197 l_rec_acct_attrs.array_num_value(41) := p_source_93;
84198 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
84199 l_rec_acct_attrs.array_num_value(42) := p_source_94;
84200 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
84201 l_rec_acct_attrs.array_num_value(43) := p_source_95;
84202
84203 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
84204 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
84205
84206 ---------------------------------------------------------------------------------------------------------------
84207 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
84208 ---------------------------------------------------------------------------------------------------------------
84209 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
84210
84211 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
84215 (p_source_code => 'LEDGER_CATEGORY_CODE'
84212 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
84213
84214 IF xla_accounting_cache_pkg.GetValueChar
84216 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
84217 AND l_bflow_method_code = 'PRIOR_ENTRY'
84218 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
84219 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
84220 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
84221 )
84222 THEN
84223 xla_ae_lines_pkg.BflowUpgEntry
84224 (p_business_method_code => l_bflow_method_code
84225 ,p_business_class_code => l_bflow_class_code
84226 ,p_balance_type => l_balance_type_code);
84227 ELSE
84228 NULL;
84229 XLA_AE_LINES_PKG.business_flow_validation(
84230 p_business_method_code => l_bflow_method_code
84231 ,p_business_class_code => l_bflow_class_code
84232 ,p_inherit_description_flag => l_inherit_desc_flag);
84233 END IF;
84234
84235 --
84236 -- call analytical criteria
84237 --
84238
84239 --
84240 -- call description
84241 --
84242
84243 xla_ae_lines_pkg.SetLineDescription(
84244 p_ae_header_id => l_ae_header_id
84245 ,p_description => Description_2 (
84246 p_application_id => p_application_id
84247 , p_ae_header_id => l_ae_header_id
84248 , p_source_1 => p_source_1
84249 )
84250 );
84251
84252
84253 --
84254 -- call ADRs
84255 -- Bug 4922099
84256 --
84257 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
84258 (NVL(l_actual_upg_option, 'N') = 'O') OR
84259 (NVL(l_enc_upg_option, 'N') = 'O')
84260 )
84261 THEN
84262 NULL;
84263 --
84264 --
84265
84266 xla_ae_lines_pkg.Set_Ccid( -- replaced SetCcid
84267 p_code_combination_id => TO_NUMBER(C_NUM)
84268 , p_value_type_code => NULL
84269 , p_transaction_coa_id => null
84270 , p_accounting_coa_id => null
84271 , p_adr_code => NULL
84272 , p_adr_type_code => NULL
84273 , p_component_type => l_component_type
84274 , p_component_code => l_component_code
84275 , p_component_type_code => l_component_type_code
84276 , p_component_appl_id => l_component_appl_id
84277 , p_amb_context_code => l_amb_context_code
84278 , p_side => NULL
84279 );
84280
84281
84282 -- initialise segments
84283 XLA_AE_LINES_PKG.g_rec_lines.array_segment1(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
84284 XLA_AE_LINES_PKG.g_rec_lines.array_segment2(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
84285 XLA_AE_LINES_PKG.g_rec_lines.array_segment3(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
84286 XLA_AE_LINES_PKG.g_rec_lines.array_segment4(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
84287 XLA_AE_LINES_PKG.g_rec_lines.array_segment5(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
84288 XLA_AE_LINES_PKG.g_rec_lines.array_segment6(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
84289 XLA_AE_LINES_PKG.g_rec_lines.array_segment7(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
84290 XLA_AE_LINES_PKG.g_rec_lines.array_segment8(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
84291 XLA_AE_LINES_PKG.g_rec_lines.array_segment9(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
84292 XLA_AE_LINES_PKG.g_rec_lines.array_segment10(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
84293 XLA_AE_LINES_PKG.g_rec_lines.array_segment11(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
84294 XLA_AE_LINES_PKG.g_rec_lines.array_segment12(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
84295 XLA_AE_LINES_PKG.g_rec_lines.array_segment13(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
84296 XLA_AE_LINES_PKG.g_rec_lines.array_segment14(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
84297 XLA_AE_LINES_PKG.g_rec_lines.array_segment15(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
84298 XLA_AE_LINES_PKG.g_rec_lines.array_segment16(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
84299 XLA_AE_LINES_PKG.g_rec_lines.array_segment17(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
84300 XLA_AE_LINES_PKG.g_rec_lines.array_segment18(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
84301 XLA_AE_LINES_PKG.g_rec_lines.array_segment19(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
84302 XLA_AE_LINES_PKG.g_rec_lines.array_segment20(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
84303 XLA_AE_LINES_PKG.g_rec_lines.array_segment21(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
84304 XLA_AE_LINES_PKG.g_rec_lines.array_segment22(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
84305 XLA_AE_LINES_PKG.g_rec_lines.array_segment23(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
84306 XLA_AE_LINES_PKG.g_rec_lines.array_segment24(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
84307 XLA_AE_LINES_PKG.g_rec_lines.array_segment25(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
84308 XLA_AE_LINES_PKG.g_rec_lines.array_segment26(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
84309 XLA_AE_LINES_PKG.g_rec_lines.array_segment27(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
84310 XLA_AE_LINES_PKG.g_rec_lines.array_segment28(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
84311 XLA_AE_LINES_PKG.g_rec_lines.array_segment29(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
84312 XLA_AE_LINES_PKG.g_rec_lines.array_segment30(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
84313 --
84314
84315 --
84316
84317
84318 l_segment := AcctDerRule_15(
84319 p_application_id => p_application_id
84323 , x_accounting_coa_id => l_adr_accounting_coa_id
84320 , p_ae_header_id => l_ae_header_id
84321 , p_source_29 => p_source_29
84322 , x_transaction_coa_id => l_adr_transaction_coa_id
84324 , x_flexfield_segment_code => l_adr_flexfield_segment_code
84325 , x_flex_value_set_id => l_adr_flex_value_set_id
84326 , x_value_type_code => l_adr_value_type_code
84327 , x_value_combination_id => l_adr_value_combination_id
84328 , x_value_segment_code => l_adr_value_segment_code
84329 , p_side => 'NA'
84330 , p_override_seg_flag => 'Y'
84331 );
84332
84333 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
84334
84335 xla_ae_lines_pkg.set_segment(
84336 p_to_segment_code => 'GL_ACCOUNT'
84337 , p_segment_value => l_segment
84338 , p_from_segment_code => l_adr_value_segment_code
84339 , p_from_combination_id => l_adr_value_combination_id
84340 , p_value_type_code => l_adr_value_type_code
84341 , p_transaction_coa_id => l_adr_transaction_coa_id
84342 , p_accounting_coa_id => l_adr_accounting_coa_id
84343 , p_flexfield_segment_code => l_adr_flexfield_segment_code
84344 , p_flex_value_set_id => l_adr_flex_value_set_id
84345 , p_adr_code => 'AP_LIAB_NAT_ACCT_SEG'
84346 , p_adr_type_code => 'S'
84347 , p_component_type => l_component_type
84348 , p_component_code => l_component_code
84349 , p_component_type_code => l_component_type_code
84350 , p_component_appl_id => l_component_appl_id
84351 , p_amb_context_code => l_amb_context_code
84352 , p_entity_code => 'AP_INVOICES'
84353 , p_event_class_code => 'CREDIT MEMOS'
84354 , p_side => 'NA'
84355 );
84356
84357 END IF;
84358
84359 --
84360 --
84361 END IF;
84362 --
84363 -- Bug 4922099
84364 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
84365 (NVL(l_enc_upg_option, 'N') = 'O')
84366 ) AND
84367 (l_bflow_method_code = 'PRIOR_ENTRY')
84368 )
84369 THEN
84370 IF
84371 --
84372 1 = 2
84373 --
84374 THEN
84375 xla_accounting_err_pkg.build_message
84376 (p_appli_s_name => 'XLA'
84377 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
84378 ,p_token_1 => 'LINE_NUMBER'
84379 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
84380 ,p_token_2 => 'LINE_TYPE_NAME'
84381 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
84382 l_component_type
84383 ,l_component_code
84384 ,l_component_type_code
84385 ,l_component_appl_id
84386 ,l_amb_context_code
84387 ,l_entity_code
84388 ,l_event_class_code
84389 )
84390 ,p_token_3 => 'OWNER'
84391 ,p_value_3 => xla_lookups_pkg.get_meaning(
84392 p_lookup_type => 'XLA_OWNER_TYPE'
84393 ,p_lookup_code => l_component_type_code
84394 )
84395 ,p_token_4 => 'PRODUCT_NAME'
84396 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
84397 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
84398 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
84399 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
84400 ,p_ae_header_id => NULL
84401 );
84402
84403 IF (C_LEVEL_ERROR>= g_log_level) THEN
84404 trace
84405 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
84406 ,p_level => C_LEVEL_ERROR
84407 ,p_module => l_log_module);
84408 END IF;
84409 END IF;
84410 END IF;
84411 --
84412 --
84413 ------------------------------------------------------------------------------------------------
84414 -- 4219869 Business Flow
84415 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
84416 -- Prior Entry. Currently, the following code is always generated.
84420 ------------------------------------------------------------------------------------
84417 ------------------------------------------------------------------------------------------------
84418 XLA_AE_LINES_PKG.ValidateCurrentLine;
84419
84421 -- 4219869 Business Flow
84422 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
84423 ------------------------------------------------------------------------------------
84424 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
84425
84426 ----------------------------------------------------------------------------------
84427 -- 4219869 Business Flow
84428 -- Update journal entry status -- Need to generate this within IF <condition>
84429 ----------------------------------------------------------------------------------
84430 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
84431 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
84432 ,p_balance_type_code => l_balance_type_code
84433 );
84434
84435 -------------------------------------------------------------------------------------------
84436 -- 4262811 - Generate the Accrual Reversal lines
84437 -------------------------------------------------------------------------------------------
84438 BEGIN
84439 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
84440 (g_array_event(p_event_id).array_value_num('header_index'));
84441 IF l_acc_rev_flag IS NULL THEN
84442 l_acc_rev_flag := 'N';
84443 END IF;
84444 EXCEPTION
84445 WHEN OTHERS THEN
84446 l_acc_rev_flag := 'N';
84447 END;
84448 --
84449 IF (l_acc_rev_flag = 'Y') THEN
84450
84451 -- 4645092 ------------------------------------------------------------------------------
84452 -- To allow MPA report to determine if it should generate report process
84453 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
84454 ------------------------------------------------------------------------------------------
84455
84456 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
84457 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
84458 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
84459 -- call ADRs
84460 -- Bug 4922099
84461 --
84462 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
84463 (NVL(l_actual_upg_option, 'N') = 'O') OR
84464 (NVL(l_enc_upg_option, 'N') = 'O')
84465 )
84466 THEN
84467 NULL;
84468 --
84469 --
84470
84471 xla_ae_lines_pkg.Set_Ccid( -- replaced SetCcid
84472 p_code_combination_id => TO_NUMBER(C_NUM)
84473 , p_value_type_code => NULL
84474 , p_transaction_coa_id => null
84475 , p_accounting_coa_id => null
84476 , p_adr_code => NULL
84477 , p_adr_type_code => NULL
84478 , p_component_type => l_component_type
84479 , p_component_code => l_component_code
84480 , p_component_type_code => l_component_type_code
84481 , p_component_appl_id => l_component_appl_id
84482 , p_amb_context_code => l_amb_context_code
84483 , p_side => NULL
84484 );
84485
84486
84487 -- initialise segments
84488 XLA_AE_LINES_PKG.g_rec_lines.array_segment1(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
84489 XLA_AE_LINES_PKG.g_rec_lines.array_segment2(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
84490 XLA_AE_LINES_PKG.g_rec_lines.array_segment3(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
84491 XLA_AE_LINES_PKG.g_rec_lines.array_segment4(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
84492 XLA_AE_LINES_PKG.g_rec_lines.array_segment5(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
84493 XLA_AE_LINES_PKG.g_rec_lines.array_segment6(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
84494 XLA_AE_LINES_PKG.g_rec_lines.array_segment7(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
84495 XLA_AE_LINES_PKG.g_rec_lines.array_segment8(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
84496 XLA_AE_LINES_PKG.g_rec_lines.array_segment9(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
84497 XLA_AE_LINES_PKG.g_rec_lines.array_segment10(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
84498 XLA_AE_LINES_PKG.g_rec_lines.array_segment11(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
84499 XLA_AE_LINES_PKG.g_rec_lines.array_segment12(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
84500 XLA_AE_LINES_PKG.g_rec_lines.array_segment13(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
84501 XLA_AE_LINES_PKG.g_rec_lines.array_segment14(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
84502 XLA_AE_LINES_PKG.g_rec_lines.array_segment15(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
84503 XLA_AE_LINES_PKG.g_rec_lines.array_segment16(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
84504 XLA_AE_LINES_PKG.g_rec_lines.array_segment17(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
84505 XLA_AE_LINES_PKG.g_rec_lines.array_segment18(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
84506 XLA_AE_LINES_PKG.g_rec_lines.array_segment19(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
84507 XLA_AE_LINES_PKG.g_rec_lines.array_segment20(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
84508 XLA_AE_LINES_PKG.g_rec_lines.array_segment21(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
84509 XLA_AE_LINES_PKG.g_rec_lines.array_segment22(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
84510 XLA_AE_LINES_PKG.g_rec_lines.array_segment23(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
84511 XLA_AE_LINES_PKG.g_rec_lines.array_segment24(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
84512 XLA_AE_LINES_PKG.g_rec_lines.array_segment25(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
84516 XLA_AE_LINES_PKG.g_rec_lines.array_segment29(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
84513 XLA_AE_LINES_PKG.g_rec_lines.array_segment26(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
84514 XLA_AE_LINES_PKG.g_rec_lines.array_segment27(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
84515 XLA_AE_LINES_PKG.g_rec_lines.array_segment28(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
84517 XLA_AE_LINES_PKG.g_rec_lines.array_segment30(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
84518 --
84519
84520 --
84521
84522
84523 l_segment := AcctDerRule_15(
84524 p_application_id => p_application_id
84525 , p_ae_header_id => l_ae_header_id
84526 , p_source_29 => p_source_29
84527 , x_transaction_coa_id => l_adr_transaction_coa_id
84528 , x_accounting_coa_id => l_adr_accounting_coa_id
84529 , x_flexfield_segment_code => l_adr_flexfield_segment_code
84530 , x_flex_value_set_id => l_adr_flex_value_set_id
84531 , x_value_type_code => l_adr_value_type_code
84532 , x_value_combination_id => l_adr_value_combination_id
84533 , x_value_segment_code => l_adr_value_segment_code
84534 , p_side => 'NA'
84535 , p_override_seg_flag => 'Y'
84536 );
84537
84538 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
84539
84540 xla_ae_lines_pkg.set_segment(
84541 p_to_segment_code => 'GL_ACCOUNT'
84542 , p_segment_value => l_segment
84543 , p_from_segment_code => l_adr_value_segment_code
84544 , p_from_combination_id => l_adr_value_combination_id
84545 , p_value_type_code => l_adr_value_type_code
84546 , p_transaction_coa_id => l_adr_transaction_coa_id
84547 , p_accounting_coa_id => l_adr_accounting_coa_id
84548 , p_flexfield_segment_code => l_adr_flexfield_segment_code
84549 , p_flex_value_set_id => l_adr_flex_value_set_id
84550 , p_adr_code => 'AP_LIAB_NAT_ACCT_SEG'
84551 , p_adr_type_code => 'S'
84552 , p_component_type => l_component_type
84553 , p_component_code => l_component_code
84554 , p_component_type_code => l_component_type_code
84555 , p_component_appl_id => l_component_appl_id
84556 , p_amb_context_code => l_amb_context_code
84557 , p_entity_code => 'AP_INVOICES'
84558 , p_event_class_code => 'CREDIT MEMOS'
84559 , p_side => 'NA'
84560 );
84561
84562 END IF;
84563
84564 --
84565 --
84566 END IF;
84567
84568 --
84569 -- Update the line information that should be overwritten
84570 --
84571 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
84572 p_header_num => 1);
84573 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
84574
84575 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
84576
84577 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
84578 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
84579 END IF;
84580
84581 --
84582 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
84583 --
84584 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
84585 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
84586 ELSE
84587 ---------------------------------------------------------------------------------------------------
84588 -- 4262811a Switch Sign
84589 ---------------------------------------------------------------------------------------------------
84590 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
84591 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
84592 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
84593 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
84594 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
84595 -- 5132302
84596 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
84597 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
84598
84599 END IF;
84600
84601 -- 4955764
84602 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
84603 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
84604
84605
84606 XLA_AE_LINES_PKG.ValidateCurrentLine;
84607 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
84608
84609 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
84610 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
84611 ,p_balance_type_code => l_balance_type_code);
84612
84613 END IF;
84614
84615 -----------------------------------------------------------------------------------------
84619
84616 -- 4262811 Multiperiod Accounting
84617 -----------------------------------------------------------------------------------------
84618 -- No MPA option is assigned.
84620
84621 END IF;
84622 END IF;
84623 --
84624
84625 --
84626 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
84627 trace
84628 (p_msg => 'END of AcctLineType_158'
84629 ,p_level => C_LEVEL_PROCEDURE
84630 ,p_module => l_log_module);
84631 END IF;
84632 --
84633 EXCEPTION
84634 WHEN xla_exceptions_pkg.application_exception THEN
84635 RAISE;
84636 WHEN OTHERS THEN
84637 xla_exceptions_pkg.raise_message
84638 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_158');
84639 END AcctLineType_158;
84640 --
84641
84642 ---------------------------------------
84643 --
84644 -- PRIVATE FUNCTION
84645 -- AcctLineType_159
84646 --
84647 ---------------------------------------
84648 PROCEDURE AcctLineType_159 (
84649 p_application_id IN NUMBER
84650 ,p_event_id IN NUMBER
84651 ,p_calculate_acctd_flag IN VARCHAR2
84652 ,p_calculate_g_l_flag IN VARCHAR2
84653 ,p_actual_flag IN OUT VARCHAR2
84654 ,p_balance_type_code OUT VARCHAR2
84655 ,p_gain_or_loss_ref OUT VARCHAR2
84656
84657 --Invoice Distribution Description
84658 , p_source_1 IN VARCHAR2
84659 --Automatic Offsets Value
84660 , p_source_10 IN VARCHAR2
84661 , p_source_10_meaning IN VARCHAR2
84662 --Invoice Distribution Ledger Amount
84663 , p_source_16 IN NUMBER
84664 --Invoice Liability Account
84665 , p_source_29 IN NUMBER
84666 --Accounting Reversal Indicator
84667 , p_source_58 IN VARCHAR2
84668 --Distribution Link Type
84669 , p_source_60 IN VARCHAR2
84670 --Allocation to Main Distribution Identifier
84671 , p_source_62 IN NUMBER
84672 --Invoice Identifier
84673 , p_source_63 IN NUMBER
84674 --Invoice Distribution Identifier
84675 , p_source_69 IN NUMBER
84676 --Payables Encumbrance Upgrade Credit Account
84677 , p_source_70 IN NUMBER
84678 --Payables Encumbrance Upgrade Credit Amount
84679 , p_source_71 IN NUMBER
84680 --Invoice Currency Code
84681 , p_source_72 IN VARCHAR2
84682 --Payables Encumbrance Upgrade Credit Base Amount
84683 , p_source_73 IN NUMBER
84684 --Payables Encumbrance Upgrade Debit Account
84685 , p_source_74 IN NUMBER
84686 --Payables Encumbrance Upgrade Debit Amount
84687 , p_source_75 IN NUMBER
84688 --Payables Encumbrance Upgrade Debit Base Amount
84689 , p_source_76 IN NUMBER
84690 --Payables Encumbrance Upgrade Option
84691 , p_source_77 IN VARCHAR2
84692 --Invoice Distribution Amount
84693 , p_source_78 IN NUMBER
84694 --Deferred Accounting End Date
84695 , p_source_82 IN DATE
84696 --Deferred Accounting Option
84697 , p_source_83 IN VARCHAR2
84698 --Deferred Accounting Start Date
84699 , p_source_84 IN DATE
84700 --Override Accounted Amount Indicator
84701 , p_source_85 IN VARCHAR2
84702 , p_source_85_meaning IN VARCHAR2
84703 --Invoice Supplier Identifier
84704 , p_source_86 IN NUMBER
84705 --Invoice Supplier Site Identifier
84706 , p_source_87 IN NUMBER
84707 --Third Party Type
84708 , p_source_88 IN VARCHAR2
84709 --Parent Reversal Identifier
84710 , p_source_89 IN NUMBER
84711 --Invoice Distribution Statistical Amount
84712 , p_source_90 IN NUMBER
84713 --Invoice Distribution Tax Line Identifier
84714 , p_source_91 IN NUMBER
84715 --Invoice Distribution Tax Distribution Identifier from Tax
84716 , p_source_92 IN NUMBER
84717 --Invoice Distribution Summary Tax Line Identifier
84718 , p_source_93 IN NUMBER
84719 --Payables Upgrade Credit Encumbrance Type Identifier
84720 , p_source_94 IN NUMBER
84721 --Payables Upgrade Debit Encumbrance Type Identifier
84722 , p_source_95 IN NUMBER
84723 --Business Flow Accounts Payable Application Identifier
84724 , p_source_96 IN NUMBER
84725 --Business Flow Invoice Distribution Type
84726 , p_source_97 IN VARCHAR2
84727 --Business Flow Invoice Entity Code
84728 , p_source_98 IN VARCHAR2
84729 --Business Flow Invoice Distribution Identifier
84730 , p_source_99 IN NUMBER
84731 --Business Flow Invoice Identifier
84732 , p_source_100 IN NUMBER
84733 --Self-Assessed Tax Flag
84734 , p_source_145 IN VARCHAR2
84735 , p_source_145_meaning IN VARCHAR2
84736 --Invoice Exchange Date
84737 , p_source_146 IN DATE
84738 --Invoice Exchange Rate
84739 , p_source_147 IN NUMBER
84740 --Invoice Exchange Rate Type
84741 , p_source_148 IN VARCHAR2
84742 )
84743 IS
84744
84745 l_component_type VARCHAR2(80);
84746 l_component_code VARCHAR2(30);
84747 l_component_type_code VARCHAR2(1);
84748 l_component_appl_id INTEGER;
84749 l_amb_context_code VARCHAR2(30);
84750 l_entity_code VARCHAR2(30);
84751 l_event_class_code VARCHAR2(30);
84752 l_ae_header_id NUMBER;
84756 --
84753 l_event_type_code VARCHAR2(30);
84754 l_line_definition_code VARCHAR2(30);
84755 l_line_definition_owner_code VARCHAR2(1);
84757 -- adr variables
84758 l_segment VARCHAR2(30);
84759 l_ccid NUMBER;
84760 l_adr_transaction_coa_id NUMBER;
84761 l_adr_accounting_coa_id NUMBER;
84762 l_adr_flexfield_segment_code VARCHAR2(30);
84763 l_adr_flex_value_set_id NUMBER;
84764 l_adr_value_type_code VARCHAR2(30);
84765 l_adr_value_combination_id NUMBER;
84766 l_adr_value_segment_code VARCHAR2(30);
84767
84768 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
84769 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
84770 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
84771 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
84772
84773 -- 4262811 Variables ------------------------------------------------------------------------------------------
84774 l_entered_amt_idx NUMBER;
84775 l_accted_amt_idx NUMBER;
84776 l_acc_rev_flag VARCHAR2(1);
84777 l_accrual_line_num NUMBER;
84778 l_tmp_amt NUMBER;
84779 l_acc_rev_natural_side_code VARCHAR2(1);
84780
84781 l_num_entries NUMBER;
84782 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
84783 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
84784 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
84785 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
84786 l_recog_line_1 NUMBER;
84787 l_recog_line_2 NUMBER;
84788
84789 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
84790 l_bflow_applied_to_amt NUMBER; -- 5132302
84791 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
84792
84793 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
84794
84795 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
84796 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
84797
84798 ---------------------------------------------------------------------------------------------------------------
84799
84800
84801 --
84802 -- bulk performance
84803 --
84804 l_balance_type_code VARCHAR2(1);
84805 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
84806 l_log_module VARCHAR2(240);
84807
84808 --
84809 -- Upgrade strategy
84810 --
84811 l_actual_upg_option VARCHAR2(1);
84812 l_enc_upg_option VARCHAR2(1);
84813
84814 --
84815 BEGIN
84816 --
84817 IF g_log_enabled THEN
84818 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_159';
84819 END IF;
84820 --
84821 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
84822
84823 trace
84824 (p_msg => 'BEGIN of AcctLineType_159'
84825 ,p_level => C_LEVEL_PROCEDURE
84826 ,p_module => l_log_module);
84827
84828 END IF;
84829 --
84830 l_component_type := 'AMB_JLT';
84831 l_component_code := 'AP_LIAB_CM_AOS_BS';
84832 l_component_type_code := 'S';
84833 l_component_appl_id := 200;
84834 l_amb_context_code := 'DEFAULT';
84835 l_entity_code := 'AP_INVOICES';
84836 l_event_class_code := 'CREDIT MEMOS';
84837 l_event_type_code := 'CREDIT MEMOS_ALL';
84838 l_line_definition_owner_code := 'S';
84839 l_line_definition_code := 'ACCRUAL_CREDIT MEMOS_ALL';
84840 --
84841 l_balance_type_code := 'A';
84842 l_segment := NULL;
84843 l_ccid := NULL;
84844 l_adr_transaction_coa_id := NULL;
84845 l_adr_accounting_coa_id := NULL;
84846 l_adr_flexfield_segment_code := NULL;
84847 l_adr_flex_value_set_id := NULL;
84848 l_adr_value_type_code := NULL;
84849 l_adr_value_combination_id := NULL;
84850 l_adr_value_segment_code := NULL;
84851
84852 l_bflow_method_code := 'SAME_ENTRY'; -- 4219869 Business Flow
84853 l_bflow_class_code := 'AP_LIAB'; -- 4219869 Business Flow
84854 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
84855 l_budgetary_control_flag := 'N';
84856
84857 l_bflow_applied_to_amt_idx := NULL; -- 5132302
84858 l_bflow_applied_to_amt := NULL; -- 5132302
84859 l_entered_amt_idx := NULL; -- 4262811
84860 l_accted_amt_idx := NULL; -- 4262811
84861 l_acc_rev_flag := NULL; -- 4262811
84862 l_accrual_line_num := NULL; -- 4262811
84863 l_tmp_amt := NULL; -- 4262811
84864 --
84865
84866 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
84867 l_balance_type_code <> 'B' THEN
84868 IF NVL(p_source_10,'
84869 ') = 'BALANCING_SEGMENT' AND
84870 NVL(p_source_145,'
84871 ') <> 'Y'
84872 THEN
84873
84874 --
84875 XLA_AE_LINES_PKG.SetNewLine;
84876
84877 p_balance_type_code := l_balance_type_code;
84878 -- set the flag so later we will know whether the gain loss line needs to be created
84879
84883
84880 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
84881 p_actual_flag :='A';
84882 END IF;
84884 --
84885 -- bulk performance
84886 --
84887 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
84888 p_header_num => 0); -- 4262811
84889 --
84890 -- set accounting line options
84891 --
84892 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
84893 p_natural_side_code => 'C'
84894 , p_gain_or_loss_flag => 'N'
84895 , p_gl_transfer_mode_code => 'S'
84896 , p_acct_entry_type_code => 'A'
84897 , p_switch_side_flag => 'Y'
84898 , p_merge_duplicate_code => 'A'
84899 );
84900 --
84901 l_acc_rev_natural_side_code := 'D'; -- 4262811
84902 --
84903 --
84904 -- set accounting line type info
84905 --
84906 xla_ae_lines_pkg.SetAcctLineType
84907 (p_component_type => l_component_type
84908 ,p_event_type_code => l_event_type_code
84909 ,p_line_definition_owner_code => l_line_definition_owner_code
84910 ,p_line_definition_code => l_line_definition_code
84911 ,p_accounting_line_code => l_component_code
84912 ,p_accounting_line_type_code => l_component_type_code
84913 ,p_accounting_line_appl_id => l_component_appl_id
84914 ,p_amb_context_code => l_amb_context_code
84915 ,p_entity_code => l_entity_code
84916 ,p_event_class_code => l_event_class_code);
84917 --
84918 -- set accounting class
84919 --
84920 xla_ae_lines_pkg.SetAcctClass(
84921 p_accounting_class_code => 'LIABILITY'
84922 , p_ae_header_id => l_ae_header_id
84923 );
84924
84925 --
84926 -- set rounding class
84927 --
84928 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
84929 'LIABILITY';
84930
84931 --
84932 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
84933 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
84934 --
84935 -- bulk performance
84936 --
84937 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
84938
84939 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
84940 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
84941
84942 -- 4955764
84943 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
84944 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
84945
84946 -- 4458381 Public Sector Enh
84947
84948 --
84949 -- set accounting attributes for the line type
84950 --
84951 l_entered_amt_idx := 23;
84952 l_accted_amt_idx := 28;
84953 l_bflow_applied_to_amt_idx := NULL; -- 5132302
84954 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
84955 l_rec_acct_attrs.array_char_value(1) := p_source_58;
84956 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
84957 l_rec_acct_attrs.array_num_value(2) :=
84958 xla_ae_sources_pkg.GetSystemSourceNum(
84959 p_source_code => 'XLA_EVENT_APPL_ID'
84960 , p_source_type_code => 'Y'
84961 , p_source_application_id => 602
84962 );
84963 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
84964 l_rec_acct_attrs.array_char_value(3) := p_source_60;
84965 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
84966 l_rec_acct_attrs.array_char_value(4) :=
84967 xla_ae_sources_pkg.GetSystemSourceChar(
84968 p_source_code => 'XLA_ENTITY_CODE'
84969 , p_source_type_code => 'Y'
84970 , p_source_application_id => 602
84971 );
84972 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
84973 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_62);
84974 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
84975 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_63);
84976 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
84977 l_rec_acct_attrs.array_num_value(7) := p_source_96;
84978 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
84979 l_rec_acct_attrs.array_char_value(8) := p_source_97;
84980 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
84981 l_rec_acct_attrs.array_char_value(9) := p_source_98;
84982 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
84983 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_99);
84984 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
84985 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_100);
84986 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
84987 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_69);
84988 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
84989 l_rec_acct_attrs.array_char_value(13) := p_source_60;
84990 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
84991 l_rec_acct_attrs.array_num_value(14) := p_source_70;
84992 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
84993 l_rec_acct_attrs.array_num_value(15) := p_source_71;
84997 l_rec_acct_attrs.array_num_value(17) := p_source_73;
84994 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
84995 l_rec_acct_attrs.array_char_value(16) := p_source_72;
84996 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
84998 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
84999 l_rec_acct_attrs.array_num_value(18) := p_source_74;
85000 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
85001 l_rec_acct_attrs.array_num_value(19) := p_source_75;
85002 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
85003 l_rec_acct_attrs.array_char_value(20) := p_source_72;
85004 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
85005 l_rec_acct_attrs.array_num_value(21) := p_source_76;
85006 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
85007 l_rec_acct_attrs.array_char_value(22) := p_source_77;
85008 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
85009 l_rec_acct_attrs.array_num_value(23) := p_source_78;
85010 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
85011 l_rec_acct_attrs.array_char_value(24) := p_source_72;
85012 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
85013 l_rec_acct_attrs.array_date_value(25) := p_source_146;
85014 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
85015 l_rec_acct_attrs.array_num_value(26) := p_source_147;
85016 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
85017 l_rec_acct_attrs.array_char_value(27) := p_source_148;
85018 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
85019 l_rec_acct_attrs.array_num_value(28) := p_source_16;
85020 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
85021 l_rec_acct_attrs.array_date_value(29) := p_source_82;
85022 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
85023 l_rec_acct_attrs.array_char_value(30) := p_source_83;
85024 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
85025 l_rec_acct_attrs.array_date_value(31) := p_source_84;
85026 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
85027 l_rec_acct_attrs.array_char_value(32) := p_source_85;
85028 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
85029 l_rec_acct_attrs.array_num_value(33) := p_source_86;
85030 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
85031 l_rec_acct_attrs.array_num_value(34) := p_source_87;
85032 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
85033 l_rec_acct_attrs.array_char_value(35) := p_source_88;
85034 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
85035 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_89);
85036 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
85037 l_rec_acct_attrs.array_char_value(37) := p_source_60;
85038 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
85039 l_rec_acct_attrs.array_num_value(38) := p_source_90;
85040 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
85041 l_rec_acct_attrs.array_num_value(39) := p_source_91;
85042 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
85043 l_rec_acct_attrs.array_num_value(40) := p_source_92;
85044 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
85045 l_rec_acct_attrs.array_num_value(41) := p_source_93;
85046 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
85047 l_rec_acct_attrs.array_num_value(42) := p_source_94;
85048 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
85049 l_rec_acct_attrs.array_num_value(43) := p_source_95;
85050
85051 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
85052 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
85053
85054 ---------------------------------------------------------------------------------------------------------------
85055 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
85056 ---------------------------------------------------------------------------------------------------------------
85057 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
85058
85059 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
85060 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
85061
85062 IF xla_accounting_cache_pkg.GetValueChar
85063 (p_source_code => 'LEDGER_CATEGORY_CODE'
85064 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
85065 AND l_bflow_method_code = 'PRIOR_ENTRY'
85066 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
85067 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
85068 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
85069 )
85070 THEN
85071 xla_ae_lines_pkg.BflowUpgEntry
85072 (p_business_method_code => l_bflow_method_code
85073 ,p_business_class_code => l_bflow_class_code
85074 ,p_balance_type => l_balance_type_code);
85075 ELSE
85076 NULL;
85077 XLA_AE_LINES_PKG.business_flow_validation(
85078 p_business_method_code => l_bflow_method_code
85079 ,p_business_class_code => l_bflow_class_code
85083 --
85080 ,p_inherit_description_flag => l_inherit_desc_flag);
85081 END IF;
85082
85084 -- call analytical criteria
85085 --
85086
85087 --
85088 -- call description
85089 --
85090
85091 xla_ae_lines_pkg.SetLineDescription(
85092 p_ae_header_id => l_ae_header_id
85093 ,p_description => Description_2 (
85094 p_application_id => p_application_id
85095 , p_ae_header_id => l_ae_header_id
85096 , p_source_1 => p_source_1
85097 )
85098 );
85099
85100
85101 --
85102 -- call ADRs
85103 -- Bug 4922099
85104 --
85105 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
85106 (NVL(l_actual_upg_option, 'N') = 'O') OR
85107 (NVL(l_enc_upg_option, 'N') = 'O')
85108 )
85109 THEN
85110 NULL;
85111 --
85112 --
85113
85114 l_ccid := AcctDerRule_36(
85115 p_application_id => p_application_id
85116 , p_ae_header_id => l_ae_header_id
85117 , p_source_29 => p_source_29
85118 , x_transaction_coa_id => l_adr_transaction_coa_id
85119 , x_accounting_coa_id => l_adr_accounting_coa_id
85120 , x_value_type_code => l_adr_value_type_code
85121 , p_side => 'NA'
85122 );
85123
85124 xla_ae_lines_pkg.set_ccid(
85125 p_code_combination_id => l_ccid
85126 , p_value_type_code => l_adr_value_type_code
85127 , p_transaction_coa_id => l_adr_transaction_coa_id
85128 , p_accounting_coa_id => l_adr_accounting_coa_id
85129 , p_adr_code => 'AP_LIAB'
85130 , p_adr_type_code => 'S'
85131 , p_component_type => l_component_type
85132 , p_component_code => l_component_code
85133 , p_component_type_code => l_component_type_code
85134 , p_component_appl_id => l_component_appl_id
85135 , p_amb_context_code => l_amb_context_code
85136 , p_side => 'NA'
85137 );
85138
85139
85140 xla_ae_lines_pkg.Set_Segment( -- replaced SetSegment
85141 p_to_segment_code => 'GL_BALANCING'
85142 , p_segment_value => C_CHAR
85143 , p_from_segment_code => NULL
85144 , p_from_combination_id => NULL
85145 , p_value_type_code => NULL
85146 , p_transaction_coa_id => null
85147 , p_accounting_coa_id => null
85148 , p_flexfield_segment_code => NULL
85149 , p_flex_value_set_id => NULL
85150 , p_adr_code => NULL
85151 , p_adr_type_code => NULL
85152 , p_component_type => l_component_type
85153 , p_component_code => l_component_code
85154 , p_component_type_code => l_component_type_code
85155 , p_component_appl_id => l_component_appl_id
85156 , p_amb_context_code => l_amb_context_code
85157 , p_entity_code => 'AP_INVOICES'
85158 , p_event_class_code => 'CREDIT MEMOS'
85159 , p_side => 'NA'
85160 );
85161 --
85162
85163
85164 --
85165 --
85166 END IF;
85167 --
85168 -- Bug 4922099
85169 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
85170 (NVL(l_enc_upg_option, 'N') = 'O')
85171 ) AND
85172 (l_bflow_method_code = 'PRIOR_ENTRY')
85173 )
85174 THEN
85175 IF
85176 --
85177 1 = 2
85178 --
85179 THEN
85180 xla_accounting_err_pkg.build_message
85181 (p_appli_s_name => 'XLA'
85182 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
85183 ,p_token_1 => 'LINE_NUMBER'
85184 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
85185 ,p_token_2 => 'LINE_TYPE_NAME'
85186 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
85187 l_component_type
85188 ,l_component_code
85189 ,l_component_type_code
85190 ,l_component_appl_id
85191 ,l_amb_context_code
85192 ,l_entity_code
85193 ,l_event_class_code
85194 )
85195 ,p_token_3 => 'OWNER'
85196 ,p_value_3 => xla_lookups_pkg.get_meaning(
85197 p_lookup_type => 'XLA_OWNER_TYPE'
85198 ,p_lookup_code => l_component_type_code
85199 )
85200 ,p_token_4 => 'PRODUCT_NAME'
85204 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
85201 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
85202 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
85203 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
85205 ,p_ae_header_id => NULL
85206 );
85207
85208 IF (C_LEVEL_ERROR>= g_log_level) THEN
85209 trace
85210 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
85211 ,p_level => C_LEVEL_ERROR
85212 ,p_module => l_log_module);
85213 END IF;
85214 END IF;
85215 END IF;
85216 --
85217 --
85218 ------------------------------------------------------------------------------------------------
85219 -- 4219869 Business Flow
85220 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
85221 -- Prior Entry. Currently, the following code is always generated.
85222 ------------------------------------------------------------------------------------------------
85223 XLA_AE_LINES_PKG.ValidateCurrentLine;
85224
85225 ------------------------------------------------------------------------------------
85226 -- 4219869 Business Flow
85227 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
85228 ------------------------------------------------------------------------------------
85229 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
85230
85231 ----------------------------------------------------------------------------------
85232 -- 4219869 Business Flow
85233 -- Update journal entry status -- Need to generate this within IF <condition>
85234 ----------------------------------------------------------------------------------
85235 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
85236 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
85237 ,p_balance_type_code => l_balance_type_code
85238 );
85239
85240 -------------------------------------------------------------------------------------------
85241 -- 4262811 - Generate the Accrual Reversal lines
85242 -------------------------------------------------------------------------------------------
85243 BEGIN
85244 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
85245 (g_array_event(p_event_id).array_value_num('header_index'));
85246 IF l_acc_rev_flag IS NULL THEN
85247 l_acc_rev_flag := 'N';
85248 END IF;
85249 EXCEPTION
85250 WHEN OTHERS THEN
85251 l_acc_rev_flag := 'N';
85252 END;
85253 --
85254 IF (l_acc_rev_flag = 'Y') THEN
85255
85256 -- 4645092 ------------------------------------------------------------------------------
85257 -- To allow MPA report to determine if it should generate report process
85258 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
85259 ------------------------------------------------------------------------------------------
85260
85261 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
85262 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
85263 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
85264 -- call ADRs
85265 -- Bug 4922099
85266 --
85267 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
85268 (NVL(l_actual_upg_option, 'N') = 'O') OR
85269 (NVL(l_enc_upg_option, 'N') = 'O')
85270 )
85271 THEN
85272 NULL;
85273 --
85274 --
85275
85276 l_ccid := AcctDerRule_36(
85277 p_application_id => p_application_id
85278 , p_ae_header_id => l_ae_header_id
85279 , p_source_29 => p_source_29
85280 , x_transaction_coa_id => l_adr_transaction_coa_id
85281 , x_accounting_coa_id => l_adr_accounting_coa_id
85282 , x_value_type_code => l_adr_value_type_code
85283 , p_side => 'NA'
85284 );
85285
85286 xla_ae_lines_pkg.set_ccid(
85287 p_code_combination_id => l_ccid
85288 , p_value_type_code => l_adr_value_type_code
85289 , p_transaction_coa_id => l_adr_transaction_coa_id
85290 , p_accounting_coa_id => l_adr_accounting_coa_id
85291 , p_adr_code => 'AP_LIAB'
85292 , p_adr_type_code => 'S'
85293 , p_component_type => l_component_type
85294 , p_component_code => l_component_code
85295 , p_component_type_code => l_component_type_code
85296 , p_component_appl_id => l_component_appl_id
85297 , p_amb_context_code => l_amb_context_code
85298 , p_side => 'NA'
85299 );
85300
85301
85302 xla_ae_lines_pkg.Set_Segment( -- replaced SetSegment
85303 p_to_segment_code => 'GL_BALANCING'
85304 , p_segment_value => C_CHAR
85305 , p_from_segment_code => NULL
85306 , p_from_combination_id => NULL
85307 , p_value_type_code => NULL
85308 , p_transaction_coa_id => null
85309 , p_accounting_coa_id => null
85313 , p_adr_type_code => NULL
85310 , p_flexfield_segment_code => NULL
85311 , p_flex_value_set_id => NULL
85312 , p_adr_code => NULL
85314 , p_component_type => l_component_type
85315 , p_component_code => l_component_code
85316 , p_component_type_code => l_component_type_code
85317 , p_component_appl_id => l_component_appl_id
85318 , p_amb_context_code => l_amb_context_code
85319 , p_entity_code => 'AP_INVOICES'
85320 , p_event_class_code => 'CREDIT MEMOS'
85321 , p_side => 'NA'
85322 );
85323 --
85324
85325
85326 --
85327 --
85328 END IF;
85329
85330 --
85331 -- Update the line information that should be overwritten
85332 --
85333 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
85334 p_header_num => 1);
85335 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
85336
85337 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
85338
85339 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
85340 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
85341 END IF;
85342
85343 --
85344 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
85345 --
85346 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
85347 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
85348 ELSE
85349 ---------------------------------------------------------------------------------------------------
85350 -- 4262811a Switch Sign
85351 ---------------------------------------------------------------------------------------------------
85352 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
85353 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
85354 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
85355 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
85356 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
85357 -- 5132302
85358 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
85359 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
85360
85361 END IF;
85362
85363 -- 4955764
85364 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
85365 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
85366
85367
85368 XLA_AE_LINES_PKG.ValidateCurrentLine;
85369 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
85370
85371 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
85372 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
85373 ,p_balance_type_code => l_balance_type_code);
85374
85375 END IF;
85376
85377 -----------------------------------------------------------------------------------------
85378 -- 4262811 Multiperiod Accounting
85379 -----------------------------------------------------------------------------------------
85380 -- No MPA option is assigned.
85381
85382
85383 END IF;
85384 END IF;
85385 --
85386
85387 --
85388 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
85389 trace
85390 (p_msg => 'END of AcctLineType_159'
85391 ,p_level => C_LEVEL_PROCEDURE
85392 ,p_module => l_log_module);
85393 END IF;
85394 --
85395 EXCEPTION
85396 WHEN xla_exceptions_pkg.application_exception THEN
85397 RAISE;
85398 WHEN OTHERS THEN
85399 xla_exceptions_pkg.raise_message
85400 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_159');
85401 END AcctLineType_159;
85402 --
85403
85404 ---------------------------------------
85405 --
85406 -- PRIVATE FUNCTION
85407 -- AcctLineType_160
85408 --
85409 ---------------------------------------
85410 PROCEDURE AcctLineType_160 (
85411 p_application_id IN NUMBER
85412 ,p_event_id IN NUMBER
85413 ,p_calculate_acctd_flag IN VARCHAR2
85414 ,p_calculate_g_l_flag IN VARCHAR2
85415 ,p_actual_flag IN OUT VARCHAR2
85416 ,p_balance_type_code OUT VARCHAR2
85417 ,p_gain_or_loss_ref OUT VARCHAR2
85418
85419 --Invoice Distribution Description
85420 , p_source_1 IN VARCHAR2
85421 --Automatic Offsets Value
85422 , p_source_10 IN VARCHAR2
85423 , p_source_10_meaning IN VARCHAR2
85424 --Invoice Distribution Ledger Amount
85425 , p_source_16 IN NUMBER
85426 --Invoice Liability Account
85427 , p_source_29 IN NUMBER
85428 --Accounting Reversal Indicator
85429 , p_source_58 IN VARCHAR2
85430 --Distribution Link Type
85431 , p_source_60 IN VARCHAR2
85432 --Allocation to Main Distribution Identifier
85436 --Invoice Distribution Identifier
85433 , p_source_62 IN NUMBER
85434 --Invoice Identifier
85435 , p_source_63 IN NUMBER
85437 , p_source_69 IN NUMBER
85438 --Payables Encumbrance Upgrade Credit Account
85439 , p_source_70 IN NUMBER
85440 --Payables Encumbrance Upgrade Credit Amount
85441 , p_source_71 IN NUMBER
85442 --Invoice Currency Code
85443 , p_source_72 IN VARCHAR2
85444 --Payables Encumbrance Upgrade Credit Base Amount
85445 , p_source_73 IN NUMBER
85446 --Payables Encumbrance Upgrade Debit Account
85447 , p_source_74 IN NUMBER
85448 --Payables Encumbrance Upgrade Debit Amount
85449 , p_source_75 IN NUMBER
85450 --Payables Encumbrance Upgrade Debit Base Amount
85451 , p_source_76 IN NUMBER
85452 --Payables Encumbrance Upgrade Option
85453 , p_source_77 IN VARCHAR2
85454 --Invoice Distribution Amount
85455 , p_source_78 IN NUMBER
85456 --Deferred Accounting End Date
85457 , p_source_82 IN DATE
85458 --Deferred Accounting Option
85459 , p_source_83 IN VARCHAR2
85460 --Deferred Accounting Start Date
85461 , p_source_84 IN DATE
85462 --Override Accounted Amount Indicator
85463 , p_source_85 IN VARCHAR2
85464 , p_source_85_meaning IN VARCHAR2
85465 --Invoice Supplier Identifier
85466 , p_source_86 IN NUMBER
85467 --Invoice Supplier Site Identifier
85468 , p_source_87 IN NUMBER
85469 --Third Party Type
85470 , p_source_88 IN VARCHAR2
85471 --Parent Reversal Identifier
85472 , p_source_89 IN NUMBER
85473 --Invoice Distribution Tax Line Identifier
85474 , p_source_91 IN NUMBER
85475 --Invoice Distribution Tax Distribution Identifier from Tax
85476 , p_source_92 IN NUMBER
85477 --Invoice Distribution Summary Tax Line Identifier
85478 , p_source_93 IN NUMBER
85479 --Payables Upgrade Credit Encumbrance Type Identifier
85480 , p_source_94 IN NUMBER
85481 --Payables Upgrade Debit Encumbrance Type Identifier
85482 , p_source_95 IN NUMBER
85483 --Business Flow Accounts Payable Application Identifier
85484 , p_source_96 IN NUMBER
85485 --Business Flow Invoice Distribution Type
85486 , p_source_97 IN VARCHAR2
85487 --Business Flow Invoice Entity Code
85488 , p_source_98 IN VARCHAR2
85489 --Business Flow Invoice Distribution Identifier
85490 , p_source_99 IN NUMBER
85491 --Business Flow Invoice Identifier
85492 , p_source_100 IN NUMBER
85493 --Self-Assessed Tax Flag
85494 , p_source_145 IN VARCHAR2
85495 , p_source_145_meaning IN VARCHAR2
85496 --Invoice Exchange Date
85497 , p_source_146 IN DATE
85498 --Invoice Exchange Rate
85499 , p_source_147 IN NUMBER
85500 --Invoice Exchange Rate Type
85501 , p_source_148 IN VARCHAR2
85502 )
85503 IS
85504
85505 l_component_type VARCHAR2(80);
85506 l_component_code VARCHAR2(30);
85507 l_component_type_code VARCHAR2(1);
85508 l_component_appl_id INTEGER;
85509 l_amb_context_code VARCHAR2(30);
85510 l_entity_code VARCHAR2(30);
85511 l_event_class_code VARCHAR2(30);
85512 l_ae_header_id NUMBER;
85513 l_event_type_code VARCHAR2(30);
85514 l_line_definition_code VARCHAR2(30);
85515 l_line_definition_owner_code VARCHAR2(1);
85516 --
85517 -- adr variables
85518 l_segment VARCHAR2(30);
85519 l_ccid NUMBER;
85520 l_adr_transaction_coa_id NUMBER;
85521 l_adr_accounting_coa_id NUMBER;
85522 l_adr_flexfield_segment_code VARCHAR2(30);
85523 l_adr_flex_value_set_id NUMBER;
85524 l_adr_value_type_code VARCHAR2(30);
85525 l_adr_value_combination_id NUMBER;
85526 l_adr_value_segment_code VARCHAR2(30);
85527
85528 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
85529 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
85530 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
85531 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
85532
85533 -- 4262811 Variables ------------------------------------------------------------------------------------------
85534 l_entered_amt_idx NUMBER;
85535 l_accted_amt_idx NUMBER;
85536 l_acc_rev_flag VARCHAR2(1);
85537 l_accrual_line_num NUMBER;
85538 l_tmp_amt NUMBER;
85539 l_acc_rev_natural_side_code VARCHAR2(1);
85540
85541 l_num_entries NUMBER;
85542 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
85543 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
85544 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
85545 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
85546 l_recog_line_1 NUMBER;
85547 l_recog_line_2 NUMBER;
85548
85549 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
85550 l_bflow_applied_to_amt NUMBER; -- 5132302
85551 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
85552
85553 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
85554
85558 ---------------------------------------------------------------------------------------------------------------
85555 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
85556 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
85557
85559
85560
85561 --
85562 -- bulk performance
85563 --
85564 l_balance_type_code VARCHAR2(1);
85565 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
85566 l_log_module VARCHAR2(240);
85567
85568 --
85569 -- Upgrade strategy
85570 --
85571 l_actual_upg_option VARCHAR2(1);
85572 l_enc_upg_option VARCHAR2(1);
85573
85574 --
85575 BEGIN
85576 --
85577 IF g_log_enabled THEN
85578 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_160';
85579 END IF;
85580 --
85581 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
85582
85583 trace
85584 (p_msg => 'BEGIN of AcctLineType_160'
85585 ,p_level => C_LEVEL_PROCEDURE
85586 ,p_module => l_log_module);
85587
85588 END IF;
85589 --
85590 l_component_type := 'AMB_JLT';
85591 l_component_code := 'AP_LIAB_DM';
85592 l_component_type_code := 'S';
85593 l_component_appl_id := 200;
85594 l_amb_context_code := 'DEFAULT';
85595 l_entity_code := 'AP_INVOICES';
85596 l_event_class_code := 'DEBIT MEMOS';
85597 l_event_type_code := 'DEBIT MEMOS_ALL';
85598 l_line_definition_owner_code := 'S';
85599 l_line_definition_code := 'ACCRUAL_DEBIT MEMOS_ALL';
85600 --
85601 l_balance_type_code := 'A';
85602 l_segment := NULL;
85603 l_ccid := NULL;
85604 l_adr_transaction_coa_id := NULL;
85605 l_adr_accounting_coa_id := NULL;
85606 l_adr_flexfield_segment_code := NULL;
85607 l_adr_flex_value_set_id := NULL;
85608 l_adr_value_type_code := NULL;
85609 l_adr_value_combination_id := NULL;
85610 l_adr_value_segment_code := NULL;
85611
85612 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
85613 l_bflow_class_code := 'AP_LIAB'; -- 4219869 Business Flow
85614 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
85615 l_budgetary_control_flag := 'N';
85616
85617 l_bflow_applied_to_amt_idx := NULL; -- 5132302
85618 l_bflow_applied_to_amt := NULL; -- 5132302
85619 l_entered_amt_idx := NULL; -- 4262811
85620 l_accted_amt_idx := NULL; -- 4262811
85621 l_acc_rev_flag := NULL; -- 4262811
85622 l_accrual_line_num := NULL; -- 4262811
85623 l_tmp_amt := NULL; -- 4262811
85624 --
85625
85626 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
85627 l_balance_type_code <> 'B' THEN
85628 IF (NVL(p_source_10,'
85629 ') <> 'BALANCING_SEGMENT' AND
85630 NVL(p_source_10,'
85631 ') <> 'ACCOUNT_SEGMENT_VALUE') AND
85632 NVL(p_source_145,'
85633 ') <> 'Y'
85634 THEN
85635
85636 --
85637 XLA_AE_LINES_PKG.SetNewLine;
85638
85639 p_balance_type_code := l_balance_type_code;
85640 -- set the flag so later we will know whether the gain loss line needs to be created
85641
85642 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
85643 p_actual_flag :='A';
85644 END IF;
85645
85646 --
85647 -- bulk performance
85648 --
85649 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
85650 p_header_num => 0); -- 4262811
85651 --
85652 -- set accounting line options
85653 --
85654 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
85655 p_natural_side_code => 'C'
85656 , p_gain_or_loss_flag => 'N'
85657 , p_gl_transfer_mode_code => 'S'
85658 , p_acct_entry_type_code => 'A'
85659 , p_switch_side_flag => 'Y'
85660 , p_merge_duplicate_code => 'A'
85661 );
85662 --
85663 l_acc_rev_natural_side_code := 'D'; -- 4262811
85664 --
85665 --
85666 -- set accounting line type info
85667 --
85668 xla_ae_lines_pkg.SetAcctLineType
85669 (p_component_type => l_component_type
85670 ,p_event_type_code => l_event_type_code
85671 ,p_line_definition_owner_code => l_line_definition_owner_code
85672 ,p_line_definition_code => l_line_definition_code
85673 ,p_accounting_line_code => l_component_code
85674 ,p_accounting_line_type_code => l_component_type_code
85675 ,p_accounting_line_appl_id => l_component_appl_id
85676 ,p_amb_context_code => l_amb_context_code
85677 ,p_entity_code => l_entity_code
85678 ,p_event_class_code => l_event_class_code);
85679 --
85680 -- set accounting class
85681 --
85682 xla_ae_lines_pkg.SetAcctClass(
85683 p_accounting_class_code => 'LIABILITY'
85684 , p_ae_header_id => l_ae_header_id
85685 );
85686
85687 --
85688 -- set rounding class
85689 --
85690 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
85691 'LIABILITY';
85692
85693 --
85697 -- bulk performance
85694 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
85695 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
85696 --
85698 --
85699 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
85700
85701 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
85702 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
85703
85704 -- 4955764
85705 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
85706 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
85707
85708 -- 4458381 Public Sector Enh
85709
85710 --
85711 -- set accounting attributes for the line type
85712 --
85713 l_entered_amt_idx := 23;
85714 l_accted_amt_idx := 28;
85715 l_bflow_applied_to_amt_idx := NULL; -- 5132302
85716 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
85717 l_rec_acct_attrs.array_char_value(1) := p_source_58;
85718 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
85719 l_rec_acct_attrs.array_num_value(2) :=
85720 xla_ae_sources_pkg.GetSystemSourceNum(
85721 p_source_code => 'XLA_EVENT_APPL_ID'
85722 , p_source_type_code => 'Y'
85723 , p_source_application_id => 602
85724 );
85725 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
85726 l_rec_acct_attrs.array_char_value(3) := p_source_60;
85727 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
85728 l_rec_acct_attrs.array_char_value(4) :=
85729 xla_ae_sources_pkg.GetSystemSourceChar(
85730 p_source_code => 'XLA_ENTITY_CODE'
85731 , p_source_type_code => 'Y'
85732 , p_source_application_id => 602
85733 );
85734 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
85735 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_62);
85736 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
85737 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_63);
85738 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
85739 l_rec_acct_attrs.array_num_value(7) := p_source_96;
85740 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
85741 l_rec_acct_attrs.array_char_value(8) := p_source_97;
85742 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
85743 l_rec_acct_attrs.array_char_value(9) := p_source_98;
85744 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
85745 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_99);
85746 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
85747 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_100);
85748 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
85749 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_69);
85750 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
85751 l_rec_acct_attrs.array_char_value(13) := p_source_60;
85752 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
85753 l_rec_acct_attrs.array_num_value(14) := p_source_70;
85754 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
85755 l_rec_acct_attrs.array_num_value(15) := p_source_71;
85756 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
85757 l_rec_acct_attrs.array_char_value(16) := p_source_72;
85758 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
85759 l_rec_acct_attrs.array_num_value(17) := p_source_73;
85760 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
85761 l_rec_acct_attrs.array_num_value(18) := p_source_74;
85762 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
85763 l_rec_acct_attrs.array_num_value(19) := p_source_75;
85764 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
85765 l_rec_acct_attrs.array_char_value(20) := p_source_72;
85766 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
85767 l_rec_acct_attrs.array_num_value(21) := p_source_76;
85768 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
85769 l_rec_acct_attrs.array_char_value(22) := p_source_77;
85770 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
85771 l_rec_acct_attrs.array_num_value(23) := p_source_78;
85772 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
85773 l_rec_acct_attrs.array_char_value(24) := p_source_72;
85774 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
85775 l_rec_acct_attrs.array_date_value(25) := p_source_146;
85776 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
85777 l_rec_acct_attrs.array_num_value(26) := p_source_147;
85778 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
85779 l_rec_acct_attrs.array_char_value(27) := p_source_148;
85780 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
85781 l_rec_acct_attrs.array_num_value(28) := p_source_16;
85782 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
85783 l_rec_acct_attrs.array_date_value(29) := p_source_82;
85784 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
85785 l_rec_acct_attrs.array_char_value(30) := p_source_83;
85786 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
85787 l_rec_acct_attrs.array_date_value(31) := p_source_84;
85791 l_rec_acct_attrs.array_num_value(33) := p_source_86;
85788 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
85789 l_rec_acct_attrs.array_char_value(32) := p_source_85;
85790 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
85792 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
85793 l_rec_acct_attrs.array_num_value(34) := p_source_87;
85794 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
85795 l_rec_acct_attrs.array_char_value(35) := p_source_88;
85796 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
85797 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_89);
85798 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
85799 l_rec_acct_attrs.array_char_value(37) := p_source_60;
85800 l_rec_acct_attrs.array_acct_attr_code(38) := 'TAX_LINE_REF_ID';
85801 l_rec_acct_attrs.array_num_value(38) := p_source_91;
85802 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_REC_NREC_DIST_REF_ID';
85803 l_rec_acct_attrs.array_num_value(39) := p_source_92;
85804 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_SUMMARY_LINE_REF_ID';
85805 l_rec_acct_attrs.array_num_value(40) := p_source_93;
85806 l_rec_acct_attrs.array_acct_attr_code(41) := 'UPG_CR_ENC_TYPE_ID';
85807 l_rec_acct_attrs.array_num_value(41) := p_source_94;
85808 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_DR_ENC_TYPE_ID';
85809 l_rec_acct_attrs.array_num_value(42) := p_source_95;
85810
85811 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
85812 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
85813
85814 ---------------------------------------------------------------------------------------------------------------
85815 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
85816 ---------------------------------------------------------------------------------------------------------------
85817 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
85818
85819 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
85820 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
85821
85822 IF xla_accounting_cache_pkg.GetValueChar
85823 (p_source_code => 'LEDGER_CATEGORY_CODE'
85824 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
85825 AND l_bflow_method_code = 'PRIOR_ENTRY'
85826 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
85827 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
85828 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
85829 )
85830 THEN
85831 xla_ae_lines_pkg.BflowUpgEntry
85832 (p_business_method_code => l_bflow_method_code
85833 ,p_business_class_code => l_bflow_class_code
85834 ,p_balance_type => l_balance_type_code);
85835 ELSE
85836 NULL;
85837 -- No business flow processing for business flow method of NONE.
85838 END IF;
85839
85840 --
85841 -- call analytical criteria
85842 --
85843
85844 --
85845 -- call description
85846 --
85847
85848 xla_ae_lines_pkg.SetLineDescription(
85849 p_ae_header_id => l_ae_header_id
85850 ,p_description => Description_2 (
85851 p_application_id => p_application_id
85852 , p_ae_header_id => l_ae_header_id
85853 , p_source_1 => p_source_1
85854 )
85855 );
85856
85857
85858 --
85859 -- call ADRs
85860 -- Bug 4922099
85861 --
85862 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
85863 (NVL(l_actual_upg_option, 'N') = 'O') OR
85864 (NVL(l_enc_upg_option, 'N') = 'O')
85865 )
85866 THEN
85867 NULL;
85868 --
85869 --
85870
85871 l_ccid := AcctDerRule_36(
85872 p_application_id => p_application_id
85873 , p_ae_header_id => l_ae_header_id
85874 , p_source_29 => p_source_29
85875 , x_transaction_coa_id => l_adr_transaction_coa_id
85876 , x_accounting_coa_id => l_adr_accounting_coa_id
85877 , x_value_type_code => l_adr_value_type_code
85878 , p_side => 'NA'
85879 );
85880
85881 xla_ae_lines_pkg.set_ccid(
85882 p_code_combination_id => l_ccid
85883 , p_value_type_code => l_adr_value_type_code
85884 , p_transaction_coa_id => l_adr_transaction_coa_id
85885 , p_accounting_coa_id => l_adr_accounting_coa_id
85886 , p_adr_code => 'AP_LIAB'
85887 , p_adr_type_code => 'S'
85888 , p_component_type => l_component_type
85889 , p_component_code => l_component_code
85890 , p_component_type_code => l_component_type_code
85891 , p_component_appl_id => l_component_appl_id
85892 , p_amb_context_code => l_amb_context_code
85893 , p_side => 'NA'
85894 );
85895
85896
85897 --
85898 --
85899 END IF;
85900 --
85901 -- Bug 4922099
85902 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
85903 (NVL(l_enc_upg_option, 'N') = 'O')
85904 ) AND
85905 (l_bflow_method_code = 'PRIOR_ENTRY')
85906 )
85907 THEN
85908 IF
85912 THEN
85909 --
85910 1 = 2
85911 --
85913 xla_accounting_err_pkg.build_message
85914 (p_appli_s_name => 'XLA'
85915 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
85916 ,p_token_1 => 'LINE_NUMBER'
85917 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
85918 ,p_token_2 => 'LINE_TYPE_NAME'
85919 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
85920 l_component_type
85921 ,l_component_code
85922 ,l_component_type_code
85923 ,l_component_appl_id
85924 ,l_amb_context_code
85925 ,l_entity_code
85926 ,l_event_class_code
85927 )
85928 ,p_token_3 => 'OWNER'
85929 ,p_value_3 => xla_lookups_pkg.get_meaning(
85930 p_lookup_type => 'XLA_OWNER_TYPE'
85931 ,p_lookup_code => l_component_type_code
85932 )
85933 ,p_token_4 => 'PRODUCT_NAME'
85934 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
85935 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
85936 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
85937 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
85938 ,p_ae_header_id => NULL
85939 );
85940
85941 IF (C_LEVEL_ERROR>= g_log_level) THEN
85942 trace
85943 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
85944 ,p_level => C_LEVEL_ERROR
85945 ,p_module => l_log_module);
85946 END IF;
85947 END IF;
85948 END IF;
85949 --
85950 --
85951 ------------------------------------------------------------------------------------------------
85952 -- 4219869 Business Flow
85953 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
85954 -- Prior Entry. Currently, the following code is always generated.
85955 ------------------------------------------------------------------------------------------------
85956 XLA_AE_LINES_PKG.ValidateCurrentLine;
85957
85958 ------------------------------------------------------------------------------------
85959 -- 4219869 Business Flow
85960 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
85961 ------------------------------------------------------------------------------------
85962 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
85963
85964 ----------------------------------------------------------------------------------
85965 -- 4219869 Business Flow
85966 -- Update journal entry status -- Need to generate this within IF <condition>
85967 ----------------------------------------------------------------------------------
85968 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
85969 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
85970 ,p_balance_type_code => l_balance_type_code
85971 );
85972
85973 -------------------------------------------------------------------------------------------
85974 -- 4262811 - Generate the Accrual Reversal lines
85975 -------------------------------------------------------------------------------------------
85976 BEGIN
85977 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
85978 (g_array_event(p_event_id).array_value_num('header_index'));
85979 IF l_acc_rev_flag IS NULL THEN
85980 l_acc_rev_flag := 'N';
85981 END IF;
85982 EXCEPTION
85983 WHEN OTHERS THEN
85984 l_acc_rev_flag := 'N';
85985 END;
85986 --
85987 IF (l_acc_rev_flag = 'Y') THEN
85988
85989 -- 4645092 ------------------------------------------------------------------------------
85990 -- To allow MPA report to determine if it should generate report process
85991 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
85992 ------------------------------------------------------------------------------------------
85993
85994 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
85995 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
85996 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
85997 -- call ADRs
85998 -- Bug 4922099
85999 --
86003 )
86000 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
86001 (NVL(l_actual_upg_option, 'N') = 'O') OR
86002 (NVL(l_enc_upg_option, 'N') = 'O')
86004 THEN
86005 NULL;
86006 --
86007 --
86008
86009 l_ccid := AcctDerRule_36(
86010 p_application_id => p_application_id
86011 , p_ae_header_id => l_ae_header_id
86012 , p_source_29 => p_source_29
86013 , x_transaction_coa_id => l_adr_transaction_coa_id
86014 , x_accounting_coa_id => l_adr_accounting_coa_id
86015 , x_value_type_code => l_adr_value_type_code
86016 , p_side => 'NA'
86017 );
86018
86019 xla_ae_lines_pkg.set_ccid(
86020 p_code_combination_id => l_ccid
86021 , p_value_type_code => l_adr_value_type_code
86022 , p_transaction_coa_id => l_adr_transaction_coa_id
86023 , p_accounting_coa_id => l_adr_accounting_coa_id
86024 , p_adr_code => 'AP_LIAB'
86025 , p_adr_type_code => 'S'
86026 , p_component_type => l_component_type
86027 , p_component_code => l_component_code
86028 , p_component_type_code => l_component_type_code
86029 , p_component_appl_id => l_component_appl_id
86030 , p_amb_context_code => l_amb_context_code
86031 , p_side => 'NA'
86032 );
86033
86034
86035 --
86036 --
86037 END IF;
86038
86039 --
86040 -- Update the line information that should be overwritten
86041 --
86042 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
86043 p_header_num => 1);
86044 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
86045
86046 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
86047
86048 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
86049 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
86050 END IF;
86051
86052 --
86053 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
86054 --
86055 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
86056 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
86057 ELSE
86058 ---------------------------------------------------------------------------------------------------
86059 -- 4262811a Switch Sign
86060 ---------------------------------------------------------------------------------------------------
86061 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
86062 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
86063 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
86064 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
86065 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
86066 -- 5132302
86067 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
86068 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
86069
86070 END IF;
86071
86072 -- 4955764
86073 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
86074 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
86075
86076
86077 XLA_AE_LINES_PKG.ValidateCurrentLine;
86078 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
86079
86080 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
86081 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
86082 ,p_balance_type_code => l_balance_type_code);
86083
86084 END IF;
86085
86086 -----------------------------------------------------------------------------------------
86087 -- 4262811 Multiperiod Accounting
86088 -----------------------------------------------------------------------------------------
86089 -- No MPA option is assigned.
86090
86091
86092 END IF;
86093 END IF;
86094 --
86095
86096 --
86097 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
86098 trace
86099 (p_msg => 'END of AcctLineType_160'
86100 ,p_level => C_LEVEL_PROCEDURE
86101 ,p_module => l_log_module);
86102 END IF;
86103 --
86104 EXCEPTION
86105 WHEN xla_exceptions_pkg.application_exception THEN
86106 RAISE;
86107 WHEN OTHERS THEN
86108 xla_exceptions_pkg.raise_message
86109 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_160');
86110 END AcctLineType_160;
86111 --
86112
86113 ---------------------------------------
86114 --
86115 -- PRIVATE FUNCTION
86116 -- AcctLineType_161
86117 --
86118 ---------------------------------------
86119 PROCEDURE AcctLineType_161 (
86120 p_application_id IN NUMBER
86121 ,p_event_id IN NUMBER
86125 ,p_balance_type_code OUT VARCHAR2
86122 ,p_calculate_acctd_flag IN VARCHAR2
86123 ,p_calculate_g_l_flag IN VARCHAR2
86124 ,p_actual_flag IN OUT VARCHAR2
86126 ,p_gain_or_loss_ref OUT VARCHAR2
86127
86128 --Invoice Distribution Description
86129 , p_source_1 IN VARCHAR2
86130 --Automatic Offsets Value
86131 , p_source_10 IN VARCHAR2
86132 , p_source_10_meaning IN VARCHAR2
86133 --Invoice Distribution Ledger Amount
86134 , p_source_16 IN NUMBER
86135 --Invoice Liability Account
86136 , p_source_29 IN NUMBER
86137 --Accounting Reversal Indicator
86138 , p_source_58 IN VARCHAR2
86139 --Distribution Link Type
86140 , p_source_60 IN VARCHAR2
86141 --Allocation to Main Distribution Identifier
86142 , p_source_62 IN NUMBER
86143 --Invoice Identifier
86144 , p_source_63 IN NUMBER
86145 --Invoice Distribution Identifier
86146 , p_source_69 IN NUMBER
86147 --Payables Encumbrance Upgrade Credit Account
86148 , p_source_70 IN NUMBER
86149 --Payables Encumbrance Upgrade Credit Amount
86150 , p_source_71 IN NUMBER
86151 --Invoice Currency Code
86152 , p_source_72 IN VARCHAR2
86153 --Payables Encumbrance Upgrade Credit Base Amount
86154 , p_source_73 IN NUMBER
86155 --Payables Encumbrance Upgrade Debit Account
86156 , p_source_74 IN NUMBER
86157 --Payables Encumbrance Upgrade Debit Amount
86158 , p_source_75 IN NUMBER
86159 --Payables Encumbrance Upgrade Debit Base Amount
86160 , p_source_76 IN NUMBER
86161 --Payables Encumbrance Upgrade Option
86162 , p_source_77 IN VARCHAR2
86163 --Invoice Distribution Amount
86164 , p_source_78 IN NUMBER
86165 --Deferred Accounting End Date
86166 , p_source_82 IN DATE
86167 --Deferred Accounting Option
86168 , p_source_83 IN VARCHAR2
86169 --Deferred Accounting Start Date
86170 , p_source_84 IN DATE
86171 --Override Accounted Amount Indicator
86172 , p_source_85 IN VARCHAR2
86173 , p_source_85_meaning IN VARCHAR2
86174 --Invoice Supplier Identifier
86175 , p_source_86 IN NUMBER
86176 --Invoice Supplier Site Identifier
86177 , p_source_87 IN NUMBER
86178 --Third Party Type
86179 , p_source_88 IN VARCHAR2
86180 --Parent Reversal Identifier
86181 , p_source_89 IN NUMBER
86182 --Invoice Distribution Tax Line Identifier
86183 , p_source_91 IN NUMBER
86184 --Invoice Distribution Tax Distribution Identifier from Tax
86185 , p_source_92 IN NUMBER
86186 --Invoice Distribution Summary Tax Line Identifier
86187 , p_source_93 IN NUMBER
86188 --Payables Upgrade Credit Encumbrance Type Identifier
86189 , p_source_94 IN NUMBER
86190 --Payables Upgrade Debit Encumbrance Type Identifier
86191 , p_source_95 IN NUMBER
86192 --Business Flow Accounts Payable Application Identifier
86193 , p_source_96 IN NUMBER
86194 --Business Flow Invoice Distribution Type
86195 , p_source_97 IN VARCHAR2
86196 --Business Flow Invoice Entity Code
86197 , p_source_98 IN VARCHAR2
86198 --Business Flow Invoice Distribution Identifier
86199 , p_source_99 IN NUMBER
86200 --Business Flow Invoice Identifier
86201 , p_source_100 IN NUMBER
86202 --Self-Assessed Tax Flag
86203 , p_source_145 IN VARCHAR2
86204 , p_source_145_meaning IN VARCHAR2
86205 --Invoice Exchange Date
86206 , p_source_146 IN DATE
86207 --Invoice Exchange Rate
86208 , p_source_147 IN NUMBER
86209 --Invoice Exchange Rate Type
86210 , p_source_148 IN VARCHAR2
86211 )
86212 IS
86213
86214 l_component_type VARCHAR2(80);
86215 l_component_code VARCHAR2(30);
86216 l_component_type_code VARCHAR2(1);
86217 l_component_appl_id INTEGER;
86218 l_amb_context_code VARCHAR2(30);
86219 l_entity_code VARCHAR2(30);
86220 l_event_class_code VARCHAR2(30);
86221 l_ae_header_id NUMBER;
86222 l_event_type_code VARCHAR2(30);
86223 l_line_definition_code VARCHAR2(30);
86224 l_line_definition_owner_code VARCHAR2(1);
86225 --
86226 -- adr variables
86227 l_segment VARCHAR2(30);
86228 l_ccid NUMBER;
86229 l_adr_transaction_coa_id NUMBER;
86230 l_adr_accounting_coa_id NUMBER;
86231 l_adr_flexfield_segment_code VARCHAR2(30);
86232 l_adr_flex_value_set_id NUMBER;
86233 l_adr_value_type_code VARCHAR2(30);
86234 l_adr_value_combination_id NUMBER;
86235 l_adr_value_segment_code VARCHAR2(30);
86236
86237 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
86238 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
86239 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
86240 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
86241
86242 -- 4262811 Variables ------------------------------------------------------------------------------------------
86243 l_entered_amt_idx NUMBER;
86244 l_accted_amt_idx NUMBER;
86245 l_acc_rev_flag VARCHAR2(1);
86246 l_accrual_line_num NUMBER;
86247 l_tmp_amt NUMBER;
86251 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
86248 l_acc_rev_natural_side_code VARCHAR2(1);
86249
86250 l_num_entries NUMBER;
86252 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
86253 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
86254 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
86255 l_recog_line_1 NUMBER;
86256 l_recog_line_2 NUMBER;
86257
86258 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
86259 l_bflow_applied_to_amt NUMBER; -- 5132302
86260 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
86261
86262 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
86263
86264 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
86265 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
86266
86267 ---------------------------------------------------------------------------------------------------------------
86268
86269
86270 --
86271 -- bulk performance
86272 --
86273 l_balance_type_code VARCHAR2(1);
86274 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
86275 l_log_module VARCHAR2(240);
86276
86277 --
86278 -- Upgrade strategy
86279 --
86280 l_actual_upg_option VARCHAR2(1);
86281 l_enc_upg_option VARCHAR2(1);
86282
86283 --
86284 BEGIN
86285 --
86286 IF g_log_enabled THEN
86287 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_161';
86288 END IF;
86289 --
86290 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
86291
86292 trace
86293 (p_msg => 'BEGIN of AcctLineType_161'
86294 ,p_level => C_LEVEL_PROCEDURE
86295 ,p_module => l_log_module);
86296
86297 END IF;
86298 --
86299 l_component_type := 'AMB_JLT';
86300 l_component_code := 'AP_LIAB_DM_AOS_AS';
86301 l_component_type_code := 'S';
86302 l_component_appl_id := 200;
86303 l_amb_context_code := 'DEFAULT';
86304 l_entity_code := 'AP_INVOICES';
86305 l_event_class_code := 'DEBIT MEMOS';
86306 l_event_type_code := 'DEBIT MEMOS_ALL';
86307 l_line_definition_owner_code := 'S';
86308 l_line_definition_code := 'ACCRUAL_DEBIT MEMOS_ALL';
86309 --
86310 l_balance_type_code := 'A';
86311 l_segment := NULL;
86312 l_ccid := NULL;
86313 l_adr_transaction_coa_id := NULL;
86314 l_adr_accounting_coa_id := NULL;
86315 l_adr_flexfield_segment_code := NULL;
86316 l_adr_flex_value_set_id := NULL;
86317 l_adr_value_type_code := NULL;
86318 l_adr_value_combination_id := NULL;
86319 l_adr_value_segment_code := NULL;
86320
86321 l_bflow_method_code := 'SAME_ENTRY'; -- 4219869 Business Flow
86322 l_bflow_class_code := 'AP_LIAB'; -- 4219869 Business Flow
86323 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
86324 l_budgetary_control_flag := 'N';
86325
86326 l_bflow_applied_to_amt_idx := NULL; -- 5132302
86327 l_bflow_applied_to_amt := NULL; -- 5132302
86328 l_entered_amt_idx := NULL; -- 4262811
86329 l_accted_amt_idx := NULL; -- 4262811
86330 l_acc_rev_flag := NULL; -- 4262811
86331 l_accrual_line_num := NULL; -- 4262811
86332 l_tmp_amt := NULL; -- 4262811
86333 --
86334
86335 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
86336 l_balance_type_code <> 'B' THEN
86337 IF NVL(p_source_10,'
86338 ') = 'ACCOUNT_SEGMENT_VALUE' AND
86339 NVL(p_source_145,'
86340 ') <> 'Y'
86341 THEN
86342
86343 --
86344 XLA_AE_LINES_PKG.SetNewLine;
86345
86346 p_balance_type_code := l_balance_type_code;
86347 -- set the flag so later we will know whether the gain loss line needs to be created
86348
86349 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
86350 p_actual_flag :='A';
86351 END IF;
86352
86353 --
86354 -- bulk performance
86355 --
86356 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
86357 p_header_num => 0); -- 4262811
86358 --
86359 -- set accounting line options
86360 --
86361 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
86362 p_natural_side_code => 'C'
86363 , p_gain_or_loss_flag => 'N'
86364 , p_gl_transfer_mode_code => 'S'
86365 , p_acct_entry_type_code => 'A'
86366 , p_switch_side_flag => 'Y'
86367 , p_merge_duplicate_code => 'A'
86368 );
86369 --
86370 l_acc_rev_natural_side_code := 'D'; -- 4262811
86371 --
86372 --
86373 -- set accounting line type info
86374 --
86375 xla_ae_lines_pkg.SetAcctLineType
86376 (p_component_type => l_component_type
86377 ,p_event_type_code => l_event_type_code
86378 ,p_line_definition_owner_code => l_line_definition_owner_code
86379 ,p_line_definition_code => l_line_definition_code
86380 ,p_accounting_line_code => l_component_code
86381 ,p_accounting_line_type_code => l_component_type_code
86385 ,p_event_class_code => l_event_class_code);
86382 ,p_accounting_line_appl_id => l_component_appl_id
86383 ,p_amb_context_code => l_amb_context_code
86384 ,p_entity_code => l_entity_code
86386 --
86387 -- set accounting class
86388 --
86389 xla_ae_lines_pkg.SetAcctClass(
86390 p_accounting_class_code => 'LIABILITY'
86391 , p_ae_header_id => l_ae_header_id
86392 );
86393
86394 --
86395 -- set rounding class
86396 --
86397 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
86398 'LIABILITY';
86399
86400 --
86401 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
86402 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
86403 --
86404 -- bulk performance
86405 --
86406 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
86407
86408 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
86409 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
86410
86411 -- 4955764
86412 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
86413 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
86414
86415 -- 4458381 Public Sector Enh
86416
86417 --
86418 -- set accounting attributes for the line type
86419 --
86420 l_entered_amt_idx := 23;
86421 l_accted_amt_idx := 28;
86422 l_bflow_applied_to_amt_idx := NULL; -- 5132302
86423 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
86424 l_rec_acct_attrs.array_char_value(1) := p_source_58;
86425 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
86426 l_rec_acct_attrs.array_num_value(2) :=
86427 xla_ae_sources_pkg.GetSystemSourceNum(
86428 p_source_code => 'XLA_EVENT_APPL_ID'
86429 , p_source_type_code => 'Y'
86430 , p_source_application_id => 602
86431 );
86432 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
86433 l_rec_acct_attrs.array_char_value(3) := p_source_60;
86434 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
86435 l_rec_acct_attrs.array_char_value(4) :=
86436 xla_ae_sources_pkg.GetSystemSourceChar(
86437 p_source_code => 'XLA_ENTITY_CODE'
86438 , p_source_type_code => 'Y'
86439 , p_source_application_id => 602
86440 );
86441 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
86442 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_62);
86443 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
86444 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_63);
86445 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
86446 l_rec_acct_attrs.array_num_value(7) := p_source_96;
86447 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
86448 l_rec_acct_attrs.array_char_value(8) := p_source_97;
86449 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
86450 l_rec_acct_attrs.array_char_value(9) := p_source_98;
86451 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
86452 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_99);
86453 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
86454 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_100);
86455 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
86456 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_69);
86457 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
86458 l_rec_acct_attrs.array_char_value(13) := p_source_60;
86459 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
86460 l_rec_acct_attrs.array_num_value(14) := p_source_70;
86461 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
86462 l_rec_acct_attrs.array_num_value(15) := p_source_71;
86463 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
86464 l_rec_acct_attrs.array_char_value(16) := p_source_72;
86465 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
86466 l_rec_acct_attrs.array_num_value(17) := p_source_73;
86467 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
86468 l_rec_acct_attrs.array_num_value(18) := p_source_74;
86469 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
86470 l_rec_acct_attrs.array_num_value(19) := p_source_75;
86471 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
86472 l_rec_acct_attrs.array_char_value(20) := p_source_72;
86473 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
86474 l_rec_acct_attrs.array_num_value(21) := p_source_76;
86475 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
86476 l_rec_acct_attrs.array_char_value(22) := p_source_77;
86477 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
86478 l_rec_acct_attrs.array_num_value(23) := p_source_78;
86479 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
86480 l_rec_acct_attrs.array_char_value(24) := p_source_72;
86481 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
86482 l_rec_acct_attrs.array_date_value(25) := p_source_146;
86486 l_rec_acct_attrs.array_char_value(27) := p_source_148;
86483 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
86484 l_rec_acct_attrs.array_num_value(26) := p_source_147;
86485 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
86487 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
86488 l_rec_acct_attrs.array_num_value(28) := p_source_16;
86489 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
86490 l_rec_acct_attrs.array_date_value(29) := p_source_82;
86491 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
86492 l_rec_acct_attrs.array_char_value(30) := p_source_83;
86493 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
86494 l_rec_acct_attrs.array_date_value(31) := p_source_84;
86495 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
86496 l_rec_acct_attrs.array_char_value(32) := p_source_85;
86497 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
86498 l_rec_acct_attrs.array_num_value(33) := p_source_86;
86499 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
86500 l_rec_acct_attrs.array_num_value(34) := p_source_87;
86501 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
86502 l_rec_acct_attrs.array_char_value(35) := p_source_88;
86503 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
86504 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_89);
86505 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
86506 l_rec_acct_attrs.array_char_value(37) := p_source_60;
86507 l_rec_acct_attrs.array_acct_attr_code(38) := 'TAX_LINE_REF_ID';
86508 l_rec_acct_attrs.array_num_value(38) := p_source_91;
86509 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_REC_NREC_DIST_REF_ID';
86510 l_rec_acct_attrs.array_num_value(39) := p_source_92;
86511 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_SUMMARY_LINE_REF_ID';
86512 l_rec_acct_attrs.array_num_value(40) := p_source_93;
86513 l_rec_acct_attrs.array_acct_attr_code(41) := 'UPG_CR_ENC_TYPE_ID';
86514 l_rec_acct_attrs.array_num_value(41) := p_source_94;
86515 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_DR_ENC_TYPE_ID';
86516 l_rec_acct_attrs.array_num_value(42) := p_source_95;
86517
86518 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
86519 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
86520
86521 ---------------------------------------------------------------------------------------------------------------
86522 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
86523 ---------------------------------------------------------------------------------------------------------------
86524 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
86525
86526 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
86527 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
86528
86529 IF xla_accounting_cache_pkg.GetValueChar
86530 (p_source_code => 'LEDGER_CATEGORY_CODE'
86531 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
86532 AND l_bflow_method_code = 'PRIOR_ENTRY'
86533 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
86534 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
86535 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
86536 )
86537 THEN
86538 xla_ae_lines_pkg.BflowUpgEntry
86539 (p_business_method_code => l_bflow_method_code
86540 ,p_business_class_code => l_bflow_class_code
86541 ,p_balance_type => l_balance_type_code);
86542 ELSE
86543 NULL;
86544 XLA_AE_LINES_PKG.business_flow_validation(
86545 p_business_method_code => l_bflow_method_code
86546 ,p_business_class_code => l_bflow_class_code
86547 ,p_inherit_description_flag => l_inherit_desc_flag);
86548 END IF;
86549
86550 --
86551 -- call analytical criteria
86552 --
86553
86554 --
86555 -- call description
86556 --
86557
86558 xla_ae_lines_pkg.SetLineDescription(
86559 p_ae_header_id => l_ae_header_id
86560 ,p_description => Description_2 (
86561 p_application_id => p_application_id
86562 , p_ae_header_id => l_ae_header_id
86563 , p_source_1 => p_source_1
86564 )
86565 );
86566
86567
86568 --
86569 -- call ADRs
86570 -- Bug 4922099
86571 --
86572 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
86573 (NVL(l_actual_upg_option, 'N') = 'O') OR
86574 (NVL(l_enc_upg_option, 'N') = 'O')
86575 )
86576 THEN
86577 NULL;
86578 --
86579 --
86580
86581 xla_ae_lines_pkg.Set_Ccid( -- replaced SetCcid
86582 p_code_combination_id => TO_NUMBER(C_NUM)
86583 , p_value_type_code => NULL
86584 , p_transaction_coa_id => null
86585 , p_accounting_coa_id => null
86586 , p_adr_code => NULL
86587 , p_adr_type_code => NULL
86588 , p_component_type => l_component_type
86589 , p_component_code => l_component_code
86593 , p_side => NULL
86590 , p_component_type_code => l_component_type_code
86591 , p_component_appl_id => l_component_appl_id
86592 , p_amb_context_code => l_amb_context_code
86594 );
86595
86596
86597 -- initialise segments
86598 XLA_AE_LINES_PKG.g_rec_lines.array_segment1(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
86599 XLA_AE_LINES_PKG.g_rec_lines.array_segment2(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
86600 XLA_AE_LINES_PKG.g_rec_lines.array_segment3(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
86601 XLA_AE_LINES_PKG.g_rec_lines.array_segment4(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
86602 XLA_AE_LINES_PKG.g_rec_lines.array_segment5(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
86603 XLA_AE_LINES_PKG.g_rec_lines.array_segment6(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
86604 XLA_AE_LINES_PKG.g_rec_lines.array_segment7(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
86605 XLA_AE_LINES_PKG.g_rec_lines.array_segment8(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
86606 XLA_AE_LINES_PKG.g_rec_lines.array_segment9(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
86607 XLA_AE_LINES_PKG.g_rec_lines.array_segment10(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
86608 XLA_AE_LINES_PKG.g_rec_lines.array_segment11(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
86609 XLA_AE_LINES_PKG.g_rec_lines.array_segment12(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
86610 XLA_AE_LINES_PKG.g_rec_lines.array_segment13(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
86611 XLA_AE_LINES_PKG.g_rec_lines.array_segment14(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
86612 XLA_AE_LINES_PKG.g_rec_lines.array_segment15(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
86613 XLA_AE_LINES_PKG.g_rec_lines.array_segment16(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
86614 XLA_AE_LINES_PKG.g_rec_lines.array_segment17(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
86615 XLA_AE_LINES_PKG.g_rec_lines.array_segment18(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
86616 XLA_AE_LINES_PKG.g_rec_lines.array_segment19(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
86617 XLA_AE_LINES_PKG.g_rec_lines.array_segment20(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
86618 XLA_AE_LINES_PKG.g_rec_lines.array_segment21(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
86619 XLA_AE_LINES_PKG.g_rec_lines.array_segment22(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
86620 XLA_AE_LINES_PKG.g_rec_lines.array_segment23(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
86621 XLA_AE_LINES_PKG.g_rec_lines.array_segment24(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
86622 XLA_AE_LINES_PKG.g_rec_lines.array_segment25(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
86623 XLA_AE_LINES_PKG.g_rec_lines.array_segment26(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
86624 XLA_AE_LINES_PKG.g_rec_lines.array_segment27(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
86625 XLA_AE_LINES_PKG.g_rec_lines.array_segment28(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
86626 XLA_AE_LINES_PKG.g_rec_lines.array_segment29(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
86627 XLA_AE_LINES_PKG.g_rec_lines.array_segment30(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
86628 --
86629
86630 --
86631
86632
86633 l_segment := AcctDerRule_15(
86634 p_application_id => p_application_id
86635 , p_ae_header_id => l_ae_header_id
86636 , p_source_29 => p_source_29
86637 , x_transaction_coa_id => l_adr_transaction_coa_id
86638 , x_accounting_coa_id => l_adr_accounting_coa_id
86639 , x_flexfield_segment_code => l_adr_flexfield_segment_code
86640 , x_flex_value_set_id => l_adr_flex_value_set_id
86641 , x_value_type_code => l_adr_value_type_code
86642 , x_value_combination_id => l_adr_value_combination_id
86643 , x_value_segment_code => l_adr_value_segment_code
86644 , p_side => 'NA'
86645 , p_override_seg_flag => 'Y'
86646 );
86647
86648 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
86649
86650 xla_ae_lines_pkg.set_segment(
86651 p_to_segment_code => 'GL_ACCOUNT'
86652 , p_segment_value => l_segment
86653 , p_from_segment_code => l_adr_value_segment_code
86654 , p_from_combination_id => l_adr_value_combination_id
86655 , p_value_type_code => l_adr_value_type_code
86656 , p_transaction_coa_id => l_adr_transaction_coa_id
86657 , p_accounting_coa_id => l_adr_accounting_coa_id
86658 , p_flexfield_segment_code => l_adr_flexfield_segment_code
86659 , p_flex_value_set_id => l_adr_flex_value_set_id
86660 , p_adr_code => 'AP_LIAB_NAT_ACCT_SEG'
86661 , p_adr_type_code => 'S'
86662 , p_component_type => l_component_type
86663 , p_component_code => l_component_code
86664 , p_component_type_code => l_component_type_code
86665 , p_component_appl_id => l_component_appl_id
86666 , p_amb_context_code => l_amb_context_code
86667 , p_entity_code => 'AP_INVOICES'
86668 , p_event_class_code => 'DEBIT MEMOS'
86669 , p_side => 'NA'
86670 );
86671
86672 END IF;
86673
86674 --
86675 --
86676 END IF;
86677 --
86678 -- Bug 4922099
86679 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
86680 (NVL(l_enc_upg_option, 'N') = 'O')
86681 ) AND
86682 (l_bflow_method_code = 'PRIOR_ENTRY')
86683 )
86684 THEN
86685 IF
86686 --
86687 1 = 2
86688 --
86689 THEN
86690 xla_accounting_err_pkg.build_message
86694 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
86691 (p_appli_s_name => 'XLA'
86692 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
86693 ,p_token_1 => 'LINE_NUMBER'
86695 ,p_token_2 => 'LINE_TYPE_NAME'
86696 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
86697 l_component_type
86698 ,l_component_code
86699 ,l_component_type_code
86700 ,l_component_appl_id
86701 ,l_amb_context_code
86702 ,l_entity_code
86703 ,l_event_class_code
86704 )
86705 ,p_token_3 => 'OWNER'
86706 ,p_value_3 => xla_lookups_pkg.get_meaning(
86707 p_lookup_type => 'XLA_OWNER_TYPE'
86708 ,p_lookup_code => l_component_type_code
86709 )
86710 ,p_token_4 => 'PRODUCT_NAME'
86711 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
86712 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
86713 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
86714 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
86715 ,p_ae_header_id => NULL
86716 );
86717
86718 IF (C_LEVEL_ERROR>= g_log_level) THEN
86719 trace
86720 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
86721 ,p_level => C_LEVEL_ERROR
86722 ,p_module => l_log_module);
86723 END IF;
86724 END IF;
86725 END IF;
86726 --
86727 --
86728 ------------------------------------------------------------------------------------------------
86729 -- 4219869 Business Flow
86730 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
86731 -- Prior Entry. Currently, the following code is always generated.
86732 ------------------------------------------------------------------------------------------------
86733 XLA_AE_LINES_PKG.ValidateCurrentLine;
86734
86735 ------------------------------------------------------------------------------------
86736 -- 4219869 Business Flow
86737 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
86738 ------------------------------------------------------------------------------------
86739 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
86740
86741 ----------------------------------------------------------------------------------
86742 -- 4219869 Business Flow
86743 -- Update journal entry status -- Need to generate this within IF <condition>
86744 ----------------------------------------------------------------------------------
86745 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
86746 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
86747 ,p_balance_type_code => l_balance_type_code
86748 );
86749
86750 -------------------------------------------------------------------------------------------
86751 -- 4262811 - Generate the Accrual Reversal lines
86752 -------------------------------------------------------------------------------------------
86753 BEGIN
86754 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
86755 (g_array_event(p_event_id).array_value_num('header_index'));
86756 IF l_acc_rev_flag IS NULL THEN
86757 l_acc_rev_flag := 'N';
86758 END IF;
86759 EXCEPTION
86760 WHEN OTHERS THEN
86761 l_acc_rev_flag := 'N';
86762 END;
86763 --
86764 IF (l_acc_rev_flag = 'Y') THEN
86765
86766 -- 4645092 ------------------------------------------------------------------------------
86767 -- To allow MPA report to determine if it should generate report process
86768 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
86769 ------------------------------------------------------------------------------------------
86770
86771 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
86772 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
86773 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
86774 -- call ADRs
86775 -- Bug 4922099
86776 --
86777 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
86781 THEN
86778 (NVL(l_actual_upg_option, 'N') = 'O') OR
86779 (NVL(l_enc_upg_option, 'N') = 'O')
86780 )
86782 NULL;
86783 --
86784 --
86785
86786 xla_ae_lines_pkg.Set_Ccid( -- replaced SetCcid
86787 p_code_combination_id => TO_NUMBER(C_NUM)
86788 , p_value_type_code => NULL
86789 , p_transaction_coa_id => null
86790 , p_accounting_coa_id => null
86791 , p_adr_code => NULL
86792 , p_adr_type_code => NULL
86793 , p_component_type => l_component_type
86794 , p_component_code => l_component_code
86795 , p_component_type_code => l_component_type_code
86796 , p_component_appl_id => l_component_appl_id
86797 , p_amb_context_code => l_amb_context_code
86798 , p_side => NULL
86799 );
86800
86801
86802 -- initialise segments
86803 XLA_AE_LINES_PKG.g_rec_lines.array_segment1(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
86804 XLA_AE_LINES_PKG.g_rec_lines.array_segment2(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
86805 XLA_AE_LINES_PKG.g_rec_lines.array_segment3(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
86806 XLA_AE_LINES_PKG.g_rec_lines.array_segment4(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
86807 XLA_AE_LINES_PKG.g_rec_lines.array_segment5(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
86808 XLA_AE_LINES_PKG.g_rec_lines.array_segment6(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
86809 XLA_AE_LINES_PKG.g_rec_lines.array_segment7(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
86810 XLA_AE_LINES_PKG.g_rec_lines.array_segment8(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
86811 XLA_AE_LINES_PKG.g_rec_lines.array_segment9(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
86812 XLA_AE_LINES_PKG.g_rec_lines.array_segment10(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
86813 XLA_AE_LINES_PKG.g_rec_lines.array_segment11(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
86814 XLA_AE_LINES_PKG.g_rec_lines.array_segment12(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
86815 XLA_AE_LINES_PKG.g_rec_lines.array_segment13(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
86816 XLA_AE_LINES_PKG.g_rec_lines.array_segment14(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
86817 XLA_AE_LINES_PKG.g_rec_lines.array_segment15(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
86818 XLA_AE_LINES_PKG.g_rec_lines.array_segment16(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
86819 XLA_AE_LINES_PKG.g_rec_lines.array_segment17(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
86820 XLA_AE_LINES_PKG.g_rec_lines.array_segment18(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
86821 XLA_AE_LINES_PKG.g_rec_lines.array_segment19(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
86822 XLA_AE_LINES_PKG.g_rec_lines.array_segment20(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
86823 XLA_AE_LINES_PKG.g_rec_lines.array_segment21(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
86824 XLA_AE_LINES_PKG.g_rec_lines.array_segment22(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
86825 XLA_AE_LINES_PKG.g_rec_lines.array_segment23(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
86826 XLA_AE_LINES_PKG.g_rec_lines.array_segment24(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
86827 XLA_AE_LINES_PKG.g_rec_lines.array_segment25(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
86828 XLA_AE_LINES_PKG.g_rec_lines.array_segment26(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
86829 XLA_AE_LINES_PKG.g_rec_lines.array_segment27(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
86830 XLA_AE_LINES_PKG.g_rec_lines.array_segment28(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
86831 XLA_AE_LINES_PKG.g_rec_lines.array_segment29(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
86832 XLA_AE_LINES_PKG.g_rec_lines.array_segment30(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
86833 --
86834
86835 --
86836
86837
86838 l_segment := AcctDerRule_15(
86839 p_application_id => p_application_id
86840 , p_ae_header_id => l_ae_header_id
86841 , p_source_29 => p_source_29
86842 , x_transaction_coa_id => l_adr_transaction_coa_id
86843 , x_accounting_coa_id => l_adr_accounting_coa_id
86844 , x_flexfield_segment_code => l_adr_flexfield_segment_code
86845 , x_flex_value_set_id => l_adr_flex_value_set_id
86846 , x_value_type_code => l_adr_value_type_code
86847 , x_value_combination_id => l_adr_value_combination_id
86848 , x_value_segment_code => l_adr_value_segment_code
86849 , p_side => 'NA'
86850 , p_override_seg_flag => 'Y'
86851 );
86852
86853 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
86854
86855 xla_ae_lines_pkg.set_segment(
86856 p_to_segment_code => 'GL_ACCOUNT'
86857 , p_segment_value => l_segment
86858 , p_from_segment_code => l_adr_value_segment_code
86859 , p_from_combination_id => l_adr_value_combination_id
86860 , p_value_type_code => l_adr_value_type_code
86861 , p_transaction_coa_id => l_adr_transaction_coa_id
86862 , p_accounting_coa_id => l_adr_accounting_coa_id
86863 , p_flexfield_segment_code => l_adr_flexfield_segment_code
86864 , p_flex_value_set_id => l_adr_flex_value_set_id
86865 , p_adr_code => 'AP_LIAB_NAT_ACCT_SEG'
86866 , p_adr_type_code => 'S'
86867 , p_component_type => l_component_type
86868 , p_component_code => l_component_code
86869 , p_component_type_code => l_component_type_code
86870 , p_component_appl_id => l_component_appl_id
86874 , p_side => 'NA'
86871 , p_amb_context_code => l_amb_context_code
86872 , p_entity_code => 'AP_INVOICES'
86873 , p_event_class_code => 'DEBIT MEMOS'
86875 );
86876
86877 END IF;
86878
86879 --
86880 --
86881 END IF;
86882
86883 --
86884 -- Update the line information that should be overwritten
86885 --
86886 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
86887 p_header_num => 1);
86888 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
86889
86890 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
86891
86892 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
86893 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
86894 END IF;
86895
86896 --
86897 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
86898 --
86899 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
86900 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
86901 ELSE
86902 ---------------------------------------------------------------------------------------------------
86903 -- 4262811a Switch Sign
86904 ---------------------------------------------------------------------------------------------------
86905 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
86906 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
86907 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
86908 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
86909 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
86910 -- 5132302
86911 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
86912 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
86913
86914 END IF;
86915
86916 -- 4955764
86917 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
86918 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
86919
86920
86921 XLA_AE_LINES_PKG.ValidateCurrentLine;
86922 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
86923
86924 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
86925 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
86926 ,p_balance_type_code => l_balance_type_code);
86927
86928 END IF;
86929
86930 -----------------------------------------------------------------------------------------
86931 -- 4262811 Multiperiod Accounting
86932 -----------------------------------------------------------------------------------------
86933 -- No MPA option is assigned.
86934
86935
86936 END IF;
86937 END IF;
86938 --
86939
86940 --
86941 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
86942 trace
86943 (p_msg => 'END of AcctLineType_161'
86944 ,p_level => C_LEVEL_PROCEDURE
86945 ,p_module => l_log_module);
86946 END IF;
86947 --
86948 EXCEPTION
86949 WHEN xla_exceptions_pkg.application_exception THEN
86950 RAISE;
86951 WHEN OTHERS THEN
86952 xla_exceptions_pkg.raise_message
86953 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_161');
86954 END AcctLineType_161;
86955 --
86956
86957 ---------------------------------------
86958 --
86959 -- PRIVATE FUNCTION
86960 -- AcctLineType_162
86961 --
86962 ---------------------------------------
86963 PROCEDURE AcctLineType_162 (
86964 p_application_id IN NUMBER
86965 ,p_event_id IN NUMBER
86966 ,p_calculate_acctd_flag IN VARCHAR2
86967 ,p_calculate_g_l_flag IN VARCHAR2
86968 ,p_actual_flag IN OUT VARCHAR2
86969 ,p_balance_type_code OUT VARCHAR2
86970 ,p_gain_or_loss_ref OUT VARCHAR2
86971
86972 --Invoice Distribution Description
86973 , p_source_1 IN VARCHAR2
86974 --Automatic Offsets Value
86975 , p_source_10 IN VARCHAR2
86976 , p_source_10_meaning IN VARCHAR2
86977 --Invoice Distribution Ledger Amount
86978 , p_source_16 IN NUMBER
86979 --Invoice Liability Account
86980 , p_source_29 IN NUMBER
86981 --Accounting Reversal Indicator
86982 , p_source_58 IN VARCHAR2
86983 --Distribution Link Type
86984 , p_source_60 IN VARCHAR2
86985 --Allocation to Main Distribution Identifier
86986 , p_source_62 IN NUMBER
86987 --Invoice Identifier
86988 , p_source_63 IN NUMBER
86989 --Invoice Distribution Identifier
86990 , p_source_69 IN NUMBER
86991 --Payables Encumbrance Upgrade Credit Account
86992 , p_source_70 IN NUMBER
86993 --Payables Encumbrance Upgrade Credit Amount
86994 , p_source_71 IN NUMBER
86995 --Invoice Currency Code
86996 , p_source_72 IN VARCHAR2
87000 , p_source_74 IN NUMBER
86997 --Payables Encumbrance Upgrade Credit Base Amount
86998 , p_source_73 IN NUMBER
86999 --Payables Encumbrance Upgrade Debit Account
87001 --Payables Encumbrance Upgrade Debit Amount
87002 , p_source_75 IN NUMBER
87003 --Payables Encumbrance Upgrade Debit Base Amount
87004 , p_source_76 IN NUMBER
87005 --Payables Encumbrance Upgrade Option
87006 , p_source_77 IN VARCHAR2
87007 --Invoice Distribution Amount
87008 , p_source_78 IN NUMBER
87009 --Deferred Accounting End Date
87010 , p_source_82 IN DATE
87011 --Deferred Accounting Option
87012 , p_source_83 IN VARCHAR2
87013 --Deferred Accounting Start Date
87014 , p_source_84 IN DATE
87015 --Override Accounted Amount Indicator
87016 , p_source_85 IN VARCHAR2
87017 , p_source_85_meaning IN VARCHAR2
87018 --Invoice Supplier Identifier
87019 , p_source_86 IN NUMBER
87020 --Invoice Supplier Site Identifier
87021 , p_source_87 IN NUMBER
87022 --Third Party Type
87023 , p_source_88 IN VARCHAR2
87024 --Parent Reversal Identifier
87025 , p_source_89 IN NUMBER
87026 --Invoice Distribution Tax Line Identifier
87027 , p_source_91 IN NUMBER
87028 --Invoice Distribution Tax Distribution Identifier from Tax
87029 , p_source_92 IN NUMBER
87030 --Invoice Distribution Summary Tax Line Identifier
87031 , p_source_93 IN NUMBER
87032 --Payables Upgrade Credit Encumbrance Type Identifier
87033 , p_source_94 IN NUMBER
87034 --Payables Upgrade Debit Encumbrance Type Identifier
87035 , p_source_95 IN NUMBER
87036 --Business Flow Accounts Payable Application Identifier
87037 , p_source_96 IN NUMBER
87038 --Business Flow Invoice Distribution Type
87039 , p_source_97 IN VARCHAR2
87040 --Business Flow Invoice Entity Code
87041 , p_source_98 IN VARCHAR2
87042 --Business Flow Invoice Distribution Identifier
87043 , p_source_99 IN NUMBER
87044 --Business Flow Invoice Identifier
87045 , p_source_100 IN NUMBER
87046 --Self-Assessed Tax Flag
87047 , p_source_145 IN VARCHAR2
87048 , p_source_145_meaning IN VARCHAR2
87049 --Invoice Exchange Date
87050 , p_source_146 IN DATE
87051 --Invoice Exchange Rate
87052 , p_source_147 IN NUMBER
87053 --Invoice Exchange Rate Type
87054 , p_source_148 IN VARCHAR2
87055 )
87056 IS
87057
87058 l_component_type VARCHAR2(80);
87059 l_component_code VARCHAR2(30);
87060 l_component_type_code VARCHAR2(1);
87061 l_component_appl_id INTEGER;
87062 l_amb_context_code VARCHAR2(30);
87063 l_entity_code VARCHAR2(30);
87064 l_event_class_code VARCHAR2(30);
87065 l_ae_header_id NUMBER;
87066 l_event_type_code VARCHAR2(30);
87067 l_line_definition_code VARCHAR2(30);
87068 l_line_definition_owner_code VARCHAR2(1);
87069 --
87070 -- adr variables
87071 l_segment VARCHAR2(30);
87072 l_ccid NUMBER;
87073 l_adr_transaction_coa_id NUMBER;
87074 l_adr_accounting_coa_id NUMBER;
87075 l_adr_flexfield_segment_code VARCHAR2(30);
87076 l_adr_flex_value_set_id NUMBER;
87077 l_adr_value_type_code VARCHAR2(30);
87078 l_adr_value_combination_id NUMBER;
87079 l_adr_value_segment_code VARCHAR2(30);
87080
87081 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
87082 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
87083 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
87084 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
87085
87086 -- 4262811 Variables ------------------------------------------------------------------------------------------
87087 l_entered_amt_idx NUMBER;
87088 l_accted_amt_idx NUMBER;
87089 l_acc_rev_flag VARCHAR2(1);
87090 l_accrual_line_num NUMBER;
87091 l_tmp_amt NUMBER;
87092 l_acc_rev_natural_side_code VARCHAR2(1);
87093
87094 l_num_entries NUMBER;
87095 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
87096 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
87097 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
87098 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
87099 l_recog_line_1 NUMBER;
87100 l_recog_line_2 NUMBER;
87101
87102 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
87103 l_bflow_applied_to_amt NUMBER; -- 5132302
87104 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
87105
87106 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
87107
87108 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
87109 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
87110
87111 ---------------------------------------------------------------------------------------------------------------
87112
87113
87114 --
87115 -- bulk performance
87116 --
87117 l_balance_type_code VARCHAR2(1);
87118 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
87119 l_log_module VARCHAR2(240);
87120
87124 l_actual_upg_option VARCHAR2(1);
87121 --
87122 -- Upgrade strategy
87123 --
87125 l_enc_upg_option VARCHAR2(1);
87126
87127 --
87128 BEGIN
87129 --
87130 IF g_log_enabled THEN
87131 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_162';
87132 END IF;
87133 --
87134 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
87135
87136 trace
87137 (p_msg => 'BEGIN of AcctLineType_162'
87138 ,p_level => C_LEVEL_PROCEDURE
87139 ,p_module => l_log_module);
87140
87141 END IF;
87142 --
87143 l_component_type := 'AMB_JLT';
87144 l_component_code := 'AP_LIAB_DM_AOS_BS';
87145 l_component_type_code := 'S';
87146 l_component_appl_id := 200;
87147 l_amb_context_code := 'DEFAULT';
87148 l_entity_code := 'AP_INVOICES';
87149 l_event_class_code := 'DEBIT MEMOS';
87150 l_event_type_code := 'DEBIT MEMOS_ALL';
87151 l_line_definition_owner_code := 'S';
87152 l_line_definition_code := 'ACCRUAL_DEBIT MEMOS_ALL';
87153 --
87154 l_balance_type_code := 'A';
87155 l_segment := NULL;
87156 l_ccid := NULL;
87157 l_adr_transaction_coa_id := NULL;
87158 l_adr_accounting_coa_id := NULL;
87159 l_adr_flexfield_segment_code := NULL;
87160 l_adr_flex_value_set_id := NULL;
87161 l_adr_value_type_code := NULL;
87162 l_adr_value_combination_id := NULL;
87163 l_adr_value_segment_code := NULL;
87164
87165 l_bflow_method_code := 'SAME_ENTRY'; -- 4219869 Business Flow
87166 l_bflow_class_code := 'AP_LIAB'; -- 4219869 Business Flow
87167 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
87168 l_budgetary_control_flag := 'N';
87169
87170 l_bflow_applied_to_amt_idx := NULL; -- 5132302
87171 l_bflow_applied_to_amt := NULL; -- 5132302
87172 l_entered_amt_idx := NULL; -- 4262811
87173 l_accted_amt_idx := NULL; -- 4262811
87174 l_acc_rev_flag := NULL; -- 4262811
87175 l_accrual_line_num := NULL; -- 4262811
87176 l_tmp_amt := NULL; -- 4262811
87177 --
87178
87179 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
87180 l_balance_type_code <> 'B' THEN
87181 IF NVL(p_source_10,'
87182 ') = 'BALANCING_SEGMENT' AND
87183 NVL(p_source_145,'
87184 ') <> 'Y'
87185 THEN
87186
87187 --
87188 XLA_AE_LINES_PKG.SetNewLine;
87189
87190 p_balance_type_code := l_balance_type_code;
87191 -- set the flag so later we will know whether the gain loss line needs to be created
87192
87193 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
87194 p_actual_flag :='A';
87195 END IF;
87196
87197 --
87198 -- bulk performance
87199 --
87200 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
87201 p_header_num => 0); -- 4262811
87202 --
87203 -- set accounting line options
87204 --
87205 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
87206 p_natural_side_code => 'C'
87207 , p_gain_or_loss_flag => 'N'
87208 , p_gl_transfer_mode_code => 'S'
87209 , p_acct_entry_type_code => 'A'
87210 , p_switch_side_flag => 'Y'
87211 , p_merge_duplicate_code => 'A'
87212 );
87213 --
87214 l_acc_rev_natural_side_code := 'D'; -- 4262811
87215 --
87216 --
87217 -- set accounting line type info
87218 --
87219 xla_ae_lines_pkg.SetAcctLineType
87220 (p_component_type => l_component_type
87221 ,p_event_type_code => l_event_type_code
87222 ,p_line_definition_owner_code => l_line_definition_owner_code
87223 ,p_line_definition_code => l_line_definition_code
87224 ,p_accounting_line_code => l_component_code
87225 ,p_accounting_line_type_code => l_component_type_code
87226 ,p_accounting_line_appl_id => l_component_appl_id
87227 ,p_amb_context_code => l_amb_context_code
87228 ,p_entity_code => l_entity_code
87229 ,p_event_class_code => l_event_class_code);
87230 --
87231 -- set accounting class
87232 --
87233 xla_ae_lines_pkg.SetAcctClass(
87234 p_accounting_class_code => 'LIABILITY'
87235 , p_ae_header_id => l_ae_header_id
87236 );
87237
87238 --
87239 -- set rounding class
87240 --
87241 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
87242 'LIABILITY';
87243
87244 --
87245 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
87246 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
87247 --
87248 -- bulk performance
87249 --
87250 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
87251
87252 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
87253 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
87254
87255 -- 4955764
87259 -- 4458381 Public Sector Enh
87256 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
87257 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
87258
87260
87261 --
87262 -- set accounting attributes for the line type
87263 --
87264 l_entered_amt_idx := 23;
87265 l_accted_amt_idx := 28;
87266 l_bflow_applied_to_amt_idx := NULL; -- 5132302
87267 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
87268 l_rec_acct_attrs.array_char_value(1) := p_source_58;
87269 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
87270 l_rec_acct_attrs.array_num_value(2) :=
87271 xla_ae_sources_pkg.GetSystemSourceNum(
87272 p_source_code => 'XLA_EVENT_APPL_ID'
87273 , p_source_type_code => 'Y'
87274 , p_source_application_id => 602
87275 );
87276 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
87277 l_rec_acct_attrs.array_char_value(3) := p_source_60;
87278 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
87279 l_rec_acct_attrs.array_char_value(4) :=
87280 xla_ae_sources_pkg.GetSystemSourceChar(
87281 p_source_code => 'XLA_ENTITY_CODE'
87282 , p_source_type_code => 'Y'
87283 , p_source_application_id => 602
87284 );
87285 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
87286 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_62);
87287 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
87288 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_63);
87289 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
87290 l_rec_acct_attrs.array_num_value(7) := p_source_96;
87291 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
87292 l_rec_acct_attrs.array_char_value(8) := p_source_97;
87293 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
87294 l_rec_acct_attrs.array_char_value(9) := p_source_98;
87295 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
87296 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_99);
87297 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
87298 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_100);
87299 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
87300 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_69);
87301 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
87302 l_rec_acct_attrs.array_char_value(13) := p_source_60;
87303 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
87304 l_rec_acct_attrs.array_num_value(14) := p_source_70;
87305 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
87306 l_rec_acct_attrs.array_num_value(15) := p_source_71;
87307 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
87308 l_rec_acct_attrs.array_char_value(16) := p_source_72;
87309 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
87310 l_rec_acct_attrs.array_num_value(17) := p_source_73;
87311 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
87312 l_rec_acct_attrs.array_num_value(18) := p_source_74;
87313 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
87314 l_rec_acct_attrs.array_num_value(19) := p_source_75;
87315 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
87316 l_rec_acct_attrs.array_char_value(20) := p_source_72;
87317 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
87318 l_rec_acct_attrs.array_num_value(21) := p_source_76;
87319 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
87320 l_rec_acct_attrs.array_char_value(22) := p_source_77;
87321 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
87322 l_rec_acct_attrs.array_num_value(23) := p_source_78;
87323 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
87324 l_rec_acct_attrs.array_char_value(24) := p_source_72;
87325 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
87326 l_rec_acct_attrs.array_date_value(25) := p_source_146;
87327 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
87328 l_rec_acct_attrs.array_num_value(26) := p_source_147;
87329 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
87330 l_rec_acct_attrs.array_char_value(27) := p_source_148;
87331 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
87332 l_rec_acct_attrs.array_num_value(28) := p_source_16;
87333 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
87334 l_rec_acct_attrs.array_date_value(29) := p_source_82;
87335 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
87336 l_rec_acct_attrs.array_char_value(30) := p_source_83;
87337 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
87338 l_rec_acct_attrs.array_date_value(31) := p_source_84;
87339 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
87340 l_rec_acct_attrs.array_char_value(32) := p_source_85;
87341 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
87342 l_rec_acct_attrs.array_num_value(33) := p_source_86;
87343 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
87344 l_rec_acct_attrs.array_num_value(34) := p_source_87;
87345 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
87346 l_rec_acct_attrs.array_char_value(35) := p_source_88;
87350 l_rec_acct_attrs.array_char_value(37) := p_source_60;
87347 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
87348 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_89);
87349 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
87351 l_rec_acct_attrs.array_acct_attr_code(38) := 'TAX_LINE_REF_ID';
87352 l_rec_acct_attrs.array_num_value(38) := p_source_91;
87353 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_REC_NREC_DIST_REF_ID';
87354 l_rec_acct_attrs.array_num_value(39) := p_source_92;
87355 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_SUMMARY_LINE_REF_ID';
87356 l_rec_acct_attrs.array_num_value(40) := p_source_93;
87357 l_rec_acct_attrs.array_acct_attr_code(41) := 'UPG_CR_ENC_TYPE_ID';
87358 l_rec_acct_attrs.array_num_value(41) := p_source_94;
87359 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_DR_ENC_TYPE_ID';
87360 l_rec_acct_attrs.array_num_value(42) := p_source_95;
87361
87362 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
87363 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
87364
87365 ---------------------------------------------------------------------------------------------------------------
87366 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
87367 ---------------------------------------------------------------------------------------------------------------
87368 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
87369
87370 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
87371 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
87372
87373 IF xla_accounting_cache_pkg.GetValueChar
87374 (p_source_code => 'LEDGER_CATEGORY_CODE'
87375 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
87376 AND l_bflow_method_code = 'PRIOR_ENTRY'
87377 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
87378 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
87379 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
87380 )
87381 THEN
87382 xla_ae_lines_pkg.BflowUpgEntry
87383 (p_business_method_code => l_bflow_method_code
87384 ,p_business_class_code => l_bflow_class_code
87385 ,p_balance_type => l_balance_type_code);
87386 ELSE
87387 NULL;
87388 XLA_AE_LINES_PKG.business_flow_validation(
87389 p_business_method_code => l_bflow_method_code
87390 ,p_business_class_code => l_bflow_class_code
87391 ,p_inherit_description_flag => l_inherit_desc_flag);
87392 END IF;
87393
87394 --
87395 -- call analytical criteria
87396 --
87397
87398 --
87399 -- call description
87400 --
87401
87402 xla_ae_lines_pkg.SetLineDescription(
87403 p_ae_header_id => l_ae_header_id
87404 ,p_description => Description_2 (
87405 p_application_id => p_application_id
87406 , p_ae_header_id => l_ae_header_id
87407 , p_source_1 => p_source_1
87408 )
87409 );
87410
87411
87412 --
87413 -- call ADRs
87414 -- Bug 4922099
87415 --
87416 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
87417 (NVL(l_actual_upg_option, 'N') = 'O') OR
87418 (NVL(l_enc_upg_option, 'N') = 'O')
87419 )
87420 THEN
87421 NULL;
87422 --
87423 --
87424
87425 l_ccid := AcctDerRule_36(
87426 p_application_id => p_application_id
87427 , p_ae_header_id => l_ae_header_id
87428 , p_source_29 => p_source_29
87429 , x_transaction_coa_id => l_adr_transaction_coa_id
87430 , x_accounting_coa_id => l_adr_accounting_coa_id
87431 , x_value_type_code => l_adr_value_type_code
87432 , p_side => 'NA'
87433 );
87434
87435 xla_ae_lines_pkg.set_ccid(
87436 p_code_combination_id => l_ccid
87437 , p_value_type_code => l_adr_value_type_code
87438 , p_transaction_coa_id => l_adr_transaction_coa_id
87439 , p_accounting_coa_id => l_adr_accounting_coa_id
87440 , p_adr_code => 'AP_LIAB'
87441 , p_adr_type_code => 'S'
87442 , p_component_type => l_component_type
87443 , p_component_code => l_component_code
87444 , p_component_type_code => l_component_type_code
87445 , p_component_appl_id => l_component_appl_id
87446 , p_amb_context_code => l_amb_context_code
87447 , p_side => 'NA'
87448 );
87449
87450
87451 xla_ae_lines_pkg.Set_Segment( -- replaced SetSegment
87452 p_to_segment_code => 'GL_BALANCING'
87453 , p_segment_value => C_CHAR
87454 , p_from_segment_code => NULL
87455 , p_from_combination_id => NULL
87456 , p_value_type_code => NULL
87457 , p_transaction_coa_id => null
87458 , p_accounting_coa_id => null
87459 , p_flexfield_segment_code => NULL
87460 , p_flex_value_set_id => NULL
87461 , p_adr_code => NULL
87462 , p_adr_type_code => NULL
87466 , p_component_appl_id => l_component_appl_id
87463 , p_component_type => l_component_type
87464 , p_component_code => l_component_code
87465 , p_component_type_code => l_component_type_code
87467 , p_amb_context_code => l_amb_context_code
87468 , p_entity_code => 'AP_INVOICES'
87469 , p_event_class_code => 'DEBIT MEMOS'
87470 , p_side => 'NA'
87471 );
87472 --
87473
87474
87475 --
87476 --
87477 END IF;
87478 --
87479 -- Bug 4922099
87480 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
87481 (NVL(l_enc_upg_option, 'N') = 'O')
87482 ) AND
87483 (l_bflow_method_code = 'PRIOR_ENTRY')
87484 )
87485 THEN
87486 IF
87487 --
87488 1 = 2
87489 --
87490 THEN
87491 xla_accounting_err_pkg.build_message
87492 (p_appli_s_name => 'XLA'
87493 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
87494 ,p_token_1 => 'LINE_NUMBER'
87495 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
87496 ,p_token_2 => 'LINE_TYPE_NAME'
87497 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
87498 l_component_type
87499 ,l_component_code
87500 ,l_component_type_code
87501 ,l_component_appl_id
87502 ,l_amb_context_code
87503 ,l_entity_code
87504 ,l_event_class_code
87505 )
87506 ,p_token_3 => 'OWNER'
87507 ,p_value_3 => xla_lookups_pkg.get_meaning(
87508 p_lookup_type => 'XLA_OWNER_TYPE'
87509 ,p_lookup_code => l_component_type_code
87510 )
87511 ,p_token_4 => 'PRODUCT_NAME'
87512 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
87513 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
87514 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
87515 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
87516 ,p_ae_header_id => NULL
87517 );
87518
87519 IF (C_LEVEL_ERROR>= g_log_level) THEN
87520 trace
87521 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
87522 ,p_level => C_LEVEL_ERROR
87523 ,p_module => l_log_module);
87524 END IF;
87525 END IF;
87526 END IF;
87527 --
87528 --
87529 ------------------------------------------------------------------------------------------------
87530 -- 4219869 Business Flow
87531 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
87532 -- Prior Entry. Currently, the following code is always generated.
87533 ------------------------------------------------------------------------------------------------
87534 XLA_AE_LINES_PKG.ValidateCurrentLine;
87535
87536 ------------------------------------------------------------------------------------
87537 -- 4219869 Business Flow
87538 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
87539 ------------------------------------------------------------------------------------
87540 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
87541
87542 ----------------------------------------------------------------------------------
87543 -- 4219869 Business Flow
87544 -- Update journal entry status -- Need to generate this within IF <condition>
87545 ----------------------------------------------------------------------------------
87546 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
87547 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
87548 ,p_balance_type_code => l_balance_type_code
87549 );
87550
87551 -------------------------------------------------------------------------------------------
87552 -- 4262811 - Generate the Accrual Reversal lines
87553 -------------------------------------------------------------------------------------------
87554 BEGIN
87555 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
87556 (g_array_event(p_event_id).array_value_num('header_index'));
87557 IF l_acc_rev_flag IS NULL THEN
87558 l_acc_rev_flag := 'N';
87562 l_acc_rev_flag := 'N';
87559 END IF;
87560 EXCEPTION
87561 WHEN OTHERS THEN
87563 END;
87564 --
87565 IF (l_acc_rev_flag = 'Y') THEN
87566
87567 -- 4645092 ------------------------------------------------------------------------------
87568 -- To allow MPA report to determine if it should generate report process
87569 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
87570 ------------------------------------------------------------------------------------------
87571
87572 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
87573 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
87574 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
87575 -- call ADRs
87576 -- Bug 4922099
87577 --
87578 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
87579 (NVL(l_actual_upg_option, 'N') = 'O') OR
87580 (NVL(l_enc_upg_option, 'N') = 'O')
87581 )
87582 THEN
87583 NULL;
87584 --
87585 --
87586
87587 l_ccid := AcctDerRule_36(
87588 p_application_id => p_application_id
87589 , p_ae_header_id => l_ae_header_id
87590 , p_source_29 => p_source_29
87591 , x_transaction_coa_id => l_adr_transaction_coa_id
87592 , x_accounting_coa_id => l_adr_accounting_coa_id
87593 , x_value_type_code => l_adr_value_type_code
87594 , p_side => 'NA'
87595 );
87596
87597 xla_ae_lines_pkg.set_ccid(
87598 p_code_combination_id => l_ccid
87599 , p_value_type_code => l_adr_value_type_code
87600 , p_transaction_coa_id => l_adr_transaction_coa_id
87601 , p_accounting_coa_id => l_adr_accounting_coa_id
87602 , p_adr_code => 'AP_LIAB'
87603 , p_adr_type_code => 'S'
87604 , p_component_type => l_component_type
87605 , p_component_code => l_component_code
87606 , p_component_type_code => l_component_type_code
87607 , p_component_appl_id => l_component_appl_id
87608 , p_amb_context_code => l_amb_context_code
87609 , p_side => 'NA'
87610 );
87611
87612
87613 xla_ae_lines_pkg.Set_Segment( -- replaced SetSegment
87614 p_to_segment_code => 'GL_BALANCING'
87615 , p_segment_value => C_CHAR
87616 , p_from_segment_code => NULL
87617 , p_from_combination_id => NULL
87618 , p_value_type_code => NULL
87619 , p_transaction_coa_id => null
87620 , p_accounting_coa_id => null
87621 , p_flexfield_segment_code => NULL
87622 , p_flex_value_set_id => NULL
87623 , p_adr_code => NULL
87624 , p_adr_type_code => NULL
87625 , p_component_type => l_component_type
87626 , p_component_code => l_component_code
87627 , p_component_type_code => l_component_type_code
87628 , p_component_appl_id => l_component_appl_id
87629 , p_amb_context_code => l_amb_context_code
87630 , p_entity_code => 'AP_INVOICES'
87631 , p_event_class_code => 'DEBIT MEMOS'
87632 , p_side => 'NA'
87633 );
87634 --
87635
87636
87637 --
87638 --
87639 END IF;
87640
87641 --
87642 -- Update the line information that should be overwritten
87643 --
87644 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
87645 p_header_num => 1);
87646 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
87647
87648 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
87649
87650 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
87651 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
87652 END IF;
87653
87654 --
87655 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
87656 --
87657 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
87658 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
87659 ELSE
87660 ---------------------------------------------------------------------------------------------------
87661 -- 4262811a Switch Sign
87662 ---------------------------------------------------------------------------------------------------
87663 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
87664 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
87665 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
87666 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
87667 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
87668 -- 5132302
87669 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
87670 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
87671
87672 END IF;
87676 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
87673
87674 -- 4955764
87675 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
87677
87678
87679 XLA_AE_LINES_PKG.ValidateCurrentLine;
87680 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
87681
87682 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
87683 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
87684 ,p_balance_type_code => l_balance_type_code);
87685
87686 END IF;
87687
87688 -----------------------------------------------------------------------------------------
87689 -- 4262811 Multiperiod Accounting
87690 -----------------------------------------------------------------------------------------
87691 -- No MPA option is assigned.
87692
87693
87694 END IF;
87695 END IF;
87696 --
87697
87698 --
87699 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
87700 trace
87701 (p_msg => 'END of AcctLineType_162'
87702 ,p_level => C_LEVEL_PROCEDURE
87703 ,p_module => l_log_module);
87704 END IF;
87705 --
87706 EXCEPTION
87707 WHEN xla_exceptions_pkg.application_exception THEN
87708 RAISE;
87709 WHEN OTHERS THEN
87710 xla_exceptions_pkg.raise_message
87711 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_162');
87712 END AcctLineType_162;
87713 --
87714
87715 ---------------------------------------
87716 --
87717 -- PRIVATE FUNCTION
87718 -- AcctLineType_163
87719 --
87720 ---------------------------------------
87721 PROCEDURE AcctLineType_163 (
87722 p_application_id IN NUMBER
87723 ,p_event_id IN NUMBER
87724 ,p_calculate_acctd_flag IN VARCHAR2
87725 ,p_calculate_g_l_flag IN VARCHAR2
87726 ,p_actual_flag IN OUT VARCHAR2
87727 ,p_balance_type_code OUT VARCHAR2
87728 ,p_gain_or_loss_ref OUT VARCHAR2
87729
87730 --Invoice Distribution Description
87731 , p_source_1 IN VARCHAR2
87732 --Automatic Offsets Value
87733 , p_source_10 IN VARCHAR2
87734 , p_source_10_meaning IN VARCHAR2
87735 --Invoice Distribution Ledger Amount
87736 , p_source_16 IN NUMBER
87737 --Invoice Liability Account
87738 , p_source_29 IN NUMBER
87739 --Accounting Reversal Indicator
87740 , p_source_58 IN VARCHAR2
87741 --Distribution Link Type
87742 , p_source_60 IN VARCHAR2
87743 --Allocation to Main Distribution Identifier
87744 , p_source_62 IN NUMBER
87745 --Invoice Identifier
87746 , p_source_63 IN NUMBER
87747 --Invoice Distribution Identifier
87748 , p_source_69 IN NUMBER
87749 --Payables Encumbrance Upgrade Credit Account
87750 , p_source_70 IN NUMBER
87751 --Payables Encumbrance Upgrade Credit Amount
87752 , p_source_71 IN NUMBER
87753 --Invoice Currency Code
87754 , p_source_72 IN VARCHAR2
87755 --Payables Encumbrance Upgrade Credit Base Amount
87756 , p_source_73 IN NUMBER
87757 --Payables Encumbrance Upgrade Debit Account
87758 , p_source_74 IN NUMBER
87759 --Payables Encumbrance Upgrade Debit Amount
87760 , p_source_75 IN NUMBER
87761 --Payables Encumbrance Upgrade Debit Base Amount
87762 , p_source_76 IN NUMBER
87763 --Payables Encumbrance Upgrade Option
87764 , p_source_77 IN VARCHAR2
87765 --Invoice Distribution Amount
87766 , p_source_78 IN NUMBER
87767 --Deferred Accounting End Date
87768 , p_source_82 IN DATE
87769 --Deferred Accounting Option
87770 , p_source_83 IN VARCHAR2
87771 --Deferred Accounting Start Date
87772 , p_source_84 IN DATE
87773 --Override Accounted Amount Indicator
87774 , p_source_85 IN VARCHAR2
87775 , p_source_85_meaning IN VARCHAR2
87776 --Invoice Supplier Identifier
87777 , p_source_86 IN NUMBER
87778 --Invoice Supplier Site Identifier
87779 , p_source_87 IN NUMBER
87780 --Third Party Type
87781 , p_source_88 IN VARCHAR2
87782 --Parent Reversal Identifier
87783 , p_source_89 IN NUMBER
87784 --Invoice Distribution Statistical Amount
87785 , p_source_90 IN NUMBER
87786 --Invoice Distribution Tax Line Identifier
87787 , p_source_91 IN NUMBER
87788 --Invoice Distribution Tax Distribution Identifier from Tax
87789 , p_source_92 IN NUMBER
87790 --Invoice Distribution Summary Tax Line Identifier
87791 , p_source_93 IN NUMBER
87792 --Payables Upgrade Credit Encumbrance Type Identifier
87793 , p_source_94 IN NUMBER
87794 --Payables Upgrade Debit Encumbrance Type Identifier
87795 , p_source_95 IN NUMBER
87796 --Business Flow Accounts Payable Application Identifier
87797 , p_source_96 IN NUMBER
87798 --Business Flow Invoice Distribution Type
87799 , p_source_97 IN VARCHAR2
87800 --Business Flow Invoice Entity Code
87801 , p_source_98 IN VARCHAR2
87802 --Business Flow Invoice Distribution Identifier
87803 , p_source_99 IN NUMBER
87804 --Business Flow Invoice Identifier
87805 , p_source_100 IN NUMBER
87806 --Self-Assessed Tax Flag
87807 , p_source_145 IN VARCHAR2
87808 , p_source_145_meaning IN VARCHAR2
87812 , p_source_147 IN NUMBER
87809 --Invoice Exchange Date
87810 , p_source_146 IN DATE
87811 --Invoice Exchange Rate
87813 --Invoice Exchange Rate Type
87814 , p_source_148 IN VARCHAR2
87815 --Invoice Type
87816 , p_source_167 IN VARCHAR2
87817 , p_source_167_meaning IN VARCHAR2
87818 )
87819 IS
87820
87821 l_component_type VARCHAR2(80);
87822 l_component_code VARCHAR2(30);
87823 l_component_type_code VARCHAR2(1);
87824 l_component_appl_id INTEGER;
87825 l_amb_context_code VARCHAR2(30);
87826 l_entity_code VARCHAR2(30);
87827 l_event_class_code VARCHAR2(30);
87828 l_ae_header_id NUMBER;
87829 l_event_type_code VARCHAR2(30);
87830 l_line_definition_code VARCHAR2(30);
87831 l_line_definition_owner_code VARCHAR2(1);
87832 --
87833 -- adr variables
87834 l_segment VARCHAR2(30);
87835 l_ccid NUMBER;
87836 l_adr_transaction_coa_id NUMBER;
87837 l_adr_accounting_coa_id NUMBER;
87838 l_adr_flexfield_segment_code VARCHAR2(30);
87839 l_adr_flex_value_set_id NUMBER;
87840 l_adr_value_type_code VARCHAR2(30);
87841 l_adr_value_combination_id NUMBER;
87842 l_adr_value_segment_code VARCHAR2(30);
87843
87844 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
87845 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
87846 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
87847 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
87848
87849 -- 4262811 Variables ------------------------------------------------------------------------------------------
87850 l_entered_amt_idx NUMBER;
87851 l_accted_amt_idx NUMBER;
87852 l_acc_rev_flag VARCHAR2(1);
87853 l_accrual_line_num NUMBER;
87854 l_tmp_amt NUMBER;
87855 l_acc_rev_natural_side_code VARCHAR2(1);
87856
87857 l_num_entries NUMBER;
87858 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
87859 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
87860 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
87861 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
87862 l_recog_line_1 NUMBER;
87863 l_recog_line_2 NUMBER;
87864
87865 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
87866 l_bflow_applied_to_amt NUMBER; -- 5132302
87867 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
87868
87869 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
87870
87871 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
87872 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
87873
87874 ---------------------------------------------------------------------------------------------------------------
87875
87876
87877 --
87878 -- bulk performance
87879 --
87880 l_balance_type_code VARCHAR2(1);
87881 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
87882 l_log_module VARCHAR2(240);
87883
87884 --
87885 -- Upgrade strategy
87886 --
87887 l_actual_upg_option VARCHAR2(1);
87888 l_enc_upg_option VARCHAR2(1);
87889
87890 --
87891 BEGIN
87892 --
87893 IF g_log_enabled THEN
87894 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_163';
87895 END IF;
87896 --
87897 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
87898
87899 trace
87900 (p_msg => 'BEGIN of AcctLineType_163'
87901 ,p_level => C_LEVEL_PROCEDURE
87902 ,p_module => l_log_module);
87903
87904 END IF;
87905 --
87906 l_component_type := 'AMB_JLT';
87907 l_component_code := 'AP_LIAB_INV';
87908 l_component_type_code := 'S';
87909 l_component_appl_id := 200;
87910 l_amb_context_code := 'DEFAULT';
87911 l_entity_code := 'AP_INVOICES';
87912 l_event_class_code := 'INVOICES';
87913 l_event_type_code := 'INVOICES_ALL';
87914 l_line_definition_owner_code := 'S';
87915 l_line_definition_code := 'ACCRUAL_INVOICES_ALL';
87916 --
87917 l_balance_type_code := 'A';
87918 l_segment := NULL;
87919 l_ccid := NULL;
87920 l_adr_transaction_coa_id := NULL;
87921 l_adr_accounting_coa_id := NULL;
87922 l_adr_flexfield_segment_code := NULL;
87923 l_adr_flex_value_set_id := NULL;
87924 l_adr_value_type_code := NULL;
87925 l_adr_value_combination_id := NULL;
87926 l_adr_value_segment_code := NULL;
87927
87928 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
87929 l_bflow_class_code := 'AP_LIAB'; -- 4219869 Business Flow
87930 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
87931 l_budgetary_control_flag := 'N';
87932
87933 l_bflow_applied_to_amt_idx := NULL; -- 5132302
87934 l_bflow_applied_to_amt := NULL; -- 5132302
87935 l_entered_amt_idx := NULL; -- 4262811
87936 l_accted_amt_idx := NULL; -- 4262811
87937 l_acc_rev_flag := NULL; -- 4262811
87938 l_accrual_line_num := NULL; -- 4262811
87942 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
87939 l_tmp_amt := NULL; -- 4262811
87940 --
87941
87943 l_balance_type_code <> 'B' THEN
87944 IF (NVL(p_source_10,'
87945 ') <> 'BALANCING_SEGMENT' AND
87946 NVL(p_source_10,'
87947 ') <> 'ACCOUNT_SEGMENT_VALUE') AND
87948 (NVL(p_source_167,'
87949 ') = 'STANDARD' OR
87950 NVL(p_source_167,'
87951 ') = 'MIXED' OR
87952 NVL(p_source_167,'
87953 ') = 'AWT' OR
87954 NVL(p_source_167,'
87955 ') = 'PO PRICE ADJUST' OR
87956 NVL(p_source_167,'
87957 ') = 'EXPENSE REPORT' OR
87958 NVL(p_source_167,'
87959 ') = 'PAYMENT REQUEST' OR
87960 NVL(p_source_167,'
87961 ') = 'RETAINAGE RELEASE') AND
87962 NVL(p_source_145,'
87963 ') <> 'Y'
87964 THEN
87965
87966 --
87967 XLA_AE_LINES_PKG.SetNewLine;
87968
87969 p_balance_type_code := l_balance_type_code;
87970 -- set the flag so later we will know whether the gain loss line needs to be created
87971
87972 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
87973 p_actual_flag :='A';
87974 END IF;
87975
87976 --
87977 -- bulk performance
87978 --
87979 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
87980 p_header_num => 0); -- 4262811
87981 --
87982 -- set accounting line options
87983 --
87984 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
87985 p_natural_side_code => 'C'
87986 , p_gain_or_loss_flag => 'N'
87987 , p_gl_transfer_mode_code => 'S'
87988 , p_acct_entry_type_code => 'A'
87989 , p_switch_side_flag => 'Y'
87990 , p_merge_duplicate_code => 'A'
87991 );
87992 --
87993 l_acc_rev_natural_side_code := 'D'; -- 4262811
87994 --
87995 --
87996 -- set accounting line type info
87997 --
87998 xla_ae_lines_pkg.SetAcctLineType
87999 (p_component_type => l_component_type
88000 ,p_event_type_code => l_event_type_code
88001 ,p_line_definition_owner_code => l_line_definition_owner_code
88002 ,p_line_definition_code => l_line_definition_code
88003 ,p_accounting_line_code => l_component_code
88004 ,p_accounting_line_type_code => l_component_type_code
88005 ,p_accounting_line_appl_id => l_component_appl_id
88006 ,p_amb_context_code => l_amb_context_code
88007 ,p_entity_code => l_entity_code
88008 ,p_event_class_code => l_event_class_code);
88009 --
88010 -- set accounting class
88011 --
88012 xla_ae_lines_pkg.SetAcctClass(
88013 p_accounting_class_code => 'LIABILITY'
88014 , p_ae_header_id => l_ae_header_id
88015 );
88016
88017 --
88018 -- set rounding class
88019 --
88020 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
88021 'LIABILITY';
88022
88023 --
88024 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
88025 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
88026 --
88027 -- bulk performance
88028 --
88029 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
88030
88031 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
88032 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
88033
88034 -- 4955764
88035 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
88036 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
88037
88038 -- 4458381 Public Sector Enh
88039
88040 --
88041 -- set accounting attributes for the line type
88042 --
88043 l_entered_amt_idx := 24;
88044 l_accted_amt_idx := 29;
88045 l_bflow_applied_to_amt_idx := 7; -- 5132302
88046 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
88047 l_rec_acct_attrs.array_char_value(1) := p_source_58;
88048 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
88049 l_rec_acct_attrs.array_num_value(2) :=
88050 xla_ae_sources_pkg.GetSystemSourceNum(
88051 p_source_code => 'XLA_EVENT_APPL_ID'
88052 , p_source_type_code => 'Y'
88053 , p_source_application_id => 602
88054 );
88055 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
88056 l_rec_acct_attrs.array_char_value(3) := p_source_60;
88057 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
88058 l_rec_acct_attrs.array_char_value(4) :=
88059 xla_ae_sources_pkg.GetSystemSourceChar(
88060 p_source_code => 'XLA_ENTITY_CODE'
88061 , p_source_type_code => 'Y'
88062 , p_source_application_id => 602
88063 );
88064 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
88065 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_62);
88066 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
88067 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_63);
88068 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
88072 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
88069 l_rec_acct_attrs.array_num_value(7) := p_source_78;
88070 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
88071 l_rec_acct_attrs.array_num_value(8) := p_source_96;
88073 l_rec_acct_attrs.array_char_value(9) := p_source_97;
88074 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
88075 l_rec_acct_attrs.array_char_value(10) := p_source_98;
88076 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
88077 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_99);
88078 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
88079 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_100);
88080 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
88081 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_69);
88082 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
88083 l_rec_acct_attrs.array_char_value(14) := p_source_60;
88084 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
88085 l_rec_acct_attrs.array_num_value(15) := p_source_70;
88086 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
88087 l_rec_acct_attrs.array_num_value(16) := p_source_71;
88088 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
88089 l_rec_acct_attrs.array_char_value(17) := p_source_72;
88090 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
88091 l_rec_acct_attrs.array_num_value(18) := p_source_73;
88092 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
88093 l_rec_acct_attrs.array_num_value(19) := p_source_74;
88094 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
88095 l_rec_acct_attrs.array_num_value(20) := p_source_75;
88096 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
88097 l_rec_acct_attrs.array_char_value(21) := p_source_72;
88098 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
88099 l_rec_acct_attrs.array_num_value(22) := p_source_76;
88100 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
88101 l_rec_acct_attrs.array_char_value(23) := p_source_77;
88102 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_AMOUNT';
88103 l_rec_acct_attrs.array_num_value(24) := p_source_78;
88104 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_CODE';
88105 l_rec_acct_attrs.array_char_value(25) := p_source_72;
88106 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_DATE';
88107 l_rec_acct_attrs.array_date_value(26) := p_source_146;
88108 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE';
88109 l_rec_acct_attrs.array_num_value(27) := p_source_147;
88110 l_rec_acct_attrs.array_acct_attr_code(28) := 'EXCHANGE_RATE_TYPE';
88111 l_rec_acct_attrs.array_char_value(28) := p_source_148;
88112 l_rec_acct_attrs.array_acct_attr_code(29) := 'LEDGER_AMOUNT';
88113 l_rec_acct_attrs.array_num_value(29) := p_source_16;
88114 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_END_DATE';
88115 l_rec_acct_attrs.array_date_value(30) := p_source_82;
88116 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_OPTION';
88117 l_rec_acct_attrs.array_char_value(31) := p_source_83;
88118 l_rec_acct_attrs.array_acct_attr_code(32) := 'MULTIPERIOD_START_DATE';
88119 l_rec_acct_attrs.array_date_value(32) := p_source_84;
88120 l_rec_acct_attrs.array_acct_attr_code(33) := 'OVERRIDE_ACCTD_AMT_FLAG';
88121 l_rec_acct_attrs.array_char_value(33) := p_source_85;
88122 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_ID';
88123 l_rec_acct_attrs.array_num_value(34) := p_source_86;
88124 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_SITE_ID';
88125 l_rec_acct_attrs.array_num_value(35) := p_source_87;
88126 l_rec_acct_attrs.array_acct_attr_code(36) := 'PARTY_TYPE';
88127 l_rec_acct_attrs.array_char_value(36) := p_source_88;
88128 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_ID1';
88129 l_rec_acct_attrs.array_num_value(37) := to_char(p_source_89);
88130 l_rec_acct_attrs.array_acct_attr_code(38) := 'REVERSED_DISTRIBUTION_TYPE';
88131 l_rec_acct_attrs.array_char_value(38) := p_source_60;
88132 l_rec_acct_attrs.array_acct_attr_code(39) := 'STATISTICAL_AMOUNT';
88133 l_rec_acct_attrs.array_num_value(39) := p_source_90;
88134 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_LINE_REF_ID';
88135 l_rec_acct_attrs.array_num_value(40) := p_source_91;
88136 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_REC_NREC_DIST_REF_ID';
88137 l_rec_acct_attrs.array_num_value(41) := p_source_92;
88138 l_rec_acct_attrs.array_acct_attr_code(42) := 'TAX_SUMMARY_LINE_REF_ID';
88139 l_rec_acct_attrs.array_num_value(42) := p_source_93;
88140 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_CR_ENC_TYPE_ID';
88141 l_rec_acct_attrs.array_num_value(43) := p_source_94;
88142 l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
88143 l_rec_acct_attrs.array_num_value(44) := p_source_95;
88144
88145 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
88146 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
88147
88148 ---------------------------------------------------------------------------------------------------------------
88149 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
88150 ---------------------------------------------------------------------------------------------------------------
88154 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
88151 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
88152
88153 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
88155
88156 IF xla_accounting_cache_pkg.GetValueChar
88157 (p_source_code => 'LEDGER_CATEGORY_CODE'
88158 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
88159 AND l_bflow_method_code = 'PRIOR_ENTRY'
88160 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
88161 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
88162 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
88163 )
88164 THEN
88165 xla_ae_lines_pkg.BflowUpgEntry
88166 (p_business_method_code => l_bflow_method_code
88167 ,p_business_class_code => l_bflow_class_code
88168 ,p_balance_type => l_balance_type_code);
88169 ELSE
88170 NULL;
88171 -- No business flow processing for business flow method of NONE.
88172 END IF;
88173
88174 --
88175 -- call analytical criteria
88176 --
88177
88178 --
88179 -- call description
88180 --
88181
88182 xla_ae_lines_pkg.SetLineDescription(
88183 p_ae_header_id => l_ae_header_id
88184 ,p_description => Description_2 (
88185 p_application_id => p_application_id
88186 , p_ae_header_id => l_ae_header_id
88187 , p_source_1 => p_source_1
88188 )
88189 );
88190
88191
88192 --
88193 -- call ADRs
88194 -- Bug 4922099
88195 --
88196 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
88197 (NVL(l_actual_upg_option, 'N') = 'O') OR
88198 (NVL(l_enc_upg_option, 'N') = 'O')
88199 )
88200 THEN
88201 NULL;
88202 --
88203 --
88204
88205 l_ccid := AcctDerRule_36(
88206 p_application_id => p_application_id
88207 , p_ae_header_id => l_ae_header_id
88208 , p_source_29 => p_source_29
88209 , x_transaction_coa_id => l_adr_transaction_coa_id
88210 , x_accounting_coa_id => l_adr_accounting_coa_id
88211 , x_value_type_code => l_adr_value_type_code
88212 , p_side => 'NA'
88213 );
88214
88215 xla_ae_lines_pkg.set_ccid(
88216 p_code_combination_id => l_ccid
88217 , p_value_type_code => l_adr_value_type_code
88218 , p_transaction_coa_id => l_adr_transaction_coa_id
88219 , p_accounting_coa_id => l_adr_accounting_coa_id
88220 , p_adr_code => 'AP_LIAB'
88221 , p_adr_type_code => 'S'
88222 , p_component_type => l_component_type
88223 , p_component_code => l_component_code
88224 , p_component_type_code => l_component_type_code
88225 , p_component_appl_id => l_component_appl_id
88226 , p_amb_context_code => l_amb_context_code
88227 , p_side => 'NA'
88228 );
88229
88230
88231 --
88232 --
88233 END IF;
88234 --
88235 -- Bug 4922099
88236 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
88237 (NVL(l_enc_upg_option, 'N') = 'O')
88238 ) AND
88239 (l_bflow_method_code = 'PRIOR_ENTRY')
88240 )
88241 THEN
88242 IF
88243 --
88244 1 = 2
88245 --
88246 THEN
88247 xla_accounting_err_pkg.build_message
88248 (p_appli_s_name => 'XLA'
88249 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
88250 ,p_token_1 => 'LINE_NUMBER'
88251 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
88252 ,p_token_2 => 'LINE_TYPE_NAME'
88253 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
88254 l_component_type
88255 ,l_component_code
88256 ,l_component_type_code
88257 ,l_component_appl_id
88258 ,l_amb_context_code
88259 ,l_entity_code
88260 ,l_event_class_code
88261 )
88262 ,p_token_3 => 'OWNER'
88263 ,p_value_3 => xla_lookups_pkg.get_meaning(
88264 p_lookup_type => 'XLA_OWNER_TYPE'
88265 ,p_lookup_code => l_component_type_code
88266 )
88267 ,p_token_4 => 'PRODUCT_NAME'
88271 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
88268 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
88269 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
88270 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
88272 ,p_ae_header_id => NULL
88273 );
88274
88275 IF (C_LEVEL_ERROR>= g_log_level) THEN
88276 trace
88277 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
88278 ,p_level => C_LEVEL_ERROR
88279 ,p_module => l_log_module);
88280 END IF;
88281 END IF;
88282 END IF;
88283 --
88284 --
88285 ------------------------------------------------------------------------------------------------
88286 -- 4219869 Business Flow
88287 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
88288 -- Prior Entry. Currently, the following code is always generated.
88289 ------------------------------------------------------------------------------------------------
88290 XLA_AE_LINES_PKG.ValidateCurrentLine;
88291
88292 ------------------------------------------------------------------------------------
88293 -- 4219869 Business Flow
88294 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
88295 ------------------------------------------------------------------------------------
88296 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
88297
88298 ----------------------------------------------------------------------------------
88299 -- 4219869 Business Flow
88300 -- Update journal entry status -- Need to generate this within IF <condition>
88301 ----------------------------------------------------------------------------------
88302 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
88303 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
88304 ,p_balance_type_code => l_balance_type_code
88305 );
88306
88307 -------------------------------------------------------------------------------------------
88308 -- 4262811 - Generate the Accrual Reversal lines
88309 -------------------------------------------------------------------------------------------
88310 BEGIN
88311 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
88312 (g_array_event(p_event_id).array_value_num('header_index'));
88313 IF l_acc_rev_flag IS NULL THEN
88314 l_acc_rev_flag := 'N';
88315 END IF;
88316 EXCEPTION
88317 WHEN OTHERS THEN
88318 l_acc_rev_flag := 'N';
88319 END;
88320 --
88321 IF (l_acc_rev_flag = 'Y') THEN
88322
88323 -- 4645092 ------------------------------------------------------------------------------
88324 -- To allow MPA report to determine if it should generate report process
88325 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
88326 ------------------------------------------------------------------------------------------
88327
88328 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
88329 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
88330 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
88331 -- call ADRs
88332 -- Bug 4922099
88333 --
88334 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
88335 (NVL(l_actual_upg_option, 'N') = 'O') OR
88336 (NVL(l_enc_upg_option, 'N') = 'O')
88337 )
88338 THEN
88339 NULL;
88340 --
88341 --
88342
88343 l_ccid := AcctDerRule_36(
88344 p_application_id => p_application_id
88345 , p_ae_header_id => l_ae_header_id
88346 , p_source_29 => p_source_29
88347 , x_transaction_coa_id => l_adr_transaction_coa_id
88348 , x_accounting_coa_id => l_adr_accounting_coa_id
88349 , x_value_type_code => l_adr_value_type_code
88350 , p_side => 'NA'
88351 );
88352
88353 xla_ae_lines_pkg.set_ccid(
88354 p_code_combination_id => l_ccid
88355 , p_value_type_code => l_adr_value_type_code
88356 , p_transaction_coa_id => l_adr_transaction_coa_id
88357 , p_accounting_coa_id => l_adr_accounting_coa_id
88358 , p_adr_code => 'AP_LIAB'
88359 , p_adr_type_code => 'S'
88360 , p_component_type => l_component_type
88361 , p_component_code => l_component_code
88362 , p_component_type_code => l_component_type_code
88363 , p_component_appl_id => l_component_appl_id
88364 , p_amb_context_code => l_amb_context_code
88365 , p_side => 'NA'
88366 );
88367
88368
88369 --
88370 --
88371 END IF;
88372
88373 --
88374 -- Update the line information that should be overwritten
88375 --
88376 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
88377 p_header_num => 1);
88378 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
88379
88383 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
88380 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
88381
88382 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
88384 END IF;
88385
88386 --
88387 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
88388 --
88389 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
88390 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
88391 ELSE
88392 ---------------------------------------------------------------------------------------------------
88393 -- 4262811a Switch Sign
88394 ---------------------------------------------------------------------------------------------------
88395 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
88396 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
88397 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
88398 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
88399 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
88400 -- 5132302
88401 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
88402 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
88403
88404 END IF;
88405
88406 -- 4955764
88407 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
88408 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
88409
88410
88411 XLA_AE_LINES_PKG.ValidateCurrentLine;
88412 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
88413
88414 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
88415 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
88416 ,p_balance_type_code => l_balance_type_code);
88417
88418 END IF;
88419
88420 -----------------------------------------------------------------------------------------
88421 -- 4262811 Multiperiod Accounting
88422 -----------------------------------------------------------------------------------------
88423 -- No MPA option is assigned.
88424
88425
88426 END IF;
88427 END IF;
88428 --
88429
88430 --
88431 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
88432 trace
88433 (p_msg => 'END of AcctLineType_163'
88434 ,p_level => C_LEVEL_PROCEDURE
88435 ,p_module => l_log_module);
88436 END IF;
88437 --
88438 EXCEPTION
88439 WHEN xla_exceptions_pkg.application_exception THEN
88440 RAISE;
88441 WHEN OTHERS THEN
88442 xla_exceptions_pkg.raise_message
88443 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_163');
88444 END AcctLineType_163;
88445 --
88446
88447 ---------------------------------------
88448 --
88449 -- PRIVATE FUNCTION
88450 -- AcctLineType_164
88451 --
88452 ---------------------------------------
88453 PROCEDURE AcctLineType_164 (
88454 p_application_id IN NUMBER
88455 ,p_event_id IN NUMBER
88456 ,p_calculate_acctd_flag IN VARCHAR2
88457 ,p_calculate_g_l_flag IN VARCHAR2
88458 ,p_actual_flag IN OUT VARCHAR2
88459 ,p_balance_type_code OUT VARCHAR2
88460 ,p_gain_or_loss_ref OUT VARCHAR2
88461
88462 --Invoice Distribution Description
88463 , p_source_1 IN VARCHAR2
88464 --Automatic Offsets Value
88465 , p_source_10 IN VARCHAR2
88466 , p_source_10_meaning IN VARCHAR2
88467 --Invoice Distribution Ledger Amount
88468 , p_source_16 IN NUMBER
88469 --Invoice Liability Account
88470 , p_source_29 IN NUMBER
88471 --Accounting Reversal Indicator
88472 , p_source_58 IN VARCHAR2
88473 --Distribution Link Type
88474 , p_source_60 IN VARCHAR2
88475 --Allocation to Main Distribution Identifier
88476 , p_source_62 IN NUMBER
88477 --Invoice Identifier
88478 , p_source_63 IN NUMBER
88479 --Invoice Distribution Identifier
88480 , p_source_69 IN NUMBER
88481 --Payables Encumbrance Upgrade Credit Account
88482 , p_source_70 IN NUMBER
88483 --Payables Encumbrance Upgrade Credit Amount
88484 , p_source_71 IN NUMBER
88485 --Invoice Currency Code
88486 , p_source_72 IN VARCHAR2
88487 --Payables Encumbrance Upgrade Credit Base Amount
88488 , p_source_73 IN NUMBER
88489 --Payables Encumbrance Upgrade Debit Account
88490 , p_source_74 IN NUMBER
88491 --Payables Encumbrance Upgrade Debit Amount
88492 , p_source_75 IN NUMBER
88493 --Payables Encumbrance Upgrade Debit Base Amount
88494 , p_source_76 IN NUMBER
88495 --Payables Encumbrance Upgrade Option
88496 , p_source_77 IN VARCHAR2
88497 --Invoice Distribution Amount
88498 , p_source_78 IN NUMBER
88499 --Deferred Accounting End Date
88500 , p_source_82 IN DATE
88504 , p_source_84 IN DATE
88501 --Deferred Accounting Option
88502 , p_source_83 IN VARCHAR2
88503 --Deferred Accounting Start Date
88505 --Override Accounted Amount Indicator
88506 , p_source_85 IN VARCHAR2
88507 , p_source_85_meaning IN VARCHAR2
88508 --Invoice Supplier Identifier
88509 , p_source_86 IN NUMBER
88510 --Invoice Supplier Site Identifier
88511 , p_source_87 IN NUMBER
88512 --Third Party Type
88513 , p_source_88 IN VARCHAR2
88514 --Parent Reversal Identifier
88515 , p_source_89 IN NUMBER
88516 --Invoice Distribution Statistical Amount
88517 , p_source_90 IN NUMBER
88518 --Invoice Distribution Tax Line Identifier
88519 , p_source_91 IN NUMBER
88520 --Invoice Distribution Tax Distribution Identifier from Tax
88521 , p_source_92 IN NUMBER
88522 --Invoice Distribution Summary Tax Line Identifier
88523 , p_source_93 IN NUMBER
88524 --Payables Upgrade Credit Encumbrance Type Identifier
88525 , p_source_94 IN NUMBER
88526 --Payables Upgrade Debit Encumbrance Type Identifier
88527 , p_source_95 IN NUMBER
88528 --Business Flow Accounts Payable Application Identifier
88529 , p_source_96 IN NUMBER
88530 --Business Flow Invoice Distribution Type
88531 , p_source_97 IN VARCHAR2
88532 --Business Flow Invoice Entity Code
88533 , p_source_98 IN VARCHAR2
88534 --Business Flow Invoice Distribution Identifier
88535 , p_source_99 IN NUMBER
88536 --Business Flow Invoice Identifier
88537 , p_source_100 IN NUMBER
88538 --Self-Assessed Tax Flag
88539 , p_source_145 IN VARCHAR2
88540 , p_source_145_meaning IN VARCHAR2
88541 --Invoice Exchange Date
88542 , p_source_146 IN DATE
88543 --Invoice Exchange Rate
88544 , p_source_147 IN NUMBER
88545 --Invoice Exchange Rate Type
88546 , p_source_148 IN VARCHAR2
88547 --Invoice Type
88548 , p_source_167 IN VARCHAR2
88549 , p_source_167_meaning IN VARCHAR2
88550 )
88551 IS
88552
88553 l_component_type VARCHAR2(80);
88554 l_component_code VARCHAR2(30);
88555 l_component_type_code VARCHAR2(1);
88556 l_component_appl_id INTEGER;
88557 l_amb_context_code VARCHAR2(30);
88558 l_entity_code VARCHAR2(30);
88559 l_event_class_code VARCHAR2(30);
88560 l_ae_header_id NUMBER;
88561 l_event_type_code VARCHAR2(30);
88562 l_line_definition_code VARCHAR2(30);
88563 l_line_definition_owner_code VARCHAR2(1);
88564 --
88565 -- adr variables
88566 l_segment VARCHAR2(30);
88567 l_ccid NUMBER;
88568 l_adr_transaction_coa_id NUMBER;
88569 l_adr_accounting_coa_id NUMBER;
88570 l_adr_flexfield_segment_code VARCHAR2(30);
88571 l_adr_flex_value_set_id NUMBER;
88572 l_adr_value_type_code VARCHAR2(30);
88573 l_adr_value_combination_id NUMBER;
88574 l_adr_value_segment_code VARCHAR2(30);
88575
88576 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
88577 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
88578 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
88579 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
88580
88581 -- 4262811 Variables ------------------------------------------------------------------------------------------
88582 l_entered_amt_idx NUMBER;
88583 l_accted_amt_idx NUMBER;
88584 l_acc_rev_flag VARCHAR2(1);
88585 l_accrual_line_num NUMBER;
88586 l_tmp_amt NUMBER;
88587 l_acc_rev_natural_side_code VARCHAR2(1);
88588
88589 l_num_entries NUMBER;
88590 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
88591 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
88592 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
88593 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
88594 l_recog_line_1 NUMBER;
88595 l_recog_line_2 NUMBER;
88596
88597 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
88598 l_bflow_applied_to_amt NUMBER; -- 5132302
88599 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
88600
88601 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
88602
88603 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
88604 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
88605
88606 ---------------------------------------------------------------------------------------------------------------
88607
88608
88609 --
88610 -- bulk performance
88611 --
88612 l_balance_type_code VARCHAR2(1);
88613 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
88614 l_log_module VARCHAR2(240);
88615
88616 --
88617 -- Upgrade strategy
88618 --
88619 l_actual_upg_option VARCHAR2(1);
88620 l_enc_upg_option VARCHAR2(1);
88621
88622 --
88623 BEGIN
88624 --
88625 IF g_log_enabled THEN
88626 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_164';
88627 END IF;
88628 --
88629 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
88630
88631 trace
88635
88632 (p_msg => 'BEGIN of AcctLineType_164'
88633 ,p_level => C_LEVEL_PROCEDURE
88634 ,p_module => l_log_module);
88636 END IF;
88637 --
88638 l_component_type := 'AMB_JLT';
88639 l_component_code := 'AP_LIAB_INV_AOS_AS';
88640 l_component_type_code := 'S';
88641 l_component_appl_id := 200;
88642 l_amb_context_code := 'DEFAULT';
88643 l_entity_code := 'AP_INVOICES';
88644 l_event_class_code := 'INVOICES';
88645 l_event_type_code := 'INVOICES_ALL';
88646 l_line_definition_owner_code := 'S';
88647 l_line_definition_code := 'ACCRUAL_INVOICES_ALL';
88648 --
88649 l_balance_type_code := 'A';
88650 l_segment := NULL;
88651 l_ccid := NULL;
88652 l_adr_transaction_coa_id := NULL;
88653 l_adr_accounting_coa_id := NULL;
88654 l_adr_flexfield_segment_code := NULL;
88655 l_adr_flex_value_set_id := NULL;
88656 l_adr_value_type_code := NULL;
88657 l_adr_value_combination_id := NULL;
88658 l_adr_value_segment_code := NULL;
88659
88660 l_bflow_method_code := 'SAME_ENTRY'; -- 4219869 Business Flow
88661 l_bflow_class_code := 'AP_LIAB'; -- 4219869 Business Flow
88662 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
88663 l_budgetary_control_flag := 'N';
88664
88665 l_bflow_applied_to_amt_idx := NULL; -- 5132302
88666 l_bflow_applied_to_amt := NULL; -- 5132302
88667 l_entered_amt_idx := NULL; -- 4262811
88668 l_accted_amt_idx := NULL; -- 4262811
88669 l_acc_rev_flag := NULL; -- 4262811
88670 l_accrual_line_num := NULL; -- 4262811
88671 l_tmp_amt := NULL; -- 4262811
88672 --
88673
88674 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
88675 l_balance_type_code <> 'B' THEN
88676 IF NVL(p_source_10,'
88677 ') = 'ACCOUNT_SEGMENT_VALUE' AND
88678 (NVL(p_source_167,'
88679 ') = 'STANDARD' OR
88680 NVL(p_source_167,'
88681 ') = 'MIXED' OR
88682 NVL(p_source_167,'
88683 ') = 'AWT' OR
88684 NVL(p_source_167,'
88685 ') = 'PO PRICE ADJUST' OR
88686 NVL(p_source_167,'
88687 ') = 'EXPENSE REPORT' OR
88688 NVL(p_source_167,'
88689 ') = 'PAYMENT REQUEST' OR
88690 NVL(p_source_167,'
88691 ') = 'RETAINAGE RELEASE') AND
88692 NVL(p_source_145,'
88693 ') <> 'Y'
88694 THEN
88695
88696 --
88697 XLA_AE_LINES_PKG.SetNewLine;
88698
88699 p_balance_type_code := l_balance_type_code;
88700 -- set the flag so later we will know whether the gain loss line needs to be created
88701
88702 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
88703 p_actual_flag :='A';
88704 END IF;
88705
88706 --
88707 -- bulk performance
88708 --
88709 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
88710 p_header_num => 0); -- 4262811
88711 --
88712 -- set accounting line options
88713 --
88714 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
88715 p_natural_side_code => 'C'
88716 , p_gain_or_loss_flag => 'N'
88717 , p_gl_transfer_mode_code => 'S'
88718 , p_acct_entry_type_code => 'A'
88719 , p_switch_side_flag => 'Y'
88720 , p_merge_duplicate_code => 'A'
88721 );
88722 --
88723 l_acc_rev_natural_side_code := 'D'; -- 4262811
88724 --
88725 --
88726 -- set accounting line type info
88727 --
88728 xla_ae_lines_pkg.SetAcctLineType
88729 (p_component_type => l_component_type
88730 ,p_event_type_code => l_event_type_code
88731 ,p_line_definition_owner_code => l_line_definition_owner_code
88732 ,p_line_definition_code => l_line_definition_code
88733 ,p_accounting_line_code => l_component_code
88734 ,p_accounting_line_type_code => l_component_type_code
88735 ,p_accounting_line_appl_id => l_component_appl_id
88736 ,p_amb_context_code => l_amb_context_code
88737 ,p_entity_code => l_entity_code
88738 ,p_event_class_code => l_event_class_code);
88739 --
88740 -- set accounting class
88741 --
88742 xla_ae_lines_pkg.SetAcctClass(
88743 p_accounting_class_code => 'LIABILITY'
88744 , p_ae_header_id => l_ae_header_id
88745 );
88746
88747 --
88748 -- set rounding class
88749 --
88750 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
88751 'LIABILITY';
88752
88753 --
88754 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
88755 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
88756 --
88757 -- bulk performance
88758 --
88759 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
88760
88761 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
88762 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
88763
88764 -- 4955764
88768 -- 4458381 Public Sector Enh
88765 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
88766 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
88767
88769
88770 --
88771 -- set accounting attributes for the line type
88772 --
88773 l_entered_amt_idx := 24;
88774 l_accted_amt_idx := 29;
88775 l_bflow_applied_to_amt_idx := 7; -- 5132302
88776 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
88777 l_rec_acct_attrs.array_char_value(1) := p_source_58;
88778 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
88779 l_rec_acct_attrs.array_num_value(2) :=
88780 xla_ae_sources_pkg.GetSystemSourceNum(
88781 p_source_code => 'XLA_EVENT_APPL_ID'
88782 , p_source_type_code => 'Y'
88783 , p_source_application_id => 602
88784 );
88785 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
88786 l_rec_acct_attrs.array_char_value(3) := p_source_60;
88787 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
88788 l_rec_acct_attrs.array_char_value(4) :=
88789 xla_ae_sources_pkg.GetSystemSourceChar(
88790 p_source_code => 'XLA_ENTITY_CODE'
88791 , p_source_type_code => 'Y'
88792 , p_source_application_id => 602
88793 );
88794 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
88795 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_62);
88796 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
88797 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_63);
88798 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
88799 l_rec_acct_attrs.array_num_value(7) := p_source_78;
88800 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
88801 l_rec_acct_attrs.array_num_value(8) := p_source_96;
88802 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
88803 l_rec_acct_attrs.array_char_value(9) := p_source_97;
88804 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
88805 l_rec_acct_attrs.array_char_value(10) := p_source_98;
88806 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
88807 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_99);
88808 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
88809 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_100);
88810 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
88811 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_69);
88812 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
88813 l_rec_acct_attrs.array_char_value(14) := p_source_60;
88814 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
88815 l_rec_acct_attrs.array_num_value(15) := p_source_70;
88816 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
88817 l_rec_acct_attrs.array_num_value(16) := p_source_71;
88818 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
88819 l_rec_acct_attrs.array_char_value(17) := p_source_72;
88820 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
88821 l_rec_acct_attrs.array_num_value(18) := p_source_73;
88822 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
88823 l_rec_acct_attrs.array_num_value(19) := p_source_74;
88824 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
88825 l_rec_acct_attrs.array_num_value(20) := p_source_75;
88826 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
88827 l_rec_acct_attrs.array_char_value(21) := p_source_72;
88828 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
88829 l_rec_acct_attrs.array_num_value(22) := p_source_76;
88830 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
88831 l_rec_acct_attrs.array_char_value(23) := p_source_77;
88832 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_AMOUNT';
88833 l_rec_acct_attrs.array_num_value(24) := p_source_78;
88834 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_CODE';
88835 l_rec_acct_attrs.array_char_value(25) := p_source_72;
88836 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_DATE';
88837 l_rec_acct_attrs.array_date_value(26) := p_source_146;
88838 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE';
88839 l_rec_acct_attrs.array_num_value(27) := p_source_147;
88840 l_rec_acct_attrs.array_acct_attr_code(28) := 'EXCHANGE_RATE_TYPE';
88841 l_rec_acct_attrs.array_char_value(28) := p_source_148;
88842 l_rec_acct_attrs.array_acct_attr_code(29) := 'LEDGER_AMOUNT';
88843 l_rec_acct_attrs.array_num_value(29) := p_source_16;
88844 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_END_DATE';
88845 l_rec_acct_attrs.array_date_value(30) := p_source_82;
88846 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_OPTION';
88847 l_rec_acct_attrs.array_char_value(31) := p_source_83;
88848 l_rec_acct_attrs.array_acct_attr_code(32) := 'MULTIPERIOD_START_DATE';
88849 l_rec_acct_attrs.array_date_value(32) := p_source_84;
88850 l_rec_acct_attrs.array_acct_attr_code(33) := 'OVERRIDE_ACCTD_AMT_FLAG';
88851 l_rec_acct_attrs.array_char_value(33) := p_source_85;
88852 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_ID';
88853 l_rec_acct_attrs.array_num_value(34) := p_source_86;
88854 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_SITE_ID';
88855 l_rec_acct_attrs.array_num_value(35) := p_source_87;
88859 l_rec_acct_attrs.array_num_value(37) := to_char(p_source_89);
88856 l_rec_acct_attrs.array_acct_attr_code(36) := 'PARTY_TYPE';
88857 l_rec_acct_attrs.array_char_value(36) := p_source_88;
88858 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_ID1';
88860 l_rec_acct_attrs.array_acct_attr_code(38) := 'REVERSED_DISTRIBUTION_TYPE';
88861 l_rec_acct_attrs.array_char_value(38) := p_source_60;
88862 l_rec_acct_attrs.array_acct_attr_code(39) := 'STATISTICAL_AMOUNT';
88863 l_rec_acct_attrs.array_num_value(39) := p_source_90;
88864 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_LINE_REF_ID';
88865 l_rec_acct_attrs.array_num_value(40) := p_source_91;
88866 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_REC_NREC_DIST_REF_ID';
88867 l_rec_acct_attrs.array_num_value(41) := p_source_92;
88868 l_rec_acct_attrs.array_acct_attr_code(42) := 'TAX_SUMMARY_LINE_REF_ID';
88869 l_rec_acct_attrs.array_num_value(42) := p_source_93;
88870 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_CR_ENC_TYPE_ID';
88871 l_rec_acct_attrs.array_num_value(43) := p_source_94;
88872 l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
88873 l_rec_acct_attrs.array_num_value(44) := p_source_95;
88874
88875 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
88876 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
88877
88878 ---------------------------------------------------------------------------------------------------------------
88879 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
88880 ---------------------------------------------------------------------------------------------------------------
88881 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
88882
88883 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
88884 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
88885
88886 IF xla_accounting_cache_pkg.GetValueChar
88887 (p_source_code => 'LEDGER_CATEGORY_CODE'
88888 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
88889 AND l_bflow_method_code = 'PRIOR_ENTRY'
88890 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
88891 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
88892 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
88893 )
88894 THEN
88895 xla_ae_lines_pkg.BflowUpgEntry
88896 (p_business_method_code => l_bflow_method_code
88897 ,p_business_class_code => l_bflow_class_code
88898 ,p_balance_type => l_balance_type_code);
88899 ELSE
88900 NULL;
88901 XLA_AE_LINES_PKG.business_flow_validation(
88902 p_business_method_code => l_bflow_method_code
88903 ,p_business_class_code => l_bflow_class_code
88904 ,p_inherit_description_flag => l_inherit_desc_flag);
88905 END IF;
88906
88907 --
88908 -- call analytical criteria
88909 --
88910
88911 --
88912 -- call description
88913 --
88914
88915 xla_ae_lines_pkg.SetLineDescription(
88916 p_ae_header_id => l_ae_header_id
88917 ,p_description => Description_2 (
88918 p_application_id => p_application_id
88919 , p_ae_header_id => l_ae_header_id
88920 , p_source_1 => p_source_1
88921 )
88922 );
88923
88924
88925 --
88926 -- call ADRs
88927 -- Bug 4922099
88928 --
88929 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
88930 (NVL(l_actual_upg_option, 'N') = 'O') OR
88931 (NVL(l_enc_upg_option, 'N') = 'O')
88932 )
88933 THEN
88934 NULL;
88935 --
88936 --
88937
88938 xla_ae_lines_pkg.Set_Ccid( -- replaced SetCcid
88939 p_code_combination_id => TO_NUMBER(C_NUM)
88940 , p_value_type_code => NULL
88941 , p_transaction_coa_id => null
88942 , p_accounting_coa_id => null
88943 , p_adr_code => NULL
88944 , p_adr_type_code => NULL
88945 , p_component_type => l_component_type
88946 , p_component_code => l_component_code
88947 , p_component_type_code => l_component_type_code
88948 , p_component_appl_id => l_component_appl_id
88949 , p_amb_context_code => l_amb_context_code
88950 , p_side => NULL
88951 );
88952
88953
88954 -- initialise segments
88955 XLA_AE_LINES_PKG.g_rec_lines.array_segment1(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
88956 XLA_AE_LINES_PKG.g_rec_lines.array_segment2(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
88957 XLA_AE_LINES_PKG.g_rec_lines.array_segment3(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
88958 XLA_AE_LINES_PKG.g_rec_lines.array_segment4(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
88959 XLA_AE_LINES_PKG.g_rec_lines.array_segment5(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
88960 XLA_AE_LINES_PKG.g_rec_lines.array_segment6(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
88961 XLA_AE_LINES_PKG.g_rec_lines.array_segment7(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
88962 XLA_AE_LINES_PKG.g_rec_lines.array_segment8(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
88963 XLA_AE_LINES_PKG.g_rec_lines.array_segment9(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
88964 XLA_AE_LINES_PKG.g_rec_lines.array_segment10(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
88968 XLA_AE_LINES_PKG.g_rec_lines.array_segment14(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
88965 XLA_AE_LINES_PKG.g_rec_lines.array_segment11(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
88966 XLA_AE_LINES_PKG.g_rec_lines.array_segment12(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
88967 XLA_AE_LINES_PKG.g_rec_lines.array_segment13(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
88969 XLA_AE_LINES_PKG.g_rec_lines.array_segment15(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
88970 XLA_AE_LINES_PKG.g_rec_lines.array_segment16(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
88971 XLA_AE_LINES_PKG.g_rec_lines.array_segment17(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
88972 XLA_AE_LINES_PKG.g_rec_lines.array_segment18(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
88973 XLA_AE_LINES_PKG.g_rec_lines.array_segment19(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
88974 XLA_AE_LINES_PKG.g_rec_lines.array_segment20(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
88975 XLA_AE_LINES_PKG.g_rec_lines.array_segment21(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
88976 XLA_AE_LINES_PKG.g_rec_lines.array_segment22(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
88977 XLA_AE_LINES_PKG.g_rec_lines.array_segment23(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
88978 XLA_AE_LINES_PKG.g_rec_lines.array_segment24(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
88979 XLA_AE_LINES_PKG.g_rec_lines.array_segment25(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
88980 XLA_AE_LINES_PKG.g_rec_lines.array_segment26(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
88981 XLA_AE_LINES_PKG.g_rec_lines.array_segment27(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
88982 XLA_AE_LINES_PKG.g_rec_lines.array_segment28(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
88983 XLA_AE_LINES_PKG.g_rec_lines.array_segment29(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
88984 XLA_AE_LINES_PKG.g_rec_lines.array_segment30(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
88985 --
88986
88987 --
88988
88989
88990 l_segment := AcctDerRule_15(
88991 p_application_id => p_application_id
88992 , p_ae_header_id => l_ae_header_id
88993 , p_source_29 => p_source_29
88994 , x_transaction_coa_id => l_adr_transaction_coa_id
88995 , x_accounting_coa_id => l_adr_accounting_coa_id
88996 , x_flexfield_segment_code => l_adr_flexfield_segment_code
88997 , x_flex_value_set_id => l_adr_flex_value_set_id
88998 , x_value_type_code => l_adr_value_type_code
88999 , x_value_combination_id => l_adr_value_combination_id
89000 , x_value_segment_code => l_adr_value_segment_code
89001 , p_side => 'NA'
89002 , p_override_seg_flag => 'Y'
89003 );
89004
89005 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
89006
89007 xla_ae_lines_pkg.set_segment(
89008 p_to_segment_code => 'GL_ACCOUNT'
89009 , p_segment_value => l_segment
89010 , p_from_segment_code => l_adr_value_segment_code
89011 , p_from_combination_id => l_adr_value_combination_id
89012 , p_value_type_code => l_adr_value_type_code
89013 , p_transaction_coa_id => l_adr_transaction_coa_id
89014 , p_accounting_coa_id => l_adr_accounting_coa_id
89015 , p_flexfield_segment_code => l_adr_flexfield_segment_code
89016 , p_flex_value_set_id => l_adr_flex_value_set_id
89017 , p_adr_code => 'AP_LIAB_NAT_ACCT_SEG'
89018 , p_adr_type_code => 'S'
89019 , p_component_type => l_component_type
89020 , p_component_code => l_component_code
89021 , p_component_type_code => l_component_type_code
89022 , p_component_appl_id => l_component_appl_id
89023 , p_amb_context_code => l_amb_context_code
89024 , p_entity_code => 'AP_INVOICES'
89025 , p_event_class_code => 'INVOICES'
89026 , p_side => 'NA'
89027 );
89028
89029 END IF;
89030
89031 --
89032 --
89033 END IF;
89034 --
89035 -- Bug 4922099
89036 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
89037 (NVL(l_enc_upg_option, 'N') = 'O')
89038 ) AND
89039 (l_bflow_method_code = 'PRIOR_ENTRY')
89040 )
89041 THEN
89042 IF
89043 --
89044 1 = 2
89045 --
89046 THEN
89047 xla_accounting_err_pkg.build_message
89048 (p_appli_s_name => 'XLA'
89049 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
89050 ,p_token_1 => 'LINE_NUMBER'
89051 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
89052 ,p_token_2 => 'LINE_TYPE_NAME'
89053 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
89054 l_component_type
89055 ,l_component_code
89056 ,l_component_type_code
89057 ,l_component_appl_id
89058 ,l_amb_context_code
89062 ,p_token_3 => 'OWNER'
89059 ,l_entity_code
89060 ,l_event_class_code
89061 )
89063 ,p_value_3 => xla_lookups_pkg.get_meaning(
89064 p_lookup_type => 'XLA_OWNER_TYPE'
89065 ,p_lookup_code => l_component_type_code
89066 )
89067 ,p_token_4 => 'PRODUCT_NAME'
89068 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
89069 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
89070 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
89071 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
89072 ,p_ae_header_id => NULL
89073 );
89074
89075 IF (C_LEVEL_ERROR>= g_log_level) THEN
89076 trace
89077 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
89078 ,p_level => C_LEVEL_ERROR
89079 ,p_module => l_log_module);
89080 END IF;
89081 END IF;
89082 END IF;
89083 --
89084 --
89085 ------------------------------------------------------------------------------------------------
89086 -- 4219869 Business Flow
89087 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
89088 -- Prior Entry. Currently, the following code is always generated.
89089 ------------------------------------------------------------------------------------------------
89090 XLA_AE_LINES_PKG.ValidateCurrentLine;
89091
89092 ------------------------------------------------------------------------------------
89093 -- 4219869 Business Flow
89094 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
89095 ------------------------------------------------------------------------------------
89096 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
89097
89098 ----------------------------------------------------------------------------------
89099 -- 4219869 Business Flow
89100 -- Update journal entry status -- Need to generate this within IF <condition>
89101 ----------------------------------------------------------------------------------
89102 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
89103 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
89104 ,p_balance_type_code => l_balance_type_code
89105 );
89106
89107 -------------------------------------------------------------------------------------------
89108 -- 4262811 - Generate the Accrual Reversal lines
89109 -------------------------------------------------------------------------------------------
89110 BEGIN
89111 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
89112 (g_array_event(p_event_id).array_value_num('header_index'));
89113 IF l_acc_rev_flag IS NULL THEN
89114 l_acc_rev_flag := 'N';
89115 END IF;
89116 EXCEPTION
89117 WHEN OTHERS THEN
89118 l_acc_rev_flag := 'N';
89119 END;
89120 --
89121 IF (l_acc_rev_flag = 'Y') THEN
89122
89123 -- 4645092 ------------------------------------------------------------------------------
89124 -- To allow MPA report to determine if it should generate report process
89125 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
89126 ------------------------------------------------------------------------------------------
89127
89128 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
89129 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
89130 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
89131 -- call ADRs
89132 -- Bug 4922099
89133 --
89134 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
89135 (NVL(l_actual_upg_option, 'N') = 'O') OR
89136 (NVL(l_enc_upg_option, 'N') = 'O')
89137 )
89138 THEN
89139 NULL;
89140 --
89141 --
89142
89143 xla_ae_lines_pkg.Set_Ccid( -- replaced SetCcid
89144 p_code_combination_id => TO_NUMBER(C_NUM)
89145 , p_value_type_code => NULL
89146 , p_transaction_coa_id => null
89147 , p_accounting_coa_id => null
89148 , p_adr_code => NULL
89149 , p_adr_type_code => NULL
89150 , p_component_type => l_component_type
89151 , p_component_code => l_component_code
89152 , p_component_type_code => l_component_type_code
89153 , p_component_appl_id => l_component_appl_id
89154 , p_amb_context_code => l_amb_context_code
89155 , p_side => NULL
89156 );
89157
89158
89159 -- initialise segments
89163 XLA_AE_LINES_PKG.g_rec_lines.array_segment4(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
89160 XLA_AE_LINES_PKG.g_rec_lines.array_segment1(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
89161 XLA_AE_LINES_PKG.g_rec_lines.array_segment2(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
89162 XLA_AE_LINES_PKG.g_rec_lines.array_segment3(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
89164 XLA_AE_LINES_PKG.g_rec_lines.array_segment5(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
89165 XLA_AE_LINES_PKG.g_rec_lines.array_segment6(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
89166 XLA_AE_LINES_PKG.g_rec_lines.array_segment7(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
89167 XLA_AE_LINES_PKG.g_rec_lines.array_segment8(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
89168 XLA_AE_LINES_PKG.g_rec_lines.array_segment9(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
89169 XLA_AE_LINES_PKG.g_rec_lines.array_segment10(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
89170 XLA_AE_LINES_PKG.g_rec_lines.array_segment11(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
89171 XLA_AE_LINES_PKG.g_rec_lines.array_segment12(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
89172 XLA_AE_LINES_PKG.g_rec_lines.array_segment13(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
89173 XLA_AE_LINES_PKG.g_rec_lines.array_segment14(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
89174 XLA_AE_LINES_PKG.g_rec_lines.array_segment15(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
89175 XLA_AE_LINES_PKG.g_rec_lines.array_segment16(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
89176 XLA_AE_LINES_PKG.g_rec_lines.array_segment17(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
89177 XLA_AE_LINES_PKG.g_rec_lines.array_segment18(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
89178 XLA_AE_LINES_PKG.g_rec_lines.array_segment19(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
89179 XLA_AE_LINES_PKG.g_rec_lines.array_segment20(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
89180 XLA_AE_LINES_PKG.g_rec_lines.array_segment21(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
89181 XLA_AE_LINES_PKG.g_rec_lines.array_segment22(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
89182 XLA_AE_LINES_PKG.g_rec_lines.array_segment23(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
89183 XLA_AE_LINES_PKG.g_rec_lines.array_segment24(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
89184 XLA_AE_LINES_PKG.g_rec_lines.array_segment25(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
89185 XLA_AE_LINES_PKG.g_rec_lines.array_segment26(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
89186 XLA_AE_LINES_PKG.g_rec_lines.array_segment27(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
89187 XLA_AE_LINES_PKG.g_rec_lines.array_segment28(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
89188 XLA_AE_LINES_PKG.g_rec_lines.array_segment29(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
89189 XLA_AE_LINES_PKG.g_rec_lines.array_segment30(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
89190 --
89191
89192 --
89193
89194
89195 l_segment := AcctDerRule_15(
89196 p_application_id => p_application_id
89197 , p_ae_header_id => l_ae_header_id
89198 , p_source_29 => p_source_29
89199 , x_transaction_coa_id => l_adr_transaction_coa_id
89200 , x_accounting_coa_id => l_adr_accounting_coa_id
89201 , x_flexfield_segment_code => l_adr_flexfield_segment_code
89202 , x_flex_value_set_id => l_adr_flex_value_set_id
89203 , x_value_type_code => l_adr_value_type_code
89204 , x_value_combination_id => l_adr_value_combination_id
89205 , x_value_segment_code => l_adr_value_segment_code
89206 , p_side => 'NA'
89207 , p_override_seg_flag => 'Y'
89208 );
89209
89210 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
89211
89212 xla_ae_lines_pkg.set_segment(
89213 p_to_segment_code => 'GL_ACCOUNT'
89214 , p_segment_value => l_segment
89215 , p_from_segment_code => l_adr_value_segment_code
89216 , p_from_combination_id => l_adr_value_combination_id
89217 , p_value_type_code => l_adr_value_type_code
89218 , p_transaction_coa_id => l_adr_transaction_coa_id
89219 , p_accounting_coa_id => l_adr_accounting_coa_id
89220 , p_flexfield_segment_code => l_adr_flexfield_segment_code
89221 , p_flex_value_set_id => l_adr_flex_value_set_id
89222 , p_adr_code => 'AP_LIAB_NAT_ACCT_SEG'
89223 , p_adr_type_code => 'S'
89224 , p_component_type => l_component_type
89225 , p_component_code => l_component_code
89226 , p_component_type_code => l_component_type_code
89227 , p_component_appl_id => l_component_appl_id
89228 , p_amb_context_code => l_amb_context_code
89229 , p_entity_code => 'AP_INVOICES'
89230 , p_event_class_code => 'INVOICES'
89231 , p_side => 'NA'
89232 );
89233
89234 END IF;
89235
89236 --
89237 --
89238 END IF;
89239
89240 --
89241 -- Update the line information that should be overwritten
89242 --
89243 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
89244 p_header_num => 1);
89245 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
89246
89247 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
89248
89249 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
89250 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
89251 END IF;
89252
89253 --
89257 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
89254 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
89255 --
89256 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
89258 ELSE
89259 ---------------------------------------------------------------------------------------------------
89260 -- 4262811a Switch Sign
89261 ---------------------------------------------------------------------------------------------------
89262 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
89263 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
89264 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
89265 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
89266 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
89267 -- 5132302
89268 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
89269 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
89270
89271 END IF;
89272
89273 -- 4955764
89274 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
89275 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
89276
89277
89278 XLA_AE_LINES_PKG.ValidateCurrentLine;
89279 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
89280
89281 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
89282 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
89283 ,p_balance_type_code => l_balance_type_code);
89284
89285 END IF;
89286
89287 -----------------------------------------------------------------------------------------
89288 -- 4262811 Multiperiod Accounting
89289 -----------------------------------------------------------------------------------------
89290 -- No MPA option is assigned.
89291
89292
89293 END IF;
89294 END IF;
89295 --
89296
89297 --
89298 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
89299 trace
89300 (p_msg => 'END of AcctLineType_164'
89301 ,p_level => C_LEVEL_PROCEDURE
89302 ,p_module => l_log_module);
89303 END IF;
89304 --
89305 EXCEPTION
89306 WHEN xla_exceptions_pkg.application_exception THEN
89307 RAISE;
89308 WHEN OTHERS THEN
89309 xla_exceptions_pkg.raise_message
89310 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_164');
89311 END AcctLineType_164;
89312 --
89313
89314 ---------------------------------------
89315 --
89316 -- PRIVATE FUNCTION
89317 -- AcctLineType_165
89318 --
89319 ---------------------------------------
89320 PROCEDURE AcctLineType_165 (
89321 p_application_id IN NUMBER
89322 ,p_event_id IN NUMBER
89323 ,p_calculate_acctd_flag IN VARCHAR2
89324 ,p_calculate_g_l_flag IN VARCHAR2
89325 ,p_actual_flag IN OUT VARCHAR2
89326 ,p_balance_type_code OUT VARCHAR2
89327 ,p_gain_or_loss_ref OUT VARCHAR2
89328
89329 --Invoice Distribution Description
89330 , p_source_1 IN VARCHAR2
89331 --Automatic Offsets Value
89332 , p_source_10 IN VARCHAR2
89333 , p_source_10_meaning IN VARCHAR2
89334 --Invoice Distribution Ledger Amount
89335 , p_source_16 IN NUMBER
89336 --Invoice Liability Account
89337 , p_source_29 IN NUMBER
89338 --Accounting Reversal Indicator
89339 , p_source_58 IN VARCHAR2
89340 --Distribution Link Type
89341 , p_source_60 IN VARCHAR2
89342 --Allocation to Main Distribution Identifier
89343 , p_source_62 IN NUMBER
89344 --Invoice Identifier
89345 , p_source_63 IN NUMBER
89346 --Invoice Distribution Identifier
89347 , p_source_69 IN NUMBER
89348 --Payables Encumbrance Upgrade Credit Account
89349 , p_source_70 IN NUMBER
89350 --Payables Encumbrance Upgrade Credit Amount
89351 , p_source_71 IN NUMBER
89352 --Invoice Currency Code
89353 , p_source_72 IN VARCHAR2
89354 --Payables Encumbrance Upgrade Credit Base Amount
89355 , p_source_73 IN NUMBER
89356 --Payables Encumbrance Upgrade Debit Account
89357 , p_source_74 IN NUMBER
89358 --Payables Encumbrance Upgrade Debit Amount
89359 , p_source_75 IN NUMBER
89360 --Payables Encumbrance Upgrade Debit Base Amount
89361 , p_source_76 IN NUMBER
89362 --Payables Encumbrance Upgrade Option
89363 , p_source_77 IN VARCHAR2
89364 --Invoice Distribution Amount
89365 , p_source_78 IN NUMBER
89366 --Deferred Accounting End Date
89367 , p_source_82 IN DATE
89368 --Deferred Accounting Option
89369 , p_source_83 IN VARCHAR2
89370 --Deferred Accounting Start Date
89371 , p_source_84 IN DATE
89372 --Override Accounted Amount Indicator
89373 , p_source_85 IN VARCHAR2
89374 , p_source_85_meaning IN VARCHAR2
89375 --Invoice Supplier Identifier
89376 , p_source_86 IN NUMBER
89377 --Invoice Supplier Site Identifier
89378 , p_source_87 IN NUMBER
89379 --Third Party Type
89383 --Invoice Distribution Statistical Amount
89380 , p_source_88 IN VARCHAR2
89381 --Parent Reversal Identifier
89382 , p_source_89 IN NUMBER
89384 , p_source_90 IN NUMBER
89385 --Invoice Distribution Tax Line Identifier
89386 , p_source_91 IN NUMBER
89387 --Invoice Distribution Tax Distribution Identifier from Tax
89388 , p_source_92 IN NUMBER
89389 --Invoice Distribution Summary Tax Line Identifier
89390 , p_source_93 IN NUMBER
89391 --Payables Upgrade Credit Encumbrance Type Identifier
89392 , p_source_94 IN NUMBER
89393 --Payables Upgrade Debit Encumbrance Type Identifier
89394 , p_source_95 IN NUMBER
89395 --Business Flow Accounts Payable Application Identifier
89396 , p_source_96 IN NUMBER
89397 --Business Flow Invoice Distribution Type
89398 , p_source_97 IN VARCHAR2
89399 --Business Flow Invoice Entity Code
89400 , p_source_98 IN VARCHAR2
89401 --Business Flow Invoice Distribution Identifier
89402 , p_source_99 IN NUMBER
89403 --Business Flow Invoice Identifier
89404 , p_source_100 IN NUMBER
89405 --Self-Assessed Tax Flag
89406 , p_source_145 IN VARCHAR2
89407 , p_source_145_meaning IN VARCHAR2
89408 --Invoice Exchange Date
89409 , p_source_146 IN DATE
89410 --Invoice Exchange Rate
89411 , p_source_147 IN NUMBER
89412 --Invoice Exchange Rate Type
89413 , p_source_148 IN VARCHAR2
89414 --Invoice Type
89415 , p_source_167 IN VARCHAR2
89416 , p_source_167_meaning IN VARCHAR2
89417 )
89418 IS
89419
89420 l_component_type VARCHAR2(80);
89421 l_component_code VARCHAR2(30);
89422 l_component_type_code VARCHAR2(1);
89423 l_component_appl_id INTEGER;
89424 l_amb_context_code VARCHAR2(30);
89425 l_entity_code VARCHAR2(30);
89426 l_event_class_code VARCHAR2(30);
89427 l_ae_header_id NUMBER;
89428 l_event_type_code VARCHAR2(30);
89429 l_line_definition_code VARCHAR2(30);
89430 l_line_definition_owner_code VARCHAR2(1);
89431 --
89432 -- adr variables
89433 l_segment VARCHAR2(30);
89434 l_ccid NUMBER;
89435 l_adr_transaction_coa_id NUMBER;
89436 l_adr_accounting_coa_id NUMBER;
89437 l_adr_flexfield_segment_code VARCHAR2(30);
89438 l_adr_flex_value_set_id NUMBER;
89439 l_adr_value_type_code VARCHAR2(30);
89440 l_adr_value_combination_id NUMBER;
89441 l_adr_value_segment_code VARCHAR2(30);
89442
89443 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
89444 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
89445 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
89446 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
89447
89448 -- 4262811 Variables ------------------------------------------------------------------------------------------
89449 l_entered_amt_idx NUMBER;
89450 l_accted_amt_idx NUMBER;
89451 l_acc_rev_flag VARCHAR2(1);
89452 l_accrual_line_num NUMBER;
89453 l_tmp_amt NUMBER;
89454 l_acc_rev_natural_side_code VARCHAR2(1);
89455
89456 l_num_entries NUMBER;
89457 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
89458 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
89459 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
89460 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
89461 l_recog_line_1 NUMBER;
89462 l_recog_line_2 NUMBER;
89463
89464 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
89465 l_bflow_applied_to_amt NUMBER; -- 5132302
89466 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
89467
89468 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
89469
89470 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
89471 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
89472
89473 ---------------------------------------------------------------------------------------------------------------
89474
89475
89476 --
89477 -- bulk performance
89478 --
89479 l_balance_type_code VARCHAR2(1);
89480 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
89481 l_log_module VARCHAR2(240);
89482
89483 --
89484 -- Upgrade strategy
89485 --
89486 l_actual_upg_option VARCHAR2(1);
89487 l_enc_upg_option VARCHAR2(1);
89488
89489 --
89490 BEGIN
89491 --
89492 IF g_log_enabled THEN
89493 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_165';
89494 END IF;
89495 --
89496 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
89497
89498 trace
89499 (p_msg => 'BEGIN of AcctLineType_165'
89500 ,p_level => C_LEVEL_PROCEDURE
89501 ,p_module => l_log_module);
89502
89503 END IF;
89504 --
89505 l_component_type := 'AMB_JLT';
89506 l_component_code := 'AP_LIAB_INV_AOS_BS';
89507 l_component_type_code := 'S';
89508 l_component_appl_id := 200;
89512 l_event_type_code := 'INVOICES_ALL';
89509 l_amb_context_code := 'DEFAULT';
89510 l_entity_code := 'AP_INVOICES';
89511 l_event_class_code := 'INVOICES';
89513 l_line_definition_owner_code := 'S';
89514 l_line_definition_code := 'ACCRUAL_INVOICES_ALL';
89515 --
89516 l_balance_type_code := 'A';
89517 l_segment := NULL;
89518 l_ccid := NULL;
89519 l_adr_transaction_coa_id := NULL;
89520 l_adr_accounting_coa_id := NULL;
89521 l_adr_flexfield_segment_code := NULL;
89522 l_adr_flex_value_set_id := NULL;
89523 l_adr_value_type_code := NULL;
89524 l_adr_value_combination_id := NULL;
89525 l_adr_value_segment_code := NULL;
89526
89527 l_bflow_method_code := 'SAME_ENTRY'; -- 4219869 Business Flow
89528 l_bflow_class_code := 'AP_LIAB'; -- 4219869 Business Flow
89529 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
89530 l_budgetary_control_flag := 'N';
89531
89532 l_bflow_applied_to_amt_idx := NULL; -- 5132302
89533 l_bflow_applied_to_amt := NULL; -- 5132302
89534 l_entered_amt_idx := NULL; -- 4262811
89535 l_accted_amt_idx := NULL; -- 4262811
89536 l_acc_rev_flag := NULL; -- 4262811
89537 l_accrual_line_num := NULL; -- 4262811
89538 l_tmp_amt := NULL; -- 4262811
89539 --
89540
89541 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
89542 l_balance_type_code <> 'B' THEN
89543 IF NVL(p_source_10,'
89544 ') = 'BALANCING_SEGMENT' AND
89545 (NVL(p_source_167,'
89546 ') = 'STANDARD' OR
89547 NVL(p_source_167,'
89548 ') = 'MIXED' OR
89549 NVL(p_source_167,'
89550 ') = 'AWT' OR
89551 NVL(p_source_167,'
89552 ') = 'PO PRICE ADJUST' OR
89553 NVL(p_source_167,'
89554 ') = 'EXPENSE REPORT' OR
89555 NVL(p_source_167,'
89556 ') = 'PAYMENT REQUEST' OR
89557 NVL(p_source_167,'
89558 ') = 'RETAINAGE RELEASE') AND
89559 NVL(p_source_145,'
89560 ') <> 'Y'
89561 THEN
89562
89563 --
89564 XLA_AE_LINES_PKG.SetNewLine;
89565
89566 p_balance_type_code := l_balance_type_code;
89567 -- set the flag so later we will know whether the gain loss line needs to be created
89568
89569 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
89570 p_actual_flag :='A';
89571 END IF;
89572
89573 --
89574 -- bulk performance
89575 --
89576 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
89577 p_header_num => 0); -- 4262811
89578 --
89579 -- set accounting line options
89580 --
89581 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
89582 p_natural_side_code => 'C'
89583 , p_gain_or_loss_flag => 'N'
89584 , p_gl_transfer_mode_code => 'S'
89585 , p_acct_entry_type_code => 'A'
89586 , p_switch_side_flag => 'Y'
89587 , p_merge_duplicate_code => 'A'
89588 );
89589 --
89590 l_acc_rev_natural_side_code := 'D'; -- 4262811
89591 --
89592 --
89593 -- set accounting line type info
89594 --
89595 xla_ae_lines_pkg.SetAcctLineType
89596 (p_component_type => l_component_type
89597 ,p_event_type_code => l_event_type_code
89598 ,p_line_definition_owner_code => l_line_definition_owner_code
89599 ,p_line_definition_code => l_line_definition_code
89600 ,p_accounting_line_code => l_component_code
89601 ,p_accounting_line_type_code => l_component_type_code
89602 ,p_accounting_line_appl_id => l_component_appl_id
89603 ,p_amb_context_code => l_amb_context_code
89604 ,p_entity_code => l_entity_code
89605 ,p_event_class_code => l_event_class_code);
89606 --
89607 -- set accounting class
89608 --
89609 xla_ae_lines_pkg.SetAcctClass(
89610 p_accounting_class_code => 'LIABILITY'
89611 , p_ae_header_id => l_ae_header_id
89612 );
89613
89614 --
89615 -- set rounding class
89616 --
89617 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
89618 'LIABILITY';
89619
89620 --
89621 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
89622 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
89623 --
89624 -- bulk performance
89625 --
89626 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
89627
89628 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
89629 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
89630
89631 -- 4955764
89632 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
89633 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
89634
89635 -- 4458381 Public Sector Enh
89636
89637 --
89638 -- set accounting attributes for the line type
89639 --
89640 l_entered_amt_idx := 24;
89641 l_accted_amt_idx := 29;
89642 l_bflow_applied_to_amt_idx := 7; -- 5132302
89646 l_rec_acct_attrs.array_num_value(2) :=
89643 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
89644 l_rec_acct_attrs.array_char_value(1) := p_source_58;
89645 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
89647 xla_ae_sources_pkg.GetSystemSourceNum(
89648 p_source_code => 'XLA_EVENT_APPL_ID'
89649 , p_source_type_code => 'Y'
89650 , p_source_application_id => 602
89651 );
89652 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
89653 l_rec_acct_attrs.array_char_value(3) := p_source_60;
89654 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
89655 l_rec_acct_attrs.array_char_value(4) :=
89656 xla_ae_sources_pkg.GetSystemSourceChar(
89657 p_source_code => 'XLA_ENTITY_CODE'
89658 , p_source_type_code => 'Y'
89659 , p_source_application_id => 602
89660 );
89661 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
89662 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_62);
89663 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
89664 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_63);
89665 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
89666 l_rec_acct_attrs.array_num_value(7) := p_source_78;
89667 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
89668 l_rec_acct_attrs.array_num_value(8) := p_source_96;
89669 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
89670 l_rec_acct_attrs.array_char_value(9) := p_source_97;
89671 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
89672 l_rec_acct_attrs.array_char_value(10) := p_source_98;
89673 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
89674 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_99);
89675 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
89676 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_100);
89677 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
89678 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_69);
89679 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
89680 l_rec_acct_attrs.array_char_value(14) := p_source_60;
89681 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
89682 l_rec_acct_attrs.array_num_value(15) := p_source_70;
89683 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
89684 l_rec_acct_attrs.array_num_value(16) := p_source_71;
89685 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
89686 l_rec_acct_attrs.array_char_value(17) := p_source_72;
89687 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
89688 l_rec_acct_attrs.array_num_value(18) := p_source_73;
89689 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
89690 l_rec_acct_attrs.array_num_value(19) := p_source_74;
89691 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
89692 l_rec_acct_attrs.array_num_value(20) := p_source_75;
89693 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
89694 l_rec_acct_attrs.array_char_value(21) := p_source_72;
89695 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
89696 l_rec_acct_attrs.array_num_value(22) := p_source_76;
89697 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
89698 l_rec_acct_attrs.array_char_value(23) := p_source_77;
89699 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_AMOUNT';
89700 l_rec_acct_attrs.array_num_value(24) := p_source_78;
89701 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_CODE';
89702 l_rec_acct_attrs.array_char_value(25) := p_source_72;
89703 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_DATE';
89704 l_rec_acct_attrs.array_date_value(26) := p_source_146;
89705 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE';
89706 l_rec_acct_attrs.array_num_value(27) := p_source_147;
89707 l_rec_acct_attrs.array_acct_attr_code(28) := 'EXCHANGE_RATE_TYPE';
89708 l_rec_acct_attrs.array_char_value(28) := p_source_148;
89709 l_rec_acct_attrs.array_acct_attr_code(29) := 'LEDGER_AMOUNT';
89710 l_rec_acct_attrs.array_num_value(29) := p_source_16;
89711 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_END_DATE';
89712 l_rec_acct_attrs.array_date_value(30) := p_source_82;
89713 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_OPTION';
89714 l_rec_acct_attrs.array_char_value(31) := p_source_83;
89715 l_rec_acct_attrs.array_acct_attr_code(32) := 'MULTIPERIOD_START_DATE';
89716 l_rec_acct_attrs.array_date_value(32) := p_source_84;
89717 l_rec_acct_attrs.array_acct_attr_code(33) := 'OVERRIDE_ACCTD_AMT_FLAG';
89718 l_rec_acct_attrs.array_char_value(33) := p_source_85;
89719 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_ID';
89720 l_rec_acct_attrs.array_num_value(34) := p_source_86;
89721 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_SITE_ID';
89722 l_rec_acct_attrs.array_num_value(35) := p_source_87;
89723 l_rec_acct_attrs.array_acct_attr_code(36) := 'PARTY_TYPE';
89724 l_rec_acct_attrs.array_char_value(36) := p_source_88;
89725 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_ID1';
89726 l_rec_acct_attrs.array_num_value(37) := to_char(p_source_89);
89727 l_rec_acct_attrs.array_acct_attr_code(38) := 'REVERSED_DISTRIBUTION_TYPE';
89728 l_rec_acct_attrs.array_char_value(38) := p_source_60;
89732 l_rec_acct_attrs.array_num_value(40) := p_source_91;
89729 l_rec_acct_attrs.array_acct_attr_code(39) := 'STATISTICAL_AMOUNT';
89730 l_rec_acct_attrs.array_num_value(39) := p_source_90;
89731 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_LINE_REF_ID';
89733 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_REC_NREC_DIST_REF_ID';
89734 l_rec_acct_attrs.array_num_value(41) := p_source_92;
89735 l_rec_acct_attrs.array_acct_attr_code(42) := 'TAX_SUMMARY_LINE_REF_ID';
89736 l_rec_acct_attrs.array_num_value(42) := p_source_93;
89737 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_CR_ENC_TYPE_ID';
89738 l_rec_acct_attrs.array_num_value(43) := p_source_94;
89739 l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
89740 l_rec_acct_attrs.array_num_value(44) := p_source_95;
89741
89742 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
89743 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
89744
89745 ---------------------------------------------------------------------------------------------------------------
89746 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
89747 ---------------------------------------------------------------------------------------------------------------
89748 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
89749
89750 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
89751 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
89752
89753 IF xla_accounting_cache_pkg.GetValueChar
89754 (p_source_code => 'LEDGER_CATEGORY_CODE'
89755 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
89756 AND l_bflow_method_code = 'PRIOR_ENTRY'
89757 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
89758 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
89759 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
89760 )
89761 THEN
89762 xla_ae_lines_pkg.BflowUpgEntry
89763 (p_business_method_code => l_bflow_method_code
89764 ,p_business_class_code => l_bflow_class_code
89765 ,p_balance_type => l_balance_type_code);
89766 ELSE
89767 NULL;
89768 XLA_AE_LINES_PKG.business_flow_validation(
89769 p_business_method_code => l_bflow_method_code
89770 ,p_business_class_code => l_bflow_class_code
89771 ,p_inherit_description_flag => l_inherit_desc_flag);
89772 END IF;
89773
89774 --
89775 -- call analytical criteria
89776 --
89777
89778 --
89779 -- call description
89780 --
89781
89782 xla_ae_lines_pkg.SetLineDescription(
89783 p_ae_header_id => l_ae_header_id
89784 ,p_description => Description_2 (
89785 p_application_id => p_application_id
89786 , p_ae_header_id => l_ae_header_id
89787 , p_source_1 => p_source_1
89788 )
89789 );
89790
89791
89792 --
89793 -- call ADRs
89794 -- Bug 4922099
89795 --
89796 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
89797 (NVL(l_actual_upg_option, 'N') = 'O') OR
89798 (NVL(l_enc_upg_option, 'N') = 'O')
89799 )
89800 THEN
89801 NULL;
89802 --
89803 --
89804
89805 l_ccid := AcctDerRule_36(
89806 p_application_id => p_application_id
89807 , p_ae_header_id => l_ae_header_id
89808 , p_source_29 => p_source_29
89809 , x_transaction_coa_id => l_adr_transaction_coa_id
89810 , x_accounting_coa_id => l_adr_accounting_coa_id
89811 , x_value_type_code => l_adr_value_type_code
89812 , p_side => 'NA'
89813 );
89814
89815 xla_ae_lines_pkg.set_ccid(
89816 p_code_combination_id => l_ccid
89817 , p_value_type_code => l_adr_value_type_code
89818 , p_transaction_coa_id => l_adr_transaction_coa_id
89819 , p_accounting_coa_id => l_adr_accounting_coa_id
89820 , p_adr_code => 'AP_LIAB'
89821 , p_adr_type_code => 'S'
89822 , p_component_type => l_component_type
89823 , p_component_code => l_component_code
89824 , p_component_type_code => l_component_type_code
89825 , p_component_appl_id => l_component_appl_id
89826 , p_amb_context_code => l_amb_context_code
89827 , p_side => 'NA'
89828 );
89829
89830
89831 xla_ae_lines_pkg.Set_Segment( -- replaced SetSegment
89832 p_to_segment_code => 'GL_BALANCING'
89833 , p_segment_value => C_CHAR
89834 , p_from_segment_code => NULL
89835 , p_from_combination_id => NULL
89836 , p_value_type_code => NULL
89837 , p_transaction_coa_id => null
89838 , p_accounting_coa_id => null
89839 , p_flexfield_segment_code => NULL
89840 , p_flex_value_set_id => NULL
89841 , p_adr_code => NULL
89842 , p_adr_type_code => NULL
89843 , p_component_type => l_component_type
89847 , p_amb_context_code => l_amb_context_code
89844 , p_component_code => l_component_code
89845 , p_component_type_code => l_component_type_code
89846 , p_component_appl_id => l_component_appl_id
89848 , p_entity_code => 'AP_INVOICES'
89849 , p_event_class_code => 'INVOICES'
89850 , p_side => 'NA'
89851 );
89852 --
89853
89854
89855 --
89856 --
89857 END IF;
89858 --
89859 -- Bug 4922099
89860 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
89861 (NVL(l_enc_upg_option, 'N') = 'O')
89862 ) AND
89863 (l_bflow_method_code = 'PRIOR_ENTRY')
89864 )
89865 THEN
89866 IF
89867 --
89868 1 = 2
89869 --
89870 THEN
89871 xla_accounting_err_pkg.build_message
89872 (p_appli_s_name => 'XLA'
89873 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
89874 ,p_token_1 => 'LINE_NUMBER'
89875 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
89876 ,p_token_2 => 'LINE_TYPE_NAME'
89877 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
89878 l_component_type
89879 ,l_component_code
89880 ,l_component_type_code
89881 ,l_component_appl_id
89882 ,l_amb_context_code
89883 ,l_entity_code
89884 ,l_event_class_code
89885 )
89886 ,p_token_3 => 'OWNER'
89887 ,p_value_3 => xla_lookups_pkg.get_meaning(
89888 p_lookup_type => 'XLA_OWNER_TYPE'
89889 ,p_lookup_code => l_component_type_code
89890 )
89891 ,p_token_4 => 'PRODUCT_NAME'
89892 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
89893 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
89894 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
89895 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
89896 ,p_ae_header_id => NULL
89897 );
89898
89899 IF (C_LEVEL_ERROR>= g_log_level) THEN
89900 trace
89901 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
89902 ,p_level => C_LEVEL_ERROR
89903 ,p_module => l_log_module);
89904 END IF;
89905 END IF;
89906 END IF;
89907 --
89908 --
89909 ------------------------------------------------------------------------------------------------
89910 -- 4219869 Business Flow
89911 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
89912 -- Prior Entry. Currently, the following code is always generated.
89913 ------------------------------------------------------------------------------------------------
89914 XLA_AE_LINES_PKG.ValidateCurrentLine;
89915
89916 ------------------------------------------------------------------------------------
89917 -- 4219869 Business Flow
89918 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
89919 ------------------------------------------------------------------------------------
89920 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
89921
89922 ----------------------------------------------------------------------------------
89923 -- 4219869 Business Flow
89924 -- Update journal entry status -- Need to generate this within IF <condition>
89925 ----------------------------------------------------------------------------------
89926 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
89927 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
89928 ,p_balance_type_code => l_balance_type_code
89929 );
89930
89931 -------------------------------------------------------------------------------------------
89932 -- 4262811 - Generate the Accrual Reversal lines
89933 -------------------------------------------------------------------------------------------
89934 BEGIN
89935 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
89936 (g_array_event(p_event_id).array_value_num('header_index'));
89937 IF l_acc_rev_flag IS NULL THEN
89938 l_acc_rev_flag := 'N';
89939 END IF;
89940 EXCEPTION
89941 WHEN OTHERS THEN
89942 l_acc_rev_flag := 'N';
89943 END;
89947 -- 4645092 ------------------------------------------------------------------------------
89944 --
89945 IF (l_acc_rev_flag = 'Y') THEN
89946
89948 -- To allow MPA report to determine if it should generate report process
89949 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
89950 ------------------------------------------------------------------------------------------
89951
89952 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
89953 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
89954 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
89955 -- call ADRs
89956 -- Bug 4922099
89957 --
89958 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
89959 (NVL(l_actual_upg_option, 'N') = 'O') OR
89960 (NVL(l_enc_upg_option, 'N') = 'O')
89961 )
89962 THEN
89963 NULL;
89964 --
89965 --
89966
89967 l_ccid := AcctDerRule_36(
89968 p_application_id => p_application_id
89969 , p_ae_header_id => l_ae_header_id
89970 , p_source_29 => p_source_29
89971 , x_transaction_coa_id => l_adr_transaction_coa_id
89972 , x_accounting_coa_id => l_adr_accounting_coa_id
89973 , x_value_type_code => l_adr_value_type_code
89974 , p_side => 'NA'
89975 );
89976
89977 xla_ae_lines_pkg.set_ccid(
89978 p_code_combination_id => l_ccid
89979 , p_value_type_code => l_adr_value_type_code
89980 , p_transaction_coa_id => l_adr_transaction_coa_id
89981 , p_accounting_coa_id => l_adr_accounting_coa_id
89982 , p_adr_code => 'AP_LIAB'
89983 , p_adr_type_code => 'S'
89984 , p_component_type => l_component_type
89985 , p_component_code => l_component_code
89986 , p_component_type_code => l_component_type_code
89987 , p_component_appl_id => l_component_appl_id
89988 , p_amb_context_code => l_amb_context_code
89989 , p_side => 'NA'
89990 );
89991
89992
89993 xla_ae_lines_pkg.Set_Segment( -- replaced SetSegment
89994 p_to_segment_code => 'GL_BALANCING'
89995 , p_segment_value => C_CHAR
89996 , p_from_segment_code => NULL
89997 , p_from_combination_id => NULL
89998 , p_value_type_code => NULL
89999 , p_transaction_coa_id => null
90000 , p_accounting_coa_id => null
90001 , p_flexfield_segment_code => NULL
90002 , p_flex_value_set_id => NULL
90003 , p_adr_code => NULL
90004 , p_adr_type_code => NULL
90005 , p_component_type => l_component_type
90006 , p_component_code => l_component_code
90007 , p_component_type_code => l_component_type_code
90008 , p_component_appl_id => l_component_appl_id
90009 , p_amb_context_code => l_amb_context_code
90010 , p_entity_code => 'AP_INVOICES'
90011 , p_event_class_code => 'INVOICES'
90012 , p_side => 'NA'
90013 );
90014 --
90015
90016
90017 --
90018 --
90019 END IF;
90020
90021 --
90022 -- Update the line information that should be overwritten
90023 --
90024 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
90025 p_header_num => 1);
90026 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
90027
90028 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
90029
90030 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
90031 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
90032 END IF;
90033
90034 --
90035 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
90036 --
90037 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
90038 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
90039 ELSE
90040 ---------------------------------------------------------------------------------------------------
90041 -- 4262811a Switch Sign
90042 ---------------------------------------------------------------------------------------------------
90043 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
90044 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
90045 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
90046 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
90047 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
90048 -- 5132302
90049 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
90050 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
90051
90052 END IF;
90053
90054 -- 4955764
90055 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
90059 XLA_AE_LINES_PKG.ValidateCurrentLine;
90056 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
90057
90058
90060 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
90061
90062 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
90063 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
90064 ,p_balance_type_code => l_balance_type_code);
90065
90066 END IF;
90067
90068 -----------------------------------------------------------------------------------------
90069 -- 4262811 Multiperiod Accounting
90070 -----------------------------------------------------------------------------------------
90071 -- No MPA option is assigned.
90072
90073
90074 END IF;
90075 END IF;
90076 --
90077
90078 --
90079 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
90080 trace
90081 (p_msg => 'END of AcctLineType_165'
90082 ,p_level => C_LEVEL_PROCEDURE
90083 ,p_module => l_log_module);
90084 END IF;
90085 --
90086 EXCEPTION
90087 WHEN xla_exceptions_pkg.application_exception THEN
90088 RAISE;
90089 WHEN OTHERS THEN
90090 xla_exceptions_pkg.raise_message
90091 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_165');
90092 END AcctLineType_165;
90093 --
90094
90095 ---------------------------------------
90096 --
90097 -- PRIVATE FUNCTION
90098 -- AcctLineType_166
90099 --
90100 ---------------------------------------
90101 PROCEDURE AcctLineType_166 (
90102 p_application_id IN NUMBER
90103 ,p_event_id IN NUMBER
90104 ,p_calculate_acctd_flag IN VARCHAR2
90105 ,p_calculate_g_l_flag IN VARCHAR2
90106 ,p_actual_flag IN OUT VARCHAR2
90107 ,p_balance_type_code OUT VARCHAR2
90108 ,p_gain_or_loss_ref OUT VARCHAR2
90109
90110 --Payment Currency Code
90111 , p_source_8 IN VARCHAR2
90112 --Invoice Type Paid
90113 , p_source_56 IN VARCHAR2
90114 , p_source_56_meaning IN VARCHAR2
90115 --When to Account for Payment Option
90116 , p_source_57 IN VARCHAR2
90117 --Accounting Reversal Indicator
90118 , p_source_58 IN VARCHAR2
90119 --Distribution Link Type
90120 , p_source_60 IN VARCHAR2
90121 --Override Accounted Amount Indicator
90122 , p_source_85 IN VARCHAR2
90123 , p_source_85_meaning IN VARCHAR2
90124 --Third Party Type
90125 , p_source_88 IN VARCHAR2
90126 --Invoice Distribution Tax Line Identifier
90127 , p_source_91 IN NUMBER
90128 --Invoice Distribution Tax Distribution Identifier from Tax
90129 , p_source_92 IN NUMBER
90130 --Invoice Distribution Summary Tax Line Identifier
90131 , p_source_93 IN NUMBER
90132 --Business Flow Accounts Payable Application Identifier
90133 , p_source_96 IN NUMBER
90134 --Business Flow Invoice Distribution Type
90135 , p_source_97 IN VARCHAR2
90136 --Business Flow Invoice Entity Code
90137 , p_source_98 IN VARCHAR2
90138 --Business Flow Invoice Distribution Identifier
90139 , p_source_99 IN NUMBER
90140 --Business Flow Invoice Identifier
90141 , p_source_100 IN NUMBER
90142 --Payment Distribution Type
90143 , p_source_101 IN VARCHAR2
90144 , p_source_101_meaning IN VARCHAR2
90145 --Payment Distribution Amount
90146 , p_source_102 IN NUMBER
90147 --Payment Distribution Identifier
90148 , p_source_107 IN NUMBER
90149 --Payment Distribution Reversed Identifier
90150 , p_source_115 IN NUMBER
90151 --Payment Distribution (Invoice Rate) Ledger Amount
90152 , p_source_119 IN NUMBER
90153 --Payment Type
90154 , p_source_125 IN VARCHAR2
90155 , p_source_125_meaning IN VARCHAR2
90156 --Invoice Distribution Amount of the Payment Distribution
90157 , p_source_127 IN NUMBER
90158 )
90159 IS
90160
90161 l_component_type VARCHAR2(80);
90162 l_component_code VARCHAR2(30);
90163 l_component_type_code VARCHAR2(1);
90164 l_component_appl_id INTEGER;
90165 l_amb_context_code VARCHAR2(30);
90166 l_entity_code VARCHAR2(30);
90167 l_event_class_code VARCHAR2(30);
90168 l_ae_header_id NUMBER;
90169 l_event_type_code VARCHAR2(30);
90170 l_line_definition_code VARCHAR2(30);
90171 l_line_definition_owner_code VARCHAR2(1);
90172 --
90173 -- adr variables
90174 l_segment VARCHAR2(30);
90175 l_ccid NUMBER;
90176 l_adr_transaction_coa_id NUMBER;
90177 l_adr_accounting_coa_id NUMBER;
90178 l_adr_flexfield_segment_code VARCHAR2(30);
90179 l_adr_flex_value_set_id NUMBER;
90180 l_adr_value_type_code VARCHAR2(30);
90181 l_adr_value_combination_id NUMBER;
90182 l_adr_value_segment_code VARCHAR2(30);
90183
90184 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
90185 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
90186 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
90187 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
90188
90189 -- 4262811 Variables ------------------------------------------------------------------------------------------
90190 l_entered_amt_idx NUMBER;
90191 l_accted_amt_idx NUMBER;
90195 l_acc_rev_natural_side_code VARCHAR2(1);
90192 l_acc_rev_flag VARCHAR2(1);
90193 l_accrual_line_num NUMBER;
90194 l_tmp_amt NUMBER;
90196
90197 l_num_entries NUMBER;
90198 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
90199 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
90200 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
90201 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
90202 l_recog_line_1 NUMBER;
90203 l_recog_line_2 NUMBER;
90204
90205 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
90206 l_bflow_applied_to_amt NUMBER; -- 5132302
90207 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
90208
90209 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
90210
90211 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
90212 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
90213
90214 ---------------------------------------------------------------------------------------------------------------
90215
90216
90217 --
90218 -- bulk performance
90219 --
90220 l_balance_type_code VARCHAR2(1);
90221 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
90222 l_log_module VARCHAR2(240);
90223
90224 --
90225 -- Upgrade strategy
90226 --
90227 l_actual_upg_option VARCHAR2(1);
90228 l_enc_upg_option VARCHAR2(1);
90229
90230 --
90231 BEGIN
90232 --
90233 IF g_log_enabled THEN
90234 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_166';
90235 END IF;
90236 --
90237 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
90238
90239 trace
90240 (p_msg => 'BEGIN of AcctLineType_166'
90241 ,p_level => C_LEVEL_PROCEDURE
90242 ,p_module => l_log_module);
90243
90244 END IF;
90245 --
90246 l_component_type := 'AMB_JLT';
90247 l_component_code := 'AP_LIAB_PMT';
90248 l_component_type_code := 'S';
90249 l_component_appl_id := 200;
90250 l_amb_context_code := 'DEFAULT';
90251 l_entity_code := 'AP_PAYMENTS';
90252 l_event_class_code := 'PAYMENTS';
90253 l_event_type_code := 'PAYMENTS_ALL';
90254 l_line_definition_owner_code := 'S';
90255 l_line_definition_code := 'ACCRUAL_PAYMENTS_ALL';
90256 --
90257 l_balance_type_code := 'A';
90258 l_segment := NULL;
90259 l_ccid := NULL;
90260 l_adr_transaction_coa_id := NULL;
90261 l_adr_accounting_coa_id := NULL;
90262 l_adr_flexfield_segment_code := NULL;
90263 l_adr_flex_value_set_id := NULL;
90264 l_adr_value_type_code := NULL;
90265 l_adr_value_combination_id := NULL;
90266 l_adr_value_segment_code := NULL;
90267
90268 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
90269 l_bflow_class_code := 'AP_LIAB'; -- 4219869 Business Flow
90270 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
90271 l_budgetary_control_flag := 'N';
90272
90273 l_bflow_applied_to_amt_idx := NULL; -- 5132302
90274 l_bflow_applied_to_amt := NULL; -- 5132302
90275 l_entered_amt_idx := NULL; -- 4262811
90276 l_accted_amt_idx := NULL; -- 4262811
90277 l_acc_rev_flag := NULL; -- 4262811
90278 l_accrual_line_num := NULL; -- 4262811
90279 l_tmp_amt := NULL; -- 4262811
90280 --
90281
90282 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
90283 l_balance_type_code <> 'B' THEN
90284 IF NVL(p_source_57,'
90285 ') <> 'CLEAR_CLEAR' AND
90286 NVL(p_source_56,'
90287 ') <> 'INTEREST' AND
90288 (NVL(p_source_101,'
90289 ') = 'ROUNDING' OR
90290 NVL(p_source_101,'
90291 ') = 'CASH' OR
90292 NVL(p_source_101,'
90293 ') = 'DISCOUNT') AND
90294 NVL(p_source_125,'
90295 ') <> 'R'
90296 THEN
90297
90298 --
90299 XLA_AE_LINES_PKG.SetNewLine;
90300
90301 p_balance_type_code := l_balance_type_code;
90302 -- set the flag so later we will know whether the gain loss line needs to be created
90303
90304 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
90305 p_actual_flag :='A';
90306 END IF;
90307
90308 --
90309 -- bulk performance
90310 --
90311 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
90312 p_header_num => 0); -- 4262811
90313 --
90314 -- set accounting line options
90315 --
90316 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
90317 p_natural_side_code => 'D'
90318 , p_gain_or_loss_flag => 'N'
90319 , p_gl_transfer_mode_code => 'S'
90320 , p_acct_entry_type_code => 'A'
90321 , p_switch_side_flag => 'Y'
90322 , p_merge_duplicate_code => 'A'
90323 );
90324 --
90325 l_acc_rev_natural_side_code := 'C'; -- 4262811
90326 --
90327 --
90331 (p_component_type => l_component_type
90328 -- set accounting line type info
90329 --
90330 xla_ae_lines_pkg.SetAcctLineType
90332 ,p_event_type_code => l_event_type_code
90333 ,p_line_definition_owner_code => l_line_definition_owner_code
90334 ,p_line_definition_code => l_line_definition_code
90335 ,p_accounting_line_code => l_component_code
90336 ,p_accounting_line_type_code => l_component_type_code
90337 ,p_accounting_line_appl_id => l_component_appl_id
90338 ,p_amb_context_code => l_amb_context_code
90339 ,p_entity_code => l_entity_code
90340 ,p_event_class_code => l_event_class_code);
90341 --
90342 -- set accounting class
90343 --
90344 xla_ae_lines_pkg.SetAcctClass(
90345 p_accounting_class_code => 'LIABILITY'
90346 , p_ae_header_id => l_ae_header_id
90347 );
90348
90349 --
90350 -- set rounding class
90351 --
90352 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
90353 'LIABILITY';
90354
90355 --
90356 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
90357 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
90358 --
90359 -- bulk performance
90360 --
90361 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
90362
90363 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
90364 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
90365
90366 -- 4955764
90367 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
90368 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
90369
90370 -- 4458381 Public Sector Enh
90371
90372 --
90373 -- set accounting attributes for the line type
90374 --
90375 l_entered_amt_idx := 10;
90376 l_accted_amt_idx := 12;
90377 l_bflow_applied_to_amt_idx := 2; -- 5132302
90378 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
90379 l_rec_acct_attrs.array_char_value(1) := p_source_58;
90380 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
90381 l_rec_acct_attrs.array_num_value(2) := p_source_127;
90382 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
90383 l_rec_acct_attrs.array_num_value(3) := p_source_96;
90384 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
90385 l_rec_acct_attrs.array_char_value(4) := p_source_97;
90386 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
90387 l_rec_acct_attrs.array_char_value(5) := p_source_98;
90388 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
90389 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_99);
90390 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
90391 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_100);
90392 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
90393 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_107);
90394 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
90395 l_rec_acct_attrs.array_char_value(9) := p_source_60;
90396 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
90397 l_rec_acct_attrs.array_num_value(10) := p_source_102;
90398 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
90399 l_rec_acct_attrs.array_char_value(11) := p_source_8;
90400 l_rec_acct_attrs.array_acct_attr_code(12) := 'LEDGER_AMOUNT';
90401 l_rec_acct_attrs.array_num_value(12) := p_source_119;
90402 l_rec_acct_attrs.array_acct_attr_code(13) := 'OVERRIDE_ACCTD_AMT_FLAG';
90403 l_rec_acct_attrs.array_char_value(13) := p_source_85;
90404 l_rec_acct_attrs.array_acct_attr_code(14) := 'PARTY_TYPE';
90405 l_rec_acct_attrs.array_char_value(14) := p_source_88;
90406 l_rec_acct_attrs.array_acct_attr_code(15) := 'REVERSED_DISTRIBUTION_ID1';
90407 l_rec_acct_attrs.array_num_value(15) := to_char(p_source_115);
90408 l_rec_acct_attrs.array_acct_attr_code(16) := 'REVERSED_DISTRIBUTION_TYPE';
90409 l_rec_acct_attrs.array_char_value(16) := p_source_60;
90410 l_rec_acct_attrs.array_acct_attr_code(17) := 'TAX_LINE_REF_ID';
90411 l_rec_acct_attrs.array_num_value(17) := p_source_91;
90412 l_rec_acct_attrs.array_acct_attr_code(18) := 'TAX_REC_NREC_DIST_REF_ID';
90413 l_rec_acct_attrs.array_num_value(18) := p_source_92;
90414 l_rec_acct_attrs.array_acct_attr_code(19) := 'TAX_SUMMARY_LINE_REF_ID';
90415 l_rec_acct_attrs.array_num_value(19) := p_source_93;
90416
90417 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
90418 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
90419
90420 ---------------------------------------------------------------------------------------------------------------
90421 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
90422 ---------------------------------------------------------------------------------------------------------------
90423 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
90424
90428 IF xla_accounting_cache_pkg.GetValueChar
90425 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
90426 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
90427
90429 (p_source_code => 'LEDGER_CATEGORY_CODE'
90430 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
90431 AND l_bflow_method_code = 'PRIOR_ENTRY'
90432 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
90433 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
90434 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
90435 )
90436 THEN
90437 xla_ae_lines_pkg.BflowUpgEntry
90438 (p_business_method_code => l_bflow_method_code
90439 ,p_business_class_code => l_bflow_class_code
90440 ,p_balance_type => l_balance_type_code);
90441 ELSE
90442 NULL;
90443 XLA_AE_LINES_PKG.business_flow_validation(
90444 p_business_method_code => l_bflow_method_code
90445 ,p_business_class_code => l_bflow_class_code
90446 ,p_inherit_description_flag => l_inherit_desc_flag);
90447 END IF;
90448
90449 --
90450 -- call analytical criteria
90451 --
90452 -- Inherited Analytical Criteria for business flow method of Prior Entry.
90453 --
90454 -- call description
90455 --
90456 -- No description or it is inherited.
90457 --
90458 -- call ADRs
90459 -- Bug 4922099
90460 --
90461 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
90462 (NVL(l_actual_upg_option, 'N') = 'O') OR
90463 (NVL(l_enc_upg_option, 'N') = 'O')
90464 )
90465 THEN
90466 NULL;
90467 --
90468 --
90469
90470 --
90471 --
90472 END IF;
90473 --
90474 -- Bug 4922099
90475 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
90476 (NVL(l_enc_upg_option, 'N') = 'O')
90477 ) AND
90478 (l_bflow_method_code = 'PRIOR_ENTRY')
90479 )
90480 THEN
90481 IF
90482 --
90483 1 = 1
90484 --
90485 THEN
90486 xla_accounting_err_pkg.build_message
90487 (p_appli_s_name => 'XLA'
90488 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
90489 ,p_token_1 => 'LINE_NUMBER'
90490 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
90491 ,p_token_2 => 'LINE_TYPE_NAME'
90492 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
90493 l_component_type
90494 ,l_component_code
90495 ,l_component_type_code
90496 ,l_component_appl_id
90497 ,l_amb_context_code
90498 ,l_entity_code
90499 ,l_event_class_code
90500 )
90501 ,p_token_3 => 'OWNER'
90502 ,p_value_3 => xla_lookups_pkg.get_meaning(
90503 p_lookup_type => 'XLA_OWNER_TYPE'
90504 ,p_lookup_code => l_component_type_code
90505 )
90506 ,p_token_4 => 'PRODUCT_NAME'
90507 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
90508 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
90509 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
90510 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
90511 ,p_ae_header_id => NULL
90512 );
90513
90514 IF (C_LEVEL_ERROR>= g_log_level) THEN
90515 trace
90516 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
90517 ,p_level => C_LEVEL_ERROR
90518 ,p_module => l_log_module);
90519 END IF;
90520 END IF;
90521 END IF;
90522 --
90523 --
90524 ------------------------------------------------------------------------------------------------
90525 -- 4219869 Business Flow
90526 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
90527 -- Prior Entry. Currently, the following code is always generated.
90528 ------------------------------------------------------------------------------------------------
90529 -- No ValidateCurrentLine for business flow method of Prior Entry
90530
90534 ------------------------------------------------------------------------------------
90531 ------------------------------------------------------------------------------------
90532 -- 4219869 Business Flow
90533 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
90535 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
90536
90537 ----------------------------------------------------------------------------------
90538 -- 4219869 Business Flow
90539 -- Update journal entry status -- Need to generate this within IF <condition>
90540 ----------------------------------------------------------------------------------
90541 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
90542 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
90543 ,p_balance_type_code => l_balance_type_code
90544 );
90545
90546 -------------------------------------------------------------------------------------------
90547 -- 4262811 - Generate the Accrual Reversal lines
90548 -------------------------------------------------------------------------------------------
90549 BEGIN
90550 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
90551 (g_array_event(p_event_id).array_value_num('header_index'));
90552 IF l_acc_rev_flag IS NULL THEN
90553 l_acc_rev_flag := 'N';
90554 END IF;
90555 EXCEPTION
90556 WHEN OTHERS THEN
90557 l_acc_rev_flag := 'N';
90558 END;
90559 --
90560 IF (l_acc_rev_flag = 'Y') THEN
90561
90562 -- 4645092 ------------------------------------------------------------------------------
90563 -- To allow MPA report to determine if it should generate report process
90564 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
90565 ------------------------------------------------------------------------------------------
90566
90567 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
90568 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
90569 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
90570 -- call ADRs
90571 -- Bug 4922099
90572 --
90573 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
90574 (NVL(l_actual_upg_option, 'N') = 'O') OR
90575 (NVL(l_enc_upg_option, 'N') = 'O')
90576 )
90577 THEN
90578 NULL;
90579 --
90580 --
90581
90582 --
90583 --
90584 END IF;
90585
90586 --
90587 -- Update the line information that should be overwritten
90588 --
90589 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
90590 p_header_num => 1);
90591 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
90592
90593 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
90594
90595 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
90596 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
90597 END IF;
90598
90599 --
90600 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
90601 --
90602 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
90603 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
90604 ELSE
90605 ---------------------------------------------------------------------------------------------------
90606 -- 4262811a Switch Sign
90607 ---------------------------------------------------------------------------------------------------
90608 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
90609 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
90610 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
90611 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
90612 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
90613 -- 5132302
90614 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
90615 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
90616
90617 END IF;
90618
90619 -- 4955764
90620 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
90621 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
90622
90623
90624 XLA_AE_LINES_PKG.ValidateCurrentLine;
90625 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
90626
90627 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
90628 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
90629 ,p_balance_type_code => l_balance_type_code);
90630
90631 END IF;
90632
90633 -----------------------------------------------------------------------------------------
90634 -- 4262811 Multiperiod Accounting
90635 -----------------------------------------------------------------------------------------
90636 -- No MPA option is assigned.
90637
90638
90639 END IF;
90640 END IF;
90641 --
90645 trace
90642
90643 --
90644 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
90646 (p_msg => 'END of AcctLineType_166'
90647 ,p_level => C_LEVEL_PROCEDURE
90648 ,p_module => l_log_module);
90649 END IF;
90650 --
90651 EXCEPTION
90652 WHEN xla_exceptions_pkg.application_exception THEN
90653 RAISE;
90654 WHEN OTHERS THEN
90655 xla_exceptions_pkg.raise_message
90656 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_166');
90657 END AcctLineType_166;
90658 --
90659
90660 ---------------------------------------
90661 --
90662 -- PRIVATE FUNCTION
90663 -- AcctLineType_167
90664 --
90665 ---------------------------------------
90666 PROCEDURE AcctLineType_167 (
90667 p_application_id IN NUMBER
90668 ,p_event_id IN NUMBER
90669 ,p_calculate_acctd_flag IN VARCHAR2
90670 ,p_calculate_g_l_flag IN VARCHAR2
90671 ,p_actual_flag IN OUT VARCHAR2
90672 ,p_balance_type_code OUT VARCHAR2
90673 ,p_gain_or_loss_ref OUT VARCHAR2
90674
90675 --Invoice Distribution Description
90676 , p_source_1 IN VARCHAR2
90677 --Automatic Offsets Value
90678 , p_source_10 IN VARCHAR2
90679 , p_source_10_meaning IN VARCHAR2
90680 --Invoice Distribution Ledger Amount
90681 , p_source_16 IN NUMBER
90682 --Invoice Liability Account
90683 , p_source_29 IN NUMBER
90684 --Accounting Reversal Indicator
90685 , p_source_58 IN VARCHAR2
90686 --Distribution Link Type
90687 , p_source_60 IN VARCHAR2
90688 --Allocation to Main Distribution Identifier
90689 , p_source_62 IN NUMBER
90690 --Invoice Identifier
90691 , p_source_63 IN NUMBER
90692 --Invoice Distribution Identifier
90693 , p_source_69 IN NUMBER
90694 --Payables Encumbrance Upgrade Credit Account
90695 , p_source_70 IN NUMBER
90696 --Payables Encumbrance Upgrade Credit Amount
90697 , p_source_71 IN NUMBER
90698 --Invoice Currency Code
90699 , p_source_72 IN VARCHAR2
90700 --Payables Encumbrance Upgrade Credit Base Amount
90701 , p_source_73 IN NUMBER
90702 --Payables Encumbrance Upgrade Debit Account
90703 , p_source_74 IN NUMBER
90704 --Payables Encumbrance Upgrade Debit Amount
90705 , p_source_75 IN NUMBER
90706 --Payables Encumbrance Upgrade Debit Base Amount
90707 , p_source_76 IN NUMBER
90708 --Payables Encumbrance Upgrade Option
90709 , p_source_77 IN VARCHAR2
90710 --Invoice Distribution Amount
90711 , p_source_78 IN NUMBER
90712 --Deferred Accounting End Date
90713 , p_source_82 IN DATE
90714 --Deferred Accounting Option
90715 , p_source_83 IN VARCHAR2
90716 --Deferred Accounting Start Date
90717 , p_source_84 IN DATE
90718 --Override Accounted Amount Indicator
90719 , p_source_85 IN VARCHAR2
90720 , p_source_85_meaning IN VARCHAR2
90721 --Invoice Supplier Identifier
90722 , p_source_86 IN NUMBER
90723 --Invoice Supplier Site Identifier
90724 , p_source_87 IN NUMBER
90725 --Third Party Type
90726 , p_source_88 IN VARCHAR2
90727 --Parent Reversal Identifier
90728 , p_source_89 IN NUMBER
90729 --Invoice Distribution Statistical Amount
90730 , p_source_90 IN NUMBER
90731 --Invoice Distribution Tax Line Identifier
90732 , p_source_91 IN NUMBER
90733 --Invoice Distribution Tax Distribution Identifier from Tax
90734 , p_source_92 IN NUMBER
90735 --Invoice Distribution Summary Tax Line Identifier
90736 , p_source_93 IN NUMBER
90737 --Payables Upgrade Credit Encumbrance Type Identifier
90738 , p_source_94 IN NUMBER
90739 --Payables Upgrade Debit Encumbrance Type Identifier
90740 , p_source_95 IN NUMBER
90741 --Business Flow Accounts Payable Application Identifier
90742 , p_source_96 IN NUMBER
90743 --Business Flow Invoice Distribution Type
90744 , p_source_97 IN VARCHAR2
90745 --Business Flow Invoice Entity Code
90746 , p_source_98 IN VARCHAR2
90747 --Business Flow Invoice Distribution Identifier
90748 , p_source_99 IN NUMBER
90749 --Business Flow Invoice Identifier
90750 , p_source_100 IN NUMBER
90751 --Self-Assessed Tax Flag
90752 , p_source_145 IN VARCHAR2
90753 , p_source_145_meaning IN VARCHAR2
90754 --Invoice Exchange Date
90755 , p_source_146 IN DATE
90756 --Invoice Exchange Rate
90757 , p_source_147 IN NUMBER
90758 --Invoice Exchange Rate Type
90759 , p_source_148 IN VARCHAR2
90760 )
90761 IS
90762
90763 l_component_type VARCHAR2(80);
90764 l_component_code VARCHAR2(30);
90765 l_component_type_code VARCHAR2(1);
90766 l_component_appl_id INTEGER;
90767 l_amb_context_code VARCHAR2(30);
90768 l_entity_code VARCHAR2(30);
90769 l_event_class_code VARCHAR2(30);
90770 l_ae_header_id NUMBER;
90771 l_event_type_code VARCHAR2(30);
90772 l_line_definition_code VARCHAR2(30);
90773 l_line_definition_owner_code VARCHAR2(1);
90774 --
90775 -- adr variables
90776 l_segment VARCHAR2(30);
90777 l_ccid NUMBER;
90778 l_adr_transaction_coa_id NUMBER;
90782 l_adr_value_type_code VARCHAR2(30);
90779 l_adr_accounting_coa_id NUMBER;
90780 l_adr_flexfield_segment_code VARCHAR2(30);
90781 l_adr_flex_value_set_id NUMBER;
90783 l_adr_value_combination_id NUMBER;
90784 l_adr_value_segment_code VARCHAR2(30);
90785
90786 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
90787 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
90788 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
90789 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
90790
90791 -- 4262811 Variables ------------------------------------------------------------------------------------------
90792 l_entered_amt_idx NUMBER;
90793 l_accted_amt_idx NUMBER;
90794 l_acc_rev_flag VARCHAR2(1);
90795 l_accrual_line_num NUMBER;
90796 l_tmp_amt NUMBER;
90797 l_acc_rev_natural_side_code VARCHAR2(1);
90798
90799 l_num_entries NUMBER;
90800 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
90801 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
90802 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
90803 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
90804 l_recog_line_1 NUMBER;
90805 l_recog_line_2 NUMBER;
90806
90807 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
90808 l_bflow_applied_to_amt NUMBER; -- 5132302
90809 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
90810
90811 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
90812
90813 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
90814 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
90815
90816 ---------------------------------------------------------------------------------------------------------------
90817
90818
90819 --
90820 -- bulk performance
90821 --
90822 l_balance_type_code VARCHAR2(1);
90823 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
90824 l_log_module VARCHAR2(240);
90825
90826 --
90827 -- Upgrade strategy
90828 --
90829 l_actual_upg_option VARCHAR2(1);
90830 l_enc_upg_option VARCHAR2(1);
90831
90832 --
90833 BEGIN
90834 --
90835 IF g_log_enabled THEN
90836 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_167';
90837 END IF;
90838 --
90839 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
90840
90841 trace
90842 (p_msg => 'BEGIN of AcctLineType_167'
90843 ,p_level => C_LEVEL_PROCEDURE
90844 ,p_module => l_log_module);
90845
90846 END IF;
90847 --
90848 l_component_type := 'AMB_JLT';
90849 l_component_code := 'AP_LIAB_PREPAY';
90850 l_component_type_code := 'S';
90851 l_component_appl_id := 200;
90852 l_amb_context_code := 'DEFAULT';
90853 l_entity_code := 'AP_INVOICES';
90854 l_event_class_code := 'PREPAYMENTS';
90855 l_event_type_code := 'PREPAYMENTS_ALL';
90856 l_line_definition_owner_code := 'S';
90857 l_line_definition_code := 'ACCRUAL_PREPAYMENTS_ALL';
90858 --
90859 l_balance_type_code := 'A';
90860 l_segment := NULL;
90861 l_ccid := NULL;
90862 l_adr_transaction_coa_id := NULL;
90863 l_adr_accounting_coa_id := NULL;
90864 l_adr_flexfield_segment_code := NULL;
90865 l_adr_flex_value_set_id := NULL;
90866 l_adr_value_type_code := NULL;
90867 l_adr_value_combination_id := NULL;
90868 l_adr_value_segment_code := NULL;
90869
90870 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
90871 l_bflow_class_code := 'AP_LIAB'; -- 4219869 Business Flow
90872 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
90873 l_budgetary_control_flag := 'N';
90874
90875 l_bflow_applied_to_amt_idx := NULL; -- 5132302
90876 l_bflow_applied_to_amt := NULL; -- 5132302
90877 l_entered_amt_idx := NULL; -- 4262811
90878 l_accted_amt_idx := NULL; -- 4262811
90879 l_acc_rev_flag := NULL; -- 4262811
90880 l_accrual_line_num := NULL; -- 4262811
90881 l_tmp_amt := NULL; -- 4262811
90882 --
90883
90884 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
90885 l_balance_type_code <> 'B' THEN
90886 IF (NVL(p_source_10,'
90887 ') <> 'BALANCING_SEGMENT' AND
90888 NVL(p_source_10,'
90889 ') <> 'ACCOUNT_SEGMENT_VALUE') AND
90890 NVL(p_source_145,'
90891 ') <> 'Y'
90892 THEN
90893
90894 --
90895 XLA_AE_LINES_PKG.SetNewLine;
90896
90897 p_balance_type_code := l_balance_type_code;
90898 -- set the flag so later we will know whether the gain loss line needs to be created
90899
90900 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
90901 p_actual_flag :='A';
90902 END IF;
90903
90904 --
90905 -- bulk performance
90906 --
90907 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
90911 --
90908 p_header_num => 0); -- 4262811
90909 --
90910 -- set accounting line options
90912 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
90913 p_natural_side_code => 'C'
90914 , p_gain_or_loss_flag => 'N'
90915 , p_gl_transfer_mode_code => 'S'
90916 , p_acct_entry_type_code => 'A'
90917 , p_switch_side_flag => 'Y'
90918 , p_merge_duplicate_code => 'A'
90919 );
90920 --
90921 l_acc_rev_natural_side_code := 'D'; -- 4262811
90922 --
90923 --
90924 -- set accounting line type info
90925 --
90926 xla_ae_lines_pkg.SetAcctLineType
90927 (p_component_type => l_component_type
90928 ,p_event_type_code => l_event_type_code
90929 ,p_line_definition_owner_code => l_line_definition_owner_code
90930 ,p_line_definition_code => l_line_definition_code
90931 ,p_accounting_line_code => l_component_code
90932 ,p_accounting_line_type_code => l_component_type_code
90933 ,p_accounting_line_appl_id => l_component_appl_id
90934 ,p_amb_context_code => l_amb_context_code
90935 ,p_entity_code => l_entity_code
90936 ,p_event_class_code => l_event_class_code);
90937 --
90938 -- set accounting class
90939 --
90940 xla_ae_lines_pkg.SetAcctClass(
90941 p_accounting_class_code => 'LIABILITY'
90942 , p_ae_header_id => l_ae_header_id
90943 );
90944
90945 --
90946 -- set rounding class
90947 --
90948 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
90949 'LIABILITY';
90950
90951 --
90952 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
90953 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
90954 --
90955 -- bulk performance
90956 --
90957 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
90958
90959 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
90960 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
90961
90962 -- 4955764
90963 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
90964 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
90965
90966 -- 4458381 Public Sector Enh
90967
90968 --
90969 -- set accounting attributes for the line type
90970 --
90971 l_entered_amt_idx := 23;
90972 l_accted_amt_idx := 28;
90973 l_bflow_applied_to_amt_idx := NULL; -- 5132302
90974 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
90975 l_rec_acct_attrs.array_char_value(1) := p_source_58;
90976 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
90977 l_rec_acct_attrs.array_num_value(2) :=
90978 xla_ae_sources_pkg.GetSystemSourceNum(
90979 p_source_code => 'XLA_EVENT_APPL_ID'
90980 , p_source_type_code => 'Y'
90981 , p_source_application_id => 602
90982 );
90983 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
90984 l_rec_acct_attrs.array_char_value(3) := p_source_60;
90985 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
90986 l_rec_acct_attrs.array_char_value(4) :=
90987 xla_ae_sources_pkg.GetSystemSourceChar(
90988 p_source_code => 'XLA_ENTITY_CODE'
90989 , p_source_type_code => 'Y'
90990 , p_source_application_id => 602
90991 );
90992 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
90993 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_62);
90994 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
90995 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_63);
90996 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
90997 l_rec_acct_attrs.array_num_value(7) := p_source_96;
90998 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
90999 l_rec_acct_attrs.array_char_value(8) := p_source_97;
91000 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
91001 l_rec_acct_attrs.array_char_value(9) := p_source_98;
91002 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
91003 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_99);
91004 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
91005 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_100);
91006 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
91007 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_69);
91008 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
91009 l_rec_acct_attrs.array_char_value(13) := p_source_60;
91010 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
91011 l_rec_acct_attrs.array_num_value(14) := p_source_70;
91012 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
91013 l_rec_acct_attrs.array_num_value(15) := p_source_71;
91014 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
91015 l_rec_acct_attrs.array_char_value(16) := p_source_72;
91019 l_rec_acct_attrs.array_num_value(18) := p_source_74;
91016 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
91017 l_rec_acct_attrs.array_num_value(17) := p_source_73;
91018 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
91020 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
91021 l_rec_acct_attrs.array_num_value(19) := p_source_75;
91022 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
91023 l_rec_acct_attrs.array_char_value(20) := p_source_72;
91024 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
91025 l_rec_acct_attrs.array_num_value(21) := p_source_76;
91026 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
91027 l_rec_acct_attrs.array_char_value(22) := p_source_77;
91028 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
91029 l_rec_acct_attrs.array_num_value(23) := p_source_78;
91030 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
91031 l_rec_acct_attrs.array_char_value(24) := p_source_72;
91032 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
91033 l_rec_acct_attrs.array_date_value(25) := p_source_146;
91034 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
91035 l_rec_acct_attrs.array_num_value(26) := p_source_147;
91036 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
91037 l_rec_acct_attrs.array_char_value(27) := p_source_148;
91038 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
91039 l_rec_acct_attrs.array_num_value(28) := p_source_16;
91040 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
91041 l_rec_acct_attrs.array_date_value(29) := p_source_82;
91042 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
91043 l_rec_acct_attrs.array_char_value(30) := p_source_83;
91044 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
91045 l_rec_acct_attrs.array_date_value(31) := p_source_84;
91046 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
91047 l_rec_acct_attrs.array_char_value(32) := p_source_85;
91048 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
91049 l_rec_acct_attrs.array_num_value(33) := p_source_86;
91050 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
91051 l_rec_acct_attrs.array_num_value(34) := p_source_87;
91052 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
91053 l_rec_acct_attrs.array_char_value(35) := p_source_88;
91054 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
91055 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_89);
91056 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
91057 l_rec_acct_attrs.array_char_value(37) := p_source_60;
91058 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
91059 l_rec_acct_attrs.array_num_value(38) := p_source_90;
91060 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
91061 l_rec_acct_attrs.array_num_value(39) := p_source_91;
91062 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
91063 l_rec_acct_attrs.array_num_value(40) := p_source_92;
91064 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
91065 l_rec_acct_attrs.array_num_value(41) := p_source_93;
91066 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
91067 l_rec_acct_attrs.array_num_value(42) := p_source_94;
91068 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
91069 l_rec_acct_attrs.array_num_value(43) := p_source_95;
91070
91071 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
91072 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
91073
91074 ---------------------------------------------------------------------------------------------------------------
91075 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
91076 ---------------------------------------------------------------------------------------------------------------
91077 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
91078
91079 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
91080 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
91081
91082 IF xla_accounting_cache_pkg.GetValueChar
91083 (p_source_code => 'LEDGER_CATEGORY_CODE'
91084 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
91085 AND l_bflow_method_code = 'PRIOR_ENTRY'
91086 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
91087 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
91088 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
91089 )
91090 THEN
91091 xla_ae_lines_pkg.BflowUpgEntry
91092 (p_business_method_code => l_bflow_method_code
91093 ,p_business_class_code => l_bflow_class_code
91094 ,p_balance_type => l_balance_type_code);
91095 ELSE
91096 NULL;
91097 -- No business flow processing for business flow method of NONE.
91098 END IF;
91099
91100 --
91101 -- call analytical criteria
91102 --
91103
91104 --
91105 -- call description
91106 --
91107
91108 xla_ae_lines_pkg.SetLineDescription(
91109 p_ae_header_id => l_ae_header_id
91110 ,p_description => Description_2 (
91111 p_application_id => p_application_id
91115 );
91112 , p_ae_header_id => l_ae_header_id
91113 , p_source_1 => p_source_1
91114 )
91116
91117
91118 --
91119 -- call ADRs
91120 -- Bug 4922099
91121 --
91122 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
91123 (NVL(l_actual_upg_option, 'N') = 'O') OR
91124 (NVL(l_enc_upg_option, 'N') = 'O')
91125 )
91126 THEN
91127 NULL;
91128 --
91129 --
91130
91131 l_ccid := AcctDerRule_36(
91132 p_application_id => p_application_id
91133 , p_ae_header_id => l_ae_header_id
91134 , p_source_29 => p_source_29
91135 , x_transaction_coa_id => l_adr_transaction_coa_id
91136 , x_accounting_coa_id => l_adr_accounting_coa_id
91137 , x_value_type_code => l_adr_value_type_code
91138 , p_side => 'NA'
91139 );
91140
91141 xla_ae_lines_pkg.set_ccid(
91142 p_code_combination_id => l_ccid
91143 , p_value_type_code => l_adr_value_type_code
91144 , p_transaction_coa_id => l_adr_transaction_coa_id
91145 , p_accounting_coa_id => l_adr_accounting_coa_id
91146 , p_adr_code => 'AP_LIAB'
91147 , p_adr_type_code => 'S'
91148 , p_component_type => l_component_type
91149 , p_component_code => l_component_code
91150 , p_component_type_code => l_component_type_code
91151 , p_component_appl_id => l_component_appl_id
91152 , p_amb_context_code => l_amb_context_code
91153 , p_side => 'NA'
91154 );
91155
91156
91157 --
91158 --
91159 END IF;
91160 --
91161 -- Bug 4922099
91162 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
91163 (NVL(l_enc_upg_option, 'N') = 'O')
91164 ) AND
91165 (l_bflow_method_code = 'PRIOR_ENTRY')
91166 )
91167 THEN
91168 IF
91169 --
91170 1 = 2
91171 --
91172 THEN
91173 xla_accounting_err_pkg.build_message
91174 (p_appli_s_name => 'XLA'
91175 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
91176 ,p_token_1 => 'LINE_NUMBER'
91177 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
91178 ,p_token_2 => 'LINE_TYPE_NAME'
91179 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
91180 l_component_type
91181 ,l_component_code
91182 ,l_component_type_code
91183 ,l_component_appl_id
91184 ,l_amb_context_code
91185 ,l_entity_code
91186 ,l_event_class_code
91187 )
91188 ,p_token_3 => 'OWNER'
91189 ,p_value_3 => xla_lookups_pkg.get_meaning(
91190 p_lookup_type => 'XLA_OWNER_TYPE'
91191 ,p_lookup_code => l_component_type_code
91192 )
91193 ,p_token_4 => 'PRODUCT_NAME'
91194 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
91195 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
91196 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
91197 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
91198 ,p_ae_header_id => NULL
91199 );
91200
91201 IF (C_LEVEL_ERROR>= g_log_level) THEN
91202 trace
91203 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
91204 ,p_level => C_LEVEL_ERROR
91205 ,p_module => l_log_module);
91206 END IF;
91207 END IF;
91208 END IF;
91209 --
91210 --
91211 ------------------------------------------------------------------------------------------------
91212 -- 4219869 Business Flow
91213 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
91214 -- Prior Entry. Currently, the following code is always generated.
91215 ------------------------------------------------------------------------------------------------
91216 XLA_AE_LINES_PKG.ValidateCurrentLine;
91217
91218 ------------------------------------------------------------------------------------
91219 -- 4219869 Business Flow
91223
91220 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
91221 ------------------------------------------------------------------------------------
91222 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
91224 ----------------------------------------------------------------------------------
91225 -- 4219869 Business Flow
91226 -- Update journal entry status -- Need to generate this within IF <condition>
91227 ----------------------------------------------------------------------------------
91228 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
91229 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
91230 ,p_balance_type_code => l_balance_type_code
91231 );
91232
91233 -------------------------------------------------------------------------------------------
91234 -- 4262811 - Generate the Accrual Reversal lines
91235 -------------------------------------------------------------------------------------------
91236 BEGIN
91237 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
91238 (g_array_event(p_event_id).array_value_num('header_index'));
91239 IF l_acc_rev_flag IS NULL THEN
91240 l_acc_rev_flag := 'N';
91241 END IF;
91242 EXCEPTION
91243 WHEN OTHERS THEN
91244 l_acc_rev_flag := 'N';
91245 END;
91246 --
91247 IF (l_acc_rev_flag = 'Y') THEN
91248
91249 -- 4645092 ------------------------------------------------------------------------------
91250 -- To allow MPA report to determine if it should generate report process
91251 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
91252 ------------------------------------------------------------------------------------------
91253
91254 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
91255 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
91256 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
91257 -- call ADRs
91258 -- Bug 4922099
91259 --
91260 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
91261 (NVL(l_actual_upg_option, 'N') = 'O') OR
91262 (NVL(l_enc_upg_option, 'N') = 'O')
91263 )
91264 THEN
91265 NULL;
91266 --
91267 --
91268
91269 l_ccid := AcctDerRule_36(
91270 p_application_id => p_application_id
91271 , p_ae_header_id => l_ae_header_id
91272 , p_source_29 => p_source_29
91273 , x_transaction_coa_id => l_adr_transaction_coa_id
91274 , x_accounting_coa_id => l_adr_accounting_coa_id
91275 , x_value_type_code => l_adr_value_type_code
91276 , p_side => 'NA'
91277 );
91278
91279 xla_ae_lines_pkg.set_ccid(
91280 p_code_combination_id => l_ccid
91281 , p_value_type_code => l_adr_value_type_code
91282 , p_transaction_coa_id => l_adr_transaction_coa_id
91283 , p_accounting_coa_id => l_adr_accounting_coa_id
91284 , p_adr_code => 'AP_LIAB'
91285 , p_adr_type_code => 'S'
91286 , p_component_type => l_component_type
91287 , p_component_code => l_component_code
91288 , p_component_type_code => l_component_type_code
91289 , p_component_appl_id => l_component_appl_id
91290 , p_amb_context_code => l_amb_context_code
91291 , p_side => 'NA'
91292 );
91293
91294
91295 --
91296 --
91297 END IF;
91298
91299 --
91300 -- Update the line information that should be overwritten
91301 --
91302 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
91303 p_header_num => 1);
91304 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
91305
91306 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
91307
91308 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
91309 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
91310 END IF;
91311
91312 --
91313 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
91314 --
91315 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
91316 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
91317 ELSE
91318 ---------------------------------------------------------------------------------------------------
91319 -- 4262811a Switch Sign
91320 ---------------------------------------------------------------------------------------------------
91321 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
91322 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
91323 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
91324 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
91325 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
91326 -- 5132302
91327 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
91331
91328 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
91329
91330 END IF;
91332 -- 4955764
91333 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
91334 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
91335
91336
91337 XLA_AE_LINES_PKG.ValidateCurrentLine;
91338 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
91339
91340 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
91341 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
91342 ,p_balance_type_code => l_balance_type_code);
91343
91344 END IF;
91345
91346 -----------------------------------------------------------------------------------------
91347 -- 4262811 Multiperiod Accounting
91348 -----------------------------------------------------------------------------------------
91349 -- No MPA option is assigned.
91350
91351
91352 END IF;
91353 END IF;
91354 --
91355
91356 --
91357 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
91358 trace
91359 (p_msg => 'END of AcctLineType_167'
91360 ,p_level => C_LEVEL_PROCEDURE
91361 ,p_module => l_log_module);
91362 END IF;
91363 --
91364 EXCEPTION
91365 WHEN xla_exceptions_pkg.application_exception THEN
91366 RAISE;
91367 WHEN OTHERS THEN
91368 xla_exceptions_pkg.raise_message
91369 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_167');
91370 END AcctLineType_167;
91371 --
91372
91373 ---------------------------------------
91374 --
91375 -- PRIVATE FUNCTION
91376 -- AcctLineType_168
91377 --
91378 ---------------------------------------
91379 PROCEDURE AcctLineType_168 (
91380 p_application_id IN NUMBER
91381 ,p_event_id IN NUMBER
91382 ,p_calculate_acctd_flag IN VARCHAR2
91383 ,p_calculate_g_l_flag IN VARCHAR2
91384 ,p_actual_flag IN OUT VARCHAR2
91385 ,p_balance_type_code OUT VARCHAR2
91386 ,p_gain_or_loss_ref OUT VARCHAR2
91387
91388 --Invoice Distribution Description
91389 , p_source_1 IN VARCHAR2
91390 --Automatic Offsets Value
91391 , p_source_10 IN VARCHAR2
91392 , p_source_10_meaning IN VARCHAR2
91393 --Invoice Distribution Ledger Amount
91394 , p_source_16 IN NUMBER
91395 --Invoice Liability Account
91396 , p_source_29 IN NUMBER
91397 --Accounting Reversal Indicator
91398 , p_source_58 IN VARCHAR2
91399 --Distribution Link Type
91400 , p_source_60 IN VARCHAR2
91401 --Allocation to Main Distribution Identifier
91402 , p_source_62 IN NUMBER
91403 --Invoice Identifier
91404 , p_source_63 IN NUMBER
91405 --Invoice Distribution Identifier
91406 , p_source_69 IN NUMBER
91407 --Payables Encumbrance Upgrade Credit Account
91408 , p_source_70 IN NUMBER
91409 --Payables Encumbrance Upgrade Credit Amount
91410 , p_source_71 IN NUMBER
91411 --Invoice Currency Code
91412 , p_source_72 IN VARCHAR2
91413 --Payables Encumbrance Upgrade Credit Base Amount
91414 , p_source_73 IN NUMBER
91415 --Payables Encumbrance Upgrade Debit Account
91416 , p_source_74 IN NUMBER
91417 --Payables Encumbrance Upgrade Debit Amount
91418 , p_source_75 IN NUMBER
91419 --Payables Encumbrance Upgrade Debit Base Amount
91420 , p_source_76 IN NUMBER
91421 --Payables Encumbrance Upgrade Option
91422 , p_source_77 IN VARCHAR2
91423 --Invoice Distribution Amount
91424 , p_source_78 IN NUMBER
91425 --Deferred Accounting End Date
91426 , p_source_82 IN DATE
91427 --Deferred Accounting Option
91428 , p_source_83 IN VARCHAR2
91429 --Deferred Accounting Start Date
91430 , p_source_84 IN DATE
91431 --Override Accounted Amount Indicator
91432 , p_source_85 IN VARCHAR2
91433 , p_source_85_meaning IN VARCHAR2
91434 --Invoice Supplier Identifier
91435 , p_source_86 IN NUMBER
91436 --Invoice Supplier Site Identifier
91437 , p_source_87 IN NUMBER
91438 --Third Party Type
91439 , p_source_88 IN VARCHAR2
91440 --Parent Reversal Identifier
91441 , p_source_89 IN NUMBER
91442 --Invoice Distribution Statistical Amount
91443 , p_source_90 IN NUMBER
91444 --Invoice Distribution Tax Line Identifier
91445 , p_source_91 IN NUMBER
91446 --Invoice Distribution Tax Distribution Identifier from Tax
91447 , p_source_92 IN NUMBER
91448 --Invoice Distribution Summary Tax Line Identifier
91449 , p_source_93 IN NUMBER
91450 --Payables Upgrade Credit Encumbrance Type Identifier
91451 , p_source_94 IN NUMBER
91452 --Payables Upgrade Debit Encumbrance Type Identifier
91453 , p_source_95 IN NUMBER
91454 --Business Flow Accounts Payable Application Identifier
91455 , p_source_96 IN NUMBER
91456 --Business Flow Invoice Distribution Type
91457 , p_source_97 IN VARCHAR2
91458 --Business Flow Invoice Entity Code
91459 , p_source_98 IN VARCHAR2
91460 --Business Flow Invoice Distribution Identifier
91461 , p_source_99 IN NUMBER
91465 , p_source_145 IN VARCHAR2
91462 --Business Flow Invoice Identifier
91463 , p_source_100 IN NUMBER
91464 --Self-Assessed Tax Flag
91466 , p_source_145_meaning IN VARCHAR2
91467 --Invoice Exchange Date
91468 , p_source_146 IN DATE
91469 --Invoice Exchange Rate
91470 , p_source_147 IN NUMBER
91471 --Invoice Exchange Rate Type
91472 , p_source_148 IN VARCHAR2
91473 )
91474 IS
91475
91476 l_component_type VARCHAR2(80);
91477 l_component_code VARCHAR2(30);
91478 l_component_type_code VARCHAR2(1);
91479 l_component_appl_id INTEGER;
91480 l_amb_context_code VARCHAR2(30);
91481 l_entity_code VARCHAR2(30);
91482 l_event_class_code VARCHAR2(30);
91483 l_ae_header_id NUMBER;
91484 l_event_type_code VARCHAR2(30);
91485 l_line_definition_code VARCHAR2(30);
91486 l_line_definition_owner_code VARCHAR2(1);
91487 --
91488 -- adr variables
91489 l_segment VARCHAR2(30);
91490 l_ccid NUMBER;
91491 l_adr_transaction_coa_id NUMBER;
91492 l_adr_accounting_coa_id NUMBER;
91493 l_adr_flexfield_segment_code VARCHAR2(30);
91494 l_adr_flex_value_set_id NUMBER;
91495 l_adr_value_type_code VARCHAR2(30);
91496 l_adr_value_combination_id NUMBER;
91497 l_adr_value_segment_code VARCHAR2(30);
91498
91499 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
91500 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
91501 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
91502 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
91503
91504 -- 4262811 Variables ------------------------------------------------------------------------------------------
91505 l_entered_amt_idx NUMBER;
91506 l_accted_amt_idx NUMBER;
91507 l_acc_rev_flag VARCHAR2(1);
91508 l_accrual_line_num NUMBER;
91509 l_tmp_amt NUMBER;
91510 l_acc_rev_natural_side_code VARCHAR2(1);
91511
91512 l_num_entries NUMBER;
91513 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
91514 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
91515 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
91516 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
91517 l_recog_line_1 NUMBER;
91518 l_recog_line_2 NUMBER;
91519
91520 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
91521 l_bflow_applied_to_amt NUMBER; -- 5132302
91522 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
91523
91524 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
91525
91526 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
91527 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
91528
91529 ---------------------------------------------------------------------------------------------------------------
91530
91531
91532 --
91533 -- bulk performance
91534 --
91535 l_balance_type_code VARCHAR2(1);
91536 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
91537 l_log_module VARCHAR2(240);
91538
91539 --
91540 -- Upgrade strategy
91541 --
91542 l_actual_upg_option VARCHAR2(1);
91543 l_enc_upg_option VARCHAR2(1);
91544
91545 --
91546 BEGIN
91547 --
91548 IF g_log_enabled THEN
91549 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_168';
91550 END IF;
91551 --
91552 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
91553
91554 trace
91555 (p_msg => 'BEGIN of AcctLineType_168'
91556 ,p_level => C_LEVEL_PROCEDURE
91557 ,p_module => l_log_module);
91558
91559 END IF;
91560 --
91561 l_component_type := 'AMB_JLT';
91562 l_component_code := 'AP_LIAB_PREPAY_AOS_AS';
91563 l_component_type_code := 'S';
91564 l_component_appl_id := 200;
91565 l_amb_context_code := 'DEFAULT';
91566 l_entity_code := 'AP_INVOICES';
91567 l_event_class_code := 'PREPAYMENTS';
91568 l_event_type_code := 'PREPAYMENTS_ALL';
91569 l_line_definition_owner_code := 'S';
91570 l_line_definition_code := 'ACCRUAL_PREPAYMENTS_ALL';
91571 --
91572 l_balance_type_code := 'A';
91573 l_segment := NULL;
91574 l_ccid := NULL;
91575 l_adr_transaction_coa_id := NULL;
91576 l_adr_accounting_coa_id := NULL;
91577 l_adr_flexfield_segment_code := NULL;
91578 l_adr_flex_value_set_id := NULL;
91579 l_adr_value_type_code := NULL;
91580 l_adr_value_combination_id := NULL;
91581 l_adr_value_segment_code := NULL;
91582
91583 l_bflow_method_code := 'SAME_ENTRY'; -- 4219869 Business Flow
91584 l_bflow_class_code := 'AP_LIAB'; -- 4219869 Business Flow
91585 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
91586 l_budgetary_control_flag := 'N';
91587
91588 l_bflow_applied_to_amt_idx := NULL; -- 5132302
91589 l_bflow_applied_to_amt := NULL; -- 5132302
91593 l_accrual_line_num := NULL; -- 4262811
91590 l_entered_amt_idx := NULL; -- 4262811
91591 l_accted_amt_idx := NULL; -- 4262811
91592 l_acc_rev_flag := NULL; -- 4262811
91594 l_tmp_amt := NULL; -- 4262811
91595 --
91596
91597 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
91598 l_balance_type_code <> 'B' THEN
91599 IF NVL(p_source_10,'
91600 ') = 'ACCOUNT_SEGMENT_VALUE' AND
91601 NVL(p_source_145,'
91602 ') <> 'Y'
91603 THEN
91604
91605 --
91606 XLA_AE_LINES_PKG.SetNewLine;
91607
91608 p_balance_type_code := l_balance_type_code;
91609 -- set the flag so later we will know whether the gain loss line needs to be created
91610
91611 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
91612 p_actual_flag :='A';
91613 END IF;
91614
91615 --
91616 -- bulk performance
91617 --
91618 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
91619 p_header_num => 0); -- 4262811
91620 --
91621 -- set accounting line options
91622 --
91623 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
91624 p_natural_side_code => 'C'
91625 , p_gain_or_loss_flag => 'N'
91626 , p_gl_transfer_mode_code => 'S'
91627 , p_acct_entry_type_code => 'A'
91628 , p_switch_side_flag => 'Y'
91629 , p_merge_duplicate_code => 'A'
91630 );
91631 --
91632 l_acc_rev_natural_side_code := 'D'; -- 4262811
91633 --
91634 --
91635 -- set accounting line type info
91636 --
91637 xla_ae_lines_pkg.SetAcctLineType
91638 (p_component_type => l_component_type
91639 ,p_event_type_code => l_event_type_code
91640 ,p_line_definition_owner_code => l_line_definition_owner_code
91641 ,p_line_definition_code => l_line_definition_code
91642 ,p_accounting_line_code => l_component_code
91643 ,p_accounting_line_type_code => l_component_type_code
91644 ,p_accounting_line_appl_id => l_component_appl_id
91645 ,p_amb_context_code => l_amb_context_code
91646 ,p_entity_code => l_entity_code
91647 ,p_event_class_code => l_event_class_code);
91648 --
91649 -- set accounting class
91650 --
91651 xla_ae_lines_pkg.SetAcctClass(
91652 p_accounting_class_code => 'LIABILITY'
91653 , p_ae_header_id => l_ae_header_id
91654 );
91655
91656 --
91657 -- set rounding class
91658 --
91659 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
91660 'LIABILITY';
91661
91662 --
91663 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
91664 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
91665 --
91666 -- bulk performance
91667 --
91668 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
91669
91670 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
91671 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
91672
91673 -- 4955764
91674 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
91675 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
91676
91677 -- 4458381 Public Sector Enh
91678
91679 --
91680 -- set accounting attributes for the line type
91681 --
91682 l_entered_amt_idx := 23;
91683 l_accted_amt_idx := 28;
91684 l_bflow_applied_to_amt_idx := NULL; -- 5132302
91685 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
91686 l_rec_acct_attrs.array_char_value(1) := p_source_58;
91687 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
91688 l_rec_acct_attrs.array_num_value(2) :=
91689 xla_ae_sources_pkg.GetSystemSourceNum(
91690 p_source_code => 'XLA_EVENT_APPL_ID'
91691 , p_source_type_code => 'Y'
91692 , p_source_application_id => 602
91693 );
91694 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
91695 l_rec_acct_attrs.array_char_value(3) := p_source_60;
91696 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
91697 l_rec_acct_attrs.array_char_value(4) :=
91698 xla_ae_sources_pkg.GetSystemSourceChar(
91699 p_source_code => 'XLA_ENTITY_CODE'
91700 , p_source_type_code => 'Y'
91701 , p_source_application_id => 602
91702 );
91703 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
91704 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_62);
91705 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
91706 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_63);
91707 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
91708 l_rec_acct_attrs.array_num_value(7) := p_source_96;
91709 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
91710 l_rec_acct_attrs.array_char_value(8) := p_source_97;
91714 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_99);
91711 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
91712 l_rec_acct_attrs.array_char_value(9) := p_source_98;
91713 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
91715 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
91716 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_100);
91717 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
91718 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_69);
91719 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
91720 l_rec_acct_attrs.array_char_value(13) := p_source_60;
91721 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
91722 l_rec_acct_attrs.array_num_value(14) := p_source_70;
91723 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
91724 l_rec_acct_attrs.array_num_value(15) := p_source_71;
91725 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
91726 l_rec_acct_attrs.array_char_value(16) := p_source_72;
91727 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
91728 l_rec_acct_attrs.array_num_value(17) := p_source_73;
91729 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
91730 l_rec_acct_attrs.array_num_value(18) := p_source_74;
91731 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
91732 l_rec_acct_attrs.array_num_value(19) := p_source_75;
91733 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
91734 l_rec_acct_attrs.array_char_value(20) := p_source_72;
91735 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
91736 l_rec_acct_attrs.array_num_value(21) := p_source_76;
91737 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
91738 l_rec_acct_attrs.array_char_value(22) := p_source_77;
91739 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
91740 l_rec_acct_attrs.array_num_value(23) := p_source_78;
91741 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
91742 l_rec_acct_attrs.array_char_value(24) := p_source_72;
91743 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
91744 l_rec_acct_attrs.array_date_value(25) := p_source_146;
91745 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
91746 l_rec_acct_attrs.array_num_value(26) := p_source_147;
91747 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
91748 l_rec_acct_attrs.array_char_value(27) := p_source_148;
91749 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
91750 l_rec_acct_attrs.array_num_value(28) := p_source_16;
91751 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
91752 l_rec_acct_attrs.array_date_value(29) := p_source_82;
91753 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
91754 l_rec_acct_attrs.array_char_value(30) := p_source_83;
91755 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
91756 l_rec_acct_attrs.array_date_value(31) := p_source_84;
91757 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
91758 l_rec_acct_attrs.array_char_value(32) := p_source_85;
91759 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
91760 l_rec_acct_attrs.array_num_value(33) := p_source_86;
91761 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
91762 l_rec_acct_attrs.array_num_value(34) := p_source_87;
91763 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
91764 l_rec_acct_attrs.array_char_value(35) := p_source_88;
91765 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
91766 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_89);
91767 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
91768 l_rec_acct_attrs.array_char_value(37) := p_source_60;
91769 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
91770 l_rec_acct_attrs.array_num_value(38) := p_source_90;
91771 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
91772 l_rec_acct_attrs.array_num_value(39) := p_source_91;
91773 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
91774 l_rec_acct_attrs.array_num_value(40) := p_source_92;
91775 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
91776 l_rec_acct_attrs.array_num_value(41) := p_source_93;
91777 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
91778 l_rec_acct_attrs.array_num_value(42) := p_source_94;
91779 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
91780 l_rec_acct_attrs.array_num_value(43) := p_source_95;
91781
91782 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
91783 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
91784
91785 ---------------------------------------------------------------------------------------------------------------
91786 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
91787 ---------------------------------------------------------------------------------------------------------------
91788 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
91789
91790 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
91791 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
91792
91793 IF xla_accounting_cache_pkg.GetValueChar
91794 (p_source_code => 'LEDGER_CATEGORY_CODE'
91798 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
91795 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
91796 AND l_bflow_method_code = 'PRIOR_ENTRY'
91797 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
91799 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
91800 )
91801 THEN
91802 xla_ae_lines_pkg.BflowUpgEntry
91803 (p_business_method_code => l_bflow_method_code
91804 ,p_business_class_code => l_bflow_class_code
91805 ,p_balance_type => l_balance_type_code);
91806 ELSE
91807 NULL;
91808 XLA_AE_LINES_PKG.business_flow_validation(
91809 p_business_method_code => l_bflow_method_code
91810 ,p_business_class_code => l_bflow_class_code
91811 ,p_inherit_description_flag => l_inherit_desc_flag);
91812 END IF;
91813
91814 --
91815 -- call analytical criteria
91816 --
91817
91818 --
91819 -- call description
91820 --
91821
91822 xla_ae_lines_pkg.SetLineDescription(
91823 p_ae_header_id => l_ae_header_id
91824 ,p_description => Description_2 (
91825 p_application_id => p_application_id
91826 , p_ae_header_id => l_ae_header_id
91827 , p_source_1 => p_source_1
91828 )
91829 );
91830
91831
91832 --
91833 -- call ADRs
91834 -- Bug 4922099
91835 --
91836 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
91837 (NVL(l_actual_upg_option, 'N') = 'O') OR
91838 (NVL(l_enc_upg_option, 'N') = 'O')
91839 )
91840 THEN
91841 NULL;
91842 --
91843 --
91844
91845 xla_ae_lines_pkg.Set_Ccid( -- replaced SetCcid
91846 p_code_combination_id => TO_NUMBER(C_NUM)
91847 , p_value_type_code => NULL
91848 , p_transaction_coa_id => null
91849 , p_accounting_coa_id => null
91850 , p_adr_code => NULL
91851 , p_adr_type_code => NULL
91852 , p_component_type => l_component_type
91853 , p_component_code => l_component_code
91854 , p_component_type_code => l_component_type_code
91855 , p_component_appl_id => l_component_appl_id
91856 , p_amb_context_code => l_amb_context_code
91857 , p_side => NULL
91858 );
91859
91860
91861 -- initialise segments
91862 XLA_AE_LINES_PKG.g_rec_lines.array_segment1(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
91863 XLA_AE_LINES_PKG.g_rec_lines.array_segment2(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
91864 XLA_AE_LINES_PKG.g_rec_lines.array_segment3(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
91865 XLA_AE_LINES_PKG.g_rec_lines.array_segment4(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
91866 XLA_AE_LINES_PKG.g_rec_lines.array_segment5(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
91867 XLA_AE_LINES_PKG.g_rec_lines.array_segment6(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
91868 XLA_AE_LINES_PKG.g_rec_lines.array_segment7(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
91869 XLA_AE_LINES_PKG.g_rec_lines.array_segment8(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
91870 XLA_AE_LINES_PKG.g_rec_lines.array_segment9(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
91871 XLA_AE_LINES_PKG.g_rec_lines.array_segment10(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
91872 XLA_AE_LINES_PKG.g_rec_lines.array_segment11(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
91873 XLA_AE_LINES_PKG.g_rec_lines.array_segment12(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
91874 XLA_AE_LINES_PKG.g_rec_lines.array_segment13(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
91875 XLA_AE_LINES_PKG.g_rec_lines.array_segment14(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
91876 XLA_AE_LINES_PKG.g_rec_lines.array_segment15(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
91877 XLA_AE_LINES_PKG.g_rec_lines.array_segment16(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
91878 XLA_AE_LINES_PKG.g_rec_lines.array_segment17(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
91879 XLA_AE_LINES_PKG.g_rec_lines.array_segment18(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
91880 XLA_AE_LINES_PKG.g_rec_lines.array_segment19(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
91881 XLA_AE_LINES_PKG.g_rec_lines.array_segment20(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
91882 XLA_AE_LINES_PKG.g_rec_lines.array_segment21(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
91883 XLA_AE_LINES_PKG.g_rec_lines.array_segment22(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
91884 XLA_AE_LINES_PKG.g_rec_lines.array_segment23(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
91885 XLA_AE_LINES_PKG.g_rec_lines.array_segment24(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
91886 XLA_AE_LINES_PKG.g_rec_lines.array_segment25(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
91887 XLA_AE_LINES_PKG.g_rec_lines.array_segment26(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
91888 XLA_AE_LINES_PKG.g_rec_lines.array_segment27(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
91889 XLA_AE_LINES_PKG.g_rec_lines.array_segment28(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
91890 XLA_AE_LINES_PKG.g_rec_lines.array_segment29(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
91891 XLA_AE_LINES_PKG.g_rec_lines.array_segment30(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
91892 --
91893
91894 --
91895
91896
91897 l_segment := AcctDerRule_15(
91898 p_application_id => p_application_id
91899 , p_ae_header_id => l_ae_header_id
91900 , p_source_29 => p_source_29
91901 , x_transaction_coa_id => l_adr_transaction_coa_id
91905 , x_value_type_code => l_adr_value_type_code
91902 , x_accounting_coa_id => l_adr_accounting_coa_id
91903 , x_flexfield_segment_code => l_adr_flexfield_segment_code
91904 , x_flex_value_set_id => l_adr_flex_value_set_id
91906 , x_value_combination_id => l_adr_value_combination_id
91907 , x_value_segment_code => l_adr_value_segment_code
91908 , p_side => 'NA'
91909 , p_override_seg_flag => 'Y'
91910 );
91911
91912 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
91913
91914 xla_ae_lines_pkg.set_segment(
91915 p_to_segment_code => 'GL_ACCOUNT'
91916 , p_segment_value => l_segment
91917 , p_from_segment_code => l_adr_value_segment_code
91918 , p_from_combination_id => l_adr_value_combination_id
91919 , p_value_type_code => l_adr_value_type_code
91920 , p_transaction_coa_id => l_adr_transaction_coa_id
91921 , p_accounting_coa_id => l_adr_accounting_coa_id
91922 , p_flexfield_segment_code => l_adr_flexfield_segment_code
91923 , p_flex_value_set_id => l_adr_flex_value_set_id
91924 , p_adr_code => 'AP_LIAB_NAT_ACCT_SEG'
91925 , p_adr_type_code => 'S'
91926 , p_component_type => l_component_type
91927 , p_component_code => l_component_code
91928 , p_component_type_code => l_component_type_code
91929 , p_component_appl_id => l_component_appl_id
91930 , p_amb_context_code => l_amb_context_code
91931 , p_entity_code => 'AP_INVOICES'
91932 , p_event_class_code => 'PREPAYMENTS'
91933 , p_side => 'NA'
91934 );
91935
91936 END IF;
91937
91938 --
91939 --
91940 END IF;
91941 --
91942 -- Bug 4922099
91943 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
91944 (NVL(l_enc_upg_option, 'N') = 'O')
91945 ) AND
91946 (l_bflow_method_code = 'PRIOR_ENTRY')
91947 )
91948 THEN
91949 IF
91950 --
91951 1 = 2
91952 --
91953 THEN
91954 xla_accounting_err_pkg.build_message
91955 (p_appli_s_name => 'XLA'
91956 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
91957 ,p_token_1 => 'LINE_NUMBER'
91958 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
91959 ,p_token_2 => 'LINE_TYPE_NAME'
91960 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
91961 l_component_type
91962 ,l_component_code
91963 ,l_component_type_code
91964 ,l_component_appl_id
91965 ,l_amb_context_code
91966 ,l_entity_code
91967 ,l_event_class_code
91968 )
91969 ,p_token_3 => 'OWNER'
91970 ,p_value_3 => xla_lookups_pkg.get_meaning(
91971 p_lookup_type => 'XLA_OWNER_TYPE'
91972 ,p_lookup_code => l_component_type_code
91973 )
91974 ,p_token_4 => 'PRODUCT_NAME'
91975 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
91976 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
91977 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
91978 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
91979 ,p_ae_header_id => NULL
91980 );
91981
91982 IF (C_LEVEL_ERROR>= g_log_level) THEN
91983 trace
91984 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
91985 ,p_level => C_LEVEL_ERROR
91986 ,p_module => l_log_module);
91987 END IF;
91988 END IF;
91989 END IF;
91990 --
91991 --
91992 ------------------------------------------------------------------------------------------------
91993 -- 4219869 Business Flow
91994 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
91995 -- Prior Entry. Currently, the following code is always generated.
91996 ------------------------------------------------------------------------------------------------
91997 XLA_AE_LINES_PKG.ValidateCurrentLine;
91998
91999 ------------------------------------------------------------------------------------
92003 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
92000 -- 4219869 Business Flow
92001 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
92002 ------------------------------------------------------------------------------------
92004
92005 ----------------------------------------------------------------------------------
92006 -- 4219869 Business Flow
92007 -- Update journal entry status -- Need to generate this within IF <condition>
92008 ----------------------------------------------------------------------------------
92009 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
92010 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
92011 ,p_balance_type_code => l_balance_type_code
92012 );
92013
92014 -------------------------------------------------------------------------------------------
92015 -- 4262811 - Generate the Accrual Reversal lines
92016 -------------------------------------------------------------------------------------------
92017 BEGIN
92018 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
92019 (g_array_event(p_event_id).array_value_num('header_index'));
92020 IF l_acc_rev_flag IS NULL THEN
92021 l_acc_rev_flag := 'N';
92022 END IF;
92023 EXCEPTION
92024 WHEN OTHERS THEN
92025 l_acc_rev_flag := 'N';
92026 END;
92027 --
92028 IF (l_acc_rev_flag = 'Y') THEN
92029
92030 -- 4645092 ------------------------------------------------------------------------------
92031 -- To allow MPA report to determine if it should generate report process
92032 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
92033 ------------------------------------------------------------------------------------------
92034
92035 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
92036 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
92037 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
92038 -- call ADRs
92039 -- Bug 4922099
92040 --
92041 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
92042 (NVL(l_actual_upg_option, 'N') = 'O') OR
92043 (NVL(l_enc_upg_option, 'N') = 'O')
92044 )
92045 THEN
92046 NULL;
92047 --
92048 --
92049
92050 xla_ae_lines_pkg.Set_Ccid( -- replaced SetCcid
92051 p_code_combination_id => TO_NUMBER(C_NUM)
92052 , p_value_type_code => NULL
92053 , p_transaction_coa_id => null
92054 , p_accounting_coa_id => null
92055 , p_adr_code => NULL
92056 , p_adr_type_code => NULL
92057 , p_component_type => l_component_type
92058 , p_component_code => l_component_code
92059 , p_component_type_code => l_component_type_code
92060 , p_component_appl_id => l_component_appl_id
92061 , p_amb_context_code => l_amb_context_code
92062 , p_side => NULL
92063 );
92064
92065
92066 -- initialise segments
92067 XLA_AE_LINES_PKG.g_rec_lines.array_segment1(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
92068 XLA_AE_LINES_PKG.g_rec_lines.array_segment2(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
92069 XLA_AE_LINES_PKG.g_rec_lines.array_segment3(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
92070 XLA_AE_LINES_PKG.g_rec_lines.array_segment4(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
92071 XLA_AE_LINES_PKG.g_rec_lines.array_segment5(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
92072 XLA_AE_LINES_PKG.g_rec_lines.array_segment6(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
92073 XLA_AE_LINES_PKG.g_rec_lines.array_segment7(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
92074 XLA_AE_LINES_PKG.g_rec_lines.array_segment8(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
92075 XLA_AE_LINES_PKG.g_rec_lines.array_segment9(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
92076 XLA_AE_LINES_PKG.g_rec_lines.array_segment10(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
92077 XLA_AE_LINES_PKG.g_rec_lines.array_segment11(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
92078 XLA_AE_LINES_PKG.g_rec_lines.array_segment12(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
92079 XLA_AE_LINES_PKG.g_rec_lines.array_segment13(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
92080 XLA_AE_LINES_PKG.g_rec_lines.array_segment14(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
92081 XLA_AE_LINES_PKG.g_rec_lines.array_segment15(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
92082 XLA_AE_LINES_PKG.g_rec_lines.array_segment16(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
92083 XLA_AE_LINES_PKG.g_rec_lines.array_segment17(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
92084 XLA_AE_LINES_PKG.g_rec_lines.array_segment18(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
92085 XLA_AE_LINES_PKG.g_rec_lines.array_segment19(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
92086 XLA_AE_LINES_PKG.g_rec_lines.array_segment20(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
92087 XLA_AE_LINES_PKG.g_rec_lines.array_segment21(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
92088 XLA_AE_LINES_PKG.g_rec_lines.array_segment22(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
92089 XLA_AE_LINES_PKG.g_rec_lines.array_segment23(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
92090 XLA_AE_LINES_PKG.g_rec_lines.array_segment24(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
92091 XLA_AE_LINES_PKG.g_rec_lines.array_segment25(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
92092 XLA_AE_LINES_PKG.g_rec_lines.array_segment26(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
92096 XLA_AE_LINES_PKG.g_rec_lines.array_segment30(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
92093 XLA_AE_LINES_PKG.g_rec_lines.array_segment27(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
92094 XLA_AE_LINES_PKG.g_rec_lines.array_segment28(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
92095 XLA_AE_LINES_PKG.g_rec_lines.array_segment29(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
92097 --
92098
92099 --
92100
92101
92102 l_segment := AcctDerRule_15(
92103 p_application_id => p_application_id
92104 , p_ae_header_id => l_ae_header_id
92105 , p_source_29 => p_source_29
92106 , x_transaction_coa_id => l_adr_transaction_coa_id
92107 , x_accounting_coa_id => l_adr_accounting_coa_id
92108 , x_flexfield_segment_code => l_adr_flexfield_segment_code
92109 , x_flex_value_set_id => l_adr_flex_value_set_id
92110 , x_value_type_code => l_adr_value_type_code
92111 , x_value_combination_id => l_adr_value_combination_id
92112 , x_value_segment_code => l_adr_value_segment_code
92113 , p_side => 'NA'
92114 , p_override_seg_flag => 'Y'
92115 );
92116
92117 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
92118
92119 xla_ae_lines_pkg.set_segment(
92120 p_to_segment_code => 'GL_ACCOUNT'
92121 , p_segment_value => l_segment
92122 , p_from_segment_code => l_adr_value_segment_code
92123 , p_from_combination_id => l_adr_value_combination_id
92124 , p_value_type_code => l_adr_value_type_code
92125 , p_transaction_coa_id => l_adr_transaction_coa_id
92126 , p_accounting_coa_id => l_adr_accounting_coa_id
92127 , p_flexfield_segment_code => l_adr_flexfield_segment_code
92128 , p_flex_value_set_id => l_adr_flex_value_set_id
92129 , p_adr_code => 'AP_LIAB_NAT_ACCT_SEG'
92130 , p_adr_type_code => 'S'
92131 , p_component_type => l_component_type
92132 , p_component_code => l_component_code
92133 , p_component_type_code => l_component_type_code
92134 , p_component_appl_id => l_component_appl_id
92135 , p_amb_context_code => l_amb_context_code
92136 , p_entity_code => 'AP_INVOICES'
92137 , p_event_class_code => 'PREPAYMENTS'
92138 , p_side => 'NA'
92139 );
92140
92141 END IF;
92142
92143 --
92144 --
92145 END IF;
92146
92147 --
92148 -- Update the line information that should be overwritten
92149 --
92150 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
92151 p_header_num => 1);
92152 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
92153
92154 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
92155
92156 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
92157 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
92158 END IF;
92159
92160 --
92161 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
92162 --
92163 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
92164 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
92165 ELSE
92166 ---------------------------------------------------------------------------------------------------
92167 -- 4262811a Switch Sign
92168 ---------------------------------------------------------------------------------------------------
92169 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
92170 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
92171 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
92172 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
92173 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
92174 -- 5132302
92175 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
92176 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
92177
92178 END IF;
92179
92180 -- 4955764
92181 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
92182 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
92183
92184
92185 XLA_AE_LINES_PKG.ValidateCurrentLine;
92186 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
92187
92188 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
92189 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
92190 ,p_balance_type_code => l_balance_type_code);
92191
92192 END IF;
92193
92194 -----------------------------------------------------------------------------------------
92195 -- 4262811 Multiperiod Accounting
92199
92196 -----------------------------------------------------------------------------------------
92197 -- No MPA option is assigned.
92198
92200 END IF;
92201 END IF;
92202 --
92203
92204 --
92205 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
92206 trace
92207 (p_msg => 'END of AcctLineType_168'
92208 ,p_level => C_LEVEL_PROCEDURE
92209 ,p_module => l_log_module);
92210 END IF;
92211 --
92212 EXCEPTION
92213 WHEN xla_exceptions_pkg.application_exception THEN
92214 RAISE;
92215 WHEN OTHERS THEN
92216 xla_exceptions_pkg.raise_message
92217 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_168');
92218 END AcctLineType_168;
92219 --
92220
92221 ---------------------------------------
92222 --
92223 -- PRIVATE FUNCTION
92224 -- AcctLineType_169
92225 --
92226 ---------------------------------------
92227 PROCEDURE AcctLineType_169 (
92228 p_application_id IN NUMBER
92229 ,p_event_id IN NUMBER
92230 ,p_calculate_acctd_flag IN VARCHAR2
92231 ,p_calculate_g_l_flag IN VARCHAR2
92232 ,p_actual_flag IN OUT VARCHAR2
92233 ,p_balance_type_code OUT VARCHAR2
92234 ,p_gain_or_loss_ref OUT VARCHAR2
92235
92236 --Invoice Distribution Description
92237 , p_source_1 IN VARCHAR2
92238 --Automatic Offsets Value
92239 , p_source_10 IN VARCHAR2
92240 , p_source_10_meaning IN VARCHAR2
92241 --Invoice Distribution Ledger Amount
92242 , p_source_16 IN NUMBER
92243 --Invoice Liability Account
92244 , p_source_29 IN NUMBER
92245 --Accounting Reversal Indicator
92246 , p_source_58 IN VARCHAR2
92247 --Distribution Link Type
92248 , p_source_60 IN VARCHAR2
92249 --Allocation to Main Distribution Identifier
92250 , p_source_62 IN NUMBER
92251 --Invoice Identifier
92252 , p_source_63 IN NUMBER
92253 --Invoice Distribution Identifier
92254 , p_source_69 IN NUMBER
92255 --Payables Encumbrance Upgrade Credit Account
92256 , p_source_70 IN NUMBER
92257 --Payables Encumbrance Upgrade Credit Amount
92258 , p_source_71 IN NUMBER
92259 --Invoice Currency Code
92260 , p_source_72 IN VARCHAR2
92261 --Payables Encumbrance Upgrade Credit Base Amount
92262 , p_source_73 IN NUMBER
92263 --Payables Encumbrance Upgrade Debit Account
92264 , p_source_74 IN NUMBER
92265 --Payables Encumbrance Upgrade Debit Amount
92266 , p_source_75 IN NUMBER
92267 --Payables Encumbrance Upgrade Debit Base Amount
92268 , p_source_76 IN NUMBER
92269 --Payables Encumbrance Upgrade Option
92270 , p_source_77 IN VARCHAR2
92271 --Invoice Distribution Amount
92272 , p_source_78 IN NUMBER
92273 --Deferred Accounting End Date
92274 , p_source_82 IN DATE
92275 --Deferred Accounting Option
92276 , p_source_83 IN VARCHAR2
92277 --Deferred Accounting Start Date
92278 , p_source_84 IN DATE
92279 --Override Accounted Amount Indicator
92280 , p_source_85 IN VARCHAR2
92281 , p_source_85_meaning IN VARCHAR2
92282 --Invoice Supplier Identifier
92283 , p_source_86 IN NUMBER
92284 --Invoice Supplier Site Identifier
92285 , p_source_87 IN NUMBER
92286 --Third Party Type
92287 , p_source_88 IN VARCHAR2
92288 --Parent Reversal Identifier
92289 , p_source_89 IN NUMBER
92290 --Invoice Distribution Statistical Amount
92291 , p_source_90 IN NUMBER
92292 --Invoice Distribution Tax Line Identifier
92293 , p_source_91 IN NUMBER
92294 --Invoice Distribution Tax Distribution Identifier from Tax
92295 , p_source_92 IN NUMBER
92296 --Invoice Distribution Summary Tax Line Identifier
92297 , p_source_93 IN NUMBER
92298 --Payables Upgrade Credit Encumbrance Type Identifier
92299 , p_source_94 IN NUMBER
92300 --Payables Upgrade Debit Encumbrance Type Identifier
92301 , p_source_95 IN NUMBER
92302 --Business Flow Accounts Payable Application Identifier
92303 , p_source_96 IN NUMBER
92304 --Business Flow Invoice Distribution Type
92305 , p_source_97 IN VARCHAR2
92306 --Business Flow Invoice Entity Code
92307 , p_source_98 IN VARCHAR2
92308 --Business Flow Invoice Distribution Identifier
92309 , p_source_99 IN NUMBER
92310 --Business Flow Invoice Identifier
92311 , p_source_100 IN NUMBER
92312 --Self-Assessed Tax Flag
92313 , p_source_145 IN VARCHAR2
92314 , p_source_145_meaning IN VARCHAR2
92315 --Invoice Exchange Date
92316 , p_source_146 IN DATE
92317 --Invoice Exchange Rate
92318 , p_source_147 IN NUMBER
92319 --Invoice Exchange Rate Type
92320 , p_source_148 IN VARCHAR2
92321 )
92322 IS
92323
92324 l_component_type VARCHAR2(80);
92325 l_component_code VARCHAR2(30);
92326 l_component_type_code VARCHAR2(1);
92327 l_component_appl_id INTEGER;
92328 l_amb_context_code VARCHAR2(30);
92329 l_entity_code VARCHAR2(30);
92330 l_event_class_code VARCHAR2(30);
92331 l_ae_header_id NUMBER;
92332 l_event_type_code VARCHAR2(30);
92333 l_line_definition_code VARCHAR2(30);
92337 l_segment VARCHAR2(30);
92334 l_line_definition_owner_code VARCHAR2(1);
92335 --
92336 -- adr variables
92338 l_ccid NUMBER;
92339 l_adr_transaction_coa_id NUMBER;
92340 l_adr_accounting_coa_id NUMBER;
92341 l_adr_flexfield_segment_code VARCHAR2(30);
92342 l_adr_flex_value_set_id NUMBER;
92343 l_adr_value_type_code VARCHAR2(30);
92344 l_adr_value_combination_id NUMBER;
92345 l_adr_value_segment_code VARCHAR2(30);
92346
92347 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
92348 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
92349 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
92350 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
92351
92352 -- 4262811 Variables ------------------------------------------------------------------------------------------
92353 l_entered_amt_idx NUMBER;
92354 l_accted_amt_idx NUMBER;
92355 l_acc_rev_flag VARCHAR2(1);
92356 l_accrual_line_num NUMBER;
92357 l_tmp_amt NUMBER;
92358 l_acc_rev_natural_side_code VARCHAR2(1);
92359
92360 l_num_entries NUMBER;
92361 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
92362 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
92363 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
92364 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
92365 l_recog_line_1 NUMBER;
92366 l_recog_line_2 NUMBER;
92367
92368 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
92369 l_bflow_applied_to_amt NUMBER; -- 5132302
92370 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
92371
92372 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
92373
92374 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
92375 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
92376
92377 ---------------------------------------------------------------------------------------------------------------
92378
92379
92380 --
92381 -- bulk performance
92382 --
92383 l_balance_type_code VARCHAR2(1);
92384 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
92385 l_log_module VARCHAR2(240);
92386
92387 --
92388 -- Upgrade strategy
92389 --
92390 l_actual_upg_option VARCHAR2(1);
92391 l_enc_upg_option VARCHAR2(1);
92392
92393 --
92394 BEGIN
92395 --
92396 IF g_log_enabled THEN
92397 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_169';
92398 END IF;
92399 --
92400 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
92401
92402 trace
92403 (p_msg => 'BEGIN of AcctLineType_169'
92404 ,p_level => C_LEVEL_PROCEDURE
92405 ,p_module => l_log_module);
92406
92407 END IF;
92408 --
92409 l_component_type := 'AMB_JLT';
92410 l_component_code := 'AP_LIAB_PREPAY_AOS_BS';
92411 l_component_type_code := 'S';
92412 l_component_appl_id := 200;
92413 l_amb_context_code := 'DEFAULT';
92414 l_entity_code := 'AP_INVOICES';
92415 l_event_class_code := 'PREPAYMENTS';
92416 l_event_type_code := 'PREPAYMENTS_ALL';
92417 l_line_definition_owner_code := 'S';
92418 l_line_definition_code := 'ACCRUAL_PREPAYMENTS_ALL';
92419 --
92420 l_balance_type_code := 'A';
92421 l_segment := NULL;
92422 l_ccid := NULL;
92423 l_adr_transaction_coa_id := NULL;
92424 l_adr_accounting_coa_id := NULL;
92425 l_adr_flexfield_segment_code := NULL;
92426 l_adr_flex_value_set_id := NULL;
92427 l_adr_value_type_code := NULL;
92428 l_adr_value_combination_id := NULL;
92429 l_adr_value_segment_code := NULL;
92430
92431 l_bflow_method_code := 'SAME_ENTRY'; -- 4219869 Business Flow
92432 l_bflow_class_code := 'AP_LIAB'; -- 4219869 Business Flow
92433 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
92434 l_budgetary_control_flag := 'N';
92435
92436 l_bflow_applied_to_amt_idx := NULL; -- 5132302
92437 l_bflow_applied_to_amt := NULL; -- 5132302
92438 l_entered_amt_idx := NULL; -- 4262811
92439 l_accted_amt_idx := NULL; -- 4262811
92440 l_acc_rev_flag := NULL; -- 4262811
92441 l_accrual_line_num := NULL; -- 4262811
92442 l_tmp_amt := NULL; -- 4262811
92443 --
92444
92445 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
92446 l_balance_type_code <> 'B' THEN
92447 IF NVL(p_source_10,'
92448 ') = 'BALANCING_SEGMENT' AND
92449 NVL(p_source_145,'
92450 ') <> 'Y'
92451 THEN
92452
92453 --
92454 XLA_AE_LINES_PKG.SetNewLine;
92455
92456 p_balance_type_code := l_balance_type_code;
92457 -- set the flag so later we will know whether the gain loss line needs to be created
92458
92459 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
92460 p_actual_flag :='A';
92461 END IF;
92462
92463 --
92464 -- bulk performance
92465 --
92469 -- set accounting line options
92466 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
92467 p_header_num => 0); -- 4262811
92468 --
92470 --
92471 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
92472 p_natural_side_code => 'C'
92473 , p_gain_or_loss_flag => 'N'
92474 , p_gl_transfer_mode_code => 'S'
92475 , p_acct_entry_type_code => 'A'
92476 , p_switch_side_flag => 'Y'
92477 , p_merge_duplicate_code => 'A'
92478 );
92479 --
92480 l_acc_rev_natural_side_code := 'D'; -- 4262811
92481 --
92482 --
92483 -- set accounting line type info
92484 --
92485 xla_ae_lines_pkg.SetAcctLineType
92486 (p_component_type => l_component_type
92487 ,p_event_type_code => l_event_type_code
92488 ,p_line_definition_owner_code => l_line_definition_owner_code
92489 ,p_line_definition_code => l_line_definition_code
92490 ,p_accounting_line_code => l_component_code
92491 ,p_accounting_line_type_code => l_component_type_code
92492 ,p_accounting_line_appl_id => l_component_appl_id
92493 ,p_amb_context_code => l_amb_context_code
92494 ,p_entity_code => l_entity_code
92495 ,p_event_class_code => l_event_class_code);
92496 --
92497 -- set accounting class
92498 --
92499 xla_ae_lines_pkg.SetAcctClass(
92500 p_accounting_class_code => 'LIABILITY'
92501 , p_ae_header_id => l_ae_header_id
92502 );
92503
92504 --
92505 -- set rounding class
92506 --
92507 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
92508 'LIABILITY';
92509
92510 --
92511 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
92512 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
92513 --
92514 -- bulk performance
92515 --
92516 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
92517
92518 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
92519 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
92520
92521 -- 4955764
92522 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
92523 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
92524
92525 -- 4458381 Public Sector Enh
92526
92527 --
92528 -- set accounting attributes for the line type
92529 --
92530 l_entered_amt_idx := 23;
92531 l_accted_amt_idx := 28;
92532 l_bflow_applied_to_amt_idx := NULL; -- 5132302
92533 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
92534 l_rec_acct_attrs.array_char_value(1) := p_source_58;
92535 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
92536 l_rec_acct_attrs.array_num_value(2) :=
92537 xla_ae_sources_pkg.GetSystemSourceNum(
92538 p_source_code => 'XLA_EVENT_APPL_ID'
92539 , p_source_type_code => 'Y'
92540 , p_source_application_id => 602
92541 );
92542 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
92543 l_rec_acct_attrs.array_char_value(3) := p_source_60;
92544 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
92545 l_rec_acct_attrs.array_char_value(4) :=
92546 xla_ae_sources_pkg.GetSystemSourceChar(
92547 p_source_code => 'XLA_ENTITY_CODE'
92548 , p_source_type_code => 'Y'
92549 , p_source_application_id => 602
92550 );
92551 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
92552 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_62);
92553 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
92554 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_63);
92555 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
92556 l_rec_acct_attrs.array_num_value(7) := p_source_96;
92557 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
92558 l_rec_acct_attrs.array_char_value(8) := p_source_97;
92559 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
92560 l_rec_acct_attrs.array_char_value(9) := p_source_98;
92561 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
92562 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_99);
92563 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
92564 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_100);
92565 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
92566 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_69);
92567 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
92568 l_rec_acct_attrs.array_char_value(13) := p_source_60;
92569 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
92570 l_rec_acct_attrs.array_num_value(14) := p_source_70;
92571 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
92572 l_rec_acct_attrs.array_num_value(15) := p_source_71;
92573 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
92574 l_rec_acct_attrs.array_char_value(16) := p_source_72;
92575 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
92579 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
92576 l_rec_acct_attrs.array_num_value(17) := p_source_73;
92577 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
92578 l_rec_acct_attrs.array_num_value(18) := p_source_74;
92580 l_rec_acct_attrs.array_num_value(19) := p_source_75;
92581 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
92582 l_rec_acct_attrs.array_char_value(20) := p_source_72;
92583 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
92584 l_rec_acct_attrs.array_num_value(21) := p_source_76;
92585 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
92586 l_rec_acct_attrs.array_char_value(22) := p_source_77;
92587 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
92588 l_rec_acct_attrs.array_num_value(23) := p_source_78;
92589 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
92590 l_rec_acct_attrs.array_char_value(24) := p_source_72;
92591 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
92592 l_rec_acct_attrs.array_date_value(25) := p_source_146;
92593 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
92594 l_rec_acct_attrs.array_num_value(26) := p_source_147;
92595 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
92596 l_rec_acct_attrs.array_char_value(27) := p_source_148;
92597 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
92598 l_rec_acct_attrs.array_num_value(28) := p_source_16;
92599 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
92600 l_rec_acct_attrs.array_date_value(29) := p_source_82;
92601 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
92602 l_rec_acct_attrs.array_char_value(30) := p_source_83;
92603 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
92604 l_rec_acct_attrs.array_date_value(31) := p_source_84;
92605 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
92606 l_rec_acct_attrs.array_char_value(32) := p_source_85;
92607 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
92608 l_rec_acct_attrs.array_num_value(33) := p_source_86;
92609 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
92610 l_rec_acct_attrs.array_num_value(34) := p_source_87;
92611 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
92612 l_rec_acct_attrs.array_char_value(35) := p_source_88;
92613 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
92614 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_89);
92615 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
92616 l_rec_acct_attrs.array_char_value(37) := p_source_60;
92617 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
92618 l_rec_acct_attrs.array_num_value(38) := p_source_90;
92619 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
92620 l_rec_acct_attrs.array_num_value(39) := p_source_91;
92621 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
92622 l_rec_acct_attrs.array_num_value(40) := p_source_92;
92623 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
92624 l_rec_acct_attrs.array_num_value(41) := p_source_93;
92625 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
92626 l_rec_acct_attrs.array_num_value(42) := p_source_94;
92627 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
92628 l_rec_acct_attrs.array_num_value(43) := p_source_95;
92629
92630 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
92631 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
92632
92633 ---------------------------------------------------------------------------------------------------------------
92634 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
92635 ---------------------------------------------------------------------------------------------------------------
92636 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
92637
92638 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
92639 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
92640
92641 IF xla_accounting_cache_pkg.GetValueChar
92642 (p_source_code => 'LEDGER_CATEGORY_CODE'
92643 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
92644 AND l_bflow_method_code = 'PRIOR_ENTRY'
92645 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
92646 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
92647 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
92648 )
92649 THEN
92650 xla_ae_lines_pkg.BflowUpgEntry
92651 (p_business_method_code => l_bflow_method_code
92652 ,p_business_class_code => l_bflow_class_code
92653 ,p_balance_type => l_balance_type_code);
92654 ELSE
92655 NULL;
92656 XLA_AE_LINES_PKG.business_flow_validation(
92657 p_business_method_code => l_bflow_method_code
92658 ,p_business_class_code => l_bflow_class_code
92659 ,p_inherit_description_flag => l_inherit_desc_flag);
92660 END IF;
92661
92662 --
92663 -- call analytical criteria
92664 --
92665
92666 --
92670 xla_ae_lines_pkg.SetLineDescription(
92667 -- call description
92668 --
92669
92671 p_ae_header_id => l_ae_header_id
92672 ,p_description => Description_2 (
92673 p_application_id => p_application_id
92674 , p_ae_header_id => l_ae_header_id
92675 , p_source_1 => p_source_1
92676 )
92677 );
92678
92679
92680 --
92681 -- call ADRs
92682 -- Bug 4922099
92683 --
92684 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
92685 (NVL(l_actual_upg_option, 'N') = 'O') OR
92686 (NVL(l_enc_upg_option, 'N') = 'O')
92687 )
92688 THEN
92689 NULL;
92690 --
92691 --
92692
92693 l_ccid := AcctDerRule_36(
92694 p_application_id => p_application_id
92695 , p_ae_header_id => l_ae_header_id
92696 , p_source_29 => p_source_29
92697 , x_transaction_coa_id => l_adr_transaction_coa_id
92698 , x_accounting_coa_id => l_adr_accounting_coa_id
92699 , x_value_type_code => l_adr_value_type_code
92700 , p_side => 'NA'
92701 );
92702
92703 xla_ae_lines_pkg.set_ccid(
92704 p_code_combination_id => l_ccid
92705 , p_value_type_code => l_adr_value_type_code
92706 , p_transaction_coa_id => l_adr_transaction_coa_id
92707 , p_accounting_coa_id => l_adr_accounting_coa_id
92708 , p_adr_code => 'AP_LIAB'
92709 , p_adr_type_code => 'S'
92710 , p_component_type => l_component_type
92711 , p_component_code => l_component_code
92712 , p_component_type_code => l_component_type_code
92713 , p_component_appl_id => l_component_appl_id
92714 , p_amb_context_code => l_amb_context_code
92715 , p_side => 'NA'
92716 );
92717
92718
92719 xla_ae_lines_pkg.Set_Segment( -- replaced SetSegment
92720 p_to_segment_code => 'GL_BALANCING'
92721 , p_segment_value => C_CHAR
92722 , p_from_segment_code => NULL
92723 , p_from_combination_id => NULL
92724 , p_value_type_code => NULL
92725 , p_transaction_coa_id => null
92726 , p_accounting_coa_id => null
92727 , p_flexfield_segment_code => NULL
92728 , p_flex_value_set_id => NULL
92729 , p_adr_code => NULL
92730 , p_adr_type_code => NULL
92731 , p_component_type => l_component_type
92732 , p_component_code => l_component_code
92733 , p_component_type_code => l_component_type_code
92734 , p_component_appl_id => l_component_appl_id
92735 , p_amb_context_code => l_amb_context_code
92736 , p_entity_code => 'AP_INVOICES'
92737 , p_event_class_code => 'PREPAYMENTS'
92738 , p_side => 'NA'
92739 );
92740 --
92741
92742
92743 --
92744 --
92745 END IF;
92746 --
92747 -- Bug 4922099
92748 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
92749 (NVL(l_enc_upg_option, 'N') = 'O')
92750 ) AND
92751 (l_bflow_method_code = 'PRIOR_ENTRY')
92752 )
92753 THEN
92754 IF
92755 --
92756 1 = 2
92757 --
92758 THEN
92759 xla_accounting_err_pkg.build_message
92760 (p_appli_s_name => 'XLA'
92761 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
92762 ,p_token_1 => 'LINE_NUMBER'
92763 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
92764 ,p_token_2 => 'LINE_TYPE_NAME'
92765 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
92766 l_component_type
92767 ,l_component_code
92768 ,l_component_type_code
92769 ,l_component_appl_id
92770 ,l_amb_context_code
92771 ,l_entity_code
92772 ,l_event_class_code
92773 )
92774 ,p_token_3 => 'OWNER'
92775 ,p_value_3 => xla_lookups_pkg.get_meaning(
92776 p_lookup_type => 'XLA_OWNER_TYPE'
92777 ,p_lookup_code => l_component_type_code
92778 )
92779 ,p_token_4 => 'PRODUCT_NAME'
92780 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
92784 ,p_ae_header_id => NULL
92781 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
92782 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
92783 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
92785 );
92786
92787 IF (C_LEVEL_ERROR>= g_log_level) THEN
92788 trace
92789 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
92790 ,p_level => C_LEVEL_ERROR
92791 ,p_module => l_log_module);
92792 END IF;
92793 END IF;
92794 END IF;
92795 --
92796 --
92797 ------------------------------------------------------------------------------------------------
92798 -- 4219869 Business Flow
92799 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
92800 -- Prior Entry. Currently, the following code is always generated.
92801 ------------------------------------------------------------------------------------------------
92802 XLA_AE_LINES_PKG.ValidateCurrentLine;
92803
92804 ------------------------------------------------------------------------------------
92805 -- 4219869 Business Flow
92806 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
92807 ------------------------------------------------------------------------------------
92808 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
92809
92810 ----------------------------------------------------------------------------------
92811 -- 4219869 Business Flow
92812 -- Update journal entry status -- Need to generate this within IF <condition>
92813 ----------------------------------------------------------------------------------
92814 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
92815 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
92816 ,p_balance_type_code => l_balance_type_code
92817 );
92818
92819 -------------------------------------------------------------------------------------------
92820 -- 4262811 - Generate the Accrual Reversal lines
92821 -------------------------------------------------------------------------------------------
92822 BEGIN
92823 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
92824 (g_array_event(p_event_id).array_value_num('header_index'));
92825 IF l_acc_rev_flag IS NULL THEN
92826 l_acc_rev_flag := 'N';
92827 END IF;
92828 EXCEPTION
92829 WHEN OTHERS THEN
92830 l_acc_rev_flag := 'N';
92831 END;
92832 --
92833 IF (l_acc_rev_flag = 'Y') THEN
92834
92835 -- 4645092 ------------------------------------------------------------------------------
92836 -- To allow MPA report to determine if it should generate report process
92837 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
92838 ------------------------------------------------------------------------------------------
92839
92840 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
92841 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
92842 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
92843 -- call ADRs
92844 -- Bug 4922099
92845 --
92846 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
92847 (NVL(l_actual_upg_option, 'N') = 'O') OR
92848 (NVL(l_enc_upg_option, 'N') = 'O')
92849 )
92850 THEN
92851 NULL;
92852 --
92853 --
92854
92855 l_ccid := AcctDerRule_36(
92856 p_application_id => p_application_id
92857 , p_ae_header_id => l_ae_header_id
92858 , p_source_29 => p_source_29
92859 , x_transaction_coa_id => l_adr_transaction_coa_id
92860 , x_accounting_coa_id => l_adr_accounting_coa_id
92861 , x_value_type_code => l_adr_value_type_code
92862 , p_side => 'NA'
92863 );
92864
92865 xla_ae_lines_pkg.set_ccid(
92866 p_code_combination_id => l_ccid
92867 , p_value_type_code => l_adr_value_type_code
92868 , p_transaction_coa_id => l_adr_transaction_coa_id
92869 , p_accounting_coa_id => l_adr_accounting_coa_id
92870 , p_adr_code => 'AP_LIAB'
92871 , p_adr_type_code => 'S'
92872 , p_component_type => l_component_type
92873 , p_component_code => l_component_code
92874 , p_component_type_code => l_component_type_code
92875 , p_component_appl_id => l_component_appl_id
92876 , p_amb_context_code => l_amb_context_code
92877 , p_side => 'NA'
92878 );
92879
92880
92881 xla_ae_lines_pkg.Set_Segment( -- replaced SetSegment
92882 p_to_segment_code => 'GL_BALANCING'
92883 , p_segment_value => C_CHAR
92884 , p_from_segment_code => NULL
92885 , p_from_combination_id => NULL
92886 , p_value_type_code => NULL
92887 , p_transaction_coa_id => null
92888 , p_accounting_coa_id => null
92889 , p_flexfield_segment_code => NULL
92890 , p_flex_value_set_id => NULL
92894 , p_component_code => l_component_code
92891 , p_adr_code => NULL
92892 , p_adr_type_code => NULL
92893 , p_component_type => l_component_type
92895 , p_component_type_code => l_component_type_code
92896 , p_component_appl_id => l_component_appl_id
92897 , p_amb_context_code => l_amb_context_code
92898 , p_entity_code => 'AP_INVOICES'
92899 , p_event_class_code => 'PREPAYMENTS'
92900 , p_side => 'NA'
92901 );
92902 --
92903
92904
92905 --
92906 --
92907 END IF;
92908
92909 --
92910 -- Update the line information that should be overwritten
92911 --
92912 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
92913 p_header_num => 1);
92914 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
92915
92916 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
92917
92918 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
92919 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
92920 END IF;
92921
92922 --
92923 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
92924 --
92925 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
92926 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
92927 ELSE
92928 ---------------------------------------------------------------------------------------------------
92929 -- 4262811a Switch Sign
92930 ---------------------------------------------------------------------------------------------------
92931 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
92932 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
92933 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
92934 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
92935 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
92936 -- 5132302
92937 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
92938 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
92939
92940 END IF;
92941
92942 -- 4955764
92943 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
92944 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
92945
92946
92947 XLA_AE_LINES_PKG.ValidateCurrentLine;
92948 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
92949
92950 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
92951 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
92952 ,p_balance_type_code => l_balance_type_code);
92953
92954 END IF;
92955
92956 -----------------------------------------------------------------------------------------
92957 -- 4262811 Multiperiod Accounting
92958 -----------------------------------------------------------------------------------------
92959 -- No MPA option is assigned.
92960
92961
92962 END IF;
92963 END IF;
92964 --
92965
92966 --
92967 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
92968 trace
92969 (p_msg => 'END of AcctLineType_169'
92970 ,p_level => C_LEVEL_PROCEDURE
92971 ,p_module => l_log_module);
92972 END IF;
92973 --
92974 EXCEPTION
92975 WHEN xla_exceptions_pkg.application_exception THEN
92976 RAISE;
92977 WHEN OTHERS THEN
92978 xla_exceptions_pkg.raise_message
92979 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_169');
92980 END AcctLineType_169;
92981 --
92982
92983 ---------------------------------------
92984 --
92985 -- PRIVATE FUNCTION
92986 -- AcctLineType_170
92987 --
92988 ---------------------------------------
92989 PROCEDURE AcctLineType_170 (
92990 p_application_id IN NUMBER
92991 ,p_event_id IN NUMBER
92992 ,p_calculate_acctd_flag IN VARCHAR2
92993 ,p_calculate_g_l_flag IN VARCHAR2
92994 ,p_actual_flag IN OUT VARCHAR2
92995 ,p_balance_type_code OUT VARCHAR2
92996 ,p_gain_or_loss_ref OUT VARCHAR2
92997
92998 --Accounting Reversal Indicator
92999 , p_source_58 IN VARCHAR2
93000 --Distribution Link Type
93001 , p_source_60 IN VARCHAR2
93002 --Invoice Identifier
93003 , p_source_63 IN NUMBER
93004 --Payables Encumbrance Upgrade Credit Account
93005 , p_source_70 IN NUMBER
93006 --Payables Encumbrance Upgrade Credit Amount
93007 , p_source_71 IN NUMBER
93008 --Invoice Currency Code
93009 , p_source_72 IN VARCHAR2
93010 --Payables Encumbrance Upgrade Credit Base Amount
93011 , p_source_73 IN NUMBER
93012 --Payables Encumbrance Upgrade Debit Account
93013 , p_source_74 IN NUMBER
93014 --Payables Encumbrance Upgrade Debit Amount
93015 , p_source_75 IN NUMBER
93019 , p_source_77 IN VARCHAR2
93016 --Payables Encumbrance Upgrade Debit Base Amount
93017 , p_source_76 IN NUMBER
93018 --Payables Encumbrance Upgrade Option
93020 --Deferred Accounting End Date
93021 , p_source_82 IN DATE
93022 --Deferred Accounting Option
93023 , p_source_83 IN VARCHAR2
93024 --Deferred Accounting Start Date
93025 , p_source_84 IN DATE
93026 --Override Accounted Amount Indicator
93027 , p_source_85 IN VARCHAR2
93028 , p_source_85_meaning IN VARCHAR2
93029 --Third Party Type
93030 , p_source_88 IN VARCHAR2
93031 --Invoice Distribution Tax Line Identifier
93032 , p_source_91 IN NUMBER
93033 --Invoice Distribution Tax Distribution Identifier from Tax
93034 , p_source_92 IN NUMBER
93035 --Invoice Distribution Summary Tax Line Identifier
93036 , p_source_93 IN NUMBER
93037 --Payables Upgrade Credit Encumbrance Type Identifier
93038 , p_source_94 IN NUMBER
93039 --Payables Upgrade Debit Encumbrance Type Identifier
93040 , p_source_95 IN NUMBER
93041 --Business Flow Accounts Payable Application Identifier
93042 , p_source_96 IN NUMBER
93043 --Prepayment Distribution Type
93044 , p_source_128 IN VARCHAR2
93045 --Prepayment Application Distribution Identifier
93046 , p_source_130 IN NUMBER
93047 --Upgrade Encumbrance Credit Account Class
93048 , p_source_135 IN VARCHAR2
93049 --Upgrade Encumbrance Debit Account Class
93050 , p_source_136 IN VARCHAR2
93051 --Prepayment Distribution Amount
93052 , p_source_137 IN NUMBER
93053 --Identifier of the Prepayment Application Reversed
93054 , p_source_139 IN NUMBER
93055 --Business Flow Recipient Invoice Distribution Identifier
93056 , p_source_142 IN NUMBER
93057 --Business Flow Recipient Invoice Identifier
93058 , p_source_143 IN NUMBER
93059 --Prepayment Distribution (Invoice Rate) Ledger Amount
93060 , p_source_144 IN NUMBER
93061 --Business Flow Prepayment Invoice Distribution Type
93062 , p_source_149 IN VARCHAR2
93063 --Business Flow Prepayment Invoice Entity Code
93064 , p_source_150 IN VARCHAR2
93065 )
93066 IS
93067
93068 l_component_type VARCHAR2(80);
93069 l_component_code VARCHAR2(30);
93070 l_component_type_code VARCHAR2(1);
93071 l_component_appl_id INTEGER;
93072 l_amb_context_code VARCHAR2(30);
93073 l_entity_code VARCHAR2(30);
93074 l_event_class_code VARCHAR2(30);
93075 l_ae_header_id NUMBER;
93076 l_event_type_code VARCHAR2(30);
93077 l_line_definition_code VARCHAR2(30);
93078 l_line_definition_owner_code VARCHAR2(1);
93079 --
93080 -- adr variables
93081 l_segment VARCHAR2(30);
93082 l_ccid NUMBER;
93083 l_adr_transaction_coa_id NUMBER;
93084 l_adr_accounting_coa_id NUMBER;
93085 l_adr_flexfield_segment_code VARCHAR2(30);
93086 l_adr_flex_value_set_id NUMBER;
93087 l_adr_value_type_code VARCHAR2(30);
93088 l_adr_value_combination_id NUMBER;
93089 l_adr_value_segment_code VARCHAR2(30);
93090
93091 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
93092 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
93093 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
93094 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
93095
93096 -- 4262811 Variables ------------------------------------------------------------------------------------------
93097 l_entered_amt_idx NUMBER;
93098 l_accted_amt_idx NUMBER;
93099 l_acc_rev_flag VARCHAR2(1);
93100 l_accrual_line_num NUMBER;
93101 l_tmp_amt NUMBER;
93102 l_acc_rev_natural_side_code VARCHAR2(1);
93103
93104 l_num_entries NUMBER;
93105 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
93106 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
93107 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
93108 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
93109 l_recog_line_1 NUMBER;
93110 l_recog_line_2 NUMBER;
93111
93112 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
93113 l_bflow_applied_to_amt NUMBER; -- 5132302
93114 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
93115
93116 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
93117
93118 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
93119 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
93120
93121 ---------------------------------------------------------------------------------------------------------------
93122
93123
93124 --
93125 -- bulk performance
93126 --
93127 l_balance_type_code VARCHAR2(1);
93128 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
93129 l_log_module VARCHAR2(240);
93130
93131 --
93132 -- Upgrade strategy
93133 --
93134 l_actual_upg_option VARCHAR2(1);
93135 l_enc_upg_option VARCHAR2(1);
93136
93137 --
93138 BEGIN
93139 --
93143 --
93140 IF g_log_enabled THEN
93141 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_170';
93142 END IF;
93144 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
93145
93146 trace
93147 (p_msg => 'BEGIN of AcctLineType_170'
93148 ,p_level => C_LEVEL_PROCEDURE
93149 ,p_module => l_log_module);
93150
93151 END IF;
93152 --
93153 l_component_type := 'AMB_JLT';
93154 l_component_code := 'AP_LIAB_PREPAY_APP';
93155 l_component_type_code := 'S';
93156 l_component_appl_id := 200;
93157 l_amb_context_code := 'DEFAULT';
93158 l_entity_code := 'AP_INVOICES';
93159 l_event_class_code := 'PREPAYMENT APPLICATIONS';
93160 l_event_type_code := 'PREPAYMENT APPLICATIONS_ALL';
93161 l_line_definition_owner_code := 'S';
93162 l_line_definition_code := 'ACCRUAL_PREPAYMENT APPLICATIO2';
93163 --
93164 l_balance_type_code := 'A';
93165 l_segment := NULL;
93166 l_ccid := NULL;
93167 l_adr_transaction_coa_id := NULL;
93168 l_adr_accounting_coa_id := NULL;
93169 l_adr_flexfield_segment_code := NULL;
93170 l_adr_flex_value_set_id := NULL;
93171 l_adr_value_type_code := NULL;
93172 l_adr_value_combination_id := NULL;
93173 l_adr_value_segment_code := NULL;
93174
93175 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
93176 l_bflow_class_code := 'AP_LIAB'; -- 4219869 Business Flow
93177 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
93178 l_budgetary_control_flag := 'N';
93179
93180 l_bflow_applied_to_amt_idx := NULL; -- 5132302
93181 l_bflow_applied_to_amt := NULL; -- 5132302
93182 l_entered_amt_idx := NULL; -- 4262811
93183 l_accted_amt_idx := NULL; -- 4262811
93184 l_acc_rev_flag := NULL; -- 4262811
93185 l_accrual_line_num := NULL; -- 4262811
93186 l_tmp_amt := NULL; -- 4262811
93187 --
93188
93189 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
93190 l_balance_type_code <> 'B' THEN
93191 IF NVL(p_source_128,'
93192 ') = 'PREPAY APPL' OR
93193 NVL(p_source_128,'
93194 ') = 'FINAL PAYMENT ROUNDING' OR
93195 NVL(p_source_128,'
93196 ') = 'PREPAY APPL REC TAX' OR
93197 NVL(p_source_128,'
93198 ') = 'PREPAY APPL NONREC TAX'
93199 THEN
93200
93201 --
93202 XLA_AE_LINES_PKG.SetNewLine;
93203
93204 p_balance_type_code := l_balance_type_code;
93205 -- set the flag so later we will know whether the gain loss line needs to be created
93206
93207 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
93208 p_actual_flag :='A';
93209 END IF;
93210
93211 --
93212 -- bulk performance
93213 --
93214 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
93215 p_header_num => 0); -- 4262811
93216 --
93217 -- set accounting line options
93218 --
93219 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
93220 p_natural_side_code => 'C'
93221 , p_gain_or_loss_flag => 'N'
93222 , p_gl_transfer_mode_code => 'S'
93223 , p_acct_entry_type_code => 'A'
93224 , p_switch_side_flag => 'Y'
93225 , p_merge_duplicate_code => 'A'
93226 );
93227 --
93228 l_acc_rev_natural_side_code := 'D'; -- 4262811
93229 --
93230 --
93231 -- set accounting line type info
93232 --
93233 xla_ae_lines_pkg.SetAcctLineType
93234 (p_component_type => l_component_type
93235 ,p_event_type_code => l_event_type_code
93236 ,p_line_definition_owner_code => l_line_definition_owner_code
93237 ,p_line_definition_code => l_line_definition_code
93238 ,p_accounting_line_code => l_component_code
93239 ,p_accounting_line_type_code => l_component_type_code
93240 ,p_accounting_line_appl_id => l_component_appl_id
93241 ,p_amb_context_code => l_amb_context_code
93242 ,p_entity_code => l_entity_code
93243 ,p_event_class_code => l_event_class_code);
93244 --
93245 -- set accounting class
93246 --
93247 xla_ae_lines_pkg.SetAcctClass(
93248 p_accounting_class_code => 'LIABILITY'
93249 , p_ae_header_id => l_ae_header_id
93250 );
93251
93252 --
93253 -- set rounding class
93254 --
93255 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
93256 'LIABILITY';
93257
93258 --
93259 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
93260 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
93261 --
93262 -- bulk performance
93263 --
93264 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
93265
93266 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
93267 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
93268
93269 -- 4955764
93270 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
93274
93271 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
93272
93273 -- 4458381 Public Sector Enh
93275 --
93276 -- set accounting attributes for the line type
93277 --
93278 l_entered_amt_idx := 25;
93279 l_accted_amt_idx := 27;
93280 l_bflow_applied_to_amt_idx := NULL; -- 5132302
93281 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
93282 l_rec_acct_attrs.array_char_value(1) := p_source_58;
93283 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
93284 l_rec_acct_attrs.array_num_value(2) :=
93285 xla_ae_sources_pkg.GetSystemSourceNum(
93286 p_source_code => 'XLA_EVENT_APPL_ID'
93287 , p_source_type_code => 'Y'
93288 , p_source_application_id => 602
93289 );
93290 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
93291 l_rec_acct_attrs.array_char_value(3) := p_source_60;
93292 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
93293 l_rec_acct_attrs.array_char_value(4) :=
93294 xla_ae_sources_pkg.GetSystemSourceChar(
93295 p_source_code => 'XLA_ENTITY_CODE'
93296 , p_source_type_code => 'Y'
93297 , p_source_application_id => 602
93298 );
93299 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
93300 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_130);
93301 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
93302 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_63);
93303 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
93304 l_rec_acct_attrs.array_num_value(7) := p_source_96;
93305 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
93306 l_rec_acct_attrs.array_char_value(8) := p_source_149;
93307 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
93308 l_rec_acct_attrs.array_char_value(9) := p_source_150;
93309 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
93310 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_142);
93311 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
93312 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_143);
93313 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
93314 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_130);
93315 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
93316 l_rec_acct_attrs.array_char_value(13) := p_source_60;
93317 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_ACCT_CLASS';
93318 l_rec_acct_attrs.array_char_value(14) := p_source_135;
93319 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
93320 l_rec_acct_attrs.array_num_value(15) := p_source_70;
93321 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
93322 l_rec_acct_attrs.array_num_value(16) := p_source_71;
93323 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
93324 l_rec_acct_attrs.array_char_value(17) := p_source_72;
93325 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
93326 l_rec_acct_attrs.array_num_value(18) := p_source_73;
93327 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ACCT_CLASS';
93328 l_rec_acct_attrs.array_char_value(19) := p_source_136;
93329 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_CCID';
93330 l_rec_acct_attrs.array_num_value(20) := p_source_74;
93331 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_AMT';
93332 l_rec_acct_attrs.array_num_value(21) := p_source_75;
93333 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_ENTERED_CURR';
93334 l_rec_acct_attrs.array_char_value(22) := p_source_72;
93335 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_DR_LEDGER_AMT';
93336 l_rec_acct_attrs.array_num_value(23) := p_source_76;
93337 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENC_UPG_OPTION';
93338 l_rec_acct_attrs.array_char_value(24) := p_source_77;
93339 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_AMOUNT';
93340 l_rec_acct_attrs.array_num_value(25) := p_source_137;
93341 l_rec_acct_attrs.array_acct_attr_code(26) := 'ENTERED_CURRENCY_CODE';
93342 l_rec_acct_attrs.array_char_value(26) := p_source_72;
93343 l_rec_acct_attrs.array_acct_attr_code(27) := 'LEDGER_AMOUNT';
93344 l_rec_acct_attrs.array_num_value(27) := p_source_144;
93345 l_rec_acct_attrs.array_acct_attr_code(28) := 'MULTIPERIOD_END_DATE';
93346 l_rec_acct_attrs.array_date_value(28) := p_source_82;
93347 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_OPTION';
93348 l_rec_acct_attrs.array_char_value(29) := p_source_83;
93349 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_START_DATE';
93350 l_rec_acct_attrs.array_date_value(30) := p_source_84;
93351 l_rec_acct_attrs.array_acct_attr_code(31) := 'OVERRIDE_ACCTD_AMT_FLAG';
93352 l_rec_acct_attrs.array_char_value(31) := p_source_85;
93353 l_rec_acct_attrs.array_acct_attr_code(32) := 'PARTY_TYPE';
93354 l_rec_acct_attrs.array_char_value(32) := p_source_88;
93355 l_rec_acct_attrs.array_acct_attr_code(33) := 'REVERSED_DISTRIBUTION_ID1';
93356 l_rec_acct_attrs.array_num_value(33) := to_char(p_source_139);
93357 l_rec_acct_attrs.array_acct_attr_code(34) := 'REVERSED_DISTRIBUTION_TYPE';
93358 l_rec_acct_attrs.array_char_value(34) := p_source_60;
93359 l_rec_acct_attrs.array_acct_attr_code(35) := 'TAX_LINE_REF_ID';
93360 l_rec_acct_attrs.array_num_value(35) := p_source_91;
93364 l_rec_acct_attrs.array_num_value(37) := p_source_93;
93361 l_rec_acct_attrs.array_acct_attr_code(36) := 'TAX_REC_NREC_DIST_REF_ID';
93362 l_rec_acct_attrs.array_num_value(36) := p_source_92;
93363 l_rec_acct_attrs.array_acct_attr_code(37) := 'TAX_SUMMARY_LINE_REF_ID';
93365 l_rec_acct_attrs.array_acct_attr_code(38) := 'UPG_CR_ENC_TYPE_ID';
93366 l_rec_acct_attrs.array_num_value(38) := p_source_94;
93367 l_rec_acct_attrs.array_acct_attr_code(39) := 'UPG_DR_ENC_TYPE_ID';
93368 l_rec_acct_attrs.array_num_value(39) := p_source_95;
93369
93370 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
93371 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
93372
93373 ---------------------------------------------------------------------------------------------------------------
93374 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
93375 ---------------------------------------------------------------------------------------------------------------
93376 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
93377
93378 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
93379 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
93380
93381 IF xla_accounting_cache_pkg.GetValueChar
93382 (p_source_code => 'LEDGER_CATEGORY_CODE'
93383 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
93384 AND l_bflow_method_code = 'PRIOR_ENTRY'
93385 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
93386 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
93387 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
93388 )
93389 THEN
93390 xla_ae_lines_pkg.BflowUpgEntry
93391 (p_business_method_code => l_bflow_method_code
93392 ,p_business_class_code => l_bflow_class_code
93393 ,p_balance_type => l_balance_type_code);
93394 ELSE
93395 NULL;
93396 XLA_AE_LINES_PKG.business_flow_validation(
93397 p_business_method_code => l_bflow_method_code
93398 ,p_business_class_code => l_bflow_class_code
93399 ,p_inherit_description_flag => l_inherit_desc_flag);
93400 END IF;
93401
93402 --
93403 -- call analytical criteria
93404 --
93405 -- Inherited Analytical Criteria for business flow method of Prior Entry.
93406 --
93407 -- call description
93408 --
93409 -- No description or it is inherited.
93410 --
93411 -- call ADRs
93412 -- Bug 4922099
93413 --
93414 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
93415 (NVL(l_actual_upg_option, 'N') = 'O') OR
93416 (NVL(l_enc_upg_option, 'N') = 'O')
93417 )
93418 THEN
93419 NULL;
93420 --
93421 --
93422
93423 --
93424 --
93425 END IF;
93426 --
93427 -- Bug 4922099
93428 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
93429 (NVL(l_enc_upg_option, 'N') = 'O')
93430 ) AND
93431 (l_bflow_method_code = 'PRIOR_ENTRY')
93432 )
93433 THEN
93434 IF
93435 --
93436 1 = 1
93437 --
93438 THEN
93439 xla_accounting_err_pkg.build_message
93440 (p_appli_s_name => 'XLA'
93441 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
93442 ,p_token_1 => 'LINE_NUMBER'
93443 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
93444 ,p_token_2 => 'LINE_TYPE_NAME'
93445 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
93446 l_component_type
93447 ,l_component_code
93448 ,l_component_type_code
93449 ,l_component_appl_id
93450 ,l_amb_context_code
93451 ,l_entity_code
93452 ,l_event_class_code
93453 )
93454 ,p_token_3 => 'OWNER'
93455 ,p_value_3 => xla_lookups_pkg.get_meaning(
93456 p_lookup_type => 'XLA_OWNER_TYPE'
93457 ,p_lookup_code => l_component_type_code
93458 )
93459 ,p_token_4 => 'PRODUCT_NAME'
93460 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
93464 ,p_ae_header_id => NULL
93461 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
93462 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
93463 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
93465 );
93466
93467 IF (C_LEVEL_ERROR>= g_log_level) THEN
93468 trace
93469 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
93470 ,p_level => C_LEVEL_ERROR
93471 ,p_module => l_log_module);
93472 END IF;
93473 END IF;
93474 END IF;
93475 --
93476 --
93477 ------------------------------------------------------------------------------------------------
93478 -- 4219869 Business Flow
93479 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
93480 -- Prior Entry. Currently, the following code is always generated.
93481 ------------------------------------------------------------------------------------------------
93482 -- No ValidateCurrentLine for business flow method of Prior Entry
93483
93484 ------------------------------------------------------------------------------------
93485 -- 4219869 Business Flow
93486 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
93487 ------------------------------------------------------------------------------------
93488 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
93489
93490 ----------------------------------------------------------------------------------
93491 -- 4219869 Business Flow
93492 -- Update journal entry status -- Need to generate this within IF <condition>
93493 ----------------------------------------------------------------------------------
93494 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
93495 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
93496 ,p_balance_type_code => l_balance_type_code
93497 );
93498
93499 -------------------------------------------------------------------------------------------
93500 -- 4262811 - Generate the Accrual Reversal lines
93501 -------------------------------------------------------------------------------------------
93502 BEGIN
93503 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
93504 (g_array_event(p_event_id).array_value_num('header_index'));
93505 IF l_acc_rev_flag IS NULL THEN
93506 l_acc_rev_flag := 'N';
93507 END IF;
93508 EXCEPTION
93509 WHEN OTHERS THEN
93510 l_acc_rev_flag := 'N';
93511 END;
93512 --
93513 IF (l_acc_rev_flag = 'Y') THEN
93514
93515 -- 4645092 ------------------------------------------------------------------------------
93516 -- To allow MPA report to determine if it should generate report process
93517 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
93518 ------------------------------------------------------------------------------------------
93519
93520 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
93521 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
93522 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
93523 -- call ADRs
93524 -- Bug 4922099
93525 --
93526 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
93527 (NVL(l_actual_upg_option, 'N') = 'O') OR
93528 (NVL(l_enc_upg_option, 'N') = 'O')
93529 )
93530 THEN
93531 NULL;
93532 --
93533 --
93534
93535 --
93536 --
93537 END IF;
93538
93539 --
93540 -- Update the line information that should be overwritten
93541 --
93542 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
93543 p_header_num => 1);
93544 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
93545
93546 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
93547
93548 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
93549 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
93550 END IF;
93551
93552 --
93553 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
93554 --
93555 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
93556 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
93557 ELSE
93558 ---------------------------------------------------------------------------------------------------
93559 -- 4262811a Switch Sign
93560 ---------------------------------------------------------------------------------------------------
93561 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
93562 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
93563 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
93567 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
93564 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
93565 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
93566 -- 5132302
93568 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
93569
93570 END IF;
93571
93572 -- 4955764
93573 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
93574 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
93575
93576
93577 XLA_AE_LINES_PKG.ValidateCurrentLine;
93578 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
93579
93580 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
93581 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
93582 ,p_balance_type_code => l_balance_type_code);
93583
93584 END IF;
93585
93586 -----------------------------------------------------------------------------------------
93587 -- 4262811 Multiperiod Accounting
93588 -----------------------------------------------------------------------------------------
93589 -- No MPA option is assigned.
93590
93591
93592 END IF;
93593 END IF;
93594 --
93595
93596 --
93597 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
93598 trace
93599 (p_msg => 'END of AcctLineType_170'
93600 ,p_level => C_LEVEL_PROCEDURE
93601 ,p_module => l_log_module);
93602 END IF;
93603 --
93604 EXCEPTION
93605 WHEN xla_exceptions_pkg.application_exception THEN
93606 RAISE;
93607 WHEN OTHERS THEN
93608 xla_exceptions_pkg.raise_message
93609 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_170');
93610 END AcctLineType_170;
93611 --
93612
93613 ---------------------------------------
93614 --
93615 -- PRIVATE FUNCTION
93616 -- AcctLineType_171
93617 --
93618 ---------------------------------------
93619 PROCEDURE AcctLineType_171 (
93620 p_application_id IN NUMBER
93621 ,p_event_id IN NUMBER
93622 ,p_calculate_acctd_flag IN VARCHAR2
93623 ,p_calculate_g_l_flag IN VARCHAR2
93624 ,p_actual_flag IN OUT VARCHAR2
93625 ,p_balance_type_code OUT VARCHAR2
93626 ,p_gain_or_loss_ref OUT VARCHAR2
93627
93628 --Payment Currency Code
93629 , p_source_8 IN VARCHAR2
93630 --When to Account for Payment Option
93631 , p_source_57 IN VARCHAR2
93632 --Accounting Reversal Indicator
93633 , p_source_58 IN VARCHAR2
93634 --Distribution Link Type
93635 , p_source_60 IN VARCHAR2
93636 --Override Accounted Amount Indicator
93637 , p_source_85 IN VARCHAR2
93638 , p_source_85_meaning IN VARCHAR2
93639 --Third Party Type
93640 , p_source_88 IN VARCHAR2
93641 --Invoice Distribution Tax Line Identifier
93642 , p_source_91 IN NUMBER
93643 --Invoice Distribution Tax Distribution Identifier from Tax
93644 , p_source_92 IN NUMBER
93645 --Invoice Distribution Summary Tax Line Identifier
93646 , p_source_93 IN NUMBER
93647 --Business Flow Accounts Payable Application Identifier
93648 , p_source_96 IN NUMBER
93649 --Business Flow Invoice Distribution Type
93650 , p_source_97 IN VARCHAR2
93651 --Business Flow Invoice Entity Code
93652 , p_source_98 IN VARCHAR2
93653 --Business Flow Invoice Distribution Identifier
93654 , p_source_99 IN NUMBER
93655 --Business Flow Invoice Identifier
93656 , p_source_100 IN NUMBER
93657 --Payment Distribution Type
93658 , p_source_101 IN VARCHAR2
93659 , p_source_101_meaning IN VARCHAR2
93660 --Payment Distribution Amount
93661 , p_source_102 IN NUMBER
93662 --Payment Distribution Identifier
93663 , p_source_107 IN NUMBER
93664 --Payment Distribution Reversed Identifier
93665 , p_source_115 IN NUMBER
93666 --Payment Distribution (Invoice Rate) Ledger Amount
93667 , p_source_119 IN NUMBER
93668 --Payment Type
93669 , p_source_125 IN VARCHAR2
93670 , p_source_125_meaning IN VARCHAR2
93671 )
93672 IS
93673
93674 l_component_type VARCHAR2(80);
93675 l_component_code VARCHAR2(30);
93676 l_component_type_code VARCHAR2(1);
93677 l_component_appl_id INTEGER;
93678 l_amb_context_code VARCHAR2(30);
93679 l_entity_code VARCHAR2(30);
93680 l_event_class_code VARCHAR2(30);
93681 l_ae_header_id NUMBER;
93682 l_event_type_code VARCHAR2(30);
93683 l_line_definition_code VARCHAR2(30);
93684 l_line_definition_owner_code VARCHAR2(1);
93685 --
93686 -- adr variables
93687 l_segment VARCHAR2(30);
93688 l_ccid NUMBER;
93689 l_adr_transaction_coa_id NUMBER;
93690 l_adr_accounting_coa_id NUMBER;
93691 l_adr_flexfield_segment_code VARCHAR2(30);
93692 l_adr_flex_value_set_id NUMBER;
93693 l_adr_value_type_code VARCHAR2(30);
93694 l_adr_value_combination_id NUMBER;
93695 l_adr_value_segment_code VARCHAR2(30);
93696
93697 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
93698 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
93702 -- 4262811 Variables ------------------------------------------------------------------------------------------
93699 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
93700 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
93701
93703 l_entered_amt_idx NUMBER;
93704 l_accted_amt_idx NUMBER;
93705 l_acc_rev_flag VARCHAR2(1);
93706 l_accrual_line_num NUMBER;
93707 l_tmp_amt NUMBER;
93708 l_acc_rev_natural_side_code VARCHAR2(1);
93709
93710 l_num_entries NUMBER;
93711 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
93712 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
93713 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
93714 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
93715 l_recog_line_1 NUMBER;
93716 l_recog_line_2 NUMBER;
93717
93718 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
93719 l_bflow_applied_to_amt NUMBER; -- 5132302
93720 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
93721
93722 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
93723
93724 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
93725 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
93726
93727 ---------------------------------------------------------------------------------------------------------------
93728
93729
93730 --
93731 -- bulk performance
93732 --
93733 l_balance_type_code VARCHAR2(1);
93734 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
93735 l_log_module VARCHAR2(240);
93736
93737 --
93738 -- Upgrade strategy
93739 --
93740 l_actual_upg_option VARCHAR2(1);
93741 l_enc_upg_option VARCHAR2(1);
93742
93743 --
93744 BEGIN
93745 --
93746 IF g_log_enabled THEN
93747 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_171';
93748 END IF;
93749 --
93750 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
93751
93752 trace
93753 (p_msg => 'BEGIN of AcctLineType_171'
93754 ,p_level => C_LEVEL_PROCEDURE
93755 ,p_module => l_log_module);
93756
93757 END IF;
93758 --
93759 l_component_type := 'AMB_JLT';
93760 l_component_code := 'AP_LIAB_REF';
93761 l_component_type_code := 'S';
93762 l_component_appl_id := 200;
93763 l_amb_context_code := 'DEFAULT';
93764 l_entity_code := 'AP_PAYMENTS';
93765 l_event_class_code := 'REFUNDS';
93766 l_event_type_code := 'REFUNDS_ALL';
93767 l_line_definition_owner_code := 'S';
93768 l_line_definition_code := 'ACCRUAL_REFUNDS_ALL';
93769 --
93770 l_balance_type_code := 'A';
93771 l_segment := NULL;
93772 l_ccid := NULL;
93773 l_adr_transaction_coa_id := NULL;
93774 l_adr_accounting_coa_id := NULL;
93775 l_adr_flexfield_segment_code := NULL;
93776 l_adr_flex_value_set_id := NULL;
93777 l_adr_value_type_code := NULL;
93778 l_adr_value_combination_id := NULL;
93779 l_adr_value_segment_code := NULL;
93780
93781 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
93782 l_bflow_class_code := 'AP_LIAB'; -- 4219869 Business Flow
93783 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
93784 l_budgetary_control_flag := 'N';
93785
93786 l_bflow_applied_to_amt_idx := NULL; -- 5132302
93787 l_bflow_applied_to_amt := NULL; -- 5132302
93788 l_entered_amt_idx := NULL; -- 4262811
93789 l_accted_amt_idx := NULL; -- 4262811
93790 l_acc_rev_flag := NULL; -- 4262811
93791 l_accrual_line_num := NULL; -- 4262811
93792 l_tmp_amt := NULL; -- 4262811
93793 --
93794
93795 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
93796 l_balance_type_code <> 'B' THEN
93797 IF NVL(p_source_57,'
93798 ') <> 'CLEAR_CLEAR' AND
93799 (NVL(p_source_101,'
93800 ') = 'ROUNDING' OR
93801 NVL(p_source_101,'
93802 ') = 'CASH' OR
93803 NVL(p_source_101,'
93804 ') = 'DISCOUNT') AND
93805 NVL(p_source_125,'
93806 ') = 'R'
93807 THEN
93808
93809 --
93810 XLA_AE_LINES_PKG.SetNewLine;
93811
93812 p_balance_type_code := l_balance_type_code;
93813 -- set the flag so later we will know whether the gain loss line needs to be created
93814
93815 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
93816 p_actual_flag :='A';
93817 END IF;
93818
93819 --
93820 -- bulk performance
93821 --
93822 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
93823 p_header_num => 0); -- 4262811
93824 --
93825 -- set accounting line options
93826 --
93827 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
93828 p_natural_side_code => 'D'
93829 , p_gain_or_loss_flag => 'N'
93830 , p_gl_transfer_mode_code => 'S'
93831 , p_acct_entry_type_code => 'A'
93835 --
93832 , p_switch_side_flag => 'Y'
93833 , p_merge_duplicate_code => 'A'
93834 );
93836 l_acc_rev_natural_side_code := 'C'; -- 4262811
93837 --
93838 --
93839 -- set accounting line type info
93840 --
93841 xla_ae_lines_pkg.SetAcctLineType
93842 (p_component_type => l_component_type
93843 ,p_event_type_code => l_event_type_code
93844 ,p_line_definition_owner_code => l_line_definition_owner_code
93845 ,p_line_definition_code => l_line_definition_code
93846 ,p_accounting_line_code => l_component_code
93847 ,p_accounting_line_type_code => l_component_type_code
93848 ,p_accounting_line_appl_id => l_component_appl_id
93849 ,p_amb_context_code => l_amb_context_code
93850 ,p_entity_code => l_entity_code
93851 ,p_event_class_code => l_event_class_code);
93852 --
93853 -- set accounting class
93854 --
93855 xla_ae_lines_pkg.SetAcctClass(
93856 p_accounting_class_code => 'LIABILITY'
93857 , p_ae_header_id => l_ae_header_id
93858 );
93859
93860 --
93861 -- set rounding class
93862 --
93863 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
93864 'LIABILITY';
93865
93866 --
93867 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
93868 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
93869 --
93870 -- bulk performance
93871 --
93872 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
93873
93874 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
93875 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
93876
93877 -- 4955764
93878 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
93879 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
93880
93881 -- 4458381 Public Sector Enh
93882
93883 --
93884 -- set accounting attributes for the line type
93885 --
93886 l_entered_amt_idx := 9;
93887 l_accted_amt_idx := 11;
93888 l_bflow_applied_to_amt_idx := NULL; -- 5132302
93889 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
93890 l_rec_acct_attrs.array_char_value(1) := p_source_58;
93891 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_APPLICATION_ID';
93892 l_rec_acct_attrs.array_num_value(2) := p_source_96;
93893 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_DISTRIBUTION_TYPE';
93894 l_rec_acct_attrs.array_char_value(3) := p_source_97;
93895 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_ENTITY_CODE';
93896 l_rec_acct_attrs.array_char_value(4) := p_source_98;
93897 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_FIRST_DIST_ID';
93898 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_99);
93899 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
93900 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_100);
93901 l_rec_acct_attrs.array_acct_attr_code(7) := 'DISTRIBUTION_IDENTIFIER_1';
93902 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_107);
93903 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_TYPE';
93904 l_rec_acct_attrs.array_char_value(8) := p_source_60;
93905 l_rec_acct_attrs.array_acct_attr_code(9) := 'ENTERED_CURRENCY_AMOUNT';
93906 l_rec_acct_attrs.array_num_value(9) := p_source_102;
93907 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_CODE';
93908 l_rec_acct_attrs.array_char_value(10) := p_source_8;
93909 l_rec_acct_attrs.array_acct_attr_code(11) := 'LEDGER_AMOUNT';
93910 l_rec_acct_attrs.array_num_value(11) := p_source_119;
93911 l_rec_acct_attrs.array_acct_attr_code(12) := 'OVERRIDE_ACCTD_AMT_FLAG';
93912 l_rec_acct_attrs.array_char_value(12) := p_source_85;
93913 l_rec_acct_attrs.array_acct_attr_code(13) := 'PARTY_TYPE';
93914 l_rec_acct_attrs.array_char_value(13) := p_source_88;
93915 l_rec_acct_attrs.array_acct_attr_code(14) := 'REVERSED_DISTRIBUTION_ID1';
93916 l_rec_acct_attrs.array_num_value(14) := to_char(p_source_115);
93917 l_rec_acct_attrs.array_acct_attr_code(15) := 'REVERSED_DISTRIBUTION_TYPE';
93918 l_rec_acct_attrs.array_char_value(15) := p_source_60;
93919 l_rec_acct_attrs.array_acct_attr_code(16) := 'TAX_LINE_REF_ID';
93920 l_rec_acct_attrs.array_num_value(16) := p_source_91;
93921 l_rec_acct_attrs.array_acct_attr_code(17) := 'TAX_REC_NREC_DIST_REF_ID';
93922 l_rec_acct_attrs.array_num_value(17) := p_source_92;
93923 l_rec_acct_attrs.array_acct_attr_code(18) := 'TAX_SUMMARY_LINE_REF_ID';
93924 l_rec_acct_attrs.array_num_value(18) := p_source_93;
93925
93926 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
93927 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
93928
93929 ---------------------------------------------------------------------------------------------------------------
93930 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
93931 ---------------------------------------------------------------------------------------------------------------
93932 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
93933
93937 IF xla_accounting_cache_pkg.GetValueChar
93934 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
93935 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
93936
93938 (p_source_code => 'LEDGER_CATEGORY_CODE'
93939 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
93940 AND l_bflow_method_code = 'PRIOR_ENTRY'
93941 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
93942 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
93943 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
93944 )
93945 THEN
93946 xla_ae_lines_pkg.BflowUpgEntry
93947 (p_business_method_code => l_bflow_method_code
93948 ,p_business_class_code => l_bflow_class_code
93949 ,p_balance_type => l_balance_type_code);
93950 ELSE
93951 NULL;
93952 XLA_AE_LINES_PKG.business_flow_validation(
93953 p_business_method_code => l_bflow_method_code
93954 ,p_business_class_code => l_bflow_class_code
93955 ,p_inherit_description_flag => l_inherit_desc_flag);
93956 END IF;
93957
93958 --
93959 -- call analytical criteria
93960 --
93961 -- Inherited Analytical Criteria for business flow method of Prior Entry.
93962 --
93963 -- call description
93964 --
93965 -- No description or it is inherited.
93966 --
93967 -- call ADRs
93968 -- Bug 4922099
93969 --
93970 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
93971 (NVL(l_actual_upg_option, 'N') = 'O') OR
93972 (NVL(l_enc_upg_option, 'N') = 'O')
93973 )
93974 THEN
93975 NULL;
93976 --
93977 --
93978
93979 --
93980 --
93981 END IF;
93982 --
93983 -- Bug 4922099
93984 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
93985 (NVL(l_enc_upg_option, 'N') = 'O')
93986 ) AND
93987 (l_bflow_method_code = 'PRIOR_ENTRY')
93988 )
93989 THEN
93990 IF
93991 --
93992 1 = 1
93993 --
93994 THEN
93995 xla_accounting_err_pkg.build_message
93996 (p_appli_s_name => 'XLA'
93997 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
93998 ,p_token_1 => 'LINE_NUMBER'
93999 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
94000 ,p_token_2 => 'LINE_TYPE_NAME'
94001 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
94002 l_component_type
94003 ,l_component_code
94004 ,l_component_type_code
94005 ,l_component_appl_id
94006 ,l_amb_context_code
94007 ,l_entity_code
94008 ,l_event_class_code
94009 )
94010 ,p_token_3 => 'OWNER'
94011 ,p_value_3 => xla_lookups_pkg.get_meaning(
94012 p_lookup_type => 'XLA_OWNER_TYPE'
94013 ,p_lookup_code => l_component_type_code
94014 )
94015 ,p_token_4 => 'PRODUCT_NAME'
94016 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
94017 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
94018 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
94019 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
94020 ,p_ae_header_id => NULL
94021 );
94022
94023 IF (C_LEVEL_ERROR>= g_log_level) THEN
94024 trace
94025 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
94026 ,p_level => C_LEVEL_ERROR
94027 ,p_module => l_log_module);
94028 END IF;
94029 END IF;
94030 END IF;
94031 --
94032 --
94033 ------------------------------------------------------------------------------------------------
94034 -- 4219869 Business Flow
94035 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
94036 -- Prior Entry. Currently, the following code is always generated.
94040 ------------------------------------------------------------------------------------
94037 ------------------------------------------------------------------------------------------------
94038 -- No ValidateCurrentLine for business flow method of Prior Entry
94039
94041 -- 4219869 Business Flow
94042 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
94043 ------------------------------------------------------------------------------------
94044 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
94045
94046 ----------------------------------------------------------------------------------
94047 -- 4219869 Business Flow
94048 -- Update journal entry status -- Need to generate this within IF <condition>
94049 ----------------------------------------------------------------------------------
94050 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
94051 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
94052 ,p_balance_type_code => l_balance_type_code
94053 );
94054
94055 -------------------------------------------------------------------------------------------
94056 -- 4262811 - Generate the Accrual Reversal lines
94057 -------------------------------------------------------------------------------------------
94058 BEGIN
94059 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
94060 (g_array_event(p_event_id).array_value_num('header_index'));
94061 IF l_acc_rev_flag IS NULL THEN
94062 l_acc_rev_flag := 'N';
94063 END IF;
94064 EXCEPTION
94065 WHEN OTHERS THEN
94066 l_acc_rev_flag := 'N';
94067 END;
94068 --
94069 IF (l_acc_rev_flag = 'Y') THEN
94070
94071 -- 4645092 ------------------------------------------------------------------------------
94072 -- To allow MPA report to determine if it should generate report process
94073 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
94074 ------------------------------------------------------------------------------------------
94075
94076 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
94077 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
94078 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
94079 -- call ADRs
94080 -- Bug 4922099
94081 --
94082 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
94083 (NVL(l_actual_upg_option, 'N') = 'O') OR
94084 (NVL(l_enc_upg_option, 'N') = 'O')
94085 )
94086 THEN
94087 NULL;
94088 --
94089 --
94090
94091 --
94092 --
94093 END IF;
94094
94095 --
94096 -- Update the line information that should be overwritten
94097 --
94098 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
94099 p_header_num => 1);
94100 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
94101
94102 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
94103
94104 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
94105 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
94106 END IF;
94107
94108 --
94109 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
94110 --
94111 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
94112 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
94113 ELSE
94114 ---------------------------------------------------------------------------------------------------
94115 -- 4262811a Switch Sign
94116 ---------------------------------------------------------------------------------------------------
94117 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
94118 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
94119 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
94120 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
94121 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
94122 -- 5132302
94123 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
94124 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
94125
94126 END IF;
94127
94128 -- 4955764
94129 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
94130 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
94131
94132
94133 XLA_AE_LINES_PKG.ValidateCurrentLine;
94134 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
94135
94136 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
94137 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
94138 ,p_balance_type_code => l_balance_type_code);
94139
94140 END IF;
94141
94145 -- No MPA option is assigned.
94142 -----------------------------------------------------------------------------------------
94143 -- 4262811 Multiperiod Accounting
94144 -----------------------------------------------------------------------------------------
94146
94147
94148 END IF;
94149 END IF;
94150 --
94151
94152 --
94153 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
94154 trace
94155 (p_msg => 'END of AcctLineType_171'
94156 ,p_level => C_LEVEL_PROCEDURE
94157 ,p_module => l_log_module);
94158 END IF;
94159 --
94160 EXCEPTION
94161 WHEN xla_exceptions_pkg.application_exception THEN
94162 RAISE;
94163 WHEN OTHERS THEN
94164 xla_exceptions_pkg.raise_message
94165 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_171');
94166 END AcctLineType_171;
94167 --
94168
94169 ---------------------------------------
94170 --
94171 -- PRIVATE FUNCTION
94172 -- AcctLineType_172
94173 --
94174 ---------------------------------------
94175 PROCEDURE AcctLineType_172 (
94176 p_application_id IN NUMBER
94177 ,p_event_id IN NUMBER
94178 ,p_calculate_acctd_flag IN VARCHAR2
94179 ,p_calculate_g_l_flag IN VARCHAR2
94180 ,p_actual_flag IN OUT VARCHAR2
94181 ,p_balance_type_code OUT VARCHAR2
94182 ,p_gain_or_loss_ref OUT VARCHAR2
94183
94184 --Payment Currency Code
94185 , p_source_8 IN VARCHAR2
94186 --Automatic Offsets Value
94187 , p_source_10 IN VARCHAR2
94188 , p_source_10_meaning IN VARCHAR2
94189 --Invoice Distribution Account
94190 , p_source_25 IN NUMBER
94191 --Internal Realized Loss Account
94192 , p_source_33 IN NUMBER
94193 --Bank Loss Account
94194 , p_source_34 IN NUMBER
94195 --When to Account for Payment Option
94196 , p_source_57 IN VARCHAR2
94197 --Accounting Reversal Indicator
94198 , p_source_58 IN VARCHAR2
94199 --Distribution Link Type
94200 , p_source_60 IN VARCHAR2
94201 --Override Accounted Amount Indicator
94202 , p_source_85 IN VARCHAR2
94203 , p_source_85_meaning IN VARCHAR2
94204 --Third Party Type
94205 , p_source_88 IN VARCHAR2
94206 --Invoice Distribution Tax Line Identifier
94207 , p_source_91 IN NUMBER
94208 --Invoice Distribution Summary Tax Line Identifier
94209 , p_source_93 IN NUMBER
94210 --Business Flow Accounts Payable Application Identifier
94211 , p_source_96 IN NUMBER
94212 --Payment Distribution Type
94213 , p_source_101 IN VARCHAR2
94214 , p_source_101_meaning IN VARCHAR2
94215 --Payment Distribution Amount
94216 , p_source_102 IN NUMBER
94217 --Business Flow Payment Distribution Type
94218 , p_source_103 IN VARCHAR2
94219 --Business Flow Payment Entity Code
94220 , p_source_104 IN VARCHAR2
94221 --Business Flow Payment Distribution Identifier
94222 , p_source_105 IN NUMBER
94223 --Business Flow Payment Identifier
94224 , p_source_106 IN NUMBER
94225 --Payment Distribution Identifier
94226 , p_source_107 IN NUMBER
94227 --Cleared Exchange Date
94228 , p_source_109 IN DATE
94229 --Cleared Exchange Rate
94230 , p_source_110 IN NUMBER
94231 --Cleared Exchange Rate Type
94232 , p_source_111 IN VARCHAR2
94233 --Payment Supplier Identifier
94234 , p_source_113 IN NUMBER
94235 --Payment Supplier Site Identifier
94236 , p_source_114 IN NUMBER
94237 --Payment Distribution Reversed Identifier
94238 , p_source_115 IN NUMBER
94239 --Gain or Loss Indicator between Invoice and Clearing
94240 , p_source_154 IN VARCHAR2
94241 --Invoice/Clearing Ledger Amount Difference
94242 , p_source_155 IN NUMBER
94243 )
94244 IS
94245
94246 l_component_type VARCHAR2(80);
94247 l_component_code VARCHAR2(30);
94248 l_component_type_code VARCHAR2(1);
94249 l_component_appl_id INTEGER;
94250 l_amb_context_code VARCHAR2(30);
94251 l_entity_code VARCHAR2(30);
94252 l_event_class_code VARCHAR2(30);
94253 l_ae_header_id NUMBER;
94254 l_event_type_code VARCHAR2(30);
94255 l_line_definition_code VARCHAR2(30);
94256 l_line_definition_owner_code VARCHAR2(1);
94257 --
94258 -- adr variables
94259 l_segment VARCHAR2(30);
94260 l_ccid NUMBER;
94261 l_adr_transaction_coa_id NUMBER;
94262 l_adr_accounting_coa_id NUMBER;
94263 l_adr_flexfield_segment_code VARCHAR2(30);
94264 l_adr_flex_value_set_id NUMBER;
94265 l_adr_value_type_code VARCHAR2(30);
94266 l_adr_value_combination_id NUMBER;
94267 l_adr_value_segment_code VARCHAR2(30);
94268
94269 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
94270 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
94271 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
94272 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
94273
94274 -- 4262811 Variables ------------------------------------------------------------------------------------------
94275 l_entered_amt_idx NUMBER;
94276 l_accted_amt_idx NUMBER;
94280 l_acc_rev_natural_side_code VARCHAR2(1);
94277 l_acc_rev_flag VARCHAR2(1);
94278 l_accrual_line_num NUMBER;
94279 l_tmp_amt NUMBER;
94281
94282 l_num_entries NUMBER;
94283 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
94284 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
94285 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
94286 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
94287 l_recog_line_1 NUMBER;
94288 l_recog_line_2 NUMBER;
94289
94290 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
94291 l_bflow_applied_to_amt NUMBER; -- 5132302
94292 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
94293
94294 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
94295
94296 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
94297 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
94298
94299 ---------------------------------------------------------------------------------------------------------------
94300
94301
94302 --
94303 -- bulk performance
94304 --
94305 l_balance_type_code VARCHAR2(1);
94306 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
94307 l_log_module VARCHAR2(240);
94308
94309 --
94310 -- Upgrade strategy
94311 --
94312 l_actual_upg_option VARCHAR2(1);
94313 l_enc_upg_option VARCHAR2(1);
94314
94315 --
94316 BEGIN
94317 --
94318 IF g_log_enabled THEN
94319 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_172';
94320 END IF;
94321 --
94322 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
94323
94324 trace
94325 (p_msg => 'BEGIN of AcctLineType_172'
94326 ,p_level => C_LEVEL_PROCEDURE
94327 ,p_module => l_log_module);
94328
94329 END IF;
94330 --
94331 l_component_type := 'AMB_JLT';
94332 l_component_code := 'AP_LOSS_INV_CLEAR';
94333 l_component_type_code := 'S';
94334 l_component_appl_id := 200;
94335 l_amb_context_code := 'DEFAULT';
94336 l_entity_code := 'AP_PAYMENTS';
94337 l_event_class_code := 'RECONCILED PAYMENTS';
94338 l_event_type_code := 'RECONCILED PAYMENTS_ALL';
94339 l_line_definition_owner_code := 'S';
94340 l_line_definition_code := 'ACCRUAL_RECONCILED PAYMENTS_A4';
94341 --
94342 l_balance_type_code := 'A';
94343 l_segment := NULL;
94344 l_ccid := NULL;
94345 l_adr_transaction_coa_id := NULL;
94346 l_adr_accounting_coa_id := NULL;
94347 l_adr_flexfield_segment_code := NULL;
94348 l_adr_flex_value_set_id := NULL;
94349 l_adr_value_type_code := NULL;
94350 l_adr_value_combination_id := NULL;
94351 l_adr_value_segment_code := NULL;
94352
94353 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
94354 l_bflow_class_code := ''; -- 4219869 Business Flow
94355 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
94356 l_budgetary_control_flag := 'N';
94357
94358 l_bflow_applied_to_amt_idx := NULL; -- 5132302
94359 l_bflow_applied_to_amt := NULL; -- 5132302
94360 l_entered_amt_idx := NULL; -- 4262811
94361 l_accted_amt_idx := NULL; -- 4262811
94362 l_acc_rev_flag := NULL; -- 4262811
94363 l_accrual_line_num := NULL; -- 4262811
94364 l_tmp_amt := NULL; -- 4262811
94365 --
94366 IF ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
94367 (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
94368 return;
94369 END IF;
94370
94371 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
94372 l_balance_type_code <> 'B' THEN
94373 IF (NVL(p_source_57,'
94374 ') = 'CLEAR_CLEAR' OR
94375 NVL(p_source_57,'
94376 ') = 'ALWAYS_CLEAR') AND
94377 NVL(p_source_154,'
94378 ') = 'LOSS' AND
94379 NVL(p_source_101,'
94380 ') <> 'EXCHANGE RATE VARIANCE' AND
94381 NVL(p_source_101,'
94382 ') <> 'TAX EXCHANGE RATE VARIANCE' AND
94383 NVL(p_source_101,'
94384 ') <> 'BANK CHARGE' AND
94385 NVL(p_source_101,'
94386 ') <> 'BANK ERROR' AND
94387 NVL(p_source_101,'
94388 ') <> 'AWT'
94389 THEN
94390
94391 --
94392 XLA_AE_LINES_PKG.SetNewLine;
94393
94394 p_balance_type_code := l_balance_type_code;
94395 -- set the flag so later we will know whether the gain loss line needs to be created
94396
94397 IF(l_balance_type_code = 'A' ) THEN
94398 p_actual_flag :='G';
94399 END IF;
94400
94401 --
94402 -- bulk performance
94403 --
94404 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
94405 p_header_num => 0); -- 4262811
94406 --
94407 -- set accounting line options
94408 --
94409 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
94410 p_natural_side_code => 'C'
94411 , p_gain_or_loss_flag => 'Y'
94415 , p_merge_duplicate_code => 'A'
94412 , p_gl_transfer_mode_code => 'S'
94413 , p_acct_entry_type_code => 'A'
94414 , p_switch_side_flag => 'Y'
94416 );
94417 --
94418 l_acc_rev_natural_side_code := 'D'; -- 4262811
94419 --
94420 --
94421 -- set accounting line type info
94422 --
94423 xla_ae_lines_pkg.SetAcctLineType
94424 (p_component_type => l_component_type
94425 ,p_event_type_code => l_event_type_code
94426 ,p_line_definition_owner_code => l_line_definition_owner_code
94427 ,p_line_definition_code => l_line_definition_code
94428 ,p_accounting_line_code => l_component_code
94429 ,p_accounting_line_type_code => l_component_type_code
94430 ,p_accounting_line_appl_id => l_component_appl_id
94431 ,p_amb_context_code => l_amb_context_code
94432 ,p_entity_code => l_entity_code
94433 ,p_event_class_code => l_event_class_code);
94434 --
94435 -- set accounting class
94436 --
94437 xla_ae_lines_pkg.SetAcctClass(
94438 p_accounting_class_code => 'LOSS'
94439 , p_ae_header_id => l_ae_header_id
94440 );
94441
94442 --
94443 -- set rounding class
94444 --
94445 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
94446 'LOSS';
94447
94448 --
94449 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
94450 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
94451 --
94452 -- bulk performance
94453 --
94454 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
94455
94456 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
94457 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
94458
94459 -- 4955764
94460 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
94461 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
94462
94463 -- 4458381 Public Sector Enh
94464
94465 --
94466 -- set accounting attributes for the line type
94467 --
94468 l_entered_amt_idx := 10;
94469 l_accted_amt_idx := 15;
94470 l_bflow_applied_to_amt_idx := 2; -- 5132302
94471 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
94472 l_rec_acct_attrs.array_char_value(1) := p_source_58;
94473 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
94474 l_rec_acct_attrs.array_num_value(2) := p_source_102;
94475 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
94476 l_rec_acct_attrs.array_num_value(3) := p_source_96;
94477 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
94478 l_rec_acct_attrs.array_char_value(4) := p_source_103;
94479 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
94480 l_rec_acct_attrs.array_char_value(5) := p_source_104;
94481 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
94482 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_105);
94483 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
94484 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_106);
94485 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
94486 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_107);
94487 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
94488 l_rec_acct_attrs.array_char_value(9) := p_source_60;
94489 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
94490 l_rec_acct_attrs.array_num_value(10) := p_source_102;
94491 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
94492 l_rec_acct_attrs.array_char_value(11) := p_source_8;
94493 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
94494 l_rec_acct_attrs.array_date_value(12) := p_source_109;
94495 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
94496 l_rec_acct_attrs.array_num_value(13) := p_source_110;
94497 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
94498 l_rec_acct_attrs.array_char_value(14) := p_source_111;
94499 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
94500 l_rec_acct_attrs.array_num_value(15) := p_source_155;
94501 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
94502 l_rec_acct_attrs.array_char_value(16) := p_source_85;
94503 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
94504 l_rec_acct_attrs.array_num_value(17) := p_source_113;
94505 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
94506 l_rec_acct_attrs.array_num_value(18) := p_source_114;
94507 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
94508 l_rec_acct_attrs.array_char_value(19) := p_source_88;
94509 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
94510 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_115);
94511 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
94512 l_rec_acct_attrs.array_char_value(21) := p_source_60;
94513 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
94514 l_rec_acct_attrs.array_num_value(22) := p_source_91;
94518 l_rec_acct_attrs.array_num_value(24) := p_source_93;
94515 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
94516 l_rec_acct_attrs.array_num_value(23) := p_source_91;
94517 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
94519
94520 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
94521 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
94522
94523 ---------------------------------------------------------------------------------------------------------------
94524 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
94525 ---------------------------------------------------------------------------------------------------------------
94526 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
94527
94528 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
94529 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
94530
94531 IF xla_accounting_cache_pkg.GetValueChar
94532 (p_source_code => 'LEDGER_CATEGORY_CODE'
94533 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
94534 AND l_bflow_method_code = 'PRIOR_ENTRY'
94535 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
94536 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
94537 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
94538 )
94539 THEN
94540 xla_ae_lines_pkg.BflowUpgEntry
94541 (p_business_method_code => l_bflow_method_code
94542 ,p_business_class_code => l_bflow_class_code
94543 ,p_balance_type => l_balance_type_code);
94544 ELSE
94545 NULL;
94546 -- No business flow processing for business flow method of NONE.
94547 END IF;
94548
94549 --
94550 -- call analytical criteria
94551 --
94552
94553 --
94554 -- call description
94555 --
94556 -- No description or it is inherited.
94557 --
94558 -- call ADRs
94559 -- Bug 4922099
94560 --
94561 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
94562 (NVL(l_actual_upg_option, 'N') = 'O') OR
94563 (NVL(l_enc_upg_option, 'N') = 'O')
94564 )
94565 THEN
94566 NULL;
94567 --
94568 --
94569
94570 l_ccid := AcctDerRule_41(
94571 p_application_id => p_application_id
94572 , p_ae_header_id => l_ae_header_id
94573 , p_source_10 => p_source_10
94574 , p_source_10_meaning => p_source_10_meaning
94575 , p_source_25 => p_source_25
94576 , p_source_33 => p_source_33
94577 , p_source_34 => p_source_34
94578 , x_transaction_coa_id => l_adr_transaction_coa_id
94579 , x_accounting_coa_id => l_adr_accounting_coa_id
94580 , x_value_type_code => l_adr_value_type_code
94581 , p_side => 'NA'
94582 );
94583
94584 xla_ae_lines_pkg.set_ccid(
94585 p_code_combination_id => l_ccid
94586 , p_value_type_code => l_adr_value_type_code
94587 , p_transaction_coa_id => l_adr_transaction_coa_id
94588 , p_accounting_coa_id => l_adr_accounting_coa_id
94589 , p_adr_code => 'AP_REAL_LOSS'
94590 , p_adr_type_code => 'S'
94591 , p_component_type => l_component_type
94592 , p_component_code => l_component_code
94593 , p_component_type_code => l_component_type_code
94594 , p_component_appl_id => l_component_appl_id
94595 , p_amb_context_code => l_amb_context_code
94596 , p_side => 'NA'
94597 );
94598
94599
94600 l_segment := AcctDerRule_23(
94601 p_application_id => p_application_id
94602 , p_ae_header_id => l_ae_header_id
94603 , p_source_10 => p_source_10
94604 , p_source_10_meaning => p_source_10_meaning
94605 , p_source_25 => p_source_25
94606 , x_transaction_coa_id => l_adr_transaction_coa_id
94607 , x_accounting_coa_id => l_adr_accounting_coa_id
94608 , x_flexfield_segment_code => l_adr_flexfield_segment_code
94609 , x_flex_value_set_id => l_adr_flex_value_set_id
94610 , x_value_type_code => l_adr_value_type_code
94611 , x_value_combination_id => l_adr_value_combination_id
94612 , x_value_segment_code => l_adr_value_segment_code
94613 , p_side => 'NA'
94614 , p_override_seg_flag => 'Y'
94615 );
94616
94617 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
94618
94619 xla_ae_lines_pkg.set_segment(
94620 p_to_segment_code => 'GL_BALANCING'
94621 , p_segment_value => l_segment
94622 , p_from_segment_code => l_adr_value_segment_code
94623 , p_from_combination_id => l_adr_value_combination_id
94624 , p_value_type_code => l_adr_value_type_code
94625 , p_transaction_coa_id => l_adr_transaction_coa_id
94626 , p_accounting_coa_id => l_adr_accounting_coa_id
94627 , p_flexfield_segment_code => l_adr_flexfield_segment_code
94628 , p_flex_value_set_id => l_adr_flex_value_set_id
94632 , p_component_code => l_component_code
94629 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
94630 , p_adr_type_code => 'S'
94631 , p_component_type => l_component_type
94633 , p_component_type_code => l_component_type_code
94634 , p_component_appl_id => l_component_appl_id
94635 , p_amb_context_code => l_amb_context_code
94636 , p_entity_code => 'AP_PAYMENTS'
94637 , p_event_class_code => 'RECONCILED PAYMENTS'
94638 , p_side => 'NA'
94639 );
94640
94641 END IF;
94642
94643 l_segment := AcctDerRule_18(
94644 p_application_id => p_application_id
94645 , p_ae_header_id => l_ae_header_id
94646 , p_source_10 => p_source_10
94647 , p_source_10_meaning => p_source_10_meaning
94648 , p_source_33 => p_source_33
94649 , p_source_34 => p_source_34
94650 , x_transaction_coa_id => l_adr_transaction_coa_id
94651 , x_accounting_coa_id => l_adr_accounting_coa_id
94652 , x_flexfield_segment_code => l_adr_flexfield_segment_code
94653 , x_flex_value_set_id => l_adr_flex_value_set_id
94654 , x_value_type_code => l_adr_value_type_code
94655 , x_value_combination_id => l_adr_value_combination_id
94656 , x_value_segment_code => l_adr_value_segment_code
94657 , p_side => 'NA'
94658 , p_override_seg_flag => 'Y'
94659 );
94660
94661 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
94662
94663 xla_ae_lines_pkg.set_segment(
94664 p_to_segment_code => 'GL_ACCOUNT'
94665 , p_segment_value => l_segment
94666 , p_from_segment_code => l_adr_value_segment_code
94667 , p_from_combination_id => l_adr_value_combination_id
94668 , p_value_type_code => l_adr_value_type_code
94669 , p_transaction_coa_id => l_adr_transaction_coa_id
94670 , p_accounting_coa_id => l_adr_accounting_coa_id
94671 , p_flexfield_segment_code => l_adr_flexfield_segment_code
94672 , p_flex_value_set_id => l_adr_flex_value_set_id
94673 , p_adr_code => 'AP_REAL_LOSS_NAT_ACCT_SEG'
94674 , p_adr_type_code => 'S'
94675 , p_component_type => l_component_type
94676 , p_component_code => l_component_code
94677 , p_component_type_code => l_component_type_code
94678 , p_component_appl_id => l_component_appl_id
94679 , p_amb_context_code => l_amb_context_code
94680 , p_entity_code => 'AP_PAYMENTS'
94681 , p_event_class_code => 'RECONCILED PAYMENTS'
94682 , p_side => 'NA'
94683 );
94684
94685 END IF;
94686
94687 --
94688 --
94689 END IF;
94690 --
94691 -- Bug 4922099
94692 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
94693 (NVL(l_enc_upg_option, 'N') = 'O')
94694 ) AND
94695 (l_bflow_method_code = 'PRIOR_ENTRY')
94696 )
94697 THEN
94698 IF
94699 --
94700 1 = 2
94701 --
94702 THEN
94703 xla_accounting_err_pkg.build_message
94704 (p_appli_s_name => 'XLA'
94705 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
94706 ,p_token_1 => 'LINE_NUMBER'
94707 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
94708 ,p_token_2 => 'LINE_TYPE_NAME'
94709 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
94710 l_component_type
94711 ,l_component_code
94712 ,l_component_type_code
94713 ,l_component_appl_id
94714 ,l_amb_context_code
94715 ,l_entity_code
94716 ,l_event_class_code
94717 )
94718 ,p_token_3 => 'OWNER'
94719 ,p_value_3 => xla_lookups_pkg.get_meaning(
94720 p_lookup_type => 'XLA_OWNER_TYPE'
94721 ,p_lookup_code => l_component_type_code
94722 )
94723 ,p_token_4 => 'PRODUCT_NAME'
94724 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
94725 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
94729 );
94726 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
94727 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
94728 ,p_ae_header_id => NULL
94730
94731 IF (C_LEVEL_ERROR>= g_log_level) THEN
94732 trace
94733 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
94734 ,p_level => C_LEVEL_ERROR
94735 ,p_module => l_log_module);
94736 END IF;
94737 END IF;
94738 END IF;
94739 --
94740 --
94741 ------------------------------------------------------------------------------------------------
94742 -- 4219869 Business Flow
94743 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
94744 -- Prior Entry. Currently, the following code is always generated.
94745 ------------------------------------------------------------------------------------------------
94746 XLA_AE_LINES_PKG.ValidateCurrentLine;
94747
94748 ------------------------------------------------------------------------------------
94749 -- 4219869 Business Flow
94750 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
94751 ------------------------------------------------------------------------------------
94752 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
94753
94754 ----------------------------------------------------------------------------------
94755 -- 4219869 Business Flow
94756 -- Update journal entry status -- Need to generate this within IF <condition>
94757 ----------------------------------------------------------------------------------
94758 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
94759 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
94760 ,p_balance_type_code => l_balance_type_code
94761 );
94762
94763 -------------------------------------------------------------------------------------------
94764 -- 4262811 - Generate the Accrual Reversal lines
94765 -------------------------------------------------------------------------------------------
94766 BEGIN
94767 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
94768 (g_array_event(p_event_id).array_value_num('header_index'));
94769 IF l_acc_rev_flag IS NULL THEN
94770 l_acc_rev_flag := 'N';
94771 END IF;
94772 EXCEPTION
94773 WHEN OTHERS THEN
94774 l_acc_rev_flag := 'N';
94775 END;
94776 --
94777 IF (l_acc_rev_flag = 'Y') THEN
94778
94779 -- 4645092 ------------------------------------------------------------------------------
94780 -- To allow MPA report to determine if it should generate report process
94781 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
94782 ------------------------------------------------------------------------------------------
94783
94784 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
94785 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
94786 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
94787 -- call ADRs
94788 -- Bug 4922099
94789 --
94790 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
94791 (NVL(l_actual_upg_option, 'N') = 'O') OR
94792 (NVL(l_enc_upg_option, 'N') = 'O')
94793 )
94794 THEN
94795 NULL;
94796 --
94797 --
94798
94799 l_ccid := AcctDerRule_41(
94800 p_application_id => p_application_id
94801 , p_ae_header_id => l_ae_header_id
94802 , p_source_10 => p_source_10
94803 , p_source_10_meaning => p_source_10_meaning
94804 , p_source_25 => p_source_25
94805 , p_source_33 => p_source_33
94806 , p_source_34 => p_source_34
94807 , x_transaction_coa_id => l_adr_transaction_coa_id
94808 , x_accounting_coa_id => l_adr_accounting_coa_id
94809 , x_value_type_code => l_adr_value_type_code
94810 , p_side => 'NA'
94811 );
94812
94813 xla_ae_lines_pkg.set_ccid(
94814 p_code_combination_id => l_ccid
94815 , p_value_type_code => l_adr_value_type_code
94816 , p_transaction_coa_id => l_adr_transaction_coa_id
94817 , p_accounting_coa_id => l_adr_accounting_coa_id
94818 , p_adr_code => 'AP_REAL_LOSS'
94819 , p_adr_type_code => 'S'
94820 , p_component_type => l_component_type
94821 , p_component_code => l_component_code
94822 , p_component_type_code => l_component_type_code
94823 , p_component_appl_id => l_component_appl_id
94824 , p_amb_context_code => l_amb_context_code
94825 , p_side => 'NA'
94826 );
94827
94828
94829 l_segment := AcctDerRule_23(
94830 p_application_id => p_application_id
94831 , p_ae_header_id => l_ae_header_id
94832 , p_source_10 => p_source_10
94833 , p_source_10_meaning => p_source_10_meaning
94834 , p_source_25 => p_source_25
94835 , x_transaction_coa_id => l_adr_transaction_coa_id
94836 , x_accounting_coa_id => l_adr_accounting_coa_id
94840 , x_value_combination_id => l_adr_value_combination_id
94837 , x_flexfield_segment_code => l_adr_flexfield_segment_code
94838 , x_flex_value_set_id => l_adr_flex_value_set_id
94839 , x_value_type_code => l_adr_value_type_code
94841 , x_value_segment_code => l_adr_value_segment_code
94842 , p_side => 'NA'
94843 , p_override_seg_flag => 'Y'
94844 );
94845
94846 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
94847
94848 xla_ae_lines_pkg.set_segment(
94849 p_to_segment_code => 'GL_BALANCING'
94850 , p_segment_value => l_segment
94851 , p_from_segment_code => l_adr_value_segment_code
94852 , p_from_combination_id => l_adr_value_combination_id
94853 , p_value_type_code => l_adr_value_type_code
94854 , p_transaction_coa_id => l_adr_transaction_coa_id
94855 , p_accounting_coa_id => l_adr_accounting_coa_id
94856 , p_flexfield_segment_code => l_adr_flexfield_segment_code
94857 , p_flex_value_set_id => l_adr_flex_value_set_id
94858 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
94859 , p_adr_type_code => 'S'
94860 , p_component_type => l_component_type
94861 , p_component_code => l_component_code
94862 , p_component_type_code => l_component_type_code
94863 , p_component_appl_id => l_component_appl_id
94864 , p_amb_context_code => l_amb_context_code
94865 , p_entity_code => 'AP_PAYMENTS'
94866 , p_event_class_code => 'RECONCILED PAYMENTS'
94867 , p_side => 'NA'
94868 );
94869
94870 END IF;
94871
94872 l_segment := AcctDerRule_18(
94873 p_application_id => p_application_id
94874 , p_ae_header_id => l_ae_header_id
94875 , p_source_10 => p_source_10
94876 , p_source_10_meaning => p_source_10_meaning
94877 , p_source_33 => p_source_33
94878 , p_source_34 => p_source_34
94879 , x_transaction_coa_id => l_adr_transaction_coa_id
94880 , x_accounting_coa_id => l_adr_accounting_coa_id
94881 , x_flexfield_segment_code => l_adr_flexfield_segment_code
94882 , x_flex_value_set_id => l_adr_flex_value_set_id
94883 , x_value_type_code => l_adr_value_type_code
94884 , x_value_combination_id => l_adr_value_combination_id
94885 , x_value_segment_code => l_adr_value_segment_code
94886 , p_side => 'NA'
94887 , p_override_seg_flag => 'Y'
94888 );
94889
94890 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
94891
94892 xla_ae_lines_pkg.set_segment(
94893 p_to_segment_code => 'GL_ACCOUNT'
94894 , p_segment_value => l_segment
94895 , p_from_segment_code => l_adr_value_segment_code
94896 , p_from_combination_id => l_adr_value_combination_id
94897 , p_value_type_code => l_adr_value_type_code
94898 , p_transaction_coa_id => l_adr_transaction_coa_id
94899 , p_accounting_coa_id => l_adr_accounting_coa_id
94900 , p_flexfield_segment_code => l_adr_flexfield_segment_code
94901 , p_flex_value_set_id => l_adr_flex_value_set_id
94902 , p_adr_code => 'AP_REAL_LOSS_NAT_ACCT_SEG'
94903 , p_adr_type_code => 'S'
94904 , p_component_type => l_component_type
94905 , p_component_code => l_component_code
94906 , p_component_type_code => l_component_type_code
94907 , p_component_appl_id => l_component_appl_id
94908 , p_amb_context_code => l_amb_context_code
94909 , p_entity_code => 'AP_PAYMENTS'
94910 , p_event_class_code => 'RECONCILED PAYMENTS'
94911 , p_side => 'NA'
94912 );
94913
94914 END IF;
94915
94916 --
94917 --
94918 END IF;
94919
94920 --
94921 -- Update the line information that should be overwritten
94922 --
94923 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
94924 p_header_num => 1);
94925 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
94926
94927 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
94928
94929 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
94930 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
94931 END IF;
94932
94933 --
94934 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
94935 --
94936 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
94937 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
94938 ELSE
94939 ---------------------------------------------------------------------------------------------------
94940 -- 4262811a Switch Sign
94941 ---------------------------------------------------------------------------------------------------
94942 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
94943 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
94947 -- 5132302
94944 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
94945 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
94946 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
94948 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
94949 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
94950
94951 END IF;
94952
94953 -- 4955764
94954 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
94955 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
94956
94957
94958 XLA_AE_LINES_PKG.ValidateCurrentLine;
94959 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
94960
94961 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
94962 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
94963 ,p_balance_type_code => l_balance_type_code);
94964
94965 END IF;
94966
94967 -----------------------------------------------------------------------------------------
94968 -- 4262811 Multiperiod Accounting
94969 -----------------------------------------------------------------------------------------
94970 -- No MPA option is assigned.
94971
94972
94973 END IF;
94974 END IF;
94975 --
94976
94977 --
94978 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
94979 trace
94980 (p_msg => 'END of AcctLineType_172'
94981 ,p_level => C_LEVEL_PROCEDURE
94982 ,p_module => l_log_module);
94983 END IF;
94984 --
94985 EXCEPTION
94986 WHEN xla_exceptions_pkg.application_exception THEN
94987 RAISE;
94988 WHEN OTHERS THEN
94989 xla_exceptions_pkg.raise_message
94990 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_172');
94991 END AcctLineType_172;
94992 --
94993
94994 ---------------------------------------
94995 --
94996 -- PRIVATE FUNCTION
94997 -- AcctLineType_173
94998 --
94999 ---------------------------------------
95000 PROCEDURE AcctLineType_173 (
95001 p_application_id IN NUMBER
95002 ,p_event_id IN NUMBER
95003 ,p_calculate_acctd_flag IN VARCHAR2
95004 ,p_calculate_g_l_flag IN VARCHAR2
95005 ,p_actual_flag IN OUT VARCHAR2
95006 ,p_balance_type_code OUT VARCHAR2
95007 ,p_gain_or_loss_ref OUT VARCHAR2
95008
95009 --Payment Currency Code
95010 , p_source_8 IN VARCHAR2
95011 --Automatic Offsets Value
95012 , p_source_10 IN VARCHAR2
95013 , p_source_10_meaning IN VARCHAR2
95014 --Invoice Distribution Account
95015 , p_source_25 IN NUMBER
95016 --Internal Realized Loss Account
95017 , p_source_33 IN NUMBER
95018 --Bank Loss Account
95019 , p_source_34 IN NUMBER
95020 --When to Account for Payment Option
95021 , p_source_57 IN VARCHAR2
95022 --Accounting Reversal Indicator
95023 , p_source_58 IN VARCHAR2
95024 --Distribution Link Type
95025 , p_source_60 IN VARCHAR2
95026 --Override Accounted Amount Indicator
95027 , p_source_85 IN VARCHAR2
95028 , p_source_85_meaning IN VARCHAR2
95029 --Third Party Type
95030 , p_source_88 IN VARCHAR2
95031 --Invoice Distribution Tax Line Identifier
95032 , p_source_91 IN NUMBER
95033 --Invoice Distribution Summary Tax Line Identifier
95034 , p_source_93 IN NUMBER
95035 --Business Flow Accounts Payable Application Identifier
95036 , p_source_96 IN NUMBER
95037 --Payment Distribution Type
95038 , p_source_101 IN VARCHAR2
95039 , p_source_101_meaning IN VARCHAR2
95040 --Payment Distribution Amount
95041 , p_source_102 IN NUMBER
95042 --Business Flow Payment Distribution Type
95043 , p_source_103 IN VARCHAR2
95044 --Business Flow Payment Entity Code
95045 , p_source_104 IN VARCHAR2
95046 --Business Flow Payment Distribution Identifier
95047 , p_source_105 IN NUMBER
95048 --Business Flow Payment Identifier
95049 , p_source_106 IN NUMBER
95050 --Payment Distribution Identifier
95051 , p_source_107 IN NUMBER
95052 --Cleared Exchange Date
95053 , p_source_109 IN DATE
95054 --Cleared Exchange Rate
95055 , p_source_110 IN NUMBER
95056 --Cleared Exchange Rate Type
95057 , p_source_111 IN VARCHAR2
95058 --Payment Supplier Identifier
95059 , p_source_113 IN NUMBER
95060 --Payment Supplier Site Identifier
95061 , p_source_114 IN NUMBER
95062 --Payment Distribution Reversed Identifier
95063 , p_source_115 IN NUMBER
95064 --Payment Maturity Date
95065 , p_source_117 IN DATE
95066 --Gain or Loss Indicator between Maturity and Clearing
95067 , p_source_159 IN VARCHAR2
95068 --Maturity/Clearing Ledger Amount Difference
95069 , p_source_160 IN NUMBER
95070 )
95071 IS
95072
95073 l_component_type VARCHAR2(80);
95074 l_component_code VARCHAR2(30);
95075 l_component_type_code VARCHAR2(1);
95076 l_component_appl_id INTEGER;
95077 l_amb_context_code VARCHAR2(30);
95081 l_event_type_code VARCHAR2(30);
95078 l_entity_code VARCHAR2(30);
95079 l_event_class_code VARCHAR2(30);
95080 l_ae_header_id NUMBER;
95082 l_line_definition_code VARCHAR2(30);
95083 l_line_definition_owner_code VARCHAR2(1);
95084 --
95085 -- adr variables
95086 l_segment VARCHAR2(30);
95087 l_ccid NUMBER;
95088 l_adr_transaction_coa_id NUMBER;
95089 l_adr_accounting_coa_id NUMBER;
95090 l_adr_flexfield_segment_code VARCHAR2(30);
95091 l_adr_flex_value_set_id NUMBER;
95092 l_adr_value_type_code VARCHAR2(30);
95093 l_adr_value_combination_id NUMBER;
95094 l_adr_value_segment_code VARCHAR2(30);
95095
95096 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
95097 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
95098 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
95099 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
95100
95101 -- 4262811 Variables ------------------------------------------------------------------------------------------
95102 l_entered_amt_idx NUMBER;
95103 l_accted_amt_idx NUMBER;
95104 l_acc_rev_flag VARCHAR2(1);
95105 l_accrual_line_num NUMBER;
95106 l_tmp_amt NUMBER;
95107 l_acc_rev_natural_side_code VARCHAR2(1);
95108
95109 l_num_entries NUMBER;
95110 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
95111 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
95112 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
95113 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
95114 l_recog_line_1 NUMBER;
95115 l_recog_line_2 NUMBER;
95116
95117 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
95118 l_bflow_applied_to_amt NUMBER; -- 5132302
95119 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
95120
95121 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
95122
95123 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
95124 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
95125
95126 ---------------------------------------------------------------------------------------------------------------
95127
95128
95129 --
95130 -- bulk performance
95131 --
95132 l_balance_type_code VARCHAR2(1);
95133 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
95134 l_log_module VARCHAR2(240);
95135
95136 --
95137 -- Upgrade strategy
95138 --
95139 l_actual_upg_option VARCHAR2(1);
95140 l_enc_upg_option VARCHAR2(1);
95141
95142 --
95143 BEGIN
95144 --
95145 IF g_log_enabled THEN
95146 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_173';
95147 END IF;
95148 --
95149 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
95150
95151 trace
95152 (p_msg => 'BEGIN of AcctLineType_173'
95153 ,p_level => C_LEVEL_PROCEDURE
95154 ,p_module => l_log_module);
95155
95156 END IF;
95157 --
95158 l_component_type := 'AMB_JLT';
95159 l_component_code := 'AP_LOSS_MAT_CLEAR';
95160 l_component_type_code := 'S';
95161 l_component_appl_id := 200;
95162 l_amb_context_code := 'DEFAULT';
95163 l_entity_code := 'AP_PAYMENTS';
95164 l_event_class_code := 'RECONCILED PAYMENTS';
95165 l_event_type_code := 'RECONCILED PAYMENTS_ALL';
95166 l_line_definition_owner_code := 'S';
95167 l_line_definition_code := 'ACCRUAL_RECONCILED PAYMENTS_A4';
95168 --
95169 l_balance_type_code := 'A';
95170 l_segment := NULL;
95171 l_ccid := NULL;
95172 l_adr_transaction_coa_id := NULL;
95173 l_adr_accounting_coa_id := NULL;
95174 l_adr_flexfield_segment_code := NULL;
95175 l_adr_flex_value_set_id := NULL;
95176 l_adr_value_type_code := NULL;
95177 l_adr_value_combination_id := NULL;
95178 l_adr_value_segment_code := NULL;
95179
95180 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
95181 l_bflow_class_code := ''; -- 4219869 Business Flow
95182 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
95183 l_budgetary_control_flag := 'N';
95184
95185 l_bflow_applied_to_amt_idx := NULL; -- 5132302
95186 l_bflow_applied_to_amt := NULL; -- 5132302
95187 l_entered_amt_idx := NULL; -- 4262811
95188 l_accted_amt_idx := NULL; -- 4262811
95189 l_acc_rev_flag := NULL; -- 4262811
95190 l_accrual_line_num := NULL; -- 4262811
95191 l_tmp_amt := NULL; -- 4262811
95192 --
95193 IF ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
95194 (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
95195 return;
95196 END IF;
95197
95198 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
95199 l_balance_type_code <> 'B' THEN
95200 IF NVL(p_source_57,'
95204 ') = 'LOSS' AND
95201 ') = 'ALWAYS_ALWAYS' AND
95202 p_source_117 IS NOT NULL AND
95203 NVL(p_source_159,'
95205 NVL(p_source_101,'
95206 ') <> 'EXCHANGE RATE VARIANCE' AND
95207 NVL(p_source_101,'
95208 ') <> 'TAX EXCHANGE RATE VARIANCE' AND
95209 NVL(p_source_101,'
95210 ') <> 'BANK CHARGE' AND
95211 NVL(p_source_101,'
95212 ') <> 'BANK ERROR'
95213 THEN
95214
95215 --
95216 XLA_AE_LINES_PKG.SetNewLine;
95217
95218 p_balance_type_code := l_balance_type_code;
95219 -- set the flag so later we will know whether the gain loss line needs to be created
95220
95221 IF(l_balance_type_code = 'A' ) THEN
95222 p_actual_flag :='G';
95223 END IF;
95224
95225 --
95226 -- bulk performance
95227 --
95228 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
95229 p_header_num => 0); -- 4262811
95230 --
95231 -- set accounting line options
95232 --
95233 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
95234 p_natural_side_code => 'C'
95235 , p_gain_or_loss_flag => 'Y'
95236 , p_gl_transfer_mode_code => 'S'
95237 , p_acct_entry_type_code => 'A'
95238 , p_switch_side_flag => 'Y'
95239 , p_merge_duplicate_code => 'A'
95240 );
95241 --
95242 l_acc_rev_natural_side_code := 'D'; -- 4262811
95243 --
95244 --
95245 -- set accounting line type info
95246 --
95247 xla_ae_lines_pkg.SetAcctLineType
95248 (p_component_type => l_component_type
95249 ,p_event_type_code => l_event_type_code
95250 ,p_line_definition_owner_code => l_line_definition_owner_code
95251 ,p_line_definition_code => l_line_definition_code
95252 ,p_accounting_line_code => l_component_code
95253 ,p_accounting_line_type_code => l_component_type_code
95254 ,p_accounting_line_appl_id => l_component_appl_id
95255 ,p_amb_context_code => l_amb_context_code
95256 ,p_entity_code => l_entity_code
95257 ,p_event_class_code => l_event_class_code);
95258 --
95259 -- set accounting class
95260 --
95261 xla_ae_lines_pkg.SetAcctClass(
95262 p_accounting_class_code => 'LOSS'
95263 , p_ae_header_id => l_ae_header_id
95264 );
95265
95266 --
95267 -- set rounding class
95268 --
95269 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
95270 'LOSS';
95271
95272 --
95273 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
95274 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
95275 --
95276 -- bulk performance
95277 --
95278 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
95279
95280 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
95281 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
95282
95283 -- 4955764
95284 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
95285 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
95286
95287 -- 4458381 Public Sector Enh
95288
95289 --
95290 -- set accounting attributes for the line type
95291 --
95292 l_entered_amt_idx := 10;
95293 l_accted_amt_idx := 15;
95294 l_bflow_applied_to_amt_idx := 2; -- 5132302
95295 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
95296 l_rec_acct_attrs.array_char_value(1) := p_source_58;
95297 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
95298 l_rec_acct_attrs.array_num_value(2) := p_source_102;
95299 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
95300 l_rec_acct_attrs.array_num_value(3) := p_source_96;
95301 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
95302 l_rec_acct_attrs.array_char_value(4) := p_source_103;
95303 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
95304 l_rec_acct_attrs.array_char_value(5) := p_source_104;
95305 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
95306 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_105);
95307 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
95308 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_106);
95309 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
95310 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_107);
95311 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
95312 l_rec_acct_attrs.array_char_value(9) := p_source_60;
95313 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
95314 l_rec_acct_attrs.array_num_value(10) := p_source_102;
95315 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
95316 l_rec_acct_attrs.array_char_value(11) := p_source_8;
95317 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
95318 l_rec_acct_attrs.array_date_value(12) := p_source_109;
95319 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
95323 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
95320 l_rec_acct_attrs.array_num_value(13) := p_source_110;
95321 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
95322 l_rec_acct_attrs.array_char_value(14) := p_source_111;
95324 l_rec_acct_attrs.array_num_value(15) := p_source_160;
95325 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
95326 l_rec_acct_attrs.array_char_value(16) := p_source_85;
95327 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
95328 l_rec_acct_attrs.array_num_value(17) := p_source_113;
95329 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
95330 l_rec_acct_attrs.array_num_value(18) := p_source_114;
95331 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
95332 l_rec_acct_attrs.array_char_value(19) := p_source_88;
95333 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
95334 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_115);
95335 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
95336 l_rec_acct_attrs.array_char_value(21) := p_source_60;
95337 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
95338 l_rec_acct_attrs.array_num_value(22) := p_source_91;
95339 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
95340 l_rec_acct_attrs.array_num_value(23) := p_source_91;
95341 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
95342 l_rec_acct_attrs.array_num_value(24) := p_source_93;
95343
95344 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
95345 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
95346
95347 ---------------------------------------------------------------------------------------------------------------
95348 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
95349 ---------------------------------------------------------------------------------------------------------------
95350 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
95351
95352 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
95353 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
95354
95355 IF xla_accounting_cache_pkg.GetValueChar
95356 (p_source_code => 'LEDGER_CATEGORY_CODE'
95357 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
95358 AND l_bflow_method_code = 'PRIOR_ENTRY'
95359 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
95360 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
95361 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
95362 )
95363 THEN
95364 xla_ae_lines_pkg.BflowUpgEntry
95365 (p_business_method_code => l_bflow_method_code
95366 ,p_business_class_code => l_bflow_class_code
95367 ,p_balance_type => l_balance_type_code);
95368 ELSE
95369 NULL;
95370 -- No business flow processing for business flow method of NONE.
95371 END IF;
95372
95373 --
95374 -- call analytical criteria
95375 --
95376
95377 --
95378 -- call description
95379 --
95380 -- No description or it is inherited.
95381 --
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_41(
95395 p_application_id => p_application_id
95396 , p_ae_header_id => l_ae_header_id
95397 , p_source_10 => p_source_10
95398 , p_source_10_meaning => p_source_10_meaning
95399 , p_source_25 => p_source_25
95400 , p_source_33 => p_source_33
95401 , p_source_34 => p_source_34
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_23(
95425 p_application_id => p_application_id
95426 , p_ae_header_id => l_ae_header_id
95427 , p_source_10 => p_source_10
95428 , p_source_10_meaning => p_source_10_meaning
95429 , p_source_25 => p_source_25
95433 , x_flex_value_set_id => l_adr_flex_value_set_id
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
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
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
95451 , p_flexfield_segment_code => l_adr_flexfield_segment_code
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_10 => p_source_10
95471 , p_source_10_meaning => p_source_10_meaning
95472 , p_source_33 => p_source_33
95473 , p_source_34 => p_source_34
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 -- Bug 4922099
95516 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
95517 (NVL(l_enc_upg_option, 'N') = 'O')
95518 ) AND
95519 (l_bflow_method_code = 'PRIOR_ENTRY')
95520 )
95521 THEN
95522 IF
95523 --
95524 1 = 2
95525 --
95526 THEN
95527 xla_accounting_err_pkg.build_message
95528 (p_appli_s_name => 'XLA'
95529 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
95530 ,p_token_1 => 'LINE_NUMBER'
95531 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
95532 ,p_token_2 => 'LINE_TYPE_NAME'
95533 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
95534 l_component_type
95535 ,l_component_code
95536 ,l_component_type_code
95537 ,l_component_appl_id
95541 )
95538 ,l_amb_context_code
95539 ,l_entity_code
95540 ,l_event_class_code
95542 ,p_token_3 => 'OWNER'
95543 ,p_value_3 => xla_lookups_pkg.get_meaning(
95544 p_lookup_type => 'XLA_OWNER_TYPE'
95545 ,p_lookup_code => l_component_type_code
95546 )
95547 ,p_token_4 => 'PRODUCT_NAME'
95548 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
95549 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
95550 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
95551 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
95552 ,p_ae_header_id => NULL
95553 );
95554
95555 IF (C_LEVEL_ERROR>= g_log_level) THEN
95556 trace
95557 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
95558 ,p_level => C_LEVEL_ERROR
95559 ,p_module => l_log_module);
95560 END IF;
95561 END IF;
95562 END IF;
95563 --
95564 --
95565 ------------------------------------------------------------------------------------------------
95566 -- 4219869 Business Flow
95567 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
95568 -- Prior Entry. Currently, the following code is always generated.
95569 ------------------------------------------------------------------------------------------------
95570 XLA_AE_LINES_PKG.ValidateCurrentLine;
95571
95572 ------------------------------------------------------------------------------------
95573 -- 4219869 Business Flow
95574 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
95575 ------------------------------------------------------------------------------------
95576 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
95577
95578 ----------------------------------------------------------------------------------
95579 -- 4219869 Business Flow
95580 -- Update journal entry status -- Need to generate this within IF <condition>
95581 ----------------------------------------------------------------------------------
95582 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
95583 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
95584 ,p_balance_type_code => l_balance_type_code
95585 );
95586
95587 -------------------------------------------------------------------------------------------
95588 -- 4262811 - Generate the Accrual Reversal lines
95589 -------------------------------------------------------------------------------------------
95590 BEGIN
95591 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
95592 (g_array_event(p_event_id).array_value_num('header_index'));
95593 IF l_acc_rev_flag IS NULL THEN
95594 l_acc_rev_flag := 'N';
95595 END IF;
95596 EXCEPTION
95597 WHEN OTHERS THEN
95598 l_acc_rev_flag := 'N';
95599 END;
95600 --
95601 IF (l_acc_rev_flag = 'Y') THEN
95602
95603 -- 4645092 ------------------------------------------------------------------------------
95604 -- To allow MPA report to determine if it should generate report process
95605 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
95606 ------------------------------------------------------------------------------------------
95607
95608 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
95609 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
95610 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
95611 -- call ADRs
95612 -- Bug 4922099
95613 --
95614 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
95615 (NVL(l_actual_upg_option, 'N') = 'O') OR
95616 (NVL(l_enc_upg_option, 'N') = 'O')
95617 )
95618 THEN
95619 NULL;
95620 --
95621 --
95622
95623 l_ccid := AcctDerRule_41(
95624 p_application_id => p_application_id
95625 , p_ae_header_id => l_ae_header_id
95626 , p_source_10 => p_source_10
95627 , p_source_10_meaning => p_source_10_meaning
95628 , p_source_25 => p_source_25
95629 , p_source_33 => p_source_33
95630 , p_source_34 => p_source_34
95631 , x_transaction_coa_id => l_adr_transaction_coa_id
95632 , x_accounting_coa_id => l_adr_accounting_coa_id
95633 , x_value_type_code => l_adr_value_type_code
95634 , p_side => 'NA'
95635 );
95636
95637 xla_ae_lines_pkg.set_ccid(
95638 p_code_combination_id => l_ccid
95639 , p_value_type_code => l_adr_value_type_code
95643 , p_adr_type_code => 'S'
95640 , p_transaction_coa_id => l_adr_transaction_coa_id
95641 , p_accounting_coa_id => l_adr_accounting_coa_id
95642 , p_adr_code => 'AP_REAL_LOSS'
95644 , p_component_type => l_component_type
95645 , p_component_code => l_component_code
95646 , p_component_type_code => l_component_type_code
95647 , p_component_appl_id => l_component_appl_id
95648 , p_amb_context_code => l_amb_context_code
95649 , p_side => 'NA'
95650 );
95651
95652
95653 l_segment := AcctDerRule_23(
95654 p_application_id => p_application_id
95655 , p_ae_header_id => l_ae_header_id
95656 , p_source_10 => p_source_10
95657 , p_source_10_meaning => p_source_10_meaning
95658 , p_source_25 => p_source_25
95659 , x_transaction_coa_id => l_adr_transaction_coa_id
95660 , x_accounting_coa_id => l_adr_accounting_coa_id
95661 , x_flexfield_segment_code => l_adr_flexfield_segment_code
95662 , x_flex_value_set_id => l_adr_flex_value_set_id
95663 , x_value_type_code => l_adr_value_type_code
95664 , x_value_combination_id => l_adr_value_combination_id
95665 , x_value_segment_code => l_adr_value_segment_code
95666 , p_side => 'NA'
95667 , p_override_seg_flag => 'Y'
95668 );
95669
95670 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
95671
95672 xla_ae_lines_pkg.set_segment(
95673 p_to_segment_code => 'GL_BALANCING'
95674 , p_segment_value => l_segment
95675 , p_from_segment_code => l_adr_value_segment_code
95676 , p_from_combination_id => l_adr_value_combination_id
95677 , p_value_type_code => l_adr_value_type_code
95678 , p_transaction_coa_id => l_adr_transaction_coa_id
95679 , p_accounting_coa_id => l_adr_accounting_coa_id
95680 , p_flexfield_segment_code => l_adr_flexfield_segment_code
95681 , p_flex_value_set_id => l_adr_flex_value_set_id
95682 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
95683 , p_adr_type_code => 'S'
95684 , p_component_type => l_component_type
95685 , p_component_code => l_component_code
95686 , p_component_type_code => l_component_type_code
95687 , p_component_appl_id => l_component_appl_id
95688 , p_amb_context_code => l_amb_context_code
95689 , p_entity_code => 'AP_PAYMENTS'
95690 , p_event_class_code => 'RECONCILED PAYMENTS'
95691 , p_side => 'NA'
95692 );
95693
95694 END IF;
95695
95696 l_segment := AcctDerRule_18(
95697 p_application_id => p_application_id
95698 , p_ae_header_id => l_ae_header_id
95699 , p_source_10 => p_source_10
95700 , p_source_10_meaning => p_source_10_meaning
95701 , p_source_33 => p_source_33
95702 , p_source_34 => p_source_34
95703 , x_transaction_coa_id => l_adr_transaction_coa_id
95704 , x_accounting_coa_id => l_adr_accounting_coa_id
95705 , x_flexfield_segment_code => l_adr_flexfield_segment_code
95706 , x_flex_value_set_id => l_adr_flex_value_set_id
95707 , x_value_type_code => l_adr_value_type_code
95708 , x_value_combination_id => l_adr_value_combination_id
95709 , x_value_segment_code => l_adr_value_segment_code
95710 , p_side => 'NA'
95711 , p_override_seg_flag => 'Y'
95712 );
95713
95714 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
95715
95716 xla_ae_lines_pkg.set_segment(
95717 p_to_segment_code => 'GL_ACCOUNT'
95718 , p_segment_value => l_segment
95719 , p_from_segment_code => l_adr_value_segment_code
95720 , p_from_combination_id => l_adr_value_combination_id
95721 , p_value_type_code => l_adr_value_type_code
95722 , p_transaction_coa_id => l_adr_transaction_coa_id
95723 , p_accounting_coa_id => l_adr_accounting_coa_id
95724 , p_flexfield_segment_code => l_adr_flexfield_segment_code
95725 , p_flex_value_set_id => l_adr_flex_value_set_id
95726 , p_adr_code => 'AP_REAL_LOSS_NAT_ACCT_SEG'
95727 , p_adr_type_code => 'S'
95728 , p_component_type => l_component_type
95729 , p_component_code => l_component_code
95730 , p_component_type_code => l_component_type_code
95731 , p_component_appl_id => l_component_appl_id
95732 , p_amb_context_code => l_amb_context_code
95733 , p_entity_code => 'AP_PAYMENTS'
95734 , p_event_class_code => 'RECONCILED PAYMENTS'
95735 , p_side => 'NA'
95736 );
95737
95738 END IF;
95739
95740 --
95741 --
95742 END IF;
95743
95744 --
95745 -- Update the line information that should be overwritten
95746 --
95747 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
95748 p_header_num => 1);
95749 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
95750
95751 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
95755 END IF;
95752
95753 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
95754 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
95756
95757 --
95758 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
95759 --
95760 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
95761 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
95762 ELSE
95763 ---------------------------------------------------------------------------------------------------
95764 -- 4262811a Switch Sign
95765 ---------------------------------------------------------------------------------------------------
95766 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
95767 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
95768 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
95769 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
95770 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
95771 -- 5132302
95772 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
95773 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
95774
95775 END IF;
95776
95777 -- 4955764
95778 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
95779 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
95780
95781
95782 XLA_AE_LINES_PKG.ValidateCurrentLine;
95783 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
95784
95785 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
95786 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
95787 ,p_balance_type_code => l_balance_type_code);
95788
95789 END IF;
95790
95791 -----------------------------------------------------------------------------------------
95792 -- 4262811 Multiperiod Accounting
95793 -----------------------------------------------------------------------------------------
95794 -- No MPA option is assigned.
95795
95796
95797 END IF;
95798 END IF;
95799 --
95800
95801 --
95802 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
95803 trace
95804 (p_msg => 'END of AcctLineType_173'
95805 ,p_level => C_LEVEL_PROCEDURE
95806 ,p_module => l_log_module);
95807 END IF;
95808 --
95809 EXCEPTION
95810 WHEN xla_exceptions_pkg.application_exception THEN
95811 RAISE;
95812 WHEN OTHERS THEN
95813 xla_exceptions_pkg.raise_message
95814 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_173');
95815 END AcctLineType_173;
95816 --
95817
95818 ---------------------------------------
95819 --
95820 -- PRIVATE FUNCTION
95821 -- AcctLineType_174
95822 --
95823 ---------------------------------------
95824 PROCEDURE AcctLineType_174 (
95825 p_application_id IN NUMBER
95826 ,p_event_id IN NUMBER
95827 ,p_calculate_acctd_flag IN VARCHAR2
95828 ,p_calculate_g_l_flag IN VARCHAR2
95829 ,p_actual_flag IN OUT VARCHAR2
95830 ,p_balance_type_code OUT VARCHAR2
95831 ,p_gain_or_loss_ref OUT VARCHAR2
95832
95833 --Payment Currency Code
95834 , p_source_8 IN VARCHAR2
95835 --Automatic Offsets Value
95836 , p_source_10 IN VARCHAR2
95837 , p_source_10_meaning IN VARCHAR2
95838 --Invoice Distribution Account
95839 , p_source_25 IN NUMBER
95840 --Internal Realized Loss Account
95841 , p_source_33 IN NUMBER
95842 --Bank Loss Account
95843 , p_source_34 IN NUMBER
95844 --When to Account for Payment Option
95845 , p_source_57 IN VARCHAR2
95846 --Accounting Reversal Indicator
95847 , p_source_58 IN VARCHAR2
95848 --Distribution Link Type
95849 , p_source_60 IN VARCHAR2
95850 --Override Accounted Amount Indicator
95851 , p_source_85 IN VARCHAR2
95852 , p_source_85_meaning IN VARCHAR2
95853 --Third Party Type
95854 , p_source_88 IN VARCHAR2
95855 --Invoice Distribution Tax Line Identifier
95856 , p_source_91 IN NUMBER
95857 --Invoice Distribution Tax Distribution Identifier from Tax
95858 , p_source_92 IN NUMBER
95859 --Invoice Distribution Summary Tax Line Identifier
95860 , p_source_93 IN NUMBER
95861 --Business Flow Accounts Payable Application Identifier
95862 , p_source_96 IN NUMBER
95863 --Business Flow Invoice Distribution Type
95864 , p_source_97 IN VARCHAR2
95865 --Business Flow Invoice Entity Code
95866 , p_source_98 IN VARCHAR2
95867 --Business Flow Invoice Distribution Identifier
95868 , p_source_99 IN NUMBER
95869 --Business Flow Invoice Identifier
95870 , p_source_100 IN NUMBER
95871 --Payment Distribution Type
95872 , p_source_101 IN VARCHAR2
95873 , p_source_101_meaning IN VARCHAR2
95874 --Payment Distribution Amount
95878 --Payment Supplier Identifier
95875 , p_source_102 IN NUMBER
95876 --Payment Distribution Identifier
95877 , p_source_107 IN NUMBER
95879 , p_source_113 IN NUMBER
95880 --Payment Supplier Site Identifier
95881 , p_source_114 IN NUMBER
95882 --Payment Distribution Reversed Identifier
95883 , p_source_115 IN NUMBER
95884 --Payment Exchange Date
95885 , p_source_120 IN DATE
95886 --Payment Exchange Rate
95887 , p_source_121 IN NUMBER
95888 --Payment Exchange Rate Type
95889 , p_source_122 IN VARCHAR2
95890 --Payment Type
95891 , p_source_125 IN VARCHAR2
95892 , p_source_125_meaning IN VARCHAR2
95893 --Invoice Distribution Amount of the Payment Distribution
95894 , p_source_127 IN NUMBER
95895 --Invoice/Payment Ledger Amount Difference
95896 , p_source_156 IN NUMBER
95897 --Gain or Loss Indicator between Invoice and Payment
95898 , p_source_161 IN VARCHAR2
95899 )
95900 IS
95901
95902 l_component_type VARCHAR2(80);
95903 l_component_code VARCHAR2(30);
95904 l_component_type_code VARCHAR2(1);
95905 l_component_appl_id INTEGER;
95906 l_amb_context_code VARCHAR2(30);
95907 l_entity_code VARCHAR2(30);
95908 l_event_class_code VARCHAR2(30);
95909 l_ae_header_id NUMBER;
95910 l_event_type_code VARCHAR2(30);
95911 l_line_definition_code VARCHAR2(30);
95912 l_line_definition_owner_code VARCHAR2(1);
95913 --
95914 -- adr variables
95915 l_segment VARCHAR2(30);
95916 l_ccid NUMBER;
95917 l_adr_transaction_coa_id NUMBER;
95918 l_adr_accounting_coa_id NUMBER;
95919 l_adr_flexfield_segment_code VARCHAR2(30);
95920 l_adr_flex_value_set_id NUMBER;
95921 l_adr_value_type_code VARCHAR2(30);
95922 l_adr_value_combination_id NUMBER;
95923 l_adr_value_segment_code VARCHAR2(30);
95924
95925 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
95926 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
95927 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
95928 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
95929
95930 -- 4262811 Variables ------------------------------------------------------------------------------------------
95931 l_entered_amt_idx NUMBER;
95932 l_accted_amt_idx NUMBER;
95933 l_acc_rev_flag VARCHAR2(1);
95934 l_accrual_line_num NUMBER;
95935 l_tmp_amt NUMBER;
95936 l_acc_rev_natural_side_code VARCHAR2(1);
95937
95938 l_num_entries NUMBER;
95939 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
95940 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
95941 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
95942 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
95943 l_recog_line_1 NUMBER;
95944 l_recog_line_2 NUMBER;
95945
95946 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
95947 l_bflow_applied_to_amt NUMBER; -- 5132302
95948 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
95949
95950 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
95951
95952 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
95953 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
95954
95955 ---------------------------------------------------------------------------------------------------------------
95956
95957
95958 --
95959 -- bulk performance
95960 --
95961 l_balance_type_code VARCHAR2(1);
95962 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
95963 l_log_module VARCHAR2(240);
95964
95965 --
95966 -- Upgrade strategy
95967 --
95968 l_actual_upg_option VARCHAR2(1);
95969 l_enc_upg_option VARCHAR2(1);
95970
95971 --
95972 BEGIN
95973 --
95974 IF g_log_enabled THEN
95975 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_174';
95976 END IF;
95977 --
95978 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
95979
95980 trace
95981 (p_msg => 'BEGIN of AcctLineType_174'
95982 ,p_level => C_LEVEL_PROCEDURE
95983 ,p_module => l_log_module);
95984
95985 END IF;
95986 --
95987 l_component_type := 'AMB_JLT';
95988 l_component_code := 'AP_LOSS_PMT';
95989 l_component_type_code := 'S';
95990 l_component_appl_id := 200;
95991 l_amb_context_code := 'DEFAULT';
95992 l_entity_code := 'AP_PAYMENTS';
95993 l_event_class_code := 'PAYMENTS';
95994 l_event_type_code := 'PAYMENTS_ALL';
95995 l_line_definition_owner_code := 'S';
95996 l_line_definition_code := 'ACCRUAL_PAYMENTS_ALL';
95997 --
95998 l_balance_type_code := 'A';
95999 l_segment := NULL;
96000 l_ccid := NULL;
96001 l_adr_transaction_coa_id := NULL;
96002 l_adr_accounting_coa_id := NULL;
96003 l_adr_flexfield_segment_code := NULL;
96007 l_adr_value_segment_code := NULL;
96004 l_adr_flex_value_set_id := NULL;
96005 l_adr_value_type_code := NULL;
96006 l_adr_value_combination_id := NULL;
96008
96009 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
96010 l_bflow_class_code := ''; -- 4219869 Business Flow
96011 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
96012 l_budgetary_control_flag := 'N';
96013
96014 l_bflow_applied_to_amt_idx := NULL; -- 5132302
96015 l_bflow_applied_to_amt := NULL; -- 5132302
96016 l_entered_amt_idx := NULL; -- 4262811
96017 l_accted_amt_idx := NULL; -- 4262811
96018 l_acc_rev_flag := NULL; -- 4262811
96019 l_accrual_line_num := NULL; -- 4262811
96020 l_tmp_amt := NULL; -- 4262811
96021 --
96022 IF ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
96023 (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
96024 return;
96025 END IF;
96026
96027 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
96028 l_balance_type_code <> 'B' THEN
96029 IF (NVL(p_source_57,'
96030 ') <> 'CLEAR_CLEAR' AND
96031 NVL(p_source_57,'
96032 ') <> 'ALWAYS_CLEAR') AND
96033 NVL(p_source_161,'
96034 ') = 'LOSS' AND
96035 NVL(p_source_101,'
96036 ') <> 'EXCHANGE RATE VARIANCE' AND
96037 NVL(p_source_101,'
96038 ') <> 'TAX EXCHANGE RATE VARIANCE' AND
96039 NVL(p_source_101,'
96040 ') <> 'BANK CHARGE' AND
96041 NVL(p_source_101,'
96042 ') <> 'BANK ERROR' AND
96043 NVL(p_source_101,'
96044 ') <> 'AWT' AND
96045 NVL(p_source_125,'
96046 ') <> 'R'
96047 THEN
96048
96049 --
96050 XLA_AE_LINES_PKG.SetNewLine;
96051
96052 p_balance_type_code := l_balance_type_code;
96053 -- set the flag so later we will know whether the gain loss line needs to be created
96054
96055 IF(l_balance_type_code = 'A' ) THEN
96056 p_actual_flag :='G';
96057 END IF;
96058
96059 --
96060 -- bulk performance
96061 --
96062 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
96063 p_header_num => 0); -- 4262811
96064 --
96065 -- set accounting line options
96066 --
96067 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
96068 p_natural_side_code => 'C'
96069 , p_gain_or_loss_flag => 'Y'
96070 , p_gl_transfer_mode_code => 'S'
96071 , p_acct_entry_type_code => 'A'
96072 , p_switch_side_flag => 'Y'
96073 , p_merge_duplicate_code => 'A'
96074 );
96075 --
96076 l_acc_rev_natural_side_code := 'D'; -- 4262811
96077 --
96078 --
96079 -- set accounting line type info
96080 --
96081 xla_ae_lines_pkg.SetAcctLineType
96082 (p_component_type => l_component_type
96083 ,p_event_type_code => l_event_type_code
96084 ,p_line_definition_owner_code => l_line_definition_owner_code
96085 ,p_line_definition_code => l_line_definition_code
96086 ,p_accounting_line_code => l_component_code
96087 ,p_accounting_line_type_code => l_component_type_code
96088 ,p_accounting_line_appl_id => l_component_appl_id
96089 ,p_amb_context_code => l_amb_context_code
96090 ,p_entity_code => l_entity_code
96091 ,p_event_class_code => l_event_class_code);
96092 --
96093 -- set accounting class
96094 --
96095 xla_ae_lines_pkg.SetAcctClass(
96096 p_accounting_class_code => 'LOSS'
96097 , p_ae_header_id => l_ae_header_id
96098 );
96099
96100 --
96101 -- set rounding class
96102 --
96103 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
96104 'LOSS';
96105
96106 --
96107 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
96108 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
96109 --
96110 -- bulk performance
96111 --
96112 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
96113
96114 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
96115 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
96116
96117 -- 4955764
96118 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
96119 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
96120
96121 -- 4458381 Public Sector Enh
96122
96123 --
96124 -- set accounting attributes for the line type
96125 --
96126 l_entered_amt_idx := 10;
96127 l_accted_amt_idx := 15;
96128 l_bflow_applied_to_amt_idx := 2; -- 5132302
96129 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
96130 l_rec_acct_attrs.array_char_value(1) := p_source_58;
96134 l_rec_acct_attrs.array_num_value(3) := p_source_96;
96131 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
96132 l_rec_acct_attrs.array_num_value(2) := p_source_127;
96133 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
96135 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
96136 l_rec_acct_attrs.array_char_value(4) := p_source_97;
96137 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
96138 l_rec_acct_attrs.array_char_value(5) := p_source_98;
96139 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
96140 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_99);
96141 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
96142 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_100);
96143 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
96144 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_107);
96145 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
96146 l_rec_acct_attrs.array_char_value(9) := p_source_60;
96147 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
96148 l_rec_acct_attrs.array_num_value(10) := p_source_102;
96149 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
96150 l_rec_acct_attrs.array_char_value(11) := p_source_8;
96151 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
96152 l_rec_acct_attrs.array_date_value(12) := p_source_120;
96153 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
96154 l_rec_acct_attrs.array_num_value(13) := p_source_121;
96155 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
96156 l_rec_acct_attrs.array_char_value(14) := p_source_122;
96157 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
96158 l_rec_acct_attrs.array_num_value(15) := p_source_156;
96159 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
96160 l_rec_acct_attrs.array_char_value(16) := p_source_85;
96161 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
96162 l_rec_acct_attrs.array_num_value(17) := p_source_113;
96163 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
96164 l_rec_acct_attrs.array_num_value(18) := p_source_114;
96165 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
96166 l_rec_acct_attrs.array_char_value(19) := p_source_88;
96167 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
96168 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_115);
96169 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
96170 l_rec_acct_attrs.array_char_value(21) := p_source_60;
96171 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
96172 l_rec_acct_attrs.array_num_value(22) := p_source_91;
96173 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
96174 l_rec_acct_attrs.array_num_value(23) := p_source_92;
96175 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
96176 l_rec_acct_attrs.array_num_value(24) := p_source_93;
96177
96178 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
96179 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
96180
96181 ---------------------------------------------------------------------------------------------------------------
96182 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
96183 ---------------------------------------------------------------------------------------------------------------
96184 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
96185
96186 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
96187 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
96188
96189 IF xla_accounting_cache_pkg.GetValueChar
96190 (p_source_code => 'LEDGER_CATEGORY_CODE'
96191 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
96192 AND l_bflow_method_code = 'PRIOR_ENTRY'
96193 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
96194 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
96195 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
96196 )
96197 THEN
96198 xla_ae_lines_pkg.BflowUpgEntry
96199 (p_business_method_code => l_bflow_method_code
96200 ,p_business_class_code => l_bflow_class_code
96201 ,p_balance_type => l_balance_type_code);
96202 ELSE
96203 NULL;
96204 -- No business flow processing for business flow method of NONE.
96205 END IF;
96206
96207 --
96208 -- call analytical criteria
96209 --
96210
96211 --
96212 -- call description
96213 --
96214 -- No description or it is inherited.
96215 --
96216 -- call ADRs
96217 -- Bug 4922099
96218 --
96219 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
96220 (NVL(l_actual_upg_option, 'N') = 'O') OR
96221 (NVL(l_enc_upg_option, 'N') = 'O')
96222 )
96223 THEN
96224 NULL;
96225 --
96226 --
96227
96228 l_ccid := AcctDerRule_41(
96229 p_application_id => p_application_id
96230 , p_ae_header_id => l_ae_header_id
96231 , p_source_10 => p_source_10
96232 , p_source_10_meaning => p_source_10_meaning
96236 , x_transaction_coa_id => l_adr_transaction_coa_id
96233 , p_source_25 => p_source_25
96234 , p_source_33 => p_source_33
96235 , p_source_34 => p_source_34
96237 , x_accounting_coa_id => l_adr_accounting_coa_id
96238 , x_value_type_code => l_adr_value_type_code
96239 , p_side => 'NA'
96240 );
96241
96242 xla_ae_lines_pkg.set_ccid(
96243 p_code_combination_id => l_ccid
96244 , p_value_type_code => l_adr_value_type_code
96245 , p_transaction_coa_id => l_adr_transaction_coa_id
96246 , p_accounting_coa_id => l_adr_accounting_coa_id
96247 , p_adr_code => 'AP_REAL_LOSS'
96248 , p_adr_type_code => 'S'
96249 , p_component_type => l_component_type
96250 , p_component_code => l_component_code
96251 , p_component_type_code => l_component_type_code
96252 , p_component_appl_id => l_component_appl_id
96253 , p_amb_context_code => l_amb_context_code
96254 , p_side => 'NA'
96255 );
96256
96257
96258 l_segment := AcctDerRule_23(
96259 p_application_id => p_application_id
96260 , p_ae_header_id => l_ae_header_id
96261 , p_source_10 => p_source_10
96262 , p_source_10_meaning => p_source_10_meaning
96263 , p_source_25 => p_source_25
96264 , x_transaction_coa_id => l_adr_transaction_coa_id
96265 , x_accounting_coa_id => l_adr_accounting_coa_id
96266 , x_flexfield_segment_code => l_adr_flexfield_segment_code
96267 , x_flex_value_set_id => l_adr_flex_value_set_id
96268 , x_value_type_code => l_adr_value_type_code
96269 , x_value_combination_id => l_adr_value_combination_id
96270 , x_value_segment_code => l_adr_value_segment_code
96271 , p_side => 'NA'
96272 , p_override_seg_flag => 'Y'
96273 );
96274
96275 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
96276
96277 xla_ae_lines_pkg.set_segment(
96278 p_to_segment_code => 'GL_BALANCING'
96279 , p_segment_value => l_segment
96280 , p_from_segment_code => l_adr_value_segment_code
96281 , p_from_combination_id => l_adr_value_combination_id
96282 , p_value_type_code => l_adr_value_type_code
96283 , p_transaction_coa_id => l_adr_transaction_coa_id
96284 , p_accounting_coa_id => l_adr_accounting_coa_id
96285 , p_flexfield_segment_code => l_adr_flexfield_segment_code
96286 , p_flex_value_set_id => l_adr_flex_value_set_id
96287 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
96288 , p_adr_type_code => 'S'
96289 , p_component_type => l_component_type
96290 , p_component_code => l_component_code
96291 , p_component_type_code => l_component_type_code
96292 , p_component_appl_id => l_component_appl_id
96293 , p_amb_context_code => l_amb_context_code
96294 , p_entity_code => 'AP_PAYMENTS'
96295 , p_event_class_code => 'PAYMENTS'
96296 , p_side => 'NA'
96297 );
96298
96299 END IF;
96300
96301 l_segment := AcctDerRule_18(
96302 p_application_id => p_application_id
96303 , p_ae_header_id => l_ae_header_id
96304 , p_source_10 => p_source_10
96305 , p_source_10_meaning => p_source_10_meaning
96306 , p_source_33 => p_source_33
96307 , p_source_34 => p_source_34
96308 , x_transaction_coa_id => l_adr_transaction_coa_id
96309 , x_accounting_coa_id => l_adr_accounting_coa_id
96310 , x_flexfield_segment_code => l_adr_flexfield_segment_code
96311 , x_flex_value_set_id => l_adr_flex_value_set_id
96312 , x_value_type_code => l_adr_value_type_code
96313 , x_value_combination_id => l_adr_value_combination_id
96314 , x_value_segment_code => l_adr_value_segment_code
96315 , p_side => 'NA'
96316 , p_override_seg_flag => 'Y'
96317 );
96318
96319 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
96320
96321 xla_ae_lines_pkg.set_segment(
96322 p_to_segment_code => 'GL_ACCOUNT'
96323 , p_segment_value => l_segment
96324 , p_from_segment_code => l_adr_value_segment_code
96325 , p_from_combination_id => l_adr_value_combination_id
96326 , p_value_type_code => l_adr_value_type_code
96327 , p_transaction_coa_id => l_adr_transaction_coa_id
96328 , p_accounting_coa_id => l_adr_accounting_coa_id
96329 , p_flexfield_segment_code => l_adr_flexfield_segment_code
96330 , p_flex_value_set_id => l_adr_flex_value_set_id
96331 , p_adr_code => 'AP_REAL_LOSS_NAT_ACCT_SEG'
96332 , p_adr_type_code => 'S'
96333 , p_component_type => l_component_type
96334 , p_component_code => l_component_code
96335 , p_component_type_code => l_component_type_code
96336 , p_component_appl_id => l_component_appl_id
96337 , p_amb_context_code => l_amb_context_code
96338 , p_entity_code => 'AP_PAYMENTS'
96339 , p_event_class_code => 'PAYMENTS'
96340 , p_side => 'NA'
96344
96341 );
96342
96343 END IF;
96345 --
96346 --
96347 END IF;
96348 --
96349 -- Bug 4922099
96350 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
96351 (NVL(l_enc_upg_option, 'N') = 'O')
96352 ) AND
96353 (l_bflow_method_code = 'PRIOR_ENTRY')
96354 )
96355 THEN
96356 IF
96357 --
96358 1 = 2
96359 --
96360 THEN
96361 xla_accounting_err_pkg.build_message
96362 (p_appli_s_name => 'XLA'
96363 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
96364 ,p_token_1 => 'LINE_NUMBER'
96365 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
96366 ,p_token_2 => 'LINE_TYPE_NAME'
96367 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
96368 l_component_type
96369 ,l_component_code
96370 ,l_component_type_code
96371 ,l_component_appl_id
96372 ,l_amb_context_code
96373 ,l_entity_code
96374 ,l_event_class_code
96375 )
96376 ,p_token_3 => 'OWNER'
96377 ,p_value_3 => xla_lookups_pkg.get_meaning(
96378 p_lookup_type => 'XLA_OWNER_TYPE'
96379 ,p_lookup_code => l_component_type_code
96380 )
96381 ,p_token_4 => 'PRODUCT_NAME'
96382 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
96383 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
96384 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
96385 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
96386 ,p_ae_header_id => NULL
96387 );
96388
96389 IF (C_LEVEL_ERROR>= g_log_level) THEN
96390 trace
96391 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
96392 ,p_level => C_LEVEL_ERROR
96393 ,p_module => l_log_module);
96394 END IF;
96395 END IF;
96396 END IF;
96397 --
96398 --
96399 ------------------------------------------------------------------------------------------------
96400 -- 4219869 Business Flow
96401 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
96402 -- Prior Entry. Currently, the following code is always generated.
96403 ------------------------------------------------------------------------------------------------
96404 XLA_AE_LINES_PKG.ValidateCurrentLine;
96405
96406 ------------------------------------------------------------------------------------
96407 -- 4219869 Business Flow
96408 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
96409 ------------------------------------------------------------------------------------
96410 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
96411
96412 ----------------------------------------------------------------------------------
96413 -- 4219869 Business Flow
96414 -- Update journal entry status -- Need to generate this within IF <condition>
96415 ----------------------------------------------------------------------------------
96416 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
96417 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
96418 ,p_balance_type_code => l_balance_type_code
96419 );
96420
96421 -------------------------------------------------------------------------------------------
96422 -- 4262811 - Generate the Accrual Reversal lines
96423 -------------------------------------------------------------------------------------------
96424 BEGIN
96425 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
96426 (g_array_event(p_event_id).array_value_num('header_index'));
96427 IF l_acc_rev_flag IS NULL THEN
96428 l_acc_rev_flag := 'N';
96429 END IF;
96430 EXCEPTION
96431 WHEN OTHERS THEN
96432 l_acc_rev_flag := 'N';
96433 END;
96434 --
96435 IF (l_acc_rev_flag = 'Y') THEN
96436
96437 -- 4645092 ------------------------------------------------------------------------------
96438 -- To allow MPA report to determine if it should generate report process
96439 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
96443 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
96440 ------------------------------------------------------------------------------------------
96441
96442 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
96444 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
96445 -- call ADRs
96446 -- Bug 4922099
96447 --
96448 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
96449 (NVL(l_actual_upg_option, 'N') = 'O') OR
96450 (NVL(l_enc_upg_option, 'N') = 'O')
96451 )
96452 THEN
96453 NULL;
96454 --
96455 --
96456
96457 l_ccid := AcctDerRule_41(
96458 p_application_id => p_application_id
96459 , p_ae_header_id => l_ae_header_id
96460 , p_source_10 => p_source_10
96461 , p_source_10_meaning => p_source_10_meaning
96462 , p_source_25 => p_source_25
96463 , p_source_33 => p_source_33
96464 , p_source_34 => p_source_34
96465 , x_transaction_coa_id => l_adr_transaction_coa_id
96466 , x_accounting_coa_id => l_adr_accounting_coa_id
96467 , x_value_type_code => l_adr_value_type_code
96468 , p_side => 'NA'
96469 );
96470
96471 xla_ae_lines_pkg.set_ccid(
96472 p_code_combination_id => l_ccid
96473 , p_value_type_code => l_adr_value_type_code
96474 , p_transaction_coa_id => l_adr_transaction_coa_id
96475 , p_accounting_coa_id => l_adr_accounting_coa_id
96476 , p_adr_code => 'AP_REAL_LOSS'
96477 , p_adr_type_code => 'S'
96478 , p_component_type => l_component_type
96479 , p_component_code => l_component_code
96480 , p_component_type_code => l_component_type_code
96481 , p_component_appl_id => l_component_appl_id
96482 , p_amb_context_code => l_amb_context_code
96483 , p_side => 'NA'
96484 );
96485
96486
96487 l_segment := AcctDerRule_23(
96488 p_application_id => p_application_id
96489 , p_ae_header_id => l_ae_header_id
96490 , p_source_10 => p_source_10
96491 , p_source_10_meaning => p_source_10_meaning
96492 , p_source_25 => p_source_25
96493 , x_transaction_coa_id => l_adr_transaction_coa_id
96494 , x_accounting_coa_id => l_adr_accounting_coa_id
96495 , x_flexfield_segment_code => l_adr_flexfield_segment_code
96496 , x_flex_value_set_id => l_adr_flex_value_set_id
96497 , x_value_type_code => l_adr_value_type_code
96498 , x_value_combination_id => l_adr_value_combination_id
96499 , x_value_segment_code => l_adr_value_segment_code
96500 , p_side => 'NA'
96501 , p_override_seg_flag => 'Y'
96502 );
96503
96504 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
96505
96506 xla_ae_lines_pkg.set_segment(
96507 p_to_segment_code => 'GL_BALANCING'
96508 , p_segment_value => l_segment
96509 , p_from_segment_code => l_adr_value_segment_code
96510 , p_from_combination_id => l_adr_value_combination_id
96511 , p_value_type_code => l_adr_value_type_code
96512 , p_transaction_coa_id => l_adr_transaction_coa_id
96513 , p_accounting_coa_id => l_adr_accounting_coa_id
96514 , p_flexfield_segment_code => l_adr_flexfield_segment_code
96515 , p_flex_value_set_id => l_adr_flex_value_set_id
96516 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
96517 , p_adr_type_code => 'S'
96518 , p_component_type => l_component_type
96519 , p_component_code => l_component_code
96520 , p_component_type_code => l_component_type_code
96521 , p_component_appl_id => l_component_appl_id
96522 , p_amb_context_code => l_amb_context_code
96523 , p_entity_code => 'AP_PAYMENTS'
96524 , p_event_class_code => 'PAYMENTS'
96525 , p_side => 'NA'
96526 );
96527
96528 END IF;
96529
96530 l_segment := AcctDerRule_18(
96531 p_application_id => p_application_id
96532 , p_ae_header_id => l_ae_header_id
96533 , p_source_10 => p_source_10
96534 , p_source_10_meaning => p_source_10_meaning
96535 , p_source_33 => p_source_33
96536 , p_source_34 => p_source_34
96537 , x_transaction_coa_id => l_adr_transaction_coa_id
96538 , x_accounting_coa_id => l_adr_accounting_coa_id
96539 , x_flexfield_segment_code => l_adr_flexfield_segment_code
96540 , x_flex_value_set_id => l_adr_flex_value_set_id
96541 , x_value_type_code => l_adr_value_type_code
96542 , x_value_combination_id => l_adr_value_combination_id
96543 , x_value_segment_code => l_adr_value_segment_code
96544 , p_side => 'NA'
96545 , p_override_seg_flag => 'Y'
96546 );
96547
96548 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
96549
96550 xla_ae_lines_pkg.set_segment(
96551 p_to_segment_code => 'GL_ACCOUNT'
96552 , p_segment_value => l_segment
96553 , p_from_segment_code => l_adr_value_segment_code
96554 , p_from_combination_id => l_adr_value_combination_id
96555 , p_value_type_code => l_adr_value_type_code
96559 , p_flex_value_set_id => l_adr_flex_value_set_id
96556 , p_transaction_coa_id => l_adr_transaction_coa_id
96557 , p_accounting_coa_id => l_adr_accounting_coa_id
96558 , p_flexfield_segment_code => l_adr_flexfield_segment_code
96560 , p_adr_code => 'AP_REAL_LOSS_NAT_ACCT_SEG'
96561 , p_adr_type_code => 'S'
96562 , p_component_type => l_component_type
96563 , p_component_code => l_component_code
96564 , p_component_type_code => l_component_type_code
96565 , p_component_appl_id => l_component_appl_id
96566 , p_amb_context_code => l_amb_context_code
96567 , p_entity_code => 'AP_PAYMENTS'
96568 , p_event_class_code => 'PAYMENTS'
96569 , p_side => 'NA'
96570 );
96571
96572 END IF;
96573
96574 --
96575 --
96576 END IF;
96577
96578 --
96579 -- Update the line information that should be overwritten
96580 --
96581 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
96582 p_header_num => 1);
96583 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
96584
96585 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
96586
96587 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
96588 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
96589 END IF;
96590
96591 --
96592 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
96593 --
96594 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
96595 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
96596 ELSE
96597 ---------------------------------------------------------------------------------------------------
96598 -- 4262811a Switch Sign
96599 ---------------------------------------------------------------------------------------------------
96600 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
96601 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
96602 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
96603 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
96604 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
96605 -- 5132302
96606 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
96607 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
96608
96609 END IF;
96610
96611 -- 4955764
96612 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
96613 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
96614
96615
96616 XLA_AE_LINES_PKG.ValidateCurrentLine;
96617 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
96618
96619 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
96620 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
96621 ,p_balance_type_code => l_balance_type_code);
96622
96623 END IF;
96624
96625 -----------------------------------------------------------------------------------------
96626 -- 4262811 Multiperiod Accounting
96627 -----------------------------------------------------------------------------------------
96628 -- No MPA option is assigned.
96629
96630
96631 END IF;
96632 END IF;
96633 --
96634
96635 --
96636 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
96637 trace
96638 (p_msg => 'END of AcctLineType_174'
96639 ,p_level => C_LEVEL_PROCEDURE
96640 ,p_module => l_log_module);
96641 END IF;
96642 --
96643 EXCEPTION
96644 WHEN xla_exceptions_pkg.application_exception THEN
96645 RAISE;
96646 WHEN OTHERS THEN
96647 xla_exceptions_pkg.raise_message
96648 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_174');
96649 END AcctLineType_174;
96650 --
96651
96652 ---------------------------------------
96653 --
96654 -- PRIVATE FUNCTION
96655 -- AcctLineType_175
96656 --
96657 ---------------------------------------
96658 PROCEDURE AcctLineType_175 (
96659 p_application_id IN NUMBER
96660 ,p_event_id IN NUMBER
96661 ,p_calculate_acctd_flag IN VARCHAR2
96662 ,p_calculate_g_l_flag IN VARCHAR2
96663 ,p_actual_flag IN OUT VARCHAR2
96664 ,p_balance_type_code OUT VARCHAR2
96665 ,p_gain_or_loss_ref OUT VARCHAR2
96666
96667 --Payment Currency Code
96668 , p_source_8 IN VARCHAR2
96669 --Automatic Offsets Value
96670 , p_source_10 IN VARCHAR2
96671 , p_source_10_meaning IN VARCHAR2
96672 --Invoice Distribution Account
96673 , p_source_25 IN NUMBER
96674 --Internal Realized Loss Account
96678 --When to Account for Payment Option
96675 , p_source_33 IN NUMBER
96676 --Bank Loss Account
96677 , p_source_34 IN NUMBER
96679 , p_source_57 IN VARCHAR2
96680 --Accounting Reversal Indicator
96681 , p_source_58 IN VARCHAR2
96682 --Distribution Link Type
96683 , p_source_60 IN VARCHAR2
96684 --Override Accounted Amount Indicator
96685 , p_source_85 IN VARCHAR2
96686 , p_source_85_meaning IN VARCHAR2
96687 --Third Party Type
96688 , p_source_88 IN VARCHAR2
96689 --Invoice Distribution Tax Line Identifier
96690 , p_source_91 IN NUMBER
96691 --Invoice Distribution Summary Tax Line Identifier
96692 , p_source_93 IN NUMBER
96693 --Business Flow Accounts Payable Application Identifier
96694 , p_source_96 IN NUMBER
96695 --Payment Distribution Type
96696 , p_source_101 IN VARCHAR2
96697 , p_source_101_meaning IN VARCHAR2
96698 --Payment Distribution Amount
96699 , p_source_102 IN NUMBER
96700 --Business Flow Payment Distribution Type
96701 , p_source_103 IN VARCHAR2
96702 --Business Flow Payment Entity Code
96703 , p_source_104 IN VARCHAR2
96704 --Business Flow Payment Distribution Identifier
96705 , p_source_105 IN NUMBER
96706 --Business Flow Payment Identifier
96707 , p_source_106 IN NUMBER
96708 --Payment Distribution Identifier
96709 , p_source_107 IN NUMBER
96710 --Cleared Exchange Date
96711 , p_source_109 IN DATE
96712 --Cleared Exchange Rate
96713 , p_source_110 IN NUMBER
96714 --Cleared Exchange Rate Type
96715 , p_source_111 IN VARCHAR2
96716 --Payment Supplier Identifier
96717 , p_source_113 IN NUMBER
96718 --Payment Supplier Site Identifier
96719 , p_source_114 IN NUMBER
96720 --Payment Distribution Reversed Identifier
96721 , p_source_115 IN NUMBER
96722 --Payment Maturity Date
96723 , p_source_117 IN DATE
96724 --Gain or Loss Indicator between Payment and Clearing
96725 , p_source_162 IN VARCHAR2
96726 --Payment/Clearing Ledger Amount Difference
96727 , p_source_163 IN NUMBER
96728 )
96729 IS
96730
96731 l_component_type VARCHAR2(80);
96732 l_component_code VARCHAR2(30);
96733 l_component_type_code VARCHAR2(1);
96734 l_component_appl_id INTEGER;
96735 l_amb_context_code VARCHAR2(30);
96736 l_entity_code VARCHAR2(30);
96737 l_event_class_code VARCHAR2(30);
96738 l_ae_header_id NUMBER;
96739 l_event_type_code VARCHAR2(30);
96740 l_line_definition_code VARCHAR2(30);
96741 l_line_definition_owner_code VARCHAR2(1);
96742 --
96743 -- adr variables
96744 l_segment VARCHAR2(30);
96745 l_ccid NUMBER;
96746 l_adr_transaction_coa_id NUMBER;
96747 l_adr_accounting_coa_id NUMBER;
96748 l_adr_flexfield_segment_code VARCHAR2(30);
96749 l_adr_flex_value_set_id NUMBER;
96750 l_adr_value_type_code VARCHAR2(30);
96751 l_adr_value_combination_id NUMBER;
96752 l_adr_value_segment_code VARCHAR2(30);
96753
96754 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
96755 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
96756 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
96757 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
96758
96759 -- 4262811 Variables ------------------------------------------------------------------------------------------
96760 l_entered_amt_idx NUMBER;
96761 l_accted_amt_idx NUMBER;
96762 l_acc_rev_flag VARCHAR2(1);
96763 l_accrual_line_num NUMBER;
96764 l_tmp_amt NUMBER;
96765 l_acc_rev_natural_side_code VARCHAR2(1);
96766
96767 l_num_entries NUMBER;
96768 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
96769 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
96770 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
96771 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
96772 l_recog_line_1 NUMBER;
96773 l_recog_line_2 NUMBER;
96774
96775 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
96776 l_bflow_applied_to_amt NUMBER; -- 5132302
96777 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
96778
96779 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
96780
96781 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
96782 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
96783
96784 ---------------------------------------------------------------------------------------------------------------
96785
96786
96787 --
96788 -- bulk performance
96789 --
96790 l_balance_type_code VARCHAR2(1);
96791 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
96792 l_log_module VARCHAR2(240);
96793
96794 --
96795 -- Upgrade strategy
96796 --
96797 l_actual_upg_option VARCHAR2(1);
96798 l_enc_upg_option VARCHAR2(1);
96799
96800 --
96801 BEGIN
96802 --
96806 --
96803 IF g_log_enabled THEN
96804 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_175';
96805 END IF;
96807 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
96808
96809 trace
96810 (p_msg => 'BEGIN of AcctLineType_175'
96811 ,p_level => C_LEVEL_PROCEDURE
96812 ,p_module => l_log_module);
96813
96814 END IF;
96815 --
96816 l_component_type := 'AMB_JLT';
96817 l_component_code := 'AP_LOSS_PMT_CLEAR';
96818 l_component_type_code := 'S';
96819 l_component_appl_id := 200;
96820 l_amb_context_code := 'DEFAULT';
96821 l_entity_code := 'AP_PAYMENTS';
96822 l_event_class_code := 'RECONCILED PAYMENTS';
96823 l_event_type_code := 'RECONCILED PAYMENTS_ALL';
96824 l_line_definition_owner_code := 'S';
96825 l_line_definition_code := 'ACCRUAL_RECONCILED PAYMENTS_A4';
96826 --
96827 l_balance_type_code := 'A';
96828 l_segment := NULL;
96829 l_ccid := NULL;
96830 l_adr_transaction_coa_id := NULL;
96831 l_adr_accounting_coa_id := NULL;
96832 l_adr_flexfield_segment_code := NULL;
96833 l_adr_flex_value_set_id := NULL;
96834 l_adr_value_type_code := NULL;
96835 l_adr_value_combination_id := NULL;
96836 l_adr_value_segment_code := NULL;
96837
96838 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
96839 l_bflow_class_code := ''; -- 4219869 Business Flow
96840 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
96841 l_budgetary_control_flag := 'N';
96842
96843 l_bflow_applied_to_amt_idx := NULL; -- 5132302
96844 l_bflow_applied_to_amt := NULL; -- 5132302
96845 l_entered_amt_idx := NULL; -- 4262811
96846 l_accted_amt_idx := NULL; -- 4262811
96847 l_acc_rev_flag := NULL; -- 4262811
96848 l_accrual_line_num := NULL; -- 4262811
96849 l_tmp_amt := NULL; -- 4262811
96850 --
96851 IF ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
96852 (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
96853 return;
96854 END IF;
96855
96856 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
96857 l_balance_type_code <> 'B' THEN
96858 IF NVL(p_source_57,'
96859 ') = 'ALWAYS_ALWAYS' AND
96860 p_source_117 IS NULL AND
96861 NVL(p_source_162,'
96862 ') = 'LOSS' AND
96863 NVL(p_source_101,'
96864 ') <> 'EXCHANGE RATE VARIANCE' AND
96865 NVL(p_source_101,'
96866 ') <> 'TAX EXCHANGE RATE VARIANCE' AND
96867 NVL(p_source_101,'
96868 ') <> 'BANK CHARGE' AND
96869 NVL(p_source_101,'
96870 ') <> 'BANK ERROR' AND
96871 NVL(p_source_101,'
96872 ') <> 'AWT'
96873 THEN
96874
96875 --
96876 XLA_AE_LINES_PKG.SetNewLine;
96877
96878 p_balance_type_code := l_balance_type_code;
96879 -- set the flag so later we will know whether the gain loss line needs to be created
96880
96881 IF(l_balance_type_code = 'A' ) THEN
96882 p_actual_flag :='G';
96883 END IF;
96884
96885 --
96886 -- bulk performance
96887 --
96888 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
96889 p_header_num => 0); -- 4262811
96890 --
96891 -- set accounting line options
96892 --
96893 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
96894 p_natural_side_code => 'C'
96895 , p_gain_or_loss_flag => 'Y'
96896 , p_gl_transfer_mode_code => 'S'
96897 , p_acct_entry_type_code => 'A'
96898 , p_switch_side_flag => 'Y'
96899 , p_merge_duplicate_code => 'A'
96900 );
96901 --
96902 l_acc_rev_natural_side_code := 'D'; -- 4262811
96903 --
96904 --
96905 -- set accounting line type info
96906 --
96907 xla_ae_lines_pkg.SetAcctLineType
96908 (p_component_type => l_component_type
96909 ,p_event_type_code => l_event_type_code
96910 ,p_line_definition_owner_code => l_line_definition_owner_code
96911 ,p_line_definition_code => l_line_definition_code
96912 ,p_accounting_line_code => l_component_code
96913 ,p_accounting_line_type_code => l_component_type_code
96914 ,p_accounting_line_appl_id => l_component_appl_id
96915 ,p_amb_context_code => l_amb_context_code
96916 ,p_entity_code => l_entity_code
96917 ,p_event_class_code => l_event_class_code);
96918 --
96919 -- set accounting class
96920 --
96921 xla_ae_lines_pkg.SetAcctClass(
96922 p_accounting_class_code => 'LOSS'
96923 , p_ae_header_id => l_ae_header_id
96924 );
96925
96926 --
96927 -- set rounding class
96928 --
96929 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
96930 'LOSS';
96931
96932 --
96933 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
96937 --
96934 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
96935 --
96936 -- bulk performance
96938 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
96939
96940 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
96941 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
96942
96943 -- 4955764
96944 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
96945 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
96946
96947 -- 4458381 Public Sector Enh
96948
96949 --
96950 -- set accounting attributes for the line type
96951 --
96952 l_entered_amt_idx := 10;
96953 l_accted_amt_idx := 15;
96954 l_bflow_applied_to_amt_idx := 2; -- 5132302
96955 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
96956 l_rec_acct_attrs.array_char_value(1) := p_source_58;
96957 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
96958 l_rec_acct_attrs.array_num_value(2) := p_source_102;
96959 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
96960 l_rec_acct_attrs.array_num_value(3) := p_source_96;
96961 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
96962 l_rec_acct_attrs.array_char_value(4) := p_source_103;
96963 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
96964 l_rec_acct_attrs.array_char_value(5) := p_source_104;
96965 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
96966 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_105);
96967 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
96968 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_106);
96969 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
96970 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_107);
96971 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
96972 l_rec_acct_attrs.array_char_value(9) := p_source_60;
96973 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
96974 l_rec_acct_attrs.array_num_value(10) := p_source_102;
96975 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
96976 l_rec_acct_attrs.array_char_value(11) := p_source_8;
96977 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
96978 l_rec_acct_attrs.array_date_value(12) := p_source_109;
96979 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
96980 l_rec_acct_attrs.array_num_value(13) := p_source_110;
96981 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
96982 l_rec_acct_attrs.array_char_value(14) := p_source_111;
96983 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
96984 l_rec_acct_attrs.array_num_value(15) := p_source_163;
96985 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
96986 l_rec_acct_attrs.array_char_value(16) := p_source_85;
96987 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
96988 l_rec_acct_attrs.array_num_value(17) := p_source_113;
96989 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
96990 l_rec_acct_attrs.array_num_value(18) := p_source_114;
96991 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
96992 l_rec_acct_attrs.array_char_value(19) := p_source_88;
96993 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
96994 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_115);
96995 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
96996 l_rec_acct_attrs.array_char_value(21) := p_source_60;
96997 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
96998 l_rec_acct_attrs.array_num_value(22) := p_source_91;
96999 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
97000 l_rec_acct_attrs.array_num_value(23) := p_source_91;
97001 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
97002 l_rec_acct_attrs.array_num_value(24) := p_source_93;
97003
97004 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
97005 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
97006
97007 ---------------------------------------------------------------------------------------------------------------
97008 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
97009 ---------------------------------------------------------------------------------------------------------------
97010 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
97011
97012 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
97013 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
97014
97015 IF xla_accounting_cache_pkg.GetValueChar
97016 (p_source_code => 'LEDGER_CATEGORY_CODE'
97017 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
97018 AND l_bflow_method_code = 'PRIOR_ENTRY'
97019 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
97020 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
97021 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
97022 )
97023 THEN
97024 xla_ae_lines_pkg.BflowUpgEntry
97025 (p_business_method_code => l_bflow_method_code
97029 NULL;
97026 ,p_business_class_code => l_bflow_class_code
97027 ,p_balance_type => l_balance_type_code);
97028 ELSE
97030 -- No business flow processing for business flow method of NONE.
97031 END IF;
97032
97033 --
97034 -- call analytical criteria
97035 --
97036
97037 --
97038 -- call description
97039 --
97040 -- No description or it is inherited.
97041 --
97042 -- call ADRs
97043 -- Bug 4922099
97044 --
97045 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
97046 (NVL(l_actual_upg_option, 'N') = 'O') OR
97047 (NVL(l_enc_upg_option, 'N') = 'O')
97048 )
97049 THEN
97050 NULL;
97051 --
97052 --
97053
97054 l_ccid := AcctDerRule_41(
97055 p_application_id => p_application_id
97056 , p_ae_header_id => l_ae_header_id
97057 , p_source_10 => p_source_10
97058 , p_source_10_meaning => p_source_10_meaning
97059 , p_source_25 => p_source_25
97060 , p_source_33 => p_source_33
97061 , p_source_34 => p_source_34
97062 , x_transaction_coa_id => l_adr_transaction_coa_id
97063 , x_accounting_coa_id => l_adr_accounting_coa_id
97064 , x_value_type_code => l_adr_value_type_code
97065 , p_side => 'NA'
97066 );
97067
97068 xla_ae_lines_pkg.set_ccid(
97069 p_code_combination_id => l_ccid
97070 , p_value_type_code => l_adr_value_type_code
97071 , p_transaction_coa_id => l_adr_transaction_coa_id
97072 , p_accounting_coa_id => l_adr_accounting_coa_id
97073 , p_adr_code => 'AP_REAL_LOSS'
97074 , p_adr_type_code => 'S'
97075 , p_component_type => l_component_type
97076 , p_component_code => l_component_code
97077 , p_component_type_code => l_component_type_code
97078 , p_component_appl_id => l_component_appl_id
97079 , p_amb_context_code => l_amb_context_code
97080 , p_side => 'NA'
97081 );
97082
97083
97084 l_segment := AcctDerRule_23(
97085 p_application_id => p_application_id
97086 , p_ae_header_id => l_ae_header_id
97087 , p_source_10 => p_source_10
97088 , p_source_10_meaning => p_source_10_meaning
97089 , p_source_25 => p_source_25
97090 , x_transaction_coa_id => l_adr_transaction_coa_id
97091 , x_accounting_coa_id => l_adr_accounting_coa_id
97092 , x_flexfield_segment_code => l_adr_flexfield_segment_code
97093 , x_flex_value_set_id => l_adr_flex_value_set_id
97094 , x_value_type_code => l_adr_value_type_code
97095 , x_value_combination_id => l_adr_value_combination_id
97096 , x_value_segment_code => l_adr_value_segment_code
97097 , p_side => 'NA'
97098 , p_override_seg_flag => 'Y'
97099 );
97100
97101 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
97102
97103 xla_ae_lines_pkg.set_segment(
97104 p_to_segment_code => 'GL_BALANCING'
97105 , p_segment_value => l_segment
97106 , p_from_segment_code => l_adr_value_segment_code
97107 , p_from_combination_id => l_adr_value_combination_id
97108 , p_value_type_code => l_adr_value_type_code
97109 , p_transaction_coa_id => l_adr_transaction_coa_id
97110 , p_accounting_coa_id => l_adr_accounting_coa_id
97111 , p_flexfield_segment_code => l_adr_flexfield_segment_code
97112 , p_flex_value_set_id => l_adr_flex_value_set_id
97113 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
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_entity_code => 'AP_PAYMENTS'
97121 , p_event_class_code => 'RECONCILED PAYMENTS'
97122 , p_side => 'NA'
97123 );
97124
97125 END IF;
97126
97127 l_segment := AcctDerRule_18(
97128 p_application_id => p_application_id
97129 , p_ae_header_id => l_ae_header_id
97130 , p_source_10 => p_source_10
97131 , p_source_10_meaning => p_source_10_meaning
97132 , p_source_33 => p_source_33
97133 , p_source_34 => p_source_34
97134 , x_transaction_coa_id => l_adr_transaction_coa_id
97135 , x_accounting_coa_id => l_adr_accounting_coa_id
97136 , x_flexfield_segment_code => l_adr_flexfield_segment_code
97137 , x_flex_value_set_id => l_adr_flex_value_set_id
97138 , x_value_type_code => l_adr_value_type_code
97139 , x_value_combination_id => l_adr_value_combination_id
97140 , x_value_segment_code => l_adr_value_segment_code
97141 , p_side => 'NA'
97142 , p_override_seg_flag => 'Y'
97143 );
97144
97145 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
97146
97147 xla_ae_lines_pkg.set_segment(
97148 p_to_segment_code => 'GL_ACCOUNT'
97152 , p_value_type_code => l_adr_value_type_code
97149 , p_segment_value => l_segment
97150 , p_from_segment_code => l_adr_value_segment_code
97151 , p_from_combination_id => l_adr_value_combination_id
97153 , p_transaction_coa_id => l_adr_transaction_coa_id
97154 , p_accounting_coa_id => l_adr_accounting_coa_id
97155 , p_flexfield_segment_code => l_adr_flexfield_segment_code
97156 , p_flex_value_set_id => l_adr_flex_value_set_id
97157 , p_adr_code => 'AP_REAL_LOSS_NAT_ACCT_SEG'
97158 , p_adr_type_code => 'S'
97159 , p_component_type => l_component_type
97160 , p_component_code => l_component_code
97161 , p_component_type_code => l_component_type_code
97162 , p_component_appl_id => l_component_appl_id
97163 , p_amb_context_code => l_amb_context_code
97164 , p_entity_code => 'AP_PAYMENTS'
97165 , p_event_class_code => 'RECONCILED PAYMENTS'
97166 , p_side => 'NA'
97167 );
97168
97169 END IF;
97170
97171 --
97172 --
97173 END IF;
97174 --
97175 -- Bug 4922099
97176 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
97177 (NVL(l_enc_upg_option, 'N') = 'O')
97178 ) AND
97179 (l_bflow_method_code = 'PRIOR_ENTRY')
97180 )
97181 THEN
97182 IF
97183 --
97184 1 = 2
97185 --
97186 THEN
97187 xla_accounting_err_pkg.build_message
97188 (p_appli_s_name => 'XLA'
97189 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
97190 ,p_token_1 => 'LINE_NUMBER'
97191 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
97192 ,p_token_2 => 'LINE_TYPE_NAME'
97193 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
97194 l_component_type
97195 ,l_component_code
97196 ,l_component_type_code
97197 ,l_component_appl_id
97198 ,l_amb_context_code
97199 ,l_entity_code
97200 ,l_event_class_code
97201 )
97202 ,p_token_3 => 'OWNER'
97203 ,p_value_3 => xla_lookups_pkg.get_meaning(
97204 p_lookup_type => 'XLA_OWNER_TYPE'
97205 ,p_lookup_code => l_component_type_code
97206 )
97207 ,p_token_4 => 'PRODUCT_NAME'
97208 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
97209 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
97210 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
97211 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
97212 ,p_ae_header_id => NULL
97213 );
97214
97215 IF (C_LEVEL_ERROR>= g_log_level) THEN
97216 trace
97217 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
97218 ,p_level => C_LEVEL_ERROR
97219 ,p_module => l_log_module);
97220 END IF;
97221 END IF;
97222 END IF;
97223 --
97224 --
97225 ------------------------------------------------------------------------------------------------
97226 -- 4219869 Business Flow
97227 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
97228 -- Prior Entry. Currently, the following code is always generated.
97229 ------------------------------------------------------------------------------------------------
97230 XLA_AE_LINES_PKG.ValidateCurrentLine;
97231
97232 ------------------------------------------------------------------------------------
97233 -- 4219869 Business Flow
97234 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
97235 ------------------------------------------------------------------------------------
97236 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
97237
97238 ----------------------------------------------------------------------------------
97239 -- 4219869 Business Flow
97240 -- Update journal entry status -- Need to generate this within IF <condition>
97241 ----------------------------------------------------------------------------------
97242 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
97246
97243 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
97244 ,p_balance_type_code => l_balance_type_code
97245 );
97247 -------------------------------------------------------------------------------------------
97248 -- 4262811 - Generate the Accrual Reversal lines
97249 -------------------------------------------------------------------------------------------
97250 BEGIN
97251 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
97252 (g_array_event(p_event_id).array_value_num('header_index'));
97253 IF l_acc_rev_flag IS NULL THEN
97254 l_acc_rev_flag := 'N';
97255 END IF;
97256 EXCEPTION
97257 WHEN OTHERS THEN
97258 l_acc_rev_flag := 'N';
97259 END;
97260 --
97261 IF (l_acc_rev_flag = 'Y') THEN
97262
97263 -- 4645092 ------------------------------------------------------------------------------
97264 -- To allow MPA report to determine if it should generate report process
97265 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
97266 ------------------------------------------------------------------------------------------
97267
97268 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
97269 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
97270 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
97271 -- call ADRs
97272 -- Bug 4922099
97273 --
97274 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
97275 (NVL(l_actual_upg_option, 'N') = 'O') OR
97276 (NVL(l_enc_upg_option, 'N') = 'O')
97277 )
97278 THEN
97279 NULL;
97280 --
97281 --
97282
97283 l_ccid := AcctDerRule_41(
97284 p_application_id => p_application_id
97285 , p_ae_header_id => l_ae_header_id
97286 , p_source_10 => p_source_10
97287 , p_source_10_meaning => p_source_10_meaning
97288 , p_source_25 => p_source_25
97289 , p_source_33 => p_source_33
97290 , p_source_34 => p_source_34
97291 , x_transaction_coa_id => l_adr_transaction_coa_id
97292 , x_accounting_coa_id => l_adr_accounting_coa_id
97293 , x_value_type_code => l_adr_value_type_code
97294 , p_side => 'NA'
97295 );
97296
97297 xla_ae_lines_pkg.set_ccid(
97298 p_code_combination_id => l_ccid
97299 , p_value_type_code => l_adr_value_type_code
97300 , p_transaction_coa_id => l_adr_transaction_coa_id
97301 , p_accounting_coa_id => l_adr_accounting_coa_id
97302 , p_adr_code => 'AP_REAL_LOSS'
97303 , p_adr_type_code => 'S'
97304 , p_component_type => l_component_type
97305 , p_component_code => l_component_code
97306 , p_component_type_code => l_component_type_code
97307 , p_component_appl_id => l_component_appl_id
97308 , p_amb_context_code => l_amb_context_code
97309 , p_side => 'NA'
97310 );
97311
97312
97313 l_segment := AcctDerRule_23(
97314 p_application_id => p_application_id
97315 , p_ae_header_id => l_ae_header_id
97316 , p_source_10 => p_source_10
97317 , p_source_10_meaning => p_source_10_meaning
97318 , p_source_25 => p_source_25
97319 , x_transaction_coa_id => l_adr_transaction_coa_id
97320 , x_accounting_coa_id => l_adr_accounting_coa_id
97321 , x_flexfield_segment_code => l_adr_flexfield_segment_code
97322 , x_flex_value_set_id => l_adr_flex_value_set_id
97323 , x_value_type_code => l_adr_value_type_code
97324 , x_value_combination_id => l_adr_value_combination_id
97325 , x_value_segment_code => l_adr_value_segment_code
97326 , p_side => 'NA'
97327 , p_override_seg_flag => 'Y'
97328 );
97329
97330 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
97331
97332 xla_ae_lines_pkg.set_segment(
97333 p_to_segment_code => 'GL_BALANCING'
97334 , p_segment_value => l_segment
97335 , p_from_segment_code => l_adr_value_segment_code
97336 , p_from_combination_id => l_adr_value_combination_id
97337 , p_value_type_code => l_adr_value_type_code
97338 , p_transaction_coa_id => l_adr_transaction_coa_id
97339 , p_accounting_coa_id => l_adr_accounting_coa_id
97340 , p_flexfield_segment_code => l_adr_flexfield_segment_code
97341 , p_flex_value_set_id => l_adr_flex_value_set_id
97342 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
97343 , p_adr_type_code => 'S'
97344 , p_component_type => l_component_type
97345 , p_component_code => l_component_code
97346 , p_component_type_code => l_component_type_code
97347 , p_component_appl_id => l_component_appl_id
97348 , p_amb_context_code => l_amb_context_code
97349 , p_entity_code => 'AP_PAYMENTS'
97350 , p_event_class_code => 'RECONCILED PAYMENTS'
97351 , p_side => 'NA'
97352 );
97353
97354 END IF;
97355
97356 l_segment := AcctDerRule_18(
97357 p_application_id => p_application_id
97358 , p_ae_header_id => l_ae_header_id
97362 , p_source_34 => p_source_34
97359 , p_source_10 => p_source_10
97360 , p_source_10_meaning => p_source_10_meaning
97361 , p_source_33 => p_source_33
97363 , x_transaction_coa_id => l_adr_transaction_coa_id
97364 , x_accounting_coa_id => l_adr_accounting_coa_id
97365 , x_flexfield_segment_code => l_adr_flexfield_segment_code
97366 , x_flex_value_set_id => l_adr_flex_value_set_id
97367 , x_value_type_code => l_adr_value_type_code
97368 , x_value_combination_id => l_adr_value_combination_id
97369 , x_value_segment_code => l_adr_value_segment_code
97370 , p_side => 'NA'
97371 , p_override_seg_flag => 'Y'
97372 );
97373
97374 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
97375
97376 xla_ae_lines_pkg.set_segment(
97377 p_to_segment_code => 'GL_ACCOUNT'
97378 , p_segment_value => l_segment
97379 , p_from_segment_code => l_adr_value_segment_code
97380 , p_from_combination_id => l_adr_value_combination_id
97381 , p_value_type_code => l_adr_value_type_code
97382 , p_transaction_coa_id => l_adr_transaction_coa_id
97383 , p_accounting_coa_id => l_adr_accounting_coa_id
97384 , p_flexfield_segment_code => l_adr_flexfield_segment_code
97385 , p_flex_value_set_id => l_adr_flex_value_set_id
97386 , p_adr_code => 'AP_REAL_LOSS_NAT_ACCT_SEG'
97387 , p_adr_type_code => 'S'
97388 , p_component_type => l_component_type
97389 , p_component_code => l_component_code
97390 , p_component_type_code => l_component_type_code
97391 , p_component_appl_id => l_component_appl_id
97392 , p_amb_context_code => l_amb_context_code
97393 , p_entity_code => 'AP_PAYMENTS'
97394 , p_event_class_code => 'RECONCILED PAYMENTS'
97395 , p_side => 'NA'
97396 );
97397
97398 END IF;
97399
97400 --
97401 --
97402 END IF;
97403
97404 --
97405 -- Update the line information that should be overwritten
97406 --
97407 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
97408 p_header_num => 1);
97409 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
97410
97411 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
97412
97413 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
97414 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
97415 END IF;
97416
97417 --
97418 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
97419 --
97420 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
97421 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
97422 ELSE
97423 ---------------------------------------------------------------------------------------------------
97424 -- 4262811a Switch Sign
97425 ---------------------------------------------------------------------------------------------------
97426 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
97427 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
97428 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
97429 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
97430 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
97431 -- 5132302
97432 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
97433 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
97434
97435 END IF;
97436
97437 -- 4955764
97438 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
97439 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
97440
97441
97442 XLA_AE_LINES_PKG.ValidateCurrentLine;
97443 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
97444
97445 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
97446 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
97447 ,p_balance_type_code => l_balance_type_code);
97448
97449 END IF;
97450
97451 -----------------------------------------------------------------------------------------
97452 -- 4262811 Multiperiod Accounting
97453 -----------------------------------------------------------------------------------------
97454 -- No MPA option is assigned.
97455
97456
97457 END IF;
97458 END IF;
97459 --
97460
97461 --
97462 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
97463 trace
97464 (p_msg => 'END of AcctLineType_175'
97465 ,p_level => C_LEVEL_PROCEDURE
97466 ,p_module => l_log_module);
97470 WHEN xla_exceptions_pkg.application_exception THEN
97467 END IF;
97468 --
97469 EXCEPTION
97471 RAISE;
97472 WHEN OTHERS THEN
97473 xla_exceptions_pkg.raise_message
97474 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_175');
97475 END AcctLineType_175;
97476 --
97477
97478 ---------------------------------------
97479 --
97480 -- PRIVATE FUNCTION
97481 -- AcctLineType_176
97482 --
97483 ---------------------------------------
97484 PROCEDURE AcctLineType_176 (
97485 p_application_id IN NUMBER
97486 ,p_event_id IN NUMBER
97487 ,p_calculate_acctd_flag IN VARCHAR2
97488 ,p_calculate_g_l_flag IN VARCHAR2
97489 ,p_actual_flag IN OUT VARCHAR2
97490 ,p_balance_type_code OUT VARCHAR2
97491 ,p_gain_or_loss_ref OUT VARCHAR2
97492
97493 --Payment Currency Code
97494 , p_source_8 IN VARCHAR2
97495 --Automatic Offsets Value
97496 , p_source_10 IN VARCHAR2
97497 , p_source_10_meaning IN VARCHAR2
97498 --Invoice Distribution Account
97499 , p_source_25 IN NUMBER
97500 --Internal Realized Loss Account
97501 , p_source_33 IN NUMBER
97502 --Bank Loss Account
97503 , p_source_34 IN NUMBER
97504 --When to Account for Payment Option
97505 , p_source_57 IN VARCHAR2
97506 --Accounting Reversal Indicator
97507 , p_source_58 IN VARCHAR2
97508 --Distribution Link Type
97509 , p_source_60 IN VARCHAR2
97510 --Override Accounted Amount Indicator
97511 , p_source_85 IN VARCHAR2
97512 , p_source_85_meaning IN VARCHAR2
97513 --Third Party Type
97514 , p_source_88 IN VARCHAR2
97515 --Business Flow Accounts Payable Application Identifier
97516 , p_source_96 IN NUMBER
97517 --Payment Distribution Type
97518 , p_source_101 IN VARCHAR2
97519 , p_source_101_meaning IN VARCHAR2
97520 --Payment Distribution Amount
97521 , p_source_102 IN NUMBER
97522 --Business Flow Payment Distribution Type
97523 , p_source_103 IN VARCHAR2
97524 --Business Flow Payment Entity Code
97525 , p_source_104 IN VARCHAR2
97526 --Business Flow Payment Distribution Identifier
97527 , p_source_105 IN NUMBER
97528 --Business Flow Payment Identifier
97529 , p_source_106 IN NUMBER
97530 --Payment Distribution Identifier
97531 , p_source_107 IN NUMBER
97532 --Payment Supplier Identifier
97533 , p_source_113 IN NUMBER
97534 --Payment Supplier Site Identifier
97535 , p_source_114 IN NUMBER
97536 --Payment Distribution Reversed Identifier
97537 , p_source_115 IN NUMBER
97538 --Payment Maturity Date
97539 , p_source_117 IN DATE
97540 --Payment Exchange Date
97541 , p_source_120 IN DATE
97542 --Payment Exchange Rate
97543 , p_source_121 IN NUMBER
97544 --Payment Exchange Rate Type
97545 , p_source_122 IN VARCHAR2
97546 --Payment/Maturity Ledger Amount Difference
97547 , p_source_157 IN NUMBER
97548 --Gain or Loss Indicator between Payment and Maturity
97549 , p_source_164 IN VARCHAR2
97550 )
97551 IS
97552
97553 l_component_type VARCHAR2(80);
97554 l_component_code VARCHAR2(30);
97555 l_component_type_code VARCHAR2(1);
97556 l_component_appl_id INTEGER;
97557 l_amb_context_code VARCHAR2(30);
97558 l_entity_code VARCHAR2(30);
97559 l_event_class_code VARCHAR2(30);
97560 l_ae_header_id NUMBER;
97561 l_event_type_code VARCHAR2(30);
97562 l_line_definition_code VARCHAR2(30);
97563 l_line_definition_owner_code VARCHAR2(1);
97564 --
97565 -- adr variables
97566 l_segment VARCHAR2(30);
97567 l_ccid NUMBER;
97568 l_adr_transaction_coa_id NUMBER;
97569 l_adr_accounting_coa_id NUMBER;
97570 l_adr_flexfield_segment_code VARCHAR2(30);
97571 l_adr_flex_value_set_id NUMBER;
97572 l_adr_value_type_code VARCHAR2(30);
97573 l_adr_value_combination_id NUMBER;
97574 l_adr_value_segment_code VARCHAR2(30);
97575
97576 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
97577 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
97578 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
97579 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
97580
97581 -- 4262811 Variables ------------------------------------------------------------------------------------------
97582 l_entered_amt_idx NUMBER;
97583 l_accted_amt_idx NUMBER;
97584 l_acc_rev_flag VARCHAR2(1);
97585 l_accrual_line_num NUMBER;
97586 l_tmp_amt NUMBER;
97587 l_acc_rev_natural_side_code VARCHAR2(1);
97588
97589 l_num_entries NUMBER;
97590 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
97591 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
97592 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
97593 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
97594 l_recog_line_1 NUMBER;
97595 l_recog_line_2 NUMBER;
97596
97597 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
97601 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
97598 l_bflow_applied_to_amt NUMBER; -- 5132302
97599 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
97600
97602
97603 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
97604 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
97605
97606 ---------------------------------------------------------------------------------------------------------------
97607
97608
97609 --
97610 -- bulk performance
97611 --
97612 l_balance_type_code VARCHAR2(1);
97613 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
97614 l_log_module VARCHAR2(240);
97615
97616 --
97617 -- Upgrade strategy
97618 --
97619 l_actual_upg_option VARCHAR2(1);
97620 l_enc_upg_option VARCHAR2(1);
97621
97622 --
97623 BEGIN
97624 --
97625 IF g_log_enabled THEN
97626 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_176';
97627 END IF;
97628 --
97629 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
97630
97631 trace
97632 (p_msg => 'BEGIN of AcctLineType_176'
97633 ,p_level => C_LEVEL_PROCEDURE
97634 ,p_module => l_log_module);
97635
97636 END IF;
97637 --
97638 l_component_type := 'AMB_JLT';
97639 l_component_code := 'AP_LOSS_PMT_MAT';
97640 l_component_type_code := 'S';
97641 l_component_appl_id := 200;
97642 l_amb_context_code := 'DEFAULT';
97643 l_entity_code := 'AP_PAYMENTS';
97644 l_event_class_code := 'FUTURE DATED PAYMENTS';
97645 l_event_type_code := 'FUTURE DATED PAYMENTS_ALL';
97646 l_line_definition_owner_code := 'S';
97647 l_line_definition_code := 'ACCRUAL_FUTURE DATED PAYMENTS1';
97648 --
97649 l_balance_type_code := 'A';
97650 l_segment := NULL;
97651 l_ccid := NULL;
97652 l_adr_transaction_coa_id := NULL;
97653 l_adr_accounting_coa_id := NULL;
97654 l_adr_flexfield_segment_code := NULL;
97655 l_adr_flex_value_set_id := NULL;
97656 l_adr_value_type_code := NULL;
97657 l_adr_value_combination_id := NULL;
97658 l_adr_value_segment_code := NULL;
97659
97660 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
97661 l_bflow_class_code := ''; -- 4219869 Business Flow
97662 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
97663 l_budgetary_control_flag := 'N';
97664
97665 l_bflow_applied_to_amt_idx := NULL; -- 5132302
97666 l_bflow_applied_to_amt := NULL; -- 5132302
97667 l_entered_amt_idx := NULL; -- 4262811
97668 l_accted_amt_idx := NULL; -- 4262811
97669 l_acc_rev_flag := NULL; -- 4262811
97670 l_accrual_line_num := NULL; -- 4262811
97671 l_tmp_amt := NULL; -- 4262811
97672 --
97673 IF ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
97674 (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
97675 return;
97676 END IF;
97677
97678 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
97679 l_balance_type_code <> 'B' THEN
97680 IF (NVL(p_source_57,'
97681 ') = 'ALWAYS_ALWAYS' OR
97682 NVL(p_source_57,'
97683 ') = 'ISSUE_ISSUE') AND
97684 p_source_117 IS NOT NULL AND
97685 NVL(p_source_164,'
97686 ') = 'LOSS' AND
97687 NVL(p_source_101,'
97688 ') <> 'EXCHANGE RATE VARIANCE' AND
97689 NVL(p_source_101,'
97690 ') <> 'TAX EXCHANGE RATE VARIANCE' AND
97691 NVL(p_source_101,'
97692 ') <> 'BANK CHARGE' AND
97693 NVL(p_source_101,'
97694 ') <> 'BANK ERROR' AND
97695 NVL(p_source_101,'
97696 ') <> 'AWT'
97697 THEN
97698
97699 --
97700 XLA_AE_LINES_PKG.SetNewLine;
97701
97702 p_balance_type_code := l_balance_type_code;
97703 -- set the flag so later we will know whether the gain loss line needs to be created
97704
97705 IF(l_balance_type_code = 'A' ) THEN
97706 p_actual_flag :='G';
97707 END IF;
97708
97709 --
97710 -- bulk performance
97711 --
97712 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
97713 p_header_num => 0); -- 4262811
97714 --
97715 -- set accounting line options
97716 --
97717 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
97718 p_natural_side_code => 'C'
97719 , p_gain_or_loss_flag => 'Y'
97720 , p_gl_transfer_mode_code => 'S'
97721 , p_acct_entry_type_code => 'A'
97722 , p_switch_side_flag => 'Y'
97723 , p_merge_duplicate_code => 'A'
97724 );
97725 --
97726 l_acc_rev_natural_side_code := 'D'; -- 4262811
97727 --
97728 --
97729 -- set accounting line type info
97730 --
97731 xla_ae_lines_pkg.SetAcctLineType
97732 (p_component_type => l_component_type
97736 ,p_accounting_line_code => l_component_code
97733 ,p_event_type_code => l_event_type_code
97734 ,p_line_definition_owner_code => l_line_definition_owner_code
97735 ,p_line_definition_code => l_line_definition_code
97737 ,p_accounting_line_type_code => l_component_type_code
97738 ,p_accounting_line_appl_id => l_component_appl_id
97739 ,p_amb_context_code => l_amb_context_code
97740 ,p_entity_code => l_entity_code
97741 ,p_event_class_code => l_event_class_code);
97742 --
97743 -- set accounting class
97744 --
97745 xla_ae_lines_pkg.SetAcctClass(
97746 p_accounting_class_code => 'LOSS'
97747 , p_ae_header_id => l_ae_header_id
97748 );
97749
97750 --
97751 -- set rounding class
97752 --
97753 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
97754 'LOSS';
97755
97756 --
97757 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
97758 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
97759 --
97760 -- bulk performance
97761 --
97762 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
97763
97764 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
97765 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
97766
97767 -- 4955764
97768 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
97769 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
97770
97771 -- 4458381 Public Sector Enh
97772
97773 --
97774 -- set accounting attributes for the line type
97775 --
97776 l_entered_amt_idx := 9;
97777 l_accted_amt_idx := 14;
97778 l_bflow_applied_to_amt_idx := NULL; -- 5132302
97779 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
97780 l_rec_acct_attrs.array_char_value(1) := p_source_58;
97781 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_APPLICATION_ID';
97782 l_rec_acct_attrs.array_num_value(2) := p_source_96;
97783 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_DISTRIBUTION_TYPE';
97784 l_rec_acct_attrs.array_char_value(3) := p_source_103;
97785 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_ENTITY_CODE';
97786 l_rec_acct_attrs.array_char_value(4) := p_source_104;
97787 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_FIRST_DIST_ID';
97788 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_105);
97789 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
97790 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_106);
97791 l_rec_acct_attrs.array_acct_attr_code(7) := 'DISTRIBUTION_IDENTIFIER_1';
97792 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_107);
97793 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_TYPE';
97794 l_rec_acct_attrs.array_char_value(8) := p_source_60;
97795 l_rec_acct_attrs.array_acct_attr_code(9) := 'ENTERED_CURRENCY_AMOUNT';
97796 l_rec_acct_attrs.array_num_value(9) := p_source_102;
97797 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_CODE';
97798 l_rec_acct_attrs.array_char_value(10) := p_source_8;
97799 l_rec_acct_attrs.array_acct_attr_code(11) := 'EXCHANGE_DATE';
97800 l_rec_acct_attrs.array_date_value(11) := p_source_120;
97801 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_RATE';
97802 l_rec_acct_attrs.array_num_value(12) := p_source_121;
97803 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE_TYPE';
97804 l_rec_acct_attrs.array_char_value(13) := p_source_122;
97805 l_rec_acct_attrs.array_acct_attr_code(14) := 'LEDGER_AMOUNT';
97806 l_rec_acct_attrs.array_num_value(14) := p_source_157;
97807 l_rec_acct_attrs.array_acct_attr_code(15) := 'OVERRIDE_ACCTD_AMT_FLAG';
97808 l_rec_acct_attrs.array_char_value(15) := p_source_85;
97809 l_rec_acct_attrs.array_acct_attr_code(16) := 'PARTY_ID';
97810 l_rec_acct_attrs.array_num_value(16) := p_source_113;
97811 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_SITE_ID';
97812 l_rec_acct_attrs.array_num_value(17) := p_source_114;
97813 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_TYPE';
97814 l_rec_acct_attrs.array_char_value(18) := p_source_88;
97815 l_rec_acct_attrs.array_acct_attr_code(19) := 'REVERSED_DISTRIBUTION_ID1';
97816 l_rec_acct_attrs.array_num_value(19) := to_char(p_source_115);
97817 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_TYPE';
97818 l_rec_acct_attrs.array_char_value(20) := p_source_60;
97819
97820 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
97821 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
97822
97823 ---------------------------------------------------------------------------------------------------------------
97824 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
97825 ---------------------------------------------------------------------------------------------------------------
97826 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
97827
97828 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
97829 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
97830
97834 AND l_bflow_method_code = 'PRIOR_ENTRY'
97831 IF xla_accounting_cache_pkg.GetValueChar
97832 (p_source_code => 'LEDGER_CATEGORY_CODE'
97833 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
97835 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
97836 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
97837 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
97838 )
97839 THEN
97840 xla_ae_lines_pkg.BflowUpgEntry
97841 (p_business_method_code => l_bflow_method_code
97842 ,p_business_class_code => l_bflow_class_code
97843 ,p_balance_type => l_balance_type_code);
97844 ELSE
97845 NULL;
97846 -- No business flow processing for business flow method of NONE.
97847 END IF;
97848
97849 --
97850 -- call analytical criteria
97851 --
97852
97853 --
97854 -- call description
97855 --
97856 -- No description or it is inherited.
97857 --
97858 -- call ADRs
97859 -- Bug 4922099
97860 --
97861 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
97862 (NVL(l_actual_upg_option, 'N') = 'O') OR
97863 (NVL(l_enc_upg_option, 'N') = 'O')
97864 )
97865 THEN
97866 NULL;
97867 --
97868 --
97869
97870 l_ccid := AcctDerRule_41(
97871 p_application_id => p_application_id
97872 , p_ae_header_id => l_ae_header_id
97873 , p_source_10 => p_source_10
97874 , p_source_10_meaning => p_source_10_meaning
97875 , p_source_25 => p_source_25
97876 , p_source_33 => p_source_33
97877 , p_source_34 => p_source_34
97878 , x_transaction_coa_id => l_adr_transaction_coa_id
97879 , x_accounting_coa_id => l_adr_accounting_coa_id
97880 , x_value_type_code => l_adr_value_type_code
97881 , p_side => 'NA'
97882 );
97883
97884 xla_ae_lines_pkg.set_ccid(
97885 p_code_combination_id => l_ccid
97886 , p_value_type_code => l_adr_value_type_code
97887 , p_transaction_coa_id => l_adr_transaction_coa_id
97888 , p_accounting_coa_id => l_adr_accounting_coa_id
97889 , p_adr_code => 'AP_REAL_LOSS'
97890 , p_adr_type_code => 'S'
97891 , p_component_type => l_component_type
97892 , p_component_code => l_component_code
97893 , p_component_type_code => l_component_type_code
97894 , p_component_appl_id => l_component_appl_id
97895 , p_amb_context_code => l_amb_context_code
97896 , p_side => 'NA'
97897 );
97898
97899
97900 l_segment := AcctDerRule_23(
97901 p_application_id => p_application_id
97902 , p_ae_header_id => l_ae_header_id
97903 , p_source_10 => p_source_10
97904 , p_source_10_meaning => p_source_10_meaning
97905 , p_source_25 => p_source_25
97906 , x_transaction_coa_id => l_adr_transaction_coa_id
97907 , x_accounting_coa_id => l_adr_accounting_coa_id
97908 , x_flexfield_segment_code => l_adr_flexfield_segment_code
97909 , x_flex_value_set_id => l_adr_flex_value_set_id
97910 , x_value_type_code => l_adr_value_type_code
97911 , x_value_combination_id => l_adr_value_combination_id
97912 , x_value_segment_code => l_adr_value_segment_code
97913 , p_side => 'NA'
97914 , p_override_seg_flag => 'Y'
97915 );
97916
97917 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
97918
97919 xla_ae_lines_pkg.set_segment(
97920 p_to_segment_code => 'GL_BALANCING'
97921 , p_segment_value => l_segment
97922 , p_from_segment_code => l_adr_value_segment_code
97923 , p_from_combination_id => l_adr_value_combination_id
97924 , p_value_type_code => l_adr_value_type_code
97925 , p_transaction_coa_id => l_adr_transaction_coa_id
97926 , p_accounting_coa_id => l_adr_accounting_coa_id
97927 , p_flexfield_segment_code => l_adr_flexfield_segment_code
97928 , p_flex_value_set_id => l_adr_flex_value_set_id
97929 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
97930 , p_adr_type_code => 'S'
97931 , p_component_type => l_component_type
97932 , p_component_code => l_component_code
97933 , p_component_type_code => l_component_type_code
97934 , p_component_appl_id => l_component_appl_id
97935 , p_amb_context_code => l_amb_context_code
97936 , p_entity_code => 'AP_PAYMENTS'
97937 , p_event_class_code => 'FUTURE DATED PAYMENTS'
97938 , p_side => 'NA'
97939 );
97940
97941 END IF;
97942
97943 l_segment := AcctDerRule_18(
97944 p_application_id => p_application_id
97945 , p_ae_header_id => l_ae_header_id
97946 , p_source_10 => p_source_10
97947 , p_source_10_meaning => p_source_10_meaning
97948 , p_source_33 => p_source_33
97949 , p_source_34 => p_source_34
97950 , x_transaction_coa_id => l_adr_transaction_coa_id
97951 , x_accounting_coa_id => l_adr_accounting_coa_id
97952 , x_flexfield_segment_code => l_adr_flexfield_segment_code
97956 , x_value_segment_code => l_adr_value_segment_code
97953 , x_flex_value_set_id => l_adr_flex_value_set_id
97954 , x_value_type_code => l_adr_value_type_code
97955 , x_value_combination_id => l_adr_value_combination_id
97957 , p_side => 'NA'
97958 , p_override_seg_flag => 'Y'
97959 );
97960
97961 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
97962
97963 xla_ae_lines_pkg.set_segment(
97964 p_to_segment_code => 'GL_ACCOUNT'
97965 , p_segment_value => l_segment
97966 , p_from_segment_code => l_adr_value_segment_code
97967 , p_from_combination_id => l_adr_value_combination_id
97968 , p_value_type_code => l_adr_value_type_code
97969 , p_transaction_coa_id => l_adr_transaction_coa_id
97970 , p_accounting_coa_id => l_adr_accounting_coa_id
97971 , p_flexfield_segment_code => l_adr_flexfield_segment_code
97972 , p_flex_value_set_id => l_adr_flex_value_set_id
97973 , p_adr_code => 'AP_REAL_LOSS_NAT_ACCT_SEG'
97974 , p_adr_type_code => 'S'
97975 , p_component_type => l_component_type
97976 , p_component_code => l_component_code
97977 , p_component_type_code => l_component_type_code
97978 , p_component_appl_id => l_component_appl_id
97979 , p_amb_context_code => l_amb_context_code
97980 , p_entity_code => 'AP_PAYMENTS'
97981 , p_event_class_code => 'FUTURE DATED PAYMENTS'
97982 , p_side => 'NA'
97983 );
97984
97985 END IF;
97986
97987 --
97988 --
97989 END IF;
97990 --
97991 -- Bug 4922099
97992 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
97993 (NVL(l_enc_upg_option, 'N') = 'O')
97994 ) AND
97995 (l_bflow_method_code = 'PRIOR_ENTRY')
97996 )
97997 THEN
97998 IF
97999 --
98000 1 = 2
98001 --
98002 THEN
98003 xla_accounting_err_pkg.build_message
98004 (p_appli_s_name => 'XLA'
98005 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
98006 ,p_token_1 => 'LINE_NUMBER'
98007 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
98008 ,p_token_2 => 'LINE_TYPE_NAME'
98009 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
98010 l_component_type
98011 ,l_component_code
98012 ,l_component_type_code
98013 ,l_component_appl_id
98014 ,l_amb_context_code
98015 ,l_entity_code
98016 ,l_event_class_code
98017 )
98018 ,p_token_3 => 'OWNER'
98019 ,p_value_3 => xla_lookups_pkg.get_meaning(
98020 p_lookup_type => 'XLA_OWNER_TYPE'
98021 ,p_lookup_code => l_component_type_code
98022 )
98023 ,p_token_4 => 'PRODUCT_NAME'
98024 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
98025 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
98026 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
98027 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
98028 ,p_ae_header_id => NULL
98029 );
98030
98031 IF (C_LEVEL_ERROR>= g_log_level) THEN
98032 trace
98033 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
98034 ,p_level => C_LEVEL_ERROR
98035 ,p_module => l_log_module);
98036 END IF;
98037 END IF;
98038 END IF;
98039 --
98040 --
98041 ------------------------------------------------------------------------------------------------
98042 -- 4219869 Business Flow
98043 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
98044 -- Prior Entry. Currently, the following code is always generated.
98045 ------------------------------------------------------------------------------------------------
98046 XLA_AE_LINES_PKG.ValidateCurrentLine;
98047
98048 ------------------------------------------------------------------------------------
98049 -- 4219869 Business Flow
98053
98050 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
98051 ------------------------------------------------------------------------------------
98052 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
98054 ----------------------------------------------------------------------------------
98055 -- 4219869 Business Flow
98056 -- Update journal entry status -- Need to generate this within IF <condition>
98057 ----------------------------------------------------------------------------------
98058 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
98059 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
98060 ,p_balance_type_code => l_balance_type_code
98061 );
98062
98063 -------------------------------------------------------------------------------------------
98064 -- 4262811 - Generate the Accrual Reversal lines
98065 -------------------------------------------------------------------------------------------
98066 BEGIN
98067 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
98068 (g_array_event(p_event_id).array_value_num('header_index'));
98069 IF l_acc_rev_flag IS NULL THEN
98070 l_acc_rev_flag := 'N';
98071 END IF;
98072 EXCEPTION
98073 WHEN OTHERS THEN
98074 l_acc_rev_flag := 'N';
98075 END;
98076 --
98077 IF (l_acc_rev_flag = 'Y') THEN
98078
98079 -- 4645092 ------------------------------------------------------------------------------
98080 -- To allow MPA report to determine if it should generate report process
98081 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
98082 ------------------------------------------------------------------------------------------
98083
98084 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
98085 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
98086 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
98087 -- call ADRs
98088 -- Bug 4922099
98089 --
98090 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
98091 (NVL(l_actual_upg_option, 'N') = 'O') OR
98092 (NVL(l_enc_upg_option, 'N') = 'O')
98093 )
98094 THEN
98095 NULL;
98096 --
98097 --
98098
98099 l_ccid := AcctDerRule_41(
98100 p_application_id => p_application_id
98101 , p_ae_header_id => l_ae_header_id
98102 , p_source_10 => p_source_10
98103 , p_source_10_meaning => p_source_10_meaning
98104 , p_source_25 => p_source_25
98105 , p_source_33 => p_source_33
98106 , p_source_34 => p_source_34
98107 , x_transaction_coa_id => l_adr_transaction_coa_id
98108 , x_accounting_coa_id => l_adr_accounting_coa_id
98109 , x_value_type_code => l_adr_value_type_code
98110 , p_side => 'NA'
98111 );
98112
98113 xla_ae_lines_pkg.set_ccid(
98114 p_code_combination_id => l_ccid
98115 , p_value_type_code => l_adr_value_type_code
98116 , p_transaction_coa_id => l_adr_transaction_coa_id
98117 , p_accounting_coa_id => l_adr_accounting_coa_id
98118 , p_adr_code => 'AP_REAL_LOSS'
98119 , p_adr_type_code => 'S'
98120 , p_component_type => l_component_type
98121 , p_component_code => l_component_code
98122 , p_component_type_code => l_component_type_code
98123 , p_component_appl_id => l_component_appl_id
98124 , p_amb_context_code => l_amb_context_code
98125 , p_side => 'NA'
98126 );
98127
98128
98129 l_segment := AcctDerRule_23(
98130 p_application_id => p_application_id
98131 , p_ae_header_id => l_ae_header_id
98132 , p_source_10 => p_source_10
98133 , p_source_10_meaning => p_source_10_meaning
98134 , p_source_25 => p_source_25
98135 , x_transaction_coa_id => l_adr_transaction_coa_id
98136 , x_accounting_coa_id => l_adr_accounting_coa_id
98137 , x_flexfield_segment_code => l_adr_flexfield_segment_code
98138 , x_flex_value_set_id => l_adr_flex_value_set_id
98139 , x_value_type_code => l_adr_value_type_code
98140 , x_value_combination_id => l_adr_value_combination_id
98141 , x_value_segment_code => l_adr_value_segment_code
98142 , p_side => 'NA'
98143 , p_override_seg_flag => 'Y'
98144 );
98145
98146 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
98147
98148 xla_ae_lines_pkg.set_segment(
98149 p_to_segment_code => 'GL_BALANCING'
98150 , p_segment_value => l_segment
98151 , p_from_segment_code => l_adr_value_segment_code
98152 , p_from_combination_id => l_adr_value_combination_id
98153 , p_value_type_code => l_adr_value_type_code
98154 , p_transaction_coa_id => l_adr_transaction_coa_id
98155 , p_accounting_coa_id => l_adr_accounting_coa_id
98156 , p_flexfield_segment_code => l_adr_flexfield_segment_code
98157 , p_flex_value_set_id => l_adr_flex_value_set_id
98158 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
98159 , p_adr_type_code => 'S'
98160 , p_component_type => l_component_type
98161 , p_component_code => l_component_code
98165 , p_entity_code => 'AP_PAYMENTS'
98162 , p_component_type_code => l_component_type_code
98163 , p_component_appl_id => l_component_appl_id
98164 , p_amb_context_code => l_amb_context_code
98166 , p_event_class_code => 'FUTURE DATED PAYMENTS'
98167 , p_side => 'NA'
98168 );
98169
98170 END IF;
98171
98172 l_segment := AcctDerRule_18(
98173 p_application_id => p_application_id
98174 , p_ae_header_id => l_ae_header_id
98175 , p_source_10 => p_source_10
98176 , p_source_10_meaning => p_source_10_meaning
98177 , p_source_33 => p_source_33
98178 , p_source_34 => p_source_34
98179 , x_transaction_coa_id => l_adr_transaction_coa_id
98180 , x_accounting_coa_id => l_adr_accounting_coa_id
98181 , x_flexfield_segment_code => l_adr_flexfield_segment_code
98182 , x_flex_value_set_id => l_adr_flex_value_set_id
98183 , x_value_type_code => l_adr_value_type_code
98184 , x_value_combination_id => l_adr_value_combination_id
98185 , x_value_segment_code => l_adr_value_segment_code
98186 , p_side => 'NA'
98187 , p_override_seg_flag => 'Y'
98188 );
98189
98190 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
98191
98192 xla_ae_lines_pkg.set_segment(
98193 p_to_segment_code => 'GL_ACCOUNT'
98194 , p_segment_value => l_segment
98195 , p_from_segment_code => l_adr_value_segment_code
98196 , p_from_combination_id => l_adr_value_combination_id
98197 , p_value_type_code => l_adr_value_type_code
98198 , p_transaction_coa_id => l_adr_transaction_coa_id
98199 , p_accounting_coa_id => l_adr_accounting_coa_id
98200 , p_flexfield_segment_code => l_adr_flexfield_segment_code
98201 , p_flex_value_set_id => l_adr_flex_value_set_id
98202 , p_adr_code => 'AP_REAL_LOSS_NAT_ACCT_SEG'
98203 , p_adr_type_code => 'S'
98204 , p_component_type => l_component_type
98205 , p_component_code => l_component_code
98206 , p_component_type_code => l_component_type_code
98207 , p_component_appl_id => l_component_appl_id
98208 , p_amb_context_code => l_amb_context_code
98209 , p_entity_code => 'AP_PAYMENTS'
98210 , p_event_class_code => 'FUTURE DATED PAYMENTS'
98211 , p_side => 'NA'
98212 );
98213
98214 END IF;
98215
98216 --
98217 --
98218 END IF;
98219
98220 --
98221 -- Update the line information that should be overwritten
98222 --
98223 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
98224 p_header_num => 1);
98225 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
98226
98227 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
98228
98229 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
98230 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
98231 END IF;
98232
98233 --
98234 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
98235 --
98236 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
98237 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
98238 ELSE
98239 ---------------------------------------------------------------------------------------------------
98240 -- 4262811a Switch Sign
98241 ---------------------------------------------------------------------------------------------------
98242 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
98243 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
98244 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
98245 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
98246 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
98247 -- 5132302
98248 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
98249 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
98250
98251 END IF;
98252
98253 -- 4955764
98254 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
98255 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
98256
98257
98258 XLA_AE_LINES_PKG.ValidateCurrentLine;
98259 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
98260
98261 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
98262 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
98263 ,p_balance_type_code => l_balance_type_code);
98264
98265 END IF;
98266
98270 -- No MPA option is assigned.
98267 -----------------------------------------------------------------------------------------
98268 -- 4262811 Multiperiod Accounting
98269 -----------------------------------------------------------------------------------------
98271
98272
98273 END IF;
98274 END IF;
98275 --
98276
98277 --
98278 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
98279 trace
98280 (p_msg => 'END of AcctLineType_176'
98281 ,p_level => C_LEVEL_PROCEDURE
98282 ,p_module => l_log_module);
98283 END IF;
98284 --
98285 EXCEPTION
98286 WHEN xla_exceptions_pkg.application_exception THEN
98287 RAISE;
98288 WHEN OTHERS THEN
98289 xla_exceptions_pkg.raise_message
98290 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_176');
98291 END AcctLineType_176;
98292 --
98293
98294 ---------------------------------------
98295 --
98296 -- PRIVATE FUNCTION
98297 -- AcctLineType_177
98298 --
98299 ---------------------------------------
98300 PROCEDURE AcctLineType_177 (
98301 p_application_id IN NUMBER
98302 ,p_event_id IN NUMBER
98303 ,p_calculate_acctd_flag IN VARCHAR2
98304 ,p_calculate_g_l_flag IN VARCHAR2
98305 ,p_actual_flag IN OUT VARCHAR2
98306 ,p_balance_type_code OUT VARCHAR2
98307 ,p_gain_or_loss_ref OUT VARCHAR2
98308
98309 --Automatic Offsets Value
98310 , p_source_10 IN VARCHAR2
98311 , p_source_10_meaning IN VARCHAR2
98312 --Invoice Distribution Account
98313 , p_source_25 IN NUMBER
98314 --Internal Realized Loss Account
98315 , p_source_33 IN NUMBER
98316 --Bank Loss Account
98317 , p_source_34 IN NUMBER
98318 --Accounting Reversal Indicator
98319 , p_source_58 IN VARCHAR2
98320 --Distribution Link Type
98321 , p_source_60 IN VARCHAR2
98322 --Invoice Identifier
98323 , p_source_63 IN NUMBER
98324 --Payables Encumbrance Upgrade Credit Account
98325 , p_source_70 IN NUMBER
98326 --Payables Encumbrance Upgrade Credit Amount
98327 , p_source_71 IN NUMBER
98328 --Invoice Currency Code
98329 , p_source_72 IN VARCHAR2
98330 --Payables Encumbrance Upgrade Credit Base Amount
98331 , p_source_73 IN NUMBER
98332 --Payables Encumbrance Upgrade Debit Account
98333 , p_source_74 IN NUMBER
98334 --Payables Encumbrance Upgrade Debit Amount
98335 , p_source_75 IN NUMBER
98336 --Payables Encumbrance Upgrade Debit Base Amount
98337 , p_source_76 IN NUMBER
98338 --Payables Encumbrance Upgrade Option
98339 , p_source_77 IN VARCHAR2
98340 --Deferred Accounting End Date
98341 , p_source_82 IN DATE
98342 --Deferred Accounting Option
98343 , p_source_83 IN VARCHAR2
98344 --Deferred Accounting Start Date
98345 , p_source_84 IN DATE
98346 --Override Accounted Amount Indicator
98347 , p_source_85 IN VARCHAR2
98348 , p_source_85_meaning IN VARCHAR2
98349 --Invoice Supplier Identifier
98350 , p_source_86 IN NUMBER
98351 --Invoice Supplier Site Identifier
98352 , p_source_87 IN NUMBER
98353 --Third Party Type
98354 , p_source_88 IN VARCHAR2
98355 --Invoice Distribution Tax Line Identifier
98356 , p_source_91 IN NUMBER
98357 --Invoice Distribution Tax Distribution Identifier from Tax
98358 , p_source_92 IN NUMBER
98359 --Invoice Distribution Summary Tax Line Identifier
98360 , p_source_93 IN NUMBER
98361 --Payables Upgrade Credit Encumbrance Type Identifier
98362 , p_source_94 IN NUMBER
98363 --Payables Upgrade Debit Encumbrance Type Identifier
98364 , p_source_95 IN NUMBER
98365 --Business Flow Accounts Payable Application Identifier
98366 , p_source_96 IN NUMBER
98367 --Prepayment Distribution Type
98368 , p_source_128 IN VARCHAR2
98369 --Prepayment Application Distribution Identifier
98370 , p_source_130 IN NUMBER
98371 --Upgrade Encumbrance Credit Account Class
98372 , p_source_135 IN VARCHAR2
98373 --Upgrade Encumbrance Debit Account Class
98374 , p_source_136 IN VARCHAR2
98375 --Prepayment Distribution Amount
98376 , p_source_137 IN NUMBER
98377 --Identifier of the Prepayment Application Reversed
98378 , p_source_139 IN NUMBER
98379 --Invoice Exchange Date
98380 , p_source_146 IN DATE
98381 --Invoice Exchange Rate
98382 , p_source_147 IN NUMBER
98383 --Invoice Exchange Rate Type
98384 , p_source_148 IN VARCHAR2
98385 --Business Flow Prepayment Invoice Distribution Type
98386 , p_source_149 IN VARCHAR2
98387 --Business Flow Prepayment Invoice Entity Code
98388 , p_source_150 IN VARCHAR2
98389 --Business Flow Prepayment Invoice Distribution Identifier
98390 , p_source_151 IN NUMBER
98391 --Business Flow Prepayment Invoice Identifier
98392 , p_source_152 IN NUMBER
98393 --Prepayment/Invoice Ledger Amount Difference
98394 , p_source_158 IN NUMBER
98395 --Gain or Loss Indicator between Prepayment and Invoice
98396 , p_source_165 IN VARCHAR2
98397 )
98398 IS
98399
98400 l_component_type VARCHAR2(80);
98401 l_component_code VARCHAR2(30);
98405 l_entity_code VARCHAR2(30);
98402 l_component_type_code VARCHAR2(1);
98403 l_component_appl_id INTEGER;
98404 l_amb_context_code VARCHAR2(30);
98406 l_event_class_code VARCHAR2(30);
98407 l_ae_header_id NUMBER;
98408 l_event_type_code VARCHAR2(30);
98409 l_line_definition_code VARCHAR2(30);
98410 l_line_definition_owner_code VARCHAR2(1);
98411 --
98412 -- adr variables
98413 l_segment VARCHAR2(30);
98414 l_ccid NUMBER;
98415 l_adr_transaction_coa_id NUMBER;
98416 l_adr_accounting_coa_id NUMBER;
98417 l_adr_flexfield_segment_code VARCHAR2(30);
98418 l_adr_flex_value_set_id NUMBER;
98419 l_adr_value_type_code VARCHAR2(30);
98420 l_adr_value_combination_id NUMBER;
98421 l_adr_value_segment_code VARCHAR2(30);
98422
98423 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
98424 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
98425 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
98426 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
98427
98428 -- 4262811 Variables ------------------------------------------------------------------------------------------
98429 l_entered_amt_idx NUMBER;
98430 l_accted_amt_idx NUMBER;
98431 l_acc_rev_flag VARCHAR2(1);
98432 l_accrual_line_num NUMBER;
98433 l_tmp_amt NUMBER;
98434 l_acc_rev_natural_side_code VARCHAR2(1);
98435
98436 l_num_entries NUMBER;
98437 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
98438 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
98439 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
98440 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
98441 l_recog_line_1 NUMBER;
98442 l_recog_line_2 NUMBER;
98443
98444 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
98445 l_bflow_applied_to_amt NUMBER; -- 5132302
98446 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
98447
98448 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
98449
98450 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
98451 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
98452
98453 ---------------------------------------------------------------------------------------------------------------
98454
98455
98456 --
98457 -- bulk performance
98458 --
98459 l_balance_type_code VARCHAR2(1);
98460 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
98461 l_log_module VARCHAR2(240);
98462
98463 --
98464 -- Upgrade strategy
98465 --
98466 l_actual_upg_option VARCHAR2(1);
98467 l_enc_upg_option VARCHAR2(1);
98468
98469 --
98470 BEGIN
98471 --
98472 IF g_log_enabled THEN
98473 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_177';
98474 END IF;
98475 --
98476 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
98477
98478 trace
98479 (p_msg => 'BEGIN of AcctLineType_177'
98480 ,p_level => C_LEVEL_PROCEDURE
98481 ,p_module => l_log_module);
98482
98483 END IF;
98484 --
98485 l_component_type := 'AMB_JLT';
98486 l_component_code := 'AP_LOSS_PREPAY_APP';
98487 l_component_type_code := 'S';
98488 l_component_appl_id := 200;
98489 l_amb_context_code := 'DEFAULT';
98490 l_entity_code := 'AP_INVOICES';
98491 l_event_class_code := 'PREPAYMENT APPLICATIONS';
98492 l_event_type_code := 'PREPAYMENT APPLICATIONS_ALL';
98493 l_line_definition_owner_code := 'S';
98494 l_line_definition_code := 'ACCRUAL_PREPAYMENT APPLICATIO2';
98495 --
98496 l_balance_type_code := 'A';
98497 l_segment := NULL;
98498 l_ccid := NULL;
98499 l_adr_transaction_coa_id := NULL;
98500 l_adr_accounting_coa_id := NULL;
98501 l_adr_flexfield_segment_code := NULL;
98502 l_adr_flex_value_set_id := NULL;
98503 l_adr_value_type_code := NULL;
98504 l_adr_value_combination_id := NULL;
98505 l_adr_value_segment_code := NULL;
98506
98507 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
98508 l_bflow_class_code := ''; -- 4219869 Business Flow
98509 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
98510 l_budgetary_control_flag := 'N';
98511
98512 l_bflow_applied_to_amt_idx := NULL; -- 5132302
98513 l_bflow_applied_to_amt := NULL; -- 5132302
98514 l_entered_amt_idx := NULL; -- 4262811
98515 l_accted_amt_idx := NULL; -- 4262811
98516 l_acc_rev_flag := NULL; -- 4262811
98517 l_accrual_line_num := NULL; -- 4262811
98518 l_tmp_amt := NULL; -- 4262811
98519 --
98520 IF ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
98521 (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
98522 return;
98523 END IF;
98527 IF (NVL(p_source_128,'
98524
98525 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
98526 l_balance_type_code <> 'B' THEN
98528 ') = 'PREPAY APPL' OR
98529 NVL(p_source_128,'
98530 ') = 'PREPAY APPL NONREC TAX' OR
98531 NVL(p_source_128,'
98532 ') = 'PREPAY APPL REC TAX') AND
98533 NVL(p_source_165,'
98534 ') = 'LOSS'
98535 THEN
98536
98537 --
98538 XLA_AE_LINES_PKG.SetNewLine;
98539
98540 p_balance_type_code := l_balance_type_code;
98541 -- set the flag so later we will know whether the gain loss line needs to be created
98542
98543 IF(l_balance_type_code = 'A' ) THEN
98544 p_actual_flag :='G';
98545 END IF;
98546
98547 --
98548 -- bulk performance
98549 --
98550 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
98551 p_header_num => 0); -- 4262811
98552 --
98553 -- set accounting line options
98554 --
98555 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
98556 p_natural_side_code => 'D'
98557 , p_gain_or_loss_flag => 'Y'
98558 , p_gl_transfer_mode_code => 'S'
98559 , p_acct_entry_type_code => 'A'
98560 , p_switch_side_flag => 'Y'
98561 , p_merge_duplicate_code => 'A'
98562 );
98563 --
98564 l_acc_rev_natural_side_code := 'C'; -- 4262811
98565 --
98566 --
98567 -- set accounting line type info
98568 --
98569 xla_ae_lines_pkg.SetAcctLineType
98570 (p_component_type => l_component_type
98571 ,p_event_type_code => l_event_type_code
98572 ,p_line_definition_owner_code => l_line_definition_owner_code
98573 ,p_line_definition_code => l_line_definition_code
98574 ,p_accounting_line_code => l_component_code
98575 ,p_accounting_line_type_code => l_component_type_code
98576 ,p_accounting_line_appl_id => l_component_appl_id
98577 ,p_amb_context_code => l_amb_context_code
98578 ,p_entity_code => l_entity_code
98579 ,p_event_class_code => l_event_class_code);
98580 --
98581 -- set accounting class
98582 --
98583 xla_ae_lines_pkg.SetAcctClass(
98584 p_accounting_class_code => 'LOSS'
98585 , p_ae_header_id => l_ae_header_id
98586 );
98587
98588 --
98589 -- set rounding class
98590 --
98591 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
98592 'LOSS';
98593
98594 --
98595 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
98596 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
98597 --
98598 -- bulk performance
98599 --
98600 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
98601
98602 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
98603 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
98604
98605 -- 4955764
98606 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
98607 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
98608
98609 -- 4458381 Public Sector Enh
98610
98611 --
98612 -- set accounting attributes for the line type
98613 --
98614 l_entered_amt_idx := 25;
98615 l_accted_amt_idx := 30;
98616 l_bflow_applied_to_amt_idx := NULL; -- 5132302
98617 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
98618 l_rec_acct_attrs.array_char_value(1) := p_source_58;
98619 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
98620 l_rec_acct_attrs.array_num_value(2) :=
98621 xla_ae_sources_pkg.GetSystemSourceNum(
98622 p_source_code => 'XLA_EVENT_APPL_ID'
98623 , p_source_type_code => 'Y'
98624 , p_source_application_id => 602
98625 );
98626 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
98627 l_rec_acct_attrs.array_char_value(3) := p_source_60;
98628 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
98629 l_rec_acct_attrs.array_char_value(4) :=
98630 xla_ae_sources_pkg.GetSystemSourceChar(
98631 p_source_code => 'XLA_ENTITY_CODE'
98632 , p_source_type_code => 'Y'
98633 , p_source_application_id => 602
98634 );
98635 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
98636 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_130);
98637 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
98638 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_63);
98639 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
98640 l_rec_acct_attrs.array_num_value(7) := p_source_96;
98641 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
98642 l_rec_acct_attrs.array_char_value(8) := p_source_149;
98643 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
98644 l_rec_acct_attrs.array_char_value(9) := p_source_150;
98645 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
98646 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_151);
98650 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_130);
98647 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
98648 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_152);
98649 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
98651 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
98652 l_rec_acct_attrs.array_char_value(13) := p_source_60;
98653 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_ACCT_CLASS';
98654 l_rec_acct_attrs.array_char_value(14) := p_source_135;
98655 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
98656 l_rec_acct_attrs.array_num_value(15) := p_source_70;
98657 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
98658 l_rec_acct_attrs.array_num_value(16) := p_source_71;
98659 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
98660 l_rec_acct_attrs.array_char_value(17) := p_source_72;
98661 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
98662 l_rec_acct_attrs.array_num_value(18) := p_source_73;
98663 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ACCT_CLASS';
98664 l_rec_acct_attrs.array_char_value(19) := p_source_136;
98665 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_CCID';
98666 l_rec_acct_attrs.array_num_value(20) := p_source_74;
98667 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_AMT';
98668 l_rec_acct_attrs.array_num_value(21) := p_source_75;
98669 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_ENTERED_CURR';
98670 l_rec_acct_attrs.array_char_value(22) := p_source_72;
98671 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_DR_LEDGER_AMT';
98672 l_rec_acct_attrs.array_num_value(23) := p_source_76;
98673 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENC_UPG_OPTION';
98674 l_rec_acct_attrs.array_char_value(24) := p_source_77;
98675 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_AMOUNT';
98676 l_rec_acct_attrs.array_num_value(25) := p_source_137;
98677 l_rec_acct_attrs.array_acct_attr_code(26) := 'ENTERED_CURRENCY_CODE';
98678 l_rec_acct_attrs.array_char_value(26) := p_source_72;
98679 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_DATE';
98680 l_rec_acct_attrs.array_date_value(27) := p_source_146;
98681 l_rec_acct_attrs.array_acct_attr_code(28) := 'EXCHANGE_RATE';
98682 l_rec_acct_attrs.array_num_value(28) := p_source_147;
98683 l_rec_acct_attrs.array_acct_attr_code(29) := 'EXCHANGE_RATE_TYPE';
98684 l_rec_acct_attrs.array_char_value(29) := p_source_148;
98685 l_rec_acct_attrs.array_acct_attr_code(30) := 'LEDGER_AMOUNT';
98686 l_rec_acct_attrs.array_num_value(30) := p_source_158;
98687 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_END_DATE';
98688 l_rec_acct_attrs.array_date_value(31) := p_source_82;
98689 l_rec_acct_attrs.array_acct_attr_code(32) := 'MULTIPERIOD_OPTION';
98690 l_rec_acct_attrs.array_char_value(32) := p_source_83;
98691 l_rec_acct_attrs.array_acct_attr_code(33) := 'MULTIPERIOD_START_DATE';
98692 l_rec_acct_attrs.array_date_value(33) := p_source_84;
98693 l_rec_acct_attrs.array_acct_attr_code(34) := 'OVERRIDE_ACCTD_AMT_FLAG';
98694 l_rec_acct_attrs.array_char_value(34) := p_source_85;
98695 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_ID';
98696 l_rec_acct_attrs.array_num_value(35) := p_source_86;
98697 l_rec_acct_attrs.array_acct_attr_code(36) := 'PARTY_SITE_ID';
98698 l_rec_acct_attrs.array_num_value(36) := p_source_87;
98699 l_rec_acct_attrs.array_acct_attr_code(37) := 'PARTY_TYPE';
98700 l_rec_acct_attrs.array_char_value(37) := p_source_88;
98701 l_rec_acct_attrs.array_acct_attr_code(38) := 'REVERSED_DISTRIBUTION_ID1';
98702 l_rec_acct_attrs.array_num_value(38) := to_char(p_source_139);
98703 l_rec_acct_attrs.array_acct_attr_code(39) := 'REVERSED_DISTRIBUTION_TYPE';
98704 l_rec_acct_attrs.array_char_value(39) := p_source_60;
98705 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_LINE_REF_ID';
98706 l_rec_acct_attrs.array_num_value(40) := p_source_91;
98707 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_REC_NREC_DIST_REF_ID';
98708 l_rec_acct_attrs.array_num_value(41) := p_source_92;
98709 l_rec_acct_attrs.array_acct_attr_code(42) := 'TAX_SUMMARY_LINE_REF_ID';
98710 l_rec_acct_attrs.array_num_value(42) := p_source_93;
98711 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_CR_ENC_TYPE_ID';
98712 l_rec_acct_attrs.array_num_value(43) := p_source_94;
98713 l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
98714 l_rec_acct_attrs.array_num_value(44) := p_source_95;
98715
98716 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
98717 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
98718
98719 ---------------------------------------------------------------------------------------------------------------
98720 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
98721 ---------------------------------------------------------------------------------------------------------------
98722 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
98723
98724 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
98725 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
98726
98727 IF xla_accounting_cache_pkg.GetValueChar
98728 (p_source_code => 'LEDGER_CATEGORY_CODE'
98732 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
98729 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
98730 AND l_bflow_method_code = 'PRIOR_ENTRY'
98731 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
98733 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
98734 )
98735 THEN
98736 xla_ae_lines_pkg.BflowUpgEntry
98737 (p_business_method_code => l_bflow_method_code
98738 ,p_business_class_code => l_bflow_class_code
98739 ,p_balance_type => l_balance_type_code);
98740 ELSE
98741 NULL;
98742 -- No business flow processing for business flow method of NONE.
98743 END IF;
98744
98745 --
98746 -- call analytical criteria
98747 --
98748
98749 --
98750 -- call description
98751 --
98752 -- No description or it is inherited.
98753 --
98754 -- call ADRs
98755 -- Bug 4922099
98756 --
98757 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
98758 (NVL(l_actual_upg_option, 'N') = 'O') OR
98759 (NVL(l_enc_upg_option, 'N') = 'O')
98760 )
98761 THEN
98762 NULL;
98763 --
98764 --
98765
98766 l_ccid := AcctDerRule_41(
98767 p_application_id => p_application_id
98768 , p_ae_header_id => l_ae_header_id
98769 , p_source_10 => p_source_10
98770 , p_source_10_meaning => p_source_10_meaning
98771 , p_source_25 => p_source_25
98772 , p_source_33 => p_source_33
98773 , p_source_34 => p_source_34
98774 , x_transaction_coa_id => l_adr_transaction_coa_id
98775 , x_accounting_coa_id => l_adr_accounting_coa_id
98776 , x_value_type_code => l_adr_value_type_code
98777 , p_side => 'NA'
98778 );
98779
98780 xla_ae_lines_pkg.set_ccid(
98781 p_code_combination_id => l_ccid
98782 , p_value_type_code => l_adr_value_type_code
98783 , p_transaction_coa_id => l_adr_transaction_coa_id
98784 , p_accounting_coa_id => l_adr_accounting_coa_id
98785 , p_adr_code => 'AP_REAL_LOSS'
98786 , p_adr_type_code => 'S'
98787 , p_component_type => l_component_type
98788 , p_component_code => l_component_code
98789 , p_component_type_code => l_component_type_code
98790 , p_component_appl_id => l_component_appl_id
98791 , p_amb_context_code => l_amb_context_code
98792 , p_side => 'NA'
98793 );
98794
98795
98796 l_segment := AcctDerRule_23(
98797 p_application_id => p_application_id
98798 , p_ae_header_id => l_ae_header_id
98799 , p_source_10 => p_source_10
98800 , p_source_10_meaning => p_source_10_meaning
98801 , p_source_25 => p_source_25
98802 , x_transaction_coa_id => l_adr_transaction_coa_id
98803 , x_accounting_coa_id => l_adr_accounting_coa_id
98804 , x_flexfield_segment_code => l_adr_flexfield_segment_code
98805 , x_flex_value_set_id => l_adr_flex_value_set_id
98806 , x_value_type_code => l_adr_value_type_code
98807 , x_value_combination_id => l_adr_value_combination_id
98808 , x_value_segment_code => l_adr_value_segment_code
98809 , p_side => 'NA'
98810 , p_override_seg_flag => 'Y'
98811 );
98812
98813 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
98814
98815 xla_ae_lines_pkg.set_segment(
98816 p_to_segment_code => 'GL_BALANCING'
98817 , p_segment_value => l_segment
98818 , p_from_segment_code => l_adr_value_segment_code
98819 , p_from_combination_id => l_adr_value_combination_id
98820 , p_value_type_code => l_adr_value_type_code
98821 , p_transaction_coa_id => l_adr_transaction_coa_id
98822 , p_accounting_coa_id => l_adr_accounting_coa_id
98823 , p_flexfield_segment_code => l_adr_flexfield_segment_code
98824 , p_flex_value_set_id => l_adr_flex_value_set_id
98825 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
98826 , p_adr_type_code => 'S'
98827 , p_component_type => l_component_type
98828 , p_component_code => l_component_code
98829 , p_component_type_code => l_component_type_code
98830 , p_component_appl_id => l_component_appl_id
98831 , p_amb_context_code => l_amb_context_code
98832 , p_entity_code => 'AP_INVOICES'
98833 , p_event_class_code => 'PREPAYMENT APPLICATIONS'
98834 , p_side => 'NA'
98835 );
98836
98837 END IF;
98838
98839 l_segment := AcctDerRule_18(
98840 p_application_id => p_application_id
98841 , p_ae_header_id => l_ae_header_id
98842 , p_source_10 => p_source_10
98843 , p_source_10_meaning => p_source_10_meaning
98844 , p_source_33 => p_source_33
98845 , p_source_34 => p_source_34
98846 , x_transaction_coa_id => l_adr_transaction_coa_id
98847 , x_accounting_coa_id => l_adr_accounting_coa_id
98848 , x_flexfield_segment_code => l_adr_flexfield_segment_code
98849 , x_flex_value_set_id => l_adr_flex_value_set_id
98850 , x_value_type_code => l_adr_value_type_code
98854 , p_override_seg_flag => 'Y'
98851 , x_value_combination_id => l_adr_value_combination_id
98852 , x_value_segment_code => l_adr_value_segment_code
98853 , p_side => 'NA'
98855 );
98856
98857 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
98858
98859 xla_ae_lines_pkg.set_segment(
98860 p_to_segment_code => 'GL_ACCOUNT'
98861 , p_segment_value => l_segment
98862 , p_from_segment_code => l_adr_value_segment_code
98863 , p_from_combination_id => l_adr_value_combination_id
98864 , p_value_type_code => l_adr_value_type_code
98865 , p_transaction_coa_id => l_adr_transaction_coa_id
98866 , p_accounting_coa_id => l_adr_accounting_coa_id
98867 , p_flexfield_segment_code => l_adr_flexfield_segment_code
98868 , p_flex_value_set_id => l_adr_flex_value_set_id
98869 , p_adr_code => 'AP_REAL_LOSS_NAT_ACCT_SEG'
98870 , p_adr_type_code => 'S'
98871 , p_component_type => l_component_type
98872 , p_component_code => l_component_code
98873 , p_component_type_code => l_component_type_code
98874 , p_component_appl_id => l_component_appl_id
98875 , p_amb_context_code => l_amb_context_code
98876 , p_entity_code => 'AP_INVOICES'
98877 , p_event_class_code => 'PREPAYMENT APPLICATIONS'
98878 , p_side => 'NA'
98879 );
98880
98881 END IF;
98882
98883 --
98884 --
98885 END IF;
98886 --
98887 -- Bug 4922099
98888 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
98889 (NVL(l_enc_upg_option, 'N') = 'O')
98890 ) AND
98891 (l_bflow_method_code = 'PRIOR_ENTRY')
98892 )
98893 THEN
98894 IF
98895 --
98896 1 = 2
98897 --
98898 THEN
98899 xla_accounting_err_pkg.build_message
98900 (p_appli_s_name => 'XLA'
98901 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
98902 ,p_token_1 => 'LINE_NUMBER'
98903 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
98904 ,p_token_2 => 'LINE_TYPE_NAME'
98905 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
98906 l_component_type
98907 ,l_component_code
98908 ,l_component_type_code
98909 ,l_component_appl_id
98910 ,l_amb_context_code
98911 ,l_entity_code
98912 ,l_event_class_code
98913 )
98914 ,p_token_3 => 'OWNER'
98915 ,p_value_3 => xla_lookups_pkg.get_meaning(
98916 p_lookup_type => 'XLA_OWNER_TYPE'
98917 ,p_lookup_code => l_component_type_code
98918 )
98919 ,p_token_4 => 'PRODUCT_NAME'
98920 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
98921 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
98922 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
98923 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
98924 ,p_ae_header_id => NULL
98925 );
98926
98927 IF (C_LEVEL_ERROR>= g_log_level) THEN
98928 trace
98929 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
98930 ,p_level => C_LEVEL_ERROR
98931 ,p_module => l_log_module);
98932 END IF;
98933 END IF;
98934 END IF;
98935 --
98936 --
98937 ------------------------------------------------------------------------------------------------
98938 -- 4219869 Business Flow
98939 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
98940 -- Prior Entry. Currently, the following code is always generated.
98941 ------------------------------------------------------------------------------------------------
98942 XLA_AE_LINES_PKG.ValidateCurrentLine;
98943
98944 ------------------------------------------------------------------------------------
98945 -- 4219869 Business Flow
98946 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
98947 ------------------------------------------------------------------------------------
98951 -- 4219869 Business Flow
98948 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
98949
98950 ----------------------------------------------------------------------------------
98952 -- Update journal entry status -- Need to generate this within IF <condition>
98953 ----------------------------------------------------------------------------------
98954 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
98955 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
98956 ,p_balance_type_code => l_balance_type_code
98957 );
98958
98959 -------------------------------------------------------------------------------------------
98960 -- 4262811 - Generate the Accrual Reversal lines
98961 -------------------------------------------------------------------------------------------
98962 BEGIN
98963 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
98964 (g_array_event(p_event_id).array_value_num('header_index'));
98965 IF l_acc_rev_flag IS NULL THEN
98966 l_acc_rev_flag := 'N';
98967 END IF;
98968 EXCEPTION
98969 WHEN OTHERS THEN
98970 l_acc_rev_flag := 'N';
98971 END;
98972 --
98973 IF (l_acc_rev_flag = 'Y') THEN
98974
98975 -- 4645092 ------------------------------------------------------------------------------
98976 -- To allow MPA report to determine if it should generate report process
98977 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
98978 ------------------------------------------------------------------------------------------
98979
98980 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
98981 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
98982 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
98983 -- call ADRs
98984 -- Bug 4922099
98985 --
98986 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
98987 (NVL(l_actual_upg_option, 'N') = 'O') OR
98988 (NVL(l_enc_upg_option, 'N') = 'O')
98989 )
98990 THEN
98991 NULL;
98992 --
98993 --
98994
98995 l_ccid := AcctDerRule_41(
98996 p_application_id => p_application_id
98997 , p_ae_header_id => l_ae_header_id
98998 , p_source_10 => p_source_10
98999 , p_source_10_meaning => p_source_10_meaning
99000 , p_source_25 => p_source_25
99001 , p_source_33 => p_source_33
99002 , p_source_34 => p_source_34
99003 , x_transaction_coa_id => l_adr_transaction_coa_id
99004 , x_accounting_coa_id => l_adr_accounting_coa_id
99005 , x_value_type_code => l_adr_value_type_code
99006 , p_side => 'NA'
99007 );
99008
99009 xla_ae_lines_pkg.set_ccid(
99010 p_code_combination_id => l_ccid
99011 , p_value_type_code => l_adr_value_type_code
99012 , p_transaction_coa_id => l_adr_transaction_coa_id
99013 , p_accounting_coa_id => l_adr_accounting_coa_id
99014 , p_adr_code => 'AP_REAL_LOSS'
99015 , p_adr_type_code => 'S'
99016 , p_component_type => l_component_type
99017 , p_component_code => l_component_code
99018 , p_component_type_code => l_component_type_code
99019 , p_component_appl_id => l_component_appl_id
99020 , p_amb_context_code => l_amb_context_code
99021 , p_side => 'NA'
99022 );
99023
99024
99025 l_segment := AcctDerRule_23(
99026 p_application_id => p_application_id
99027 , p_ae_header_id => l_ae_header_id
99028 , p_source_10 => p_source_10
99029 , p_source_10_meaning => p_source_10_meaning
99030 , p_source_25 => p_source_25
99031 , x_transaction_coa_id => l_adr_transaction_coa_id
99032 , x_accounting_coa_id => l_adr_accounting_coa_id
99033 , x_flexfield_segment_code => l_adr_flexfield_segment_code
99034 , x_flex_value_set_id => l_adr_flex_value_set_id
99035 , x_value_type_code => l_adr_value_type_code
99036 , x_value_combination_id => l_adr_value_combination_id
99037 , x_value_segment_code => l_adr_value_segment_code
99038 , p_side => 'NA'
99039 , p_override_seg_flag => 'Y'
99040 );
99041
99042 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
99043
99044 xla_ae_lines_pkg.set_segment(
99045 p_to_segment_code => 'GL_BALANCING'
99046 , p_segment_value => l_segment
99047 , p_from_segment_code => l_adr_value_segment_code
99048 , p_from_combination_id => l_adr_value_combination_id
99049 , p_value_type_code => l_adr_value_type_code
99050 , p_transaction_coa_id => l_adr_transaction_coa_id
99051 , p_accounting_coa_id => l_adr_accounting_coa_id
99052 , p_flexfield_segment_code => l_adr_flexfield_segment_code
99053 , p_flex_value_set_id => l_adr_flex_value_set_id
99054 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
99055 , p_adr_type_code => 'S'
99056 , p_component_type => l_component_type
99057 , p_component_code => l_component_code
99058 , p_component_type_code => l_component_type_code
99059 , p_component_appl_id => l_component_appl_id
99063 , p_side => 'NA'
99060 , p_amb_context_code => l_amb_context_code
99061 , p_entity_code => 'AP_INVOICES'
99062 , p_event_class_code => 'PREPAYMENT APPLICATIONS'
99064 );
99065
99066 END IF;
99067
99068 l_segment := AcctDerRule_18(
99069 p_application_id => p_application_id
99070 , p_ae_header_id => l_ae_header_id
99071 , p_source_10 => p_source_10
99072 , p_source_10_meaning => p_source_10_meaning
99073 , p_source_33 => p_source_33
99074 , p_source_34 => p_source_34
99075 , x_transaction_coa_id => l_adr_transaction_coa_id
99076 , x_accounting_coa_id => l_adr_accounting_coa_id
99077 , x_flexfield_segment_code => l_adr_flexfield_segment_code
99078 , x_flex_value_set_id => l_adr_flex_value_set_id
99079 , x_value_type_code => l_adr_value_type_code
99080 , x_value_combination_id => l_adr_value_combination_id
99081 , x_value_segment_code => l_adr_value_segment_code
99082 , p_side => 'NA'
99083 , p_override_seg_flag => 'Y'
99084 );
99085
99086 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
99087
99088 xla_ae_lines_pkg.set_segment(
99089 p_to_segment_code => 'GL_ACCOUNT'
99090 , p_segment_value => l_segment
99091 , p_from_segment_code => l_adr_value_segment_code
99092 , p_from_combination_id => l_adr_value_combination_id
99093 , p_value_type_code => l_adr_value_type_code
99094 , p_transaction_coa_id => l_adr_transaction_coa_id
99095 , p_accounting_coa_id => l_adr_accounting_coa_id
99096 , p_flexfield_segment_code => l_adr_flexfield_segment_code
99097 , p_flex_value_set_id => l_adr_flex_value_set_id
99098 , p_adr_code => 'AP_REAL_LOSS_NAT_ACCT_SEG'
99099 , p_adr_type_code => 'S'
99100 , p_component_type => l_component_type
99101 , p_component_code => l_component_code
99102 , p_component_type_code => l_component_type_code
99103 , p_component_appl_id => l_component_appl_id
99104 , p_amb_context_code => l_amb_context_code
99105 , p_entity_code => 'AP_INVOICES'
99106 , p_event_class_code => 'PREPAYMENT APPLICATIONS'
99107 , p_side => 'NA'
99108 );
99109
99110 END IF;
99111
99112 --
99113 --
99114 END IF;
99115
99116 --
99117 -- Update the line information that should be overwritten
99118 --
99119 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
99120 p_header_num => 1);
99121 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
99122
99123 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
99124
99125 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
99126 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
99127 END IF;
99128
99129 --
99130 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
99131 --
99132 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
99133 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
99134 ELSE
99135 ---------------------------------------------------------------------------------------------------
99136 -- 4262811a Switch Sign
99137 ---------------------------------------------------------------------------------------------------
99138 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
99139 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
99140 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
99141 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
99142 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
99143 -- 5132302
99144 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
99145 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
99146
99147 END IF;
99148
99149 -- 4955764
99150 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
99151 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
99152
99153
99154 XLA_AE_LINES_PKG.ValidateCurrentLine;
99155 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
99156
99157 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
99158 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
99159 ,p_balance_type_code => l_balance_type_code);
99160
99161 END IF;
99162
99163 -----------------------------------------------------------------------------------------
99164 -- 4262811 Multiperiod Accounting
99168
99165 -----------------------------------------------------------------------------------------
99166 -- No MPA option is assigned.
99167
99169 END IF;
99170 END IF;
99171 --
99172
99173 --
99174 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
99175 trace
99176 (p_msg => 'END of AcctLineType_177'
99177 ,p_level => C_LEVEL_PROCEDURE
99178 ,p_module => l_log_module);
99179 END IF;
99180 --
99181 EXCEPTION
99182 WHEN xla_exceptions_pkg.application_exception THEN
99183 RAISE;
99184 WHEN OTHERS THEN
99185 xla_exceptions_pkg.raise_message
99186 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_177');
99187 END AcctLineType_177;
99188 --
99189
99190 ---------------------------------------
99191 --
99192 -- PRIVATE FUNCTION
99193 -- AcctLineType_178
99194 --
99195 ---------------------------------------
99196 PROCEDURE AcctLineType_178 (
99197 p_application_id IN NUMBER
99198 ,p_event_id IN NUMBER
99199 ,p_calculate_acctd_flag IN VARCHAR2
99200 ,p_calculate_g_l_flag IN VARCHAR2
99201 ,p_actual_flag IN OUT VARCHAR2
99202 ,p_balance_type_code OUT VARCHAR2
99203 ,p_gain_or_loss_ref OUT VARCHAR2
99204
99205 --Payment Currency Code
99206 , p_source_8 IN VARCHAR2
99207 --Automatic Offsets Value
99208 , p_source_10 IN VARCHAR2
99209 , p_source_10_meaning IN VARCHAR2
99210 --Invoice Distribution Account
99211 , p_source_25 IN NUMBER
99212 --Internal Realized Loss Account
99213 , p_source_33 IN NUMBER
99214 --Bank Loss Account
99215 , p_source_34 IN NUMBER
99216 --When to Account for Payment Option
99217 , p_source_57 IN VARCHAR2
99218 --Accounting Reversal Indicator
99219 , p_source_58 IN VARCHAR2
99220 --Distribution Link Type
99221 , p_source_60 IN VARCHAR2
99222 --Override Accounted Amount Indicator
99223 , p_source_85 IN VARCHAR2
99224 , p_source_85_meaning IN VARCHAR2
99225 --Third Party Type
99226 , p_source_88 IN VARCHAR2
99227 --Invoice Distribution Tax Line Identifier
99228 , p_source_91 IN NUMBER
99229 --Invoice Distribution Tax Distribution Identifier from Tax
99230 , p_source_92 IN NUMBER
99231 --Invoice Distribution Summary Tax Line Identifier
99232 , p_source_93 IN NUMBER
99233 --Business Flow Accounts Payable Application Identifier
99234 , p_source_96 IN NUMBER
99235 --Business Flow Invoice Distribution Type
99236 , p_source_97 IN VARCHAR2
99237 --Business Flow Invoice Entity Code
99238 , p_source_98 IN VARCHAR2
99239 --Business Flow Invoice Distribution Identifier
99240 , p_source_99 IN NUMBER
99241 --Business Flow Invoice Identifier
99242 , p_source_100 IN NUMBER
99243 --Payment Distribution Type
99244 , p_source_101 IN VARCHAR2
99245 , p_source_101_meaning IN VARCHAR2
99246 --Payment Distribution Amount
99247 , p_source_102 IN NUMBER
99248 --Payment Distribution Identifier
99249 , p_source_107 IN NUMBER
99250 --Payment Supplier Identifier
99251 , p_source_113 IN NUMBER
99252 --Payment Supplier Site Identifier
99253 , p_source_114 IN NUMBER
99254 --Payment Distribution Reversed Identifier
99255 , p_source_115 IN NUMBER
99256 --Payment Exchange Date
99257 , p_source_120 IN DATE
99258 --Payment Exchange Rate
99259 , p_source_121 IN NUMBER
99260 --Payment Exchange Rate Type
99261 , p_source_122 IN VARCHAR2
99262 --Payment Type
99263 , p_source_125 IN VARCHAR2
99264 , p_source_125_meaning IN VARCHAR2
99265 --Invoice/Payment Ledger Amount Difference
99266 , p_source_156 IN NUMBER
99267 --Gain or Loss Indicator between Invoice and Payment
99268 , p_source_161 IN VARCHAR2
99269 )
99270 IS
99271
99272 l_component_type VARCHAR2(80);
99273 l_component_code VARCHAR2(30);
99274 l_component_type_code VARCHAR2(1);
99275 l_component_appl_id INTEGER;
99276 l_amb_context_code VARCHAR2(30);
99277 l_entity_code VARCHAR2(30);
99278 l_event_class_code VARCHAR2(30);
99279 l_ae_header_id NUMBER;
99280 l_event_type_code VARCHAR2(30);
99281 l_line_definition_code VARCHAR2(30);
99282 l_line_definition_owner_code VARCHAR2(1);
99283 --
99284 -- adr variables
99285 l_segment VARCHAR2(30);
99286 l_ccid NUMBER;
99287 l_adr_transaction_coa_id NUMBER;
99288 l_adr_accounting_coa_id NUMBER;
99289 l_adr_flexfield_segment_code VARCHAR2(30);
99290 l_adr_flex_value_set_id NUMBER;
99291 l_adr_value_type_code VARCHAR2(30);
99292 l_adr_value_combination_id NUMBER;
99293 l_adr_value_segment_code VARCHAR2(30);
99294
99295 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
99296 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
99297 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
99298 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
99299
99300 -- 4262811 Variables ------------------------------------------------------------------------------------------
99301 l_entered_amt_idx NUMBER;
99305 l_tmp_amt NUMBER;
99302 l_accted_amt_idx NUMBER;
99303 l_acc_rev_flag VARCHAR2(1);
99304 l_accrual_line_num NUMBER;
99306 l_acc_rev_natural_side_code VARCHAR2(1);
99307
99308 l_num_entries NUMBER;
99309 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
99310 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
99311 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
99312 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
99313 l_recog_line_1 NUMBER;
99314 l_recog_line_2 NUMBER;
99315
99316 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
99317 l_bflow_applied_to_amt NUMBER; -- 5132302
99318 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
99319
99320 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
99321
99322 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
99323 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
99324
99325 ---------------------------------------------------------------------------------------------------------------
99326
99327
99328 --
99329 -- bulk performance
99330 --
99331 l_balance_type_code VARCHAR2(1);
99332 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
99333 l_log_module VARCHAR2(240);
99334
99335 --
99336 -- Upgrade strategy
99337 --
99338 l_actual_upg_option VARCHAR2(1);
99339 l_enc_upg_option VARCHAR2(1);
99340
99341 --
99342 BEGIN
99343 --
99344 IF g_log_enabled THEN
99345 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_178';
99346 END IF;
99347 --
99348 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
99349
99350 trace
99351 (p_msg => 'BEGIN of AcctLineType_178'
99352 ,p_level => C_LEVEL_PROCEDURE
99353 ,p_module => l_log_module);
99354
99355 END IF;
99356 --
99357 l_component_type := 'AMB_JLT';
99358 l_component_code := 'AP_LOSS_REF';
99359 l_component_type_code := 'S';
99360 l_component_appl_id := 200;
99361 l_amb_context_code := 'DEFAULT';
99362 l_entity_code := 'AP_PAYMENTS';
99363 l_event_class_code := 'REFUNDS';
99364 l_event_type_code := 'REFUNDS_ALL';
99365 l_line_definition_owner_code := 'S';
99366 l_line_definition_code := 'ACCRUAL_REFUNDS_ALL';
99367 --
99368 l_balance_type_code := 'A';
99369 l_segment := NULL;
99370 l_ccid := NULL;
99371 l_adr_transaction_coa_id := NULL;
99372 l_adr_accounting_coa_id := NULL;
99373 l_adr_flexfield_segment_code := NULL;
99374 l_adr_flex_value_set_id := NULL;
99375 l_adr_value_type_code := NULL;
99376 l_adr_value_combination_id := NULL;
99377 l_adr_value_segment_code := NULL;
99378
99379 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
99380 l_bflow_class_code := ''; -- 4219869 Business Flow
99381 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
99382 l_budgetary_control_flag := 'N';
99383
99384 l_bflow_applied_to_amt_idx := NULL; -- 5132302
99385 l_bflow_applied_to_amt := NULL; -- 5132302
99386 l_entered_amt_idx := NULL; -- 4262811
99387 l_accted_amt_idx := NULL; -- 4262811
99388 l_acc_rev_flag := NULL; -- 4262811
99389 l_accrual_line_num := NULL; -- 4262811
99390 l_tmp_amt := NULL; -- 4262811
99391 --
99392 IF ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
99393 (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
99394 return;
99395 END IF;
99396
99397 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
99398 l_balance_type_code <> 'B' THEN
99399 IF (NVL(p_source_57,'
99400 ') <> 'CLEAR_CLEAR' AND
99401 NVL(p_source_57,'
99402 ') <> 'ALWAYS_CLEAR') AND
99403 NVL(p_source_161,'
99404 ') = 'LOSS' AND
99405 NVL(p_source_125,'
99406 ') = 'R' AND
99407 NVL(p_source_101,'
99408 ') <> 'EXCHANGE RATE VARIANCE' AND
99409 NVL(p_source_101,'
99410 ') <> 'TAX EXCHANGE RATE VARIANCE' AND
99411 NVL(p_source_101,'
99412 ') <> 'BANK CHARGE' AND
99413 NVL(p_source_101,'
99414 ') <> 'BANK ERROR'
99415 THEN
99416
99417 --
99418 XLA_AE_LINES_PKG.SetNewLine;
99419
99420 p_balance_type_code := l_balance_type_code;
99421 -- set the flag so later we will know whether the gain loss line needs to be created
99422
99423 IF(l_balance_type_code = 'A' ) THEN
99424 p_actual_flag :='G';
99425 END IF;
99426
99427 --
99428 -- bulk performance
99429 --
99430 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
99431 p_header_num => 0); -- 4262811
99432 --
99433 -- set accounting line options
99434 --
99435 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
99436 p_natural_side_code => 'C'
99440 , p_switch_side_flag => 'Y'
99437 , p_gain_or_loss_flag => 'Y'
99438 , p_gl_transfer_mode_code => 'S'
99439 , p_acct_entry_type_code => 'A'
99441 , p_merge_duplicate_code => 'A'
99442 );
99443 --
99444 l_acc_rev_natural_side_code := 'D'; -- 4262811
99445 --
99446 --
99447 -- set accounting line type info
99448 --
99449 xla_ae_lines_pkg.SetAcctLineType
99450 (p_component_type => l_component_type
99451 ,p_event_type_code => l_event_type_code
99452 ,p_line_definition_owner_code => l_line_definition_owner_code
99453 ,p_line_definition_code => l_line_definition_code
99454 ,p_accounting_line_code => l_component_code
99455 ,p_accounting_line_type_code => l_component_type_code
99456 ,p_accounting_line_appl_id => l_component_appl_id
99457 ,p_amb_context_code => l_amb_context_code
99458 ,p_entity_code => l_entity_code
99459 ,p_event_class_code => l_event_class_code);
99460 --
99461 -- set accounting class
99462 --
99463 xla_ae_lines_pkg.SetAcctClass(
99464 p_accounting_class_code => 'LOSS'
99465 , p_ae_header_id => l_ae_header_id
99466 );
99467
99468 --
99469 -- set rounding class
99470 --
99471 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
99472 'LOSS';
99473
99474 --
99475 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
99476 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
99477 --
99478 -- bulk performance
99479 --
99480 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
99481
99482 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
99483 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
99484
99485 -- 4955764
99486 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
99487 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
99488
99489 -- 4458381 Public Sector Enh
99490
99491 --
99492 -- set accounting attributes for the line type
99493 --
99494 l_entered_amt_idx := 9;
99495 l_accted_amt_idx := 14;
99496 l_bflow_applied_to_amt_idx := NULL; -- 5132302
99497 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
99498 l_rec_acct_attrs.array_char_value(1) := p_source_58;
99499 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_APPLICATION_ID';
99500 l_rec_acct_attrs.array_num_value(2) := p_source_96;
99501 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_DISTRIBUTION_TYPE';
99502 l_rec_acct_attrs.array_char_value(3) := p_source_97;
99503 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_ENTITY_CODE';
99504 l_rec_acct_attrs.array_char_value(4) := p_source_98;
99505 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_FIRST_DIST_ID';
99506 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_99);
99507 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
99508 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_100);
99509 l_rec_acct_attrs.array_acct_attr_code(7) := 'DISTRIBUTION_IDENTIFIER_1';
99510 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_107);
99511 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_TYPE';
99512 l_rec_acct_attrs.array_char_value(8) := p_source_60;
99513 l_rec_acct_attrs.array_acct_attr_code(9) := 'ENTERED_CURRENCY_AMOUNT';
99514 l_rec_acct_attrs.array_num_value(9) := p_source_102;
99515 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_CODE';
99516 l_rec_acct_attrs.array_char_value(10) := p_source_8;
99517 l_rec_acct_attrs.array_acct_attr_code(11) := 'EXCHANGE_DATE';
99518 l_rec_acct_attrs.array_date_value(11) := p_source_120;
99519 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_RATE';
99520 l_rec_acct_attrs.array_num_value(12) := p_source_121;
99521 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE_TYPE';
99522 l_rec_acct_attrs.array_char_value(13) := p_source_122;
99523 l_rec_acct_attrs.array_acct_attr_code(14) := 'LEDGER_AMOUNT';
99524 l_rec_acct_attrs.array_num_value(14) := p_source_156;
99525 l_rec_acct_attrs.array_acct_attr_code(15) := 'OVERRIDE_ACCTD_AMT_FLAG';
99526 l_rec_acct_attrs.array_char_value(15) := p_source_85;
99527 l_rec_acct_attrs.array_acct_attr_code(16) := 'PARTY_ID';
99528 l_rec_acct_attrs.array_num_value(16) := p_source_113;
99529 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_SITE_ID';
99530 l_rec_acct_attrs.array_num_value(17) := p_source_114;
99531 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_TYPE';
99532 l_rec_acct_attrs.array_char_value(18) := p_source_88;
99533 l_rec_acct_attrs.array_acct_attr_code(19) := 'REVERSED_DISTRIBUTION_ID1';
99534 l_rec_acct_attrs.array_num_value(19) := to_char(p_source_115);
99535 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_TYPE';
99536 l_rec_acct_attrs.array_char_value(20) := p_source_60;
99537 l_rec_acct_attrs.array_acct_attr_code(21) := 'TAX_LINE_REF_ID';
99538 l_rec_acct_attrs.array_num_value(21) := p_source_91;
99539 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_REC_NREC_DIST_REF_ID';
99543
99540 l_rec_acct_attrs.array_num_value(22) := p_source_92;
99541 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_SUMMARY_LINE_REF_ID';
99542 l_rec_acct_attrs.array_num_value(23) := p_source_93;
99544 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
99545 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
99546
99547 ---------------------------------------------------------------------------------------------------------------
99548 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
99549 ---------------------------------------------------------------------------------------------------------------
99550 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
99551
99552 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
99553 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
99554
99555 IF xla_accounting_cache_pkg.GetValueChar
99556 (p_source_code => 'LEDGER_CATEGORY_CODE'
99557 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
99558 AND l_bflow_method_code = 'PRIOR_ENTRY'
99559 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
99560 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
99561 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
99562 )
99563 THEN
99564 xla_ae_lines_pkg.BflowUpgEntry
99565 (p_business_method_code => l_bflow_method_code
99566 ,p_business_class_code => l_bflow_class_code
99567 ,p_balance_type => l_balance_type_code);
99568 ELSE
99569 NULL;
99570 -- No business flow processing for business flow method of NONE.
99571 END IF;
99572
99573 --
99574 -- call analytical criteria
99575 --
99576
99577 --
99578 -- call description
99579 --
99580 -- No description or it is inherited.
99581 --
99582 -- call ADRs
99583 -- Bug 4922099
99584 --
99585 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
99586 (NVL(l_actual_upg_option, 'N') = 'O') OR
99587 (NVL(l_enc_upg_option, 'N') = 'O')
99588 )
99589 THEN
99590 NULL;
99591 --
99592 --
99593
99594 l_ccid := AcctDerRule_41(
99595 p_application_id => p_application_id
99596 , p_ae_header_id => l_ae_header_id
99597 , p_source_10 => p_source_10
99598 , p_source_10_meaning => p_source_10_meaning
99599 , p_source_25 => p_source_25
99600 , p_source_33 => p_source_33
99601 , p_source_34 => p_source_34
99602 , x_transaction_coa_id => l_adr_transaction_coa_id
99603 , x_accounting_coa_id => l_adr_accounting_coa_id
99604 , x_value_type_code => l_adr_value_type_code
99605 , p_side => 'NA'
99606 );
99607
99608 xla_ae_lines_pkg.set_ccid(
99609 p_code_combination_id => l_ccid
99610 , p_value_type_code => l_adr_value_type_code
99611 , p_transaction_coa_id => l_adr_transaction_coa_id
99612 , p_accounting_coa_id => l_adr_accounting_coa_id
99613 , p_adr_code => 'AP_REAL_LOSS'
99614 , p_adr_type_code => 'S'
99615 , p_component_type => l_component_type
99616 , p_component_code => l_component_code
99617 , p_component_type_code => l_component_type_code
99618 , p_component_appl_id => l_component_appl_id
99619 , p_amb_context_code => l_amb_context_code
99620 , p_side => 'NA'
99621 );
99622
99623
99624 l_segment := AcctDerRule_23(
99625 p_application_id => p_application_id
99626 , p_ae_header_id => l_ae_header_id
99627 , p_source_10 => p_source_10
99628 , p_source_10_meaning => p_source_10_meaning
99629 , p_source_25 => p_source_25
99630 , x_transaction_coa_id => l_adr_transaction_coa_id
99631 , x_accounting_coa_id => l_adr_accounting_coa_id
99632 , x_flexfield_segment_code => l_adr_flexfield_segment_code
99633 , x_flex_value_set_id => l_adr_flex_value_set_id
99634 , x_value_type_code => l_adr_value_type_code
99635 , x_value_combination_id => l_adr_value_combination_id
99636 , x_value_segment_code => l_adr_value_segment_code
99637 , p_side => 'NA'
99638 , p_override_seg_flag => 'Y'
99639 );
99640
99641 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
99642
99643 xla_ae_lines_pkg.set_segment(
99644 p_to_segment_code => 'GL_BALANCING'
99645 , p_segment_value => l_segment
99646 , p_from_segment_code => l_adr_value_segment_code
99647 , p_from_combination_id => l_adr_value_combination_id
99648 , p_value_type_code => l_adr_value_type_code
99649 , p_transaction_coa_id => l_adr_transaction_coa_id
99650 , p_accounting_coa_id => l_adr_accounting_coa_id
99651 , p_flexfield_segment_code => l_adr_flexfield_segment_code
99652 , p_flex_value_set_id => l_adr_flex_value_set_id
99653 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
99654 , p_adr_type_code => 'S'
99655 , p_component_type => l_component_type
99659 , p_amb_context_code => l_amb_context_code
99656 , p_component_code => l_component_code
99657 , p_component_type_code => l_component_type_code
99658 , p_component_appl_id => l_component_appl_id
99660 , p_entity_code => 'AP_PAYMENTS'
99661 , p_event_class_code => 'REFUNDS'
99662 , p_side => 'NA'
99663 );
99664
99665 END IF;
99666
99667 l_segment := AcctDerRule_18(
99668 p_application_id => p_application_id
99669 , p_ae_header_id => l_ae_header_id
99670 , p_source_10 => p_source_10
99671 , p_source_10_meaning => p_source_10_meaning
99672 , p_source_33 => p_source_33
99673 , p_source_34 => p_source_34
99674 , x_transaction_coa_id => l_adr_transaction_coa_id
99675 , x_accounting_coa_id => l_adr_accounting_coa_id
99676 , x_flexfield_segment_code => l_adr_flexfield_segment_code
99677 , x_flex_value_set_id => l_adr_flex_value_set_id
99678 , x_value_type_code => l_adr_value_type_code
99679 , x_value_combination_id => l_adr_value_combination_id
99680 , x_value_segment_code => l_adr_value_segment_code
99681 , p_side => 'NA'
99682 , p_override_seg_flag => 'Y'
99683 );
99684
99685 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
99686
99687 xla_ae_lines_pkg.set_segment(
99688 p_to_segment_code => 'GL_ACCOUNT'
99689 , p_segment_value => l_segment
99690 , p_from_segment_code => l_adr_value_segment_code
99691 , p_from_combination_id => l_adr_value_combination_id
99692 , p_value_type_code => l_adr_value_type_code
99693 , p_transaction_coa_id => l_adr_transaction_coa_id
99694 , p_accounting_coa_id => l_adr_accounting_coa_id
99695 , p_flexfield_segment_code => l_adr_flexfield_segment_code
99696 , p_flex_value_set_id => l_adr_flex_value_set_id
99697 , p_adr_code => 'AP_REAL_LOSS_NAT_ACCT_SEG'
99698 , p_adr_type_code => 'S'
99699 , p_component_type => l_component_type
99700 , p_component_code => l_component_code
99701 , p_component_type_code => l_component_type_code
99702 , p_component_appl_id => l_component_appl_id
99703 , p_amb_context_code => l_amb_context_code
99704 , p_entity_code => 'AP_PAYMENTS'
99705 , p_event_class_code => 'REFUNDS'
99706 , p_side => 'NA'
99707 );
99708
99709 END IF;
99710
99711 --
99712 --
99713 END IF;
99714 --
99715 -- Bug 4922099
99716 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
99717 (NVL(l_enc_upg_option, 'N') = 'O')
99718 ) AND
99719 (l_bflow_method_code = 'PRIOR_ENTRY')
99720 )
99721 THEN
99722 IF
99723 --
99724 1 = 2
99725 --
99726 THEN
99727 xla_accounting_err_pkg.build_message
99728 (p_appli_s_name => 'XLA'
99729 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
99730 ,p_token_1 => 'LINE_NUMBER'
99731 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
99732 ,p_token_2 => 'LINE_TYPE_NAME'
99733 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
99734 l_component_type
99735 ,l_component_code
99736 ,l_component_type_code
99737 ,l_component_appl_id
99738 ,l_amb_context_code
99739 ,l_entity_code
99740 ,l_event_class_code
99741 )
99742 ,p_token_3 => 'OWNER'
99743 ,p_value_3 => xla_lookups_pkg.get_meaning(
99744 p_lookup_type => 'XLA_OWNER_TYPE'
99745 ,p_lookup_code => l_component_type_code
99746 )
99747 ,p_token_4 => 'PRODUCT_NAME'
99748 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
99749 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
99750 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
99751 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
99755 IF (C_LEVEL_ERROR>= g_log_level) THEN
99752 ,p_ae_header_id => NULL
99753 );
99754
99756 trace
99757 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
99758 ,p_level => C_LEVEL_ERROR
99759 ,p_module => l_log_module);
99760 END IF;
99761 END IF;
99762 END IF;
99763 --
99764 --
99765 ------------------------------------------------------------------------------------------------
99766 -- 4219869 Business Flow
99767 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
99768 -- Prior Entry. Currently, the following code is always generated.
99769 ------------------------------------------------------------------------------------------------
99770 XLA_AE_LINES_PKG.ValidateCurrentLine;
99771
99772 ------------------------------------------------------------------------------------
99773 -- 4219869 Business Flow
99774 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
99775 ------------------------------------------------------------------------------------
99776 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
99777
99778 ----------------------------------------------------------------------------------
99779 -- 4219869 Business Flow
99780 -- Update journal entry status -- Need to generate this within IF <condition>
99781 ----------------------------------------------------------------------------------
99782 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
99783 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
99784 ,p_balance_type_code => l_balance_type_code
99785 );
99786
99787 -------------------------------------------------------------------------------------------
99788 -- 4262811 - Generate the Accrual Reversal lines
99789 -------------------------------------------------------------------------------------------
99790 BEGIN
99791 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
99792 (g_array_event(p_event_id).array_value_num('header_index'));
99793 IF l_acc_rev_flag IS NULL THEN
99794 l_acc_rev_flag := 'N';
99795 END IF;
99796 EXCEPTION
99797 WHEN OTHERS THEN
99798 l_acc_rev_flag := 'N';
99799 END;
99800 --
99801 IF (l_acc_rev_flag = 'Y') THEN
99802
99803 -- 4645092 ------------------------------------------------------------------------------
99804 -- To allow MPA report to determine if it should generate report process
99805 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
99806 ------------------------------------------------------------------------------------------
99807
99808 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
99809 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
99810 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
99811 -- call ADRs
99812 -- Bug 4922099
99813 --
99814 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
99815 (NVL(l_actual_upg_option, 'N') = 'O') OR
99816 (NVL(l_enc_upg_option, 'N') = 'O')
99817 )
99818 THEN
99819 NULL;
99820 --
99821 --
99822
99823 l_ccid := AcctDerRule_41(
99824 p_application_id => p_application_id
99825 , p_ae_header_id => l_ae_header_id
99826 , p_source_10 => p_source_10
99827 , p_source_10_meaning => p_source_10_meaning
99828 , p_source_25 => p_source_25
99829 , p_source_33 => p_source_33
99830 , p_source_34 => p_source_34
99831 , x_transaction_coa_id => l_adr_transaction_coa_id
99832 , x_accounting_coa_id => l_adr_accounting_coa_id
99833 , x_value_type_code => l_adr_value_type_code
99834 , p_side => 'NA'
99835 );
99836
99837 xla_ae_lines_pkg.set_ccid(
99838 p_code_combination_id => l_ccid
99839 , p_value_type_code => l_adr_value_type_code
99840 , p_transaction_coa_id => l_adr_transaction_coa_id
99841 , p_accounting_coa_id => l_adr_accounting_coa_id
99842 , p_adr_code => 'AP_REAL_LOSS'
99843 , p_adr_type_code => 'S'
99844 , p_component_type => l_component_type
99845 , p_component_code => l_component_code
99846 , p_component_type_code => l_component_type_code
99847 , p_component_appl_id => l_component_appl_id
99848 , p_amb_context_code => l_amb_context_code
99849 , p_side => 'NA'
99850 );
99851
99852
99853 l_segment := AcctDerRule_23(
99854 p_application_id => p_application_id
99855 , p_ae_header_id => l_ae_header_id
99856 , p_source_10 => p_source_10
99857 , p_source_10_meaning => p_source_10_meaning
99858 , p_source_25 => p_source_25
99859 , x_transaction_coa_id => l_adr_transaction_coa_id
99860 , x_accounting_coa_id => l_adr_accounting_coa_id
99861 , x_flexfield_segment_code => l_adr_flexfield_segment_code
99862 , x_flex_value_set_id => l_adr_flex_value_set_id
99863 , x_value_type_code => l_adr_value_type_code
99867 , p_override_seg_flag => 'Y'
99864 , x_value_combination_id => l_adr_value_combination_id
99865 , x_value_segment_code => l_adr_value_segment_code
99866 , p_side => 'NA'
99868 );
99869
99870 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
99871
99872 xla_ae_lines_pkg.set_segment(
99873 p_to_segment_code => 'GL_BALANCING'
99874 , p_segment_value => l_segment
99875 , p_from_segment_code => l_adr_value_segment_code
99876 , p_from_combination_id => l_adr_value_combination_id
99877 , p_value_type_code => l_adr_value_type_code
99878 , p_transaction_coa_id => l_adr_transaction_coa_id
99879 , p_accounting_coa_id => l_adr_accounting_coa_id
99880 , p_flexfield_segment_code => l_adr_flexfield_segment_code
99881 , p_flex_value_set_id => l_adr_flex_value_set_id
99882 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
99883 , p_adr_type_code => 'S'
99884 , p_component_type => l_component_type
99885 , p_component_code => l_component_code
99886 , p_component_type_code => l_component_type_code
99887 , p_component_appl_id => l_component_appl_id
99888 , p_amb_context_code => l_amb_context_code
99889 , p_entity_code => 'AP_PAYMENTS'
99890 , p_event_class_code => 'REFUNDS'
99891 , p_side => 'NA'
99892 );
99893
99894 END IF;
99895
99896 l_segment := AcctDerRule_18(
99897 p_application_id => p_application_id
99898 , p_ae_header_id => l_ae_header_id
99899 , p_source_10 => p_source_10
99900 , p_source_10_meaning => p_source_10_meaning
99901 , p_source_33 => p_source_33
99902 , p_source_34 => p_source_34
99903 , x_transaction_coa_id => l_adr_transaction_coa_id
99904 , x_accounting_coa_id => l_adr_accounting_coa_id
99905 , x_flexfield_segment_code => l_adr_flexfield_segment_code
99906 , x_flex_value_set_id => l_adr_flex_value_set_id
99907 , x_value_type_code => l_adr_value_type_code
99908 , x_value_combination_id => l_adr_value_combination_id
99909 , x_value_segment_code => l_adr_value_segment_code
99910 , p_side => 'NA'
99911 , p_override_seg_flag => 'Y'
99912 );
99913
99914 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
99915
99916 xla_ae_lines_pkg.set_segment(
99917 p_to_segment_code => 'GL_ACCOUNT'
99918 , p_segment_value => l_segment
99919 , p_from_segment_code => l_adr_value_segment_code
99920 , p_from_combination_id => l_adr_value_combination_id
99921 , p_value_type_code => l_adr_value_type_code
99922 , p_transaction_coa_id => l_adr_transaction_coa_id
99923 , p_accounting_coa_id => l_adr_accounting_coa_id
99924 , p_flexfield_segment_code => l_adr_flexfield_segment_code
99925 , p_flex_value_set_id => l_adr_flex_value_set_id
99926 , p_adr_code => 'AP_REAL_LOSS_NAT_ACCT_SEG'
99927 , p_adr_type_code => 'S'
99928 , p_component_type => l_component_type
99929 , p_component_code => l_component_code
99930 , p_component_type_code => l_component_type_code
99931 , p_component_appl_id => l_component_appl_id
99932 , p_amb_context_code => l_amb_context_code
99933 , p_entity_code => 'AP_PAYMENTS'
99934 , p_event_class_code => 'REFUNDS'
99935 , p_side => 'NA'
99936 );
99937
99938 END IF;
99939
99940 --
99941 --
99942 END IF;
99943
99944 --
99945 -- Update the line information that should be overwritten
99946 --
99947 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
99948 p_header_num => 1);
99949 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
99950
99951 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
99952
99953 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
99954 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
99955 END IF;
99956
99957 --
99958 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
99959 --
99960 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
99961 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
99962 ELSE
99963 ---------------------------------------------------------------------------------------------------
99964 -- 4262811a Switch Sign
99965 ---------------------------------------------------------------------------------------------------
99966 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
99967 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
99971 -- 5132302
99968 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
99969 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
99970 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
99972 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
99973 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
99974
99975 END IF;
99976
99977 -- 4955764
99978 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
99979 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
99980
99981
99982 XLA_AE_LINES_PKG.ValidateCurrentLine;
99983 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
99984
99985 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
99986 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
99987 ,p_balance_type_code => l_balance_type_code);
99988
99989 END IF;
99990
99991 -----------------------------------------------------------------------------------------
99992 -- 4262811 Multiperiod Accounting
99993 -----------------------------------------------------------------------------------------
99994 -- No MPA option is assigned.
99995
99996
99997 END IF;
99998 END IF;
99999 --
100000
100001 --
100002 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
100003 trace
100004 (p_msg => 'END of AcctLineType_178'
100005 ,p_level => C_LEVEL_PROCEDURE
100006 ,p_module => l_log_module);
100007 END IF;
100008 --
100009 EXCEPTION
100010 WHEN xla_exceptions_pkg.application_exception THEN
100011 RAISE;
100012 WHEN OTHERS THEN
100013 xla_exceptions_pkg.raise_message
100014 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_178');
100015 END AcctLineType_178;
100016 --
100017
100018 ---------------------------------------
100019 --
100020 -- PRIVATE FUNCTION
100021 -- AcctLineType_179
100022 --
100023 ---------------------------------------
100024 PROCEDURE AcctLineType_179 (
100025 p_application_id IN NUMBER
100026 ,p_event_id IN NUMBER
100027 ,p_calculate_acctd_flag IN VARCHAR2
100028 ,p_calculate_g_l_flag IN VARCHAR2
100029 ,p_actual_flag IN OUT VARCHAR2
100030 ,p_balance_type_code OUT VARCHAR2
100031 ,p_gain_or_loss_ref OUT VARCHAR2
100032
100033 --Payment Currency Code
100034 , p_source_8 IN VARCHAR2
100035 --Automatic Offsets Value
100036 , p_source_10 IN VARCHAR2
100037 , p_source_10_meaning IN VARCHAR2
100038 --Invoice Distribution Account
100039 , p_source_25 IN NUMBER
100040 --Payables Options Rounding Account
100041 , p_source_45 IN NUMBER
100042 --When to Account for Payment Option
100043 , p_source_57 IN VARCHAR2
100044 --Accounting Reversal Indicator
100045 , p_source_58 IN VARCHAR2
100046 --Distribution Link Type
100047 , p_source_60 IN VARCHAR2
100048 --Override Accounted Amount Indicator
100049 , p_source_85 IN VARCHAR2
100050 , p_source_85_meaning IN VARCHAR2
100051 --Third Party Type
100052 , p_source_88 IN VARCHAR2
100053 --Invoice Distribution Tax Line Identifier
100054 , p_source_91 IN NUMBER
100055 --Invoice Distribution Summary Tax Line Identifier
100056 , p_source_93 IN NUMBER
100057 --Business Flow Accounts Payable Application Identifier
100058 , p_source_96 IN NUMBER
100059 --Payment Distribution Type
100060 , p_source_101 IN VARCHAR2
100061 , p_source_101_meaning IN VARCHAR2
100062 --Payment Distribution Amount
100063 , p_source_102 IN NUMBER
100064 --Business Flow Payment Distribution Type
100065 , p_source_103 IN VARCHAR2
100066 --Business Flow Payment Entity Code
100067 , p_source_104 IN VARCHAR2
100068 --Business Flow Payment Distribution Identifier
100069 , p_source_105 IN NUMBER
100070 --Business Flow Payment Identifier
100071 , p_source_106 IN NUMBER
100072 --Payment Distribution Identifier
100073 , p_source_107 IN NUMBER
100074 --Cleared Exchange Date
100075 , p_source_109 IN DATE
100076 --Cleared Exchange Rate
100077 , p_source_110 IN NUMBER
100078 --Cleared Exchange Rate Type
100079 , p_source_111 IN VARCHAR2
100080 --Payment Supplier Identifier
100081 , p_source_113 IN NUMBER
100082 --Payment Supplier Site Identifier
100083 , p_source_114 IN NUMBER
100084 --Payment Distribution Reversed Identifier
100085 , p_source_115 IN NUMBER
100086 --Payment Maturity Date
100087 , p_source_117 IN DATE
100088 --Payment Distribution (Matured Rate) Ledger Amount
100089 , p_source_124 IN NUMBER
100090 )
100091 IS
100092
100093 l_component_type VARCHAR2(80);
100094 l_component_code VARCHAR2(30);
100095 l_component_type_code VARCHAR2(1);
100096 l_component_appl_id INTEGER;
100097 l_amb_context_code VARCHAR2(30);
100098 l_entity_code VARCHAR2(30);
100099 l_event_class_code VARCHAR2(30);
100100 l_ae_header_id NUMBER;
100101 l_event_type_code VARCHAR2(30);
100102 l_line_definition_code VARCHAR2(30);
100106 l_segment VARCHAR2(30);
100103 l_line_definition_owner_code VARCHAR2(1);
100104 --
100105 -- adr variables
100107 l_ccid NUMBER;
100108 l_adr_transaction_coa_id NUMBER;
100109 l_adr_accounting_coa_id NUMBER;
100110 l_adr_flexfield_segment_code VARCHAR2(30);
100111 l_adr_flex_value_set_id NUMBER;
100112 l_adr_value_type_code VARCHAR2(30);
100113 l_adr_value_combination_id NUMBER;
100114 l_adr_value_segment_code VARCHAR2(30);
100115
100116 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
100117 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
100118 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
100119 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
100120
100121 -- 4262811 Variables ------------------------------------------------------------------------------------------
100122 l_entered_amt_idx NUMBER;
100123 l_accted_amt_idx NUMBER;
100124 l_acc_rev_flag VARCHAR2(1);
100125 l_accrual_line_num NUMBER;
100126 l_tmp_amt NUMBER;
100127 l_acc_rev_natural_side_code VARCHAR2(1);
100128
100129 l_num_entries NUMBER;
100130 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
100131 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
100132 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
100133 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
100134 l_recog_line_1 NUMBER;
100135 l_recog_line_2 NUMBER;
100136
100137 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
100138 l_bflow_applied_to_amt NUMBER; -- 5132302
100139 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
100140
100141 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
100142
100143 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
100144 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
100145
100146 ---------------------------------------------------------------------------------------------------------------
100147
100148
100149 --
100150 -- bulk performance
100151 --
100152 l_balance_type_code VARCHAR2(1);
100153 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
100154 l_log_module VARCHAR2(240);
100155
100156 --
100157 -- Upgrade strategy
100158 --
100159 l_actual_upg_option VARCHAR2(1);
100160 l_enc_upg_option VARCHAR2(1);
100161
100162 --
100163 BEGIN
100164 --
100165 IF g_log_enabled THEN
100166 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_179';
100167 END IF;
100168 --
100169 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
100170
100171 trace
100172 (p_msg => 'BEGIN of AcctLineType_179'
100173 ,p_level => C_LEVEL_PROCEDURE
100174 ,p_module => l_log_module);
100175
100176 END IF;
100177 --
100178 l_component_type := 'AMB_JLT';
100179 l_component_code := 'AP_MAT_CLR_ROUNDING_CLEAR';
100180 l_component_type_code := 'S';
100181 l_component_appl_id := 200;
100182 l_amb_context_code := 'DEFAULT';
100183 l_entity_code := 'AP_PAYMENTS';
100184 l_event_class_code := 'RECONCILED PAYMENTS';
100185 l_event_type_code := 'RECONCILED PAYMENTS_ALL';
100186 l_line_definition_owner_code := 'S';
100187 l_line_definition_code := 'ACCRUAL_RECONCILED PAYMENTS_A4';
100188 --
100189 l_balance_type_code := 'A';
100190 l_segment := NULL;
100191 l_ccid := NULL;
100192 l_adr_transaction_coa_id := NULL;
100193 l_adr_accounting_coa_id := NULL;
100194 l_adr_flexfield_segment_code := NULL;
100195 l_adr_flex_value_set_id := NULL;
100196 l_adr_value_type_code := NULL;
100197 l_adr_value_combination_id := NULL;
100198 l_adr_value_segment_code := NULL;
100199
100200 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
100201 l_bflow_class_code := ''; -- 4219869 Business Flow
100202 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
100203 l_budgetary_control_flag := 'N';
100204
100205 l_bflow_applied_to_amt_idx := NULL; -- 5132302
100206 l_bflow_applied_to_amt := NULL; -- 5132302
100207 l_entered_amt_idx := NULL; -- 4262811
100208 l_accted_amt_idx := NULL; -- 4262811
100209 l_acc_rev_flag := NULL; -- 4262811
100210 l_accrual_line_num := NULL; -- 4262811
100211 l_tmp_amt := NULL; -- 4262811
100212 --
100213
100214 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
100215 l_balance_type_code <> 'B' THEN
100216 IF (NVL(p_source_57,'
100217 ') = 'ALWAYS_ALWAYS' OR
100218 NVL(p_source_57,'
100219 ') = 'ALWAYS_CLEAR') AND
100220 NVL(p_source_101,'
100221 ') = 'MATURITY TO CLEARING ROUNDING' AND
100222 p_source_117 IS NOT NULL
100223 THEN
100224
100225 --
100226 XLA_AE_LINES_PKG.SetNewLine;
100227
100228 p_balance_type_code := l_balance_type_code;
100229 -- set the flag so later we will know whether the gain loss line needs to be created
100230
100234
100231 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
100232 p_actual_flag :='A';
100233 END IF;
100235 --
100236 -- bulk performance
100237 --
100238 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
100239 p_header_num => 0); -- 4262811
100240 --
100241 -- set accounting line options
100242 --
100243 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
100244 p_natural_side_code => 'D'
100245 , p_gain_or_loss_flag => 'N'
100246 , p_gl_transfer_mode_code => 'S'
100247 , p_acct_entry_type_code => 'A'
100248 , p_switch_side_flag => 'Y'
100249 , p_merge_duplicate_code => 'A'
100250 );
100251 --
100252 l_acc_rev_natural_side_code := 'C'; -- 4262811
100253 --
100254 --
100255 -- set accounting line type info
100256 --
100257 xla_ae_lines_pkg.SetAcctLineType
100258 (p_component_type => l_component_type
100259 ,p_event_type_code => l_event_type_code
100260 ,p_line_definition_owner_code => l_line_definition_owner_code
100261 ,p_line_definition_code => l_line_definition_code
100262 ,p_accounting_line_code => l_component_code
100263 ,p_accounting_line_type_code => l_component_type_code
100264 ,p_accounting_line_appl_id => l_component_appl_id
100265 ,p_amb_context_code => l_amb_context_code
100266 ,p_entity_code => l_entity_code
100267 ,p_event_class_code => l_event_class_code);
100268 --
100269 -- set accounting class
100270 --
100271 xla_ae_lines_pkg.SetAcctClass(
100272 p_accounting_class_code => 'ROUNDING'
100273 , p_ae_header_id => l_ae_header_id
100274 );
100275
100276 --
100277 -- set rounding class
100278 --
100279 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
100280 'ROUNDING';
100281
100282 --
100283 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
100284 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
100285 --
100286 -- bulk performance
100287 --
100288 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
100289
100290 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
100291 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
100292
100293 -- 4955764
100294 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
100295 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
100296
100297 -- 4458381 Public Sector Enh
100298
100299 --
100300 -- set accounting attributes for the line type
100301 --
100302 l_entered_amt_idx := 10;
100303 l_accted_amt_idx := 15;
100304 l_bflow_applied_to_amt_idx := 2; -- 5132302
100305 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
100306 l_rec_acct_attrs.array_char_value(1) := p_source_58;
100307 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
100308 l_rec_acct_attrs.array_num_value(2) := p_source_102;
100309 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
100310 l_rec_acct_attrs.array_num_value(3) := p_source_96;
100311 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
100312 l_rec_acct_attrs.array_char_value(4) := p_source_103;
100313 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
100314 l_rec_acct_attrs.array_char_value(5) := p_source_104;
100315 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
100316 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_105);
100317 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
100318 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_106);
100319 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
100320 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_107);
100321 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
100322 l_rec_acct_attrs.array_char_value(9) := p_source_60;
100323 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
100324 l_rec_acct_attrs.array_num_value(10) := p_source_102;
100325 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
100326 l_rec_acct_attrs.array_char_value(11) := p_source_8;
100327 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
100328 l_rec_acct_attrs.array_date_value(12) := p_source_109;
100329 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
100330 l_rec_acct_attrs.array_num_value(13) := p_source_110;
100331 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
100332 l_rec_acct_attrs.array_char_value(14) := p_source_111;
100333 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
100334 l_rec_acct_attrs.array_num_value(15) := p_source_124;
100335 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
100336 l_rec_acct_attrs.array_char_value(16) := p_source_85;
100337 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
100338 l_rec_acct_attrs.array_num_value(17) := p_source_113;
100339 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
100340 l_rec_acct_attrs.array_num_value(18) := p_source_114;
100341 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
100345 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
100342 l_rec_acct_attrs.array_char_value(19) := p_source_88;
100343 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
100344 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_115);
100346 l_rec_acct_attrs.array_char_value(21) := p_source_60;
100347 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
100348 l_rec_acct_attrs.array_num_value(22) := p_source_91;
100349 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
100350 l_rec_acct_attrs.array_num_value(23) := p_source_91;
100351 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
100352 l_rec_acct_attrs.array_num_value(24) := p_source_93;
100353
100354 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
100355 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
100356
100357 ---------------------------------------------------------------------------------------------------------------
100358 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
100359 ---------------------------------------------------------------------------------------------------------------
100360 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
100361
100362 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
100363 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
100364
100365 IF xla_accounting_cache_pkg.GetValueChar
100366 (p_source_code => 'LEDGER_CATEGORY_CODE'
100367 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
100368 AND l_bflow_method_code = 'PRIOR_ENTRY'
100369 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
100370 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
100371 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
100372 )
100373 THEN
100374 xla_ae_lines_pkg.BflowUpgEntry
100375 (p_business_method_code => l_bflow_method_code
100376 ,p_business_class_code => l_bflow_class_code
100377 ,p_balance_type => l_balance_type_code);
100378 ELSE
100379 NULL;
100380 -- No business flow processing for business flow method of NONE.
100381 END IF;
100382
100383 --
100384 -- call analytical criteria
100385 --
100386
100387 --
100388 -- call description
100389 --
100390 -- No description or it is inherited.
100391 --
100392 -- call ADRs
100393 -- Bug 4922099
100394 --
100395 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
100396 (NVL(l_actual_upg_option, 'N') = 'O') OR
100397 (NVL(l_enc_upg_option, 'N') = 'O')
100398 )
100399 THEN
100400 NULL;
100401 --
100402 --
100403
100404 l_ccid := AcctDerRule_43(
100405 p_application_id => p_application_id
100406 , p_ae_header_id => l_ae_header_id
100407 , p_source_10 => p_source_10
100408 , p_source_10_meaning => p_source_10_meaning
100409 , p_source_25 => p_source_25
100410 , p_source_45 => p_source_45
100411 , x_transaction_coa_id => l_adr_transaction_coa_id
100412 , x_accounting_coa_id => l_adr_accounting_coa_id
100413 , x_value_type_code => l_adr_value_type_code
100414 , p_side => 'NA'
100415 );
100416
100417 xla_ae_lines_pkg.set_ccid(
100418 p_code_combination_id => l_ccid
100419 , p_value_type_code => l_adr_value_type_code
100420 , p_transaction_coa_id => l_adr_transaction_coa_id
100421 , p_accounting_coa_id => l_adr_accounting_coa_id
100422 , p_adr_code => 'AP_ROUNDING'
100423 , p_adr_type_code => 'S'
100424 , p_component_type => l_component_type
100425 , p_component_code => l_component_code
100426 , p_component_type_code => l_component_type_code
100427 , p_component_appl_id => l_component_appl_id
100428 , p_amb_context_code => l_amb_context_code
100429 , p_side => 'NA'
100430 );
100431
100432
100433 --
100434 --
100435 END IF;
100436 --
100437 -- Bug 4922099
100438 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
100439 (NVL(l_enc_upg_option, 'N') = 'O')
100440 ) AND
100441 (l_bflow_method_code = 'PRIOR_ENTRY')
100442 )
100443 THEN
100444 IF
100445 --
100446 1 = 2
100447 --
100448 THEN
100449 xla_accounting_err_pkg.build_message
100450 (p_appli_s_name => 'XLA'
100451 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
100452 ,p_token_1 => 'LINE_NUMBER'
100453 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
100454 ,p_token_2 => 'LINE_TYPE_NAME'
100455 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
100456 l_component_type
100460 ,l_amb_context_code
100457 ,l_component_code
100458 ,l_component_type_code
100459 ,l_component_appl_id
100461 ,l_entity_code
100462 ,l_event_class_code
100463 )
100464 ,p_token_3 => 'OWNER'
100465 ,p_value_3 => xla_lookups_pkg.get_meaning(
100466 p_lookup_type => 'XLA_OWNER_TYPE'
100467 ,p_lookup_code => l_component_type_code
100468 )
100469 ,p_token_4 => 'PRODUCT_NAME'
100470 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
100471 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
100472 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
100473 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
100474 ,p_ae_header_id => NULL
100475 );
100476
100477 IF (C_LEVEL_ERROR>= g_log_level) THEN
100478 trace
100479 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
100480 ,p_level => C_LEVEL_ERROR
100481 ,p_module => l_log_module);
100482 END IF;
100483 END IF;
100484 END IF;
100485 --
100486 --
100487 ------------------------------------------------------------------------------------------------
100488 -- 4219869 Business Flow
100489 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
100490 -- Prior Entry. Currently, the following code is always generated.
100491 ------------------------------------------------------------------------------------------------
100492 XLA_AE_LINES_PKG.ValidateCurrentLine;
100493
100494 ------------------------------------------------------------------------------------
100495 -- 4219869 Business Flow
100496 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
100497 ------------------------------------------------------------------------------------
100498 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
100499
100500 ----------------------------------------------------------------------------------
100501 -- 4219869 Business Flow
100502 -- Update journal entry status -- Need to generate this within IF <condition>
100503 ----------------------------------------------------------------------------------
100504 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
100505 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
100506 ,p_balance_type_code => l_balance_type_code
100507 );
100508
100509 -------------------------------------------------------------------------------------------
100510 -- 4262811 - Generate the Accrual Reversal lines
100511 -------------------------------------------------------------------------------------------
100512 BEGIN
100513 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
100514 (g_array_event(p_event_id).array_value_num('header_index'));
100515 IF l_acc_rev_flag IS NULL THEN
100516 l_acc_rev_flag := 'N';
100517 END IF;
100518 EXCEPTION
100519 WHEN OTHERS THEN
100520 l_acc_rev_flag := 'N';
100521 END;
100522 --
100523 IF (l_acc_rev_flag = 'Y') THEN
100524
100525 -- 4645092 ------------------------------------------------------------------------------
100526 -- To allow MPA report to determine if it should generate report process
100527 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
100528 ------------------------------------------------------------------------------------------
100529
100530 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
100531 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
100532 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
100533 -- call ADRs
100534 -- Bug 4922099
100535 --
100536 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
100537 (NVL(l_actual_upg_option, 'N') = 'O') OR
100538 (NVL(l_enc_upg_option, 'N') = 'O')
100539 )
100540 THEN
100541 NULL;
100542 --
100543 --
100544
100545 l_ccid := AcctDerRule_43(
100546 p_application_id => p_application_id
100547 , p_ae_header_id => l_ae_header_id
100548 , p_source_10 => p_source_10
100549 , p_source_10_meaning => p_source_10_meaning
100550 , p_source_25 => p_source_25
100551 , p_source_45 => p_source_45
100552 , x_transaction_coa_id => l_adr_transaction_coa_id
100556 );
100553 , x_accounting_coa_id => l_adr_accounting_coa_id
100554 , x_value_type_code => l_adr_value_type_code
100555 , p_side => 'NA'
100557
100558 xla_ae_lines_pkg.set_ccid(
100559 p_code_combination_id => l_ccid
100560 , p_value_type_code => l_adr_value_type_code
100561 , p_transaction_coa_id => l_adr_transaction_coa_id
100562 , p_accounting_coa_id => l_adr_accounting_coa_id
100563 , p_adr_code => 'AP_ROUNDING'
100564 , p_adr_type_code => 'S'
100565 , p_component_type => l_component_type
100566 , p_component_code => l_component_code
100567 , p_component_type_code => l_component_type_code
100568 , p_component_appl_id => l_component_appl_id
100569 , p_amb_context_code => l_amb_context_code
100570 , p_side => 'NA'
100571 );
100572
100573
100574 --
100575 --
100576 END IF;
100577
100578 --
100579 -- Update the line information that should be overwritten
100580 --
100581 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
100582 p_header_num => 1);
100583 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
100584
100585 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
100586
100587 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
100588 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
100589 END IF;
100590
100591 --
100592 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
100593 --
100594 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
100595 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
100596 ELSE
100597 ---------------------------------------------------------------------------------------------------
100598 -- 4262811a Switch Sign
100599 ---------------------------------------------------------------------------------------------------
100600 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
100601 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
100602 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
100603 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
100604 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
100605 -- 5132302
100606 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
100607 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
100608
100609 END IF;
100610
100611 -- 4955764
100612 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
100613 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
100614
100615
100616 XLA_AE_LINES_PKG.ValidateCurrentLine;
100617 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
100618
100619 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
100620 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
100621 ,p_balance_type_code => l_balance_type_code);
100622
100623 END IF;
100624
100625 -----------------------------------------------------------------------------------------
100626 -- 4262811 Multiperiod Accounting
100627 -----------------------------------------------------------------------------------------
100628 -- No MPA option is assigned.
100629
100630
100631 END IF;
100632 END IF;
100633 --
100634
100635 --
100636 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
100637 trace
100638 (p_msg => 'END of AcctLineType_179'
100639 ,p_level => C_LEVEL_PROCEDURE
100640 ,p_module => l_log_module);
100641 END IF;
100642 --
100643 EXCEPTION
100644 WHEN xla_exceptions_pkg.application_exception THEN
100645 RAISE;
100646 WHEN OTHERS THEN
100647 xla_exceptions_pkg.raise_message
100648 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_179');
100649 END AcctLineType_179;
100650 --
100651
100652 ---------------------------------------
100653 --
100654 -- PRIVATE FUNCTION
100655 -- AcctLineType_180
100656 --
100657 ---------------------------------------
100658 PROCEDURE AcctLineType_180 (
100659 p_application_id IN NUMBER
100660 ,p_event_id IN NUMBER
100661 ,p_calculate_acctd_flag IN VARCHAR2
100662 ,p_calculate_g_l_flag IN VARCHAR2
100663 ,p_actual_flag IN OUT VARCHAR2
100664 ,p_balance_type_code OUT VARCHAR2
100665 ,p_gain_or_loss_ref OUT VARCHAR2
100666
100667 --Invoice Distribution Description
100668 , p_source_1 IN VARCHAR2
100669 --Invoice Distribution Ledger Amount
100670 , p_source_16 IN NUMBER
100671 --Invoice Distribution Account
100672 , p_source_25 IN NUMBER
100673 --Invoice Distribution Type
100677 , p_source_58 IN VARCHAR2
100674 , p_source_28 IN VARCHAR2
100675 , p_source_28_meaning IN VARCHAR2
100676 --Accounting Reversal Indicator
100678 --Distribution Link Type
100679 , p_source_60 IN VARCHAR2
100680 --Allocation to Main Distribution Identifier
100681 , p_source_62 IN NUMBER
100682 --Invoice Identifier
100683 , p_source_63 IN NUMBER
100684 --Invoice Distribution Identifier
100685 , p_source_69 IN NUMBER
100686 --Payables Encumbrance Upgrade Credit Account
100687 , p_source_70 IN NUMBER
100688 --Payables Encumbrance Upgrade Credit Amount
100689 , p_source_71 IN NUMBER
100690 --Invoice Currency Code
100691 , p_source_72 IN VARCHAR2
100692 --Payables Encumbrance Upgrade Credit Base Amount
100693 , p_source_73 IN NUMBER
100694 --Payables Encumbrance Upgrade Debit Account
100695 , p_source_74 IN NUMBER
100696 --Payables Encumbrance Upgrade Debit Amount
100697 , p_source_75 IN NUMBER
100698 --Payables Encumbrance Upgrade Debit Base Amount
100699 , p_source_76 IN NUMBER
100700 --Payables Encumbrance Upgrade Option
100701 , p_source_77 IN VARCHAR2
100702 --Invoice Distribution Amount
100703 , p_source_78 IN NUMBER
100704 --Deferred Accounting End Date
100705 , p_source_82 IN DATE
100706 --Deferred Accounting Option
100707 , p_source_83 IN VARCHAR2
100708 --Deferred Accounting Start Date
100709 , p_source_84 IN DATE
100710 --Override Accounted Amount Indicator
100711 , p_source_85 IN VARCHAR2
100712 , p_source_85_meaning IN VARCHAR2
100713 --Invoice Supplier Identifier
100714 , p_source_86 IN NUMBER
100715 --Invoice Supplier Site Identifier
100716 , p_source_87 IN NUMBER
100717 --Third Party Type
100718 , p_source_88 IN VARCHAR2
100719 --Parent Reversal Identifier
100720 , p_source_89 IN NUMBER
100721 --Invoice Distribution Statistical Amount
100722 , p_source_90 IN NUMBER
100723 --Invoice Distribution Tax Line Identifier
100724 , p_source_91 IN NUMBER
100725 --Invoice Distribution Tax Distribution Identifier from Tax
100726 , p_source_92 IN NUMBER
100727 --Invoice Distribution Summary Tax Line Identifier
100728 , p_source_93 IN NUMBER
100729 --Payables Upgrade Credit Encumbrance Type Identifier
100730 , p_source_94 IN NUMBER
100731 --Payables Upgrade Debit Encumbrance Type Identifier
100732 , p_source_95 IN NUMBER
100733 --Business Flow Accounts Payable Application Identifier
100734 , p_source_96 IN NUMBER
100735 --Business Flow Invoice Distribution Type
100736 , p_source_97 IN VARCHAR2
100737 --Business Flow Invoice Entity Code
100738 , p_source_98 IN VARCHAR2
100739 --Business Flow Invoice Distribution Identifier
100740 , p_source_99 IN NUMBER
100741 --Business Flow Invoice Identifier
100742 , p_source_100 IN NUMBER
100743 --Invoice Exchange Date
100744 , p_source_146 IN DATE
100745 --Invoice Exchange Rate
100746 , p_source_147 IN NUMBER
100747 --Invoice Exchange Rate Type
100748 , p_source_148 IN VARCHAR2
100749 )
100750 IS
100751
100752 l_component_type VARCHAR2(80);
100753 l_component_code VARCHAR2(30);
100754 l_component_type_code VARCHAR2(1);
100755 l_component_appl_id INTEGER;
100756 l_amb_context_code VARCHAR2(30);
100757 l_entity_code VARCHAR2(30);
100758 l_event_class_code VARCHAR2(30);
100759 l_ae_header_id NUMBER;
100760 l_event_type_code VARCHAR2(30);
100761 l_line_definition_code VARCHAR2(30);
100762 l_line_definition_owner_code VARCHAR2(1);
100763 --
100764 -- adr variables
100765 l_segment VARCHAR2(30);
100766 l_ccid NUMBER;
100767 l_adr_transaction_coa_id NUMBER;
100768 l_adr_accounting_coa_id NUMBER;
100769 l_adr_flexfield_segment_code VARCHAR2(30);
100770 l_adr_flex_value_set_id NUMBER;
100771 l_adr_value_type_code VARCHAR2(30);
100772 l_adr_value_combination_id NUMBER;
100773 l_adr_value_segment_code VARCHAR2(30);
100774
100775 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
100776 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
100777 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
100778 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
100779
100780 -- 4262811 Variables ------------------------------------------------------------------------------------------
100781 l_entered_amt_idx NUMBER;
100782 l_accted_amt_idx NUMBER;
100783 l_acc_rev_flag VARCHAR2(1);
100784 l_accrual_line_num NUMBER;
100785 l_tmp_amt NUMBER;
100786 l_acc_rev_natural_side_code VARCHAR2(1);
100787
100788 l_num_entries NUMBER;
100789 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
100790 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
100791 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
100792 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
100793 l_recog_line_1 NUMBER;
100794 l_recog_line_2 NUMBER;
100795
100796 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
100797 l_bflow_applied_to_amt NUMBER; -- 5132302
100801
100798 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
100799
100800 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
100802 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
100803 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
100804
100805 ---------------------------------------------------------------------------------------------------------------
100806
100807
100808 --
100809 -- bulk performance
100810 --
100811 l_balance_type_code VARCHAR2(1);
100812 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
100813 l_log_module VARCHAR2(240);
100814
100815 --
100816 -- Upgrade strategy
100817 --
100818 l_actual_upg_option VARCHAR2(1);
100819 l_enc_upg_option VARCHAR2(1);
100820
100821 --
100822 BEGIN
100823 --
100824 IF g_log_enabled THEN
100825 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_180';
100826 END IF;
100827 --
100828 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
100829
100830 trace
100831 (p_msg => 'BEGIN of AcctLineType_180'
100832 ,p_level => C_LEVEL_PROCEDURE
100833 ,p_module => l_log_module);
100834
100835 END IF;
100836 --
100837 l_component_type := 'AMB_JLT';
100838 l_component_code := 'AP_MISC_EXPENSE_CM';
100839 l_component_type_code := 'S';
100840 l_component_appl_id := 200;
100841 l_amb_context_code := 'DEFAULT';
100842 l_entity_code := 'AP_INVOICES';
100843 l_event_class_code := 'CREDIT MEMOS';
100844 l_event_type_code := 'CREDIT MEMOS_ALL';
100845 l_line_definition_owner_code := 'S';
100846 l_line_definition_code := 'ACCRUAL_CREDIT MEMOS_ALL';
100847 --
100848 l_balance_type_code := 'A';
100849 l_segment := NULL;
100850 l_ccid := NULL;
100851 l_adr_transaction_coa_id := NULL;
100852 l_adr_accounting_coa_id := NULL;
100853 l_adr_flexfield_segment_code := NULL;
100854 l_adr_flex_value_set_id := NULL;
100855 l_adr_value_type_code := NULL;
100856 l_adr_value_combination_id := NULL;
100857 l_adr_value_segment_code := NULL;
100858
100859 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
100860 l_bflow_class_code := ''; -- 4219869 Business Flow
100861 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
100862 l_budgetary_control_flag := 'N';
100863
100864 l_bflow_applied_to_amt_idx := NULL; -- 5132302
100865 l_bflow_applied_to_amt := NULL; -- 5132302
100866 l_entered_amt_idx := NULL; -- 4262811
100867 l_accted_amt_idx := NULL; -- 4262811
100868 l_acc_rev_flag := NULL; -- 4262811
100869 l_accrual_line_num := NULL; -- 4262811
100870 l_tmp_amt := NULL; -- 4262811
100871 --
100872
100873 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
100874 l_balance_type_code <> 'B' THEN
100875 IF NVL(p_source_28,'
100876 ') = 'MISCELLANEOUS'
100877 THEN
100878
100879 --
100880 XLA_AE_LINES_PKG.SetNewLine;
100881
100882 p_balance_type_code := l_balance_type_code;
100883 -- set the flag so later we will know whether the gain loss line needs to be created
100884
100885 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
100886 p_actual_flag :='A';
100887 END IF;
100888
100889 --
100890 -- bulk performance
100891 --
100892 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
100893 p_header_num => 0); -- 4262811
100894 --
100895 -- set accounting line options
100896 --
100897 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
100898 p_natural_side_code => 'D'
100899 , p_gain_or_loss_flag => 'N'
100900 , p_gl_transfer_mode_code => 'S'
100901 , p_acct_entry_type_code => 'A'
100902 , p_switch_side_flag => 'Y'
100903 , p_merge_duplicate_code => 'A'
100904 );
100905 --
100906 l_acc_rev_natural_side_code := 'C'; -- 4262811
100907 --
100908 --
100909 -- set accounting line type info
100910 --
100911 xla_ae_lines_pkg.SetAcctLineType
100912 (p_component_type => l_component_type
100913 ,p_event_type_code => l_event_type_code
100914 ,p_line_definition_owner_code => l_line_definition_owner_code
100915 ,p_line_definition_code => l_line_definition_code
100916 ,p_accounting_line_code => l_component_code
100917 ,p_accounting_line_type_code => l_component_type_code
100918 ,p_accounting_line_appl_id => l_component_appl_id
100919 ,p_amb_context_code => l_amb_context_code
100920 ,p_entity_code => l_entity_code
100921 ,p_event_class_code => l_event_class_code);
100922 --
100923 -- set accounting class
100924 --
100925 xla_ae_lines_pkg.SetAcctClass(
100926 p_accounting_class_code => 'MISCELLANEOUS EXPENSE'
100927 , p_ae_header_id => l_ae_header_id
100928 );
100929
100930 --
100931 -- set rounding class
100932 --
100933 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
100937 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
100934 'MISCELLANEOUS EXPENSE';
100935
100936 --
100938 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
100939 --
100940 -- bulk performance
100941 --
100942 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
100943
100944 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
100945 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
100946
100947 -- 4955764
100948 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
100949 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
100950
100951 -- 4458381 Public Sector Enh
100952
100953 --
100954 -- set accounting attributes for the line type
100955 --
100956 l_entered_amt_idx := 23;
100957 l_accted_amt_idx := 28;
100958 l_bflow_applied_to_amt_idx := NULL; -- 5132302
100959 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
100960 l_rec_acct_attrs.array_char_value(1) := p_source_58;
100961 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
100962 l_rec_acct_attrs.array_num_value(2) :=
100963 xla_ae_sources_pkg.GetSystemSourceNum(
100964 p_source_code => 'XLA_EVENT_APPL_ID'
100965 , p_source_type_code => 'Y'
100966 , p_source_application_id => 602
100967 );
100968 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
100969 l_rec_acct_attrs.array_char_value(3) := p_source_60;
100970 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
100971 l_rec_acct_attrs.array_char_value(4) :=
100972 xla_ae_sources_pkg.GetSystemSourceChar(
100973 p_source_code => 'XLA_ENTITY_CODE'
100974 , p_source_type_code => 'Y'
100975 , p_source_application_id => 602
100976 );
100977 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
100978 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_62);
100979 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
100980 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_63);
100981 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
100982 l_rec_acct_attrs.array_num_value(7) := p_source_96;
100983 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
100984 l_rec_acct_attrs.array_char_value(8) := p_source_97;
100985 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
100986 l_rec_acct_attrs.array_char_value(9) := p_source_98;
100987 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
100988 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_99);
100989 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
100990 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_100);
100991 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
100992 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_69);
100993 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
100994 l_rec_acct_attrs.array_char_value(13) := p_source_60;
100995 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
100996 l_rec_acct_attrs.array_num_value(14) := p_source_70;
100997 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
100998 l_rec_acct_attrs.array_num_value(15) := p_source_71;
100999 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
101000 l_rec_acct_attrs.array_char_value(16) := p_source_72;
101001 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
101002 l_rec_acct_attrs.array_num_value(17) := p_source_73;
101003 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
101004 l_rec_acct_attrs.array_num_value(18) := p_source_74;
101005 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
101006 l_rec_acct_attrs.array_num_value(19) := p_source_75;
101007 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
101008 l_rec_acct_attrs.array_char_value(20) := p_source_72;
101009 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
101010 l_rec_acct_attrs.array_num_value(21) := p_source_76;
101011 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
101012 l_rec_acct_attrs.array_char_value(22) := p_source_77;
101013 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
101014 l_rec_acct_attrs.array_num_value(23) := p_source_78;
101015 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
101016 l_rec_acct_attrs.array_char_value(24) := p_source_72;
101017 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
101018 l_rec_acct_attrs.array_date_value(25) := p_source_146;
101019 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
101020 l_rec_acct_attrs.array_num_value(26) := p_source_147;
101021 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
101022 l_rec_acct_attrs.array_char_value(27) := p_source_148;
101023 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
101024 l_rec_acct_attrs.array_num_value(28) := p_source_16;
101025 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
101026 l_rec_acct_attrs.array_date_value(29) := p_source_82;
101027 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
101028 l_rec_acct_attrs.array_char_value(30) := p_source_83;
101032 l_rec_acct_attrs.array_char_value(32) := p_source_85;
101029 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
101030 l_rec_acct_attrs.array_date_value(31) := p_source_84;
101031 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
101033 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
101034 l_rec_acct_attrs.array_num_value(33) := p_source_86;
101035 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
101036 l_rec_acct_attrs.array_num_value(34) := p_source_87;
101037 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
101038 l_rec_acct_attrs.array_char_value(35) := p_source_88;
101039 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
101040 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_89);
101041 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
101042 l_rec_acct_attrs.array_char_value(37) := p_source_60;
101043 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
101044 l_rec_acct_attrs.array_num_value(38) := p_source_90;
101045 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
101046 l_rec_acct_attrs.array_num_value(39) := p_source_91;
101047 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
101048 l_rec_acct_attrs.array_num_value(40) := p_source_92;
101049 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
101050 l_rec_acct_attrs.array_num_value(41) := p_source_93;
101051 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
101052 l_rec_acct_attrs.array_num_value(42) := p_source_94;
101053 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
101054 l_rec_acct_attrs.array_num_value(43) := p_source_95;
101055
101056 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
101057 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
101058
101059 ---------------------------------------------------------------------------------------------------------------
101060 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
101061 ---------------------------------------------------------------------------------------------------------------
101062 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
101063
101064 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
101065 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
101066
101067 IF xla_accounting_cache_pkg.GetValueChar
101068 (p_source_code => 'LEDGER_CATEGORY_CODE'
101069 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
101070 AND l_bflow_method_code = 'PRIOR_ENTRY'
101071 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
101072 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
101073 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
101074 )
101075 THEN
101076 xla_ae_lines_pkg.BflowUpgEntry
101077 (p_business_method_code => l_bflow_method_code
101078 ,p_business_class_code => l_bflow_class_code
101079 ,p_balance_type => l_balance_type_code);
101080 ELSE
101081 NULL;
101082 -- No business flow processing for business flow method of NONE.
101083 END IF;
101084
101085 --
101086 -- call analytical criteria
101087 --
101088
101089 --
101090 -- call description
101091 --
101092
101093 xla_ae_lines_pkg.SetLineDescription(
101094 p_ae_header_id => l_ae_header_id
101095 ,p_description => Description_2 (
101096 p_application_id => p_application_id
101097 , p_ae_header_id => l_ae_header_id
101098 , p_source_1 => p_source_1
101099 )
101100 );
101101
101102
101103 --
101104 -- call ADRs
101105 -- Bug 4922099
101106 --
101107 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
101108 (NVL(l_actual_upg_option, 'N') = 'O') OR
101109 (NVL(l_enc_upg_option, 'N') = 'O')
101110 )
101111 THEN
101112 NULL;
101113 --
101114 --
101115
101116 l_ccid := AcctDerRule_35(
101117 p_application_id => p_application_id
101118 , p_ae_header_id => l_ae_header_id
101119 , p_source_25 => p_source_25
101120 , x_transaction_coa_id => l_adr_transaction_coa_id
101121 , x_accounting_coa_id => l_adr_accounting_coa_id
101122 , x_value_type_code => l_adr_value_type_code
101123 , p_side => 'NA'
101124 );
101125
101126 xla_ae_lines_pkg.set_ccid(
101127 p_code_combination_id => l_ccid
101128 , p_value_type_code => l_adr_value_type_code
101129 , p_transaction_coa_id => l_adr_transaction_coa_id
101130 , p_accounting_coa_id => l_adr_accounting_coa_id
101131 , p_adr_code => 'AP_INVOICE_DIST'
101132 , p_adr_type_code => 'S'
101133 , p_component_type => l_component_type
101134 , p_component_code => l_component_code
101135 , p_component_type_code => l_component_type_code
101136 , p_component_appl_id => l_component_appl_id
101137 , p_amb_context_code => l_amb_context_code
101138 , p_side => 'NA'
101142 --
101139 );
101140
101141
101143 --
101144 END IF;
101145 --
101146 -- Bug 4922099
101147 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
101148 (NVL(l_enc_upg_option, 'N') = 'O')
101149 ) AND
101150 (l_bflow_method_code = 'PRIOR_ENTRY')
101151 )
101152 THEN
101153 IF
101154 --
101155 1 = 2
101156 --
101157 THEN
101158 xla_accounting_err_pkg.build_message
101159 (p_appli_s_name => 'XLA'
101160 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
101161 ,p_token_1 => 'LINE_NUMBER'
101162 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
101163 ,p_token_2 => 'LINE_TYPE_NAME'
101164 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
101165 l_component_type
101166 ,l_component_code
101167 ,l_component_type_code
101168 ,l_component_appl_id
101169 ,l_amb_context_code
101170 ,l_entity_code
101171 ,l_event_class_code
101172 )
101173 ,p_token_3 => 'OWNER'
101174 ,p_value_3 => xla_lookups_pkg.get_meaning(
101175 p_lookup_type => 'XLA_OWNER_TYPE'
101176 ,p_lookup_code => l_component_type_code
101177 )
101178 ,p_token_4 => 'PRODUCT_NAME'
101179 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
101180 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
101181 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
101182 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
101183 ,p_ae_header_id => NULL
101184 );
101185
101186 IF (C_LEVEL_ERROR>= g_log_level) THEN
101187 trace
101188 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
101189 ,p_level => C_LEVEL_ERROR
101190 ,p_module => l_log_module);
101191 END IF;
101192 END IF;
101193 END IF;
101194 --
101195 --
101196 ------------------------------------------------------------------------------------------------
101197 -- 4219869 Business Flow
101198 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
101199 -- Prior Entry. Currently, the following code is always generated.
101200 ------------------------------------------------------------------------------------------------
101201 XLA_AE_LINES_PKG.ValidateCurrentLine;
101202
101203 ------------------------------------------------------------------------------------
101204 -- 4219869 Business Flow
101205 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
101206 ------------------------------------------------------------------------------------
101207 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
101208
101209 ----------------------------------------------------------------------------------
101210 -- 4219869 Business Flow
101211 -- Update journal entry status -- Need to generate this within IF <condition>
101212 ----------------------------------------------------------------------------------
101213 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
101214 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
101215 ,p_balance_type_code => l_balance_type_code
101216 );
101217
101218 -------------------------------------------------------------------------------------------
101219 -- 4262811 - Generate the Accrual Reversal lines
101220 -------------------------------------------------------------------------------------------
101221 BEGIN
101222 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
101223 (g_array_event(p_event_id).array_value_num('header_index'));
101224 IF l_acc_rev_flag IS NULL THEN
101225 l_acc_rev_flag := 'N';
101226 END IF;
101227 EXCEPTION
101228 WHEN OTHERS THEN
101229 l_acc_rev_flag := 'N';
101230 END;
101231 --
101232 IF (l_acc_rev_flag = 'Y') THEN
101233
101234 -- 4645092 ------------------------------------------------------------------------------
101235 -- To allow MPA report to determine if it should generate report process
101236 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
101240 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
101237 ------------------------------------------------------------------------------------------
101238
101239 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
101241 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
101242 -- call ADRs
101243 -- Bug 4922099
101244 --
101245 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
101246 (NVL(l_actual_upg_option, 'N') = 'O') OR
101247 (NVL(l_enc_upg_option, 'N') = 'O')
101248 )
101249 THEN
101250 NULL;
101251 --
101252 --
101253
101254 l_ccid := AcctDerRule_35(
101255 p_application_id => p_application_id
101256 , p_ae_header_id => l_ae_header_id
101257 , p_source_25 => p_source_25
101258 , x_transaction_coa_id => l_adr_transaction_coa_id
101259 , x_accounting_coa_id => l_adr_accounting_coa_id
101260 , x_value_type_code => l_adr_value_type_code
101261 , p_side => 'NA'
101262 );
101263
101264 xla_ae_lines_pkg.set_ccid(
101265 p_code_combination_id => l_ccid
101266 , p_value_type_code => l_adr_value_type_code
101267 , p_transaction_coa_id => l_adr_transaction_coa_id
101268 , p_accounting_coa_id => l_adr_accounting_coa_id
101269 , p_adr_code => 'AP_INVOICE_DIST'
101270 , p_adr_type_code => 'S'
101271 , p_component_type => l_component_type
101272 , p_component_code => l_component_code
101273 , p_component_type_code => l_component_type_code
101274 , p_component_appl_id => l_component_appl_id
101275 , p_amb_context_code => l_amb_context_code
101276 , p_side => 'NA'
101277 );
101278
101279
101280 --
101281 --
101282 END IF;
101283
101284 --
101285 -- Update the line information that should be overwritten
101286 --
101287 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
101288 p_header_num => 1);
101289 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
101290
101291 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
101292
101293 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
101294 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
101295 END IF;
101296
101297 --
101298 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
101299 --
101300 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
101301 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
101302 ELSE
101303 ---------------------------------------------------------------------------------------------------
101304 -- 4262811a Switch Sign
101305 ---------------------------------------------------------------------------------------------------
101306 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
101307 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
101308 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
101309 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
101310 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
101311 -- 5132302
101312 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
101313 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
101314
101315 END IF;
101316
101317 -- 4955764
101318 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
101319 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
101320
101321
101322 XLA_AE_LINES_PKG.ValidateCurrentLine;
101323 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
101324
101325 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
101326 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
101327 ,p_balance_type_code => l_balance_type_code);
101328
101329 END IF;
101330
101331 -----------------------------------------------------------------------------------------
101332 -- 4262811 Multiperiod Accounting
101333 -----------------------------------------------------------------------------------------
101334 -- No MPA option is assigned.
101335
101336
101337 END IF;
101338 END IF;
101339 --
101340
101341 --
101342 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
101343 trace
101344 (p_msg => 'END of AcctLineType_180'
101345 ,p_level => C_LEVEL_PROCEDURE
101346 ,p_module => l_log_module);
101347 END IF;
101348 --
101349 EXCEPTION
101350 WHEN xla_exceptions_pkg.application_exception THEN
101351 RAISE;
101352 WHEN OTHERS THEN
101353 xla_exceptions_pkg.raise_message
101354 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_180');
101355 END AcctLineType_180;
101359 --
101356 --
101357
101358 ---------------------------------------
101360 -- PRIVATE FUNCTION
101361 -- AcctLineType_181
101362 --
101363 ---------------------------------------
101364 PROCEDURE AcctLineType_181 (
101365 p_application_id IN NUMBER
101366 ,p_event_id IN NUMBER
101367 ,p_calculate_acctd_flag IN VARCHAR2
101368 ,p_calculate_g_l_flag IN VARCHAR2
101369 ,p_actual_flag IN OUT VARCHAR2
101370 ,p_balance_type_code OUT VARCHAR2
101371 ,p_gain_or_loss_ref OUT VARCHAR2
101372
101373 --Invoice Distribution Description
101374 , p_source_1 IN VARCHAR2
101375 --Invoice Distribution Ledger Amount
101376 , p_source_16 IN NUMBER
101377 --Invoice Distribution Account
101378 , p_source_25 IN NUMBER
101379 --Invoice Distribution Type
101380 , p_source_28 IN VARCHAR2
101381 , p_source_28_meaning IN VARCHAR2
101382 --Accounting Reversal Indicator
101383 , p_source_58 IN VARCHAR2
101384 --Distribution Link Type
101385 , p_source_60 IN VARCHAR2
101386 --Allocation to Main Distribution Identifier
101387 , p_source_62 IN NUMBER
101388 --Invoice Identifier
101389 , p_source_63 IN NUMBER
101390 --Invoice Distribution Identifier
101391 , p_source_69 IN NUMBER
101392 --Payables Encumbrance Upgrade Credit Account
101393 , p_source_70 IN NUMBER
101394 --Payables Encumbrance Upgrade Credit Amount
101395 , p_source_71 IN NUMBER
101396 --Invoice Currency Code
101397 , p_source_72 IN VARCHAR2
101398 --Payables Encumbrance Upgrade Credit Base Amount
101399 , p_source_73 IN NUMBER
101400 --Payables Encumbrance Upgrade Debit Account
101401 , p_source_74 IN NUMBER
101402 --Payables Encumbrance Upgrade Debit Amount
101403 , p_source_75 IN NUMBER
101404 --Payables Encumbrance Upgrade Debit Base Amount
101405 , p_source_76 IN NUMBER
101406 --Payables Encumbrance Upgrade Option
101407 , p_source_77 IN VARCHAR2
101408 --Invoice Distribution Amount
101409 , p_source_78 IN NUMBER
101410 --Deferred Accounting End Date
101411 , p_source_82 IN DATE
101412 --Deferred Accounting Option
101413 , p_source_83 IN VARCHAR2
101414 --Deferred Accounting Start Date
101415 , p_source_84 IN DATE
101416 --Override Accounted Amount Indicator
101417 , p_source_85 IN VARCHAR2
101418 , p_source_85_meaning IN VARCHAR2
101419 --Invoice Supplier Identifier
101420 , p_source_86 IN NUMBER
101421 --Invoice Supplier Site Identifier
101422 , p_source_87 IN NUMBER
101423 --Third Party Type
101424 , p_source_88 IN VARCHAR2
101425 --Parent Reversal Identifier
101426 , p_source_89 IN NUMBER
101427 --Invoice Distribution Tax Line Identifier
101428 , p_source_91 IN NUMBER
101429 --Invoice Distribution Tax Distribution Identifier from Tax
101430 , p_source_92 IN NUMBER
101431 --Invoice Distribution Summary Tax Line Identifier
101432 , p_source_93 IN NUMBER
101433 --Payables Upgrade Credit Encumbrance Type Identifier
101434 , p_source_94 IN NUMBER
101435 --Payables Upgrade Debit Encumbrance Type Identifier
101436 , p_source_95 IN NUMBER
101437 --Business Flow Accounts Payable Application Identifier
101438 , p_source_96 IN NUMBER
101439 --Business Flow Invoice Distribution Type
101440 , p_source_97 IN VARCHAR2
101441 --Business Flow Invoice Entity Code
101442 , p_source_98 IN VARCHAR2
101443 --Business Flow Invoice Distribution Identifier
101444 , p_source_99 IN NUMBER
101445 --Business Flow Invoice Identifier
101446 , p_source_100 IN NUMBER
101447 --Invoice Exchange Date
101448 , p_source_146 IN DATE
101449 --Invoice Exchange Rate
101450 , p_source_147 IN NUMBER
101451 --Invoice Exchange Rate Type
101452 , p_source_148 IN VARCHAR2
101453 )
101454 IS
101455
101456 l_component_type VARCHAR2(80);
101457 l_component_code VARCHAR2(30);
101458 l_component_type_code VARCHAR2(1);
101459 l_component_appl_id INTEGER;
101460 l_amb_context_code VARCHAR2(30);
101461 l_entity_code VARCHAR2(30);
101462 l_event_class_code VARCHAR2(30);
101463 l_ae_header_id NUMBER;
101464 l_event_type_code VARCHAR2(30);
101465 l_line_definition_code VARCHAR2(30);
101466 l_line_definition_owner_code VARCHAR2(1);
101467 --
101468 -- adr variables
101469 l_segment VARCHAR2(30);
101470 l_ccid NUMBER;
101471 l_adr_transaction_coa_id NUMBER;
101472 l_adr_accounting_coa_id NUMBER;
101473 l_adr_flexfield_segment_code VARCHAR2(30);
101474 l_adr_flex_value_set_id NUMBER;
101475 l_adr_value_type_code VARCHAR2(30);
101476 l_adr_value_combination_id NUMBER;
101477 l_adr_value_segment_code VARCHAR2(30);
101478
101479 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
101480 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
101481 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
101482 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
101483
101484 -- 4262811 Variables ------------------------------------------------------------------------------------------
101485 l_entered_amt_idx NUMBER;
101486 l_accted_amt_idx NUMBER;
101490 l_acc_rev_natural_side_code VARCHAR2(1);
101487 l_acc_rev_flag VARCHAR2(1);
101488 l_accrual_line_num NUMBER;
101489 l_tmp_amt NUMBER;
101491
101492 l_num_entries NUMBER;
101493 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
101494 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
101495 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
101496 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
101497 l_recog_line_1 NUMBER;
101498 l_recog_line_2 NUMBER;
101499
101500 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
101501 l_bflow_applied_to_amt NUMBER; -- 5132302
101502 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
101503
101504 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
101505
101506 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
101507 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
101508
101509 ---------------------------------------------------------------------------------------------------------------
101510
101511
101512 --
101513 -- bulk performance
101514 --
101515 l_balance_type_code VARCHAR2(1);
101516 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
101517 l_log_module VARCHAR2(240);
101518
101519 --
101520 -- Upgrade strategy
101521 --
101522 l_actual_upg_option VARCHAR2(1);
101523 l_enc_upg_option VARCHAR2(1);
101524
101525 --
101526 BEGIN
101527 --
101528 IF g_log_enabled THEN
101529 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_181';
101530 END IF;
101531 --
101532 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
101533
101534 trace
101535 (p_msg => 'BEGIN of AcctLineType_181'
101536 ,p_level => C_LEVEL_PROCEDURE
101537 ,p_module => l_log_module);
101538
101539 END IF;
101540 --
101541 l_component_type := 'AMB_JLT';
101542 l_component_code := 'AP_MISC_EXPENSE_DM';
101543 l_component_type_code := 'S';
101544 l_component_appl_id := 200;
101545 l_amb_context_code := 'DEFAULT';
101546 l_entity_code := 'AP_INVOICES';
101547 l_event_class_code := 'DEBIT MEMOS';
101548 l_event_type_code := 'DEBIT MEMOS_ALL';
101549 l_line_definition_owner_code := 'S';
101550 l_line_definition_code := 'ACCRUAL_DEBIT MEMOS_ALL';
101551 --
101552 l_balance_type_code := 'A';
101553 l_segment := NULL;
101554 l_ccid := NULL;
101555 l_adr_transaction_coa_id := NULL;
101556 l_adr_accounting_coa_id := NULL;
101557 l_adr_flexfield_segment_code := NULL;
101558 l_adr_flex_value_set_id := NULL;
101559 l_adr_value_type_code := NULL;
101560 l_adr_value_combination_id := NULL;
101561 l_adr_value_segment_code := NULL;
101562
101563 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
101564 l_bflow_class_code := ''; -- 4219869 Business Flow
101565 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
101566 l_budgetary_control_flag := 'N';
101567
101568 l_bflow_applied_to_amt_idx := NULL; -- 5132302
101569 l_bflow_applied_to_amt := NULL; -- 5132302
101570 l_entered_amt_idx := NULL; -- 4262811
101571 l_accted_amt_idx := NULL; -- 4262811
101572 l_acc_rev_flag := NULL; -- 4262811
101573 l_accrual_line_num := NULL; -- 4262811
101574 l_tmp_amt := NULL; -- 4262811
101575 --
101576
101577 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
101578 l_balance_type_code <> 'B' THEN
101579 IF NVL(p_source_28,'
101580 ') = 'MISCELLANEOUS'
101581 THEN
101582
101583 --
101584 XLA_AE_LINES_PKG.SetNewLine;
101585
101586 p_balance_type_code := l_balance_type_code;
101587 -- set the flag so later we will know whether the gain loss line needs to be created
101588
101589 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
101590 p_actual_flag :='A';
101591 END IF;
101592
101593 --
101594 -- bulk performance
101595 --
101596 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
101597 p_header_num => 0); -- 4262811
101598 --
101599 -- set accounting line options
101600 --
101601 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
101602 p_natural_side_code => 'D'
101603 , p_gain_or_loss_flag => 'N'
101604 , p_gl_transfer_mode_code => 'S'
101605 , p_acct_entry_type_code => 'A'
101606 , p_switch_side_flag => 'Y'
101607 , p_merge_duplicate_code => 'A'
101608 );
101609 --
101610 l_acc_rev_natural_side_code := 'C'; -- 4262811
101611 --
101612 --
101613 -- set accounting line type info
101614 --
101615 xla_ae_lines_pkg.SetAcctLineType
101616 (p_component_type => l_component_type
101617 ,p_event_type_code => l_event_type_code
101618 ,p_line_definition_owner_code => l_line_definition_owner_code
101619 ,p_line_definition_code => l_line_definition_code
101623 ,p_amb_context_code => l_amb_context_code
101620 ,p_accounting_line_code => l_component_code
101621 ,p_accounting_line_type_code => l_component_type_code
101622 ,p_accounting_line_appl_id => l_component_appl_id
101624 ,p_entity_code => l_entity_code
101625 ,p_event_class_code => l_event_class_code);
101626 --
101627 -- set accounting class
101628 --
101629 xla_ae_lines_pkg.SetAcctClass(
101630 p_accounting_class_code => 'MISCELLANEOUS EXPENSE'
101631 , p_ae_header_id => l_ae_header_id
101632 );
101633
101634 --
101635 -- set rounding class
101636 --
101637 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
101638 'MISCELLANEOUS EXPENSE';
101639
101640 --
101641 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
101642 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
101643 --
101644 -- bulk performance
101645 --
101646 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
101647
101648 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
101649 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
101650
101651 -- 4955764
101652 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
101653 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
101654
101655 -- 4458381 Public Sector Enh
101656
101657 --
101658 -- set accounting attributes for the line type
101659 --
101660 l_entered_amt_idx := 23;
101661 l_accted_amt_idx := 28;
101662 l_bflow_applied_to_amt_idx := NULL; -- 5132302
101663 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
101664 l_rec_acct_attrs.array_char_value(1) := p_source_58;
101665 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
101666 l_rec_acct_attrs.array_num_value(2) :=
101667 xla_ae_sources_pkg.GetSystemSourceNum(
101668 p_source_code => 'XLA_EVENT_APPL_ID'
101669 , p_source_type_code => 'Y'
101670 , p_source_application_id => 602
101671 );
101672 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
101673 l_rec_acct_attrs.array_char_value(3) := p_source_60;
101674 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
101675 l_rec_acct_attrs.array_char_value(4) :=
101676 xla_ae_sources_pkg.GetSystemSourceChar(
101677 p_source_code => 'XLA_ENTITY_CODE'
101678 , p_source_type_code => 'Y'
101679 , p_source_application_id => 602
101680 );
101681 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
101682 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_62);
101683 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
101684 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_63);
101685 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
101686 l_rec_acct_attrs.array_num_value(7) := p_source_96;
101687 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
101688 l_rec_acct_attrs.array_char_value(8) := p_source_97;
101689 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
101690 l_rec_acct_attrs.array_char_value(9) := p_source_98;
101691 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
101692 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_99);
101693 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
101694 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_100);
101695 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
101696 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_69);
101697 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
101698 l_rec_acct_attrs.array_char_value(13) := p_source_60;
101699 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
101700 l_rec_acct_attrs.array_num_value(14) := p_source_70;
101701 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
101702 l_rec_acct_attrs.array_num_value(15) := p_source_71;
101703 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
101704 l_rec_acct_attrs.array_char_value(16) := p_source_72;
101705 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
101706 l_rec_acct_attrs.array_num_value(17) := p_source_73;
101707 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
101708 l_rec_acct_attrs.array_num_value(18) := p_source_74;
101709 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
101710 l_rec_acct_attrs.array_num_value(19) := p_source_75;
101711 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
101712 l_rec_acct_attrs.array_char_value(20) := p_source_72;
101713 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
101714 l_rec_acct_attrs.array_num_value(21) := p_source_76;
101715 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
101716 l_rec_acct_attrs.array_char_value(22) := p_source_77;
101717 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
101718 l_rec_acct_attrs.array_num_value(23) := p_source_78;
101722 l_rec_acct_attrs.array_date_value(25) := p_source_146;
101719 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
101720 l_rec_acct_attrs.array_char_value(24) := p_source_72;
101721 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
101723 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
101724 l_rec_acct_attrs.array_num_value(26) := p_source_147;
101725 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
101726 l_rec_acct_attrs.array_char_value(27) := p_source_148;
101727 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
101728 l_rec_acct_attrs.array_num_value(28) := p_source_16;
101729 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
101730 l_rec_acct_attrs.array_date_value(29) := p_source_82;
101731 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
101732 l_rec_acct_attrs.array_char_value(30) := p_source_83;
101733 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
101734 l_rec_acct_attrs.array_date_value(31) := p_source_84;
101735 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
101736 l_rec_acct_attrs.array_char_value(32) := p_source_85;
101737 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
101738 l_rec_acct_attrs.array_num_value(33) := p_source_86;
101739 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
101740 l_rec_acct_attrs.array_num_value(34) := p_source_87;
101741 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
101742 l_rec_acct_attrs.array_char_value(35) := p_source_88;
101743 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
101744 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_89);
101745 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
101746 l_rec_acct_attrs.array_char_value(37) := p_source_60;
101747 l_rec_acct_attrs.array_acct_attr_code(38) := 'TAX_LINE_REF_ID';
101748 l_rec_acct_attrs.array_num_value(38) := p_source_91;
101749 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_REC_NREC_DIST_REF_ID';
101750 l_rec_acct_attrs.array_num_value(39) := p_source_92;
101751 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_SUMMARY_LINE_REF_ID';
101752 l_rec_acct_attrs.array_num_value(40) := p_source_93;
101753 l_rec_acct_attrs.array_acct_attr_code(41) := 'UPG_CR_ENC_TYPE_ID';
101754 l_rec_acct_attrs.array_num_value(41) := p_source_94;
101755 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_DR_ENC_TYPE_ID';
101756 l_rec_acct_attrs.array_num_value(42) := p_source_95;
101757
101758 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
101759 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
101760
101761 ---------------------------------------------------------------------------------------------------------------
101762 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
101763 ---------------------------------------------------------------------------------------------------------------
101764 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
101765
101766 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
101767 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
101768
101769 IF xla_accounting_cache_pkg.GetValueChar
101770 (p_source_code => 'LEDGER_CATEGORY_CODE'
101771 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
101772 AND l_bflow_method_code = 'PRIOR_ENTRY'
101773 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
101774 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
101775 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
101776 )
101777 THEN
101778 xla_ae_lines_pkg.BflowUpgEntry
101779 (p_business_method_code => l_bflow_method_code
101780 ,p_business_class_code => l_bflow_class_code
101781 ,p_balance_type => l_balance_type_code);
101782 ELSE
101783 NULL;
101784 -- No business flow processing for business flow method of NONE.
101785 END IF;
101786
101787 --
101788 -- call analytical criteria
101789 --
101790
101791 --
101792 -- call description
101793 --
101794
101795 xla_ae_lines_pkg.SetLineDescription(
101796 p_ae_header_id => l_ae_header_id
101797 ,p_description => Description_2 (
101798 p_application_id => p_application_id
101799 , p_ae_header_id => l_ae_header_id
101800 , p_source_1 => p_source_1
101801 )
101802 );
101803
101804
101805 --
101806 -- call ADRs
101807 -- Bug 4922099
101808 --
101809 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
101810 (NVL(l_actual_upg_option, 'N') = 'O') OR
101811 (NVL(l_enc_upg_option, 'N') = 'O')
101812 )
101813 THEN
101814 NULL;
101815 --
101816 --
101817
101818 l_ccid := AcctDerRule_35(
101819 p_application_id => p_application_id
101820 , p_ae_header_id => l_ae_header_id
101821 , p_source_25 => p_source_25
101822 , x_transaction_coa_id => l_adr_transaction_coa_id
101823 , x_accounting_coa_id => l_adr_accounting_coa_id
101824 , x_value_type_code => l_adr_value_type_code
101825 , p_side => 'NA'
101829 p_code_combination_id => l_ccid
101826 );
101827
101828 xla_ae_lines_pkg.set_ccid(
101830 , p_value_type_code => l_adr_value_type_code
101831 , p_transaction_coa_id => l_adr_transaction_coa_id
101832 , p_accounting_coa_id => l_adr_accounting_coa_id
101833 , p_adr_code => 'AP_INVOICE_DIST'
101834 , p_adr_type_code => 'S'
101835 , p_component_type => l_component_type
101836 , p_component_code => l_component_code
101837 , p_component_type_code => l_component_type_code
101838 , p_component_appl_id => l_component_appl_id
101839 , p_amb_context_code => l_amb_context_code
101840 , p_side => 'NA'
101841 );
101842
101843
101844 --
101845 --
101846 END IF;
101847 --
101848 -- Bug 4922099
101849 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
101850 (NVL(l_enc_upg_option, 'N') = 'O')
101851 ) AND
101852 (l_bflow_method_code = 'PRIOR_ENTRY')
101853 )
101854 THEN
101855 IF
101856 --
101857 1 = 2
101858 --
101859 THEN
101860 xla_accounting_err_pkg.build_message
101861 (p_appli_s_name => 'XLA'
101862 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
101863 ,p_token_1 => 'LINE_NUMBER'
101864 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
101865 ,p_token_2 => 'LINE_TYPE_NAME'
101866 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
101867 l_component_type
101868 ,l_component_code
101869 ,l_component_type_code
101870 ,l_component_appl_id
101871 ,l_amb_context_code
101872 ,l_entity_code
101873 ,l_event_class_code
101874 )
101875 ,p_token_3 => 'OWNER'
101876 ,p_value_3 => xla_lookups_pkg.get_meaning(
101877 p_lookup_type => 'XLA_OWNER_TYPE'
101878 ,p_lookup_code => l_component_type_code
101879 )
101880 ,p_token_4 => 'PRODUCT_NAME'
101881 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
101882 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
101883 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
101884 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
101885 ,p_ae_header_id => NULL
101886 );
101887
101888 IF (C_LEVEL_ERROR>= g_log_level) THEN
101889 trace
101890 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
101891 ,p_level => C_LEVEL_ERROR
101892 ,p_module => l_log_module);
101893 END IF;
101894 END IF;
101895 END IF;
101896 --
101897 --
101898 ------------------------------------------------------------------------------------------------
101899 -- 4219869 Business Flow
101900 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
101901 -- Prior Entry. Currently, the following code is always generated.
101902 ------------------------------------------------------------------------------------------------
101903 XLA_AE_LINES_PKG.ValidateCurrentLine;
101904
101905 ------------------------------------------------------------------------------------
101906 -- 4219869 Business Flow
101907 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
101908 ------------------------------------------------------------------------------------
101909 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
101910
101911 ----------------------------------------------------------------------------------
101912 -- 4219869 Business Flow
101913 -- Update journal entry status -- Need to generate this within IF <condition>
101914 ----------------------------------------------------------------------------------
101915 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
101916 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
101917 ,p_balance_type_code => l_balance_type_code
101918 );
101919
101920 -------------------------------------------------------------------------------------------
101921 -- 4262811 - Generate the Accrual Reversal lines
101922 -------------------------------------------------------------------------------------------
101926 IF l_acc_rev_flag IS NULL THEN
101923 BEGIN
101924 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
101925 (g_array_event(p_event_id).array_value_num('header_index'));
101927 l_acc_rev_flag := 'N';
101928 END IF;
101929 EXCEPTION
101930 WHEN OTHERS THEN
101931 l_acc_rev_flag := 'N';
101932 END;
101933 --
101934 IF (l_acc_rev_flag = 'Y') THEN
101935
101936 -- 4645092 ------------------------------------------------------------------------------
101937 -- To allow MPA report to determine if it should generate report process
101938 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
101939 ------------------------------------------------------------------------------------------
101940
101941 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
101942 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
101943 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
101944 -- call ADRs
101945 -- Bug 4922099
101946 --
101947 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
101948 (NVL(l_actual_upg_option, 'N') = 'O') OR
101949 (NVL(l_enc_upg_option, 'N') = 'O')
101950 )
101951 THEN
101952 NULL;
101953 --
101954 --
101955
101956 l_ccid := AcctDerRule_35(
101957 p_application_id => p_application_id
101958 , p_ae_header_id => l_ae_header_id
101959 , p_source_25 => p_source_25
101960 , x_transaction_coa_id => l_adr_transaction_coa_id
101961 , x_accounting_coa_id => l_adr_accounting_coa_id
101962 , x_value_type_code => l_adr_value_type_code
101963 , p_side => 'NA'
101964 );
101965
101966 xla_ae_lines_pkg.set_ccid(
101967 p_code_combination_id => l_ccid
101968 , p_value_type_code => l_adr_value_type_code
101969 , p_transaction_coa_id => l_adr_transaction_coa_id
101970 , p_accounting_coa_id => l_adr_accounting_coa_id
101971 , p_adr_code => 'AP_INVOICE_DIST'
101972 , p_adr_type_code => 'S'
101973 , p_component_type => l_component_type
101974 , p_component_code => l_component_code
101975 , p_component_type_code => l_component_type_code
101976 , p_component_appl_id => l_component_appl_id
101977 , p_amb_context_code => l_amb_context_code
101978 , p_side => 'NA'
101979 );
101980
101981
101982 --
101983 --
101984 END IF;
101985
101986 --
101987 -- Update the line information that should be overwritten
101988 --
101989 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
101990 p_header_num => 1);
101991 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
101992
101993 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
101994
101995 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
101996 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
101997 END IF;
101998
101999 --
102000 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
102001 --
102002 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
102003 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
102004 ELSE
102005 ---------------------------------------------------------------------------------------------------
102006 -- 4262811a Switch Sign
102007 ---------------------------------------------------------------------------------------------------
102008 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
102009 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
102010 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
102011 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
102012 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
102013 -- 5132302
102014 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
102015 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
102016
102017 END IF;
102018
102019 -- 4955764
102020 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
102021 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
102022
102023
102024 XLA_AE_LINES_PKG.ValidateCurrentLine;
102025 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
102026
102027 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
102028 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
102029 ,p_balance_type_code => l_balance_type_code);
102030
102031 END IF;
102032
102033 -----------------------------------------------------------------------------------------
102034 -- 4262811 Multiperiod Accounting
102035 -----------------------------------------------------------------------------------------
102039 END IF;
102036 -- No MPA option is assigned.
102037
102038
102040 END IF;
102041 --
102042
102043 --
102044 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
102045 trace
102046 (p_msg => 'END of AcctLineType_181'
102047 ,p_level => C_LEVEL_PROCEDURE
102048 ,p_module => l_log_module);
102049 END IF;
102050 --
102051 EXCEPTION
102052 WHEN xla_exceptions_pkg.application_exception THEN
102053 RAISE;
102054 WHEN OTHERS THEN
102055 xla_exceptions_pkg.raise_message
102056 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_181');
102057 END AcctLineType_181;
102058 --
102059
102060 ---------------------------------------
102061 --
102062 -- PRIVATE FUNCTION
102063 -- AcctLineType_182
102064 --
102065 ---------------------------------------
102066 PROCEDURE AcctLineType_182 (
102067 p_application_id IN NUMBER
102068 ,p_event_id IN NUMBER
102069 ,p_calculate_acctd_flag IN VARCHAR2
102070 ,p_calculate_g_l_flag IN VARCHAR2
102071 ,p_actual_flag IN OUT VARCHAR2
102072 ,p_balance_type_code OUT VARCHAR2
102073 ,p_gain_or_loss_ref OUT VARCHAR2
102074
102075 --Invoice Distribution Description
102076 , p_source_1 IN VARCHAR2
102077 --Invoice Distribution Ledger Amount
102078 , p_source_16 IN NUMBER
102079 --Invoice Distribution Account
102080 , p_source_25 IN NUMBER
102081 --Invoice Distribution Type
102082 , p_source_28 IN VARCHAR2
102083 , p_source_28_meaning IN VARCHAR2
102084 --Accounting Reversal Indicator
102085 , p_source_58 IN VARCHAR2
102086 --Distribution Link Type
102087 , p_source_60 IN VARCHAR2
102088 --Allocation to Main Distribution Identifier
102089 , p_source_62 IN NUMBER
102090 --Invoice Identifier
102091 , p_source_63 IN NUMBER
102092 --Invoice Distribution Identifier
102093 , p_source_69 IN NUMBER
102094 --Payables Encumbrance Upgrade Credit Account
102095 , p_source_70 IN NUMBER
102096 --Payables Encumbrance Upgrade Credit Amount
102097 , p_source_71 IN NUMBER
102098 --Invoice Currency Code
102099 , p_source_72 IN VARCHAR2
102100 --Payables Encumbrance Upgrade Credit Base Amount
102101 , p_source_73 IN NUMBER
102102 --Payables Encumbrance Upgrade Debit Account
102103 , p_source_74 IN NUMBER
102104 --Payables Encumbrance Upgrade Debit Amount
102105 , p_source_75 IN NUMBER
102106 --Payables Encumbrance Upgrade Debit Base Amount
102107 , p_source_76 IN NUMBER
102108 --Payables Encumbrance Upgrade Option
102109 , p_source_77 IN VARCHAR2
102110 --Invoice Distribution Amount
102111 , p_source_78 IN NUMBER
102112 --Deferred Accounting End Date
102113 , p_source_82 IN DATE
102114 --Deferred Accounting Option
102115 , p_source_83 IN VARCHAR2
102116 --Deferred Accounting Start Date
102117 , p_source_84 IN DATE
102118 --Override Accounted Amount Indicator
102119 , p_source_85 IN VARCHAR2
102120 , p_source_85_meaning IN VARCHAR2
102121 --Invoice Supplier Identifier
102122 , p_source_86 IN NUMBER
102123 --Invoice Supplier Site Identifier
102124 , p_source_87 IN NUMBER
102125 --Third Party Type
102126 , p_source_88 IN VARCHAR2
102127 --Parent Reversal Identifier
102128 , p_source_89 IN NUMBER
102129 --Invoice Distribution Statistical Amount
102130 , p_source_90 IN NUMBER
102131 --Invoice Distribution Tax Line Identifier
102132 , p_source_91 IN NUMBER
102133 --Invoice Distribution Tax Distribution Identifier from Tax
102134 , p_source_92 IN NUMBER
102135 --Invoice Distribution Summary Tax Line Identifier
102136 , p_source_93 IN NUMBER
102137 --Payables Upgrade Credit Encumbrance Type Identifier
102138 , p_source_94 IN NUMBER
102139 --Payables Upgrade Debit Encumbrance Type Identifier
102140 , p_source_95 IN NUMBER
102141 --Business Flow Accounts Payable Application Identifier
102142 , p_source_96 IN NUMBER
102143 --Business Flow Invoice Distribution Type
102144 , p_source_97 IN VARCHAR2
102145 --Business Flow Invoice Entity Code
102146 , p_source_98 IN VARCHAR2
102147 --Business Flow Invoice Distribution Identifier
102148 , p_source_99 IN NUMBER
102149 --Business Flow Invoice Identifier
102150 , p_source_100 IN NUMBER
102151 --Invoice Exchange Date
102152 , p_source_146 IN DATE
102153 --Invoice Exchange Rate
102154 , p_source_147 IN NUMBER
102155 --Invoice Exchange Rate Type
102156 , p_source_148 IN VARCHAR2
102157 )
102158 IS
102159
102160 l_component_type VARCHAR2(80);
102161 l_component_code VARCHAR2(30);
102162 l_component_type_code VARCHAR2(1);
102163 l_component_appl_id INTEGER;
102164 l_amb_context_code VARCHAR2(30);
102165 l_entity_code VARCHAR2(30);
102166 l_event_class_code VARCHAR2(30);
102167 l_ae_header_id NUMBER;
102168 l_event_type_code VARCHAR2(30);
102169 l_line_definition_code VARCHAR2(30);
102170 l_line_definition_owner_code VARCHAR2(1);
102171 --
102172 -- adr variables
102173 l_segment VARCHAR2(30);
102174 l_ccid NUMBER;
102175 l_adr_transaction_coa_id NUMBER;
102176 l_adr_accounting_coa_id NUMBER;
102180 l_adr_value_combination_id NUMBER;
102177 l_adr_flexfield_segment_code VARCHAR2(30);
102178 l_adr_flex_value_set_id NUMBER;
102179 l_adr_value_type_code VARCHAR2(30);
102181 l_adr_value_segment_code VARCHAR2(30);
102182
102183 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
102184 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
102185 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
102186 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
102187
102188 -- 4262811 Variables ------------------------------------------------------------------------------------------
102189 l_entered_amt_idx NUMBER;
102190 l_accted_amt_idx NUMBER;
102191 l_acc_rev_flag VARCHAR2(1);
102192 l_accrual_line_num NUMBER;
102193 l_tmp_amt NUMBER;
102194 l_acc_rev_natural_side_code VARCHAR2(1);
102195
102196 l_num_entries NUMBER;
102197 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
102198 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
102199 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
102200 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
102201 l_recog_line_1 NUMBER;
102202 l_recog_line_2 NUMBER;
102203
102204 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
102205 l_bflow_applied_to_amt NUMBER; -- 5132302
102206 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
102207
102208 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
102209
102210 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
102211 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
102212
102213 ---------------------------------------------------------------------------------------------------------------
102214
102215
102216 --
102217 -- bulk performance
102218 --
102219 l_balance_type_code VARCHAR2(1);
102220 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
102221 l_log_module VARCHAR2(240);
102222
102223 --
102224 -- Upgrade strategy
102225 --
102226 l_actual_upg_option VARCHAR2(1);
102227 l_enc_upg_option VARCHAR2(1);
102228
102229 --
102230 BEGIN
102231 --
102232 IF g_log_enabled THEN
102233 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_182';
102234 END IF;
102235 --
102236 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
102237
102238 trace
102239 (p_msg => 'BEGIN of AcctLineType_182'
102240 ,p_level => C_LEVEL_PROCEDURE
102241 ,p_module => l_log_module);
102242
102243 END IF;
102244 --
102245 l_component_type := 'AMB_JLT';
102246 l_component_code := 'AP_MISC_EXPENSE_INV';
102247 l_component_type_code := 'S';
102248 l_component_appl_id := 200;
102249 l_amb_context_code := 'DEFAULT';
102250 l_entity_code := 'AP_INVOICES';
102251 l_event_class_code := 'INVOICES';
102252 l_event_type_code := 'INVOICES_ALL';
102253 l_line_definition_owner_code := 'S';
102254 l_line_definition_code := 'ACCRUAL_INVOICES_ALL';
102255 --
102256 l_balance_type_code := 'A';
102257 l_segment := NULL;
102258 l_ccid := NULL;
102259 l_adr_transaction_coa_id := NULL;
102260 l_adr_accounting_coa_id := NULL;
102261 l_adr_flexfield_segment_code := NULL;
102262 l_adr_flex_value_set_id := NULL;
102263 l_adr_value_type_code := NULL;
102264 l_adr_value_combination_id := NULL;
102265 l_adr_value_segment_code := NULL;
102266
102267 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
102268 l_bflow_class_code := ''; -- 4219869 Business Flow
102269 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
102270 l_budgetary_control_flag := 'N';
102271
102272 l_bflow_applied_to_amt_idx := NULL; -- 5132302
102273 l_bflow_applied_to_amt := NULL; -- 5132302
102274 l_entered_amt_idx := NULL; -- 4262811
102275 l_accted_amt_idx := NULL; -- 4262811
102276 l_acc_rev_flag := NULL; -- 4262811
102277 l_accrual_line_num := NULL; -- 4262811
102278 l_tmp_amt := NULL; -- 4262811
102279 --
102280
102281 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
102282 l_balance_type_code <> 'B' THEN
102283 IF NVL(p_source_28,'
102284 ') = 'MISCELLANEOUS'
102285 THEN
102286
102287 --
102288 XLA_AE_LINES_PKG.SetNewLine;
102289
102290 p_balance_type_code := l_balance_type_code;
102291 -- set the flag so later we will know whether the gain loss line needs to be created
102292
102293 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
102294 p_actual_flag :='A';
102295 END IF;
102296
102297 --
102298 -- bulk performance
102299 --
102300 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
102301 p_header_num => 0); -- 4262811
102302 --
102303 -- set accounting line options
102304 --
102305 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
102306 p_natural_side_code => 'D'
102310 , p_switch_side_flag => 'Y'
102307 , p_gain_or_loss_flag => 'N'
102308 , p_gl_transfer_mode_code => 'S'
102309 , p_acct_entry_type_code => 'A'
102311 , p_merge_duplicate_code => 'A'
102312 );
102313 --
102314 l_acc_rev_natural_side_code := 'C'; -- 4262811
102315 --
102316 --
102317 -- set accounting line type info
102318 --
102319 xla_ae_lines_pkg.SetAcctLineType
102320 (p_component_type => l_component_type
102321 ,p_event_type_code => l_event_type_code
102322 ,p_line_definition_owner_code => l_line_definition_owner_code
102323 ,p_line_definition_code => l_line_definition_code
102324 ,p_accounting_line_code => l_component_code
102325 ,p_accounting_line_type_code => l_component_type_code
102326 ,p_accounting_line_appl_id => l_component_appl_id
102327 ,p_amb_context_code => l_amb_context_code
102328 ,p_entity_code => l_entity_code
102329 ,p_event_class_code => l_event_class_code);
102330 --
102331 -- set accounting class
102332 --
102333 xla_ae_lines_pkg.SetAcctClass(
102334 p_accounting_class_code => 'MISCELLANEOUS EXPENSE'
102335 , p_ae_header_id => l_ae_header_id
102336 );
102337
102338 --
102339 -- set rounding class
102340 --
102341 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
102342 'MISCELLANEOUS EXPENSE';
102343
102344 --
102345 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
102346 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
102347 --
102348 -- bulk performance
102349 --
102350 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
102351
102352 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
102353 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
102354
102355 -- 4955764
102356 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
102357 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
102358
102359 -- 4458381 Public Sector Enh
102360
102361 --
102362 -- set accounting attributes for the line type
102363 --
102364 l_entered_amt_idx := 24;
102365 l_accted_amt_idx := 29;
102366 l_bflow_applied_to_amt_idx := 7; -- 5132302
102367 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
102368 l_rec_acct_attrs.array_char_value(1) := p_source_58;
102369 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
102370 l_rec_acct_attrs.array_num_value(2) :=
102371 xla_ae_sources_pkg.GetSystemSourceNum(
102372 p_source_code => 'XLA_EVENT_APPL_ID'
102373 , p_source_type_code => 'Y'
102374 , p_source_application_id => 602
102375 );
102376 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
102377 l_rec_acct_attrs.array_char_value(3) := p_source_60;
102378 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
102379 l_rec_acct_attrs.array_char_value(4) :=
102380 xla_ae_sources_pkg.GetSystemSourceChar(
102381 p_source_code => 'XLA_ENTITY_CODE'
102382 , p_source_type_code => 'Y'
102383 , p_source_application_id => 602
102384 );
102385 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
102386 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_62);
102387 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
102388 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_63);
102389 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
102390 l_rec_acct_attrs.array_num_value(7) := p_source_78;
102391 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
102392 l_rec_acct_attrs.array_num_value(8) := p_source_96;
102393 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
102394 l_rec_acct_attrs.array_char_value(9) := p_source_97;
102395 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
102396 l_rec_acct_attrs.array_char_value(10) := p_source_98;
102397 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
102398 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_99);
102399 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
102400 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_100);
102401 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
102402 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_69);
102403 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
102404 l_rec_acct_attrs.array_char_value(14) := p_source_60;
102405 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
102406 l_rec_acct_attrs.array_num_value(15) := p_source_70;
102407 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
102408 l_rec_acct_attrs.array_num_value(16) := p_source_71;
102409 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
102410 l_rec_acct_attrs.array_char_value(17) := p_source_72;
102411 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
102412 l_rec_acct_attrs.array_num_value(18) := p_source_73;
102416 l_rec_acct_attrs.array_num_value(20) := p_source_75;
102413 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
102414 l_rec_acct_attrs.array_num_value(19) := p_source_74;
102415 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
102417 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
102418 l_rec_acct_attrs.array_char_value(21) := p_source_72;
102419 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
102420 l_rec_acct_attrs.array_num_value(22) := p_source_76;
102421 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
102422 l_rec_acct_attrs.array_char_value(23) := p_source_77;
102423 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_AMOUNT';
102424 l_rec_acct_attrs.array_num_value(24) := p_source_78;
102425 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_CODE';
102426 l_rec_acct_attrs.array_char_value(25) := p_source_72;
102427 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_DATE';
102428 l_rec_acct_attrs.array_date_value(26) := p_source_146;
102429 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE';
102430 l_rec_acct_attrs.array_num_value(27) := p_source_147;
102431 l_rec_acct_attrs.array_acct_attr_code(28) := 'EXCHANGE_RATE_TYPE';
102432 l_rec_acct_attrs.array_char_value(28) := p_source_148;
102433 l_rec_acct_attrs.array_acct_attr_code(29) := 'LEDGER_AMOUNT';
102434 l_rec_acct_attrs.array_num_value(29) := p_source_16;
102435 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_END_DATE';
102436 l_rec_acct_attrs.array_date_value(30) := p_source_82;
102437 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_OPTION';
102438 l_rec_acct_attrs.array_char_value(31) := p_source_83;
102439 l_rec_acct_attrs.array_acct_attr_code(32) := 'MULTIPERIOD_START_DATE';
102440 l_rec_acct_attrs.array_date_value(32) := p_source_84;
102441 l_rec_acct_attrs.array_acct_attr_code(33) := 'OVERRIDE_ACCTD_AMT_FLAG';
102442 l_rec_acct_attrs.array_char_value(33) := p_source_85;
102443 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_ID';
102444 l_rec_acct_attrs.array_num_value(34) := p_source_86;
102445 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_SITE_ID';
102446 l_rec_acct_attrs.array_num_value(35) := p_source_87;
102447 l_rec_acct_attrs.array_acct_attr_code(36) := 'PARTY_TYPE';
102448 l_rec_acct_attrs.array_char_value(36) := p_source_88;
102449 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_ID1';
102450 l_rec_acct_attrs.array_num_value(37) := to_char(p_source_89);
102451 l_rec_acct_attrs.array_acct_attr_code(38) := 'REVERSED_DISTRIBUTION_TYPE';
102452 l_rec_acct_attrs.array_char_value(38) := p_source_60;
102453 l_rec_acct_attrs.array_acct_attr_code(39) := 'STATISTICAL_AMOUNT';
102454 l_rec_acct_attrs.array_num_value(39) := p_source_90;
102455 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_LINE_REF_ID';
102456 l_rec_acct_attrs.array_num_value(40) := p_source_91;
102457 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_REC_NREC_DIST_REF_ID';
102458 l_rec_acct_attrs.array_num_value(41) := p_source_92;
102459 l_rec_acct_attrs.array_acct_attr_code(42) := 'TAX_SUMMARY_LINE_REF_ID';
102460 l_rec_acct_attrs.array_num_value(42) := p_source_93;
102461 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_CR_ENC_TYPE_ID';
102462 l_rec_acct_attrs.array_num_value(43) := p_source_94;
102463 l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
102464 l_rec_acct_attrs.array_num_value(44) := p_source_95;
102465
102466 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
102467 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
102468
102469 ---------------------------------------------------------------------------------------------------------------
102470 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
102471 ---------------------------------------------------------------------------------------------------------------
102472 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
102473
102474 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
102475 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
102476
102477 IF xla_accounting_cache_pkg.GetValueChar
102478 (p_source_code => 'LEDGER_CATEGORY_CODE'
102479 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
102480 AND l_bflow_method_code = 'PRIOR_ENTRY'
102481 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
102482 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
102483 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
102484 )
102485 THEN
102486 xla_ae_lines_pkg.BflowUpgEntry
102487 (p_business_method_code => l_bflow_method_code
102488 ,p_business_class_code => l_bflow_class_code
102489 ,p_balance_type => l_balance_type_code);
102490 ELSE
102491 NULL;
102492 -- No business flow processing for business flow method of NONE.
102493 END IF;
102494
102495 --
102496 -- call analytical criteria
102497 --
102498
102499 --
102500 -- call description
102501 --
102502
102503 xla_ae_lines_pkg.SetLineDescription(
102504 p_ae_header_id => l_ae_header_id
102505 ,p_description => Description_2 (
102506 p_application_id => p_application_id
102510 );
102507 , p_ae_header_id => l_ae_header_id
102508 , p_source_1 => p_source_1
102509 )
102511
102512
102513 --
102514 -- call ADRs
102515 -- Bug 4922099
102516 --
102517 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
102518 (NVL(l_actual_upg_option, 'N') = 'O') OR
102519 (NVL(l_enc_upg_option, 'N') = 'O')
102520 )
102521 THEN
102522 NULL;
102523 --
102524 --
102525
102526 l_ccid := AcctDerRule_35(
102527 p_application_id => p_application_id
102528 , p_ae_header_id => l_ae_header_id
102529 , p_source_25 => p_source_25
102530 , x_transaction_coa_id => l_adr_transaction_coa_id
102531 , x_accounting_coa_id => l_adr_accounting_coa_id
102532 , x_value_type_code => l_adr_value_type_code
102533 , p_side => 'NA'
102534 );
102535
102536 xla_ae_lines_pkg.set_ccid(
102537 p_code_combination_id => l_ccid
102538 , p_value_type_code => l_adr_value_type_code
102539 , p_transaction_coa_id => l_adr_transaction_coa_id
102540 , p_accounting_coa_id => l_adr_accounting_coa_id
102541 , p_adr_code => 'AP_INVOICE_DIST'
102542 , p_adr_type_code => 'S'
102543 , p_component_type => l_component_type
102544 , p_component_code => l_component_code
102545 , p_component_type_code => l_component_type_code
102546 , p_component_appl_id => l_component_appl_id
102547 , p_amb_context_code => l_amb_context_code
102548 , p_side => 'NA'
102549 );
102550
102551
102552 --
102553 --
102554 END IF;
102555 --
102556 -- Bug 4922099
102557 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
102558 (NVL(l_enc_upg_option, 'N') = 'O')
102559 ) AND
102560 (l_bflow_method_code = 'PRIOR_ENTRY')
102561 )
102562 THEN
102563 IF
102564 --
102565 1 = 2
102566 --
102567 THEN
102568 xla_accounting_err_pkg.build_message
102569 (p_appli_s_name => 'XLA'
102570 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
102571 ,p_token_1 => 'LINE_NUMBER'
102572 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
102573 ,p_token_2 => 'LINE_TYPE_NAME'
102574 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
102575 l_component_type
102576 ,l_component_code
102577 ,l_component_type_code
102578 ,l_component_appl_id
102579 ,l_amb_context_code
102580 ,l_entity_code
102581 ,l_event_class_code
102582 )
102583 ,p_token_3 => 'OWNER'
102584 ,p_value_3 => xla_lookups_pkg.get_meaning(
102585 p_lookup_type => 'XLA_OWNER_TYPE'
102586 ,p_lookup_code => l_component_type_code
102587 )
102588 ,p_token_4 => 'PRODUCT_NAME'
102589 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
102590 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
102591 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
102592 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
102593 ,p_ae_header_id => NULL
102594 );
102595
102596 IF (C_LEVEL_ERROR>= g_log_level) THEN
102597 trace
102598 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
102599 ,p_level => C_LEVEL_ERROR
102600 ,p_module => l_log_module);
102601 END IF;
102602 END IF;
102603 END IF;
102604 --
102605 --
102606 ------------------------------------------------------------------------------------------------
102607 -- 4219869 Business Flow
102608 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
102609 -- Prior Entry. Currently, the following code is always generated.
102610 ------------------------------------------------------------------------------------------------
102611 XLA_AE_LINES_PKG.ValidateCurrentLine;
102612
102613 ------------------------------------------------------------------------------------
102614 -- 4219869 Business Flow
102618
102615 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
102616 ------------------------------------------------------------------------------------
102617 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
102619 ----------------------------------------------------------------------------------
102620 -- 4219869 Business Flow
102621 -- Update journal entry status -- Need to generate this within IF <condition>
102622 ----------------------------------------------------------------------------------
102623 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
102624 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
102625 ,p_balance_type_code => l_balance_type_code
102626 );
102627
102628 -------------------------------------------------------------------------------------------
102629 -- 4262811 - Generate the Accrual Reversal lines
102630 -------------------------------------------------------------------------------------------
102631 BEGIN
102632 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
102633 (g_array_event(p_event_id).array_value_num('header_index'));
102634 IF l_acc_rev_flag IS NULL THEN
102635 l_acc_rev_flag := 'N';
102636 END IF;
102637 EXCEPTION
102638 WHEN OTHERS THEN
102639 l_acc_rev_flag := 'N';
102640 END;
102641 --
102642 IF (l_acc_rev_flag = 'Y') THEN
102643
102644 -- 4645092 ------------------------------------------------------------------------------
102645 -- To allow MPA report to determine if it should generate report process
102646 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
102647 ------------------------------------------------------------------------------------------
102648
102649 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
102650 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
102651 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
102652 -- call ADRs
102653 -- Bug 4922099
102654 --
102655 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
102656 (NVL(l_actual_upg_option, 'N') = 'O') OR
102657 (NVL(l_enc_upg_option, 'N') = 'O')
102658 )
102659 THEN
102660 NULL;
102661 --
102662 --
102663
102664 l_ccid := AcctDerRule_35(
102665 p_application_id => p_application_id
102666 , p_ae_header_id => l_ae_header_id
102667 , p_source_25 => p_source_25
102668 , x_transaction_coa_id => l_adr_transaction_coa_id
102669 , x_accounting_coa_id => l_adr_accounting_coa_id
102670 , x_value_type_code => l_adr_value_type_code
102671 , p_side => 'NA'
102672 );
102673
102674 xla_ae_lines_pkg.set_ccid(
102675 p_code_combination_id => l_ccid
102676 , p_value_type_code => l_adr_value_type_code
102677 , p_transaction_coa_id => l_adr_transaction_coa_id
102678 , p_accounting_coa_id => l_adr_accounting_coa_id
102679 , p_adr_code => 'AP_INVOICE_DIST'
102680 , p_adr_type_code => 'S'
102681 , p_component_type => l_component_type
102682 , p_component_code => l_component_code
102683 , p_component_type_code => l_component_type_code
102684 , p_component_appl_id => l_component_appl_id
102685 , p_amb_context_code => l_amb_context_code
102686 , p_side => 'NA'
102687 );
102688
102689
102690 --
102691 --
102692 END IF;
102693
102694 --
102695 -- Update the line information that should be overwritten
102696 --
102697 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
102698 p_header_num => 1);
102699 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
102700
102701 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
102702
102703 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
102704 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
102705 END IF;
102706
102707 --
102708 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
102709 --
102710 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
102711 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
102712 ELSE
102713 ---------------------------------------------------------------------------------------------------
102714 -- 4262811a Switch Sign
102715 ---------------------------------------------------------------------------------------------------
102716 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
102717 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
102718 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
102719 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
102720 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
102721 -- 5132302
102722 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
102726
102723 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
102724
102725 END IF;
102727 -- 4955764
102728 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
102729 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
102730
102731
102732 XLA_AE_LINES_PKG.ValidateCurrentLine;
102733 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
102734
102735 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
102736 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
102737 ,p_balance_type_code => l_balance_type_code);
102738
102739 END IF;
102740
102741 -----------------------------------------------------------------------------------------
102742 -- 4262811 Multiperiod Accounting
102743 -----------------------------------------------------------------------------------------
102744 -- No MPA option is assigned.
102745
102746
102747 END IF;
102748 END IF;
102749 --
102750
102751 --
102752 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
102753 trace
102754 (p_msg => 'END of AcctLineType_182'
102755 ,p_level => C_LEVEL_PROCEDURE
102756 ,p_module => l_log_module);
102757 END IF;
102758 --
102759 EXCEPTION
102760 WHEN xla_exceptions_pkg.application_exception THEN
102761 RAISE;
102762 WHEN OTHERS THEN
102763 xla_exceptions_pkg.raise_message
102764 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_182');
102765 END AcctLineType_182;
102766 --
102767
102768 ---------------------------------------
102769 --
102770 -- PRIVATE FUNCTION
102771 -- AcctLineType_183
102772 --
102773 ---------------------------------------
102774 PROCEDURE AcctLineType_183 (
102775 p_application_id IN NUMBER
102776 ,p_event_id IN NUMBER
102777 ,p_calculate_acctd_flag IN VARCHAR2
102778 ,p_calculate_g_l_flag IN VARCHAR2
102779 ,p_actual_flag IN OUT VARCHAR2
102780 ,p_balance_type_code OUT VARCHAR2
102781 ,p_gain_or_loss_ref OUT VARCHAR2
102782
102783 --Invoice Distribution Description
102784 , p_source_1 IN VARCHAR2
102785 --Invoice Distribution Ledger Amount
102786 , p_source_16 IN NUMBER
102787 --Invoice Distribution Account
102788 , p_source_25 IN NUMBER
102789 --Invoice Distribution Type
102790 , p_source_28 IN VARCHAR2
102791 , p_source_28_meaning IN VARCHAR2
102792 --Accounting Reversal Indicator
102793 , p_source_58 IN VARCHAR2
102794 --Distribution Link Type
102795 , p_source_60 IN VARCHAR2
102796 --Allocation to Main Distribution Identifier
102797 , p_source_62 IN NUMBER
102798 --Invoice Identifier
102799 , p_source_63 IN NUMBER
102800 --Invoice Distribution Identifier
102801 , p_source_69 IN NUMBER
102802 --Payables Encumbrance Upgrade Credit Account
102803 , p_source_70 IN NUMBER
102804 --Payables Encumbrance Upgrade Credit Amount
102805 , p_source_71 IN NUMBER
102806 --Invoice Currency Code
102807 , p_source_72 IN VARCHAR2
102808 --Payables Encumbrance Upgrade Credit Base Amount
102809 , p_source_73 IN NUMBER
102810 --Payables Encumbrance Upgrade Debit Account
102811 , p_source_74 IN NUMBER
102812 --Payables Encumbrance Upgrade Debit Amount
102813 , p_source_75 IN NUMBER
102814 --Payables Encumbrance Upgrade Debit Base Amount
102815 , p_source_76 IN NUMBER
102816 --Payables Encumbrance Upgrade Option
102817 , p_source_77 IN VARCHAR2
102818 --Invoice Distribution Amount
102819 , p_source_78 IN NUMBER
102820 --Deferred Accounting End Date
102821 , p_source_82 IN DATE
102822 --Deferred Accounting Option
102823 , p_source_83 IN VARCHAR2
102824 --Deferred Accounting Start Date
102825 , p_source_84 IN DATE
102826 --Override Accounted Amount Indicator
102827 , p_source_85 IN VARCHAR2
102828 , p_source_85_meaning IN VARCHAR2
102829 --Invoice Supplier Identifier
102830 , p_source_86 IN NUMBER
102831 --Invoice Supplier Site Identifier
102832 , p_source_87 IN NUMBER
102833 --Third Party Type
102834 , p_source_88 IN VARCHAR2
102835 --Parent Reversal Identifier
102836 , p_source_89 IN NUMBER
102837 --Invoice Distribution Statistical Amount
102838 , p_source_90 IN NUMBER
102839 --Invoice Distribution Tax Line Identifier
102840 , p_source_91 IN NUMBER
102841 --Invoice Distribution Tax Distribution Identifier from Tax
102842 , p_source_92 IN NUMBER
102843 --Invoice Distribution Summary Tax Line Identifier
102844 , p_source_93 IN NUMBER
102845 --Payables Upgrade Credit Encumbrance Type Identifier
102846 , p_source_94 IN NUMBER
102847 --Payables Upgrade Debit Encumbrance Type Identifier
102848 , p_source_95 IN NUMBER
102849 --Business Flow Accounts Payable Application Identifier
102850 , p_source_96 IN NUMBER
102851 --Business Flow Invoice Distribution Type
102852 , p_source_97 IN VARCHAR2
102853 --Business Flow Invoice Entity Code
102854 , p_source_98 IN VARCHAR2
102855 --Business Flow Invoice Distribution Identifier
102856 , p_source_99 IN NUMBER
102857 --Business Flow Invoice Identifier
102858 , p_source_100 IN NUMBER
102859 --Invoice Exchange Date
102860 , p_source_146 IN DATE
102864 , p_source_148 IN VARCHAR2
102861 --Invoice Exchange Rate
102862 , p_source_147 IN NUMBER
102863 --Invoice Exchange Rate Type
102865 )
102866 IS
102867
102868 l_component_type VARCHAR2(80);
102869 l_component_code VARCHAR2(30);
102870 l_component_type_code VARCHAR2(1);
102871 l_component_appl_id INTEGER;
102872 l_amb_context_code VARCHAR2(30);
102873 l_entity_code VARCHAR2(30);
102874 l_event_class_code VARCHAR2(30);
102875 l_ae_header_id NUMBER;
102876 l_event_type_code VARCHAR2(30);
102877 l_line_definition_code VARCHAR2(30);
102878 l_line_definition_owner_code VARCHAR2(1);
102879 --
102880 -- adr variables
102881 l_segment VARCHAR2(30);
102882 l_ccid NUMBER;
102883 l_adr_transaction_coa_id NUMBER;
102884 l_adr_accounting_coa_id NUMBER;
102885 l_adr_flexfield_segment_code VARCHAR2(30);
102886 l_adr_flex_value_set_id NUMBER;
102887 l_adr_value_type_code VARCHAR2(30);
102888 l_adr_value_combination_id NUMBER;
102889 l_adr_value_segment_code VARCHAR2(30);
102890
102891 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
102892 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
102893 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
102894 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
102895
102896 -- 4262811 Variables ------------------------------------------------------------------------------------------
102897 l_entered_amt_idx NUMBER;
102898 l_accted_amt_idx NUMBER;
102899 l_acc_rev_flag VARCHAR2(1);
102900 l_accrual_line_num NUMBER;
102901 l_tmp_amt NUMBER;
102902 l_acc_rev_natural_side_code VARCHAR2(1);
102903
102904 l_num_entries NUMBER;
102905 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
102906 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
102907 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
102908 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
102909 l_recog_line_1 NUMBER;
102910 l_recog_line_2 NUMBER;
102911
102912 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
102913 l_bflow_applied_to_amt NUMBER; -- 5132302
102914 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
102915
102916 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
102917
102918 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
102919 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
102920
102921 ---------------------------------------------------------------------------------------------------------------
102922
102923
102924 --
102925 -- bulk performance
102926 --
102927 l_balance_type_code VARCHAR2(1);
102928 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
102929 l_log_module VARCHAR2(240);
102930
102931 --
102932 -- Upgrade strategy
102933 --
102934 l_actual_upg_option VARCHAR2(1);
102935 l_enc_upg_option VARCHAR2(1);
102936
102937 --
102938 BEGIN
102939 --
102940 IF g_log_enabled THEN
102941 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_183';
102942 END IF;
102943 --
102944 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
102945
102946 trace
102947 (p_msg => 'BEGIN of AcctLineType_183'
102948 ,p_level => C_LEVEL_PROCEDURE
102949 ,p_module => l_log_module);
102950
102951 END IF;
102952 --
102953 l_component_type := 'AMB_JLT';
102954 l_component_code := 'AP_MISC_EXPENSE_PREPAY';
102955 l_component_type_code := 'S';
102956 l_component_appl_id := 200;
102957 l_amb_context_code := 'DEFAULT';
102958 l_entity_code := 'AP_INVOICES';
102959 l_event_class_code := 'PREPAYMENTS';
102960 l_event_type_code := 'PREPAYMENTS_ALL';
102961 l_line_definition_owner_code := 'S';
102962 l_line_definition_code := 'ACCRUAL_PREPAYMENTS_ALL';
102963 --
102964 l_balance_type_code := 'A';
102965 l_segment := NULL;
102966 l_ccid := NULL;
102967 l_adr_transaction_coa_id := NULL;
102968 l_adr_accounting_coa_id := NULL;
102969 l_adr_flexfield_segment_code := NULL;
102970 l_adr_flex_value_set_id := NULL;
102971 l_adr_value_type_code := NULL;
102972 l_adr_value_combination_id := NULL;
102973 l_adr_value_segment_code := NULL;
102974
102975 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
102976 l_bflow_class_code := ''; -- 4219869 Business Flow
102977 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
102978 l_budgetary_control_flag := 'N';
102979
102980 l_bflow_applied_to_amt_idx := NULL; -- 5132302
102981 l_bflow_applied_to_amt := NULL; -- 5132302
102982 l_entered_amt_idx := NULL; -- 4262811
102983 l_accted_amt_idx := NULL; -- 4262811
102984 l_acc_rev_flag := NULL; -- 4262811
102985 l_accrual_line_num := NULL; -- 4262811
102986 l_tmp_amt := NULL; -- 4262811
102987 --
102988
102992 ') = 'MISCELLANEOUS'
102989 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
102990 l_balance_type_code <> 'B' THEN
102991 IF NVL(p_source_28,'
102993 THEN
102994
102995 --
102996 XLA_AE_LINES_PKG.SetNewLine;
102997
102998 p_balance_type_code := l_balance_type_code;
102999 -- set the flag so later we will know whether the gain loss line needs to be created
103000
103001 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
103002 p_actual_flag :='A';
103003 END IF;
103004
103005 --
103006 -- bulk performance
103007 --
103008 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
103009 p_header_num => 0); -- 4262811
103010 --
103011 -- set accounting line options
103012 --
103013 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
103014 p_natural_side_code => 'D'
103015 , p_gain_or_loss_flag => 'N'
103016 , p_gl_transfer_mode_code => 'S'
103017 , p_acct_entry_type_code => 'A'
103018 , p_switch_side_flag => 'Y'
103019 , p_merge_duplicate_code => 'A'
103020 );
103021 --
103022 l_acc_rev_natural_side_code := 'C'; -- 4262811
103023 --
103024 --
103025 -- set accounting line type info
103026 --
103027 xla_ae_lines_pkg.SetAcctLineType
103028 (p_component_type => l_component_type
103029 ,p_event_type_code => l_event_type_code
103030 ,p_line_definition_owner_code => l_line_definition_owner_code
103031 ,p_line_definition_code => l_line_definition_code
103032 ,p_accounting_line_code => l_component_code
103033 ,p_accounting_line_type_code => l_component_type_code
103034 ,p_accounting_line_appl_id => l_component_appl_id
103035 ,p_amb_context_code => l_amb_context_code
103036 ,p_entity_code => l_entity_code
103037 ,p_event_class_code => l_event_class_code);
103038 --
103039 -- set accounting class
103040 --
103041 xla_ae_lines_pkg.SetAcctClass(
103042 p_accounting_class_code => 'MISCELLANEOUS EXPENSE'
103043 , p_ae_header_id => l_ae_header_id
103044 );
103045
103046 --
103047 -- set rounding class
103048 --
103049 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
103050 'MISCELLANEOUS EXPENSE';
103051
103052 --
103053 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
103054 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
103055 --
103056 -- bulk performance
103057 --
103058 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
103059
103060 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
103061 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
103062
103063 -- 4955764
103064 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
103065 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
103066
103067 -- 4458381 Public Sector Enh
103068
103069 --
103070 -- set accounting attributes for the line type
103071 --
103072 l_entered_amt_idx := 23;
103073 l_accted_amt_idx := 28;
103074 l_bflow_applied_to_amt_idx := NULL; -- 5132302
103075 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
103076 l_rec_acct_attrs.array_char_value(1) := p_source_58;
103077 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
103078 l_rec_acct_attrs.array_num_value(2) :=
103079 xla_ae_sources_pkg.GetSystemSourceNum(
103080 p_source_code => 'XLA_EVENT_APPL_ID'
103081 , p_source_type_code => 'Y'
103082 , p_source_application_id => 602
103083 );
103084 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
103085 l_rec_acct_attrs.array_char_value(3) := p_source_60;
103086 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
103087 l_rec_acct_attrs.array_char_value(4) :=
103088 xla_ae_sources_pkg.GetSystemSourceChar(
103089 p_source_code => 'XLA_ENTITY_CODE'
103090 , p_source_type_code => 'Y'
103091 , p_source_application_id => 602
103092 );
103093 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
103094 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_62);
103095 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
103096 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_63);
103097 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
103098 l_rec_acct_attrs.array_num_value(7) := p_source_96;
103099 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
103100 l_rec_acct_attrs.array_char_value(8) := p_source_97;
103101 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
103102 l_rec_acct_attrs.array_char_value(9) := p_source_98;
103103 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
103104 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_99);
103105 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
103109 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
103106 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_100);
103107 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
103108 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_69);
103110 l_rec_acct_attrs.array_char_value(13) := p_source_60;
103111 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
103112 l_rec_acct_attrs.array_num_value(14) := p_source_70;
103113 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
103114 l_rec_acct_attrs.array_num_value(15) := p_source_71;
103115 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
103116 l_rec_acct_attrs.array_char_value(16) := p_source_72;
103117 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
103118 l_rec_acct_attrs.array_num_value(17) := p_source_73;
103119 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
103120 l_rec_acct_attrs.array_num_value(18) := p_source_74;
103121 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
103122 l_rec_acct_attrs.array_num_value(19) := p_source_75;
103123 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
103124 l_rec_acct_attrs.array_char_value(20) := p_source_72;
103125 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
103126 l_rec_acct_attrs.array_num_value(21) := p_source_76;
103127 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
103128 l_rec_acct_attrs.array_char_value(22) := p_source_77;
103129 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
103130 l_rec_acct_attrs.array_num_value(23) := p_source_78;
103131 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
103132 l_rec_acct_attrs.array_char_value(24) := p_source_72;
103133 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
103134 l_rec_acct_attrs.array_date_value(25) := p_source_146;
103135 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
103136 l_rec_acct_attrs.array_num_value(26) := p_source_147;
103137 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
103138 l_rec_acct_attrs.array_char_value(27) := p_source_148;
103139 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
103140 l_rec_acct_attrs.array_num_value(28) := p_source_16;
103141 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
103142 l_rec_acct_attrs.array_date_value(29) := p_source_82;
103143 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
103144 l_rec_acct_attrs.array_char_value(30) := p_source_83;
103145 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
103146 l_rec_acct_attrs.array_date_value(31) := p_source_84;
103147 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
103148 l_rec_acct_attrs.array_char_value(32) := p_source_85;
103149 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
103150 l_rec_acct_attrs.array_num_value(33) := p_source_86;
103151 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
103152 l_rec_acct_attrs.array_num_value(34) := p_source_87;
103153 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
103154 l_rec_acct_attrs.array_char_value(35) := p_source_88;
103155 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
103156 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_89);
103157 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
103158 l_rec_acct_attrs.array_char_value(37) := p_source_60;
103159 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
103160 l_rec_acct_attrs.array_num_value(38) := p_source_90;
103161 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
103162 l_rec_acct_attrs.array_num_value(39) := p_source_91;
103163 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
103164 l_rec_acct_attrs.array_num_value(40) := p_source_92;
103165 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
103166 l_rec_acct_attrs.array_num_value(41) := p_source_93;
103167 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
103168 l_rec_acct_attrs.array_num_value(42) := p_source_94;
103169 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
103170 l_rec_acct_attrs.array_num_value(43) := p_source_95;
103171
103172 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
103173 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
103174
103175 ---------------------------------------------------------------------------------------------------------------
103176 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
103177 ---------------------------------------------------------------------------------------------------------------
103178 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
103179
103180 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
103181 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
103182
103183 IF xla_accounting_cache_pkg.GetValueChar
103184 (p_source_code => 'LEDGER_CATEGORY_CODE'
103185 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
103186 AND l_bflow_method_code = 'PRIOR_ENTRY'
103187 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
103188 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
103192 xla_ae_lines_pkg.BflowUpgEntry
103189 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
103190 )
103191 THEN
103193 (p_business_method_code => l_bflow_method_code
103194 ,p_business_class_code => l_bflow_class_code
103195 ,p_balance_type => l_balance_type_code);
103196 ELSE
103197 NULL;
103198 -- No business flow processing for business flow method of NONE.
103199 END IF;
103200
103201 --
103202 -- call analytical criteria
103203 --
103204
103205 --
103206 -- call description
103207 --
103208
103209 xla_ae_lines_pkg.SetLineDescription(
103210 p_ae_header_id => l_ae_header_id
103211 ,p_description => Description_2 (
103212 p_application_id => p_application_id
103213 , p_ae_header_id => l_ae_header_id
103214 , p_source_1 => p_source_1
103215 )
103216 );
103217
103218
103219 --
103220 -- call ADRs
103221 -- Bug 4922099
103222 --
103223 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
103224 (NVL(l_actual_upg_option, 'N') = 'O') OR
103225 (NVL(l_enc_upg_option, 'N') = 'O')
103226 )
103227 THEN
103228 NULL;
103229 --
103230 --
103231
103232 l_ccid := AcctDerRule_35(
103233 p_application_id => p_application_id
103234 , p_ae_header_id => l_ae_header_id
103235 , p_source_25 => p_source_25
103236 , x_transaction_coa_id => l_adr_transaction_coa_id
103237 , x_accounting_coa_id => l_adr_accounting_coa_id
103238 , x_value_type_code => l_adr_value_type_code
103239 , p_side => 'NA'
103240 );
103241
103242 xla_ae_lines_pkg.set_ccid(
103243 p_code_combination_id => l_ccid
103244 , p_value_type_code => l_adr_value_type_code
103245 , p_transaction_coa_id => l_adr_transaction_coa_id
103246 , p_accounting_coa_id => l_adr_accounting_coa_id
103247 , p_adr_code => 'AP_INVOICE_DIST'
103248 , p_adr_type_code => 'S'
103249 , p_component_type => l_component_type
103250 , p_component_code => l_component_code
103251 , p_component_type_code => l_component_type_code
103252 , p_component_appl_id => l_component_appl_id
103253 , p_amb_context_code => l_amb_context_code
103254 , p_side => 'NA'
103255 );
103256
103257
103258 --
103259 --
103260 END IF;
103261 --
103262 -- Bug 4922099
103263 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
103264 (NVL(l_enc_upg_option, 'N') = 'O')
103265 ) AND
103266 (l_bflow_method_code = 'PRIOR_ENTRY')
103267 )
103268 THEN
103269 IF
103270 --
103271 1 = 2
103272 --
103273 THEN
103274 xla_accounting_err_pkg.build_message
103275 (p_appli_s_name => 'XLA'
103276 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
103277 ,p_token_1 => 'LINE_NUMBER'
103278 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
103279 ,p_token_2 => 'LINE_TYPE_NAME'
103280 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
103281 l_component_type
103282 ,l_component_code
103283 ,l_component_type_code
103284 ,l_component_appl_id
103285 ,l_amb_context_code
103286 ,l_entity_code
103287 ,l_event_class_code
103288 )
103289 ,p_token_3 => 'OWNER'
103290 ,p_value_3 => xla_lookups_pkg.get_meaning(
103291 p_lookup_type => 'XLA_OWNER_TYPE'
103292 ,p_lookup_code => l_component_type_code
103293 )
103294 ,p_token_4 => 'PRODUCT_NAME'
103295 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
103296 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
103297 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
103298 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
103299 ,p_ae_header_id => NULL
103300 );
103301
103302 IF (C_LEVEL_ERROR>= g_log_level) THEN
103303 trace
103304 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
103305 ,p_level => C_LEVEL_ERROR
103309 END IF;
103306 ,p_module => l_log_module);
103307 END IF;
103308 END IF;
103310 --
103311 --
103312 ------------------------------------------------------------------------------------------------
103313 -- 4219869 Business Flow
103314 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
103315 -- Prior Entry. Currently, the following code is always generated.
103316 ------------------------------------------------------------------------------------------------
103317 XLA_AE_LINES_PKG.ValidateCurrentLine;
103318
103319 ------------------------------------------------------------------------------------
103320 -- 4219869 Business Flow
103321 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
103322 ------------------------------------------------------------------------------------
103323 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
103324
103325 ----------------------------------------------------------------------------------
103326 -- 4219869 Business Flow
103327 -- Update journal entry status -- Need to generate this within IF <condition>
103328 ----------------------------------------------------------------------------------
103329 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
103330 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
103331 ,p_balance_type_code => l_balance_type_code
103332 );
103333
103334 -------------------------------------------------------------------------------------------
103335 -- 4262811 - Generate the Accrual Reversal lines
103336 -------------------------------------------------------------------------------------------
103337 BEGIN
103338 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
103339 (g_array_event(p_event_id).array_value_num('header_index'));
103340 IF l_acc_rev_flag IS NULL THEN
103341 l_acc_rev_flag := 'N';
103342 END IF;
103343 EXCEPTION
103344 WHEN OTHERS THEN
103345 l_acc_rev_flag := 'N';
103346 END;
103347 --
103348 IF (l_acc_rev_flag = 'Y') THEN
103349
103350 -- 4645092 ------------------------------------------------------------------------------
103351 -- To allow MPA report to determine if it should generate report process
103352 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
103353 ------------------------------------------------------------------------------------------
103354
103355 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
103356 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
103357 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
103358 -- call ADRs
103359 -- Bug 4922099
103360 --
103361 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
103362 (NVL(l_actual_upg_option, 'N') = 'O') OR
103363 (NVL(l_enc_upg_option, 'N') = 'O')
103364 )
103365 THEN
103366 NULL;
103367 --
103368 --
103369
103370 l_ccid := AcctDerRule_35(
103371 p_application_id => p_application_id
103372 , p_ae_header_id => l_ae_header_id
103373 , p_source_25 => p_source_25
103374 , x_transaction_coa_id => l_adr_transaction_coa_id
103375 , x_accounting_coa_id => l_adr_accounting_coa_id
103376 , x_value_type_code => l_adr_value_type_code
103377 , p_side => 'NA'
103378 );
103379
103380 xla_ae_lines_pkg.set_ccid(
103381 p_code_combination_id => l_ccid
103382 , p_value_type_code => l_adr_value_type_code
103383 , p_transaction_coa_id => l_adr_transaction_coa_id
103384 , p_accounting_coa_id => l_adr_accounting_coa_id
103385 , p_adr_code => 'AP_INVOICE_DIST'
103386 , p_adr_type_code => 'S'
103387 , p_component_type => l_component_type
103388 , p_component_code => l_component_code
103389 , p_component_type_code => l_component_type_code
103390 , p_component_appl_id => l_component_appl_id
103391 , p_amb_context_code => l_amb_context_code
103392 , p_side => 'NA'
103393 );
103394
103395
103396 --
103397 --
103398 END IF;
103399
103400 --
103401 -- Update the line information that should be overwritten
103402 --
103403 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
103404 p_header_num => 1);
103405 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
103406
103407 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
103408
103409 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
103410 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
103411 END IF;
103412
103413 --
103414 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
103415 --
103416 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
103417 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
103418 ELSE
103419 ---------------------------------------------------------------------------------------------------
103423 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
103420 -- 4262811a Switch Sign
103421 ---------------------------------------------------------------------------------------------------
103422 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
103424 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
103425 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
103426 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
103427 -- 5132302
103428 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
103429 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
103430
103431 END IF;
103432
103433 -- 4955764
103434 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
103435 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
103436
103437
103438 XLA_AE_LINES_PKG.ValidateCurrentLine;
103439 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
103440
103441 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
103442 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
103443 ,p_balance_type_code => l_balance_type_code);
103444
103445 END IF;
103446
103447 -----------------------------------------------------------------------------------------
103448 -- 4262811 Multiperiod Accounting
103449 -----------------------------------------------------------------------------------------
103450 -- No MPA option is assigned.
103451
103452
103453 END IF;
103454 END IF;
103455 --
103456
103457 --
103458 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
103459 trace
103460 (p_msg => 'END of AcctLineType_183'
103461 ,p_level => C_LEVEL_PROCEDURE
103462 ,p_module => l_log_module);
103463 END IF;
103464 --
103465 EXCEPTION
103466 WHEN xla_exceptions_pkg.application_exception THEN
103467 RAISE;
103468 WHEN OTHERS THEN
103469 xla_exceptions_pkg.raise_message
103470 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_183');
103471 END AcctLineType_183;
103472 --
103473
103474 ---------------------------------------
103475 --
103476 -- PRIVATE FUNCTION
103477 -- AcctLineType_184
103478 --
103479 ---------------------------------------
103480 PROCEDURE AcctLineType_184 (
103481 p_application_id IN NUMBER
103482 ,p_event_id IN NUMBER
103483 ,p_calculate_acctd_flag IN VARCHAR2
103484 ,p_calculate_g_l_flag IN VARCHAR2
103485 ,p_actual_flag IN OUT VARCHAR2
103486 ,p_balance_type_code OUT VARCHAR2
103487 ,p_gain_or_loss_ref OUT VARCHAR2
103488
103489 --Invoice Distribution Description
103490 , p_source_1 IN VARCHAR2
103491 --Invoice Distribution Ledger Amount
103492 , p_source_16 IN NUMBER
103493 --Invoice Distribution Account
103494 , p_source_25 IN NUMBER
103495 --Invoice Distribution Type
103496 , p_source_28 IN VARCHAR2
103497 , p_source_28_meaning IN VARCHAR2
103498 --Accrue on Receipt Option
103499 , p_source_54 IN VARCHAR2
103500 , p_source_54_meaning IN VARCHAR2
103501 --Accounting Reversal Indicator
103502 , p_source_58 IN VARCHAR2
103503 --Distribution Link Type
103504 , p_source_60 IN VARCHAR2
103505 --Allocation to Main Distribution Identifier
103506 , p_source_62 IN NUMBER
103507 --Invoice Identifier
103508 , p_source_63 IN NUMBER
103509 --Invoice Distribution Identifier
103510 , p_source_69 IN NUMBER
103511 --Payables Encumbrance Upgrade Credit Account
103512 , p_source_70 IN NUMBER
103513 --Payables Encumbrance Upgrade Credit Amount
103514 , p_source_71 IN NUMBER
103515 --Invoice Currency Code
103516 , p_source_72 IN VARCHAR2
103517 --Payables Encumbrance Upgrade Credit Base Amount
103518 , p_source_73 IN NUMBER
103519 --Payables Encumbrance Upgrade Debit Account
103520 , p_source_74 IN NUMBER
103521 --Payables Encumbrance Upgrade Debit Amount
103522 , p_source_75 IN NUMBER
103523 --Payables Encumbrance Upgrade Debit Base Amount
103524 , p_source_76 IN NUMBER
103525 --Payables Encumbrance Upgrade Option
103526 , p_source_77 IN VARCHAR2
103527 --Invoice Distribution Amount
103528 , p_source_78 IN NUMBER
103529 --Purchase Order Exchange Rate Date
103530 , p_source_79 IN DATE
103531 --Purchase Order Exchange Rate
103532 , p_source_80 IN NUMBER
103533 --Purchase Order Exchange Rate Type
103534 , p_source_81 IN VARCHAR2
103535 --Deferred Accounting End Date
103536 , p_source_82 IN DATE
103537 --Deferred Accounting Option
103538 , p_source_83 IN VARCHAR2
103539 --Deferred Accounting Start Date
103540 , p_source_84 IN DATE
103541 --Override Accounted Amount Indicator
103542 , p_source_85 IN VARCHAR2
103543 , p_source_85_meaning IN VARCHAR2
103544 --Invoice Supplier Identifier
103545 , p_source_86 IN NUMBER
103546 --Invoice Supplier Site Identifier
103550 --Parent Reversal Identifier
103547 , p_source_87 IN NUMBER
103548 --Third Party Type
103549 , p_source_88 IN VARCHAR2
103551 , p_source_89 IN NUMBER
103552 --Invoice Distribution Statistical Amount
103553 , p_source_90 IN NUMBER
103554 --Invoice Distribution Tax Line Identifier
103555 , p_source_91 IN NUMBER
103556 --Invoice Distribution Tax Distribution Identifier from Tax
103557 , p_source_92 IN NUMBER
103558 --Invoice Distribution Summary Tax Line Identifier
103559 , p_source_93 IN NUMBER
103560 --Payables Upgrade Credit Encumbrance Type Identifier
103561 , p_source_94 IN NUMBER
103562 --Payables Upgrade Debit Encumbrance Type Identifier
103563 , p_source_95 IN NUMBER
103564 --Business Flow Accounts Payable Application Identifier
103565 , p_source_96 IN NUMBER
103566 --Business Flow Invoice Distribution Type
103567 , p_source_97 IN VARCHAR2
103568 --Business Flow Invoice Entity Code
103569 , p_source_98 IN VARCHAR2
103570 --Business Flow Invoice Distribution Identifier
103571 , p_source_99 IN NUMBER
103572 --Business Flow Invoice Identifier
103573 , p_source_100 IN NUMBER
103574 --Self-Assessed Tax Flag
103575 , p_source_145 IN VARCHAR2
103576 , p_source_145_meaning IN VARCHAR2
103577 )
103578 IS
103579
103580 l_component_type VARCHAR2(80);
103581 l_component_code VARCHAR2(30);
103582 l_component_type_code VARCHAR2(1);
103583 l_component_appl_id INTEGER;
103584 l_amb_context_code VARCHAR2(30);
103585 l_entity_code VARCHAR2(30);
103586 l_event_class_code VARCHAR2(30);
103587 l_ae_header_id NUMBER;
103588 l_event_type_code VARCHAR2(30);
103589 l_line_definition_code VARCHAR2(30);
103590 l_line_definition_owner_code VARCHAR2(1);
103591 --
103592 -- adr variables
103593 l_segment VARCHAR2(30);
103594 l_ccid NUMBER;
103595 l_adr_transaction_coa_id NUMBER;
103596 l_adr_accounting_coa_id NUMBER;
103597 l_adr_flexfield_segment_code VARCHAR2(30);
103598 l_adr_flex_value_set_id NUMBER;
103599 l_adr_value_type_code VARCHAR2(30);
103600 l_adr_value_combination_id NUMBER;
103601 l_adr_value_segment_code VARCHAR2(30);
103602
103603 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
103604 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
103605 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
103606 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
103607
103608 -- 4262811 Variables ------------------------------------------------------------------------------------------
103609 l_entered_amt_idx NUMBER;
103610 l_accted_amt_idx NUMBER;
103611 l_acc_rev_flag VARCHAR2(1);
103612 l_accrual_line_num NUMBER;
103613 l_tmp_amt NUMBER;
103614 l_acc_rev_natural_side_code VARCHAR2(1);
103615
103616 l_num_entries NUMBER;
103617 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
103618 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
103619 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
103620 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
103621 l_recog_line_1 NUMBER;
103622 l_recog_line_2 NUMBER;
103623
103624 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
103625 l_bflow_applied_to_amt NUMBER; -- 5132302
103626 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
103627
103628 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
103629
103630 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
103631 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
103632
103633 ---------------------------------------------------------------------------------------------------------------
103634
103635
103636 --
103637 -- bulk performance
103638 --
103639 l_balance_type_code VARCHAR2(1);
103640 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
103641 l_log_module VARCHAR2(240);
103642
103643 --
103644 -- Upgrade strategy
103645 --
103646 l_actual_upg_option VARCHAR2(1);
103647 l_enc_upg_option VARCHAR2(1);
103648
103649 --
103650 BEGIN
103651 --
103652 IF g_log_enabled THEN
103653 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_184';
103654 END IF;
103655 --
103656 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
103657
103658 trace
103659 (p_msg => 'BEGIN of AcctLineType_184'
103660 ,p_level => C_LEVEL_PROCEDURE
103661 ,p_module => l_log_module);
103662
103663 END IF;
103664 --
103665 l_component_type := 'AMB_JLT';
103666 l_component_code := 'AP_NON_RECOV_TAX_ACCRUAL_CM';
103667 l_component_type_code := 'S';
103668 l_component_appl_id := 200;
103669 l_amb_context_code := 'DEFAULT';
103670 l_entity_code := 'AP_INVOICES';
103671 l_event_class_code := 'CREDIT MEMOS';
103672 l_event_type_code := 'CREDIT MEMOS_ALL';
103673 l_line_definition_owner_code := 'S';
103677 l_segment := NULL;
103674 l_line_definition_code := 'ACCRUAL_CREDIT MEMOS_ALL';
103675 --
103676 l_balance_type_code := 'A';
103678 l_ccid := NULL;
103679 l_adr_transaction_coa_id := NULL;
103680 l_adr_accounting_coa_id := NULL;
103681 l_adr_flexfield_segment_code := NULL;
103682 l_adr_flex_value_set_id := NULL;
103683 l_adr_value_type_code := NULL;
103684 l_adr_value_combination_id := NULL;
103685 l_adr_value_segment_code := NULL;
103686
103687 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
103688 l_bflow_class_code := ''; -- 4219869 Business Flow
103689 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
103690 l_budgetary_control_flag := 'N';
103691
103692 l_bflow_applied_to_amt_idx := NULL; -- 5132302
103693 l_bflow_applied_to_amt := NULL; -- 5132302
103694 l_entered_amt_idx := NULL; -- 4262811
103695 l_accted_amt_idx := NULL; -- 4262811
103696 l_acc_rev_flag := NULL; -- 4262811
103697 l_accrual_line_num := NULL; -- 4262811
103698 l_tmp_amt := NULL; -- 4262811
103699 --
103700
103701 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
103702 l_balance_type_code <> 'B' THEN
103703 IF NVL(p_source_28,'
103704 ') = 'NONREC_TAX' AND
103705 NVL(p_source_54,'
103706 ') = 'Y' AND
103707 NVL(p_source_145,'
103708 ') <> 'Y'
103709 THEN
103710
103711 --
103712 XLA_AE_LINES_PKG.SetNewLine;
103713
103714 p_balance_type_code := l_balance_type_code;
103715 -- set the flag so later we will know whether the gain loss line needs to be created
103716
103717 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
103718 p_actual_flag :='A';
103719 END IF;
103720
103721 --
103722 -- bulk performance
103723 --
103724 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
103725 p_header_num => 0); -- 4262811
103726 --
103727 -- set accounting line options
103728 --
103729 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
103730 p_natural_side_code => 'D'
103731 , p_gain_or_loss_flag => 'N'
103732 , p_gl_transfer_mode_code => 'S'
103733 , p_acct_entry_type_code => 'A'
103734 , p_switch_side_flag => 'Y'
103735 , p_merge_duplicate_code => 'A'
103736 );
103737 --
103738 l_acc_rev_natural_side_code := 'C'; -- 4262811
103739 --
103740 --
103741 -- set accounting line type info
103742 --
103743 xla_ae_lines_pkg.SetAcctLineType
103744 (p_component_type => l_component_type
103745 ,p_event_type_code => l_event_type_code
103746 ,p_line_definition_owner_code => l_line_definition_owner_code
103747 ,p_line_definition_code => l_line_definition_code
103748 ,p_accounting_line_code => l_component_code
103749 ,p_accounting_line_type_code => l_component_type_code
103750 ,p_accounting_line_appl_id => l_component_appl_id
103751 ,p_amb_context_code => l_amb_context_code
103752 ,p_entity_code => l_entity_code
103753 ,p_event_class_code => l_event_class_code);
103754 --
103755 -- set accounting class
103756 --
103757 xla_ae_lines_pkg.SetAcctClass(
103758 p_accounting_class_code => 'NRTAX'
103759 , p_ae_header_id => l_ae_header_id
103760 );
103761
103762 --
103763 -- set rounding class
103764 --
103765 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
103766 'NRTAX';
103767
103768 --
103769 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
103770 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
103771 --
103772 -- bulk performance
103773 --
103774 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
103775
103776 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
103777 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
103778
103779 -- 4955764
103780 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
103781 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
103782
103783 -- 4458381 Public Sector Enh
103784
103785 --
103786 -- set accounting attributes for the line type
103787 --
103788 l_entered_amt_idx := 23;
103789 l_accted_amt_idx := 28;
103790 l_bflow_applied_to_amt_idx := NULL; -- 5132302
103791 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
103792 l_rec_acct_attrs.array_char_value(1) := p_source_58;
103793 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
103794 l_rec_acct_attrs.array_num_value(2) :=
103795 xla_ae_sources_pkg.GetSystemSourceNum(
103796 p_source_code => 'XLA_EVENT_APPL_ID'
103797 , p_source_type_code => 'Y'
103798 , p_source_application_id => 602
103799 );
103800 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
103801 l_rec_acct_attrs.array_char_value(3) := p_source_60;
103805 p_source_code => 'XLA_ENTITY_CODE'
103802 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
103803 l_rec_acct_attrs.array_char_value(4) :=
103804 xla_ae_sources_pkg.GetSystemSourceChar(
103806 , p_source_type_code => 'Y'
103807 , p_source_application_id => 602
103808 );
103809 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
103810 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_62);
103811 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
103812 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_63);
103813 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
103814 l_rec_acct_attrs.array_num_value(7) := p_source_96;
103815 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
103816 l_rec_acct_attrs.array_char_value(8) := p_source_97;
103817 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
103818 l_rec_acct_attrs.array_char_value(9) := p_source_98;
103819 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
103820 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_99);
103821 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
103822 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_100);
103823 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
103824 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_69);
103825 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
103826 l_rec_acct_attrs.array_char_value(13) := p_source_60;
103827 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
103828 l_rec_acct_attrs.array_num_value(14) := p_source_70;
103829 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
103830 l_rec_acct_attrs.array_num_value(15) := p_source_71;
103831 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
103832 l_rec_acct_attrs.array_char_value(16) := p_source_72;
103833 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
103834 l_rec_acct_attrs.array_num_value(17) := p_source_73;
103835 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
103836 l_rec_acct_attrs.array_num_value(18) := p_source_74;
103837 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
103838 l_rec_acct_attrs.array_num_value(19) := p_source_75;
103839 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
103840 l_rec_acct_attrs.array_char_value(20) := p_source_72;
103841 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
103842 l_rec_acct_attrs.array_num_value(21) := p_source_76;
103843 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
103844 l_rec_acct_attrs.array_char_value(22) := p_source_77;
103845 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
103846 l_rec_acct_attrs.array_num_value(23) := p_source_78;
103847 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
103848 l_rec_acct_attrs.array_char_value(24) := p_source_72;
103849 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
103850 l_rec_acct_attrs.array_date_value(25) := p_source_79;
103851 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
103852 l_rec_acct_attrs.array_num_value(26) := p_source_80;
103853 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
103854 l_rec_acct_attrs.array_char_value(27) := p_source_81;
103855 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
103856 l_rec_acct_attrs.array_num_value(28) := p_source_16;
103857 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
103858 l_rec_acct_attrs.array_date_value(29) := p_source_82;
103859 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
103860 l_rec_acct_attrs.array_char_value(30) := p_source_83;
103861 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
103862 l_rec_acct_attrs.array_date_value(31) := p_source_84;
103863 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
103864 l_rec_acct_attrs.array_char_value(32) := p_source_85;
103865 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
103866 l_rec_acct_attrs.array_num_value(33) := p_source_86;
103867 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
103868 l_rec_acct_attrs.array_num_value(34) := p_source_87;
103869 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
103870 l_rec_acct_attrs.array_char_value(35) := p_source_88;
103871 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
103872 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_89);
103873 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
103874 l_rec_acct_attrs.array_char_value(37) := p_source_60;
103875 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
103876 l_rec_acct_attrs.array_num_value(38) := p_source_90;
103877 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
103878 l_rec_acct_attrs.array_num_value(39) := p_source_91;
103879 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
103880 l_rec_acct_attrs.array_num_value(40) := p_source_92;
103881 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
103882 l_rec_acct_attrs.array_num_value(41) := p_source_93;
103883 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
103884 l_rec_acct_attrs.array_num_value(42) := p_source_94;
103885 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
103886 l_rec_acct_attrs.array_num_value(43) := p_source_95;
103887
103888 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
103892 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
103889 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
103890
103891 ---------------------------------------------------------------------------------------------------------------
103893 ---------------------------------------------------------------------------------------------------------------
103894 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
103895
103896 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
103897 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
103898
103899 IF xla_accounting_cache_pkg.GetValueChar
103900 (p_source_code => 'LEDGER_CATEGORY_CODE'
103901 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
103902 AND l_bflow_method_code = 'PRIOR_ENTRY'
103903 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
103904 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
103905 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
103906 )
103907 THEN
103908 xla_ae_lines_pkg.BflowUpgEntry
103909 (p_business_method_code => l_bflow_method_code
103910 ,p_business_class_code => l_bflow_class_code
103911 ,p_balance_type => l_balance_type_code);
103912 ELSE
103913 NULL;
103914 -- No business flow processing for business flow method of NONE.
103915 END IF;
103916
103917 --
103918 -- call analytical criteria
103919 --
103920
103921 --
103922 -- call description
103923 --
103924
103925 xla_ae_lines_pkg.SetLineDescription(
103926 p_ae_header_id => l_ae_header_id
103927 ,p_description => Description_2 (
103928 p_application_id => p_application_id
103929 , p_ae_header_id => l_ae_header_id
103930 , p_source_1 => p_source_1
103931 )
103932 );
103933
103934
103935 --
103936 -- call ADRs
103937 -- Bug 4922099
103938 --
103939 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
103940 (NVL(l_actual_upg_option, 'N') = 'O') OR
103941 (NVL(l_enc_upg_option, 'N') = 'O')
103942 )
103943 THEN
103944 NULL;
103945 --
103946 --
103947
103948 l_ccid := AcctDerRule_35(
103949 p_application_id => p_application_id
103950 , p_ae_header_id => l_ae_header_id
103951 , p_source_25 => p_source_25
103952 , x_transaction_coa_id => l_adr_transaction_coa_id
103953 , x_accounting_coa_id => l_adr_accounting_coa_id
103954 , x_value_type_code => l_adr_value_type_code
103955 , p_side => 'NA'
103956 );
103957
103958 xla_ae_lines_pkg.set_ccid(
103959 p_code_combination_id => l_ccid
103960 , p_value_type_code => l_adr_value_type_code
103961 , p_transaction_coa_id => l_adr_transaction_coa_id
103962 , p_accounting_coa_id => l_adr_accounting_coa_id
103963 , p_adr_code => 'AP_INVOICE_DIST'
103964 , p_adr_type_code => 'S'
103965 , p_component_type => l_component_type
103966 , p_component_code => l_component_code
103967 , p_component_type_code => l_component_type_code
103968 , p_component_appl_id => l_component_appl_id
103969 , p_amb_context_code => l_amb_context_code
103970 , p_side => 'NA'
103971 );
103972
103973
103974 --
103975 --
103976 END IF;
103977 --
103978 -- Bug 4922099
103979 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
103980 (NVL(l_enc_upg_option, 'N') = 'O')
103981 ) AND
103982 (l_bflow_method_code = 'PRIOR_ENTRY')
103983 )
103984 THEN
103985 IF
103986 --
103987 1 = 2
103988 --
103989 THEN
103990 xla_accounting_err_pkg.build_message
103991 (p_appli_s_name => 'XLA'
103992 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
103993 ,p_token_1 => 'LINE_NUMBER'
103994 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
103995 ,p_token_2 => 'LINE_TYPE_NAME'
103996 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
103997 l_component_type
103998 ,l_component_code
103999 ,l_component_type_code
104000 ,l_component_appl_id
104001 ,l_amb_context_code
104002 ,l_entity_code
104003 ,l_event_class_code
104004 )
104005 ,p_token_3 => 'OWNER'
104009 )
104006 ,p_value_3 => xla_lookups_pkg.get_meaning(
104007 p_lookup_type => 'XLA_OWNER_TYPE'
104008 ,p_lookup_code => l_component_type_code
104010 ,p_token_4 => 'PRODUCT_NAME'
104011 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
104012 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
104013 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
104014 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
104015 ,p_ae_header_id => NULL
104016 );
104017
104018 IF (C_LEVEL_ERROR>= g_log_level) THEN
104019 trace
104020 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
104021 ,p_level => C_LEVEL_ERROR
104022 ,p_module => l_log_module);
104023 END IF;
104024 END IF;
104025 END IF;
104026 --
104027 --
104028 ------------------------------------------------------------------------------------------------
104029 -- 4219869 Business Flow
104030 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
104031 -- Prior Entry. Currently, the following code is always generated.
104032 ------------------------------------------------------------------------------------------------
104033 XLA_AE_LINES_PKG.ValidateCurrentLine;
104034
104035 ------------------------------------------------------------------------------------
104036 -- 4219869 Business Flow
104037 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
104038 ------------------------------------------------------------------------------------
104039 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
104040
104041 ----------------------------------------------------------------------------------
104042 -- 4219869 Business Flow
104043 -- Update journal entry status -- Need to generate this within IF <condition>
104044 ----------------------------------------------------------------------------------
104045 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
104046 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
104047 ,p_balance_type_code => l_balance_type_code
104048 );
104049
104050 -------------------------------------------------------------------------------------------
104051 -- 4262811 - Generate the Accrual Reversal lines
104052 -------------------------------------------------------------------------------------------
104053 BEGIN
104054 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
104055 (g_array_event(p_event_id).array_value_num('header_index'));
104056 IF l_acc_rev_flag IS NULL THEN
104057 l_acc_rev_flag := 'N';
104058 END IF;
104059 EXCEPTION
104060 WHEN OTHERS THEN
104061 l_acc_rev_flag := 'N';
104062 END;
104063 --
104064 IF (l_acc_rev_flag = 'Y') THEN
104065
104066 -- 4645092 ------------------------------------------------------------------------------
104067 -- To allow MPA report to determine if it should generate report process
104068 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
104069 ------------------------------------------------------------------------------------------
104070
104071 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
104072 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
104073 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
104074 -- call ADRs
104075 -- Bug 4922099
104076 --
104077 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
104078 (NVL(l_actual_upg_option, 'N') = 'O') OR
104079 (NVL(l_enc_upg_option, 'N') = 'O')
104080 )
104081 THEN
104082 NULL;
104083 --
104084 --
104085
104086 l_ccid := AcctDerRule_35(
104087 p_application_id => p_application_id
104088 , p_ae_header_id => l_ae_header_id
104089 , p_source_25 => p_source_25
104090 , x_transaction_coa_id => l_adr_transaction_coa_id
104091 , x_accounting_coa_id => l_adr_accounting_coa_id
104092 , x_value_type_code => l_adr_value_type_code
104093 , p_side => 'NA'
104094 );
104095
104096 xla_ae_lines_pkg.set_ccid(
104097 p_code_combination_id => l_ccid
104098 , p_value_type_code => l_adr_value_type_code
104099 , p_transaction_coa_id => l_adr_transaction_coa_id
104100 , p_accounting_coa_id => l_adr_accounting_coa_id
104101 , p_adr_code => 'AP_INVOICE_DIST'
104102 , p_adr_type_code => 'S'
104103 , p_component_type => l_component_type
104104 , p_component_code => l_component_code
104105 , p_component_type_code => l_component_type_code
104106 , p_component_appl_id => l_component_appl_id
104107 , p_amb_context_code => l_amb_context_code
104111
104108 , p_side => 'NA'
104109 );
104110
104112 --
104113 --
104114 END IF;
104115
104116 --
104117 -- Update the line information that should be overwritten
104118 --
104119 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
104120 p_header_num => 1);
104121 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
104122
104123 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
104124
104125 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
104126 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
104127 END IF;
104128
104129 --
104130 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
104131 --
104132 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
104133 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
104134 ELSE
104135 ---------------------------------------------------------------------------------------------------
104136 -- 4262811a Switch Sign
104137 ---------------------------------------------------------------------------------------------------
104138 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
104139 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
104140 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
104141 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
104142 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
104143 -- 5132302
104144 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
104145 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
104146
104147 END IF;
104148
104149 -- 4955764
104150 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
104151 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
104152
104153
104154 XLA_AE_LINES_PKG.ValidateCurrentLine;
104155 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
104156
104157 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
104158 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
104159 ,p_balance_type_code => l_balance_type_code);
104160
104161 END IF;
104162
104163 -----------------------------------------------------------------------------------------
104164 -- 4262811 Multiperiod Accounting
104165 -----------------------------------------------------------------------------------------
104166 -- No MPA option is assigned.
104167
104168
104169 END IF;
104170 END IF;
104171 --
104172
104173 --
104174 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
104175 trace
104176 (p_msg => 'END of AcctLineType_184'
104177 ,p_level => C_LEVEL_PROCEDURE
104178 ,p_module => l_log_module);
104179 END IF;
104180 --
104181 EXCEPTION
104182 WHEN xla_exceptions_pkg.application_exception THEN
104183 RAISE;
104184 WHEN OTHERS THEN
104185 xla_exceptions_pkg.raise_message
104186 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_184');
104187 END AcctLineType_184;
104188 --
104189
104190 ---------------------------------------
104191 --
104192 -- PRIVATE FUNCTION
104193 -- AcctLineType_185
104194 --
104195 ---------------------------------------
104196 PROCEDURE AcctLineType_185 (
104197 p_application_id IN NUMBER
104198 ,p_event_id IN NUMBER
104199 ,p_calculate_acctd_flag IN VARCHAR2
104200 ,p_calculate_g_l_flag IN VARCHAR2
104201 ,p_actual_flag IN OUT VARCHAR2
104202 ,p_balance_type_code OUT VARCHAR2
104203 ,p_gain_or_loss_ref OUT VARCHAR2
104204
104205 --Invoice Distribution Description
104206 , p_source_1 IN VARCHAR2
104207 --Invoice Distribution Ledger Amount
104208 , p_source_16 IN NUMBER
104209 --Invoice Distribution Account
104210 , p_source_25 IN NUMBER
104211 --Invoice Distribution Type
104212 , p_source_28 IN VARCHAR2
104213 , p_source_28_meaning IN VARCHAR2
104214 --Accrue on Receipt Option
104215 , p_source_54 IN VARCHAR2
104216 , p_source_54_meaning IN VARCHAR2
104217 --Accounting Reversal Indicator
104218 , p_source_58 IN VARCHAR2
104219 --Distribution Link Type
104220 , p_source_60 IN VARCHAR2
104221 --Allocation to Main Distribution Identifier
104222 , p_source_62 IN NUMBER
104223 --Invoice Identifier
104224 , p_source_63 IN NUMBER
104225 --Invoice Distribution Identifier
104226 , p_source_69 IN NUMBER
104227 --Payables Encumbrance Upgrade Credit Account
104228 , p_source_70 IN NUMBER
104229 --Payables Encumbrance Upgrade Credit Amount
104230 , p_source_71 IN NUMBER
104231 --Invoice Currency Code
104232 , p_source_72 IN VARCHAR2
104236 , p_source_74 IN NUMBER
104233 --Payables Encumbrance Upgrade Credit Base Amount
104234 , p_source_73 IN NUMBER
104235 --Payables Encumbrance Upgrade Debit Account
104237 --Payables Encumbrance Upgrade Debit Amount
104238 , p_source_75 IN NUMBER
104239 --Payables Encumbrance Upgrade Debit Base Amount
104240 , p_source_76 IN NUMBER
104241 --Payables Encumbrance Upgrade Option
104242 , p_source_77 IN VARCHAR2
104243 --Invoice Distribution Amount
104244 , p_source_78 IN NUMBER
104245 --Purchase Order Exchange Rate Date
104246 , p_source_79 IN DATE
104247 --Purchase Order Exchange Rate
104248 , p_source_80 IN NUMBER
104249 --Purchase Order Exchange Rate Type
104250 , p_source_81 IN VARCHAR2
104251 --Deferred Accounting End Date
104252 , p_source_82 IN DATE
104253 --Deferred Accounting Option
104254 , p_source_83 IN VARCHAR2
104255 --Deferred Accounting Start Date
104256 , p_source_84 IN DATE
104257 --Override Accounted Amount Indicator
104258 , p_source_85 IN VARCHAR2
104259 , p_source_85_meaning IN VARCHAR2
104260 --Invoice Supplier Identifier
104261 , p_source_86 IN NUMBER
104262 --Invoice Supplier Site Identifier
104263 , p_source_87 IN NUMBER
104264 --Third Party Type
104265 , p_source_88 IN VARCHAR2
104266 --Parent Reversal Identifier
104267 , p_source_89 IN NUMBER
104268 --Invoice Distribution Tax Line Identifier
104269 , p_source_91 IN NUMBER
104270 --Invoice Distribution Tax Distribution Identifier from Tax
104271 , p_source_92 IN NUMBER
104272 --Invoice Distribution Summary Tax Line Identifier
104273 , p_source_93 IN NUMBER
104274 --Payables Upgrade Credit Encumbrance Type Identifier
104275 , p_source_94 IN NUMBER
104276 --Payables Upgrade Debit Encumbrance Type Identifier
104277 , p_source_95 IN NUMBER
104278 --Business Flow Accounts Payable Application Identifier
104279 , p_source_96 IN NUMBER
104280 --Business Flow Invoice Distribution Type
104281 , p_source_97 IN VARCHAR2
104282 --Business Flow Invoice Entity Code
104283 , p_source_98 IN VARCHAR2
104284 --Business Flow Invoice Distribution Identifier
104285 , p_source_99 IN NUMBER
104286 --Business Flow Invoice Identifier
104287 , p_source_100 IN NUMBER
104288 --Self-Assessed Tax Flag
104289 , p_source_145 IN VARCHAR2
104290 , p_source_145_meaning IN VARCHAR2
104291 )
104292 IS
104293
104294 l_component_type VARCHAR2(80);
104295 l_component_code VARCHAR2(30);
104296 l_component_type_code VARCHAR2(1);
104297 l_component_appl_id INTEGER;
104298 l_amb_context_code VARCHAR2(30);
104299 l_entity_code VARCHAR2(30);
104300 l_event_class_code VARCHAR2(30);
104301 l_ae_header_id NUMBER;
104302 l_event_type_code VARCHAR2(30);
104303 l_line_definition_code VARCHAR2(30);
104304 l_line_definition_owner_code VARCHAR2(1);
104305 --
104306 -- adr variables
104307 l_segment VARCHAR2(30);
104308 l_ccid NUMBER;
104309 l_adr_transaction_coa_id NUMBER;
104310 l_adr_accounting_coa_id NUMBER;
104311 l_adr_flexfield_segment_code VARCHAR2(30);
104312 l_adr_flex_value_set_id NUMBER;
104313 l_adr_value_type_code VARCHAR2(30);
104314 l_adr_value_combination_id NUMBER;
104315 l_adr_value_segment_code VARCHAR2(30);
104316
104317 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
104318 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
104319 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
104320 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
104321
104322 -- 4262811 Variables ------------------------------------------------------------------------------------------
104323 l_entered_amt_idx NUMBER;
104324 l_accted_amt_idx NUMBER;
104325 l_acc_rev_flag VARCHAR2(1);
104326 l_accrual_line_num NUMBER;
104327 l_tmp_amt NUMBER;
104328 l_acc_rev_natural_side_code VARCHAR2(1);
104329
104330 l_num_entries NUMBER;
104331 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
104332 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
104333 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
104334 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
104335 l_recog_line_1 NUMBER;
104336 l_recog_line_2 NUMBER;
104337
104338 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
104339 l_bflow_applied_to_amt NUMBER; -- 5132302
104340 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
104341
104342 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
104343
104344 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
104345 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
104346
104347 ---------------------------------------------------------------------------------------------------------------
104348
104349
104350 --
104351 -- bulk performance
104352 --
104353 l_balance_type_code VARCHAR2(1);
104354 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
104355 l_log_module VARCHAR2(240);
104359 --
104356
104357 --
104358 -- Upgrade strategy
104360 l_actual_upg_option VARCHAR2(1);
104361 l_enc_upg_option VARCHAR2(1);
104362
104363 --
104364 BEGIN
104365 --
104366 IF g_log_enabled THEN
104367 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_185';
104368 END IF;
104369 --
104370 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
104371
104372 trace
104373 (p_msg => 'BEGIN of AcctLineType_185'
104374 ,p_level => C_LEVEL_PROCEDURE
104375 ,p_module => l_log_module);
104376
104377 END IF;
104378 --
104379 l_component_type := 'AMB_JLT';
104380 l_component_code := 'AP_NON_RECOV_TAX_ACCRUAL_DM';
104381 l_component_type_code := 'S';
104382 l_component_appl_id := 200;
104383 l_amb_context_code := 'DEFAULT';
104384 l_entity_code := 'AP_INVOICES';
104385 l_event_class_code := 'DEBIT MEMOS';
104386 l_event_type_code := 'DEBIT MEMOS_ALL';
104387 l_line_definition_owner_code := 'S';
104388 l_line_definition_code := 'ACCRUAL_DEBIT MEMOS_ALL';
104389 --
104390 l_balance_type_code := 'A';
104391 l_segment := NULL;
104392 l_ccid := NULL;
104393 l_adr_transaction_coa_id := NULL;
104394 l_adr_accounting_coa_id := NULL;
104395 l_adr_flexfield_segment_code := NULL;
104396 l_adr_flex_value_set_id := NULL;
104397 l_adr_value_type_code := NULL;
104398 l_adr_value_combination_id := NULL;
104399 l_adr_value_segment_code := NULL;
104400
104401 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
104402 l_bflow_class_code := ''; -- 4219869 Business Flow
104403 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
104404 l_budgetary_control_flag := 'N';
104405
104406 l_bflow_applied_to_amt_idx := NULL; -- 5132302
104407 l_bflow_applied_to_amt := NULL; -- 5132302
104408 l_entered_amt_idx := NULL; -- 4262811
104409 l_accted_amt_idx := NULL; -- 4262811
104410 l_acc_rev_flag := NULL; -- 4262811
104411 l_accrual_line_num := NULL; -- 4262811
104412 l_tmp_amt := NULL; -- 4262811
104413 --
104414
104415 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
104416 l_balance_type_code <> 'B' THEN
104417 IF NVL(p_source_28,'
104418 ') = 'NONREC_TAX' AND
104419 NVL(p_source_54,'
104420 ') = 'Y' AND
104421 NVL(p_source_145,'
104422 ') <> 'Y'
104423 THEN
104424
104425 --
104426 XLA_AE_LINES_PKG.SetNewLine;
104427
104428 p_balance_type_code := l_balance_type_code;
104429 -- set the flag so later we will know whether the gain loss line needs to be created
104430
104431 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
104432 p_actual_flag :='A';
104433 END IF;
104434
104435 --
104436 -- bulk performance
104437 --
104438 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
104439 p_header_num => 0); -- 4262811
104440 --
104441 -- set accounting line options
104442 --
104443 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
104444 p_natural_side_code => 'D'
104445 , p_gain_or_loss_flag => 'N'
104446 , p_gl_transfer_mode_code => 'S'
104447 , p_acct_entry_type_code => 'A'
104448 , p_switch_side_flag => 'Y'
104449 , p_merge_duplicate_code => 'A'
104450 );
104451 --
104452 l_acc_rev_natural_side_code := 'C'; -- 4262811
104453 --
104454 --
104455 -- set accounting line type info
104456 --
104457 xla_ae_lines_pkg.SetAcctLineType
104458 (p_component_type => l_component_type
104459 ,p_event_type_code => l_event_type_code
104460 ,p_line_definition_owner_code => l_line_definition_owner_code
104461 ,p_line_definition_code => l_line_definition_code
104462 ,p_accounting_line_code => l_component_code
104463 ,p_accounting_line_type_code => l_component_type_code
104464 ,p_accounting_line_appl_id => l_component_appl_id
104465 ,p_amb_context_code => l_amb_context_code
104466 ,p_entity_code => l_entity_code
104467 ,p_event_class_code => l_event_class_code);
104468 --
104469 -- set accounting class
104470 --
104471 xla_ae_lines_pkg.SetAcctClass(
104472 p_accounting_class_code => 'NRTAX'
104473 , p_ae_header_id => l_ae_header_id
104474 );
104475
104476 --
104477 -- set rounding class
104478 --
104479 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
104480 'NRTAX';
104481
104482 --
104483 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
104484 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
104485 --
104486 -- bulk performance
104487 --
104488 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
104489
104490 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
104491 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
104492
104496
104493 -- 4955764
104494 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
104495 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
104497 -- 4458381 Public Sector Enh
104498
104499 --
104500 -- set accounting attributes for the line type
104501 --
104502 l_entered_amt_idx := 23;
104503 l_accted_amt_idx := 28;
104504 l_bflow_applied_to_amt_idx := NULL; -- 5132302
104505 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
104506 l_rec_acct_attrs.array_char_value(1) := p_source_58;
104507 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
104508 l_rec_acct_attrs.array_num_value(2) :=
104509 xla_ae_sources_pkg.GetSystemSourceNum(
104510 p_source_code => 'XLA_EVENT_APPL_ID'
104511 , p_source_type_code => 'Y'
104512 , p_source_application_id => 602
104513 );
104514 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
104515 l_rec_acct_attrs.array_char_value(3) := p_source_60;
104516 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
104517 l_rec_acct_attrs.array_char_value(4) :=
104518 xla_ae_sources_pkg.GetSystemSourceChar(
104519 p_source_code => 'XLA_ENTITY_CODE'
104520 , p_source_type_code => 'Y'
104521 , p_source_application_id => 602
104522 );
104523 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
104524 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_62);
104525 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
104526 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_63);
104527 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
104528 l_rec_acct_attrs.array_num_value(7) := p_source_96;
104529 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
104530 l_rec_acct_attrs.array_char_value(8) := p_source_97;
104531 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
104532 l_rec_acct_attrs.array_char_value(9) := p_source_98;
104533 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
104534 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_99);
104535 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
104536 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_100);
104537 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
104538 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_69);
104539 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
104540 l_rec_acct_attrs.array_char_value(13) := p_source_60;
104541 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
104542 l_rec_acct_attrs.array_num_value(14) := p_source_70;
104543 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
104544 l_rec_acct_attrs.array_num_value(15) := p_source_71;
104545 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
104546 l_rec_acct_attrs.array_char_value(16) := p_source_72;
104547 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
104548 l_rec_acct_attrs.array_num_value(17) := p_source_73;
104549 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
104550 l_rec_acct_attrs.array_num_value(18) := p_source_74;
104551 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
104552 l_rec_acct_attrs.array_num_value(19) := p_source_75;
104553 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
104554 l_rec_acct_attrs.array_char_value(20) := p_source_72;
104555 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
104556 l_rec_acct_attrs.array_num_value(21) := p_source_76;
104557 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
104558 l_rec_acct_attrs.array_char_value(22) := p_source_77;
104559 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
104560 l_rec_acct_attrs.array_num_value(23) := p_source_78;
104561 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
104562 l_rec_acct_attrs.array_char_value(24) := p_source_72;
104563 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
104564 l_rec_acct_attrs.array_date_value(25) := p_source_79;
104565 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
104566 l_rec_acct_attrs.array_num_value(26) := p_source_80;
104567 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
104568 l_rec_acct_attrs.array_char_value(27) := p_source_81;
104569 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
104570 l_rec_acct_attrs.array_num_value(28) := p_source_16;
104571 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
104572 l_rec_acct_attrs.array_date_value(29) := p_source_82;
104573 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
104574 l_rec_acct_attrs.array_char_value(30) := p_source_83;
104575 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
104576 l_rec_acct_attrs.array_date_value(31) := p_source_84;
104577 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
104578 l_rec_acct_attrs.array_char_value(32) := p_source_85;
104579 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
104580 l_rec_acct_attrs.array_num_value(33) := p_source_86;
104581 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
104582 l_rec_acct_attrs.array_num_value(34) := p_source_87;
104583 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
104584 l_rec_acct_attrs.array_char_value(35) := p_source_88;
104585 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
104589 l_rec_acct_attrs.array_acct_attr_code(38) := 'TAX_LINE_REF_ID';
104586 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_89);
104587 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
104588 l_rec_acct_attrs.array_char_value(37) := p_source_60;
104590 l_rec_acct_attrs.array_num_value(38) := p_source_91;
104591 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_REC_NREC_DIST_REF_ID';
104592 l_rec_acct_attrs.array_num_value(39) := p_source_92;
104593 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_SUMMARY_LINE_REF_ID';
104594 l_rec_acct_attrs.array_num_value(40) := p_source_93;
104595 l_rec_acct_attrs.array_acct_attr_code(41) := 'UPG_CR_ENC_TYPE_ID';
104596 l_rec_acct_attrs.array_num_value(41) := p_source_94;
104597 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_DR_ENC_TYPE_ID';
104598 l_rec_acct_attrs.array_num_value(42) := p_source_95;
104599
104600 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
104601 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
104602
104603 ---------------------------------------------------------------------------------------------------------------
104604 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
104605 ---------------------------------------------------------------------------------------------------------------
104606 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
104607
104608 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
104609 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
104610
104611 IF xla_accounting_cache_pkg.GetValueChar
104612 (p_source_code => 'LEDGER_CATEGORY_CODE'
104613 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
104614 AND l_bflow_method_code = 'PRIOR_ENTRY'
104615 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
104616 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
104617 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
104618 )
104619 THEN
104620 xla_ae_lines_pkg.BflowUpgEntry
104621 (p_business_method_code => l_bflow_method_code
104622 ,p_business_class_code => l_bflow_class_code
104623 ,p_balance_type => l_balance_type_code);
104624 ELSE
104625 NULL;
104626 -- No business flow processing for business flow method of NONE.
104627 END IF;
104628
104629 --
104630 -- call analytical criteria
104631 --
104632
104633 --
104634 -- call description
104635 --
104636
104637 xla_ae_lines_pkg.SetLineDescription(
104638 p_ae_header_id => l_ae_header_id
104639 ,p_description => Description_2 (
104640 p_application_id => p_application_id
104641 , p_ae_header_id => l_ae_header_id
104642 , p_source_1 => p_source_1
104643 )
104644 );
104645
104646
104647 --
104648 -- call ADRs
104649 -- Bug 4922099
104650 --
104651 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
104652 (NVL(l_actual_upg_option, 'N') = 'O') OR
104653 (NVL(l_enc_upg_option, 'N') = 'O')
104654 )
104655 THEN
104656 NULL;
104657 --
104658 --
104659
104660 l_ccid := AcctDerRule_35(
104661 p_application_id => p_application_id
104662 , p_ae_header_id => l_ae_header_id
104663 , p_source_25 => p_source_25
104664 , x_transaction_coa_id => l_adr_transaction_coa_id
104665 , x_accounting_coa_id => l_adr_accounting_coa_id
104666 , x_value_type_code => l_adr_value_type_code
104667 , p_side => 'NA'
104668 );
104669
104670 xla_ae_lines_pkg.set_ccid(
104671 p_code_combination_id => l_ccid
104672 , p_value_type_code => l_adr_value_type_code
104673 , p_transaction_coa_id => l_adr_transaction_coa_id
104674 , p_accounting_coa_id => l_adr_accounting_coa_id
104675 , p_adr_code => 'AP_INVOICE_DIST'
104676 , p_adr_type_code => 'S'
104677 , p_component_type => l_component_type
104678 , p_component_code => l_component_code
104679 , p_component_type_code => l_component_type_code
104680 , p_component_appl_id => l_component_appl_id
104681 , p_amb_context_code => l_amb_context_code
104682 , p_side => 'NA'
104683 );
104684
104685
104686 --
104687 --
104688 END IF;
104689 --
104690 -- Bug 4922099
104691 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
104692 (NVL(l_enc_upg_option, 'N') = 'O')
104693 ) AND
104694 (l_bflow_method_code = 'PRIOR_ENTRY')
104695 )
104696 THEN
104697 IF
104698 --
104699 1 = 2
104700 --
104701 THEN
104702 xla_accounting_err_pkg.build_message
104703 (p_appli_s_name => 'XLA'
104704 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
104705 ,p_token_1 => 'LINE_NUMBER'
104706 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
104710 ,l_component_code
104707 ,p_token_2 => 'LINE_TYPE_NAME'
104708 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
104709 l_component_type
104711 ,l_component_type_code
104712 ,l_component_appl_id
104713 ,l_amb_context_code
104714 ,l_entity_code
104715 ,l_event_class_code
104716 )
104717 ,p_token_3 => 'OWNER'
104718 ,p_value_3 => xla_lookups_pkg.get_meaning(
104719 p_lookup_type => 'XLA_OWNER_TYPE'
104720 ,p_lookup_code => l_component_type_code
104721 )
104722 ,p_token_4 => 'PRODUCT_NAME'
104723 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
104724 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
104725 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
104726 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
104727 ,p_ae_header_id => NULL
104728 );
104729
104730 IF (C_LEVEL_ERROR>= g_log_level) THEN
104731 trace
104732 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
104733 ,p_level => C_LEVEL_ERROR
104734 ,p_module => l_log_module);
104735 END IF;
104736 END IF;
104737 END IF;
104738 --
104739 --
104740 ------------------------------------------------------------------------------------------------
104741 -- 4219869 Business Flow
104742 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
104743 -- Prior Entry. Currently, the following code is always generated.
104744 ------------------------------------------------------------------------------------------------
104745 XLA_AE_LINES_PKG.ValidateCurrentLine;
104746
104747 ------------------------------------------------------------------------------------
104748 -- 4219869 Business Flow
104749 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
104750 ------------------------------------------------------------------------------------
104751 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
104752
104753 ----------------------------------------------------------------------------------
104754 -- 4219869 Business Flow
104755 -- Update journal entry status -- Need to generate this within IF <condition>
104756 ----------------------------------------------------------------------------------
104757 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
104758 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
104759 ,p_balance_type_code => l_balance_type_code
104760 );
104761
104762 -------------------------------------------------------------------------------------------
104763 -- 4262811 - Generate the Accrual Reversal lines
104764 -------------------------------------------------------------------------------------------
104765 BEGIN
104766 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
104767 (g_array_event(p_event_id).array_value_num('header_index'));
104768 IF l_acc_rev_flag IS NULL THEN
104769 l_acc_rev_flag := 'N';
104770 END IF;
104771 EXCEPTION
104772 WHEN OTHERS THEN
104773 l_acc_rev_flag := 'N';
104774 END;
104775 --
104776 IF (l_acc_rev_flag = 'Y') THEN
104777
104778 -- 4645092 ------------------------------------------------------------------------------
104779 -- To allow MPA report to determine if it should generate report process
104780 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
104781 ------------------------------------------------------------------------------------------
104782
104783 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
104784 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
104785 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
104786 -- call ADRs
104787 -- Bug 4922099
104788 --
104789 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
104790 (NVL(l_actual_upg_option, 'N') = 'O') OR
104791 (NVL(l_enc_upg_option, 'N') = 'O')
104792 )
104793 THEN
104794 NULL;
104795 --
104796 --
104797
104798 l_ccid := AcctDerRule_35(
104799 p_application_id => p_application_id
104800 , p_ae_header_id => l_ae_header_id
104804 , x_value_type_code => l_adr_value_type_code
104801 , p_source_25 => p_source_25
104802 , x_transaction_coa_id => l_adr_transaction_coa_id
104803 , x_accounting_coa_id => l_adr_accounting_coa_id
104805 , p_side => 'NA'
104806 );
104807
104808 xla_ae_lines_pkg.set_ccid(
104809 p_code_combination_id => l_ccid
104810 , p_value_type_code => l_adr_value_type_code
104811 , p_transaction_coa_id => l_adr_transaction_coa_id
104812 , p_accounting_coa_id => l_adr_accounting_coa_id
104813 , p_adr_code => 'AP_INVOICE_DIST'
104814 , p_adr_type_code => 'S'
104815 , p_component_type => l_component_type
104816 , p_component_code => l_component_code
104817 , p_component_type_code => l_component_type_code
104818 , p_component_appl_id => l_component_appl_id
104819 , p_amb_context_code => l_amb_context_code
104820 , p_side => 'NA'
104821 );
104822
104823
104824 --
104825 --
104826 END IF;
104827
104828 --
104829 -- Update the line information that should be overwritten
104830 --
104831 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
104832 p_header_num => 1);
104833 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
104834
104835 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
104836
104837 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
104838 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
104839 END IF;
104840
104841 --
104842 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
104843 --
104844 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
104845 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
104846 ELSE
104847 ---------------------------------------------------------------------------------------------------
104848 -- 4262811a Switch Sign
104849 ---------------------------------------------------------------------------------------------------
104850 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
104851 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
104852 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
104853 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
104854 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
104855 -- 5132302
104856 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
104857 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
104858
104859 END IF;
104860
104861 -- 4955764
104862 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
104863 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
104864
104865
104866 XLA_AE_LINES_PKG.ValidateCurrentLine;
104867 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
104868
104869 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
104870 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
104871 ,p_balance_type_code => l_balance_type_code);
104872
104873 END IF;
104874
104875 -----------------------------------------------------------------------------------------
104876 -- 4262811 Multiperiod Accounting
104877 -----------------------------------------------------------------------------------------
104878 -- No MPA option is assigned.
104879
104880
104881 END IF;
104882 END IF;
104883 --
104884
104885 --
104886 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
104887 trace
104888 (p_msg => 'END of AcctLineType_185'
104889 ,p_level => C_LEVEL_PROCEDURE
104890 ,p_module => l_log_module);
104891 END IF;
104892 --
104893 EXCEPTION
104894 WHEN xla_exceptions_pkg.application_exception THEN
104895 RAISE;
104896 WHEN OTHERS THEN
104897 xla_exceptions_pkg.raise_message
104898 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_185');
104899 END AcctLineType_185;
104900 --
104901
104902 ---------------------------------------
104903 --
104904 -- PRIVATE FUNCTION
104905 -- AcctLineType_186
104906 --
104907 ---------------------------------------
104908 PROCEDURE AcctLineType_186 (
104909 p_application_id IN NUMBER
104910 ,p_event_id IN NUMBER
104911 ,p_calculate_acctd_flag IN VARCHAR2
104912 ,p_calculate_g_l_flag IN VARCHAR2
104913 ,p_actual_flag IN OUT VARCHAR2
104914 ,p_balance_type_code OUT VARCHAR2
104915 ,p_gain_or_loss_ref OUT VARCHAR2
104916
104917 --Invoice Distribution Description
104918 , p_source_1 IN VARCHAR2
104919 --Invoice Distribution Ledger Amount
104920 , p_source_16 IN NUMBER
104921 --Invoice Distribution Account
104922 , p_source_25 IN NUMBER
104923 --Invoice Distribution Type
104927 , p_source_54 IN VARCHAR2
104924 , p_source_28 IN VARCHAR2
104925 , p_source_28_meaning IN VARCHAR2
104926 --Accrue on Receipt Option
104928 , p_source_54_meaning IN VARCHAR2
104929 --Accounting Reversal Indicator
104930 , p_source_58 IN VARCHAR2
104931 --Distribution Link Type
104932 , p_source_60 IN VARCHAR2
104933 --Allocation to Main Distribution Identifier
104934 , p_source_62 IN NUMBER
104935 --Invoice Identifier
104936 , p_source_63 IN NUMBER
104937 --Invoice Distribution Identifier
104938 , p_source_69 IN NUMBER
104939 --Payables Encumbrance Upgrade Credit Account
104940 , p_source_70 IN NUMBER
104941 --Payables Encumbrance Upgrade Credit Amount
104942 , p_source_71 IN NUMBER
104943 --Invoice Currency Code
104944 , p_source_72 IN VARCHAR2
104945 --Payables Encumbrance Upgrade Credit Base Amount
104946 , p_source_73 IN NUMBER
104947 --Payables Encumbrance Upgrade Debit Account
104948 , p_source_74 IN NUMBER
104949 --Payables Encumbrance Upgrade Debit Amount
104950 , p_source_75 IN NUMBER
104951 --Payables Encumbrance Upgrade Debit Base Amount
104952 , p_source_76 IN NUMBER
104953 --Payables Encumbrance Upgrade Option
104954 , p_source_77 IN VARCHAR2
104955 --Invoice Distribution Amount
104956 , p_source_78 IN NUMBER
104957 --Purchase Order Exchange Rate Date
104958 , p_source_79 IN DATE
104959 --Purchase Order Exchange Rate
104960 , p_source_80 IN NUMBER
104961 --Purchase Order Exchange Rate Type
104962 , p_source_81 IN VARCHAR2
104963 --Deferred Accounting End Date
104964 , p_source_82 IN DATE
104965 --Deferred Accounting Option
104966 , p_source_83 IN VARCHAR2
104967 --Deferred Accounting Start Date
104968 , p_source_84 IN DATE
104969 --Override Accounted Amount Indicator
104970 , p_source_85 IN VARCHAR2
104971 , p_source_85_meaning IN VARCHAR2
104972 --Invoice Supplier Identifier
104973 , p_source_86 IN NUMBER
104974 --Invoice Supplier Site Identifier
104975 , p_source_87 IN NUMBER
104976 --Third Party Type
104977 , p_source_88 IN VARCHAR2
104978 --Parent Reversal Identifier
104979 , p_source_89 IN NUMBER
104980 --Invoice Distribution Statistical Amount
104981 , p_source_90 IN NUMBER
104982 --Invoice Distribution Tax Line Identifier
104983 , p_source_91 IN NUMBER
104984 --Invoice Distribution Tax Distribution Identifier from Tax
104985 , p_source_92 IN NUMBER
104986 --Invoice Distribution Summary Tax Line Identifier
104987 , p_source_93 IN NUMBER
104988 --Payables Upgrade Credit Encumbrance Type Identifier
104989 , p_source_94 IN NUMBER
104990 --Payables Upgrade Debit Encumbrance Type Identifier
104991 , p_source_95 IN NUMBER
104992 --Business Flow Accounts Payable Application Identifier
104993 , p_source_96 IN NUMBER
104994 --Business Flow Invoice Distribution Type
104995 , p_source_97 IN VARCHAR2
104996 --Business Flow Invoice Entity Code
104997 , p_source_98 IN VARCHAR2
104998 --Business Flow Invoice Distribution Identifier
104999 , p_source_99 IN NUMBER
105000 --Business Flow Invoice Identifier
105001 , p_source_100 IN NUMBER
105002 --Self-Assessed Tax Flag
105003 , p_source_145 IN VARCHAR2
105004 , p_source_145_meaning IN VARCHAR2
105005 )
105006 IS
105007
105008 l_component_type VARCHAR2(80);
105009 l_component_code VARCHAR2(30);
105010 l_component_type_code VARCHAR2(1);
105011 l_component_appl_id INTEGER;
105012 l_amb_context_code VARCHAR2(30);
105013 l_entity_code VARCHAR2(30);
105014 l_event_class_code VARCHAR2(30);
105015 l_ae_header_id NUMBER;
105016 l_event_type_code VARCHAR2(30);
105017 l_line_definition_code VARCHAR2(30);
105018 l_line_definition_owner_code VARCHAR2(1);
105019 --
105020 -- adr variables
105021 l_segment VARCHAR2(30);
105022 l_ccid NUMBER;
105023 l_adr_transaction_coa_id NUMBER;
105024 l_adr_accounting_coa_id NUMBER;
105025 l_adr_flexfield_segment_code VARCHAR2(30);
105026 l_adr_flex_value_set_id NUMBER;
105027 l_adr_value_type_code VARCHAR2(30);
105028 l_adr_value_combination_id NUMBER;
105029 l_adr_value_segment_code VARCHAR2(30);
105030
105031 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
105032 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
105033 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
105034 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
105035
105036 -- 4262811 Variables ------------------------------------------------------------------------------------------
105037 l_entered_amt_idx NUMBER;
105038 l_accted_amt_idx NUMBER;
105039 l_acc_rev_flag VARCHAR2(1);
105040 l_accrual_line_num NUMBER;
105041 l_tmp_amt NUMBER;
105042 l_acc_rev_natural_side_code VARCHAR2(1);
105043
105044 l_num_entries NUMBER;
105045 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
105046 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
105047 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
105048 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
105052 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
105049 l_recog_line_1 NUMBER;
105050 l_recog_line_2 NUMBER;
105051
105053 l_bflow_applied_to_amt NUMBER; -- 5132302
105054 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
105055
105056 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
105057
105058 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
105059 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
105060
105061 ---------------------------------------------------------------------------------------------------------------
105062
105063
105064 --
105065 -- bulk performance
105066 --
105067 l_balance_type_code VARCHAR2(1);
105068 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
105069 l_log_module VARCHAR2(240);
105070
105071 --
105072 -- Upgrade strategy
105073 --
105074 l_actual_upg_option VARCHAR2(1);
105075 l_enc_upg_option VARCHAR2(1);
105076
105077 --
105078 BEGIN
105079 --
105080 IF g_log_enabled THEN
105081 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_186';
105082 END IF;
105083 --
105084 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
105085
105086 trace
105087 (p_msg => 'BEGIN of AcctLineType_186'
105088 ,p_level => C_LEVEL_PROCEDURE
105089 ,p_module => l_log_module);
105090
105091 END IF;
105092 --
105093 l_component_type := 'AMB_JLT';
105094 l_component_code := 'AP_NON_RECOV_TAX_ACCRUAL_INV';
105095 l_component_type_code := 'S';
105096 l_component_appl_id := 200;
105097 l_amb_context_code := 'DEFAULT';
105098 l_entity_code := 'AP_INVOICES';
105099 l_event_class_code := 'INVOICES';
105100 l_event_type_code := 'INVOICES_ALL';
105101 l_line_definition_owner_code := 'S';
105102 l_line_definition_code := 'ACCRUAL_INVOICES_ALL';
105103 --
105104 l_balance_type_code := 'A';
105105 l_segment := NULL;
105106 l_ccid := NULL;
105107 l_adr_transaction_coa_id := NULL;
105108 l_adr_accounting_coa_id := NULL;
105109 l_adr_flexfield_segment_code := NULL;
105110 l_adr_flex_value_set_id := NULL;
105111 l_adr_value_type_code := NULL;
105112 l_adr_value_combination_id := NULL;
105113 l_adr_value_segment_code := NULL;
105114
105115 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
105116 l_bflow_class_code := ''; -- 4219869 Business Flow
105117 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
105118 l_budgetary_control_flag := 'N';
105119
105120 l_bflow_applied_to_amt_idx := NULL; -- 5132302
105121 l_bflow_applied_to_amt := NULL; -- 5132302
105122 l_entered_amt_idx := NULL; -- 4262811
105123 l_accted_amt_idx := NULL; -- 4262811
105124 l_acc_rev_flag := NULL; -- 4262811
105125 l_accrual_line_num := NULL; -- 4262811
105126 l_tmp_amt := NULL; -- 4262811
105127 --
105128
105129 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
105130 l_balance_type_code <> 'B' THEN
105131 IF NVL(p_source_28,'
105132 ') = 'NONREC_TAX' AND
105133 NVL(p_source_54,'
105134 ') = 'Y' AND
105135 NVL(p_source_145,'
105136 ') <> 'Y'
105137 THEN
105138
105139 --
105140 XLA_AE_LINES_PKG.SetNewLine;
105141
105142 p_balance_type_code := l_balance_type_code;
105143 -- set the flag so later we will know whether the gain loss line needs to be created
105144
105145 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
105146 p_actual_flag :='A';
105147 END IF;
105148
105149 --
105150 -- bulk performance
105151 --
105152 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
105153 p_header_num => 0); -- 4262811
105154 --
105155 -- set accounting line options
105156 --
105157 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
105158 p_natural_side_code => 'D'
105159 , p_gain_or_loss_flag => 'N'
105160 , p_gl_transfer_mode_code => 'S'
105161 , p_acct_entry_type_code => 'A'
105162 , p_switch_side_flag => 'Y'
105163 , p_merge_duplicate_code => 'A'
105164 );
105165 --
105166 l_acc_rev_natural_side_code := 'C'; -- 4262811
105167 --
105168 --
105169 -- set accounting line type info
105170 --
105171 xla_ae_lines_pkg.SetAcctLineType
105172 (p_component_type => l_component_type
105173 ,p_event_type_code => l_event_type_code
105174 ,p_line_definition_owner_code => l_line_definition_owner_code
105175 ,p_line_definition_code => l_line_definition_code
105176 ,p_accounting_line_code => l_component_code
105177 ,p_accounting_line_type_code => l_component_type_code
105178 ,p_accounting_line_appl_id => l_component_appl_id
105179 ,p_amb_context_code => l_amb_context_code
105180 ,p_entity_code => l_entity_code
105181 ,p_event_class_code => l_event_class_code);
105182 --
105183 -- set accounting class
105184 --
105188 );
105185 xla_ae_lines_pkg.SetAcctClass(
105186 p_accounting_class_code => 'NRTAX'
105187 , p_ae_header_id => l_ae_header_id
105189
105190 --
105191 -- set rounding class
105192 --
105193 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
105194 'NRTAX';
105195
105196 --
105197 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
105198 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
105199 --
105200 -- bulk performance
105201 --
105202 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
105203
105204 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
105205 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
105206
105207 -- 4955764
105208 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
105209 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
105210
105211 -- 4458381 Public Sector Enh
105212
105213 --
105214 -- set accounting attributes for the line type
105215 --
105216 l_entered_amt_idx := 24;
105217 l_accted_amt_idx := 29;
105218 l_bflow_applied_to_amt_idx := 7; -- 5132302
105219 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
105220 l_rec_acct_attrs.array_char_value(1) := p_source_58;
105221 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
105222 l_rec_acct_attrs.array_num_value(2) :=
105223 xla_ae_sources_pkg.GetSystemSourceNum(
105224 p_source_code => 'XLA_EVENT_APPL_ID'
105225 , p_source_type_code => 'Y'
105226 , p_source_application_id => 602
105227 );
105228 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
105229 l_rec_acct_attrs.array_char_value(3) := p_source_60;
105230 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
105231 l_rec_acct_attrs.array_char_value(4) :=
105232 xla_ae_sources_pkg.GetSystemSourceChar(
105233 p_source_code => 'XLA_ENTITY_CODE'
105234 , p_source_type_code => 'Y'
105235 , p_source_application_id => 602
105236 );
105237 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
105238 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_62);
105239 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
105240 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_63);
105241 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
105242 l_rec_acct_attrs.array_num_value(7) := p_source_78;
105243 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
105244 l_rec_acct_attrs.array_num_value(8) := p_source_96;
105245 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
105246 l_rec_acct_attrs.array_char_value(9) := p_source_97;
105247 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
105248 l_rec_acct_attrs.array_char_value(10) := p_source_98;
105249 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
105250 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_99);
105251 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
105252 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_100);
105253 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
105254 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_69);
105255 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
105256 l_rec_acct_attrs.array_char_value(14) := p_source_60;
105257 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
105258 l_rec_acct_attrs.array_num_value(15) := p_source_70;
105259 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
105260 l_rec_acct_attrs.array_num_value(16) := p_source_71;
105261 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
105262 l_rec_acct_attrs.array_char_value(17) := p_source_72;
105263 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
105264 l_rec_acct_attrs.array_num_value(18) := p_source_73;
105265 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
105266 l_rec_acct_attrs.array_num_value(19) := p_source_74;
105267 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
105268 l_rec_acct_attrs.array_num_value(20) := p_source_75;
105269 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
105270 l_rec_acct_attrs.array_char_value(21) := p_source_72;
105271 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
105272 l_rec_acct_attrs.array_num_value(22) := p_source_76;
105273 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
105274 l_rec_acct_attrs.array_char_value(23) := p_source_77;
105275 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_AMOUNT';
105276 l_rec_acct_attrs.array_num_value(24) := p_source_78;
105277 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_CODE';
105278 l_rec_acct_attrs.array_char_value(25) := p_source_72;
105279 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_DATE';
105280 l_rec_acct_attrs.array_date_value(26) := p_source_79;
105281 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE';
105282 l_rec_acct_attrs.array_num_value(27) := p_source_80;
105286 l_rec_acct_attrs.array_num_value(29) := p_source_16;
105283 l_rec_acct_attrs.array_acct_attr_code(28) := 'EXCHANGE_RATE_TYPE';
105284 l_rec_acct_attrs.array_char_value(28) := p_source_81;
105285 l_rec_acct_attrs.array_acct_attr_code(29) := 'LEDGER_AMOUNT';
105287 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_END_DATE';
105288 l_rec_acct_attrs.array_date_value(30) := p_source_82;
105289 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_OPTION';
105290 l_rec_acct_attrs.array_char_value(31) := p_source_83;
105291 l_rec_acct_attrs.array_acct_attr_code(32) := 'MULTIPERIOD_START_DATE';
105292 l_rec_acct_attrs.array_date_value(32) := p_source_84;
105293 l_rec_acct_attrs.array_acct_attr_code(33) := 'OVERRIDE_ACCTD_AMT_FLAG';
105294 l_rec_acct_attrs.array_char_value(33) := p_source_85;
105295 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_ID';
105296 l_rec_acct_attrs.array_num_value(34) := p_source_86;
105297 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_SITE_ID';
105298 l_rec_acct_attrs.array_num_value(35) := p_source_87;
105299 l_rec_acct_attrs.array_acct_attr_code(36) := 'PARTY_TYPE';
105300 l_rec_acct_attrs.array_char_value(36) := p_source_88;
105301 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_ID1';
105302 l_rec_acct_attrs.array_num_value(37) := to_char(p_source_89);
105303 l_rec_acct_attrs.array_acct_attr_code(38) := 'REVERSED_DISTRIBUTION_TYPE';
105304 l_rec_acct_attrs.array_char_value(38) := p_source_60;
105305 l_rec_acct_attrs.array_acct_attr_code(39) := 'STATISTICAL_AMOUNT';
105306 l_rec_acct_attrs.array_num_value(39) := p_source_90;
105307 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_LINE_REF_ID';
105308 l_rec_acct_attrs.array_num_value(40) := p_source_91;
105309 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_REC_NREC_DIST_REF_ID';
105310 l_rec_acct_attrs.array_num_value(41) := p_source_92;
105311 l_rec_acct_attrs.array_acct_attr_code(42) := 'TAX_SUMMARY_LINE_REF_ID';
105312 l_rec_acct_attrs.array_num_value(42) := p_source_93;
105313 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_CR_ENC_TYPE_ID';
105314 l_rec_acct_attrs.array_num_value(43) := p_source_94;
105315 l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
105316 l_rec_acct_attrs.array_num_value(44) := p_source_95;
105317
105318 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
105319 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
105320
105321 ---------------------------------------------------------------------------------------------------------------
105322 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
105323 ---------------------------------------------------------------------------------------------------------------
105324 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
105325
105326 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
105327 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
105328
105329 IF xla_accounting_cache_pkg.GetValueChar
105330 (p_source_code => 'LEDGER_CATEGORY_CODE'
105331 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
105332 AND l_bflow_method_code = 'PRIOR_ENTRY'
105333 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
105334 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
105335 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
105336 )
105337 THEN
105338 xla_ae_lines_pkg.BflowUpgEntry
105339 (p_business_method_code => l_bflow_method_code
105340 ,p_business_class_code => l_bflow_class_code
105341 ,p_balance_type => l_balance_type_code);
105342 ELSE
105343 NULL;
105344 -- No business flow processing for business flow method of NONE.
105345 END IF;
105346
105347 --
105348 -- call analytical criteria
105349 --
105350
105351 --
105352 -- call description
105353 --
105354
105355 xla_ae_lines_pkg.SetLineDescription(
105356 p_ae_header_id => l_ae_header_id
105357 ,p_description => Description_2 (
105358 p_application_id => p_application_id
105359 , p_ae_header_id => l_ae_header_id
105360 , p_source_1 => p_source_1
105361 )
105362 );
105363
105364
105365 --
105366 -- call ADRs
105367 -- Bug 4922099
105368 --
105369 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
105370 (NVL(l_actual_upg_option, 'N') = 'O') OR
105371 (NVL(l_enc_upg_option, 'N') = 'O')
105372 )
105373 THEN
105374 NULL;
105375 --
105376 --
105377
105378 l_ccid := AcctDerRule_35(
105379 p_application_id => p_application_id
105380 , p_ae_header_id => l_ae_header_id
105381 , p_source_25 => p_source_25
105382 , x_transaction_coa_id => l_adr_transaction_coa_id
105383 , x_accounting_coa_id => l_adr_accounting_coa_id
105384 , x_value_type_code => l_adr_value_type_code
105385 , p_side => 'NA'
105386 );
105387
105388 xla_ae_lines_pkg.set_ccid(
105389 p_code_combination_id => l_ccid
105390 , p_value_type_code => l_adr_value_type_code
105391 , p_transaction_coa_id => l_adr_transaction_coa_id
105395 , p_component_type => l_component_type
105392 , p_accounting_coa_id => l_adr_accounting_coa_id
105393 , p_adr_code => 'AP_INVOICE_DIST'
105394 , p_adr_type_code => 'S'
105396 , p_component_code => l_component_code
105397 , p_component_type_code => l_component_type_code
105398 , p_component_appl_id => l_component_appl_id
105399 , p_amb_context_code => l_amb_context_code
105400 , p_side => 'NA'
105401 );
105402
105403
105404 --
105405 --
105406 END IF;
105407 --
105408 -- Bug 4922099
105409 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
105410 (NVL(l_enc_upg_option, 'N') = 'O')
105411 ) AND
105412 (l_bflow_method_code = 'PRIOR_ENTRY')
105413 )
105414 THEN
105415 IF
105416 --
105417 1 = 2
105418 --
105419 THEN
105420 xla_accounting_err_pkg.build_message
105421 (p_appli_s_name => 'XLA'
105422 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
105423 ,p_token_1 => 'LINE_NUMBER'
105424 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
105425 ,p_token_2 => 'LINE_TYPE_NAME'
105426 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
105427 l_component_type
105428 ,l_component_code
105429 ,l_component_type_code
105430 ,l_component_appl_id
105431 ,l_amb_context_code
105432 ,l_entity_code
105433 ,l_event_class_code
105434 )
105435 ,p_token_3 => 'OWNER'
105436 ,p_value_3 => xla_lookups_pkg.get_meaning(
105437 p_lookup_type => 'XLA_OWNER_TYPE'
105438 ,p_lookup_code => l_component_type_code
105439 )
105440 ,p_token_4 => 'PRODUCT_NAME'
105441 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
105442 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
105443 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
105444 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
105445 ,p_ae_header_id => NULL
105446 );
105447
105448 IF (C_LEVEL_ERROR>= g_log_level) THEN
105449 trace
105450 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
105451 ,p_level => C_LEVEL_ERROR
105452 ,p_module => l_log_module);
105453 END IF;
105454 END IF;
105455 END IF;
105456 --
105457 --
105458 ------------------------------------------------------------------------------------------------
105459 -- 4219869 Business Flow
105460 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
105461 -- Prior Entry. Currently, the following code is always generated.
105462 ------------------------------------------------------------------------------------------------
105463 XLA_AE_LINES_PKG.ValidateCurrentLine;
105464
105465 ------------------------------------------------------------------------------------
105466 -- 4219869 Business Flow
105467 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
105468 ------------------------------------------------------------------------------------
105469 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
105470
105471 ----------------------------------------------------------------------------------
105472 -- 4219869 Business Flow
105473 -- Update journal entry status -- Need to generate this within IF <condition>
105474 ----------------------------------------------------------------------------------
105475 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
105476 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
105477 ,p_balance_type_code => l_balance_type_code
105478 );
105479
105480 -------------------------------------------------------------------------------------------
105481 -- 4262811 - Generate the Accrual Reversal lines
105482 -------------------------------------------------------------------------------------------
105483 BEGIN
105484 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
105485 (g_array_event(p_event_id).array_value_num('header_index'));
105486 IF l_acc_rev_flag IS NULL THEN
105490 WHEN OTHERS THEN
105487 l_acc_rev_flag := 'N';
105488 END IF;
105489 EXCEPTION
105491 l_acc_rev_flag := 'N';
105492 END;
105493 --
105494 IF (l_acc_rev_flag = 'Y') THEN
105495
105496 -- 4645092 ------------------------------------------------------------------------------
105497 -- To allow MPA report to determine if it should generate report process
105498 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
105499 ------------------------------------------------------------------------------------------
105500
105501 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
105502 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
105503 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
105504 -- call ADRs
105505 -- Bug 4922099
105506 --
105507 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
105508 (NVL(l_actual_upg_option, 'N') = 'O') OR
105509 (NVL(l_enc_upg_option, 'N') = 'O')
105510 )
105511 THEN
105512 NULL;
105513 --
105514 --
105515
105516 l_ccid := AcctDerRule_35(
105517 p_application_id => p_application_id
105518 , p_ae_header_id => l_ae_header_id
105519 , p_source_25 => p_source_25
105520 , x_transaction_coa_id => l_adr_transaction_coa_id
105521 , x_accounting_coa_id => l_adr_accounting_coa_id
105522 , x_value_type_code => l_adr_value_type_code
105523 , p_side => 'NA'
105524 );
105525
105526 xla_ae_lines_pkg.set_ccid(
105527 p_code_combination_id => l_ccid
105528 , p_value_type_code => l_adr_value_type_code
105529 , p_transaction_coa_id => l_adr_transaction_coa_id
105530 , p_accounting_coa_id => l_adr_accounting_coa_id
105531 , p_adr_code => 'AP_INVOICE_DIST'
105532 , p_adr_type_code => 'S'
105533 , p_component_type => l_component_type
105534 , p_component_code => l_component_code
105535 , p_component_type_code => l_component_type_code
105536 , p_component_appl_id => l_component_appl_id
105537 , p_amb_context_code => l_amb_context_code
105538 , p_side => 'NA'
105539 );
105540
105541
105542 --
105543 --
105544 END IF;
105545
105546 --
105547 -- Update the line information that should be overwritten
105548 --
105549 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
105550 p_header_num => 1);
105551 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
105552
105553 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
105554
105555 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
105556 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
105557 END IF;
105558
105559 --
105560 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
105561 --
105562 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
105563 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
105564 ELSE
105565 ---------------------------------------------------------------------------------------------------
105566 -- 4262811a Switch Sign
105567 ---------------------------------------------------------------------------------------------------
105568 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
105569 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
105570 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
105571 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
105572 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
105573 -- 5132302
105574 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
105575 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
105576
105577 END IF;
105578
105579 -- 4955764
105580 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
105581 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
105582
105583
105584 XLA_AE_LINES_PKG.ValidateCurrentLine;
105585 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
105586
105587 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
105588 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
105589 ,p_balance_type_code => l_balance_type_code);
105590
105591 END IF;
105592
105593 -----------------------------------------------------------------------------------------
105594 -- 4262811 Multiperiod Accounting
105595 -----------------------------------------------------------------------------------------
105596 -- No MPA option is assigned.
105597
105598
105599 END IF;
105600 END IF;
105601 --
105602
105603 --
105604 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
105605 trace
105609 END IF;
105606 (p_msg => 'END of AcctLineType_186'
105607 ,p_level => C_LEVEL_PROCEDURE
105608 ,p_module => l_log_module);
105610 --
105611 EXCEPTION
105612 WHEN xla_exceptions_pkg.application_exception THEN
105613 RAISE;
105614 WHEN OTHERS THEN
105615 xla_exceptions_pkg.raise_message
105616 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_186');
105617 END AcctLineType_186;
105618 --
105619
105620 ---------------------------------------
105621 --
105622 -- PRIVATE FUNCTION
105623 -- AcctLineType_187
105624 --
105625 ---------------------------------------
105626 PROCEDURE AcctLineType_187 (
105627 p_application_id IN NUMBER
105628 ,p_event_id IN NUMBER
105629 ,p_calculate_acctd_flag IN VARCHAR2
105630 ,p_calculate_g_l_flag IN VARCHAR2
105631 ,p_actual_flag IN OUT VARCHAR2
105632 ,p_balance_type_code OUT VARCHAR2
105633 ,p_gain_or_loss_ref OUT VARCHAR2
105634
105635 --Invoice Distribution Description
105636 , p_source_1 IN VARCHAR2
105637 --Invoice Distribution Ledger Amount
105638 , p_source_16 IN NUMBER
105639 --Invoice Distribution Account
105640 , p_source_25 IN NUMBER
105641 --Invoice Distribution Type
105642 , p_source_28 IN VARCHAR2
105643 , p_source_28_meaning IN VARCHAR2
105644 --Accrue on Receipt Option
105645 , p_source_54 IN VARCHAR2
105646 , p_source_54_meaning IN VARCHAR2
105647 --Accounting Reversal Indicator
105648 , p_source_58 IN VARCHAR2
105649 --Distribution Link Type
105650 , p_source_60 IN VARCHAR2
105651 --Allocation to Main Distribution Identifier
105652 , p_source_62 IN NUMBER
105653 --Invoice Identifier
105654 , p_source_63 IN NUMBER
105655 --Invoice Distribution Identifier
105656 , p_source_69 IN NUMBER
105657 --Payables Encumbrance Upgrade Credit Account
105658 , p_source_70 IN NUMBER
105659 --Payables Encumbrance Upgrade Credit Amount
105660 , p_source_71 IN NUMBER
105661 --Invoice Currency Code
105662 , p_source_72 IN VARCHAR2
105663 --Payables Encumbrance Upgrade Credit Base Amount
105664 , p_source_73 IN NUMBER
105665 --Payables Encumbrance Upgrade Debit Account
105666 , p_source_74 IN NUMBER
105667 --Payables Encumbrance Upgrade Debit Amount
105668 , p_source_75 IN NUMBER
105669 --Payables Encumbrance Upgrade Debit Base Amount
105670 , p_source_76 IN NUMBER
105671 --Payables Encumbrance Upgrade Option
105672 , p_source_77 IN VARCHAR2
105673 --Invoice Distribution Amount
105674 , p_source_78 IN NUMBER
105675 --Deferred Accounting End Date
105676 , p_source_82 IN DATE
105677 --Deferred Accounting Option
105678 , p_source_83 IN VARCHAR2
105679 --Deferred Accounting Start Date
105680 , p_source_84 IN DATE
105681 --Override Accounted Amount Indicator
105682 , p_source_85 IN VARCHAR2
105683 , p_source_85_meaning IN VARCHAR2
105684 --Invoice Supplier Identifier
105685 , p_source_86 IN NUMBER
105686 --Invoice Supplier Site Identifier
105687 , p_source_87 IN NUMBER
105688 --Third Party Type
105689 , p_source_88 IN VARCHAR2
105690 --Parent Reversal Identifier
105691 , p_source_89 IN NUMBER
105692 --Invoice Distribution Statistical Amount
105693 , p_source_90 IN NUMBER
105694 --Invoice Distribution Tax Line Identifier
105695 , p_source_91 IN NUMBER
105696 --Invoice Distribution Tax Distribution Identifier from Tax
105697 , p_source_92 IN NUMBER
105698 --Invoice Distribution Summary Tax Line Identifier
105699 , p_source_93 IN NUMBER
105700 --Payables Upgrade Credit Encumbrance Type Identifier
105701 , p_source_94 IN NUMBER
105702 --Payables Upgrade Debit Encumbrance Type Identifier
105703 , p_source_95 IN NUMBER
105704 --Business Flow Accounts Payable Application Identifier
105705 , p_source_96 IN NUMBER
105706 --Business Flow Invoice Distribution Type
105707 , p_source_97 IN VARCHAR2
105708 --Business Flow Invoice Entity Code
105709 , p_source_98 IN VARCHAR2
105710 --Business Flow Invoice Distribution Identifier
105711 , p_source_99 IN NUMBER
105712 --Business Flow Invoice Identifier
105713 , p_source_100 IN NUMBER
105714 --Self-Assessed Tax Flag
105715 , p_source_145 IN VARCHAR2
105716 , p_source_145_meaning IN VARCHAR2
105717 --Invoice Exchange Date
105718 , p_source_146 IN DATE
105719 --Invoice Exchange Rate
105720 , p_source_147 IN NUMBER
105721 --Invoice Exchange Rate Type
105722 , p_source_148 IN VARCHAR2
105723 )
105724 IS
105725
105726 l_component_type VARCHAR2(80);
105727 l_component_code VARCHAR2(30);
105728 l_component_type_code VARCHAR2(1);
105729 l_component_appl_id INTEGER;
105730 l_amb_context_code VARCHAR2(30);
105731 l_entity_code VARCHAR2(30);
105732 l_event_class_code VARCHAR2(30);
105733 l_ae_header_id NUMBER;
105734 l_event_type_code VARCHAR2(30);
105735 l_line_definition_code VARCHAR2(30);
105736 l_line_definition_owner_code VARCHAR2(1);
105737 --
105738 -- adr variables
105739 l_segment VARCHAR2(30);
105740 l_ccid NUMBER;
105741 l_adr_transaction_coa_id NUMBER;
105742 l_adr_accounting_coa_id NUMBER;
105746 l_adr_value_combination_id NUMBER;
105743 l_adr_flexfield_segment_code VARCHAR2(30);
105744 l_adr_flex_value_set_id NUMBER;
105745 l_adr_value_type_code VARCHAR2(30);
105747 l_adr_value_segment_code VARCHAR2(30);
105748
105749 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
105750 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
105751 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
105752 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
105753
105754 -- 4262811 Variables ------------------------------------------------------------------------------------------
105755 l_entered_amt_idx NUMBER;
105756 l_accted_amt_idx NUMBER;
105757 l_acc_rev_flag VARCHAR2(1);
105758 l_accrual_line_num NUMBER;
105759 l_tmp_amt NUMBER;
105760 l_acc_rev_natural_side_code VARCHAR2(1);
105761
105762 l_num_entries NUMBER;
105763 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
105764 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
105765 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
105766 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
105767 l_recog_line_1 NUMBER;
105768 l_recog_line_2 NUMBER;
105769
105770 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
105771 l_bflow_applied_to_amt NUMBER; -- 5132302
105772 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
105773
105774 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
105775
105776 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
105777 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
105778
105779 ---------------------------------------------------------------------------------------------------------------
105780
105781
105782 --
105783 -- bulk performance
105784 --
105785 l_balance_type_code VARCHAR2(1);
105786 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
105787 l_log_module VARCHAR2(240);
105788
105789 --
105790 -- Upgrade strategy
105791 --
105792 l_actual_upg_option VARCHAR2(1);
105793 l_enc_upg_option VARCHAR2(1);
105794
105795 --
105796 BEGIN
105797 --
105798 IF g_log_enabled THEN
105799 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_187';
105800 END IF;
105801 --
105802 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
105803
105804 trace
105805 (p_msg => 'BEGIN of AcctLineType_187'
105806 ,p_level => C_LEVEL_PROCEDURE
105807 ,p_module => l_log_module);
105808
105809 END IF;
105810 --
105811 l_component_type := 'AMB_JLT';
105812 l_component_code := 'AP_NON_RECOV_TAX_CM';
105813 l_component_type_code := 'S';
105814 l_component_appl_id := 200;
105815 l_amb_context_code := 'DEFAULT';
105816 l_entity_code := 'AP_INVOICES';
105817 l_event_class_code := 'CREDIT MEMOS';
105818 l_event_type_code := 'CREDIT MEMOS_ALL';
105819 l_line_definition_owner_code := 'S';
105820 l_line_definition_code := 'ACCRUAL_CREDIT MEMOS_ALL';
105821 --
105822 l_balance_type_code := 'A';
105823 l_segment := NULL;
105824 l_ccid := NULL;
105825 l_adr_transaction_coa_id := NULL;
105826 l_adr_accounting_coa_id := NULL;
105827 l_adr_flexfield_segment_code := NULL;
105828 l_adr_flex_value_set_id := NULL;
105829 l_adr_value_type_code := NULL;
105830 l_adr_value_combination_id := NULL;
105831 l_adr_value_segment_code := NULL;
105832
105833 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
105834 l_bflow_class_code := ''; -- 4219869 Business Flow
105835 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
105836 l_budgetary_control_flag := 'N';
105837
105838 l_bflow_applied_to_amt_idx := NULL; -- 5132302
105839 l_bflow_applied_to_amt := NULL; -- 5132302
105840 l_entered_amt_idx := NULL; -- 4262811
105841 l_accted_amt_idx := NULL; -- 4262811
105842 l_acc_rev_flag := NULL; -- 4262811
105843 l_accrual_line_num := NULL; -- 4262811
105844 l_tmp_amt := NULL; -- 4262811
105845 --
105846
105847 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
105848 l_balance_type_code <> 'B' THEN
105849 IF (NVL(p_source_28,'
105850 ') = 'NONREC_TAX' OR
105851 NVL(p_source_28,'
105852 ') = 'TERV' OR
105853 NVL(p_source_28,'
105854 ') = 'TIPV' OR
105855 NVL(p_source_28,'
105856 ') = 'TRV') AND
105857 NVL(p_source_54,'
105858 ') <> 'Y' AND
105859 NVL(p_source_145,'
105860 ') <> 'Y'
105861 THEN
105862
105863 --
105864 XLA_AE_LINES_PKG.SetNewLine;
105865
105866 p_balance_type_code := l_balance_type_code;
105867 -- set the flag so later we will know whether the gain loss line needs to be created
105868
105869 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
105870 p_actual_flag :='A';
105871 END IF;
105872
105873 --
105874 -- bulk performance
105875 --
105876 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
105880 --
105877 p_header_num => 0); -- 4262811
105878 --
105879 -- set accounting line options
105881 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
105882 p_natural_side_code => 'D'
105883 , p_gain_or_loss_flag => 'N'
105884 , p_gl_transfer_mode_code => 'S'
105885 , p_acct_entry_type_code => 'A'
105886 , p_switch_side_flag => 'Y'
105887 , p_merge_duplicate_code => 'A'
105888 );
105889 --
105890 l_acc_rev_natural_side_code := 'C'; -- 4262811
105891 --
105892 --
105893 -- set accounting line type info
105894 --
105895 xla_ae_lines_pkg.SetAcctLineType
105896 (p_component_type => l_component_type
105897 ,p_event_type_code => l_event_type_code
105898 ,p_line_definition_owner_code => l_line_definition_owner_code
105899 ,p_line_definition_code => l_line_definition_code
105900 ,p_accounting_line_code => l_component_code
105901 ,p_accounting_line_type_code => l_component_type_code
105902 ,p_accounting_line_appl_id => l_component_appl_id
105903 ,p_amb_context_code => l_amb_context_code
105904 ,p_entity_code => l_entity_code
105905 ,p_event_class_code => l_event_class_code);
105906 --
105907 -- set accounting class
105908 --
105909 xla_ae_lines_pkg.SetAcctClass(
105910 p_accounting_class_code => 'NRTAX'
105911 , p_ae_header_id => l_ae_header_id
105912 );
105913
105914 --
105915 -- set rounding class
105916 --
105917 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
105918 'NRTAX';
105919
105920 --
105921 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
105922 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
105923 --
105924 -- bulk performance
105925 --
105926 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
105927
105928 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
105929 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
105930
105931 -- 4955764
105932 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
105933 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
105934
105935 -- 4458381 Public Sector Enh
105936
105937 --
105938 -- set accounting attributes for the line type
105939 --
105940 l_entered_amt_idx := 23;
105941 l_accted_amt_idx := 28;
105942 l_bflow_applied_to_amt_idx := NULL; -- 5132302
105943 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
105944 l_rec_acct_attrs.array_char_value(1) := p_source_58;
105945 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
105946 l_rec_acct_attrs.array_num_value(2) :=
105947 xla_ae_sources_pkg.GetSystemSourceNum(
105948 p_source_code => 'XLA_EVENT_APPL_ID'
105949 , p_source_type_code => 'Y'
105950 , p_source_application_id => 602
105951 );
105952 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
105953 l_rec_acct_attrs.array_char_value(3) := p_source_60;
105954 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
105955 l_rec_acct_attrs.array_char_value(4) :=
105956 xla_ae_sources_pkg.GetSystemSourceChar(
105957 p_source_code => 'XLA_ENTITY_CODE'
105958 , p_source_type_code => 'Y'
105959 , p_source_application_id => 602
105960 );
105961 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
105962 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_62);
105963 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
105964 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_63);
105965 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
105966 l_rec_acct_attrs.array_num_value(7) := p_source_96;
105967 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
105968 l_rec_acct_attrs.array_char_value(8) := p_source_97;
105969 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
105970 l_rec_acct_attrs.array_char_value(9) := p_source_98;
105971 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
105972 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_99);
105973 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
105974 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_100);
105975 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
105976 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_69);
105977 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
105978 l_rec_acct_attrs.array_char_value(13) := p_source_60;
105979 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
105980 l_rec_acct_attrs.array_num_value(14) := p_source_70;
105981 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
105982 l_rec_acct_attrs.array_num_value(15) := p_source_71;
105983 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
105984 l_rec_acct_attrs.array_char_value(16) := p_source_72;
105988 l_rec_acct_attrs.array_num_value(18) := p_source_74;
105985 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
105986 l_rec_acct_attrs.array_num_value(17) := p_source_73;
105987 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
105989 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
105990 l_rec_acct_attrs.array_num_value(19) := p_source_75;
105991 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
105992 l_rec_acct_attrs.array_char_value(20) := p_source_72;
105993 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
105994 l_rec_acct_attrs.array_num_value(21) := p_source_76;
105995 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
105996 l_rec_acct_attrs.array_char_value(22) := p_source_77;
105997 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
105998 l_rec_acct_attrs.array_num_value(23) := p_source_78;
105999 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
106000 l_rec_acct_attrs.array_char_value(24) := p_source_72;
106001 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
106002 l_rec_acct_attrs.array_date_value(25) := p_source_146;
106003 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
106004 l_rec_acct_attrs.array_num_value(26) := p_source_147;
106005 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
106006 l_rec_acct_attrs.array_char_value(27) := p_source_148;
106007 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
106008 l_rec_acct_attrs.array_num_value(28) := p_source_16;
106009 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
106010 l_rec_acct_attrs.array_date_value(29) := p_source_82;
106011 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
106012 l_rec_acct_attrs.array_char_value(30) := p_source_83;
106013 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
106014 l_rec_acct_attrs.array_date_value(31) := p_source_84;
106015 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
106016 l_rec_acct_attrs.array_char_value(32) := p_source_85;
106017 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
106018 l_rec_acct_attrs.array_num_value(33) := p_source_86;
106019 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
106020 l_rec_acct_attrs.array_num_value(34) := p_source_87;
106021 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
106022 l_rec_acct_attrs.array_char_value(35) := p_source_88;
106023 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
106024 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_89);
106025 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
106026 l_rec_acct_attrs.array_char_value(37) := p_source_60;
106027 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
106028 l_rec_acct_attrs.array_num_value(38) := p_source_90;
106029 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
106030 l_rec_acct_attrs.array_num_value(39) := p_source_91;
106031 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
106032 l_rec_acct_attrs.array_num_value(40) := p_source_92;
106033 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
106034 l_rec_acct_attrs.array_num_value(41) := p_source_93;
106035 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
106036 l_rec_acct_attrs.array_num_value(42) := p_source_94;
106037 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
106038 l_rec_acct_attrs.array_num_value(43) := p_source_95;
106039
106040 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
106041 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
106042
106043 ---------------------------------------------------------------------------------------------------------------
106044 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
106045 ---------------------------------------------------------------------------------------------------------------
106046 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
106047
106048 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
106049 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
106050
106051 IF xla_accounting_cache_pkg.GetValueChar
106052 (p_source_code => 'LEDGER_CATEGORY_CODE'
106053 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
106054 AND l_bflow_method_code = 'PRIOR_ENTRY'
106055 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
106056 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
106057 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
106058 )
106059 THEN
106060 xla_ae_lines_pkg.BflowUpgEntry
106061 (p_business_method_code => l_bflow_method_code
106062 ,p_business_class_code => l_bflow_class_code
106063 ,p_balance_type => l_balance_type_code);
106064 ELSE
106065 NULL;
106066 -- No business flow processing for business flow method of NONE.
106067 END IF;
106068
106069 --
106070 -- call analytical criteria
106071 --
106072
106073 --
106074 -- call description
106075 --
106076
106077 xla_ae_lines_pkg.SetLineDescription(
106081 , p_ae_header_id => l_ae_header_id
106078 p_ae_header_id => l_ae_header_id
106079 ,p_description => Description_2 (
106080 p_application_id => p_application_id
106082 , p_source_1 => p_source_1
106083 )
106084 );
106085
106086
106087 --
106088 -- call ADRs
106089 -- Bug 4922099
106090 --
106091 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
106092 (NVL(l_actual_upg_option, 'N') = 'O') OR
106093 (NVL(l_enc_upg_option, 'N') = 'O')
106094 )
106095 THEN
106096 NULL;
106097 --
106098 --
106099
106100 l_ccid := AcctDerRule_35(
106101 p_application_id => p_application_id
106102 , p_ae_header_id => l_ae_header_id
106103 , p_source_25 => p_source_25
106104 , x_transaction_coa_id => l_adr_transaction_coa_id
106105 , x_accounting_coa_id => l_adr_accounting_coa_id
106106 , x_value_type_code => l_adr_value_type_code
106107 , p_side => 'NA'
106108 );
106109
106110 xla_ae_lines_pkg.set_ccid(
106111 p_code_combination_id => l_ccid
106112 , p_value_type_code => l_adr_value_type_code
106113 , p_transaction_coa_id => l_adr_transaction_coa_id
106114 , p_accounting_coa_id => l_adr_accounting_coa_id
106115 , p_adr_code => 'AP_INVOICE_DIST'
106116 , p_adr_type_code => 'S'
106117 , p_component_type => l_component_type
106118 , p_component_code => l_component_code
106119 , p_component_type_code => l_component_type_code
106120 , p_component_appl_id => l_component_appl_id
106121 , p_amb_context_code => l_amb_context_code
106122 , p_side => 'NA'
106123 );
106124
106125
106126 --
106127 --
106128 END IF;
106129 --
106130 -- Bug 4922099
106131 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
106132 (NVL(l_enc_upg_option, 'N') = 'O')
106133 ) AND
106134 (l_bflow_method_code = 'PRIOR_ENTRY')
106135 )
106136 THEN
106137 IF
106138 --
106139 1 = 2
106140 --
106141 THEN
106142 xla_accounting_err_pkg.build_message
106143 (p_appli_s_name => 'XLA'
106144 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
106145 ,p_token_1 => 'LINE_NUMBER'
106146 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
106147 ,p_token_2 => 'LINE_TYPE_NAME'
106148 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
106149 l_component_type
106150 ,l_component_code
106151 ,l_component_type_code
106152 ,l_component_appl_id
106153 ,l_amb_context_code
106154 ,l_entity_code
106155 ,l_event_class_code
106156 )
106157 ,p_token_3 => 'OWNER'
106158 ,p_value_3 => xla_lookups_pkg.get_meaning(
106159 p_lookup_type => 'XLA_OWNER_TYPE'
106160 ,p_lookup_code => l_component_type_code
106161 )
106162 ,p_token_4 => 'PRODUCT_NAME'
106163 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
106164 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
106165 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
106166 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
106167 ,p_ae_header_id => NULL
106168 );
106169
106170 IF (C_LEVEL_ERROR>= g_log_level) THEN
106171 trace
106172 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
106173 ,p_level => C_LEVEL_ERROR
106174 ,p_module => l_log_module);
106175 END IF;
106176 END IF;
106177 END IF;
106178 --
106179 --
106180 ------------------------------------------------------------------------------------------------
106181 -- 4219869 Business Flow
106182 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
106183 -- Prior Entry. Currently, the following code is always generated.
106184 ------------------------------------------------------------------------------------------------
106185 XLA_AE_LINES_PKG.ValidateCurrentLine;
106186
106190 ------------------------------------------------------------------------------------
106187 ------------------------------------------------------------------------------------
106188 -- 4219869 Business Flow
106189 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
106191 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
106192
106193 ----------------------------------------------------------------------------------
106194 -- 4219869 Business Flow
106195 -- Update journal entry status -- Need to generate this within IF <condition>
106196 ----------------------------------------------------------------------------------
106197 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
106198 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
106199 ,p_balance_type_code => l_balance_type_code
106200 );
106201
106202 -------------------------------------------------------------------------------------------
106203 -- 4262811 - Generate the Accrual Reversal lines
106204 -------------------------------------------------------------------------------------------
106205 BEGIN
106206 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
106207 (g_array_event(p_event_id).array_value_num('header_index'));
106208 IF l_acc_rev_flag IS NULL THEN
106209 l_acc_rev_flag := 'N';
106210 END IF;
106211 EXCEPTION
106212 WHEN OTHERS THEN
106213 l_acc_rev_flag := 'N';
106214 END;
106215 --
106216 IF (l_acc_rev_flag = 'Y') THEN
106217
106218 -- 4645092 ------------------------------------------------------------------------------
106219 -- To allow MPA report to determine if it should generate report process
106220 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
106221 ------------------------------------------------------------------------------------------
106222
106223 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
106224 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
106225 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
106226 -- call ADRs
106227 -- Bug 4922099
106228 --
106229 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
106230 (NVL(l_actual_upg_option, 'N') = 'O') OR
106231 (NVL(l_enc_upg_option, 'N') = 'O')
106232 )
106233 THEN
106234 NULL;
106235 --
106236 --
106237
106238 l_ccid := AcctDerRule_35(
106239 p_application_id => p_application_id
106240 , p_ae_header_id => l_ae_header_id
106241 , p_source_25 => p_source_25
106242 , x_transaction_coa_id => l_adr_transaction_coa_id
106243 , x_accounting_coa_id => l_adr_accounting_coa_id
106244 , x_value_type_code => l_adr_value_type_code
106245 , p_side => 'NA'
106246 );
106247
106248 xla_ae_lines_pkg.set_ccid(
106249 p_code_combination_id => l_ccid
106250 , p_value_type_code => l_adr_value_type_code
106251 , p_transaction_coa_id => l_adr_transaction_coa_id
106252 , p_accounting_coa_id => l_adr_accounting_coa_id
106253 , p_adr_code => 'AP_INVOICE_DIST'
106254 , p_adr_type_code => 'S'
106255 , p_component_type => l_component_type
106256 , p_component_code => l_component_code
106257 , p_component_type_code => l_component_type_code
106258 , p_component_appl_id => l_component_appl_id
106259 , p_amb_context_code => l_amb_context_code
106260 , p_side => 'NA'
106261 );
106262
106263
106264 --
106265 --
106266 END IF;
106267
106268 --
106269 -- Update the line information that should be overwritten
106270 --
106271 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
106272 p_header_num => 1);
106273 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
106274
106275 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
106276
106277 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
106278 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
106279 END IF;
106280
106281 --
106282 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
106283 --
106284 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
106285 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
106286 ELSE
106287 ---------------------------------------------------------------------------------------------------
106288 -- 4262811a Switch Sign
106289 ---------------------------------------------------------------------------------------------------
106290 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
106291 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
106292 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
106293 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
106294 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
106298
106295 -- 5132302
106296 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
106297 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
106299 END IF;
106300
106301 -- 4955764
106302 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
106303 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
106304
106305
106306 XLA_AE_LINES_PKG.ValidateCurrentLine;
106307 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
106308
106309 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
106310 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
106311 ,p_balance_type_code => l_balance_type_code);
106312
106313 END IF;
106314
106315 -----------------------------------------------------------------------------------------
106316 -- 4262811 Multiperiod Accounting
106317 -----------------------------------------------------------------------------------------
106318 -- No MPA option is assigned.
106319
106320
106321 END IF;
106322 END IF;
106323 --
106324
106325 --
106326 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
106327 trace
106328 (p_msg => 'END of AcctLineType_187'
106329 ,p_level => C_LEVEL_PROCEDURE
106330 ,p_module => l_log_module);
106331 END IF;
106332 --
106333 EXCEPTION
106334 WHEN xla_exceptions_pkg.application_exception THEN
106335 RAISE;
106336 WHEN OTHERS THEN
106337 xla_exceptions_pkg.raise_message
106338 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_187');
106339 END AcctLineType_187;
106340 --
106341
106342 ---------------------------------------
106343 --
106344 -- PRIVATE FUNCTION
106345 -- AcctLineType_188
106346 --
106347 ---------------------------------------
106348 PROCEDURE AcctLineType_188 (
106349 p_application_id IN NUMBER
106350 ,p_event_id IN NUMBER
106351 ,p_calculate_acctd_flag IN VARCHAR2
106352 ,p_calculate_g_l_flag IN VARCHAR2
106353 ,p_actual_flag IN OUT VARCHAR2
106354 ,p_balance_type_code OUT VARCHAR2
106355 ,p_gain_or_loss_ref OUT VARCHAR2
106356
106357 --Invoice Distribution Description
106358 , p_source_1 IN VARCHAR2
106359 --Invoice Distribution Ledger Amount
106360 , p_source_16 IN NUMBER
106361 --Invoice Distribution Account
106362 , p_source_25 IN NUMBER
106363 --Invoice Distribution Type
106364 , p_source_28 IN VARCHAR2
106365 , p_source_28_meaning IN VARCHAR2
106366 --Accrue on Receipt Option
106367 , p_source_54 IN VARCHAR2
106368 , p_source_54_meaning IN VARCHAR2
106369 --Accounting Reversal Indicator
106370 , p_source_58 IN VARCHAR2
106371 --Distribution Link Type
106372 , p_source_60 IN VARCHAR2
106373 --Allocation to Main Distribution Identifier
106374 , p_source_62 IN NUMBER
106375 --Invoice Identifier
106376 , p_source_63 IN NUMBER
106377 --Invoice Distribution Identifier
106378 , p_source_69 IN NUMBER
106379 --Payables Encumbrance Upgrade Credit Account
106380 , p_source_70 IN NUMBER
106381 --Payables Encumbrance Upgrade Credit Amount
106382 , p_source_71 IN NUMBER
106383 --Invoice Currency Code
106384 , p_source_72 IN VARCHAR2
106385 --Payables Encumbrance Upgrade Credit Base Amount
106386 , p_source_73 IN NUMBER
106387 --Payables Encumbrance Upgrade Debit Account
106388 , p_source_74 IN NUMBER
106389 --Payables Encumbrance Upgrade Debit Amount
106390 , p_source_75 IN NUMBER
106391 --Payables Encumbrance Upgrade Debit Base Amount
106392 , p_source_76 IN NUMBER
106393 --Payables Encumbrance Upgrade Option
106394 , p_source_77 IN VARCHAR2
106395 --Invoice Distribution Amount
106396 , p_source_78 IN NUMBER
106397 --Deferred Accounting End Date
106398 , p_source_82 IN DATE
106399 --Deferred Accounting Option
106400 , p_source_83 IN VARCHAR2
106401 --Deferred Accounting Start Date
106402 , p_source_84 IN DATE
106403 --Override Accounted Amount Indicator
106404 , p_source_85 IN VARCHAR2
106405 , p_source_85_meaning IN VARCHAR2
106406 --Invoice Supplier Identifier
106407 , p_source_86 IN NUMBER
106408 --Invoice Supplier Site Identifier
106409 , p_source_87 IN NUMBER
106410 --Third Party Type
106411 , p_source_88 IN VARCHAR2
106412 --Parent Reversal Identifier
106413 , p_source_89 IN NUMBER
106414 --Invoice Distribution Tax Line Identifier
106415 , p_source_91 IN NUMBER
106416 --Invoice Distribution Tax Distribution Identifier from Tax
106417 , p_source_92 IN NUMBER
106418 --Invoice Distribution Summary Tax Line Identifier
106419 , p_source_93 IN NUMBER
106420 --Payables Upgrade Credit Encumbrance Type Identifier
106421 , p_source_94 IN NUMBER
106422 --Payables Upgrade Debit Encumbrance Type Identifier
106423 , p_source_95 IN NUMBER
106424 --Business Flow Accounts Payable Application Identifier
106425 , p_source_96 IN NUMBER
106426 --Business Flow Invoice Distribution Type
106427 , p_source_97 IN VARCHAR2
106428 --Business Flow Invoice Entity Code
106429 , p_source_98 IN VARCHAR2
106430 --Business Flow Invoice Distribution Identifier
106434 --Self-Assessed Tax Flag
106431 , p_source_99 IN NUMBER
106432 --Business Flow Invoice Identifier
106433 , p_source_100 IN NUMBER
106435 , p_source_145 IN VARCHAR2
106436 , p_source_145_meaning IN VARCHAR2
106437 --Invoice Exchange Date
106438 , p_source_146 IN DATE
106439 --Invoice Exchange Rate
106440 , p_source_147 IN NUMBER
106441 --Invoice Exchange Rate Type
106442 , p_source_148 IN VARCHAR2
106443 )
106444 IS
106445
106446 l_component_type VARCHAR2(80);
106447 l_component_code VARCHAR2(30);
106448 l_component_type_code VARCHAR2(1);
106449 l_component_appl_id INTEGER;
106450 l_amb_context_code VARCHAR2(30);
106451 l_entity_code VARCHAR2(30);
106452 l_event_class_code VARCHAR2(30);
106453 l_ae_header_id NUMBER;
106454 l_event_type_code VARCHAR2(30);
106455 l_line_definition_code VARCHAR2(30);
106456 l_line_definition_owner_code VARCHAR2(1);
106457 --
106458 -- adr variables
106459 l_segment VARCHAR2(30);
106460 l_ccid NUMBER;
106461 l_adr_transaction_coa_id NUMBER;
106462 l_adr_accounting_coa_id NUMBER;
106463 l_adr_flexfield_segment_code VARCHAR2(30);
106464 l_adr_flex_value_set_id NUMBER;
106465 l_adr_value_type_code VARCHAR2(30);
106466 l_adr_value_combination_id NUMBER;
106467 l_adr_value_segment_code VARCHAR2(30);
106468
106469 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
106470 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
106471 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
106472 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
106473
106474 -- 4262811 Variables ------------------------------------------------------------------------------------------
106475 l_entered_amt_idx NUMBER;
106476 l_accted_amt_idx NUMBER;
106477 l_acc_rev_flag VARCHAR2(1);
106478 l_accrual_line_num NUMBER;
106479 l_tmp_amt NUMBER;
106480 l_acc_rev_natural_side_code VARCHAR2(1);
106481
106482 l_num_entries NUMBER;
106483 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
106484 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
106485 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
106486 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
106487 l_recog_line_1 NUMBER;
106488 l_recog_line_2 NUMBER;
106489
106490 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
106491 l_bflow_applied_to_amt NUMBER; -- 5132302
106492 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
106493
106494 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
106495
106496 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
106497 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
106498
106499 ---------------------------------------------------------------------------------------------------------------
106500
106501
106502 --
106503 -- bulk performance
106504 --
106505 l_balance_type_code VARCHAR2(1);
106506 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
106507 l_log_module VARCHAR2(240);
106508
106509 --
106510 -- Upgrade strategy
106511 --
106512 l_actual_upg_option VARCHAR2(1);
106513 l_enc_upg_option VARCHAR2(1);
106514
106515 --
106516 BEGIN
106517 --
106518 IF g_log_enabled THEN
106519 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_188';
106520 END IF;
106521 --
106522 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
106523
106524 trace
106525 (p_msg => 'BEGIN of AcctLineType_188'
106526 ,p_level => C_LEVEL_PROCEDURE
106527 ,p_module => l_log_module);
106528
106529 END IF;
106530 --
106531 l_component_type := 'AMB_JLT';
106532 l_component_code := 'AP_NON_RECOV_TAX_DM';
106533 l_component_type_code := 'S';
106534 l_component_appl_id := 200;
106535 l_amb_context_code := 'DEFAULT';
106536 l_entity_code := 'AP_INVOICES';
106537 l_event_class_code := 'DEBIT MEMOS';
106538 l_event_type_code := 'DEBIT MEMOS_ALL';
106539 l_line_definition_owner_code := 'S';
106540 l_line_definition_code := 'ACCRUAL_DEBIT MEMOS_ALL';
106541 --
106542 l_balance_type_code := 'A';
106543 l_segment := NULL;
106544 l_ccid := NULL;
106545 l_adr_transaction_coa_id := NULL;
106546 l_adr_accounting_coa_id := NULL;
106547 l_adr_flexfield_segment_code := NULL;
106548 l_adr_flex_value_set_id := NULL;
106549 l_adr_value_type_code := NULL;
106550 l_adr_value_combination_id := NULL;
106551 l_adr_value_segment_code := NULL;
106552
106553 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
106554 l_bflow_class_code := ''; -- 4219869 Business Flow
106555 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
106556 l_budgetary_control_flag := 'N';
106557
106558 l_bflow_applied_to_amt_idx := NULL; -- 5132302
106559 l_bflow_applied_to_amt := NULL; -- 5132302
106563 l_accrual_line_num := NULL; -- 4262811
106560 l_entered_amt_idx := NULL; -- 4262811
106561 l_accted_amt_idx := NULL; -- 4262811
106562 l_acc_rev_flag := NULL; -- 4262811
106564 l_tmp_amt := NULL; -- 4262811
106565 --
106566
106567 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
106568 l_balance_type_code <> 'B' THEN
106569 IF (NVL(p_source_28,'
106570 ') = 'NONREC_TAX' OR
106571 NVL(p_source_28,'
106572 ') = 'TERV' OR
106573 NVL(p_source_28,'
106574 ') = 'TIPV' OR
106575 NVL(p_source_28,'
106576 ') = 'TRV') AND
106577 NVL(p_source_54,'
106578 ') <> 'Y' AND
106579 NVL(p_source_145,'
106580 ') <> 'Y'
106581 THEN
106582
106583 --
106584 XLA_AE_LINES_PKG.SetNewLine;
106585
106586 p_balance_type_code := l_balance_type_code;
106587 -- set the flag so later we will know whether the gain loss line needs to be created
106588
106589 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
106590 p_actual_flag :='A';
106591 END IF;
106592
106593 --
106594 -- bulk performance
106595 --
106596 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
106597 p_header_num => 0); -- 4262811
106598 --
106599 -- set accounting line options
106600 --
106601 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
106602 p_natural_side_code => 'D'
106603 , p_gain_or_loss_flag => 'N'
106604 , p_gl_transfer_mode_code => 'S'
106605 , p_acct_entry_type_code => 'A'
106606 , p_switch_side_flag => 'Y'
106607 , p_merge_duplicate_code => 'A'
106608 );
106609 --
106610 l_acc_rev_natural_side_code := 'C'; -- 4262811
106611 --
106612 --
106613 -- set accounting line type info
106614 --
106615 xla_ae_lines_pkg.SetAcctLineType
106616 (p_component_type => l_component_type
106617 ,p_event_type_code => l_event_type_code
106618 ,p_line_definition_owner_code => l_line_definition_owner_code
106619 ,p_line_definition_code => l_line_definition_code
106620 ,p_accounting_line_code => l_component_code
106621 ,p_accounting_line_type_code => l_component_type_code
106622 ,p_accounting_line_appl_id => l_component_appl_id
106623 ,p_amb_context_code => l_amb_context_code
106624 ,p_entity_code => l_entity_code
106625 ,p_event_class_code => l_event_class_code);
106626 --
106627 -- set accounting class
106628 --
106629 xla_ae_lines_pkg.SetAcctClass(
106630 p_accounting_class_code => 'NRTAX'
106631 , p_ae_header_id => l_ae_header_id
106632 );
106633
106634 --
106635 -- set rounding class
106636 --
106637 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
106638 'NRTAX';
106639
106640 --
106641 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
106642 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
106643 --
106644 -- bulk performance
106645 --
106646 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
106647
106648 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
106649 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
106650
106651 -- 4955764
106652 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
106653 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
106654
106655 -- 4458381 Public Sector Enh
106656
106657 --
106658 -- set accounting attributes for the line type
106659 --
106660 l_entered_amt_idx := 23;
106661 l_accted_amt_idx := 28;
106662 l_bflow_applied_to_amt_idx := NULL; -- 5132302
106663 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
106664 l_rec_acct_attrs.array_char_value(1) := p_source_58;
106665 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
106666 l_rec_acct_attrs.array_num_value(2) :=
106667 xla_ae_sources_pkg.GetSystemSourceNum(
106668 p_source_code => 'XLA_EVENT_APPL_ID'
106669 , p_source_type_code => 'Y'
106670 , p_source_application_id => 602
106671 );
106672 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
106673 l_rec_acct_attrs.array_char_value(3) := p_source_60;
106674 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
106675 l_rec_acct_attrs.array_char_value(4) :=
106676 xla_ae_sources_pkg.GetSystemSourceChar(
106677 p_source_code => 'XLA_ENTITY_CODE'
106678 , p_source_type_code => 'Y'
106679 , p_source_application_id => 602
106680 );
106681 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
106682 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_62);
106683 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
106684 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_63);
106685 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
106689 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
106686 l_rec_acct_attrs.array_num_value(7) := p_source_96;
106687 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
106688 l_rec_acct_attrs.array_char_value(8) := p_source_97;
106690 l_rec_acct_attrs.array_char_value(9) := p_source_98;
106691 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
106692 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_99);
106693 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
106694 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_100);
106695 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
106696 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_69);
106697 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
106698 l_rec_acct_attrs.array_char_value(13) := p_source_60;
106699 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
106700 l_rec_acct_attrs.array_num_value(14) := p_source_70;
106701 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
106702 l_rec_acct_attrs.array_num_value(15) := p_source_71;
106703 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
106704 l_rec_acct_attrs.array_char_value(16) := p_source_72;
106705 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
106706 l_rec_acct_attrs.array_num_value(17) := p_source_73;
106707 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
106708 l_rec_acct_attrs.array_num_value(18) := p_source_74;
106709 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
106710 l_rec_acct_attrs.array_num_value(19) := p_source_75;
106711 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
106712 l_rec_acct_attrs.array_char_value(20) := p_source_72;
106713 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
106714 l_rec_acct_attrs.array_num_value(21) := p_source_76;
106715 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
106716 l_rec_acct_attrs.array_char_value(22) := p_source_77;
106717 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
106718 l_rec_acct_attrs.array_num_value(23) := p_source_78;
106719 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
106720 l_rec_acct_attrs.array_char_value(24) := p_source_72;
106721 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
106722 l_rec_acct_attrs.array_date_value(25) := p_source_146;
106723 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
106724 l_rec_acct_attrs.array_num_value(26) := p_source_147;
106725 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
106726 l_rec_acct_attrs.array_char_value(27) := p_source_148;
106727 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
106728 l_rec_acct_attrs.array_num_value(28) := p_source_16;
106729 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
106730 l_rec_acct_attrs.array_date_value(29) := p_source_82;
106731 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
106732 l_rec_acct_attrs.array_char_value(30) := p_source_83;
106733 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
106734 l_rec_acct_attrs.array_date_value(31) := p_source_84;
106735 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
106736 l_rec_acct_attrs.array_char_value(32) := p_source_85;
106737 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
106738 l_rec_acct_attrs.array_num_value(33) := p_source_86;
106739 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
106740 l_rec_acct_attrs.array_num_value(34) := p_source_87;
106741 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
106742 l_rec_acct_attrs.array_char_value(35) := p_source_88;
106743 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
106744 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_89);
106745 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
106746 l_rec_acct_attrs.array_char_value(37) := p_source_60;
106747 l_rec_acct_attrs.array_acct_attr_code(38) := 'TAX_LINE_REF_ID';
106748 l_rec_acct_attrs.array_num_value(38) := p_source_91;
106749 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_REC_NREC_DIST_REF_ID';
106750 l_rec_acct_attrs.array_num_value(39) := p_source_92;
106751 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_SUMMARY_LINE_REF_ID';
106752 l_rec_acct_attrs.array_num_value(40) := p_source_93;
106753 l_rec_acct_attrs.array_acct_attr_code(41) := 'UPG_CR_ENC_TYPE_ID';
106754 l_rec_acct_attrs.array_num_value(41) := p_source_94;
106755 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_DR_ENC_TYPE_ID';
106756 l_rec_acct_attrs.array_num_value(42) := p_source_95;
106757
106758 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
106759 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
106760
106761 ---------------------------------------------------------------------------------------------------------------
106762 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
106763 ---------------------------------------------------------------------------------------------------------------
106764 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
106765
106766 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
106770 (p_source_code => 'LEDGER_CATEGORY_CODE'
106767 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
106768
106769 IF xla_accounting_cache_pkg.GetValueChar
106771 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
106772 AND l_bflow_method_code = 'PRIOR_ENTRY'
106773 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
106774 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
106775 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
106776 )
106777 THEN
106778 xla_ae_lines_pkg.BflowUpgEntry
106779 (p_business_method_code => l_bflow_method_code
106780 ,p_business_class_code => l_bflow_class_code
106781 ,p_balance_type => l_balance_type_code);
106782 ELSE
106783 NULL;
106784 -- No business flow processing for business flow method of NONE.
106785 END IF;
106786
106787 --
106788 -- call analytical criteria
106789 --
106790
106791 --
106792 -- call description
106793 --
106794
106795 xla_ae_lines_pkg.SetLineDescription(
106796 p_ae_header_id => l_ae_header_id
106797 ,p_description => Description_2 (
106798 p_application_id => p_application_id
106799 , p_ae_header_id => l_ae_header_id
106800 , p_source_1 => p_source_1
106801 )
106802 );
106803
106804
106805 --
106806 -- call ADRs
106807 -- Bug 4922099
106808 --
106809 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
106810 (NVL(l_actual_upg_option, 'N') = 'O') OR
106811 (NVL(l_enc_upg_option, 'N') = 'O')
106812 )
106813 THEN
106814 NULL;
106815 --
106816 --
106817
106818 l_ccid := AcctDerRule_35(
106819 p_application_id => p_application_id
106820 , p_ae_header_id => l_ae_header_id
106821 , p_source_25 => p_source_25
106822 , x_transaction_coa_id => l_adr_transaction_coa_id
106823 , x_accounting_coa_id => l_adr_accounting_coa_id
106824 , x_value_type_code => l_adr_value_type_code
106825 , p_side => 'NA'
106826 );
106827
106828 xla_ae_lines_pkg.set_ccid(
106829 p_code_combination_id => l_ccid
106830 , p_value_type_code => l_adr_value_type_code
106831 , p_transaction_coa_id => l_adr_transaction_coa_id
106832 , p_accounting_coa_id => l_adr_accounting_coa_id
106833 , p_adr_code => 'AP_INVOICE_DIST'
106834 , p_adr_type_code => 'S'
106835 , p_component_type => l_component_type
106836 , p_component_code => l_component_code
106837 , p_component_type_code => l_component_type_code
106838 , p_component_appl_id => l_component_appl_id
106839 , p_amb_context_code => l_amb_context_code
106840 , p_side => 'NA'
106841 );
106842
106843
106844 --
106845 --
106846 END IF;
106847 --
106848 -- Bug 4922099
106849 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
106850 (NVL(l_enc_upg_option, 'N') = 'O')
106851 ) AND
106852 (l_bflow_method_code = 'PRIOR_ENTRY')
106853 )
106854 THEN
106855 IF
106856 --
106857 1 = 2
106858 --
106859 THEN
106860 xla_accounting_err_pkg.build_message
106861 (p_appli_s_name => 'XLA'
106862 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
106863 ,p_token_1 => 'LINE_NUMBER'
106864 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
106865 ,p_token_2 => 'LINE_TYPE_NAME'
106866 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
106867 l_component_type
106868 ,l_component_code
106869 ,l_component_type_code
106870 ,l_component_appl_id
106871 ,l_amb_context_code
106872 ,l_entity_code
106873 ,l_event_class_code
106874 )
106875 ,p_token_3 => 'OWNER'
106876 ,p_value_3 => xla_lookups_pkg.get_meaning(
106877 p_lookup_type => 'XLA_OWNER_TYPE'
106878 ,p_lookup_code => l_component_type_code
106879 )
106880 ,p_token_4 => 'PRODUCT_NAME'
106881 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
106882 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
106886 );
106883 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
106884 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
106885 ,p_ae_header_id => NULL
106887
106888 IF (C_LEVEL_ERROR>= g_log_level) THEN
106889 trace
106890 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
106891 ,p_level => C_LEVEL_ERROR
106892 ,p_module => l_log_module);
106893 END IF;
106894 END IF;
106895 END IF;
106896 --
106897 --
106898 ------------------------------------------------------------------------------------------------
106899 -- 4219869 Business Flow
106900 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
106901 -- Prior Entry. Currently, the following code is always generated.
106902 ------------------------------------------------------------------------------------------------
106903 XLA_AE_LINES_PKG.ValidateCurrentLine;
106904
106905 ------------------------------------------------------------------------------------
106906 -- 4219869 Business Flow
106907 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
106908 ------------------------------------------------------------------------------------
106909 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
106910
106911 ----------------------------------------------------------------------------------
106912 -- 4219869 Business Flow
106913 -- Update journal entry status -- Need to generate this within IF <condition>
106914 ----------------------------------------------------------------------------------
106915 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
106916 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
106917 ,p_balance_type_code => l_balance_type_code
106918 );
106919
106920 -------------------------------------------------------------------------------------------
106921 -- 4262811 - Generate the Accrual Reversal lines
106922 -------------------------------------------------------------------------------------------
106923 BEGIN
106924 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
106925 (g_array_event(p_event_id).array_value_num('header_index'));
106926 IF l_acc_rev_flag IS NULL THEN
106927 l_acc_rev_flag := 'N';
106928 END IF;
106929 EXCEPTION
106930 WHEN OTHERS THEN
106931 l_acc_rev_flag := 'N';
106932 END;
106933 --
106934 IF (l_acc_rev_flag = 'Y') THEN
106935
106936 -- 4645092 ------------------------------------------------------------------------------
106937 -- To allow MPA report to determine if it should generate report process
106938 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
106939 ------------------------------------------------------------------------------------------
106940
106941 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
106942 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
106943 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
106944 -- call ADRs
106945 -- Bug 4922099
106946 --
106947 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
106948 (NVL(l_actual_upg_option, 'N') = 'O') OR
106949 (NVL(l_enc_upg_option, 'N') = 'O')
106950 )
106951 THEN
106952 NULL;
106953 --
106954 --
106955
106956 l_ccid := AcctDerRule_35(
106957 p_application_id => p_application_id
106958 , p_ae_header_id => l_ae_header_id
106959 , p_source_25 => p_source_25
106960 , x_transaction_coa_id => l_adr_transaction_coa_id
106961 , x_accounting_coa_id => l_adr_accounting_coa_id
106962 , x_value_type_code => l_adr_value_type_code
106963 , p_side => 'NA'
106964 );
106965
106966 xla_ae_lines_pkg.set_ccid(
106967 p_code_combination_id => l_ccid
106968 , p_value_type_code => l_adr_value_type_code
106969 , p_transaction_coa_id => l_adr_transaction_coa_id
106970 , p_accounting_coa_id => l_adr_accounting_coa_id
106971 , p_adr_code => 'AP_INVOICE_DIST'
106972 , p_adr_type_code => 'S'
106973 , p_component_type => l_component_type
106974 , p_component_code => l_component_code
106975 , p_component_type_code => l_component_type_code
106976 , p_component_appl_id => l_component_appl_id
106977 , p_amb_context_code => l_amb_context_code
106978 , p_side => 'NA'
106979 );
106980
106981
106982 --
106983 --
106984 END IF;
106985
106986 --
106987 -- Update the line information that should be overwritten
106988 --
106989 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
106990 p_header_num => 1);
106991 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
106992
106993 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
106994
106995 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
106999 --
106996 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
106997 END IF;
106998
107000 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
107001 --
107002 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
107003 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
107004 ELSE
107005 ---------------------------------------------------------------------------------------------------
107006 -- 4262811a Switch Sign
107007 ---------------------------------------------------------------------------------------------------
107008 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
107009 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
107010 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
107011 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
107012 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
107013 -- 5132302
107014 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
107015 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
107016
107017 END IF;
107018
107019 -- 4955764
107020 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
107021 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
107022
107023
107024 XLA_AE_LINES_PKG.ValidateCurrentLine;
107025 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
107026
107027 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
107028 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
107029 ,p_balance_type_code => l_balance_type_code);
107030
107031 END IF;
107032
107033 -----------------------------------------------------------------------------------------
107034 -- 4262811 Multiperiod Accounting
107035 -----------------------------------------------------------------------------------------
107036 -- No MPA option is assigned.
107037
107038
107039 END IF;
107040 END IF;
107041 --
107042
107043 --
107044 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
107045 trace
107046 (p_msg => 'END of AcctLineType_188'
107047 ,p_level => C_LEVEL_PROCEDURE
107048 ,p_module => l_log_module);
107049 END IF;
107050 --
107051 EXCEPTION
107052 WHEN xla_exceptions_pkg.application_exception THEN
107053 RAISE;
107054 WHEN OTHERS THEN
107055 xla_exceptions_pkg.raise_message
107056 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_188');
107057 END AcctLineType_188;
107058 --
107059
107060 ---------------------------------------
107061 --
107062 -- PRIVATE FUNCTION
107063 -- AcctLineType_189
107064 --
107065 ---------------------------------------
107066 PROCEDURE AcctLineType_189 (
107067 p_application_id IN NUMBER
107068 ,p_event_id IN NUMBER
107069 ,p_calculate_acctd_flag IN VARCHAR2
107070 ,p_calculate_g_l_flag IN VARCHAR2
107071 ,p_actual_flag IN OUT VARCHAR2
107072 ,p_balance_type_code OUT VARCHAR2
107073 ,p_gain_or_loss_ref OUT VARCHAR2
107074
107075 --Invoice Distribution Description
107076 , p_source_1 IN VARCHAR2
107077 --Invoice Distribution Ledger Amount
107078 , p_source_16 IN NUMBER
107079 --Invoice Distribution Account
107080 , p_source_25 IN NUMBER
107081 --Invoice Distribution Type
107082 , p_source_28 IN VARCHAR2
107083 , p_source_28_meaning IN VARCHAR2
107084 --Accrue on Receipt Option
107085 , p_source_54 IN VARCHAR2
107086 , p_source_54_meaning IN VARCHAR2
107087 --Accounting Reversal Indicator
107088 , p_source_58 IN VARCHAR2
107089 --Distribution Link Type
107090 , p_source_60 IN VARCHAR2
107091 --Allocation to Main Distribution Identifier
107092 , p_source_62 IN NUMBER
107093 --Invoice Identifier
107094 , p_source_63 IN NUMBER
107095 --Invoice Distribution Identifier
107096 , p_source_69 IN NUMBER
107097 --Payables Encumbrance Upgrade Credit Account
107098 , p_source_70 IN NUMBER
107099 --Payables Encumbrance Upgrade Credit Amount
107100 , p_source_71 IN NUMBER
107101 --Invoice Currency Code
107102 , p_source_72 IN VARCHAR2
107103 --Payables Encumbrance Upgrade Credit Base Amount
107104 , p_source_73 IN NUMBER
107105 --Payables Encumbrance Upgrade Debit Account
107106 , p_source_74 IN NUMBER
107107 --Payables Encumbrance Upgrade Debit Amount
107108 , p_source_75 IN NUMBER
107109 --Payables Encumbrance Upgrade Debit Base Amount
107110 , p_source_76 IN NUMBER
107111 --Payables Encumbrance Upgrade Option
107112 , p_source_77 IN VARCHAR2
107113 --Invoice Distribution Amount
107114 , p_source_78 IN NUMBER
107115 --Deferred Accounting End Date
107116 , p_source_82 IN DATE
107117 --Deferred Accounting Option
107118 , p_source_83 IN VARCHAR2
107122 , p_source_85 IN VARCHAR2
107119 --Deferred Accounting Start Date
107120 , p_source_84 IN DATE
107121 --Override Accounted Amount Indicator
107123 , p_source_85_meaning IN VARCHAR2
107124 --Invoice Supplier Identifier
107125 , p_source_86 IN NUMBER
107126 --Invoice Supplier Site Identifier
107127 , p_source_87 IN NUMBER
107128 --Third Party Type
107129 , p_source_88 IN VARCHAR2
107130 --Parent Reversal Identifier
107131 , p_source_89 IN NUMBER
107132 --Invoice Distribution Statistical Amount
107133 , p_source_90 IN NUMBER
107134 --Invoice Distribution Tax Line Identifier
107135 , p_source_91 IN NUMBER
107136 --Invoice Distribution Tax Distribution Identifier from Tax
107137 , p_source_92 IN NUMBER
107138 --Invoice Distribution Summary Tax Line Identifier
107139 , p_source_93 IN NUMBER
107140 --Payables Upgrade Credit Encumbrance Type Identifier
107141 , p_source_94 IN NUMBER
107142 --Payables Upgrade Debit Encumbrance Type Identifier
107143 , p_source_95 IN NUMBER
107144 --Business Flow Accounts Payable Application Identifier
107145 , p_source_96 IN NUMBER
107146 --Business Flow Invoice Distribution Type
107147 , p_source_97 IN VARCHAR2
107148 --Business Flow Invoice Entity Code
107149 , p_source_98 IN VARCHAR2
107150 --Business Flow Invoice Distribution Identifier
107151 , p_source_99 IN NUMBER
107152 --Business Flow Invoice Identifier
107153 , p_source_100 IN NUMBER
107154 --Self-Assessed Tax Flag
107155 , p_source_145 IN VARCHAR2
107156 , p_source_145_meaning IN VARCHAR2
107157 --Invoice Exchange Date
107158 , p_source_146 IN DATE
107159 --Invoice Exchange Rate
107160 , p_source_147 IN NUMBER
107161 --Invoice Exchange Rate Type
107162 , p_source_148 IN VARCHAR2
107163 )
107164 IS
107165
107166 l_component_type VARCHAR2(80);
107167 l_component_code VARCHAR2(30);
107168 l_component_type_code VARCHAR2(1);
107169 l_component_appl_id INTEGER;
107170 l_amb_context_code VARCHAR2(30);
107171 l_entity_code VARCHAR2(30);
107172 l_event_class_code VARCHAR2(30);
107173 l_ae_header_id NUMBER;
107174 l_event_type_code VARCHAR2(30);
107175 l_line_definition_code VARCHAR2(30);
107176 l_line_definition_owner_code VARCHAR2(1);
107177 --
107178 -- adr variables
107179 l_segment VARCHAR2(30);
107180 l_ccid NUMBER;
107181 l_adr_transaction_coa_id NUMBER;
107182 l_adr_accounting_coa_id NUMBER;
107183 l_adr_flexfield_segment_code VARCHAR2(30);
107184 l_adr_flex_value_set_id NUMBER;
107185 l_adr_value_type_code VARCHAR2(30);
107186 l_adr_value_combination_id NUMBER;
107187 l_adr_value_segment_code VARCHAR2(30);
107188
107189 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
107190 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
107191 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
107192 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
107193
107194 -- 4262811 Variables ------------------------------------------------------------------------------------------
107195 l_entered_amt_idx NUMBER;
107196 l_accted_amt_idx NUMBER;
107197 l_acc_rev_flag VARCHAR2(1);
107198 l_accrual_line_num NUMBER;
107199 l_tmp_amt NUMBER;
107200 l_acc_rev_natural_side_code VARCHAR2(1);
107201
107202 l_num_entries NUMBER;
107203 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
107204 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
107205 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
107206 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
107207 l_recog_line_1 NUMBER;
107208 l_recog_line_2 NUMBER;
107209
107210 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
107211 l_bflow_applied_to_amt NUMBER; -- 5132302
107212 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
107213
107214 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
107215
107216 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
107217 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
107218
107219 ---------------------------------------------------------------------------------------------------------------
107220
107221
107222 --
107223 -- bulk performance
107224 --
107225 l_balance_type_code VARCHAR2(1);
107226 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
107227 l_log_module VARCHAR2(240);
107228
107229 --
107230 -- Upgrade strategy
107231 --
107232 l_actual_upg_option VARCHAR2(1);
107233 l_enc_upg_option VARCHAR2(1);
107234
107235 --
107236 BEGIN
107237 --
107238 IF g_log_enabled THEN
107239 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_189';
107240 END IF;
107241 --
107242 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
107243
107244 trace
107245 (p_msg => 'BEGIN of AcctLineType_189'
107246 ,p_level => C_LEVEL_PROCEDURE
107250 --
107247 ,p_module => l_log_module);
107248
107249 END IF;
107251 l_component_type := 'AMB_JLT';
107252 l_component_code := 'AP_NON_RECOV_TAX_INV';
107253 l_component_type_code := 'S';
107254 l_component_appl_id := 200;
107255 l_amb_context_code := 'DEFAULT';
107256 l_entity_code := 'AP_INVOICES';
107257 l_event_class_code := 'INVOICES';
107258 l_event_type_code := 'INVOICES_ALL';
107259 l_line_definition_owner_code := 'S';
107260 l_line_definition_code := 'ACCRUAL_INVOICES_ALL';
107261 --
107262 l_balance_type_code := 'A';
107263 l_segment := NULL;
107264 l_ccid := NULL;
107265 l_adr_transaction_coa_id := NULL;
107266 l_adr_accounting_coa_id := NULL;
107267 l_adr_flexfield_segment_code := NULL;
107268 l_adr_flex_value_set_id := NULL;
107269 l_adr_value_type_code := NULL;
107270 l_adr_value_combination_id := NULL;
107271 l_adr_value_segment_code := NULL;
107272
107273 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
107274 l_bflow_class_code := ''; -- 4219869 Business Flow
107275 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
107276 l_budgetary_control_flag := 'N';
107277
107278 l_bflow_applied_to_amt_idx := NULL; -- 5132302
107279 l_bflow_applied_to_amt := NULL; -- 5132302
107280 l_entered_amt_idx := NULL; -- 4262811
107281 l_accted_amt_idx := NULL; -- 4262811
107282 l_acc_rev_flag := NULL; -- 4262811
107283 l_accrual_line_num := NULL; -- 4262811
107284 l_tmp_amt := NULL; -- 4262811
107285 --
107286
107287 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
107288 l_balance_type_code <> 'B' THEN
107289 IF (NVL(p_source_28,'
107290 ') = 'NONREC_TAX' OR
107291 NVL(p_source_28,'
107292 ') = 'TERV' OR
107293 NVL(p_source_28,'
107294 ') = 'TIPV' OR
107295 NVL(p_source_28,'
107296 ') = 'TRV') AND
107297 NVL(p_source_54,'
107298 ') <> 'Y' AND
107299 NVL(p_source_145,'
107300 ') <> 'Y'
107301 THEN
107302
107303 --
107304 XLA_AE_LINES_PKG.SetNewLine;
107305
107306 p_balance_type_code := l_balance_type_code;
107307 -- set the flag so later we will know whether the gain loss line needs to be created
107308
107309 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
107310 p_actual_flag :='A';
107311 END IF;
107312
107313 --
107314 -- bulk performance
107315 --
107316 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
107317 p_header_num => 0); -- 4262811
107318 --
107319 -- set accounting line options
107320 --
107321 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
107322 p_natural_side_code => 'D'
107323 , p_gain_or_loss_flag => 'N'
107324 , p_gl_transfer_mode_code => 'S'
107325 , p_acct_entry_type_code => 'A'
107326 , p_switch_side_flag => 'Y'
107327 , p_merge_duplicate_code => 'W'
107328 );
107329 --
107330 l_acc_rev_natural_side_code := 'C'; -- 4262811
107331 --
107332 --
107333 -- set accounting line type info
107334 --
107335 xla_ae_lines_pkg.SetAcctLineType
107336 (p_component_type => l_component_type
107337 ,p_event_type_code => l_event_type_code
107338 ,p_line_definition_owner_code => l_line_definition_owner_code
107339 ,p_line_definition_code => l_line_definition_code
107340 ,p_accounting_line_code => l_component_code
107341 ,p_accounting_line_type_code => l_component_type_code
107342 ,p_accounting_line_appl_id => l_component_appl_id
107343 ,p_amb_context_code => l_amb_context_code
107344 ,p_entity_code => l_entity_code
107345 ,p_event_class_code => l_event_class_code);
107346 --
107347 -- set accounting class
107348 --
107349 xla_ae_lines_pkg.SetAcctClass(
107350 p_accounting_class_code => 'NRTAX'
107351 , p_ae_header_id => l_ae_header_id
107352 );
107353
107354 --
107355 -- set rounding class
107356 --
107357 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
107358 'NRTAX';
107359
107360 --
107361 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
107362 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
107363 --
107364 -- bulk performance
107365 --
107366 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
107367
107368 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
107369 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
107370
107371 -- 4955764
107372 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
107373 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
107374
107375 -- 4458381 Public Sector Enh
107376
107377 --
107378 -- set accounting attributes for the line type
107382 l_bflow_applied_to_amt_idx := 7; -- 5132302
107379 --
107380 l_entered_amt_idx := 24;
107381 l_accted_amt_idx := 29;
107383 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
107384 l_rec_acct_attrs.array_char_value(1) := p_source_58;
107385 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
107386 l_rec_acct_attrs.array_num_value(2) :=
107387 xla_ae_sources_pkg.GetSystemSourceNum(
107388 p_source_code => 'XLA_EVENT_APPL_ID'
107389 , p_source_type_code => 'Y'
107390 , p_source_application_id => 602
107391 );
107392 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
107393 l_rec_acct_attrs.array_char_value(3) := p_source_60;
107394 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
107395 l_rec_acct_attrs.array_char_value(4) :=
107396 xla_ae_sources_pkg.GetSystemSourceChar(
107397 p_source_code => 'XLA_ENTITY_CODE'
107398 , p_source_type_code => 'Y'
107399 , p_source_application_id => 602
107400 );
107401 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
107402 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_62);
107403 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
107404 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_63);
107405 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
107406 l_rec_acct_attrs.array_num_value(7) := p_source_78;
107407 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
107408 l_rec_acct_attrs.array_num_value(8) := p_source_96;
107409 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
107410 l_rec_acct_attrs.array_char_value(9) := p_source_97;
107411 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
107412 l_rec_acct_attrs.array_char_value(10) := p_source_98;
107413 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
107414 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_99);
107415 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
107416 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_100);
107417 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
107418 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_69);
107419 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
107420 l_rec_acct_attrs.array_char_value(14) := p_source_60;
107421 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
107422 l_rec_acct_attrs.array_num_value(15) := p_source_70;
107423 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
107424 l_rec_acct_attrs.array_num_value(16) := p_source_71;
107425 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
107426 l_rec_acct_attrs.array_char_value(17) := p_source_72;
107427 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
107428 l_rec_acct_attrs.array_num_value(18) := p_source_73;
107429 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
107430 l_rec_acct_attrs.array_num_value(19) := p_source_74;
107431 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
107432 l_rec_acct_attrs.array_num_value(20) := p_source_75;
107433 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
107434 l_rec_acct_attrs.array_char_value(21) := p_source_72;
107435 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
107436 l_rec_acct_attrs.array_num_value(22) := p_source_76;
107437 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
107438 l_rec_acct_attrs.array_char_value(23) := p_source_77;
107439 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_AMOUNT';
107440 l_rec_acct_attrs.array_num_value(24) := p_source_78;
107441 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_CODE';
107442 l_rec_acct_attrs.array_char_value(25) := p_source_72;
107443 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_DATE';
107444 l_rec_acct_attrs.array_date_value(26) := p_source_146;
107445 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE';
107446 l_rec_acct_attrs.array_num_value(27) := p_source_147;
107447 l_rec_acct_attrs.array_acct_attr_code(28) := 'EXCHANGE_RATE_TYPE';
107448 l_rec_acct_attrs.array_char_value(28) := p_source_148;
107449 l_rec_acct_attrs.array_acct_attr_code(29) := 'LEDGER_AMOUNT';
107450 l_rec_acct_attrs.array_num_value(29) := p_source_16;
107451 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_END_DATE';
107452 l_rec_acct_attrs.array_date_value(30) := p_source_82;
107453 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_OPTION';
107454 l_rec_acct_attrs.array_char_value(31) := p_source_83;
107455 l_rec_acct_attrs.array_acct_attr_code(32) := 'MULTIPERIOD_START_DATE';
107456 l_rec_acct_attrs.array_date_value(32) := p_source_84;
107457 l_rec_acct_attrs.array_acct_attr_code(33) := 'OVERRIDE_ACCTD_AMT_FLAG';
107458 l_rec_acct_attrs.array_char_value(33) := p_source_85;
107459 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_ID';
107460 l_rec_acct_attrs.array_num_value(34) := p_source_86;
107461 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_SITE_ID';
107462 l_rec_acct_attrs.array_num_value(35) := p_source_87;
107463 l_rec_acct_attrs.array_acct_attr_code(36) := 'PARTY_TYPE';
107464 l_rec_acct_attrs.array_char_value(36) := p_source_88;
107465 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_ID1';
107466 l_rec_acct_attrs.array_num_value(37) := to_char(p_source_89);
107467 l_rec_acct_attrs.array_acct_attr_code(38) := 'REVERSED_DISTRIBUTION_TYPE';
107468 l_rec_acct_attrs.array_char_value(38) := p_source_60;
107472 l_rec_acct_attrs.array_num_value(40) := p_source_91;
107469 l_rec_acct_attrs.array_acct_attr_code(39) := 'STATISTICAL_AMOUNT';
107470 l_rec_acct_attrs.array_num_value(39) := p_source_90;
107471 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_LINE_REF_ID';
107473 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_REC_NREC_DIST_REF_ID';
107474 l_rec_acct_attrs.array_num_value(41) := p_source_92;
107475 l_rec_acct_attrs.array_acct_attr_code(42) := 'TAX_SUMMARY_LINE_REF_ID';
107476 l_rec_acct_attrs.array_num_value(42) := p_source_93;
107477 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_CR_ENC_TYPE_ID';
107478 l_rec_acct_attrs.array_num_value(43) := p_source_94;
107479 l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
107480 l_rec_acct_attrs.array_num_value(44) := p_source_95;
107481
107482 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
107483 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
107484
107485 ---------------------------------------------------------------------------------------------------------------
107486 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
107487 ---------------------------------------------------------------------------------------------------------------
107488 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
107489
107490 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
107491 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
107492
107493 IF xla_accounting_cache_pkg.GetValueChar
107494 (p_source_code => 'LEDGER_CATEGORY_CODE'
107495 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
107496 AND l_bflow_method_code = 'PRIOR_ENTRY'
107497 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
107498 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
107499 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
107500 )
107501 THEN
107502 xla_ae_lines_pkg.BflowUpgEntry
107503 (p_business_method_code => l_bflow_method_code
107504 ,p_business_class_code => l_bflow_class_code
107505 ,p_balance_type => l_balance_type_code);
107506 ELSE
107507 NULL;
107508 -- No business flow processing for business flow method of NONE.
107509 END IF;
107510
107511 --
107512 -- call analytical criteria
107513 --
107514
107515 --
107516 -- call description
107517 --
107518
107519 xla_ae_lines_pkg.SetLineDescription(
107520 p_ae_header_id => l_ae_header_id
107521 ,p_description => Description_2 (
107522 p_application_id => p_application_id
107523 , p_ae_header_id => l_ae_header_id
107524 , p_source_1 => p_source_1
107525 )
107526 );
107527
107528
107529 --
107530 -- call ADRs
107531 -- Bug 4922099
107532 --
107533 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
107534 (NVL(l_actual_upg_option, 'N') = 'O') OR
107535 (NVL(l_enc_upg_option, 'N') = 'O')
107536 )
107537 THEN
107538 NULL;
107539 --
107540 --
107541
107542 l_ccid := AcctDerRule_35(
107543 p_application_id => p_application_id
107544 , p_ae_header_id => l_ae_header_id
107545 , p_source_25 => p_source_25
107546 , x_transaction_coa_id => l_adr_transaction_coa_id
107547 , x_accounting_coa_id => l_adr_accounting_coa_id
107548 , x_value_type_code => l_adr_value_type_code
107549 , p_side => 'NA'
107550 );
107551
107552 xla_ae_lines_pkg.set_ccid(
107553 p_code_combination_id => l_ccid
107554 , p_value_type_code => l_adr_value_type_code
107555 , p_transaction_coa_id => l_adr_transaction_coa_id
107556 , p_accounting_coa_id => l_adr_accounting_coa_id
107557 , p_adr_code => 'AP_INVOICE_DIST'
107558 , p_adr_type_code => 'S'
107559 , p_component_type => l_component_type
107560 , p_component_code => l_component_code
107561 , p_component_type_code => l_component_type_code
107562 , p_component_appl_id => l_component_appl_id
107563 , p_amb_context_code => l_amb_context_code
107564 , p_side => 'NA'
107565 );
107566
107567
107568 --
107569 --
107570 END IF;
107571 --
107572 -- Bug 4922099
107573 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
107574 (NVL(l_enc_upg_option, 'N') = 'O')
107575 ) AND
107576 (l_bflow_method_code = 'PRIOR_ENTRY')
107577 )
107578 THEN
107579 IF
107580 --
107581 1 = 2
107582 --
107583 THEN
107584 xla_accounting_err_pkg.build_message
107585 (p_appli_s_name => 'XLA'
107586 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
107587 ,p_token_1 => 'LINE_NUMBER'
107588 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
107589 ,p_token_2 => 'LINE_TYPE_NAME'
107590 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
107594 ,l_component_appl_id
107591 l_component_type
107592 ,l_component_code
107593 ,l_component_type_code
107595 ,l_amb_context_code
107596 ,l_entity_code
107597 ,l_event_class_code
107598 )
107599 ,p_token_3 => 'OWNER'
107600 ,p_value_3 => xla_lookups_pkg.get_meaning(
107601 p_lookup_type => 'XLA_OWNER_TYPE'
107602 ,p_lookup_code => l_component_type_code
107603 )
107604 ,p_token_4 => 'PRODUCT_NAME'
107605 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
107606 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
107607 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
107608 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
107609 ,p_ae_header_id => NULL
107610 );
107611
107612 IF (C_LEVEL_ERROR>= g_log_level) THEN
107613 trace
107614 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
107615 ,p_level => C_LEVEL_ERROR
107616 ,p_module => l_log_module);
107617 END IF;
107618 END IF;
107619 END IF;
107620 --
107621 --
107622 ------------------------------------------------------------------------------------------------
107623 -- 4219869 Business Flow
107624 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
107625 -- Prior Entry. Currently, the following code is always generated.
107626 ------------------------------------------------------------------------------------------------
107627 XLA_AE_LINES_PKG.ValidateCurrentLine;
107628
107629 ------------------------------------------------------------------------------------
107630 -- 4219869 Business Flow
107631 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
107632 ------------------------------------------------------------------------------------
107633 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
107634
107635 ----------------------------------------------------------------------------------
107636 -- 4219869 Business Flow
107637 -- Update journal entry status -- Need to generate this within IF <condition>
107638 ----------------------------------------------------------------------------------
107639 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
107640 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
107641 ,p_balance_type_code => l_balance_type_code
107642 );
107643
107644 -------------------------------------------------------------------------------------------
107645 -- 4262811 - Generate the Accrual Reversal lines
107646 -------------------------------------------------------------------------------------------
107647 BEGIN
107648 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
107649 (g_array_event(p_event_id).array_value_num('header_index'));
107650 IF l_acc_rev_flag IS NULL THEN
107651 l_acc_rev_flag := 'N';
107652 END IF;
107653 EXCEPTION
107654 WHEN OTHERS THEN
107655 l_acc_rev_flag := 'N';
107656 END;
107657 --
107658 IF (l_acc_rev_flag = 'Y') THEN
107659
107660 -- 4645092 ------------------------------------------------------------------------------
107661 -- To allow MPA report to determine if it should generate report process
107662 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
107663 ------------------------------------------------------------------------------------------
107664
107665 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
107666 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
107667 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
107668 -- call ADRs
107669 -- Bug 4922099
107670 --
107671 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
107672 (NVL(l_actual_upg_option, 'N') = 'O') OR
107673 (NVL(l_enc_upg_option, 'N') = 'O')
107674 )
107675 THEN
107676 NULL;
107677 --
107678 --
107679
107680 l_ccid := AcctDerRule_35(
107681 p_application_id => p_application_id
107682 , p_ae_header_id => l_ae_header_id
107683 , p_source_25 => p_source_25
107684 , x_transaction_coa_id => l_adr_transaction_coa_id
107685 , x_accounting_coa_id => l_adr_accounting_coa_id
107686 , x_value_type_code => l_adr_value_type_code
107690 xla_ae_lines_pkg.set_ccid(
107687 , p_side => 'NA'
107688 );
107689
107691 p_code_combination_id => l_ccid
107692 , p_value_type_code => l_adr_value_type_code
107693 , p_transaction_coa_id => l_adr_transaction_coa_id
107694 , p_accounting_coa_id => l_adr_accounting_coa_id
107695 , p_adr_code => 'AP_INVOICE_DIST'
107696 , p_adr_type_code => 'S'
107697 , p_component_type => l_component_type
107698 , p_component_code => l_component_code
107699 , p_component_type_code => l_component_type_code
107700 , p_component_appl_id => l_component_appl_id
107701 , p_amb_context_code => l_amb_context_code
107702 , p_side => 'NA'
107703 );
107704
107705
107706 --
107707 --
107708 END IF;
107709
107710 --
107711 -- Update the line information that should be overwritten
107712 --
107713 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
107714 p_header_num => 1);
107715 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
107716
107717 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
107718
107719 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
107720 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
107721 END IF;
107722
107723 --
107724 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
107725 --
107726 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
107727 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
107728 ELSE
107729 ---------------------------------------------------------------------------------------------------
107730 -- 4262811a Switch Sign
107731 ---------------------------------------------------------------------------------------------------
107732 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
107733 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
107734 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
107735 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
107736 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
107737 -- 5132302
107738 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
107739 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
107740
107741 END IF;
107742
107743 -- 4955764
107744 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
107745 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
107746
107747
107748 XLA_AE_LINES_PKG.ValidateCurrentLine;
107749 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
107750
107751 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
107752 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
107753 ,p_balance_type_code => l_balance_type_code);
107754
107755 END IF;
107756
107757 -----------------------------------------------------------------------------------------
107758 -- 4262811 Multiperiod Accounting
107759 -----------------------------------------------------------------------------------------
107760 -- No MPA option is assigned.
107761
107762
107763 END IF;
107764 END IF;
107765 --
107766
107767 --
107768 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
107769 trace
107770 (p_msg => 'END of AcctLineType_189'
107771 ,p_level => C_LEVEL_PROCEDURE
107772 ,p_module => l_log_module);
107773 END IF;
107774 --
107775 EXCEPTION
107776 WHEN xla_exceptions_pkg.application_exception THEN
107777 RAISE;
107778 WHEN OTHERS THEN
107779 xla_exceptions_pkg.raise_message
107780 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_189');
107781 END AcctLineType_189;
107782 --
107783
107784 ---------------------------------------
107785 --
107786 -- PRIVATE FUNCTION
107787 -- AcctLineType_190
107788 --
107789 ---------------------------------------
107790 PROCEDURE AcctLineType_190 (
107791 p_application_id IN NUMBER
107792 ,p_event_id IN NUMBER
107793 ,p_calculate_acctd_flag IN VARCHAR2
107794 ,p_calculate_g_l_flag IN VARCHAR2
107795 ,p_actual_flag IN OUT VARCHAR2
107796 ,p_balance_type_code OUT VARCHAR2
107797 ,p_gain_or_loss_ref OUT VARCHAR2
107798
107799 --Invoice Distribution Description
107800 , p_source_1 IN VARCHAR2
107801 --Invoice Distribution Ledger Amount
107802 , p_source_16 IN NUMBER
107803 --Invoice Distribution Account
107804 , p_source_25 IN NUMBER
107805 --Invoice Distribution Type
107806 , p_source_28 IN VARCHAR2
107807 , p_source_28_meaning IN VARCHAR2
107808 --Accrue on Receipt Option
107812 , p_source_58 IN VARCHAR2
107809 , p_source_54 IN VARCHAR2
107810 , p_source_54_meaning IN VARCHAR2
107811 --Accounting Reversal Indicator
107813 --Distribution Link Type
107814 , p_source_60 IN VARCHAR2
107815 --Allocation to Main Distribution Identifier
107816 , p_source_62 IN NUMBER
107817 --Invoice Identifier
107818 , p_source_63 IN NUMBER
107819 --Invoice Distribution Identifier
107820 , p_source_69 IN NUMBER
107821 --Payables Encumbrance Upgrade Credit Account
107822 , p_source_70 IN NUMBER
107823 --Payables Encumbrance Upgrade Credit Amount
107824 , p_source_71 IN NUMBER
107825 --Invoice Currency Code
107826 , p_source_72 IN VARCHAR2
107827 --Payables Encumbrance Upgrade Credit Base Amount
107828 , p_source_73 IN NUMBER
107829 --Payables Encumbrance Upgrade Debit Account
107830 , p_source_74 IN NUMBER
107831 --Payables Encumbrance Upgrade Debit Amount
107832 , p_source_75 IN NUMBER
107833 --Payables Encumbrance Upgrade Debit Base Amount
107834 , p_source_76 IN NUMBER
107835 --Payables Encumbrance Upgrade Option
107836 , p_source_77 IN VARCHAR2
107837 --Invoice Distribution Amount
107838 , p_source_78 IN NUMBER
107839 --Deferred Accounting End Date
107840 , p_source_82 IN DATE
107841 --Deferred Accounting Option
107842 , p_source_83 IN VARCHAR2
107843 --Deferred Accounting Start Date
107844 , p_source_84 IN DATE
107845 --Override Accounted Amount Indicator
107846 , p_source_85 IN VARCHAR2
107847 , p_source_85_meaning IN VARCHAR2
107848 --Invoice Supplier Identifier
107849 , p_source_86 IN NUMBER
107850 --Invoice Supplier Site Identifier
107851 , p_source_87 IN NUMBER
107852 --Third Party Type
107853 , p_source_88 IN VARCHAR2
107854 --Parent Reversal Identifier
107855 , p_source_89 IN NUMBER
107856 --Invoice Distribution Statistical Amount
107857 , p_source_90 IN NUMBER
107858 --Invoice Distribution Tax Line Identifier
107859 , p_source_91 IN NUMBER
107860 --Invoice Distribution Tax Distribution Identifier from Tax
107861 , p_source_92 IN NUMBER
107862 --Invoice Distribution Summary Tax Line Identifier
107863 , p_source_93 IN NUMBER
107864 --Payables Upgrade Credit Encumbrance Type Identifier
107865 , p_source_94 IN NUMBER
107866 --Payables Upgrade Debit Encumbrance Type Identifier
107867 , p_source_95 IN NUMBER
107868 --Business Flow Accounts Payable Application Identifier
107869 , p_source_96 IN NUMBER
107870 --Business Flow Invoice Distribution Type
107871 , p_source_97 IN VARCHAR2
107872 --Business Flow Invoice Entity Code
107873 , p_source_98 IN VARCHAR2
107874 --Business Flow Invoice Distribution Identifier
107875 , p_source_99 IN NUMBER
107876 --Business Flow Invoice Identifier
107877 , p_source_100 IN NUMBER
107878 --Self-Assessed Tax Flag
107879 , p_source_145 IN VARCHAR2
107880 , p_source_145_meaning IN VARCHAR2
107881 --Invoice Exchange Date
107882 , p_source_146 IN DATE
107883 --Invoice Exchange Rate
107884 , p_source_147 IN NUMBER
107885 --Invoice Exchange Rate Type
107886 , p_source_148 IN VARCHAR2
107887 )
107888 IS
107889
107890 l_component_type VARCHAR2(80);
107891 l_component_code VARCHAR2(30);
107892 l_component_type_code VARCHAR2(1);
107893 l_component_appl_id INTEGER;
107894 l_amb_context_code VARCHAR2(30);
107895 l_entity_code VARCHAR2(30);
107896 l_event_class_code VARCHAR2(30);
107897 l_ae_header_id NUMBER;
107898 l_event_type_code VARCHAR2(30);
107899 l_line_definition_code VARCHAR2(30);
107900 l_line_definition_owner_code VARCHAR2(1);
107901 --
107902 -- adr variables
107903 l_segment VARCHAR2(30);
107904 l_ccid NUMBER;
107905 l_adr_transaction_coa_id NUMBER;
107906 l_adr_accounting_coa_id NUMBER;
107907 l_adr_flexfield_segment_code VARCHAR2(30);
107908 l_adr_flex_value_set_id NUMBER;
107909 l_adr_value_type_code VARCHAR2(30);
107910 l_adr_value_combination_id NUMBER;
107911 l_adr_value_segment_code VARCHAR2(30);
107912
107913 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
107914 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
107915 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
107916 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
107917
107918 -- 4262811 Variables ------------------------------------------------------------------------------------------
107919 l_entered_amt_idx NUMBER;
107920 l_accted_amt_idx NUMBER;
107921 l_acc_rev_flag VARCHAR2(1);
107922 l_accrual_line_num NUMBER;
107923 l_tmp_amt NUMBER;
107924 l_acc_rev_natural_side_code VARCHAR2(1);
107925
107926 l_num_entries NUMBER;
107927 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
107928 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
107929 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
107930 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
107931 l_recog_line_1 NUMBER;
107935 l_bflow_applied_to_amt NUMBER; -- 5132302
107932 l_recog_line_2 NUMBER;
107933
107934 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
107936 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
107937
107938 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
107939
107940 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
107941 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
107942
107943 ---------------------------------------------------------------------------------------------------------------
107944
107945
107946 --
107947 -- bulk performance
107948 --
107949 l_balance_type_code VARCHAR2(1);
107950 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
107951 l_log_module VARCHAR2(240);
107952
107953 --
107954 -- Upgrade strategy
107955 --
107956 l_actual_upg_option VARCHAR2(1);
107957 l_enc_upg_option VARCHAR2(1);
107958
107959 --
107960 BEGIN
107961 --
107962 IF g_log_enabled THEN
107963 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_190';
107964 END IF;
107965 --
107966 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
107967
107968 trace
107969 (p_msg => 'BEGIN of AcctLineType_190'
107970 ,p_level => C_LEVEL_PROCEDURE
107971 ,p_module => l_log_module);
107972
107973 END IF;
107974 --
107975 l_component_type := 'AMB_JLT';
107976 l_component_code := 'AP_NON_RECOV_TAX_PREPAY';
107977 l_component_type_code := 'S';
107978 l_component_appl_id := 200;
107979 l_amb_context_code := 'DEFAULT';
107980 l_entity_code := 'AP_INVOICES';
107981 l_event_class_code := 'PREPAYMENTS';
107982 l_event_type_code := 'PREPAYMENTS_ALL';
107983 l_line_definition_owner_code := 'S';
107984 l_line_definition_code := 'ACCRUAL_PREPAYMENTS_ALL';
107985 --
107986 l_balance_type_code := 'A';
107987 l_segment := NULL;
107988 l_ccid := NULL;
107989 l_adr_transaction_coa_id := NULL;
107990 l_adr_accounting_coa_id := NULL;
107991 l_adr_flexfield_segment_code := NULL;
107992 l_adr_flex_value_set_id := NULL;
107993 l_adr_value_type_code := NULL;
107994 l_adr_value_combination_id := NULL;
107995 l_adr_value_segment_code := NULL;
107996
107997 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
107998 l_bflow_class_code := 'AP_PREPAY'; -- 4219869 Business Flow
107999 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
108000 l_budgetary_control_flag := 'N';
108001
108002 l_bflow_applied_to_amt_idx := NULL; -- 5132302
108003 l_bflow_applied_to_amt := NULL; -- 5132302
108004 l_entered_amt_idx := NULL; -- 4262811
108005 l_accted_amt_idx := NULL; -- 4262811
108006 l_acc_rev_flag := NULL; -- 4262811
108007 l_accrual_line_num := NULL; -- 4262811
108008 l_tmp_amt := NULL; -- 4262811
108009 --
108010
108011 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
108012 l_balance_type_code <> 'B' THEN
108013 IF (NVL(p_source_28,'
108014 ') = 'NONREC_TAX' OR
108015 NVL(p_source_28,'
108016 ') = 'TERV' OR
108017 NVL(p_source_28,'
108018 ') = 'TIPV' OR
108019 NVL(p_source_28,'
108020 ') = 'TRV') AND
108021 NVL(p_source_54,'
108022 ') <> 'Y' AND
108023 NVL(p_source_145,'
108024 ') <> 'Y'
108025 THEN
108026
108027 --
108028 XLA_AE_LINES_PKG.SetNewLine;
108029
108030 p_balance_type_code := l_balance_type_code;
108031 -- set the flag so later we will know whether the gain loss line needs to be created
108032
108033 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
108034 p_actual_flag :='A';
108035 END IF;
108036
108037 --
108038 -- bulk performance
108039 --
108040 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
108041 p_header_num => 0); -- 4262811
108042 --
108043 -- set accounting line options
108044 --
108045 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
108046 p_natural_side_code => 'D'
108047 , p_gain_or_loss_flag => 'N'
108048 , p_gl_transfer_mode_code => 'S'
108049 , p_acct_entry_type_code => 'A'
108050 , p_switch_side_flag => 'Y'
108051 , p_merge_duplicate_code => 'A'
108052 );
108053 --
108054 l_acc_rev_natural_side_code := 'C'; -- 4262811
108055 --
108056 --
108057 -- set accounting line type info
108058 --
108059 xla_ae_lines_pkg.SetAcctLineType
108060 (p_component_type => l_component_type
108061 ,p_event_type_code => l_event_type_code
108062 ,p_line_definition_owner_code => l_line_definition_owner_code
108063 ,p_line_definition_code => l_line_definition_code
108064 ,p_accounting_line_code => l_component_code
108065 ,p_accounting_line_type_code => l_component_type_code
108066 ,p_accounting_line_appl_id => l_component_appl_id
108067 ,p_amb_context_code => l_amb_context_code
108071 -- set accounting class
108068 ,p_entity_code => l_entity_code
108069 ,p_event_class_code => l_event_class_code);
108070 --
108072 --
108073 xla_ae_lines_pkg.SetAcctClass(
108074 p_accounting_class_code => 'NRTAX'
108075 , p_ae_header_id => l_ae_header_id
108076 );
108077
108078 --
108079 -- set rounding class
108080 --
108081 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
108082 'NRTAX';
108083
108084 --
108085 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
108086 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
108087 --
108088 -- bulk performance
108089 --
108090 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
108091
108092 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
108093 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
108094
108095 -- 4955764
108096 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
108097 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
108098
108099 -- 4458381 Public Sector Enh
108100
108101 --
108102 -- set accounting attributes for the line type
108103 --
108104 l_entered_amt_idx := 23;
108105 l_accted_amt_idx := 28;
108106 l_bflow_applied_to_amt_idx := NULL; -- 5132302
108107 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
108108 l_rec_acct_attrs.array_char_value(1) := p_source_58;
108109 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
108110 l_rec_acct_attrs.array_num_value(2) :=
108111 xla_ae_sources_pkg.GetSystemSourceNum(
108112 p_source_code => 'XLA_EVENT_APPL_ID'
108113 , p_source_type_code => 'Y'
108114 , p_source_application_id => 602
108115 );
108116 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
108117 l_rec_acct_attrs.array_char_value(3) := p_source_60;
108118 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
108119 l_rec_acct_attrs.array_char_value(4) :=
108120 xla_ae_sources_pkg.GetSystemSourceChar(
108121 p_source_code => 'XLA_ENTITY_CODE'
108122 , p_source_type_code => 'Y'
108123 , p_source_application_id => 602
108124 );
108125 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
108126 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_62);
108127 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
108128 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_63);
108129 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
108130 l_rec_acct_attrs.array_num_value(7) := p_source_96;
108131 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
108132 l_rec_acct_attrs.array_char_value(8) := p_source_97;
108133 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
108134 l_rec_acct_attrs.array_char_value(9) := p_source_98;
108135 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
108136 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_99);
108137 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
108138 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_100);
108139 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
108140 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_69);
108141 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
108142 l_rec_acct_attrs.array_char_value(13) := p_source_60;
108143 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
108144 l_rec_acct_attrs.array_num_value(14) := p_source_70;
108145 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
108146 l_rec_acct_attrs.array_num_value(15) := p_source_71;
108147 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
108148 l_rec_acct_attrs.array_char_value(16) := p_source_72;
108149 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
108150 l_rec_acct_attrs.array_num_value(17) := p_source_73;
108151 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
108152 l_rec_acct_attrs.array_num_value(18) := p_source_74;
108153 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
108154 l_rec_acct_attrs.array_num_value(19) := p_source_75;
108155 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
108156 l_rec_acct_attrs.array_char_value(20) := p_source_72;
108157 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
108158 l_rec_acct_attrs.array_num_value(21) := p_source_76;
108159 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
108160 l_rec_acct_attrs.array_char_value(22) := p_source_77;
108161 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
108162 l_rec_acct_attrs.array_num_value(23) := p_source_78;
108163 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
108164 l_rec_acct_attrs.array_char_value(24) := p_source_72;
108165 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
108166 l_rec_acct_attrs.array_date_value(25) := p_source_146;
108167 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
108168 l_rec_acct_attrs.array_num_value(26) := p_source_147;
108169 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
108173 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
108170 l_rec_acct_attrs.array_char_value(27) := p_source_148;
108171 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
108172 l_rec_acct_attrs.array_num_value(28) := p_source_16;
108174 l_rec_acct_attrs.array_date_value(29) := p_source_82;
108175 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
108176 l_rec_acct_attrs.array_char_value(30) := p_source_83;
108177 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
108178 l_rec_acct_attrs.array_date_value(31) := p_source_84;
108179 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
108180 l_rec_acct_attrs.array_char_value(32) := p_source_85;
108181 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
108182 l_rec_acct_attrs.array_num_value(33) := p_source_86;
108183 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
108184 l_rec_acct_attrs.array_num_value(34) := p_source_87;
108185 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
108186 l_rec_acct_attrs.array_char_value(35) := p_source_88;
108187 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
108188 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_89);
108189 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
108190 l_rec_acct_attrs.array_char_value(37) := p_source_60;
108191 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
108192 l_rec_acct_attrs.array_num_value(38) := p_source_90;
108193 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
108194 l_rec_acct_attrs.array_num_value(39) := p_source_91;
108195 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
108196 l_rec_acct_attrs.array_num_value(40) := p_source_92;
108197 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
108198 l_rec_acct_attrs.array_num_value(41) := p_source_93;
108199 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
108200 l_rec_acct_attrs.array_num_value(42) := p_source_94;
108201 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
108202 l_rec_acct_attrs.array_num_value(43) := p_source_95;
108203
108204 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
108205 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
108206
108207 ---------------------------------------------------------------------------------------------------------------
108208 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
108209 ---------------------------------------------------------------------------------------------------------------
108210 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
108211
108212 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
108213 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
108214
108215 IF xla_accounting_cache_pkg.GetValueChar
108216 (p_source_code => 'LEDGER_CATEGORY_CODE'
108217 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
108218 AND l_bflow_method_code = 'PRIOR_ENTRY'
108219 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
108220 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
108221 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
108222 )
108223 THEN
108224 xla_ae_lines_pkg.BflowUpgEntry
108225 (p_business_method_code => l_bflow_method_code
108226 ,p_business_class_code => l_bflow_class_code
108227 ,p_balance_type => l_balance_type_code);
108228 ELSE
108229 NULL;
108230 -- No business flow processing for business flow method of NONE.
108231 END IF;
108232
108233 --
108234 -- call analytical criteria
108235 --
108236
108237 --
108238 -- call description
108239 --
108240
108241 xla_ae_lines_pkg.SetLineDescription(
108242 p_ae_header_id => l_ae_header_id
108243 ,p_description => Description_2 (
108244 p_application_id => p_application_id
108245 , p_ae_header_id => l_ae_header_id
108246 , p_source_1 => p_source_1
108247 )
108248 );
108249
108250
108251 --
108252 -- call ADRs
108253 -- Bug 4922099
108254 --
108255 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
108256 (NVL(l_actual_upg_option, 'N') = 'O') OR
108257 (NVL(l_enc_upg_option, 'N') = 'O')
108258 )
108259 THEN
108260 NULL;
108261 --
108262 --
108263
108264 l_ccid := AcctDerRule_35(
108265 p_application_id => p_application_id
108266 , p_ae_header_id => l_ae_header_id
108267 , p_source_25 => p_source_25
108268 , x_transaction_coa_id => l_adr_transaction_coa_id
108269 , x_accounting_coa_id => l_adr_accounting_coa_id
108270 , x_value_type_code => l_adr_value_type_code
108271 , p_side => 'NA'
108272 );
108273
108274 xla_ae_lines_pkg.set_ccid(
108275 p_code_combination_id => l_ccid
108276 , p_value_type_code => l_adr_value_type_code
108277 , p_transaction_coa_id => l_adr_transaction_coa_id
108278 , p_accounting_coa_id => l_adr_accounting_coa_id
108279 , p_adr_code => 'AP_INVOICE_DIST'
108283 , p_component_type_code => l_component_type_code
108280 , p_adr_type_code => 'S'
108281 , p_component_type => l_component_type
108282 , p_component_code => l_component_code
108284 , p_component_appl_id => l_component_appl_id
108285 , p_amb_context_code => l_amb_context_code
108286 , p_side => 'NA'
108287 );
108288
108289
108290 --
108291 --
108292 END IF;
108293 --
108294 -- Bug 4922099
108295 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
108296 (NVL(l_enc_upg_option, 'N') = 'O')
108297 ) AND
108298 (l_bflow_method_code = 'PRIOR_ENTRY')
108299 )
108300 THEN
108301 IF
108302 --
108303 1 = 2
108304 --
108305 THEN
108306 xla_accounting_err_pkg.build_message
108307 (p_appli_s_name => 'XLA'
108308 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
108309 ,p_token_1 => 'LINE_NUMBER'
108310 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
108311 ,p_token_2 => 'LINE_TYPE_NAME'
108312 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
108313 l_component_type
108314 ,l_component_code
108315 ,l_component_type_code
108316 ,l_component_appl_id
108317 ,l_amb_context_code
108318 ,l_entity_code
108319 ,l_event_class_code
108320 )
108321 ,p_token_3 => 'OWNER'
108322 ,p_value_3 => xla_lookups_pkg.get_meaning(
108323 p_lookup_type => 'XLA_OWNER_TYPE'
108324 ,p_lookup_code => l_component_type_code
108325 )
108326 ,p_token_4 => 'PRODUCT_NAME'
108327 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
108328 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
108329 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
108330 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
108331 ,p_ae_header_id => NULL
108332 );
108333
108334 IF (C_LEVEL_ERROR>= g_log_level) THEN
108335 trace
108336 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
108337 ,p_level => C_LEVEL_ERROR
108338 ,p_module => l_log_module);
108339 END IF;
108340 END IF;
108341 END IF;
108342 --
108343 --
108344 ------------------------------------------------------------------------------------------------
108345 -- 4219869 Business Flow
108346 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
108347 -- Prior Entry. Currently, the following code is always generated.
108348 ------------------------------------------------------------------------------------------------
108349 XLA_AE_LINES_PKG.ValidateCurrentLine;
108350
108351 ------------------------------------------------------------------------------------
108352 -- 4219869 Business Flow
108353 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
108354 ------------------------------------------------------------------------------------
108355 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
108356
108357 ----------------------------------------------------------------------------------
108358 -- 4219869 Business Flow
108359 -- Update journal entry status -- Need to generate this within IF <condition>
108360 ----------------------------------------------------------------------------------
108361 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
108362 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
108363 ,p_balance_type_code => l_balance_type_code
108364 );
108365
108366 -------------------------------------------------------------------------------------------
108367 -- 4262811 - Generate the Accrual Reversal lines
108368 -------------------------------------------------------------------------------------------
108369 BEGIN
108370 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
108371 (g_array_event(p_event_id).array_value_num('header_index'));
108372 IF l_acc_rev_flag IS NULL THEN
108373 l_acc_rev_flag := 'N';
108374 END IF;
108378 END;
108375 EXCEPTION
108376 WHEN OTHERS THEN
108377 l_acc_rev_flag := 'N';
108379 --
108380 IF (l_acc_rev_flag = 'Y') THEN
108381
108382 -- 4645092 ------------------------------------------------------------------------------
108383 -- To allow MPA report to determine if it should generate report process
108384 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
108385 ------------------------------------------------------------------------------------------
108386
108387 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
108388 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
108389 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
108390 -- call ADRs
108391 -- Bug 4922099
108392 --
108393 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
108394 (NVL(l_actual_upg_option, 'N') = 'O') OR
108395 (NVL(l_enc_upg_option, 'N') = 'O')
108396 )
108397 THEN
108398 NULL;
108399 --
108400 --
108401
108402 l_ccid := AcctDerRule_35(
108403 p_application_id => p_application_id
108404 , p_ae_header_id => l_ae_header_id
108405 , p_source_25 => p_source_25
108406 , x_transaction_coa_id => l_adr_transaction_coa_id
108407 , x_accounting_coa_id => l_adr_accounting_coa_id
108408 , x_value_type_code => l_adr_value_type_code
108409 , p_side => 'NA'
108410 );
108411
108412 xla_ae_lines_pkg.set_ccid(
108413 p_code_combination_id => l_ccid
108414 , p_value_type_code => l_adr_value_type_code
108415 , p_transaction_coa_id => l_adr_transaction_coa_id
108416 , p_accounting_coa_id => l_adr_accounting_coa_id
108417 , p_adr_code => 'AP_INVOICE_DIST'
108418 , p_adr_type_code => 'S'
108419 , p_component_type => l_component_type
108420 , p_component_code => l_component_code
108421 , p_component_type_code => l_component_type_code
108422 , p_component_appl_id => l_component_appl_id
108423 , p_amb_context_code => l_amb_context_code
108424 , p_side => 'NA'
108425 );
108426
108427
108428 --
108429 --
108430 END IF;
108431
108432 --
108433 -- Update the line information that should be overwritten
108434 --
108435 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
108436 p_header_num => 1);
108437 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
108438
108439 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
108440
108441 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
108442 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
108443 END IF;
108444
108445 --
108446 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
108447 --
108448 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
108449 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
108450 ELSE
108451 ---------------------------------------------------------------------------------------------------
108452 -- 4262811a Switch Sign
108453 ---------------------------------------------------------------------------------------------------
108454 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
108455 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
108456 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
108457 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
108458 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
108459 -- 5132302
108460 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
108461 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
108462
108463 END IF;
108464
108465 -- 4955764
108466 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
108467 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
108468
108469
108470 XLA_AE_LINES_PKG.ValidateCurrentLine;
108471 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
108472
108473 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
108474 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
108475 ,p_balance_type_code => l_balance_type_code);
108476
108477 END IF;
108478
108479 -----------------------------------------------------------------------------------------
108480 -- 4262811 Multiperiod Accounting
108481 -----------------------------------------------------------------------------------------
108482 -- No MPA option is assigned.
108483
108484
108485 END IF;
108486 END IF;
108487 --
108488
108489 --
108493 ,p_level => C_LEVEL_PROCEDURE
108490 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
108491 trace
108492 (p_msg => 'END of AcctLineType_190'
108494 ,p_module => l_log_module);
108495 END IF;
108496 --
108497 EXCEPTION
108498 WHEN xla_exceptions_pkg.application_exception THEN
108499 RAISE;
108500 WHEN OTHERS THEN
108501 xla_exceptions_pkg.raise_message
108502 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_190');
108503 END AcctLineType_190;
108504 --
108505
108506 ---------------------------------------
108507 --
108508 -- PRIVATE FUNCTION
108509 -- AcctLineType_191
108510 --
108511 ---------------------------------------
108512 PROCEDURE AcctLineType_191 (
108513 p_application_id IN NUMBER
108514 ,p_event_id IN NUMBER
108515 ,p_calculate_acctd_flag IN VARCHAR2
108516 ,p_calculate_g_l_flag IN VARCHAR2
108517 ,p_actual_flag IN OUT VARCHAR2
108518 ,p_balance_type_code OUT VARCHAR2
108519 ,p_gain_or_loss_ref OUT VARCHAR2
108520
108521 --Invoice Distribution Description
108522 , p_source_1 IN VARCHAR2
108523 --Invoice Distribution Ledger Amount
108524 , p_source_16 IN NUMBER
108525 --Invoice Distribution Account
108526 , p_source_25 IN NUMBER
108527 --Invoice Distribution Type
108528 , p_source_28 IN VARCHAR2
108529 , p_source_28_meaning IN VARCHAR2
108530 --Accrue on Receipt Option
108531 , p_source_54 IN VARCHAR2
108532 , p_source_54_meaning IN VARCHAR2
108533 --Accounting Reversal Indicator
108534 , p_source_58 IN VARCHAR2
108535 --Distribution Link Type
108536 , p_source_60 IN VARCHAR2
108537 --Allocation to Main Distribution Identifier
108538 , p_source_62 IN NUMBER
108539 --Invoice Identifier
108540 , p_source_63 IN NUMBER
108541 --Invoice Distribution Identifier
108542 , p_source_69 IN NUMBER
108543 --Payables Encumbrance Upgrade Credit Account
108544 , p_source_70 IN NUMBER
108545 --Payables Encumbrance Upgrade Credit Amount
108546 , p_source_71 IN NUMBER
108547 --Invoice Currency Code
108548 , p_source_72 IN VARCHAR2
108549 --Payables Encumbrance Upgrade Credit Base Amount
108550 , p_source_73 IN NUMBER
108551 --Payables Encumbrance Upgrade Debit Account
108552 , p_source_74 IN NUMBER
108553 --Payables Encumbrance Upgrade Debit Amount
108554 , p_source_75 IN NUMBER
108555 --Payables Encumbrance Upgrade Debit Base Amount
108556 , p_source_76 IN NUMBER
108557 --Payables Encumbrance Upgrade Option
108558 , p_source_77 IN VARCHAR2
108559 --Invoice Distribution Amount
108560 , p_source_78 IN NUMBER
108561 --Purchase Order Exchange Rate Date
108562 , p_source_79 IN DATE
108563 --Purchase Order Exchange Rate
108564 , p_source_80 IN NUMBER
108565 --Purchase Order Exchange Rate Type
108566 , p_source_81 IN VARCHAR2
108567 --Deferred Accounting End Date
108568 , p_source_82 IN DATE
108569 --Deferred Accounting Option
108570 , p_source_83 IN VARCHAR2
108571 --Deferred Accounting Start Date
108572 , p_source_84 IN DATE
108573 --Override Accounted Amount Indicator
108574 , p_source_85 IN VARCHAR2
108575 , p_source_85_meaning IN VARCHAR2
108576 --Invoice Supplier Identifier
108577 , p_source_86 IN NUMBER
108578 --Invoice Supplier Site Identifier
108579 , p_source_87 IN NUMBER
108580 --Third Party Type
108581 , p_source_88 IN VARCHAR2
108582 --Parent Reversal Identifier
108583 , p_source_89 IN NUMBER
108584 --Invoice Distribution Statistical Amount
108585 , p_source_90 IN NUMBER
108586 --Invoice Distribution Tax Line Identifier
108587 , p_source_91 IN NUMBER
108588 --Invoice Distribution Tax Distribution Identifier from Tax
108589 , p_source_92 IN NUMBER
108590 --Invoice Distribution Summary Tax Line Identifier
108591 , p_source_93 IN NUMBER
108592 --Payables Upgrade Credit Encumbrance Type Identifier
108593 , p_source_94 IN NUMBER
108594 --Payables Upgrade Debit Encumbrance Type Identifier
108595 , p_source_95 IN NUMBER
108596 --Business Flow Accounts Payable Application Identifier
108597 , p_source_96 IN NUMBER
108598 --Business Flow Invoice Distribution Type
108599 , p_source_97 IN VARCHAR2
108600 --Business Flow Invoice Entity Code
108601 , p_source_98 IN VARCHAR2
108602 --Business Flow Invoice Distribution Identifier
108603 , p_source_99 IN NUMBER
108604 --Business Flow Invoice Identifier
108605 , p_source_100 IN NUMBER
108606 --Self-Assessed Tax Flag
108607 , p_source_145 IN VARCHAR2
108608 , p_source_145_meaning IN VARCHAR2
108609 )
108610 IS
108611
108612 l_component_type VARCHAR2(80);
108613 l_component_code VARCHAR2(30);
108614 l_component_type_code VARCHAR2(1);
108615 l_component_appl_id INTEGER;
108616 l_amb_context_code VARCHAR2(30);
108617 l_entity_code VARCHAR2(30);
108618 l_event_class_code VARCHAR2(30);
108619 l_ae_header_id NUMBER;
108620 l_event_type_code VARCHAR2(30);
108621 l_line_definition_code VARCHAR2(30);
108622 l_line_definition_owner_code VARCHAR2(1);
108623 --
108624 -- adr variables
108628 l_adr_accounting_coa_id NUMBER;
108625 l_segment VARCHAR2(30);
108626 l_ccid NUMBER;
108627 l_adr_transaction_coa_id NUMBER;
108629 l_adr_flexfield_segment_code VARCHAR2(30);
108630 l_adr_flex_value_set_id NUMBER;
108631 l_adr_value_type_code VARCHAR2(30);
108632 l_adr_value_combination_id NUMBER;
108633 l_adr_value_segment_code VARCHAR2(30);
108634
108635 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
108636 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
108637 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
108638 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
108639
108640 -- 4262811 Variables ------------------------------------------------------------------------------------------
108641 l_entered_amt_idx NUMBER;
108642 l_accted_amt_idx NUMBER;
108643 l_acc_rev_flag VARCHAR2(1);
108644 l_accrual_line_num NUMBER;
108645 l_tmp_amt NUMBER;
108646 l_acc_rev_natural_side_code VARCHAR2(1);
108647
108648 l_num_entries NUMBER;
108649 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
108650 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
108651 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
108652 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
108653 l_recog_line_1 NUMBER;
108654 l_recog_line_2 NUMBER;
108655
108656 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
108657 l_bflow_applied_to_amt NUMBER; -- 5132302
108658 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
108659
108660 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
108661
108662 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
108663 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
108664
108665 ---------------------------------------------------------------------------------------------------------------
108666
108667
108668 --
108669 -- bulk performance
108670 --
108671 l_balance_type_code VARCHAR2(1);
108672 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
108673 l_log_module VARCHAR2(240);
108674
108675 --
108676 -- Upgrade strategy
108677 --
108678 l_actual_upg_option VARCHAR2(1);
108679 l_enc_upg_option VARCHAR2(1);
108680
108681 --
108682 BEGIN
108683 --
108684 IF g_log_enabled THEN
108685 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_191';
108686 END IF;
108687 --
108688 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
108689
108690 trace
108691 (p_msg => 'BEGIN of AcctLineType_191'
108692 ,p_level => C_LEVEL_PROCEDURE
108693 ,p_module => l_log_module);
108694
108695 END IF;
108696 --
108697 l_component_type := 'AMB_JLT';
108698 l_component_code := 'AP_NRTAX_ACCRUAL_PREPAY';
108699 l_component_type_code := 'S';
108700 l_component_appl_id := 200;
108701 l_amb_context_code := 'DEFAULT';
108702 l_entity_code := 'AP_INVOICES';
108703 l_event_class_code := 'PREPAYMENTS';
108704 l_event_type_code := 'PREPAYMENTS_ALL';
108705 l_line_definition_owner_code := 'S';
108706 l_line_definition_code := 'ACCRUAL_PREPAYMENTS_ALL';
108707 --
108708 l_balance_type_code := 'A';
108709 l_segment := NULL;
108710 l_ccid := NULL;
108711 l_adr_transaction_coa_id := NULL;
108712 l_adr_accounting_coa_id := NULL;
108713 l_adr_flexfield_segment_code := NULL;
108714 l_adr_flex_value_set_id := NULL;
108715 l_adr_value_type_code := NULL;
108716 l_adr_value_combination_id := NULL;
108717 l_adr_value_segment_code := NULL;
108718
108719 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
108720 l_bflow_class_code := 'AP_PREPAY'; -- 4219869 Business Flow
108721 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
108722 l_budgetary_control_flag := 'N';
108723
108724 l_bflow_applied_to_amt_idx := NULL; -- 5132302
108725 l_bflow_applied_to_amt := NULL; -- 5132302
108726 l_entered_amt_idx := NULL; -- 4262811
108727 l_accted_amt_idx := NULL; -- 4262811
108728 l_acc_rev_flag := NULL; -- 4262811
108729 l_accrual_line_num := NULL; -- 4262811
108730 l_tmp_amt := NULL; -- 4262811
108731 --
108732
108733 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
108734 l_balance_type_code <> 'B' THEN
108735 IF NVL(p_source_28,'
108736 ') = 'NONREC_TAX' AND
108737 NVL(p_source_54,'
108738 ') = 'Y' AND
108739 NVL(p_source_145,'
108740 ') <> 'Y'
108741 THEN
108742
108743 --
108744 XLA_AE_LINES_PKG.SetNewLine;
108745
108746 p_balance_type_code := l_balance_type_code;
108747 -- set the flag so later we will know whether the gain loss line needs to be created
108748
108749 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
108750 p_actual_flag :='A';
108751 END IF;
108752
108753 --
108754 -- bulk performance
108755 --
108756 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
108760 --
108757 p_header_num => 0); -- 4262811
108758 --
108759 -- set accounting line options
108761 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
108762 p_natural_side_code => 'D'
108763 , p_gain_or_loss_flag => 'N'
108764 , p_gl_transfer_mode_code => 'S'
108765 , p_acct_entry_type_code => 'A'
108766 , p_switch_side_flag => 'Y'
108767 , p_merge_duplicate_code => 'A'
108768 );
108769 --
108770 l_acc_rev_natural_side_code := 'C'; -- 4262811
108771 --
108772 --
108773 -- set accounting line type info
108774 --
108775 xla_ae_lines_pkg.SetAcctLineType
108776 (p_component_type => l_component_type
108777 ,p_event_type_code => l_event_type_code
108778 ,p_line_definition_owner_code => l_line_definition_owner_code
108779 ,p_line_definition_code => l_line_definition_code
108780 ,p_accounting_line_code => l_component_code
108781 ,p_accounting_line_type_code => l_component_type_code
108782 ,p_accounting_line_appl_id => l_component_appl_id
108783 ,p_amb_context_code => l_amb_context_code
108784 ,p_entity_code => l_entity_code
108785 ,p_event_class_code => l_event_class_code);
108786 --
108787 -- set accounting class
108788 --
108789 xla_ae_lines_pkg.SetAcctClass(
108790 p_accounting_class_code => 'NRTAX'
108791 , p_ae_header_id => l_ae_header_id
108792 );
108793
108794 --
108795 -- set rounding class
108796 --
108797 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
108798 'NRTAX';
108799
108800 --
108801 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
108802 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
108803 --
108804 -- bulk performance
108805 --
108806 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
108807
108808 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
108809 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
108810
108811 -- 4955764
108812 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
108813 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
108814
108815 -- 4458381 Public Sector Enh
108816
108817 --
108818 -- set accounting attributes for the line type
108819 --
108820 l_entered_amt_idx := 23;
108821 l_accted_amt_idx := 28;
108822 l_bflow_applied_to_amt_idx := NULL; -- 5132302
108823 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
108824 l_rec_acct_attrs.array_char_value(1) := p_source_58;
108825 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
108826 l_rec_acct_attrs.array_num_value(2) :=
108827 xla_ae_sources_pkg.GetSystemSourceNum(
108828 p_source_code => 'XLA_EVENT_APPL_ID'
108829 , p_source_type_code => 'Y'
108830 , p_source_application_id => 602
108831 );
108832 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
108833 l_rec_acct_attrs.array_char_value(3) := p_source_60;
108834 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
108835 l_rec_acct_attrs.array_char_value(4) :=
108836 xla_ae_sources_pkg.GetSystemSourceChar(
108837 p_source_code => 'XLA_ENTITY_CODE'
108838 , p_source_type_code => 'Y'
108839 , p_source_application_id => 602
108840 );
108841 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
108842 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_62);
108843 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
108844 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_63);
108845 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
108846 l_rec_acct_attrs.array_num_value(7) := p_source_96;
108847 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
108848 l_rec_acct_attrs.array_char_value(8) := p_source_97;
108849 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
108850 l_rec_acct_attrs.array_char_value(9) := p_source_98;
108851 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
108852 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_99);
108853 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
108854 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_100);
108855 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
108856 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_69);
108857 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
108858 l_rec_acct_attrs.array_char_value(13) := p_source_60;
108859 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
108860 l_rec_acct_attrs.array_num_value(14) := p_source_70;
108861 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
108862 l_rec_acct_attrs.array_num_value(15) := p_source_71;
108863 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
108864 l_rec_acct_attrs.array_char_value(16) := p_source_72;
108865 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
108866 l_rec_acct_attrs.array_num_value(17) := p_source_73;
108870 l_rec_acct_attrs.array_num_value(19) := p_source_75;
108867 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
108868 l_rec_acct_attrs.array_num_value(18) := p_source_74;
108869 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
108871 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
108872 l_rec_acct_attrs.array_char_value(20) := p_source_72;
108873 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
108874 l_rec_acct_attrs.array_num_value(21) := p_source_76;
108875 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
108876 l_rec_acct_attrs.array_char_value(22) := p_source_77;
108877 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
108878 l_rec_acct_attrs.array_num_value(23) := p_source_78;
108879 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
108880 l_rec_acct_attrs.array_char_value(24) := p_source_72;
108881 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
108882 l_rec_acct_attrs.array_date_value(25) := p_source_79;
108883 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
108884 l_rec_acct_attrs.array_num_value(26) := p_source_80;
108885 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
108886 l_rec_acct_attrs.array_char_value(27) := p_source_81;
108887 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
108888 l_rec_acct_attrs.array_num_value(28) := p_source_16;
108889 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
108890 l_rec_acct_attrs.array_date_value(29) := p_source_82;
108891 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
108892 l_rec_acct_attrs.array_char_value(30) := p_source_83;
108893 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
108894 l_rec_acct_attrs.array_date_value(31) := p_source_84;
108895 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
108896 l_rec_acct_attrs.array_char_value(32) := p_source_85;
108897 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
108898 l_rec_acct_attrs.array_num_value(33) := p_source_86;
108899 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
108900 l_rec_acct_attrs.array_num_value(34) := p_source_87;
108901 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
108902 l_rec_acct_attrs.array_char_value(35) := p_source_88;
108903 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
108904 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_89);
108905 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
108906 l_rec_acct_attrs.array_char_value(37) := p_source_60;
108907 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
108908 l_rec_acct_attrs.array_num_value(38) := p_source_90;
108909 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
108910 l_rec_acct_attrs.array_num_value(39) := p_source_91;
108911 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
108912 l_rec_acct_attrs.array_num_value(40) := p_source_92;
108913 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
108914 l_rec_acct_attrs.array_num_value(41) := p_source_93;
108915 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
108916 l_rec_acct_attrs.array_num_value(42) := p_source_94;
108917 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
108918 l_rec_acct_attrs.array_num_value(43) := p_source_95;
108919
108920 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
108921 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
108922
108923 ---------------------------------------------------------------------------------------------------------------
108924 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
108925 ---------------------------------------------------------------------------------------------------------------
108926 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
108927
108928 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
108929 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
108930
108931 IF xla_accounting_cache_pkg.GetValueChar
108932 (p_source_code => 'LEDGER_CATEGORY_CODE'
108933 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
108934 AND l_bflow_method_code = 'PRIOR_ENTRY'
108935 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
108936 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
108937 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
108938 )
108939 THEN
108940 xla_ae_lines_pkg.BflowUpgEntry
108941 (p_business_method_code => l_bflow_method_code
108942 ,p_business_class_code => l_bflow_class_code
108943 ,p_balance_type => l_balance_type_code);
108944 ELSE
108945 NULL;
108946 -- No business flow processing for business flow method of NONE.
108947 END IF;
108948
108949 --
108950 -- call analytical criteria
108951 --
108952
108953 --
108954 -- call description
108955 --
108956
108957 xla_ae_lines_pkg.SetLineDescription(
108958 p_ae_header_id => l_ae_header_id
108959 ,p_description => Description_2 (
108963 )
108960 p_application_id => p_application_id
108961 , p_ae_header_id => l_ae_header_id
108962 , p_source_1 => p_source_1
108964 );
108965
108966
108967 --
108968 -- call ADRs
108969 -- Bug 4922099
108970 --
108971 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
108972 (NVL(l_actual_upg_option, 'N') = 'O') OR
108973 (NVL(l_enc_upg_option, 'N') = 'O')
108974 )
108975 THEN
108976 NULL;
108977 --
108978 --
108979
108980 l_ccid := AcctDerRule_35(
108981 p_application_id => p_application_id
108982 , p_ae_header_id => l_ae_header_id
108983 , p_source_25 => p_source_25
108984 , x_transaction_coa_id => l_adr_transaction_coa_id
108985 , x_accounting_coa_id => l_adr_accounting_coa_id
108986 , x_value_type_code => l_adr_value_type_code
108987 , p_side => 'NA'
108988 );
108989
108990 xla_ae_lines_pkg.set_ccid(
108991 p_code_combination_id => l_ccid
108992 , p_value_type_code => l_adr_value_type_code
108993 , p_transaction_coa_id => l_adr_transaction_coa_id
108994 , p_accounting_coa_id => l_adr_accounting_coa_id
108995 , p_adr_code => 'AP_INVOICE_DIST'
108996 , p_adr_type_code => 'S'
108997 , p_component_type => l_component_type
108998 , p_component_code => l_component_code
108999 , p_component_type_code => l_component_type_code
109000 , p_component_appl_id => l_component_appl_id
109001 , p_amb_context_code => l_amb_context_code
109002 , p_side => 'NA'
109003 );
109004
109005
109006 --
109007 --
109008 END IF;
109009 --
109010 -- Bug 4922099
109011 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
109012 (NVL(l_enc_upg_option, 'N') = 'O')
109013 ) AND
109014 (l_bflow_method_code = 'PRIOR_ENTRY')
109015 )
109016 THEN
109017 IF
109018 --
109019 1 = 2
109020 --
109021 THEN
109022 xla_accounting_err_pkg.build_message
109023 (p_appli_s_name => 'XLA'
109024 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
109025 ,p_token_1 => 'LINE_NUMBER'
109026 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
109027 ,p_token_2 => 'LINE_TYPE_NAME'
109028 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
109029 l_component_type
109030 ,l_component_code
109031 ,l_component_type_code
109032 ,l_component_appl_id
109033 ,l_amb_context_code
109034 ,l_entity_code
109035 ,l_event_class_code
109036 )
109037 ,p_token_3 => 'OWNER'
109038 ,p_value_3 => xla_lookups_pkg.get_meaning(
109039 p_lookup_type => 'XLA_OWNER_TYPE'
109040 ,p_lookup_code => l_component_type_code
109041 )
109042 ,p_token_4 => 'PRODUCT_NAME'
109043 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
109044 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
109045 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
109046 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
109047 ,p_ae_header_id => NULL
109048 );
109049
109050 IF (C_LEVEL_ERROR>= g_log_level) THEN
109051 trace
109052 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
109053 ,p_level => C_LEVEL_ERROR
109054 ,p_module => l_log_module);
109055 END IF;
109056 END IF;
109057 END IF;
109058 --
109059 --
109060 ------------------------------------------------------------------------------------------------
109061 -- 4219869 Business Flow
109062 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
109063 -- Prior Entry. Currently, the following code is always generated.
109064 ------------------------------------------------------------------------------------------------
109065 XLA_AE_LINES_PKG.ValidateCurrentLine;
109066
109070 ------------------------------------------------------------------------------------
109067 ------------------------------------------------------------------------------------
109068 -- 4219869 Business Flow
109069 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
109071 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
109072
109073 ----------------------------------------------------------------------------------
109074 -- 4219869 Business Flow
109075 -- Update journal entry status -- Need to generate this within IF <condition>
109076 ----------------------------------------------------------------------------------
109077 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
109078 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
109079 ,p_balance_type_code => l_balance_type_code
109080 );
109081
109082 -------------------------------------------------------------------------------------------
109083 -- 4262811 - Generate the Accrual Reversal lines
109084 -------------------------------------------------------------------------------------------
109085 BEGIN
109086 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
109087 (g_array_event(p_event_id).array_value_num('header_index'));
109088 IF l_acc_rev_flag IS NULL THEN
109089 l_acc_rev_flag := 'N';
109090 END IF;
109091 EXCEPTION
109092 WHEN OTHERS THEN
109093 l_acc_rev_flag := 'N';
109094 END;
109095 --
109096 IF (l_acc_rev_flag = 'Y') THEN
109097
109098 -- 4645092 ------------------------------------------------------------------------------
109099 -- To allow MPA report to determine if it should generate report process
109100 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
109101 ------------------------------------------------------------------------------------------
109102
109103 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
109104 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
109105 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
109106 -- call ADRs
109107 -- Bug 4922099
109108 --
109109 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
109110 (NVL(l_actual_upg_option, 'N') = 'O') OR
109111 (NVL(l_enc_upg_option, 'N') = 'O')
109112 )
109113 THEN
109114 NULL;
109115 --
109116 --
109117
109118 l_ccid := AcctDerRule_35(
109119 p_application_id => p_application_id
109120 , p_ae_header_id => l_ae_header_id
109121 , p_source_25 => p_source_25
109122 , x_transaction_coa_id => l_adr_transaction_coa_id
109123 , x_accounting_coa_id => l_adr_accounting_coa_id
109124 , x_value_type_code => l_adr_value_type_code
109125 , p_side => 'NA'
109126 );
109127
109128 xla_ae_lines_pkg.set_ccid(
109129 p_code_combination_id => l_ccid
109130 , p_value_type_code => l_adr_value_type_code
109131 , p_transaction_coa_id => l_adr_transaction_coa_id
109132 , p_accounting_coa_id => l_adr_accounting_coa_id
109133 , p_adr_code => 'AP_INVOICE_DIST'
109134 , p_adr_type_code => 'S'
109135 , p_component_type => l_component_type
109136 , p_component_code => l_component_code
109137 , p_component_type_code => l_component_type_code
109138 , p_component_appl_id => l_component_appl_id
109139 , p_amb_context_code => l_amb_context_code
109140 , p_side => 'NA'
109141 );
109142
109143
109144 --
109145 --
109146 END IF;
109147
109148 --
109149 -- Update the line information that should be overwritten
109150 --
109151 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
109152 p_header_num => 1);
109153 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
109154
109155 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
109156
109157 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
109158 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
109159 END IF;
109160
109161 --
109162 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
109163 --
109164 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
109165 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
109166 ELSE
109167 ---------------------------------------------------------------------------------------------------
109168 -- 4262811a Switch Sign
109169 ---------------------------------------------------------------------------------------------------
109170 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
109171 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
109172 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
109173 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
109177 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
109174 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
109175 -- 5132302
109176 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
109178
109179 END IF;
109180
109181 -- 4955764
109182 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
109183 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
109184
109185
109186 XLA_AE_LINES_PKG.ValidateCurrentLine;
109187 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
109188
109189 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
109190 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
109191 ,p_balance_type_code => l_balance_type_code);
109192
109193 END IF;
109194
109195 -----------------------------------------------------------------------------------------
109196 -- 4262811 Multiperiod Accounting
109197 -----------------------------------------------------------------------------------------
109198 -- No MPA option is assigned.
109199
109200
109201 END IF;
109202 END IF;
109203 --
109204
109205 --
109206 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
109207 trace
109208 (p_msg => 'END of AcctLineType_191'
109209 ,p_level => C_LEVEL_PROCEDURE
109210 ,p_module => l_log_module);
109211 END IF;
109212 --
109213 EXCEPTION
109214 WHEN xla_exceptions_pkg.application_exception THEN
109215 RAISE;
109216 WHEN OTHERS THEN
109217 xla_exceptions_pkg.raise_message
109218 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_191');
109219 END AcctLineType_191;
109220 --
109221
109222 ---------------------------------------
109223 --
109224 -- PRIVATE FUNCTION
109225 -- AcctLineType_192
109226 --
109227 ---------------------------------------
109228 PROCEDURE AcctLineType_192 (
109229 p_application_id IN NUMBER
109230 ,p_event_id IN NUMBER
109231 ,p_calculate_acctd_flag IN VARCHAR2
109232 ,p_calculate_g_l_flag IN VARCHAR2
109233 ,p_actual_flag IN OUT VARCHAR2
109234 ,p_balance_type_code OUT VARCHAR2
109235 ,p_gain_or_loss_ref OUT VARCHAR2
109236
109237 --Payment Currency Code
109238 , p_source_8 IN VARCHAR2
109239 --Payment Card Accrued Account
109240 , p_source_44 IN NUMBER
109241 --Accounting Reversal Indicator
109242 , p_source_58 IN VARCHAR2
109243 --Distribution Link Type
109244 , p_source_60 IN VARCHAR2
109245 --Override Accounted Amount Indicator
109246 , p_source_85 IN VARCHAR2
109247 , p_source_85_meaning IN VARCHAR2
109248 --Third Party Type
109249 , p_source_88 IN VARCHAR2
109250 --Invoice Distribution Tax Line Identifier
109251 , p_source_91 IN NUMBER
109252 --Invoice Distribution Tax Distribution Identifier from Tax
109253 , p_source_92 IN NUMBER
109254 --Invoice Distribution Summary Tax Line Identifier
109255 , p_source_93 IN NUMBER
109256 --Business Flow Accounts Payable Application Identifier
109257 , p_source_96 IN NUMBER
109258 --Business Flow Invoice Distribution Type
109259 , p_source_97 IN VARCHAR2
109260 --Business Flow Invoice Entity Code
109261 , p_source_98 IN VARCHAR2
109262 --Business Flow Invoice Distribution Identifier
109263 , p_source_99 IN NUMBER
109264 --Business Flow Invoice Identifier
109265 , p_source_100 IN NUMBER
109266 --Payment Distribution Amount
109267 , p_source_102 IN NUMBER
109268 --Payment Distribution Identifier
109269 , p_source_107 IN NUMBER
109270 --Payment Supplier Identifier
109271 , p_source_113 IN NUMBER
109272 --Payment Supplier Site Identifier
109273 , p_source_114 IN NUMBER
109274 --Payment Distribution Reversed Identifier
109275 , p_source_115 IN NUMBER
109276 --Payment Distribution (Payment Rate) Ledger Amount
109277 , p_source_118 IN NUMBER
109278 --Payment Exchange Date
109279 , p_source_120 IN DATE
109280 --Payment Exchange Rate
109281 , p_source_121 IN NUMBER
109282 --Payment Exchange Rate Type
109283 , p_source_122 IN VARCHAR2
109284 --Payment Processing Type
109285 , p_source_126 IN VARCHAR2
109286 --Invoice Distribution Amount of the Payment Distribution
109287 , p_source_127 IN NUMBER
109288 )
109289 IS
109290
109291 l_component_type VARCHAR2(80);
109292 l_component_code VARCHAR2(30);
109293 l_component_type_code VARCHAR2(1);
109294 l_component_appl_id INTEGER;
109295 l_amb_context_code VARCHAR2(30);
109296 l_entity_code VARCHAR2(30);
109297 l_event_class_code VARCHAR2(30);
109298 l_ae_header_id NUMBER;
109299 l_event_type_code VARCHAR2(30);
109300 l_line_definition_code VARCHAR2(30);
109301 l_line_definition_owner_code VARCHAR2(1);
109302 --
109303 -- adr variables
109304 l_segment VARCHAR2(30);
109305 l_ccid NUMBER;
109306 l_adr_transaction_coa_id NUMBER;
109307 l_adr_accounting_coa_id NUMBER;
109308 l_adr_flexfield_segment_code VARCHAR2(30);
109309 l_adr_flex_value_set_id NUMBER;
109310 l_adr_value_type_code VARCHAR2(30);
109314 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
109311 l_adr_value_combination_id NUMBER;
109312 l_adr_value_segment_code VARCHAR2(30);
109313
109315 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
109316 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
109317 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
109318
109319 -- 4262811 Variables ------------------------------------------------------------------------------------------
109320 l_entered_amt_idx NUMBER;
109321 l_accted_amt_idx NUMBER;
109322 l_acc_rev_flag VARCHAR2(1);
109323 l_accrual_line_num NUMBER;
109324 l_tmp_amt NUMBER;
109325 l_acc_rev_natural_side_code VARCHAR2(1);
109326
109327 l_num_entries NUMBER;
109328 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
109329 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
109330 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
109331 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
109332 l_recog_line_1 NUMBER;
109333 l_recog_line_2 NUMBER;
109334
109335 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
109336 l_bflow_applied_to_amt NUMBER; -- 5132302
109337 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
109338
109339 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
109340
109341 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
109342 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
109343
109344 ---------------------------------------------------------------------------------------------------------------
109345
109346
109347 --
109348 -- bulk performance
109349 --
109350 l_balance_type_code VARCHAR2(1);
109351 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
109352 l_log_module VARCHAR2(240);
109353
109354 --
109355 -- Upgrade strategy
109356 --
109357 l_actual_upg_option VARCHAR2(1);
109358 l_enc_upg_option VARCHAR2(1);
109359
109360 --
109361 BEGIN
109362 --
109363 IF g_log_enabled THEN
109364 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_192';
109365 END IF;
109366 --
109367 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
109368
109369 trace
109370 (p_msg => 'BEGIN of AcctLineType_192'
109371 ,p_level => C_LEVEL_PROCEDURE
109372 ,p_module => l_log_module);
109373
109374 END IF;
109375 --
109376 l_component_type := 'AMB_JLT';
109377 l_component_code := 'AP_PAYCARD_PMT';
109378 l_component_type_code := 'S';
109379 l_component_appl_id := 200;
109380 l_amb_context_code := 'DEFAULT';
109381 l_entity_code := 'AP_PAYMENTS';
109382 l_event_class_code := 'PAYMENTS';
109383 l_event_type_code := 'PAYMENTS_ALL';
109384 l_line_definition_owner_code := 'S';
109385 l_line_definition_code := 'ACCRUAL_PAYMENTS_ALL';
109386 --
109387 l_balance_type_code := 'A';
109388 l_segment := NULL;
109389 l_ccid := NULL;
109390 l_adr_transaction_coa_id := NULL;
109391 l_adr_accounting_coa_id := NULL;
109392 l_adr_flexfield_segment_code := NULL;
109393 l_adr_flex_value_set_id := NULL;
109394 l_adr_value_type_code := NULL;
109395 l_adr_value_combination_id := NULL;
109396 l_adr_value_segment_code := NULL;
109397
109398 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
109399 l_bflow_class_code := ''; -- 4219869 Business Flow
109400 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
109401 l_budgetary_control_flag := 'N';
109402
109403 l_bflow_applied_to_amt_idx := NULL; -- 5132302
109404 l_bflow_applied_to_amt := NULL; -- 5132302
109405 l_entered_amt_idx := NULL; -- 4262811
109406 l_accted_amt_idx := NULL; -- 4262811
109407 l_acc_rev_flag := NULL; -- 4262811
109408 l_accrual_line_num := NULL; -- 4262811
109409 l_tmp_amt := NULL; -- 4262811
109410 --
109411
109412 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
109413 l_balance_type_code <> 'B' THEN
109414 IF NVL(p_source_126,'
109415 ') = 'PAYMENTCARD'
109416 THEN
109417
109418 --
109419 XLA_AE_LINES_PKG.SetNewLine;
109420
109421 p_balance_type_code := l_balance_type_code;
109422 -- set the flag so later we will know whether the gain loss line needs to be created
109423
109424 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
109425 p_actual_flag :='A';
109426 END IF;
109427
109428 --
109429 -- bulk performance
109430 --
109431 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
109432 p_header_num => 0); -- 4262811
109433 --
109434 -- set accounting line options
109435 --
109436 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
109437 p_natural_side_code => 'C'
109438 , p_gain_or_loss_flag => 'N'
109439 , p_gl_transfer_mode_code => 'S'
109443 );
109440 , p_acct_entry_type_code => 'A'
109441 , p_switch_side_flag => 'Y'
109442 , p_merge_duplicate_code => 'A'
109444 --
109445 l_acc_rev_natural_side_code := 'D'; -- 4262811
109446 --
109447 --
109448 -- set accounting line type info
109449 --
109450 xla_ae_lines_pkg.SetAcctLineType
109451 (p_component_type => l_component_type
109452 ,p_event_type_code => l_event_type_code
109453 ,p_line_definition_owner_code => l_line_definition_owner_code
109454 ,p_line_definition_code => l_line_definition_code
109455 ,p_accounting_line_code => l_component_code
109456 ,p_accounting_line_type_code => l_component_type_code
109457 ,p_accounting_line_appl_id => l_component_appl_id
109458 ,p_amb_context_code => l_amb_context_code
109459 ,p_entity_code => l_entity_code
109460 ,p_event_class_code => l_event_class_code);
109461 --
109462 -- set accounting class
109463 --
109464 xla_ae_lines_pkg.SetAcctClass(
109465 p_accounting_class_code => 'PAYMENTCARD'
109466 , p_ae_header_id => l_ae_header_id
109467 );
109468
109469 --
109470 -- set rounding class
109471 --
109472 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
109473 'PAYMENTCARD';
109474
109475 --
109476 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
109477 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
109478 --
109479 -- bulk performance
109480 --
109481 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
109482
109483 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
109484 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
109485
109486 -- 4955764
109487 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
109488 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
109489
109490 -- 4458381 Public Sector Enh
109491
109492 --
109493 -- set accounting attributes for the line type
109494 --
109495 l_entered_amt_idx := 10;
109496 l_accted_amt_idx := 15;
109497 l_bflow_applied_to_amt_idx := 2; -- 5132302
109498 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
109499 l_rec_acct_attrs.array_char_value(1) := p_source_58;
109500 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
109501 l_rec_acct_attrs.array_num_value(2) := p_source_127;
109502 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
109503 l_rec_acct_attrs.array_num_value(3) := p_source_96;
109504 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
109505 l_rec_acct_attrs.array_char_value(4) := p_source_97;
109506 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
109507 l_rec_acct_attrs.array_char_value(5) := p_source_98;
109508 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
109509 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_99);
109510 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
109511 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_100);
109512 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
109513 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_107);
109514 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
109515 l_rec_acct_attrs.array_char_value(9) := p_source_60;
109516 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
109517 l_rec_acct_attrs.array_num_value(10) := p_source_102;
109518 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
109519 l_rec_acct_attrs.array_char_value(11) := p_source_8;
109520 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
109521 l_rec_acct_attrs.array_date_value(12) := p_source_120;
109522 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
109523 l_rec_acct_attrs.array_num_value(13) := p_source_121;
109524 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
109525 l_rec_acct_attrs.array_char_value(14) := p_source_122;
109526 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
109527 l_rec_acct_attrs.array_num_value(15) := p_source_118;
109528 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
109529 l_rec_acct_attrs.array_char_value(16) := p_source_85;
109530 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
109531 l_rec_acct_attrs.array_num_value(17) := p_source_113;
109532 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
109533 l_rec_acct_attrs.array_num_value(18) := p_source_114;
109534 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
109535 l_rec_acct_attrs.array_char_value(19) := p_source_88;
109536 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
109537 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_115);
109538 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
109539 l_rec_acct_attrs.array_char_value(21) := p_source_60;
109540 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
109541 l_rec_acct_attrs.array_num_value(22) := p_source_91;
109542 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
109546
109543 l_rec_acct_attrs.array_num_value(23) := p_source_92;
109544 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
109545 l_rec_acct_attrs.array_num_value(24) := p_source_93;
109547 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
109548 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
109549
109550 ---------------------------------------------------------------------------------------------------------------
109551 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
109552 ---------------------------------------------------------------------------------------------------------------
109553 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
109554
109555 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
109556 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
109557
109558 IF xla_accounting_cache_pkg.GetValueChar
109559 (p_source_code => 'LEDGER_CATEGORY_CODE'
109560 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
109561 AND l_bflow_method_code = 'PRIOR_ENTRY'
109562 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
109563 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
109564 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
109565 )
109566 THEN
109567 xla_ae_lines_pkg.BflowUpgEntry
109568 (p_business_method_code => l_bflow_method_code
109569 ,p_business_class_code => l_bflow_class_code
109570 ,p_balance_type => l_balance_type_code);
109571 ELSE
109572 NULL;
109573 -- No business flow processing for business flow method of NONE.
109574 END IF;
109575
109576 --
109577 -- call analytical criteria
109578 --
109579
109580 --
109581 -- call description
109582 --
109583 -- No description or it is inherited.
109584 --
109585 -- call ADRs
109586 -- Bug 4922099
109587 --
109588 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
109589 (NVL(l_actual_upg_option, 'N') = 'O') OR
109590 (NVL(l_enc_upg_option, 'N') = 'O')
109591 )
109592 THEN
109593 NULL;
109594 --
109595 --
109596
109597 l_ccid := AcctDerRule_37(
109598 p_application_id => p_application_id
109599 , p_ae_header_id => l_ae_header_id
109600 , p_source_44 => p_source_44
109601 , x_transaction_coa_id => l_adr_transaction_coa_id
109602 , x_accounting_coa_id => l_adr_accounting_coa_id
109603 , x_value_type_code => l_adr_value_type_code
109604 , p_side => 'NA'
109605 );
109606
109607 xla_ae_lines_pkg.set_ccid(
109608 p_code_combination_id => l_ccid
109609 , p_value_type_code => l_adr_value_type_code
109610 , p_transaction_coa_id => l_adr_transaction_coa_id
109611 , p_accounting_coa_id => l_adr_accounting_coa_id
109612 , p_adr_code => 'AP_PAYCARD_ACCRUED_ADR'
109613 , p_adr_type_code => 'S'
109614 , p_component_type => l_component_type
109615 , p_component_code => l_component_code
109616 , p_component_type_code => l_component_type_code
109617 , p_component_appl_id => l_component_appl_id
109618 , p_amb_context_code => l_amb_context_code
109619 , p_side => 'NA'
109620 );
109621
109622
109623 --
109624 --
109625 END IF;
109626 --
109627 -- Bug 4922099
109628 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
109629 (NVL(l_enc_upg_option, 'N') = 'O')
109630 ) AND
109631 (l_bflow_method_code = 'PRIOR_ENTRY')
109632 )
109633 THEN
109634 IF
109635 --
109636 1 = 2
109637 --
109638 THEN
109639 xla_accounting_err_pkg.build_message
109640 (p_appli_s_name => 'XLA'
109641 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
109642 ,p_token_1 => 'LINE_NUMBER'
109643 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
109644 ,p_token_2 => 'LINE_TYPE_NAME'
109645 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
109646 l_component_type
109647 ,l_component_code
109648 ,l_component_type_code
109649 ,l_component_appl_id
109650 ,l_amb_context_code
109651 ,l_entity_code
109652 ,l_event_class_code
109653 )
109657 ,p_lookup_code => l_component_type_code
109654 ,p_token_3 => 'OWNER'
109655 ,p_value_3 => xla_lookups_pkg.get_meaning(
109656 p_lookup_type => 'XLA_OWNER_TYPE'
109658 )
109659 ,p_token_4 => 'PRODUCT_NAME'
109660 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
109661 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
109662 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
109663 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
109664 ,p_ae_header_id => NULL
109665 );
109666
109667 IF (C_LEVEL_ERROR>= g_log_level) THEN
109668 trace
109669 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
109670 ,p_level => C_LEVEL_ERROR
109671 ,p_module => l_log_module);
109672 END IF;
109673 END IF;
109674 END IF;
109675 --
109676 --
109677 ------------------------------------------------------------------------------------------------
109678 -- 4219869 Business Flow
109679 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
109680 -- Prior Entry. Currently, the following code is always generated.
109681 ------------------------------------------------------------------------------------------------
109682 XLA_AE_LINES_PKG.ValidateCurrentLine;
109683
109684 ------------------------------------------------------------------------------------
109685 -- 4219869 Business Flow
109686 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
109687 ------------------------------------------------------------------------------------
109688 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
109689
109690 ----------------------------------------------------------------------------------
109691 -- 4219869 Business Flow
109692 -- Update journal entry status -- Need to generate this within IF <condition>
109693 ----------------------------------------------------------------------------------
109694 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
109695 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
109696 ,p_balance_type_code => l_balance_type_code
109697 );
109698
109699 -------------------------------------------------------------------------------------------
109700 -- 4262811 - Generate the Accrual Reversal lines
109701 -------------------------------------------------------------------------------------------
109702 BEGIN
109703 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
109704 (g_array_event(p_event_id).array_value_num('header_index'));
109705 IF l_acc_rev_flag IS NULL THEN
109706 l_acc_rev_flag := 'N';
109707 END IF;
109708 EXCEPTION
109709 WHEN OTHERS THEN
109710 l_acc_rev_flag := 'N';
109711 END;
109712 --
109713 IF (l_acc_rev_flag = 'Y') THEN
109714
109715 -- 4645092 ------------------------------------------------------------------------------
109716 -- To allow MPA report to determine if it should generate report process
109717 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
109718 ------------------------------------------------------------------------------------------
109719
109720 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
109721 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
109722 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
109723 -- call ADRs
109724 -- Bug 4922099
109725 --
109726 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
109727 (NVL(l_actual_upg_option, 'N') = 'O') OR
109728 (NVL(l_enc_upg_option, 'N') = 'O')
109729 )
109730 THEN
109731 NULL;
109732 --
109733 --
109734
109735 l_ccid := AcctDerRule_37(
109736 p_application_id => p_application_id
109737 , p_ae_header_id => l_ae_header_id
109738 , p_source_44 => p_source_44
109739 , x_transaction_coa_id => l_adr_transaction_coa_id
109740 , x_accounting_coa_id => l_adr_accounting_coa_id
109741 , x_value_type_code => l_adr_value_type_code
109742 , p_side => 'NA'
109743 );
109744
109745 xla_ae_lines_pkg.set_ccid(
109746 p_code_combination_id => l_ccid
109747 , p_value_type_code => l_adr_value_type_code
109748 , p_transaction_coa_id => l_adr_transaction_coa_id
109749 , p_accounting_coa_id => l_adr_accounting_coa_id
109750 , p_adr_code => 'AP_PAYCARD_ACCRUED_ADR'
109751 , p_adr_type_code => 'S'
109752 , p_component_type => l_component_type
109753 , p_component_code => l_component_code
109754 , p_component_type_code => l_component_type_code
109758 );
109755 , p_component_appl_id => l_component_appl_id
109756 , p_amb_context_code => l_amb_context_code
109757 , p_side => 'NA'
109759
109760
109761 --
109762 --
109763 END IF;
109764
109765 --
109766 -- Update the line information that should be overwritten
109767 --
109768 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
109769 p_header_num => 1);
109770 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
109771
109772 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
109773
109774 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
109775 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
109776 END IF;
109777
109778 --
109779 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
109780 --
109781 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
109782 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
109783 ELSE
109784 ---------------------------------------------------------------------------------------------------
109785 -- 4262811a Switch Sign
109786 ---------------------------------------------------------------------------------------------------
109787 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
109788 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
109789 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
109790 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
109791 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
109792 -- 5132302
109793 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
109794 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
109795
109796 END IF;
109797
109798 -- 4955764
109799 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
109800 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
109801
109802
109803 XLA_AE_LINES_PKG.ValidateCurrentLine;
109804 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
109805
109806 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
109807 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
109808 ,p_balance_type_code => l_balance_type_code);
109809
109810 END IF;
109811
109812 -----------------------------------------------------------------------------------------
109813 -- 4262811 Multiperiod Accounting
109814 -----------------------------------------------------------------------------------------
109815 -- No MPA option is assigned.
109816
109817
109818 END IF;
109819 END IF;
109820 --
109821
109822 --
109823 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
109824 trace
109825 (p_msg => 'END of AcctLineType_192'
109826 ,p_level => C_LEVEL_PROCEDURE
109827 ,p_module => l_log_module);
109828 END IF;
109829 --
109830 EXCEPTION
109831 WHEN xla_exceptions_pkg.application_exception THEN
109832 RAISE;
109833 WHEN OTHERS THEN
109834 xla_exceptions_pkg.raise_message
109835 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_192');
109836 END AcctLineType_192;
109837 --
109838
109839 ---------------------------------------
109840 --
109841 -- PRIVATE FUNCTION
109842 -- AcctLineType_193
109843 --
109844 ---------------------------------------
109845 PROCEDURE AcctLineType_193 (
109846 p_application_id IN NUMBER
109847 ,p_event_id IN NUMBER
109848 ,p_calculate_acctd_flag IN VARCHAR2
109849 ,p_calculate_g_l_flag IN VARCHAR2
109850 ,p_actual_flag IN OUT VARCHAR2
109851 ,p_balance_type_code OUT VARCHAR2
109852 ,p_gain_or_loss_ref OUT VARCHAR2
109853
109854 --Payment Currency Code
109855 , p_source_8 IN VARCHAR2
109856 --Automatic Offsets Value
109857 , p_source_10 IN VARCHAR2
109858 , p_source_10_meaning IN VARCHAR2
109859 --Invoice Distribution Account
109860 , p_source_25 IN NUMBER
109861 --Payables Options Rounding Account
109862 , p_source_45 IN NUMBER
109863 --When to Account for Payment Option
109864 , p_source_57 IN VARCHAR2
109865 --Accounting Reversal Indicator
109866 , p_source_58 IN VARCHAR2
109867 --Distribution Link Type
109868 , p_source_60 IN VARCHAR2
109869 --Override Accounted Amount Indicator
109870 , p_source_85 IN VARCHAR2
109871 , p_source_85_meaning IN VARCHAR2
109872 --Third Party Type
109873 , p_source_88 IN VARCHAR2
109874 --Invoice Distribution Tax Line Identifier
109875 , p_source_91 IN NUMBER
109876 --Invoice Distribution Summary Tax Line Identifier
109877 , p_source_93 IN NUMBER
109878 --Business Flow Accounts Payable Application Identifier
109879 , p_source_96 IN NUMBER
109880 --Payment Distribution Type
109884 , p_source_102 IN NUMBER
109881 , p_source_101 IN VARCHAR2
109882 , p_source_101_meaning IN VARCHAR2
109883 --Payment Distribution Amount
109885 --Business Flow Payment Distribution Type
109886 , p_source_103 IN VARCHAR2
109887 --Business Flow Payment Entity Code
109888 , p_source_104 IN VARCHAR2
109889 --Business Flow Payment Distribution Identifier
109890 , p_source_105 IN NUMBER
109891 --Business Flow Payment Identifier
109892 , p_source_106 IN NUMBER
109893 --Payment Distribution Identifier
109894 , p_source_107 IN NUMBER
109895 --Payment Supplier Identifier
109896 , p_source_113 IN NUMBER
109897 --Payment Supplier Site Identifier
109898 , p_source_114 IN NUMBER
109899 --Payment Distribution Reversed Identifier
109900 , p_source_115 IN NUMBER
109901 --Payment Maturity Date
109902 , p_source_117 IN DATE
109903 --Payment Distribution (Payment Rate) Ledger Amount
109904 , p_source_118 IN NUMBER
109905 --Payment Exchange Date
109906 , p_source_120 IN DATE
109907 --Payment Exchange Rate
109908 , p_source_121 IN NUMBER
109909 --Payment Exchange Rate Type
109910 , p_source_122 IN VARCHAR2
109911 )
109912 IS
109913
109914 l_component_type VARCHAR2(80);
109915 l_component_code VARCHAR2(30);
109916 l_component_type_code VARCHAR2(1);
109917 l_component_appl_id INTEGER;
109918 l_amb_context_code VARCHAR2(30);
109919 l_entity_code VARCHAR2(30);
109920 l_event_class_code VARCHAR2(30);
109921 l_ae_header_id NUMBER;
109922 l_event_type_code VARCHAR2(30);
109923 l_line_definition_code VARCHAR2(30);
109924 l_line_definition_owner_code VARCHAR2(1);
109925 --
109926 -- adr variables
109927 l_segment VARCHAR2(30);
109928 l_ccid NUMBER;
109929 l_adr_transaction_coa_id NUMBER;
109930 l_adr_accounting_coa_id NUMBER;
109931 l_adr_flexfield_segment_code VARCHAR2(30);
109932 l_adr_flex_value_set_id NUMBER;
109933 l_adr_value_type_code VARCHAR2(30);
109934 l_adr_value_combination_id NUMBER;
109935 l_adr_value_segment_code VARCHAR2(30);
109936
109937 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
109938 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
109939 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
109940 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
109941
109942 -- 4262811 Variables ------------------------------------------------------------------------------------------
109943 l_entered_amt_idx NUMBER;
109944 l_accted_amt_idx NUMBER;
109945 l_acc_rev_flag VARCHAR2(1);
109946 l_accrual_line_num NUMBER;
109947 l_tmp_amt NUMBER;
109948 l_acc_rev_natural_side_code VARCHAR2(1);
109949
109950 l_num_entries NUMBER;
109951 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
109952 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
109953 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
109954 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
109955 l_recog_line_1 NUMBER;
109956 l_recog_line_2 NUMBER;
109957
109958 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
109959 l_bflow_applied_to_amt NUMBER; -- 5132302
109960 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
109961
109962 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
109963
109964 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
109965 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
109966
109967 ---------------------------------------------------------------------------------------------------------------
109968
109969
109970 --
109971 -- bulk performance
109972 --
109973 l_balance_type_code VARCHAR2(1);
109974 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
109975 l_log_module VARCHAR2(240);
109976
109977 --
109978 -- Upgrade strategy
109979 --
109980 l_actual_upg_option VARCHAR2(1);
109981 l_enc_upg_option VARCHAR2(1);
109982
109983 --
109984 BEGIN
109985 --
109986 IF g_log_enabled THEN
109987 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_193';
109988 END IF;
109989 --
109990 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
109991
109992 trace
109993 (p_msg => 'BEGIN of AcctLineType_193'
109994 ,p_level => C_LEVEL_PROCEDURE
109995 ,p_module => l_log_module);
109996
109997 END IF;
109998 --
109999 l_component_type := 'AMB_JLT';
110000 l_component_code := 'AP_PMT_CLR_ROUNDING_CLEAR';
110001 l_component_type_code := 'S';
110002 l_component_appl_id := 200;
110003 l_amb_context_code := 'DEFAULT';
110004 l_entity_code := 'AP_PAYMENTS';
110005 l_event_class_code := 'RECONCILED PAYMENTS';
110006 l_event_type_code := 'RECONCILED PAYMENTS_ALL';
110007 l_line_definition_owner_code := 'S';
110008 l_line_definition_code := 'ACCRUAL_RECONCILED PAYMENTS_A4';
110009 --
110010 l_balance_type_code := 'A';
110011 l_segment := NULL;
110015 l_adr_flexfield_segment_code := NULL;
110012 l_ccid := NULL;
110013 l_adr_transaction_coa_id := NULL;
110014 l_adr_accounting_coa_id := NULL;
110016 l_adr_flex_value_set_id := NULL;
110017 l_adr_value_type_code := NULL;
110018 l_adr_value_combination_id := NULL;
110019 l_adr_value_segment_code := NULL;
110020
110021 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
110022 l_bflow_class_code := ''; -- 4219869 Business Flow
110023 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
110024 l_budgetary_control_flag := 'N';
110025
110026 l_bflow_applied_to_amt_idx := NULL; -- 5132302
110027 l_bflow_applied_to_amt := NULL; -- 5132302
110028 l_entered_amt_idx := NULL; -- 4262811
110029 l_accted_amt_idx := NULL; -- 4262811
110030 l_acc_rev_flag := NULL; -- 4262811
110031 l_accrual_line_num := NULL; -- 4262811
110032 l_tmp_amt := NULL; -- 4262811
110033 --
110034
110035 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
110036 l_balance_type_code <> 'B' THEN
110037 IF (NVL(p_source_57,'
110038 ') = 'ALWAYS_ALWAYS' OR
110039 NVL(p_source_57,'
110040 ') = 'ALWAYS_CLEAR') AND
110041 NVL(p_source_101,'
110042 ') = 'PAYMENT TO CLEARING ROUNDING' AND
110043 p_source_117 IS NULL
110044 THEN
110045
110046 --
110047 XLA_AE_LINES_PKG.SetNewLine;
110048
110049 p_balance_type_code := l_balance_type_code;
110050 -- set the flag so later we will know whether the gain loss line needs to be created
110051
110052 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
110053 p_actual_flag :='A';
110054 END IF;
110055
110056 --
110057 -- bulk performance
110058 --
110059 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
110060 p_header_num => 0); -- 4262811
110061 --
110062 -- set accounting line options
110063 --
110064 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
110065 p_natural_side_code => 'D'
110066 , p_gain_or_loss_flag => 'N'
110067 , p_gl_transfer_mode_code => 'S'
110068 , p_acct_entry_type_code => 'A'
110069 , p_switch_side_flag => 'Y'
110070 , p_merge_duplicate_code => 'A'
110071 );
110072 --
110073 l_acc_rev_natural_side_code := 'C'; -- 4262811
110074 --
110075 --
110076 -- set accounting line type info
110077 --
110078 xla_ae_lines_pkg.SetAcctLineType
110079 (p_component_type => l_component_type
110080 ,p_event_type_code => l_event_type_code
110081 ,p_line_definition_owner_code => l_line_definition_owner_code
110082 ,p_line_definition_code => l_line_definition_code
110083 ,p_accounting_line_code => l_component_code
110084 ,p_accounting_line_type_code => l_component_type_code
110085 ,p_accounting_line_appl_id => l_component_appl_id
110086 ,p_amb_context_code => l_amb_context_code
110087 ,p_entity_code => l_entity_code
110088 ,p_event_class_code => l_event_class_code);
110089 --
110090 -- set accounting class
110091 --
110092 xla_ae_lines_pkg.SetAcctClass(
110093 p_accounting_class_code => 'ROUNDING'
110094 , p_ae_header_id => l_ae_header_id
110095 );
110096
110097 --
110098 -- set rounding class
110099 --
110100 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
110101 'ROUNDING';
110102
110103 --
110104 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
110105 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
110106 --
110107 -- bulk performance
110108 --
110109 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
110110
110111 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
110112 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
110113
110114 -- 4955764
110115 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
110116 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
110117
110118 -- 4458381 Public Sector Enh
110119
110120 --
110121 -- set accounting attributes for the line type
110122 --
110123 l_entered_amt_idx := 10;
110124 l_accted_amt_idx := 15;
110125 l_bflow_applied_to_amt_idx := 2; -- 5132302
110126 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
110127 l_rec_acct_attrs.array_char_value(1) := p_source_58;
110128 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
110129 l_rec_acct_attrs.array_num_value(2) := p_source_102;
110130 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
110131 l_rec_acct_attrs.array_num_value(3) := p_source_96;
110132 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
110133 l_rec_acct_attrs.array_char_value(4) := p_source_103;
110134 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
110135 l_rec_acct_attrs.array_char_value(5) := p_source_104;
110136 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
110140 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
110137 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_105);
110138 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
110139 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_106);
110141 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_107);
110142 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
110143 l_rec_acct_attrs.array_char_value(9) := p_source_60;
110144 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
110145 l_rec_acct_attrs.array_num_value(10) := p_source_102;
110146 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
110147 l_rec_acct_attrs.array_char_value(11) := p_source_8;
110148 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
110149 l_rec_acct_attrs.array_date_value(12) := p_source_120;
110150 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
110151 l_rec_acct_attrs.array_num_value(13) := p_source_121;
110152 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
110153 l_rec_acct_attrs.array_char_value(14) := p_source_122;
110154 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
110155 l_rec_acct_attrs.array_num_value(15) := p_source_118;
110156 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
110157 l_rec_acct_attrs.array_char_value(16) := p_source_85;
110158 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
110159 l_rec_acct_attrs.array_num_value(17) := p_source_113;
110160 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
110161 l_rec_acct_attrs.array_num_value(18) := p_source_114;
110162 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
110163 l_rec_acct_attrs.array_char_value(19) := p_source_88;
110164 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
110165 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_115);
110166 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
110167 l_rec_acct_attrs.array_char_value(21) := p_source_60;
110168 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
110169 l_rec_acct_attrs.array_num_value(22) := p_source_91;
110170 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
110171 l_rec_acct_attrs.array_num_value(23) := p_source_91;
110172 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
110173 l_rec_acct_attrs.array_num_value(24) := p_source_93;
110174
110175 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
110176 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
110177
110178 ---------------------------------------------------------------------------------------------------------------
110179 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
110180 ---------------------------------------------------------------------------------------------------------------
110181 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
110182
110183 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
110184 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
110185
110186 IF xla_accounting_cache_pkg.GetValueChar
110187 (p_source_code => 'LEDGER_CATEGORY_CODE'
110188 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
110189 AND l_bflow_method_code = 'PRIOR_ENTRY'
110190 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
110191 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
110192 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
110193 )
110194 THEN
110195 xla_ae_lines_pkg.BflowUpgEntry
110196 (p_business_method_code => l_bflow_method_code
110197 ,p_business_class_code => l_bflow_class_code
110198 ,p_balance_type => l_balance_type_code);
110199 ELSE
110200 NULL;
110201 -- No business flow processing for business flow method of NONE.
110202 END IF;
110203
110204 --
110205 -- call analytical criteria
110206 --
110207
110208 --
110209 -- call description
110210 --
110211 -- No description or it is inherited.
110212 --
110213 -- call ADRs
110214 -- Bug 4922099
110215 --
110216 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
110217 (NVL(l_actual_upg_option, 'N') = 'O') OR
110218 (NVL(l_enc_upg_option, 'N') = 'O')
110219 )
110220 THEN
110221 NULL;
110222 --
110223 --
110224
110225 l_ccid := AcctDerRule_43(
110226 p_application_id => p_application_id
110227 , p_ae_header_id => l_ae_header_id
110228 , p_source_10 => p_source_10
110229 , p_source_10_meaning => p_source_10_meaning
110230 , p_source_25 => p_source_25
110231 , p_source_45 => p_source_45
110232 , x_transaction_coa_id => l_adr_transaction_coa_id
110233 , x_accounting_coa_id => l_adr_accounting_coa_id
110234 , x_value_type_code => l_adr_value_type_code
110235 , p_side => 'NA'
110236 );
110237
110238 xla_ae_lines_pkg.set_ccid(
110239 p_code_combination_id => l_ccid
110240 , p_value_type_code => l_adr_value_type_code
110241 , p_transaction_coa_id => l_adr_transaction_coa_id
110245 , p_component_type => l_component_type
110242 , p_accounting_coa_id => l_adr_accounting_coa_id
110243 , p_adr_code => 'AP_ROUNDING'
110244 , p_adr_type_code => 'S'
110246 , p_component_code => l_component_code
110247 , p_component_type_code => l_component_type_code
110248 , p_component_appl_id => l_component_appl_id
110249 , p_amb_context_code => l_amb_context_code
110250 , p_side => 'NA'
110251 );
110252
110253
110254 --
110255 --
110256 END IF;
110257 --
110258 -- Bug 4922099
110259 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
110260 (NVL(l_enc_upg_option, 'N') = 'O')
110261 ) AND
110262 (l_bflow_method_code = 'PRIOR_ENTRY')
110263 )
110264 THEN
110265 IF
110266 --
110267 1 = 2
110268 --
110269 THEN
110270 xla_accounting_err_pkg.build_message
110271 (p_appli_s_name => 'XLA'
110272 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
110273 ,p_token_1 => 'LINE_NUMBER'
110274 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
110275 ,p_token_2 => 'LINE_TYPE_NAME'
110276 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
110277 l_component_type
110278 ,l_component_code
110279 ,l_component_type_code
110280 ,l_component_appl_id
110281 ,l_amb_context_code
110282 ,l_entity_code
110283 ,l_event_class_code
110284 )
110285 ,p_token_3 => 'OWNER'
110286 ,p_value_3 => xla_lookups_pkg.get_meaning(
110287 p_lookup_type => 'XLA_OWNER_TYPE'
110288 ,p_lookup_code => l_component_type_code
110289 )
110290 ,p_token_4 => 'PRODUCT_NAME'
110291 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
110292 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
110293 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
110294 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
110295 ,p_ae_header_id => NULL
110296 );
110297
110298 IF (C_LEVEL_ERROR>= g_log_level) THEN
110299 trace
110300 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
110301 ,p_level => C_LEVEL_ERROR
110302 ,p_module => l_log_module);
110303 END IF;
110304 END IF;
110305 END IF;
110306 --
110307 --
110308 ------------------------------------------------------------------------------------------------
110309 -- 4219869 Business Flow
110310 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
110311 -- Prior Entry. Currently, the following code is always generated.
110312 ------------------------------------------------------------------------------------------------
110313 XLA_AE_LINES_PKG.ValidateCurrentLine;
110314
110315 ------------------------------------------------------------------------------------
110316 -- 4219869 Business Flow
110317 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
110318 ------------------------------------------------------------------------------------
110319 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
110320
110321 ----------------------------------------------------------------------------------
110322 -- 4219869 Business Flow
110323 -- Update journal entry status -- Need to generate this within IF <condition>
110324 ----------------------------------------------------------------------------------
110325 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
110326 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
110327 ,p_balance_type_code => l_balance_type_code
110328 );
110329
110330 -------------------------------------------------------------------------------------------
110331 -- 4262811 - Generate the Accrual Reversal lines
110332 -------------------------------------------------------------------------------------------
110333 BEGIN
110334 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
110338 END IF;
110335 (g_array_event(p_event_id).array_value_num('header_index'));
110336 IF l_acc_rev_flag IS NULL THEN
110337 l_acc_rev_flag := 'N';
110339 EXCEPTION
110340 WHEN OTHERS THEN
110341 l_acc_rev_flag := 'N';
110342 END;
110343 --
110344 IF (l_acc_rev_flag = 'Y') THEN
110345
110346 -- 4645092 ------------------------------------------------------------------------------
110347 -- To allow MPA report to determine if it should generate report process
110348 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
110349 ------------------------------------------------------------------------------------------
110350
110351 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
110352 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
110353 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
110354 -- call ADRs
110355 -- Bug 4922099
110356 --
110357 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
110358 (NVL(l_actual_upg_option, 'N') = 'O') OR
110359 (NVL(l_enc_upg_option, 'N') = 'O')
110360 )
110361 THEN
110362 NULL;
110363 --
110364 --
110365
110366 l_ccid := AcctDerRule_43(
110367 p_application_id => p_application_id
110368 , p_ae_header_id => l_ae_header_id
110369 , p_source_10 => p_source_10
110370 , p_source_10_meaning => p_source_10_meaning
110371 , p_source_25 => p_source_25
110372 , p_source_45 => p_source_45
110373 , x_transaction_coa_id => l_adr_transaction_coa_id
110374 , x_accounting_coa_id => l_adr_accounting_coa_id
110375 , x_value_type_code => l_adr_value_type_code
110376 , p_side => 'NA'
110377 );
110378
110379 xla_ae_lines_pkg.set_ccid(
110380 p_code_combination_id => l_ccid
110381 , p_value_type_code => l_adr_value_type_code
110382 , p_transaction_coa_id => l_adr_transaction_coa_id
110383 , p_accounting_coa_id => l_adr_accounting_coa_id
110384 , p_adr_code => 'AP_ROUNDING'
110385 , p_adr_type_code => 'S'
110386 , p_component_type => l_component_type
110387 , p_component_code => l_component_code
110388 , p_component_type_code => l_component_type_code
110389 , p_component_appl_id => l_component_appl_id
110390 , p_amb_context_code => l_amb_context_code
110391 , p_side => 'NA'
110392 );
110393
110394
110395 --
110396 --
110397 END IF;
110398
110399 --
110400 -- Update the line information that should be overwritten
110401 --
110402 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
110403 p_header_num => 1);
110404 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
110405
110406 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
110407
110408 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
110409 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
110410 END IF;
110411
110412 --
110413 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
110414 --
110415 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
110416 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
110417 ELSE
110418 ---------------------------------------------------------------------------------------------------
110419 -- 4262811a Switch Sign
110420 ---------------------------------------------------------------------------------------------------
110421 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
110422 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
110423 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
110424 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
110425 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
110426 -- 5132302
110427 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
110428 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
110429
110430 END IF;
110431
110432 -- 4955764
110433 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
110434 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
110435
110436
110437 XLA_AE_LINES_PKG.ValidateCurrentLine;
110438 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
110439
110440 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
110441 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
110442 ,p_balance_type_code => l_balance_type_code);
110443
110444 END IF;
110445
110446 -----------------------------------------------------------------------------------------
110450
110447 -- 4262811 Multiperiod Accounting
110448 -----------------------------------------------------------------------------------------
110449 -- No MPA option is assigned.
110451
110452 END IF;
110453 END IF;
110454 --
110455
110456 --
110457 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
110458 trace
110459 (p_msg => 'END of AcctLineType_193'
110460 ,p_level => C_LEVEL_PROCEDURE
110461 ,p_module => l_log_module);
110462 END IF;
110463 --
110464 EXCEPTION
110465 WHEN xla_exceptions_pkg.application_exception THEN
110466 RAISE;
110467 WHEN OTHERS THEN
110468 xla_exceptions_pkg.raise_message
110469 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_193');
110470 END AcctLineType_193;
110471 --
110472
110473 ---------------------------------------
110474 --
110475 -- PRIVATE FUNCTION
110476 -- AcctLineType_194
110477 --
110478 ---------------------------------------
110479 PROCEDURE AcctLineType_194 (
110480 p_application_id IN NUMBER
110481 ,p_event_id IN NUMBER
110482 ,p_calculate_acctd_flag IN VARCHAR2
110483 ,p_calculate_g_l_flag IN VARCHAR2
110484 ,p_actual_flag IN OUT VARCHAR2
110485 ,p_balance_type_code OUT VARCHAR2
110486 ,p_gain_or_loss_ref OUT VARCHAR2
110487
110488 --Invoice Distribution Description
110489 , p_source_1 IN VARCHAR2
110490 --Invoice Distribution Ledger Amount
110491 , p_source_16 IN NUMBER
110492 --Invoice Distribution Account
110493 , p_source_25 IN NUMBER
110494 --Prepaid Expense Account Source Option
110495 , p_source_26 IN VARCHAR2
110496 , p_source_26_meaning IN VARCHAR2
110497 --Purchase Order Number
110498 , p_source_27 IN VARCHAR2
110499 --Invoice Distribution Type
110500 , p_source_28 IN VARCHAR2
110501 , p_source_28_meaning IN VARCHAR2
110502 --Purchase Order Charge Account
110503 , p_source_41 IN NUMBER
110504 --Accrue on Receipt Option
110505 , p_source_54 IN VARCHAR2
110506 , p_source_54_meaning IN VARCHAR2
110507 --Accounting Reversal Indicator
110508 , p_source_58 IN VARCHAR2
110509 --Distribution Link Type
110510 , p_source_60 IN VARCHAR2
110511 --Allocation to Main Distribution Identifier
110512 , p_source_62 IN NUMBER
110513 --Invoice Identifier
110514 , p_source_63 IN NUMBER
110515 --Invoice Distribution Identifier
110516 , p_source_69 IN NUMBER
110517 --Payables Encumbrance Upgrade Credit Account
110518 , p_source_70 IN NUMBER
110519 --Payables Encumbrance Upgrade Credit Amount
110520 , p_source_71 IN NUMBER
110521 --Invoice Currency Code
110522 , p_source_72 IN VARCHAR2
110523 --Payables Encumbrance Upgrade Credit Base Amount
110524 , p_source_73 IN NUMBER
110525 --Payables Encumbrance Upgrade Debit Account
110526 , p_source_74 IN NUMBER
110527 --Payables Encumbrance Upgrade Debit Amount
110528 , p_source_75 IN NUMBER
110529 --Payables Encumbrance Upgrade Debit Base Amount
110530 , p_source_76 IN NUMBER
110531 --Payables Encumbrance Upgrade Option
110532 , p_source_77 IN VARCHAR2
110533 --Invoice Distribution Amount
110534 , p_source_78 IN NUMBER
110535 --Deferred Accounting End Date
110536 , p_source_82 IN DATE
110537 --Deferred Accounting Option
110538 , p_source_83 IN VARCHAR2
110539 --Deferred Accounting Start Date
110540 , p_source_84 IN DATE
110541 --Override Accounted Amount Indicator
110542 , p_source_85 IN VARCHAR2
110543 , p_source_85_meaning IN VARCHAR2
110544 --Invoice Supplier Identifier
110545 , p_source_86 IN NUMBER
110546 --Invoice Supplier Site Identifier
110547 , p_source_87 IN NUMBER
110548 --Third Party Type
110549 , p_source_88 IN VARCHAR2
110550 --Parent Reversal Identifier
110551 , p_source_89 IN NUMBER
110552 --Invoice Distribution Statistical Amount
110553 , p_source_90 IN NUMBER
110554 --Invoice Distribution Tax Line Identifier
110555 , p_source_91 IN NUMBER
110556 --Invoice Distribution Tax Distribution Identifier from Tax
110557 , p_source_92 IN NUMBER
110558 --Invoice Distribution Summary Tax Line Identifier
110559 , p_source_93 IN NUMBER
110560 --Payables Upgrade Credit Encumbrance Type Identifier
110561 , p_source_94 IN NUMBER
110562 --Payables Upgrade Debit Encumbrance Type Identifier
110563 , p_source_95 IN NUMBER
110564 --Business Flow Accounts Payable Application Identifier
110565 , p_source_96 IN NUMBER
110566 --Business Flow Invoice Distribution Type
110567 , p_source_97 IN VARCHAR2
110568 --Business Flow Invoice Entity Code
110569 , p_source_98 IN VARCHAR2
110570 --Business Flow Invoice Distribution Identifier
110571 , p_source_99 IN NUMBER
110572 --Business Flow Invoice Identifier
110573 , p_source_100 IN NUMBER
110574 --Invoice Exchange Date
110575 , p_source_146 IN DATE
110576 --Invoice Exchange Rate
110577 , p_source_147 IN NUMBER
110578 --Invoice Exchange Rate Type
110579 , p_source_148 IN VARCHAR2
110580 )
110581 IS
110582
110583 l_component_type VARCHAR2(80);
110584 l_component_code VARCHAR2(30);
110585 l_component_type_code VARCHAR2(1);
110586 l_component_appl_id INTEGER;
110590 l_ae_header_id NUMBER;
110587 l_amb_context_code VARCHAR2(30);
110588 l_entity_code VARCHAR2(30);
110589 l_event_class_code VARCHAR2(30);
110591 l_event_type_code VARCHAR2(30);
110592 l_line_definition_code VARCHAR2(30);
110593 l_line_definition_owner_code VARCHAR2(1);
110594 --
110595 -- adr variables
110596 l_segment VARCHAR2(30);
110597 l_ccid NUMBER;
110598 l_adr_transaction_coa_id NUMBER;
110599 l_adr_accounting_coa_id NUMBER;
110600 l_adr_flexfield_segment_code VARCHAR2(30);
110601 l_adr_flex_value_set_id NUMBER;
110602 l_adr_value_type_code VARCHAR2(30);
110603 l_adr_value_combination_id NUMBER;
110604 l_adr_value_segment_code VARCHAR2(30);
110605
110606 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
110607 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
110608 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
110609 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
110610
110611 -- 4262811 Variables ------------------------------------------------------------------------------------------
110612 l_entered_amt_idx NUMBER;
110613 l_accted_amt_idx NUMBER;
110614 l_acc_rev_flag VARCHAR2(1);
110615 l_accrual_line_num NUMBER;
110616 l_tmp_amt NUMBER;
110617 l_acc_rev_natural_side_code VARCHAR2(1);
110618
110619 l_num_entries NUMBER;
110620 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
110621 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
110622 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
110623 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
110624 l_recog_line_1 NUMBER;
110625 l_recog_line_2 NUMBER;
110626
110627 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
110628 l_bflow_applied_to_amt NUMBER; -- 5132302
110629 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
110630
110631 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
110632
110633 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
110634 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
110635
110636 ---------------------------------------------------------------------------------------------------------------
110637
110638
110639 --
110640 -- bulk performance
110641 --
110642 l_balance_type_code VARCHAR2(1);
110643 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
110644 l_log_module VARCHAR2(240);
110645
110646 --
110647 -- Upgrade strategy
110648 --
110649 l_actual_upg_option VARCHAR2(1);
110650 l_enc_upg_option VARCHAR2(1);
110651
110652 --
110653 BEGIN
110654 --
110655 IF g_log_enabled THEN
110656 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_194';
110657 END IF;
110658 --
110659 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
110660
110661 trace
110662 (p_msg => 'BEGIN of AcctLineType_194'
110663 ,p_level => C_LEVEL_PROCEDURE
110664 ,p_module => l_log_module);
110665
110666 END IF;
110667 --
110668 l_component_type := 'AMB_JLT';
110669 l_component_code := 'AP_PREPAID_EXPENSE_PREPAY';
110670 l_component_type_code := 'S';
110671 l_component_appl_id := 200;
110672 l_amb_context_code := 'DEFAULT';
110673 l_entity_code := 'AP_INVOICES';
110674 l_event_class_code := 'PREPAYMENTS';
110675 l_event_type_code := 'PREPAYMENTS_ALL';
110676 l_line_definition_owner_code := 'S';
110677 l_line_definition_code := 'ACCRUAL_PREPAYMENTS_ALL';
110678 --
110679 l_balance_type_code := 'A';
110680 l_segment := NULL;
110681 l_ccid := NULL;
110682 l_adr_transaction_coa_id := NULL;
110683 l_adr_accounting_coa_id := NULL;
110684 l_adr_flexfield_segment_code := NULL;
110685 l_adr_flex_value_set_id := NULL;
110686 l_adr_value_type_code := NULL;
110687 l_adr_value_combination_id := NULL;
110688 l_adr_value_segment_code := NULL;
110689
110690 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
110691 l_bflow_class_code := 'AP_PREPAY'; -- 4219869 Business Flow
110692 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
110693 l_budgetary_control_flag := 'N';
110694
110695 l_bflow_applied_to_amt_idx := NULL; -- 5132302
110696 l_bflow_applied_to_amt := NULL; -- 5132302
110697 l_entered_amt_idx := NULL; -- 4262811
110698 l_accted_amt_idx := NULL; -- 4262811
110699 l_acc_rev_flag := NULL; -- 4262811
110700 l_accrual_line_num := NULL; -- 4262811
110701 l_tmp_amt := NULL; -- 4262811
110702 --
110703
110704 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
110705 l_balance_type_code <> 'B' THEN
110706 IF NVL(p_source_28,'
110707 ') = 'RETROEXPENSE' OR
110708 NVL(p_source_28,'
110709 ') = 'ITEM' OR
110710 (NVL(p_source_28,'
110711 ') = 'ERV' AND
110712 NVL(p_source_54,'
110713 ') <> 'Y') OR
110714 (NVL(p_source_28,'
110715 ') = 'IPV' AND
110719
110716 NVL(p_source_54,'
110717 ') <> 'Y')
110718 THEN
110720 --
110721 XLA_AE_LINES_PKG.SetNewLine;
110722
110723 p_balance_type_code := l_balance_type_code;
110724 -- set the flag so later we will know whether the gain loss line needs to be created
110725
110726 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
110727 p_actual_flag :='A';
110728 END IF;
110729
110730 --
110731 -- bulk performance
110732 --
110733 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
110734 p_header_num => 0); -- 4262811
110735 --
110736 -- set accounting line options
110737 --
110738 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
110739 p_natural_side_code => 'D'
110740 , p_gain_or_loss_flag => 'N'
110741 , p_gl_transfer_mode_code => 'S'
110742 , p_acct_entry_type_code => 'A'
110743 , p_switch_side_flag => 'Y'
110744 , p_merge_duplicate_code => 'A'
110745 );
110746 --
110747 l_acc_rev_natural_side_code := 'C'; -- 4262811
110748 --
110749 --
110750 -- set accounting line type info
110751 --
110752 xla_ae_lines_pkg.SetAcctLineType
110753 (p_component_type => l_component_type
110754 ,p_event_type_code => l_event_type_code
110755 ,p_line_definition_owner_code => l_line_definition_owner_code
110756 ,p_line_definition_code => l_line_definition_code
110757 ,p_accounting_line_code => l_component_code
110758 ,p_accounting_line_type_code => l_component_type_code
110759 ,p_accounting_line_appl_id => l_component_appl_id
110760 ,p_amb_context_code => l_amb_context_code
110761 ,p_entity_code => l_entity_code
110762 ,p_event_class_code => l_event_class_code);
110763 --
110764 -- set accounting class
110765 --
110766 xla_ae_lines_pkg.SetAcctClass(
110767 p_accounting_class_code => 'PREPAID_EXPENSE'
110768 , p_ae_header_id => l_ae_header_id
110769 );
110770
110771 --
110772 -- set rounding class
110773 --
110774 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
110775 'PREPAID_EXPENSE';
110776
110777 --
110778 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
110779 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
110780 --
110781 -- bulk performance
110782 --
110783 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
110784
110785 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
110786 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
110787
110788 -- 4955764
110789 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
110790 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
110791
110792 -- 4458381 Public Sector Enh
110793
110794 --
110795 -- set accounting attributes for the line type
110796 --
110797 l_entered_amt_idx := 23;
110798 l_accted_amt_idx := 28;
110799 l_bflow_applied_to_amt_idx := NULL; -- 5132302
110800 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
110801 l_rec_acct_attrs.array_char_value(1) := p_source_58;
110802 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
110803 l_rec_acct_attrs.array_num_value(2) :=
110804 xla_ae_sources_pkg.GetSystemSourceNum(
110805 p_source_code => 'XLA_EVENT_APPL_ID'
110806 , p_source_type_code => 'Y'
110807 , p_source_application_id => 602
110808 );
110809 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
110810 l_rec_acct_attrs.array_char_value(3) := p_source_60;
110811 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
110812 l_rec_acct_attrs.array_char_value(4) :=
110813 xla_ae_sources_pkg.GetSystemSourceChar(
110814 p_source_code => 'XLA_ENTITY_CODE'
110815 , p_source_type_code => 'Y'
110816 , p_source_application_id => 602
110817 );
110818 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
110819 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_62);
110820 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
110821 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_63);
110822 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
110823 l_rec_acct_attrs.array_num_value(7) := p_source_96;
110824 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
110825 l_rec_acct_attrs.array_char_value(8) := p_source_97;
110826 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
110827 l_rec_acct_attrs.array_char_value(9) := p_source_98;
110828 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
110829 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_99);
110830 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
110831 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_100);
110832 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
110833 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_69);
110834 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
110838 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
110835 l_rec_acct_attrs.array_char_value(13) := p_source_60;
110836 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
110837 l_rec_acct_attrs.array_num_value(14) := p_source_70;
110839 l_rec_acct_attrs.array_num_value(15) := p_source_71;
110840 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
110841 l_rec_acct_attrs.array_char_value(16) := p_source_72;
110842 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
110843 l_rec_acct_attrs.array_num_value(17) := p_source_73;
110844 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
110845 l_rec_acct_attrs.array_num_value(18) := p_source_74;
110846 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
110847 l_rec_acct_attrs.array_num_value(19) := p_source_75;
110848 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
110849 l_rec_acct_attrs.array_char_value(20) := p_source_72;
110850 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
110851 l_rec_acct_attrs.array_num_value(21) := p_source_76;
110852 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
110853 l_rec_acct_attrs.array_char_value(22) := p_source_77;
110854 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
110855 l_rec_acct_attrs.array_num_value(23) := p_source_78;
110856 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
110857 l_rec_acct_attrs.array_char_value(24) := p_source_72;
110858 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
110859 l_rec_acct_attrs.array_date_value(25) := p_source_146;
110860 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
110861 l_rec_acct_attrs.array_num_value(26) := p_source_147;
110862 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
110863 l_rec_acct_attrs.array_char_value(27) := p_source_148;
110864 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
110865 l_rec_acct_attrs.array_num_value(28) := p_source_16;
110866 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
110867 l_rec_acct_attrs.array_date_value(29) := p_source_82;
110868 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
110869 l_rec_acct_attrs.array_char_value(30) := p_source_83;
110870 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
110871 l_rec_acct_attrs.array_date_value(31) := p_source_84;
110872 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
110873 l_rec_acct_attrs.array_char_value(32) := p_source_85;
110874 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
110875 l_rec_acct_attrs.array_num_value(33) := p_source_86;
110876 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
110877 l_rec_acct_attrs.array_num_value(34) := p_source_87;
110878 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
110879 l_rec_acct_attrs.array_char_value(35) := p_source_88;
110880 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
110881 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_89);
110882 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
110883 l_rec_acct_attrs.array_char_value(37) := p_source_60;
110884 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
110885 l_rec_acct_attrs.array_num_value(38) := p_source_90;
110886 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
110887 l_rec_acct_attrs.array_num_value(39) := p_source_91;
110888 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
110889 l_rec_acct_attrs.array_num_value(40) := p_source_92;
110890 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
110891 l_rec_acct_attrs.array_num_value(41) := p_source_93;
110892 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
110893 l_rec_acct_attrs.array_num_value(42) := p_source_94;
110894 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
110895 l_rec_acct_attrs.array_num_value(43) := p_source_95;
110896
110897 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
110898 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
110899
110900 ---------------------------------------------------------------------------------------------------------------
110901 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
110902 ---------------------------------------------------------------------------------------------------------------
110903 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
110904
110905 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
110906 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
110907
110908 IF xla_accounting_cache_pkg.GetValueChar
110909 (p_source_code => 'LEDGER_CATEGORY_CODE'
110910 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
110911 AND l_bflow_method_code = 'PRIOR_ENTRY'
110912 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
110913 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
110914 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
110915 )
110916 THEN
110917 xla_ae_lines_pkg.BflowUpgEntry
110918 (p_business_method_code => l_bflow_method_code
110922 NULL;
110919 ,p_business_class_code => l_bflow_class_code
110920 ,p_balance_type => l_balance_type_code);
110921 ELSE
110923 -- No business flow processing for business flow method of NONE.
110924 END IF;
110925
110926 --
110927 -- call analytical criteria
110928 --
110929
110930 --
110931 -- call description
110932 --
110933
110934 xla_ae_lines_pkg.SetLineDescription(
110935 p_ae_header_id => l_ae_header_id
110936 ,p_description => Description_2 (
110937 p_application_id => p_application_id
110938 , p_ae_header_id => l_ae_header_id
110939 , p_source_1 => p_source_1
110940 )
110941 );
110942
110943
110944 --
110945 -- call ADRs
110946 -- Bug 4922099
110947 --
110948 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
110949 (NVL(l_actual_upg_option, 'N') = 'O') OR
110950 (NVL(l_enc_upg_option, 'N') = 'O')
110951 )
110952 THEN
110953 NULL;
110954 --
110955 --
110956
110957 l_ccid := AcctDerRule_39(
110958 p_application_id => p_application_id
110959 , p_ae_header_id => l_ae_header_id
110960 , p_source_25 => p_source_25
110961 , p_source_26 => p_source_26
110962 , p_source_26_meaning => p_source_26_meaning
110963 , p_source_27 => p_source_27
110964 , p_source_28 => p_source_28
110965 , p_source_28_meaning => p_source_28_meaning
110966 , p_source_41 => p_source_41
110967 , x_transaction_coa_id => l_adr_transaction_coa_id
110968 , x_accounting_coa_id => l_adr_accounting_coa_id
110969 , x_value_type_code => l_adr_value_type_code
110970 , p_side => 'NA'
110971 );
110972
110973 xla_ae_lines_pkg.set_ccid(
110974 p_code_combination_id => l_ccid
110975 , p_value_type_code => l_adr_value_type_code
110976 , p_transaction_coa_id => l_adr_transaction_coa_id
110977 , p_accounting_coa_id => l_adr_accounting_coa_id
110978 , p_adr_code => 'AP_PREPAY_INVOICE_DIST'
110979 , p_adr_type_code => 'S'
110980 , p_component_type => l_component_type
110981 , p_component_code => l_component_code
110982 , p_component_type_code => l_component_type_code
110983 , p_component_appl_id => l_component_appl_id
110984 , p_amb_context_code => l_amb_context_code
110985 , p_side => 'NA'
110986 );
110987
110988
110989 l_segment := AcctDerRule_13(
110990 p_application_id => p_application_id
110991 , p_ae_header_id => l_ae_header_id
110992 , p_source_25 => p_source_25
110993 , p_source_26 => p_source_26
110994 , p_source_26_meaning => p_source_26_meaning
110995 , p_source_27 => p_source_27
110996 , p_source_28 => p_source_28
110997 , p_source_28_meaning => p_source_28_meaning
110998 , x_transaction_coa_id => l_adr_transaction_coa_id
110999 , x_accounting_coa_id => l_adr_accounting_coa_id
111000 , x_flexfield_segment_code => l_adr_flexfield_segment_code
111001 , x_flex_value_set_id => l_adr_flex_value_set_id
111002 , x_value_type_code => l_adr_value_type_code
111003 , x_value_combination_id => l_adr_value_combination_id
111004 , x_value_segment_code => l_adr_value_segment_code
111005 , p_side => 'NA'
111006 , p_override_seg_flag => 'Y'
111007 );
111008
111009 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
111010
111011 xla_ae_lines_pkg.set_segment(
111012 p_to_segment_code => 'GL_ACCOUNT'
111013 , p_segment_value => l_segment
111014 , p_from_segment_code => l_adr_value_segment_code
111015 , p_from_combination_id => l_adr_value_combination_id
111016 , p_value_type_code => l_adr_value_type_code
111017 , p_transaction_coa_id => l_adr_transaction_coa_id
111018 , p_accounting_coa_id => l_adr_accounting_coa_id
111019 , p_flexfield_segment_code => l_adr_flexfield_segment_code
111020 , p_flex_value_set_id => l_adr_flex_value_set_id
111021 , p_adr_code => 'AP_INVOICE_DIST_NAT_ACCT_ITEM'
111022 , p_adr_type_code => 'S'
111023 , p_component_type => l_component_type
111024 , p_component_code => l_component_code
111025 , p_component_type_code => l_component_type_code
111026 , p_component_appl_id => l_component_appl_id
111027 , p_amb_context_code => l_amb_context_code
111028 , p_entity_code => 'AP_INVOICES'
111029 , p_event_class_code => 'PREPAYMENTS'
111030 , p_side => 'NA'
111031 );
111032
111033 END IF;
111034
111035 --
111036 --
111037 END IF;
111038 --
111039 -- Bug 4922099
111040 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
111041 (NVL(l_enc_upg_option, 'N') = 'O')
111042 ) AND
111043 (l_bflow_method_code = 'PRIOR_ENTRY')
111044 )
111045 THEN
111046 IF
111047 --
111048 1 = 2
111049 --
111050 THEN
111051 xla_accounting_err_pkg.build_message
111055 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
111052 (p_appli_s_name => 'XLA'
111053 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
111054 ,p_token_1 => 'LINE_NUMBER'
111056 ,p_token_2 => 'LINE_TYPE_NAME'
111057 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
111058 l_component_type
111059 ,l_component_code
111060 ,l_component_type_code
111061 ,l_component_appl_id
111062 ,l_amb_context_code
111063 ,l_entity_code
111064 ,l_event_class_code
111065 )
111066 ,p_token_3 => 'OWNER'
111067 ,p_value_3 => xla_lookups_pkg.get_meaning(
111068 p_lookup_type => 'XLA_OWNER_TYPE'
111069 ,p_lookup_code => l_component_type_code
111070 )
111071 ,p_token_4 => 'PRODUCT_NAME'
111072 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
111073 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
111074 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
111075 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
111076 ,p_ae_header_id => NULL
111077 );
111078
111079 IF (C_LEVEL_ERROR>= g_log_level) THEN
111080 trace
111081 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
111082 ,p_level => C_LEVEL_ERROR
111083 ,p_module => l_log_module);
111084 END IF;
111085 END IF;
111086 END IF;
111087 --
111088 --
111089 ------------------------------------------------------------------------------------------------
111090 -- 4219869 Business Flow
111091 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
111092 -- Prior Entry. Currently, the following code is always generated.
111093 ------------------------------------------------------------------------------------------------
111094 XLA_AE_LINES_PKG.ValidateCurrentLine;
111095
111096 ------------------------------------------------------------------------------------
111097 -- 4219869 Business Flow
111098 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
111099 ------------------------------------------------------------------------------------
111100 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
111101
111102 ----------------------------------------------------------------------------------
111103 -- 4219869 Business Flow
111104 -- Update journal entry status -- Need to generate this within IF <condition>
111105 ----------------------------------------------------------------------------------
111106 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
111107 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
111108 ,p_balance_type_code => l_balance_type_code
111109 );
111110
111111 -------------------------------------------------------------------------------------------
111112 -- 4262811 - Generate the Accrual Reversal lines
111113 -------------------------------------------------------------------------------------------
111114 BEGIN
111115 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
111116 (g_array_event(p_event_id).array_value_num('header_index'));
111117 IF l_acc_rev_flag IS NULL THEN
111118 l_acc_rev_flag := 'N';
111119 END IF;
111120 EXCEPTION
111121 WHEN OTHERS THEN
111122 l_acc_rev_flag := 'N';
111123 END;
111124 --
111125 IF (l_acc_rev_flag = 'Y') THEN
111126
111127 -- 4645092 ------------------------------------------------------------------------------
111128 -- To allow MPA report to determine if it should generate report process
111129 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
111130 ------------------------------------------------------------------------------------------
111131
111132 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
111133 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
111134 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
111135 -- call ADRs
111136 -- Bug 4922099
111137 --
111138 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
111139 (NVL(l_actual_upg_option, 'N') = 'O') OR
111140 (NVL(l_enc_upg_option, 'N') = 'O')
111144 --
111141 )
111142 THEN
111143 NULL;
111145 --
111146
111147 l_ccid := AcctDerRule_39(
111148 p_application_id => p_application_id
111149 , p_ae_header_id => l_ae_header_id
111150 , p_source_25 => p_source_25
111151 , p_source_26 => p_source_26
111152 , p_source_26_meaning => p_source_26_meaning
111153 , p_source_27 => p_source_27
111154 , p_source_28 => p_source_28
111155 , p_source_28_meaning => p_source_28_meaning
111156 , p_source_41 => p_source_41
111157 , x_transaction_coa_id => l_adr_transaction_coa_id
111158 , x_accounting_coa_id => l_adr_accounting_coa_id
111159 , x_value_type_code => l_adr_value_type_code
111160 , p_side => 'NA'
111161 );
111162
111163 xla_ae_lines_pkg.set_ccid(
111164 p_code_combination_id => l_ccid
111165 , p_value_type_code => l_adr_value_type_code
111166 , p_transaction_coa_id => l_adr_transaction_coa_id
111167 , p_accounting_coa_id => l_adr_accounting_coa_id
111168 , p_adr_code => 'AP_PREPAY_INVOICE_DIST'
111169 , p_adr_type_code => 'S'
111170 , p_component_type => l_component_type
111171 , p_component_code => l_component_code
111172 , p_component_type_code => l_component_type_code
111173 , p_component_appl_id => l_component_appl_id
111174 , p_amb_context_code => l_amb_context_code
111175 , p_side => 'NA'
111176 );
111177
111178
111179 l_segment := AcctDerRule_13(
111180 p_application_id => p_application_id
111181 , p_ae_header_id => l_ae_header_id
111182 , p_source_25 => p_source_25
111183 , p_source_26 => p_source_26
111184 , p_source_26_meaning => p_source_26_meaning
111185 , p_source_27 => p_source_27
111186 , p_source_28 => p_source_28
111187 , p_source_28_meaning => p_source_28_meaning
111188 , x_transaction_coa_id => l_adr_transaction_coa_id
111189 , x_accounting_coa_id => l_adr_accounting_coa_id
111190 , x_flexfield_segment_code => l_adr_flexfield_segment_code
111191 , x_flex_value_set_id => l_adr_flex_value_set_id
111192 , x_value_type_code => l_adr_value_type_code
111193 , x_value_combination_id => l_adr_value_combination_id
111194 , x_value_segment_code => l_adr_value_segment_code
111195 , p_side => 'NA'
111196 , p_override_seg_flag => 'Y'
111197 );
111198
111199 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
111200
111201 xla_ae_lines_pkg.set_segment(
111202 p_to_segment_code => 'GL_ACCOUNT'
111203 , p_segment_value => l_segment
111204 , p_from_segment_code => l_adr_value_segment_code
111205 , p_from_combination_id => l_adr_value_combination_id
111206 , p_value_type_code => l_adr_value_type_code
111207 , p_transaction_coa_id => l_adr_transaction_coa_id
111208 , p_accounting_coa_id => l_adr_accounting_coa_id
111209 , p_flexfield_segment_code => l_adr_flexfield_segment_code
111210 , p_flex_value_set_id => l_adr_flex_value_set_id
111211 , p_adr_code => 'AP_INVOICE_DIST_NAT_ACCT_ITEM'
111212 , p_adr_type_code => 'S'
111213 , p_component_type => l_component_type
111214 , p_component_code => l_component_code
111215 , p_component_type_code => l_component_type_code
111216 , p_component_appl_id => l_component_appl_id
111217 , p_amb_context_code => l_amb_context_code
111218 , p_entity_code => 'AP_INVOICES'
111219 , p_event_class_code => 'PREPAYMENTS'
111220 , p_side => 'NA'
111221 );
111222
111223 END IF;
111224
111225 --
111226 --
111227 END IF;
111228
111229 --
111230 -- Update the line information that should be overwritten
111231 --
111232 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
111233 p_header_num => 1);
111234 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
111235
111236 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
111237
111238 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
111239 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
111240 END IF;
111241
111242 --
111243 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
111244 --
111245 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
111246 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
111247 ELSE
111248 ---------------------------------------------------------------------------------------------------
111249 -- 4262811a Switch Sign
111250 ---------------------------------------------------------------------------------------------------
111251 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
111252 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
111256 -- 5132302
111253 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
111254 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
111255 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
111257 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
111258 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
111259
111260 END IF;
111261
111262 -- 4955764
111263 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
111264 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
111265
111266
111267 XLA_AE_LINES_PKG.ValidateCurrentLine;
111268 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
111269
111270 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
111271 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
111272 ,p_balance_type_code => l_balance_type_code);
111273
111274 END IF;
111275
111276 -----------------------------------------------------------------------------------------
111277 -- 4262811 Multiperiod Accounting
111278 -----------------------------------------------------------------------------------------
111279 -- No MPA option is assigned.
111280
111281
111282 END IF;
111283 END IF;
111284 --
111285
111286 --
111287 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
111288 trace
111289 (p_msg => 'END of AcctLineType_194'
111290 ,p_level => C_LEVEL_PROCEDURE
111291 ,p_module => l_log_module);
111292 END IF;
111293 --
111294 EXCEPTION
111295 WHEN xla_exceptions_pkg.application_exception THEN
111296 RAISE;
111297 WHEN OTHERS THEN
111298 xla_exceptions_pkg.raise_message
111299 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_194');
111300 END AcctLineType_194;
111301 --
111302
111303 ---------------------------------------
111304 --
111305 -- PRIVATE FUNCTION
111306 -- AcctLineType_195
111307 --
111308 ---------------------------------------
111309 PROCEDURE AcctLineType_195 (
111310 p_application_id IN NUMBER
111311 ,p_event_id IN NUMBER
111312 ,p_calculate_acctd_flag IN VARCHAR2
111313 ,p_calculate_g_l_flag IN VARCHAR2
111314 ,p_actual_flag IN OUT VARCHAR2
111315 ,p_balance_type_code OUT VARCHAR2
111316 ,p_gain_or_loss_ref OUT VARCHAR2
111317
111318 --Accounting Reversal Indicator
111319 , p_source_58 IN VARCHAR2
111320 --Distribution Link Type
111321 , p_source_60 IN VARCHAR2
111322 --Invoice Identifier
111323 , p_source_63 IN NUMBER
111324 --Payables Encumbrance Upgrade Credit Account
111325 , p_source_70 IN NUMBER
111326 --Payables Encumbrance Upgrade Credit Amount
111327 , p_source_71 IN NUMBER
111328 --Invoice Currency Code
111329 , p_source_72 IN VARCHAR2
111330 --Payables Encumbrance Upgrade Credit Base Amount
111331 , p_source_73 IN NUMBER
111332 --Payables Encumbrance Upgrade Debit Account
111333 , p_source_74 IN NUMBER
111334 --Payables Encumbrance Upgrade Debit Amount
111335 , p_source_75 IN NUMBER
111336 --Payables Encumbrance Upgrade Debit Base Amount
111337 , p_source_76 IN NUMBER
111338 --Payables Encumbrance Upgrade Option
111339 , p_source_77 IN VARCHAR2
111340 --Deferred Accounting End Date
111341 , p_source_82 IN DATE
111342 --Deferred Accounting Option
111343 , p_source_83 IN VARCHAR2
111344 --Deferred Accounting Start Date
111345 , p_source_84 IN DATE
111346 --Override Accounted Amount Indicator
111347 , p_source_85 IN VARCHAR2
111348 , p_source_85_meaning IN VARCHAR2
111349 --Third Party Type
111350 , p_source_88 IN VARCHAR2
111351 --Invoice Distribution Tax Line Identifier
111352 , p_source_91 IN NUMBER
111353 --Invoice Distribution Tax Distribution Identifier from Tax
111354 , p_source_92 IN NUMBER
111355 --Invoice Distribution Summary Tax Line Identifier
111356 , p_source_93 IN NUMBER
111357 --Payables Upgrade Credit Encumbrance Type Identifier
111358 , p_source_94 IN NUMBER
111359 --Payables Upgrade Debit Encumbrance Type Identifier
111360 , p_source_95 IN NUMBER
111361 --Business Flow Accounts Payable Application Identifier
111362 , p_source_96 IN NUMBER
111363 --Prepayment Distribution Type
111364 , p_source_128 IN VARCHAR2
111365 --Deferred Prepayment Settlement Option Code
111366 , p_source_129 IN VARCHAR2
111367 , p_source_129_meaning IN VARCHAR2
111368 --Prepayment Application Distribution Identifier
111369 , p_source_130 IN NUMBER
111370 --Upgrade Encumbrance Credit Account Class
111371 , p_source_135 IN VARCHAR2
111372 --Upgrade Encumbrance Debit Account Class
111373 , p_source_136 IN VARCHAR2
111374 --Prepayment Distribution Amount
111375 , p_source_137 IN NUMBER
111376 --Prepayment Distribution (Prepayment Rate) Ledger Amount
111377 , p_source_138 IN NUMBER
111378 --Identifier of the Prepayment Application Reversed
111379 , p_source_139 IN NUMBER
111380 --Business Flow Prepayment Invoice Distribution Type
111381 , p_source_149 IN VARCHAR2
111385 , p_source_151 IN NUMBER
111382 --Business Flow Prepayment Invoice Entity Code
111383 , p_source_150 IN VARCHAR2
111384 --Business Flow Prepayment Invoice Distribution Identifier
111386 --Business Flow Prepayment Invoice Identifier
111387 , p_source_152 IN NUMBER
111388 )
111389 IS
111390
111391 l_component_type VARCHAR2(80);
111392 l_component_code VARCHAR2(30);
111393 l_component_type_code VARCHAR2(1);
111394 l_component_appl_id INTEGER;
111395 l_amb_context_code VARCHAR2(30);
111396 l_entity_code VARCHAR2(30);
111397 l_event_class_code VARCHAR2(30);
111398 l_ae_header_id NUMBER;
111399 l_event_type_code VARCHAR2(30);
111400 l_line_definition_code VARCHAR2(30);
111401 l_line_definition_owner_code VARCHAR2(1);
111402 --
111403 -- adr variables
111404 l_segment VARCHAR2(30);
111405 l_ccid NUMBER;
111406 l_adr_transaction_coa_id NUMBER;
111407 l_adr_accounting_coa_id NUMBER;
111408 l_adr_flexfield_segment_code VARCHAR2(30);
111409 l_adr_flex_value_set_id NUMBER;
111410 l_adr_value_type_code VARCHAR2(30);
111411 l_adr_value_combination_id NUMBER;
111412 l_adr_value_segment_code VARCHAR2(30);
111413
111414 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
111415 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
111416 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
111417 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
111418
111419 -- 4262811 Variables ------------------------------------------------------------------------------------------
111420 l_entered_amt_idx NUMBER;
111421 l_accted_amt_idx NUMBER;
111422 l_acc_rev_flag VARCHAR2(1);
111423 l_accrual_line_num NUMBER;
111424 l_tmp_amt NUMBER;
111425 l_acc_rev_natural_side_code VARCHAR2(1);
111426
111427 l_num_entries NUMBER;
111428 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
111429 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
111430 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
111431 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
111432 l_recog_line_1 NUMBER;
111433 l_recog_line_2 NUMBER;
111434
111435 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
111436 l_bflow_applied_to_amt NUMBER; -- 5132302
111437 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
111438
111439 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
111440
111441 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
111442 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
111443
111444 ---------------------------------------------------------------------------------------------------------------
111445
111446
111447 --
111448 -- bulk performance
111449 --
111450 l_balance_type_code VARCHAR2(1);
111451 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
111452 l_log_module VARCHAR2(240);
111453
111454 --
111455 -- Upgrade strategy
111456 --
111457 l_actual_upg_option VARCHAR2(1);
111458 l_enc_upg_option VARCHAR2(1);
111459
111460 --
111461 BEGIN
111462 --
111463 IF g_log_enabled THEN
111464 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_195';
111465 END IF;
111466 --
111467 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
111468
111469 trace
111470 (p_msg => 'BEGIN of AcctLineType_195'
111471 ,p_level => C_LEVEL_PROCEDURE
111472 ,p_module => l_log_module);
111473
111474 END IF;
111475 --
111476 l_component_type := 'AMB_JLT';
111477 l_component_code := 'AP_PREPAID_EXP_ACCR_PREPAY_APP';
111478 l_component_type_code := 'S';
111479 l_component_appl_id := 200;
111480 l_amb_context_code := 'DEFAULT';
111481 l_entity_code := 'AP_INVOICES';
111482 l_event_class_code := 'PREPAYMENT APPLICATIONS';
111483 l_event_type_code := 'PREPAYMENT APPLICATIONS_ALL';
111484 l_line_definition_owner_code := 'S';
111485 l_line_definition_code := 'ACCRUAL_PREPAYMENT APPLICATIO2';
111486 --
111487 l_balance_type_code := 'A';
111488 l_segment := NULL;
111489 l_ccid := NULL;
111490 l_adr_transaction_coa_id := NULL;
111491 l_adr_accounting_coa_id := NULL;
111492 l_adr_flexfield_segment_code := NULL;
111493 l_adr_flex_value_set_id := NULL;
111494 l_adr_value_type_code := NULL;
111495 l_adr_value_combination_id := NULL;
111496 l_adr_value_segment_code := NULL;
111497
111498 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
111499 l_bflow_class_code := 'AP_PREPAY'; -- 4219869 Business Flow
111500 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
111501 l_budgetary_control_flag := 'N';
111502
111503 l_bflow_applied_to_amt_idx := NULL; -- 5132302
111504 l_bflow_applied_to_amt := NULL; -- 5132302
111505 l_entered_amt_idx := NULL; -- 4262811
111506 l_accted_amt_idx := NULL; -- 4262811
111507 l_acc_rev_flag := NULL; -- 4262811
111508 l_accrual_line_num := NULL; -- 4262811
111512 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
111509 l_tmp_amt := NULL; -- 4262811
111510 --
111511
111513 l_balance_type_code <> 'B' THEN
111514 IF NVL(p_source_128,'
111515 ') = 'PREPAY APPL' OR
111516 NVL(p_source_128,'
111517 ') = 'TAX DIFF' OR
111518 NVL(p_source_128,'
111519 ') = 'FINAL APPLICATION ROUNDING' OR
111520 (NVL(p_source_128,'
111521 ') = 'PREPAY APPL REC TAX' AND
111522 NVL(p_source_129,'
111523 ') <> 'DEFERRED') OR
111524 NVL(p_source_128,'
111525 ') = 'PREPAY APPL NONREC TAX'
111526 THEN
111527
111528 --
111529 XLA_AE_LINES_PKG.SetNewLine;
111530
111531 p_balance_type_code := l_balance_type_code;
111532 -- set the flag so later we will know whether the gain loss line needs to be created
111533
111534 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
111535 p_actual_flag :='A';
111536 END IF;
111537
111538 --
111539 -- bulk performance
111540 --
111541 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
111542 p_header_num => 0); -- 4262811
111543 --
111544 -- set accounting line options
111545 --
111546 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
111547 p_natural_side_code => 'D'
111548 , p_gain_or_loss_flag => 'N'
111549 , p_gl_transfer_mode_code => 'S'
111550 , p_acct_entry_type_code => 'A'
111551 , p_switch_side_flag => 'Y'
111552 , p_merge_duplicate_code => 'A'
111553 );
111554 --
111555 l_acc_rev_natural_side_code := 'C'; -- 4262811
111556 --
111557 --
111558 -- set accounting line type info
111559 --
111560 xla_ae_lines_pkg.SetAcctLineType
111561 (p_component_type => l_component_type
111562 ,p_event_type_code => l_event_type_code
111563 ,p_line_definition_owner_code => l_line_definition_owner_code
111564 ,p_line_definition_code => l_line_definition_code
111565 ,p_accounting_line_code => l_component_code
111566 ,p_accounting_line_type_code => l_component_type_code
111567 ,p_accounting_line_appl_id => l_component_appl_id
111568 ,p_amb_context_code => l_amb_context_code
111569 ,p_entity_code => l_entity_code
111570 ,p_event_class_code => l_event_class_code);
111571 --
111572 -- set accounting class
111573 --
111574 xla_ae_lines_pkg.SetAcctClass(
111575 p_accounting_class_code => 'PREPAID_EXPENSE'
111576 , p_ae_header_id => l_ae_header_id
111577 );
111578
111579 --
111580 -- set rounding class
111581 --
111582 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
111583 'PREPAID_EXPENSE';
111584
111585 --
111586 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
111587 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
111588 --
111589 -- bulk performance
111590 --
111591 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
111592
111593 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
111594 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
111595
111596 -- 4955764
111597 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
111598 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
111599
111600 -- 4458381 Public Sector Enh
111601
111602 --
111603 -- set accounting attributes for the line type
111604 --
111605 l_entered_amt_idx := 25;
111606 l_accted_amt_idx := 27;
111607 l_bflow_applied_to_amt_idx := NULL; -- 5132302
111608 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
111609 l_rec_acct_attrs.array_char_value(1) := p_source_58;
111610 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
111611 l_rec_acct_attrs.array_num_value(2) :=
111612 xla_ae_sources_pkg.GetSystemSourceNum(
111613 p_source_code => 'XLA_EVENT_APPL_ID'
111614 , p_source_type_code => 'Y'
111615 , p_source_application_id => 602
111616 );
111617 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
111618 l_rec_acct_attrs.array_char_value(3) := p_source_60;
111619 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
111620 l_rec_acct_attrs.array_char_value(4) :=
111621 xla_ae_sources_pkg.GetSystemSourceChar(
111622 p_source_code => 'XLA_ENTITY_CODE'
111623 , p_source_type_code => 'Y'
111624 , p_source_application_id => 602
111625 );
111626 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
111627 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_130);
111628 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
111629 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_63);
111630 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
111631 l_rec_acct_attrs.array_num_value(7) := p_source_96;
111632 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
111636 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
111633 l_rec_acct_attrs.array_char_value(8) := p_source_149;
111634 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
111635 l_rec_acct_attrs.array_char_value(9) := p_source_150;
111637 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_151);
111638 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
111639 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_152);
111640 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
111641 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_130);
111642 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
111643 l_rec_acct_attrs.array_char_value(13) := p_source_60;
111644 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_ACCT_CLASS';
111645 l_rec_acct_attrs.array_char_value(14) := p_source_135;
111646 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
111647 l_rec_acct_attrs.array_num_value(15) := p_source_70;
111648 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
111649 l_rec_acct_attrs.array_num_value(16) := p_source_71;
111650 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
111651 l_rec_acct_attrs.array_char_value(17) := p_source_72;
111652 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
111653 l_rec_acct_attrs.array_num_value(18) := p_source_73;
111654 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ACCT_CLASS';
111655 l_rec_acct_attrs.array_char_value(19) := p_source_136;
111656 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_CCID';
111657 l_rec_acct_attrs.array_num_value(20) := p_source_74;
111658 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_AMT';
111659 l_rec_acct_attrs.array_num_value(21) := p_source_75;
111660 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_ENTERED_CURR';
111661 l_rec_acct_attrs.array_char_value(22) := p_source_72;
111662 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_DR_LEDGER_AMT';
111663 l_rec_acct_attrs.array_num_value(23) := p_source_76;
111664 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENC_UPG_OPTION';
111665 l_rec_acct_attrs.array_char_value(24) := p_source_77;
111666 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_AMOUNT';
111667 l_rec_acct_attrs.array_num_value(25) := p_source_137;
111668 l_rec_acct_attrs.array_acct_attr_code(26) := 'ENTERED_CURRENCY_CODE';
111669 l_rec_acct_attrs.array_char_value(26) := p_source_72;
111670 l_rec_acct_attrs.array_acct_attr_code(27) := 'LEDGER_AMOUNT';
111671 l_rec_acct_attrs.array_num_value(27) := p_source_138;
111672 l_rec_acct_attrs.array_acct_attr_code(28) := 'MULTIPERIOD_END_DATE';
111673 l_rec_acct_attrs.array_date_value(28) := p_source_82;
111674 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_OPTION';
111675 l_rec_acct_attrs.array_char_value(29) := p_source_83;
111676 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_START_DATE';
111677 l_rec_acct_attrs.array_date_value(30) := p_source_84;
111678 l_rec_acct_attrs.array_acct_attr_code(31) := 'OVERRIDE_ACCTD_AMT_FLAG';
111679 l_rec_acct_attrs.array_char_value(31) := p_source_85;
111680 l_rec_acct_attrs.array_acct_attr_code(32) := 'PARTY_TYPE';
111681 l_rec_acct_attrs.array_char_value(32) := p_source_88;
111682 l_rec_acct_attrs.array_acct_attr_code(33) := 'REVERSED_DISTRIBUTION_ID1';
111683 l_rec_acct_attrs.array_num_value(33) := to_char(p_source_139);
111684 l_rec_acct_attrs.array_acct_attr_code(34) := 'REVERSED_DISTRIBUTION_TYPE';
111685 l_rec_acct_attrs.array_char_value(34) := p_source_60;
111686 l_rec_acct_attrs.array_acct_attr_code(35) := 'TAX_LINE_REF_ID';
111687 l_rec_acct_attrs.array_num_value(35) := p_source_91;
111688 l_rec_acct_attrs.array_acct_attr_code(36) := 'TAX_REC_NREC_DIST_REF_ID';
111689 l_rec_acct_attrs.array_num_value(36) := p_source_92;
111690 l_rec_acct_attrs.array_acct_attr_code(37) := 'TAX_SUMMARY_LINE_REF_ID';
111691 l_rec_acct_attrs.array_num_value(37) := p_source_93;
111692 l_rec_acct_attrs.array_acct_attr_code(38) := 'UPG_CR_ENC_TYPE_ID';
111693 l_rec_acct_attrs.array_num_value(38) := p_source_94;
111694 l_rec_acct_attrs.array_acct_attr_code(39) := 'UPG_DR_ENC_TYPE_ID';
111695 l_rec_acct_attrs.array_num_value(39) := p_source_95;
111696
111697 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
111698 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
111699
111700 ---------------------------------------------------------------------------------------------------------------
111701 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
111702 ---------------------------------------------------------------------------------------------------------------
111703 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
111704
111705 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
111706 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
111707
111708 IF xla_accounting_cache_pkg.GetValueChar
111709 (p_source_code => 'LEDGER_CATEGORY_CODE'
111710 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
111711 AND l_bflow_method_code = 'PRIOR_ENTRY'
111712 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
111713 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
111717 xla_ae_lines_pkg.BflowUpgEntry
111714 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
111715 )
111716 THEN
111718 (p_business_method_code => l_bflow_method_code
111719 ,p_business_class_code => l_bflow_class_code
111720 ,p_balance_type => l_balance_type_code);
111721 ELSE
111722 NULL;
111723 XLA_AE_LINES_PKG.business_flow_validation(
111724 p_business_method_code => l_bflow_method_code
111725 ,p_business_class_code => l_bflow_class_code
111726 ,p_inherit_description_flag => l_inherit_desc_flag);
111727 END IF;
111728
111729 --
111730 -- call analytical criteria
111731 --
111732 -- Inherited Analytical Criteria for business flow method of Prior Entry.
111733 --
111734 -- call description
111735 --
111736 -- No description or it is inherited.
111737 --
111738 -- call ADRs
111739 -- Bug 4922099
111740 --
111741 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
111742 (NVL(l_actual_upg_option, 'N') = 'O') OR
111743 (NVL(l_enc_upg_option, 'N') = 'O')
111744 )
111745 THEN
111746 NULL;
111747 --
111748 --
111749
111750 --
111751 --
111752 END IF;
111753 --
111754 -- Bug 4922099
111755 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
111756 (NVL(l_enc_upg_option, 'N') = 'O')
111757 ) AND
111758 (l_bflow_method_code = 'PRIOR_ENTRY')
111759 )
111760 THEN
111761 IF
111762 --
111763 1 = 1
111764 --
111765 THEN
111766 xla_accounting_err_pkg.build_message
111767 (p_appli_s_name => 'XLA'
111768 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
111769 ,p_token_1 => 'LINE_NUMBER'
111770 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
111771 ,p_token_2 => 'LINE_TYPE_NAME'
111772 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
111773 l_component_type
111774 ,l_component_code
111775 ,l_component_type_code
111776 ,l_component_appl_id
111777 ,l_amb_context_code
111778 ,l_entity_code
111779 ,l_event_class_code
111780 )
111781 ,p_token_3 => 'OWNER'
111782 ,p_value_3 => xla_lookups_pkg.get_meaning(
111783 p_lookup_type => 'XLA_OWNER_TYPE'
111784 ,p_lookup_code => l_component_type_code
111785 )
111786 ,p_token_4 => 'PRODUCT_NAME'
111787 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
111788 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
111789 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
111790 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
111791 ,p_ae_header_id => NULL
111792 );
111793
111794 IF (C_LEVEL_ERROR>= g_log_level) THEN
111795 trace
111796 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
111797 ,p_level => C_LEVEL_ERROR
111798 ,p_module => l_log_module);
111799 END IF;
111800 END IF;
111801 END IF;
111802 --
111803 --
111804 ------------------------------------------------------------------------------------------------
111805 -- 4219869 Business Flow
111806 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
111807 -- Prior Entry. Currently, the following code is always generated.
111808 ------------------------------------------------------------------------------------------------
111809 -- No ValidateCurrentLine for business flow method of Prior Entry
111810
111811 ------------------------------------------------------------------------------------
111812 -- 4219869 Business Flow
111813 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
111814 ------------------------------------------------------------------------------------
111815 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
111816
111817 ----------------------------------------------------------------------------------
111818 -- 4219869 Business Flow
111819 -- Update journal entry status -- Need to generate this within IF <condition>
111823 ,p_balance_type_code => l_balance_type_code
111820 ----------------------------------------------------------------------------------
111821 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
111822 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
111824 );
111825
111826 -------------------------------------------------------------------------------------------
111827 -- 4262811 - Generate the Accrual Reversal lines
111828 -------------------------------------------------------------------------------------------
111829 BEGIN
111830 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
111831 (g_array_event(p_event_id).array_value_num('header_index'));
111832 IF l_acc_rev_flag IS NULL THEN
111833 l_acc_rev_flag := 'N';
111834 END IF;
111835 EXCEPTION
111836 WHEN OTHERS THEN
111837 l_acc_rev_flag := 'N';
111838 END;
111839 --
111840 IF (l_acc_rev_flag = 'Y') THEN
111841
111842 -- 4645092 ------------------------------------------------------------------------------
111843 -- To allow MPA report to determine if it should generate report process
111844 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
111845 ------------------------------------------------------------------------------------------
111846
111847 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
111848 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
111849 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
111850 -- call ADRs
111851 -- Bug 4922099
111852 --
111853 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
111854 (NVL(l_actual_upg_option, 'N') = 'O') OR
111855 (NVL(l_enc_upg_option, 'N') = 'O')
111856 )
111857 THEN
111858 NULL;
111859 --
111860 --
111861
111862 --
111863 --
111864 END IF;
111865
111866 --
111867 -- Update the line information that should be overwritten
111868 --
111869 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
111870 p_header_num => 1);
111871 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
111872
111873 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
111874
111875 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
111876 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
111877 END IF;
111878
111879 --
111880 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
111881 --
111882 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
111883 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
111884 ELSE
111885 ---------------------------------------------------------------------------------------------------
111886 -- 4262811a Switch Sign
111887 ---------------------------------------------------------------------------------------------------
111888 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
111889 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
111890 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
111891 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
111892 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
111893 -- 5132302
111894 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
111895 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
111896
111897 END IF;
111898
111899 -- 4955764
111900 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
111901 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
111902
111903
111904 XLA_AE_LINES_PKG.ValidateCurrentLine;
111905 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
111906
111907 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
111908 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
111909 ,p_balance_type_code => l_balance_type_code);
111910
111911 END IF;
111912
111913 -----------------------------------------------------------------------------------------
111914 -- 4262811 Multiperiod Accounting
111915 -----------------------------------------------------------------------------------------
111916 -- No MPA option is assigned.
111917
111918
111919 END IF;
111920 END IF;
111921 --
111922
111923 --
111924 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
111925 trace
111926 (p_msg => 'END of AcctLineType_195'
111927 ,p_level => C_LEVEL_PROCEDURE
111928 ,p_module => l_log_module);
111929 END IF;
111930 --
111931 EXCEPTION
111932 WHEN xla_exceptions_pkg.application_exception THEN
111933 RAISE;
111934 WHEN OTHERS THEN
111935 xla_exceptions_pkg.raise_message
111936 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_195');
111937 END AcctLineType_195;
111938 --
111939
111943 -- AcctLineType_196
111940 ---------------------------------------
111941 --
111942 -- PRIVATE FUNCTION
111944 --
111945 ---------------------------------------
111946 PROCEDURE AcctLineType_196 (
111947 p_application_id IN NUMBER
111948 ,p_event_id IN NUMBER
111949 ,p_calculate_acctd_flag IN VARCHAR2
111950 ,p_calculate_g_l_flag IN VARCHAR2
111951 ,p_actual_flag IN OUT VARCHAR2
111952 ,p_balance_type_code OUT VARCHAR2
111953 ,p_gain_or_loss_ref OUT VARCHAR2
111954
111955 --Invoice Distribution Description
111956 , p_source_1 IN VARCHAR2
111957 --Invoice Distribution Ledger Amount
111958 , p_source_16 IN NUMBER
111959 --Invoice Distribution Account
111960 , p_source_25 IN NUMBER
111961 --Invoice Distribution Type
111962 , p_source_28 IN VARCHAR2
111963 , p_source_28_meaning IN VARCHAR2
111964 --Accounting Reversal Indicator
111965 , p_source_58 IN VARCHAR2
111966 --Distribution Link Type
111967 , p_source_60 IN VARCHAR2
111968 --Allocation to Main Distribution Identifier
111969 , p_source_62 IN NUMBER
111970 --Invoice Identifier
111971 , p_source_63 IN NUMBER
111972 --Invoice Distribution Identifier
111973 , p_source_69 IN NUMBER
111974 --Payables Encumbrance Upgrade Credit Account
111975 , p_source_70 IN NUMBER
111976 --Payables Encumbrance Upgrade Credit Amount
111977 , p_source_71 IN NUMBER
111978 --Invoice Currency Code
111979 , p_source_72 IN VARCHAR2
111980 --Payables Encumbrance Upgrade Credit Base Amount
111981 , p_source_73 IN NUMBER
111982 --Payables Encumbrance Upgrade Debit Account
111983 , p_source_74 IN NUMBER
111984 --Payables Encumbrance Upgrade Debit Amount
111985 , p_source_75 IN NUMBER
111986 --Payables Encumbrance Upgrade Debit Base Amount
111987 , p_source_76 IN NUMBER
111988 --Payables Encumbrance Upgrade Option
111989 , p_source_77 IN VARCHAR2
111990 --Invoice Distribution Amount
111991 , p_source_78 IN NUMBER
111992 --Deferred Accounting End Date
111993 , p_source_82 IN DATE
111994 --Deferred Accounting Option
111995 , p_source_83 IN VARCHAR2
111996 --Deferred Accounting Start Date
111997 , p_source_84 IN DATE
111998 --Override Accounted Amount Indicator
111999 , p_source_85 IN VARCHAR2
112000 , p_source_85_meaning IN VARCHAR2
112001 --Invoice Supplier Identifier
112002 , p_source_86 IN NUMBER
112003 --Invoice Supplier Site Identifier
112004 , p_source_87 IN NUMBER
112005 --Third Party Type
112006 , p_source_88 IN VARCHAR2
112007 --Parent Reversal Identifier
112008 , p_source_89 IN NUMBER
112009 --Invoice Distribution Statistical Amount
112010 , p_source_90 IN NUMBER
112011 --Invoice Distribution Tax Line Identifier
112012 , p_source_91 IN NUMBER
112013 --Invoice Distribution Tax Distribution Identifier from Tax
112014 , p_source_92 IN NUMBER
112015 --Invoice Distribution Summary Tax Line Identifier
112016 , p_source_93 IN NUMBER
112017 --Payables Upgrade Credit Encumbrance Type Identifier
112018 , p_source_94 IN NUMBER
112019 --Payables Upgrade Debit Encumbrance Type Identifier
112020 , p_source_95 IN NUMBER
112021 --Business Flow Accounts Payable Application Identifier
112022 , p_source_96 IN NUMBER
112023 --Business Flow Invoice Distribution Type
112024 , p_source_97 IN VARCHAR2
112025 --Business Flow Invoice Entity Code
112026 , p_source_98 IN VARCHAR2
112027 --Business Flow Invoice Distribution Identifier
112028 , p_source_99 IN NUMBER
112029 --Business Flow Invoice Identifier
112030 , p_source_100 IN NUMBER
112031 --Self-Assessed Tax Flag
112032 , p_source_145 IN VARCHAR2
112033 , p_source_145_meaning IN VARCHAR2
112034 --Invoice Exchange Date
112035 , p_source_146 IN DATE
112036 --Invoice Exchange Rate
112037 , p_source_147 IN NUMBER
112038 --Invoice Exchange Rate Type
112039 , p_source_148 IN VARCHAR2
112040 )
112041 IS
112042
112043 l_component_type VARCHAR2(80);
112044 l_component_code VARCHAR2(30);
112045 l_component_type_code VARCHAR2(1);
112046 l_component_appl_id INTEGER;
112047 l_amb_context_code VARCHAR2(30);
112048 l_entity_code VARCHAR2(30);
112049 l_event_class_code VARCHAR2(30);
112050 l_ae_header_id NUMBER;
112051 l_event_type_code VARCHAR2(30);
112052 l_line_definition_code VARCHAR2(30);
112053 l_line_definition_owner_code VARCHAR2(1);
112054 --
112055 -- adr variables
112056 l_segment VARCHAR2(30);
112057 l_ccid NUMBER;
112058 l_adr_transaction_coa_id NUMBER;
112059 l_adr_accounting_coa_id NUMBER;
112060 l_adr_flexfield_segment_code VARCHAR2(30);
112061 l_adr_flex_value_set_id NUMBER;
112062 l_adr_value_type_code VARCHAR2(30);
112063 l_adr_value_combination_id NUMBER;
112064 l_adr_value_segment_code VARCHAR2(30);
112065
112066 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
112067 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
112068 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
112069 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
112070
112074 l_acc_rev_flag VARCHAR2(1);
112071 -- 4262811 Variables ------------------------------------------------------------------------------------------
112072 l_entered_amt_idx NUMBER;
112073 l_accted_amt_idx NUMBER;
112075 l_accrual_line_num NUMBER;
112076 l_tmp_amt NUMBER;
112077 l_acc_rev_natural_side_code VARCHAR2(1);
112078
112079 l_num_entries NUMBER;
112080 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
112081 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
112082 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
112083 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
112084 l_recog_line_1 NUMBER;
112085 l_recog_line_2 NUMBER;
112086
112087 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
112088 l_bflow_applied_to_amt NUMBER; -- 5132302
112089 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
112090
112091 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
112092
112093 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
112094 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
112095
112096 ---------------------------------------------------------------------------------------------------------------
112097
112098
112099 --
112100 -- bulk performance
112101 --
112102 l_balance_type_code VARCHAR2(1);
112103 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
112104 l_log_module VARCHAR2(240);
112105
112106 --
112107 -- Upgrade strategy
112108 --
112109 l_actual_upg_option VARCHAR2(1);
112110 l_enc_upg_option VARCHAR2(1);
112111
112112 --
112113 BEGIN
112114 --
112115 IF g_log_enabled THEN
112116 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_196';
112117 END IF;
112118 --
112119 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
112120
112121 trace
112122 (p_msg => 'BEGIN of AcctLineType_196'
112123 ,p_level => C_LEVEL_PROCEDURE
112124 ,p_module => l_log_module);
112125
112126 END IF;
112127 --
112128 l_component_type := 'AMB_JLT';
112129 l_component_code := 'AP_RECOV_TAX_CM';
112130 l_component_type_code := 'S';
112131 l_component_appl_id := 200;
112132 l_amb_context_code := 'DEFAULT';
112133 l_entity_code := 'AP_INVOICES';
112134 l_event_class_code := 'CREDIT MEMOS';
112135 l_event_type_code := 'CREDIT MEMOS_ALL';
112136 l_line_definition_owner_code := 'S';
112137 l_line_definition_code := 'ACCRUAL_CREDIT MEMOS_ALL';
112138 --
112139 l_balance_type_code := 'A';
112140 l_segment := NULL;
112141 l_ccid := NULL;
112142 l_adr_transaction_coa_id := NULL;
112143 l_adr_accounting_coa_id := NULL;
112144 l_adr_flexfield_segment_code := NULL;
112145 l_adr_flex_value_set_id := NULL;
112146 l_adr_value_type_code := NULL;
112147 l_adr_value_combination_id := NULL;
112148 l_adr_value_segment_code := NULL;
112149
112150 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
112151 l_bflow_class_code := 'AP_DEF_REC_TAX'; -- 4219869 Business Flow
112152 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
112153 l_budgetary_control_flag := 'N';
112154
112155 l_bflow_applied_to_amt_idx := NULL; -- 5132302
112156 l_bflow_applied_to_amt := NULL; -- 5132302
112157 l_entered_amt_idx := NULL; -- 4262811
112158 l_accted_amt_idx := NULL; -- 4262811
112159 l_acc_rev_flag := NULL; -- 4262811
112160 l_accrual_line_num := NULL; -- 4262811
112161 l_tmp_amt := NULL; -- 4262811
112162 --
112163
112164 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
112165 l_balance_type_code <> 'B' THEN
112166 IF NVL(p_source_28,'
112167 ') = 'REC_TAX' AND
112168 NVL(p_source_145,'
112169 ') <> 'Y'
112170 THEN
112171
112172 --
112173 XLA_AE_LINES_PKG.SetNewLine;
112174
112175 p_balance_type_code := l_balance_type_code;
112176 -- set the flag so later we will know whether the gain loss line needs to be created
112177
112178 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
112179 p_actual_flag :='A';
112180 END IF;
112181
112182 --
112183 -- bulk performance
112184 --
112185 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
112186 p_header_num => 0); -- 4262811
112187 --
112188 -- set accounting line options
112189 --
112190 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
112191 p_natural_side_code => 'D'
112192 , p_gain_or_loss_flag => 'N'
112193 , p_gl_transfer_mode_code => 'S'
112194 , p_acct_entry_type_code => 'A'
112195 , p_switch_side_flag => 'Y'
112196 , p_merge_duplicate_code => 'A'
112197 );
112198 --
112199 l_acc_rev_natural_side_code := 'C'; -- 4262811
112200 --
112201 --
112202 -- set accounting line type info
112206 ,p_event_type_code => l_event_type_code
112203 --
112204 xla_ae_lines_pkg.SetAcctLineType
112205 (p_component_type => l_component_type
112207 ,p_line_definition_owner_code => l_line_definition_owner_code
112208 ,p_line_definition_code => l_line_definition_code
112209 ,p_accounting_line_code => l_component_code
112210 ,p_accounting_line_type_code => l_component_type_code
112211 ,p_accounting_line_appl_id => l_component_appl_id
112212 ,p_amb_context_code => l_amb_context_code
112213 ,p_entity_code => l_entity_code
112214 ,p_event_class_code => l_event_class_code);
112215 --
112216 -- set accounting class
112217 --
112218 xla_ae_lines_pkg.SetAcctClass(
112219 p_accounting_class_code => 'RTAX'
112220 , p_ae_header_id => l_ae_header_id
112221 );
112222
112223 --
112224 -- set rounding class
112225 --
112226 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
112227 'RTAX';
112228
112229 --
112230 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
112231 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
112232 --
112233 -- bulk performance
112234 --
112235 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
112236
112237 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
112238 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
112239
112240 -- 4955764
112241 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
112242 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
112243
112244 -- 4458381 Public Sector Enh
112245
112246 --
112247 -- set accounting attributes for the line type
112248 --
112249 l_entered_amt_idx := 23;
112250 l_accted_amt_idx := 28;
112251 l_bflow_applied_to_amt_idx := NULL; -- 5132302
112252 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
112253 l_rec_acct_attrs.array_char_value(1) := p_source_58;
112254 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
112255 l_rec_acct_attrs.array_num_value(2) :=
112256 xla_ae_sources_pkg.GetSystemSourceNum(
112257 p_source_code => 'XLA_EVENT_APPL_ID'
112258 , p_source_type_code => 'Y'
112259 , p_source_application_id => 602
112260 );
112261 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
112262 l_rec_acct_attrs.array_char_value(3) := p_source_60;
112263 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
112264 l_rec_acct_attrs.array_char_value(4) :=
112265 xla_ae_sources_pkg.GetSystemSourceChar(
112266 p_source_code => 'XLA_ENTITY_CODE'
112267 , p_source_type_code => 'Y'
112268 , p_source_application_id => 602
112269 );
112270 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
112271 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_62);
112272 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
112273 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_63);
112274 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
112275 l_rec_acct_attrs.array_num_value(7) := p_source_96;
112276 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
112277 l_rec_acct_attrs.array_char_value(8) := p_source_97;
112278 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
112279 l_rec_acct_attrs.array_char_value(9) := p_source_98;
112280 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
112281 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_99);
112282 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
112283 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_100);
112284 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
112285 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_69);
112286 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
112287 l_rec_acct_attrs.array_char_value(13) := p_source_60;
112288 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
112289 l_rec_acct_attrs.array_num_value(14) := p_source_70;
112290 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
112291 l_rec_acct_attrs.array_num_value(15) := p_source_71;
112292 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
112293 l_rec_acct_attrs.array_char_value(16) := p_source_72;
112294 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
112295 l_rec_acct_attrs.array_num_value(17) := p_source_73;
112296 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
112297 l_rec_acct_attrs.array_num_value(18) := p_source_74;
112298 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
112299 l_rec_acct_attrs.array_num_value(19) := p_source_75;
112300 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
112301 l_rec_acct_attrs.array_char_value(20) := p_source_72;
112302 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
112303 l_rec_acct_attrs.array_num_value(21) := p_source_76;
112304 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
112308 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
112305 l_rec_acct_attrs.array_char_value(22) := p_source_77;
112306 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
112307 l_rec_acct_attrs.array_num_value(23) := p_source_78;
112309 l_rec_acct_attrs.array_char_value(24) := p_source_72;
112310 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
112311 l_rec_acct_attrs.array_date_value(25) := p_source_146;
112312 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
112313 l_rec_acct_attrs.array_num_value(26) := p_source_147;
112314 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
112315 l_rec_acct_attrs.array_char_value(27) := p_source_148;
112316 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
112317 l_rec_acct_attrs.array_num_value(28) := p_source_16;
112318 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
112319 l_rec_acct_attrs.array_date_value(29) := p_source_82;
112320 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
112321 l_rec_acct_attrs.array_char_value(30) := p_source_83;
112322 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
112323 l_rec_acct_attrs.array_date_value(31) := p_source_84;
112324 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
112325 l_rec_acct_attrs.array_char_value(32) := p_source_85;
112326 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
112327 l_rec_acct_attrs.array_num_value(33) := p_source_86;
112328 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
112329 l_rec_acct_attrs.array_num_value(34) := p_source_87;
112330 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
112331 l_rec_acct_attrs.array_char_value(35) := p_source_88;
112332 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
112333 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_89);
112334 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
112335 l_rec_acct_attrs.array_char_value(37) := p_source_60;
112336 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
112337 l_rec_acct_attrs.array_num_value(38) := p_source_90;
112338 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
112339 l_rec_acct_attrs.array_num_value(39) := p_source_91;
112340 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
112341 l_rec_acct_attrs.array_num_value(40) := p_source_92;
112342 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
112343 l_rec_acct_attrs.array_num_value(41) := p_source_93;
112344 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
112345 l_rec_acct_attrs.array_num_value(42) := p_source_94;
112346 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
112347 l_rec_acct_attrs.array_num_value(43) := p_source_95;
112348
112349 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
112350 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
112351
112352 ---------------------------------------------------------------------------------------------------------------
112353 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
112354 ---------------------------------------------------------------------------------------------------------------
112355 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
112356
112357 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
112358 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
112359
112360 IF xla_accounting_cache_pkg.GetValueChar
112361 (p_source_code => 'LEDGER_CATEGORY_CODE'
112362 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
112363 AND l_bflow_method_code = 'PRIOR_ENTRY'
112364 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
112365 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
112366 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
112367 )
112368 THEN
112369 xla_ae_lines_pkg.BflowUpgEntry
112370 (p_business_method_code => l_bflow_method_code
112371 ,p_business_class_code => l_bflow_class_code
112372 ,p_balance_type => l_balance_type_code);
112373 ELSE
112374 NULL;
112375 -- No business flow processing for business flow method of NONE.
112376 END IF;
112377
112378 --
112379 -- call analytical criteria
112380 --
112381
112382 --
112383 -- call description
112384 --
112385
112386 xla_ae_lines_pkg.SetLineDescription(
112387 p_ae_header_id => l_ae_header_id
112388 ,p_description => Description_2 (
112389 p_application_id => p_application_id
112390 , p_ae_header_id => l_ae_header_id
112391 , p_source_1 => p_source_1
112392 )
112393 );
112394
112395
112396 --
112397 -- call ADRs
112398 -- Bug 4922099
112399 --
112400 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
112401 (NVL(l_actual_upg_option, 'N') = 'O') OR
112402 (NVL(l_enc_upg_option, 'N') = 'O')
112403 )
112404 THEN
112405 NULL;
112406 --
112407 --
112408
112409 l_ccid := AcctDerRule_35(
112410 p_application_id => p_application_id
112414 , x_accounting_coa_id => l_adr_accounting_coa_id
112411 , p_ae_header_id => l_ae_header_id
112412 , p_source_25 => p_source_25
112413 , x_transaction_coa_id => l_adr_transaction_coa_id
112415 , x_value_type_code => l_adr_value_type_code
112416 , p_side => 'NA'
112417 );
112418
112419 xla_ae_lines_pkg.set_ccid(
112420 p_code_combination_id => l_ccid
112421 , p_value_type_code => l_adr_value_type_code
112422 , p_transaction_coa_id => l_adr_transaction_coa_id
112423 , p_accounting_coa_id => l_adr_accounting_coa_id
112424 , p_adr_code => 'AP_INVOICE_DIST'
112425 , p_adr_type_code => 'S'
112426 , p_component_type => l_component_type
112427 , p_component_code => l_component_code
112428 , p_component_type_code => l_component_type_code
112429 , p_component_appl_id => l_component_appl_id
112430 , p_amb_context_code => l_amb_context_code
112431 , p_side => 'NA'
112432 );
112433
112434
112435 --
112436 --
112437 END IF;
112438 --
112439 -- Bug 4922099
112440 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
112441 (NVL(l_enc_upg_option, 'N') = 'O')
112442 ) AND
112443 (l_bflow_method_code = 'PRIOR_ENTRY')
112444 )
112445 THEN
112446 IF
112447 --
112448 1 = 2
112449 --
112450 THEN
112451 xla_accounting_err_pkg.build_message
112452 (p_appli_s_name => 'XLA'
112453 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
112454 ,p_token_1 => 'LINE_NUMBER'
112455 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
112456 ,p_token_2 => 'LINE_TYPE_NAME'
112457 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
112458 l_component_type
112459 ,l_component_code
112460 ,l_component_type_code
112461 ,l_component_appl_id
112462 ,l_amb_context_code
112463 ,l_entity_code
112464 ,l_event_class_code
112465 )
112466 ,p_token_3 => 'OWNER'
112467 ,p_value_3 => xla_lookups_pkg.get_meaning(
112468 p_lookup_type => 'XLA_OWNER_TYPE'
112469 ,p_lookup_code => l_component_type_code
112470 )
112471 ,p_token_4 => 'PRODUCT_NAME'
112472 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
112473 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
112474 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
112475 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
112476 ,p_ae_header_id => NULL
112477 );
112478
112479 IF (C_LEVEL_ERROR>= g_log_level) THEN
112480 trace
112481 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
112482 ,p_level => C_LEVEL_ERROR
112483 ,p_module => l_log_module);
112484 END IF;
112485 END IF;
112486 END IF;
112487 --
112488 --
112489 ------------------------------------------------------------------------------------------------
112490 -- 4219869 Business Flow
112491 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
112492 -- Prior Entry. Currently, the following code is always generated.
112493 ------------------------------------------------------------------------------------------------
112494 XLA_AE_LINES_PKG.ValidateCurrentLine;
112495
112496 ------------------------------------------------------------------------------------
112497 -- 4219869 Business Flow
112498 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
112499 ------------------------------------------------------------------------------------
112500 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
112501
112502 ----------------------------------------------------------------------------------
112503 -- 4219869 Business Flow
112504 -- Update journal entry status -- Need to generate this within IF <condition>
112505 ----------------------------------------------------------------------------------
112506 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
112507 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
112511 -------------------------------------------------------------------------------------------
112508 ,p_balance_type_code => l_balance_type_code
112509 );
112510
112512 -- 4262811 - Generate the Accrual Reversal lines
112513 -------------------------------------------------------------------------------------------
112514 BEGIN
112515 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
112516 (g_array_event(p_event_id).array_value_num('header_index'));
112517 IF l_acc_rev_flag IS NULL THEN
112518 l_acc_rev_flag := 'N';
112519 END IF;
112520 EXCEPTION
112521 WHEN OTHERS THEN
112522 l_acc_rev_flag := 'N';
112523 END;
112524 --
112525 IF (l_acc_rev_flag = 'Y') THEN
112526
112527 -- 4645092 ------------------------------------------------------------------------------
112528 -- To allow MPA report to determine if it should generate report process
112529 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
112530 ------------------------------------------------------------------------------------------
112531
112532 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
112533 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
112534 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
112535 -- call ADRs
112536 -- Bug 4922099
112537 --
112538 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
112539 (NVL(l_actual_upg_option, 'N') = 'O') OR
112540 (NVL(l_enc_upg_option, 'N') = 'O')
112541 )
112542 THEN
112543 NULL;
112544 --
112545 --
112546
112547 l_ccid := AcctDerRule_35(
112548 p_application_id => p_application_id
112549 , p_ae_header_id => l_ae_header_id
112550 , p_source_25 => p_source_25
112551 , x_transaction_coa_id => l_adr_transaction_coa_id
112552 , x_accounting_coa_id => l_adr_accounting_coa_id
112553 , x_value_type_code => l_adr_value_type_code
112554 , p_side => 'NA'
112555 );
112556
112557 xla_ae_lines_pkg.set_ccid(
112558 p_code_combination_id => l_ccid
112559 , p_value_type_code => l_adr_value_type_code
112560 , p_transaction_coa_id => l_adr_transaction_coa_id
112561 , p_accounting_coa_id => l_adr_accounting_coa_id
112562 , p_adr_code => 'AP_INVOICE_DIST'
112563 , p_adr_type_code => 'S'
112564 , p_component_type => l_component_type
112565 , p_component_code => l_component_code
112566 , p_component_type_code => l_component_type_code
112567 , p_component_appl_id => l_component_appl_id
112568 , p_amb_context_code => l_amb_context_code
112569 , p_side => 'NA'
112570 );
112571
112572
112573 --
112574 --
112575 END IF;
112576
112577 --
112578 -- Update the line information that should be overwritten
112579 --
112580 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
112581 p_header_num => 1);
112582 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
112583
112584 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
112585
112586 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
112587 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
112588 END IF;
112589
112590 --
112591 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
112592 --
112593 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
112594 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
112595 ELSE
112596 ---------------------------------------------------------------------------------------------------
112597 -- 4262811a Switch Sign
112598 ---------------------------------------------------------------------------------------------------
112599 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
112600 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
112601 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
112602 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
112603 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
112604 -- 5132302
112605 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
112606 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
112607
112608 END IF;
112609
112610 -- 4955764
112611 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
112612 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
112613
112614
112615 XLA_AE_LINES_PKG.ValidateCurrentLine;
112616 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
112617
112618 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
112622 END IF;
112619 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
112620 ,p_balance_type_code => l_balance_type_code);
112621
112623
112624 -----------------------------------------------------------------------------------------
112625 -- 4262811 Multiperiod Accounting
112626 -----------------------------------------------------------------------------------------
112627 -- No MPA option is assigned.
112628
112629
112630 END IF;
112631 END IF;
112632 --
112633
112634 --
112635 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
112636 trace
112637 (p_msg => 'END of AcctLineType_196'
112638 ,p_level => C_LEVEL_PROCEDURE
112639 ,p_module => l_log_module);
112640 END IF;
112641 --
112642 EXCEPTION
112643 WHEN xla_exceptions_pkg.application_exception THEN
112644 RAISE;
112645 WHEN OTHERS THEN
112646 xla_exceptions_pkg.raise_message
112647 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_196');
112648 END AcctLineType_196;
112649 --
112650
112651 ---------------------------------------
112652 --
112653 -- PRIVATE FUNCTION
112654 -- AcctLineType_197
112655 --
112656 ---------------------------------------
112657 PROCEDURE AcctLineType_197 (
112658 p_application_id IN NUMBER
112659 ,p_event_id IN NUMBER
112660 ,p_calculate_acctd_flag IN VARCHAR2
112661 ,p_calculate_g_l_flag IN VARCHAR2
112662 ,p_actual_flag IN OUT VARCHAR2
112663 ,p_balance_type_code OUT VARCHAR2
112664 ,p_gain_or_loss_ref OUT VARCHAR2
112665
112666 --Invoice Distribution Description
112667 , p_source_1 IN VARCHAR2
112668 --Invoice Distribution Ledger Amount
112669 , p_source_16 IN NUMBER
112670 --Invoice Distribution Account
112671 , p_source_25 IN NUMBER
112672 --Invoice Distribution Type
112673 , p_source_28 IN VARCHAR2
112674 , p_source_28_meaning IN VARCHAR2
112675 --Accounting Reversal Indicator
112676 , p_source_58 IN VARCHAR2
112677 --Distribution Link Type
112678 , p_source_60 IN VARCHAR2
112679 --Allocation to Main Distribution Identifier
112680 , p_source_62 IN NUMBER
112681 --Invoice Identifier
112682 , p_source_63 IN NUMBER
112683 --Invoice Distribution Identifier
112684 , p_source_69 IN NUMBER
112685 --Payables Encumbrance Upgrade Credit Account
112686 , p_source_70 IN NUMBER
112687 --Payables Encumbrance Upgrade Credit Amount
112688 , p_source_71 IN NUMBER
112689 --Invoice Currency Code
112690 , p_source_72 IN VARCHAR2
112691 --Payables Encumbrance Upgrade Credit Base Amount
112692 , p_source_73 IN NUMBER
112693 --Payables Encumbrance Upgrade Debit Account
112694 , p_source_74 IN NUMBER
112695 --Payables Encumbrance Upgrade Debit Amount
112696 , p_source_75 IN NUMBER
112697 --Payables Encumbrance Upgrade Debit Base Amount
112698 , p_source_76 IN NUMBER
112699 --Payables Encumbrance Upgrade Option
112700 , p_source_77 IN VARCHAR2
112701 --Invoice Distribution Amount
112702 , p_source_78 IN NUMBER
112703 --Deferred Accounting End Date
112704 , p_source_82 IN DATE
112705 --Deferred Accounting Option
112706 , p_source_83 IN VARCHAR2
112707 --Deferred Accounting Start Date
112708 , p_source_84 IN DATE
112709 --Override Accounted Amount Indicator
112710 , p_source_85 IN VARCHAR2
112711 , p_source_85_meaning IN VARCHAR2
112712 --Invoice Supplier Identifier
112713 , p_source_86 IN NUMBER
112714 --Invoice Supplier Site Identifier
112715 , p_source_87 IN NUMBER
112716 --Third Party Type
112717 , p_source_88 IN VARCHAR2
112718 --Parent Reversal Identifier
112719 , p_source_89 IN NUMBER
112720 --Invoice Distribution Tax Line Identifier
112721 , p_source_91 IN NUMBER
112722 --Invoice Distribution Tax Distribution Identifier from Tax
112723 , p_source_92 IN NUMBER
112724 --Invoice Distribution Summary Tax Line Identifier
112725 , p_source_93 IN NUMBER
112726 --Payables Upgrade Credit Encumbrance Type Identifier
112727 , p_source_94 IN NUMBER
112728 --Payables Upgrade Debit Encumbrance Type Identifier
112729 , p_source_95 IN NUMBER
112730 --Business Flow Accounts Payable Application Identifier
112731 , p_source_96 IN NUMBER
112732 --Business Flow Invoice Distribution Type
112733 , p_source_97 IN VARCHAR2
112734 --Business Flow Invoice Entity Code
112735 , p_source_98 IN VARCHAR2
112736 --Business Flow Invoice Distribution Identifier
112737 , p_source_99 IN NUMBER
112738 --Business Flow Invoice Identifier
112739 , p_source_100 IN NUMBER
112740 --Self-Assessed Tax Flag
112741 , p_source_145 IN VARCHAR2
112742 , p_source_145_meaning IN VARCHAR2
112743 --Invoice Exchange Date
112744 , p_source_146 IN DATE
112745 --Invoice Exchange Rate
112746 , p_source_147 IN NUMBER
112747 --Invoice Exchange Rate Type
112748 , p_source_148 IN VARCHAR2
112749 )
112750 IS
112751
112752 l_component_type VARCHAR2(80);
112753 l_component_code VARCHAR2(30);
112754 l_component_type_code VARCHAR2(1);
112755 l_component_appl_id INTEGER;
112759 l_ae_header_id NUMBER;
112756 l_amb_context_code VARCHAR2(30);
112757 l_entity_code VARCHAR2(30);
112758 l_event_class_code VARCHAR2(30);
112760 l_event_type_code VARCHAR2(30);
112761 l_line_definition_code VARCHAR2(30);
112762 l_line_definition_owner_code VARCHAR2(1);
112763 --
112764 -- adr variables
112765 l_segment VARCHAR2(30);
112766 l_ccid NUMBER;
112767 l_adr_transaction_coa_id NUMBER;
112768 l_adr_accounting_coa_id NUMBER;
112769 l_adr_flexfield_segment_code VARCHAR2(30);
112770 l_adr_flex_value_set_id NUMBER;
112771 l_adr_value_type_code VARCHAR2(30);
112772 l_adr_value_combination_id NUMBER;
112773 l_adr_value_segment_code VARCHAR2(30);
112774
112775 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
112776 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
112777 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
112778 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
112779
112780 -- 4262811 Variables ------------------------------------------------------------------------------------------
112781 l_entered_amt_idx NUMBER;
112782 l_accted_amt_idx NUMBER;
112783 l_acc_rev_flag VARCHAR2(1);
112784 l_accrual_line_num NUMBER;
112785 l_tmp_amt NUMBER;
112786 l_acc_rev_natural_side_code VARCHAR2(1);
112787
112788 l_num_entries NUMBER;
112789 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
112790 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
112791 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
112792 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
112793 l_recog_line_1 NUMBER;
112794 l_recog_line_2 NUMBER;
112795
112796 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
112797 l_bflow_applied_to_amt NUMBER; -- 5132302
112798 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
112799
112800 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
112801
112802 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
112803 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
112804
112805 ---------------------------------------------------------------------------------------------------------------
112806
112807
112808 --
112809 -- bulk performance
112810 --
112811 l_balance_type_code VARCHAR2(1);
112812 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
112813 l_log_module VARCHAR2(240);
112814
112815 --
112816 -- Upgrade strategy
112817 --
112818 l_actual_upg_option VARCHAR2(1);
112819 l_enc_upg_option VARCHAR2(1);
112820
112821 --
112822 BEGIN
112823 --
112824 IF g_log_enabled THEN
112825 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_197';
112826 END IF;
112827 --
112828 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
112829
112830 trace
112831 (p_msg => 'BEGIN of AcctLineType_197'
112832 ,p_level => C_LEVEL_PROCEDURE
112833 ,p_module => l_log_module);
112834
112835 END IF;
112836 --
112837 l_component_type := 'AMB_JLT';
112838 l_component_code := 'AP_RECOV_TAX_DM';
112839 l_component_type_code := 'S';
112840 l_component_appl_id := 200;
112841 l_amb_context_code := 'DEFAULT';
112842 l_entity_code := 'AP_INVOICES';
112843 l_event_class_code := 'DEBIT MEMOS';
112844 l_event_type_code := 'DEBIT MEMOS_ALL';
112845 l_line_definition_owner_code := 'S';
112846 l_line_definition_code := 'ACCRUAL_DEBIT MEMOS_ALL';
112847 --
112848 l_balance_type_code := 'A';
112849 l_segment := NULL;
112850 l_ccid := NULL;
112851 l_adr_transaction_coa_id := NULL;
112852 l_adr_accounting_coa_id := NULL;
112853 l_adr_flexfield_segment_code := NULL;
112854 l_adr_flex_value_set_id := NULL;
112855 l_adr_value_type_code := NULL;
112856 l_adr_value_combination_id := NULL;
112857 l_adr_value_segment_code := NULL;
112858
112859 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
112860 l_bflow_class_code := 'AP_DEF_REC_TAX'; -- 4219869 Business Flow
112861 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
112862 l_budgetary_control_flag := 'N';
112863
112864 l_bflow_applied_to_amt_idx := NULL; -- 5132302
112865 l_bflow_applied_to_amt := NULL; -- 5132302
112866 l_entered_amt_idx := NULL; -- 4262811
112867 l_accted_amt_idx := NULL; -- 4262811
112868 l_acc_rev_flag := NULL; -- 4262811
112869 l_accrual_line_num := NULL; -- 4262811
112870 l_tmp_amt := NULL; -- 4262811
112871 --
112872
112873 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
112874 l_balance_type_code <> 'B' THEN
112875 IF NVL(p_source_28,'
112876 ') = 'REC_TAX' AND
112877 NVL(p_source_145,'
112878 ') <> 'Y'
112879 THEN
112880
112881 --
112882 XLA_AE_LINES_PKG.SetNewLine;
112883
112887 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
112884 p_balance_type_code := l_balance_type_code;
112885 -- set the flag so later we will know whether the gain loss line needs to be created
112886
112888 p_actual_flag :='A';
112889 END IF;
112890
112891 --
112892 -- bulk performance
112893 --
112894 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
112895 p_header_num => 0); -- 4262811
112896 --
112897 -- set accounting line options
112898 --
112899 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
112900 p_natural_side_code => 'D'
112901 , p_gain_or_loss_flag => 'N'
112902 , p_gl_transfer_mode_code => 'S'
112903 , p_acct_entry_type_code => 'A'
112904 , p_switch_side_flag => 'Y'
112905 , p_merge_duplicate_code => 'A'
112906 );
112907 --
112908 l_acc_rev_natural_side_code := 'C'; -- 4262811
112909 --
112910 --
112911 -- set accounting line type info
112912 --
112913 xla_ae_lines_pkg.SetAcctLineType
112914 (p_component_type => l_component_type
112915 ,p_event_type_code => l_event_type_code
112916 ,p_line_definition_owner_code => l_line_definition_owner_code
112917 ,p_line_definition_code => l_line_definition_code
112918 ,p_accounting_line_code => l_component_code
112919 ,p_accounting_line_type_code => l_component_type_code
112920 ,p_accounting_line_appl_id => l_component_appl_id
112921 ,p_amb_context_code => l_amb_context_code
112922 ,p_entity_code => l_entity_code
112923 ,p_event_class_code => l_event_class_code);
112924 --
112925 -- set accounting class
112926 --
112927 xla_ae_lines_pkg.SetAcctClass(
112928 p_accounting_class_code => 'RTAX'
112929 , p_ae_header_id => l_ae_header_id
112930 );
112931
112932 --
112933 -- set rounding class
112934 --
112935 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
112936 'RTAX';
112937
112938 --
112939 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
112940 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
112941 --
112942 -- bulk performance
112943 --
112944 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
112945
112946 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
112947 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
112948
112949 -- 4955764
112950 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
112951 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
112952
112953 -- 4458381 Public Sector Enh
112954
112955 --
112956 -- set accounting attributes for the line type
112957 --
112958 l_entered_amt_idx := 23;
112959 l_accted_amt_idx := 28;
112960 l_bflow_applied_to_amt_idx := NULL; -- 5132302
112961 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
112962 l_rec_acct_attrs.array_char_value(1) := p_source_58;
112963 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
112964 l_rec_acct_attrs.array_num_value(2) :=
112965 xla_ae_sources_pkg.GetSystemSourceNum(
112966 p_source_code => 'XLA_EVENT_APPL_ID'
112967 , p_source_type_code => 'Y'
112968 , p_source_application_id => 602
112969 );
112970 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
112971 l_rec_acct_attrs.array_char_value(3) := p_source_60;
112972 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
112973 l_rec_acct_attrs.array_char_value(4) :=
112974 xla_ae_sources_pkg.GetSystemSourceChar(
112975 p_source_code => 'XLA_ENTITY_CODE'
112976 , p_source_type_code => 'Y'
112977 , p_source_application_id => 602
112978 );
112979 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
112980 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_62);
112981 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
112982 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_63);
112983 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
112984 l_rec_acct_attrs.array_num_value(7) := p_source_96;
112985 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
112986 l_rec_acct_attrs.array_char_value(8) := p_source_97;
112987 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
112988 l_rec_acct_attrs.array_char_value(9) := p_source_98;
112989 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
112990 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_99);
112991 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
112992 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_100);
112993 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
112994 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_69);
112995 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
112996 l_rec_acct_attrs.array_char_value(13) := p_source_60;
112997 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
113001 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
112998 l_rec_acct_attrs.array_num_value(14) := p_source_70;
112999 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
113000 l_rec_acct_attrs.array_num_value(15) := p_source_71;
113002 l_rec_acct_attrs.array_char_value(16) := p_source_72;
113003 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
113004 l_rec_acct_attrs.array_num_value(17) := p_source_73;
113005 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
113006 l_rec_acct_attrs.array_num_value(18) := p_source_74;
113007 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
113008 l_rec_acct_attrs.array_num_value(19) := p_source_75;
113009 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
113010 l_rec_acct_attrs.array_char_value(20) := p_source_72;
113011 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
113012 l_rec_acct_attrs.array_num_value(21) := p_source_76;
113013 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
113014 l_rec_acct_attrs.array_char_value(22) := p_source_77;
113015 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
113016 l_rec_acct_attrs.array_num_value(23) := p_source_78;
113017 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
113018 l_rec_acct_attrs.array_char_value(24) := p_source_72;
113019 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
113020 l_rec_acct_attrs.array_date_value(25) := p_source_146;
113021 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
113022 l_rec_acct_attrs.array_num_value(26) := p_source_147;
113023 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
113024 l_rec_acct_attrs.array_char_value(27) := p_source_148;
113025 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
113026 l_rec_acct_attrs.array_num_value(28) := p_source_16;
113027 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
113028 l_rec_acct_attrs.array_date_value(29) := p_source_82;
113029 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
113030 l_rec_acct_attrs.array_char_value(30) := p_source_83;
113031 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
113032 l_rec_acct_attrs.array_date_value(31) := p_source_84;
113033 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
113034 l_rec_acct_attrs.array_char_value(32) := p_source_85;
113035 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
113036 l_rec_acct_attrs.array_num_value(33) := p_source_86;
113037 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
113038 l_rec_acct_attrs.array_num_value(34) := p_source_87;
113039 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
113040 l_rec_acct_attrs.array_char_value(35) := p_source_88;
113041 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
113042 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_89);
113043 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
113044 l_rec_acct_attrs.array_char_value(37) := p_source_60;
113045 l_rec_acct_attrs.array_acct_attr_code(38) := 'TAX_LINE_REF_ID';
113046 l_rec_acct_attrs.array_num_value(38) := p_source_91;
113047 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_REC_NREC_DIST_REF_ID';
113048 l_rec_acct_attrs.array_num_value(39) := p_source_92;
113049 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_SUMMARY_LINE_REF_ID';
113050 l_rec_acct_attrs.array_num_value(40) := p_source_93;
113051 l_rec_acct_attrs.array_acct_attr_code(41) := 'UPG_CR_ENC_TYPE_ID';
113052 l_rec_acct_attrs.array_num_value(41) := p_source_94;
113053 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_DR_ENC_TYPE_ID';
113054 l_rec_acct_attrs.array_num_value(42) := p_source_95;
113055
113056 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
113057 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
113058
113059 ---------------------------------------------------------------------------------------------------------------
113060 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
113061 ---------------------------------------------------------------------------------------------------------------
113062 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
113063
113064 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
113065 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
113066
113067 IF xla_accounting_cache_pkg.GetValueChar
113068 (p_source_code => 'LEDGER_CATEGORY_CODE'
113069 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
113070 AND l_bflow_method_code = 'PRIOR_ENTRY'
113071 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
113072 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
113073 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
113074 )
113075 THEN
113076 xla_ae_lines_pkg.BflowUpgEntry
113077 (p_business_method_code => l_bflow_method_code
113078 ,p_business_class_code => l_bflow_class_code
113079 ,p_balance_type => l_balance_type_code);
113080 ELSE
113081 NULL;
113082 -- No business flow processing for business flow method of NONE.
113083 END IF;
113084
113085 --
113086 -- call analytical criteria
113087 --
113088
113089 --
113090 -- call description
113094 p_ae_header_id => l_ae_header_id
113091 --
113092
113093 xla_ae_lines_pkg.SetLineDescription(
113095 ,p_description => Description_2 (
113096 p_application_id => p_application_id
113097 , p_ae_header_id => l_ae_header_id
113098 , p_source_1 => p_source_1
113099 )
113100 );
113101
113102
113103 --
113104 -- call ADRs
113105 -- Bug 4922099
113106 --
113107 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
113108 (NVL(l_actual_upg_option, 'N') = 'O') OR
113109 (NVL(l_enc_upg_option, 'N') = 'O')
113110 )
113111 THEN
113112 NULL;
113113 --
113114 --
113115
113116 l_ccid := AcctDerRule_35(
113117 p_application_id => p_application_id
113118 , p_ae_header_id => l_ae_header_id
113119 , p_source_25 => p_source_25
113120 , x_transaction_coa_id => l_adr_transaction_coa_id
113121 , x_accounting_coa_id => l_adr_accounting_coa_id
113122 , x_value_type_code => l_adr_value_type_code
113123 , p_side => 'NA'
113124 );
113125
113126 xla_ae_lines_pkg.set_ccid(
113127 p_code_combination_id => l_ccid
113128 , p_value_type_code => l_adr_value_type_code
113129 , p_transaction_coa_id => l_adr_transaction_coa_id
113130 , p_accounting_coa_id => l_adr_accounting_coa_id
113131 , p_adr_code => 'AP_INVOICE_DIST'
113132 , p_adr_type_code => 'S'
113133 , p_component_type => l_component_type
113134 , p_component_code => l_component_code
113135 , p_component_type_code => l_component_type_code
113136 , p_component_appl_id => l_component_appl_id
113137 , p_amb_context_code => l_amb_context_code
113138 , p_side => 'NA'
113139 );
113140
113141
113142 --
113143 --
113144 END IF;
113145 --
113146 -- Bug 4922099
113147 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
113148 (NVL(l_enc_upg_option, 'N') = 'O')
113149 ) AND
113150 (l_bflow_method_code = 'PRIOR_ENTRY')
113151 )
113152 THEN
113153 IF
113154 --
113155 1 = 2
113156 --
113157 THEN
113158 xla_accounting_err_pkg.build_message
113159 (p_appli_s_name => 'XLA'
113160 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
113161 ,p_token_1 => 'LINE_NUMBER'
113162 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
113163 ,p_token_2 => 'LINE_TYPE_NAME'
113164 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
113165 l_component_type
113166 ,l_component_code
113167 ,l_component_type_code
113168 ,l_component_appl_id
113169 ,l_amb_context_code
113170 ,l_entity_code
113171 ,l_event_class_code
113172 )
113173 ,p_token_3 => 'OWNER'
113174 ,p_value_3 => xla_lookups_pkg.get_meaning(
113175 p_lookup_type => 'XLA_OWNER_TYPE'
113176 ,p_lookup_code => l_component_type_code
113177 )
113178 ,p_token_4 => 'PRODUCT_NAME'
113179 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
113180 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
113181 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
113182 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
113183 ,p_ae_header_id => NULL
113184 );
113185
113186 IF (C_LEVEL_ERROR>= g_log_level) THEN
113187 trace
113188 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
113189 ,p_level => C_LEVEL_ERROR
113190 ,p_module => l_log_module);
113191 END IF;
113192 END IF;
113193 END IF;
113194 --
113195 --
113196 ------------------------------------------------------------------------------------------------
113197 -- 4219869 Business Flow
113198 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
113199 -- Prior Entry. Currently, the following code is always generated.
113200 ------------------------------------------------------------------------------------------------
113204 -- 4219869 Business Flow
113201 XLA_AE_LINES_PKG.ValidateCurrentLine;
113202
113203 ------------------------------------------------------------------------------------
113205 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
113206 ------------------------------------------------------------------------------------
113207 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
113208
113209 ----------------------------------------------------------------------------------
113210 -- 4219869 Business Flow
113211 -- Update journal entry status -- Need to generate this within IF <condition>
113212 ----------------------------------------------------------------------------------
113213 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
113214 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
113215 ,p_balance_type_code => l_balance_type_code
113216 );
113217
113218 -------------------------------------------------------------------------------------------
113219 -- 4262811 - Generate the Accrual Reversal lines
113220 -------------------------------------------------------------------------------------------
113221 BEGIN
113222 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
113223 (g_array_event(p_event_id).array_value_num('header_index'));
113224 IF l_acc_rev_flag IS NULL THEN
113225 l_acc_rev_flag := 'N';
113226 END IF;
113227 EXCEPTION
113228 WHEN OTHERS THEN
113229 l_acc_rev_flag := 'N';
113230 END;
113231 --
113232 IF (l_acc_rev_flag = 'Y') THEN
113233
113234 -- 4645092 ------------------------------------------------------------------------------
113235 -- To allow MPA report to determine if it should generate report process
113236 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
113237 ------------------------------------------------------------------------------------------
113238
113239 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
113240 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
113241 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
113242 -- call ADRs
113243 -- Bug 4922099
113244 --
113245 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
113246 (NVL(l_actual_upg_option, 'N') = 'O') OR
113247 (NVL(l_enc_upg_option, 'N') = 'O')
113248 )
113249 THEN
113250 NULL;
113251 --
113252 --
113253
113254 l_ccid := AcctDerRule_35(
113255 p_application_id => p_application_id
113256 , p_ae_header_id => l_ae_header_id
113257 , p_source_25 => p_source_25
113258 , x_transaction_coa_id => l_adr_transaction_coa_id
113259 , x_accounting_coa_id => l_adr_accounting_coa_id
113260 , x_value_type_code => l_adr_value_type_code
113261 , p_side => 'NA'
113262 );
113263
113264 xla_ae_lines_pkg.set_ccid(
113265 p_code_combination_id => l_ccid
113266 , p_value_type_code => l_adr_value_type_code
113267 , p_transaction_coa_id => l_adr_transaction_coa_id
113268 , p_accounting_coa_id => l_adr_accounting_coa_id
113269 , p_adr_code => 'AP_INVOICE_DIST'
113270 , p_adr_type_code => 'S'
113271 , p_component_type => l_component_type
113272 , p_component_code => l_component_code
113273 , p_component_type_code => l_component_type_code
113274 , p_component_appl_id => l_component_appl_id
113275 , p_amb_context_code => l_amb_context_code
113276 , p_side => 'NA'
113277 );
113278
113279
113280 --
113281 --
113282 END IF;
113283
113284 --
113285 -- Update the line information that should be overwritten
113286 --
113287 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
113288 p_header_num => 1);
113289 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
113290
113291 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
113292
113293 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
113294 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
113295 END IF;
113296
113297 --
113298 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
113299 --
113300 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
113301 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
113302 ELSE
113303 ---------------------------------------------------------------------------------------------------
113304 -- 4262811a Switch Sign
113305 ---------------------------------------------------------------------------------------------------
113306 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
113307 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
113308 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
113309 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
113313 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
113310 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
113311 -- 5132302
113312 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
113314
113315 END IF;
113316
113317 -- 4955764
113318 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
113319 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
113320
113321
113322 XLA_AE_LINES_PKG.ValidateCurrentLine;
113323 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
113324
113325 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
113326 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
113327 ,p_balance_type_code => l_balance_type_code);
113328
113329 END IF;
113330
113331 -----------------------------------------------------------------------------------------
113332 -- 4262811 Multiperiod Accounting
113333 -----------------------------------------------------------------------------------------
113334 -- No MPA option is assigned.
113335
113336
113337 END IF;
113338 END IF;
113339 --
113340
113341 --
113342 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
113343 trace
113344 (p_msg => 'END of AcctLineType_197'
113345 ,p_level => C_LEVEL_PROCEDURE
113346 ,p_module => l_log_module);
113347 END IF;
113348 --
113349 EXCEPTION
113350 WHEN xla_exceptions_pkg.application_exception THEN
113351 RAISE;
113352 WHEN OTHERS THEN
113353 xla_exceptions_pkg.raise_message
113354 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_197');
113355 END AcctLineType_197;
113356 --
113357
113358 ---------------------------------------
113359 --
113360 -- PRIVATE FUNCTION
113361 -- AcctLineType_198
113362 --
113363 ---------------------------------------
113364 PROCEDURE AcctLineType_198 (
113365 p_application_id IN NUMBER
113366 ,p_event_id IN NUMBER
113367 ,p_calculate_acctd_flag IN VARCHAR2
113368 ,p_calculate_g_l_flag IN VARCHAR2
113369 ,p_actual_flag IN OUT VARCHAR2
113370 ,p_balance_type_code OUT VARCHAR2
113371 ,p_gain_or_loss_ref OUT VARCHAR2
113372
113373 --Invoice Distribution Description
113374 , p_source_1 IN VARCHAR2
113375 --Invoice Distribution Ledger Amount
113376 , p_source_16 IN NUMBER
113377 --Invoice Distribution Account
113378 , p_source_25 IN NUMBER
113379 --Invoice Distribution Type
113380 , p_source_28 IN VARCHAR2
113381 , p_source_28_meaning IN VARCHAR2
113382 --Accounting Reversal Indicator
113383 , p_source_58 IN VARCHAR2
113384 --Distribution Link Type
113385 , p_source_60 IN VARCHAR2
113386 --Allocation to Main Distribution Identifier
113387 , p_source_62 IN NUMBER
113388 --Invoice Identifier
113389 , p_source_63 IN NUMBER
113390 --Invoice Distribution Identifier
113391 , p_source_69 IN NUMBER
113392 --Payables Encumbrance Upgrade Credit Account
113393 , p_source_70 IN NUMBER
113394 --Payables Encumbrance Upgrade Credit Amount
113395 , p_source_71 IN NUMBER
113396 --Invoice Currency Code
113397 , p_source_72 IN VARCHAR2
113398 --Payables Encumbrance Upgrade Credit Base Amount
113399 , p_source_73 IN NUMBER
113400 --Payables Encumbrance Upgrade Debit Account
113401 , p_source_74 IN NUMBER
113402 --Payables Encumbrance Upgrade Debit Amount
113403 , p_source_75 IN NUMBER
113404 --Payables Encumbrance Upgrade Debit Base Amount
113405 , p_source_76 IN NUMBER
113406 --Payables Encumbrance Upgrade Option
113407 , p_source_77 IN VARCHAR2
113408 --Invoice Distribution Amount
113409 , p_source_78 IN NUMBER
113410 --Deferred Accounting End Date
113411 , p_source_82 IN DATE
113412 --Deferred Accounting Option
113413 , p_source_83 IN VARCHAR2
113414 --Deferred Accounting Start Date
113415 , p_source_84 IN DATE
113416 --Override Accounted Amount Indicator
113417 , p_source_85 IN VARCHAR2
113418 , p_source_85_meaning IN VARCHAR2
113419 --Invoice Supplier Identifier
113420 , p_source_86 IN NUMBER
113421 --Invoice Supplier Site Identifier
113422 , p_source_87 IN NUMBER
113423 --Third Party Type
113424 , p_source_88 IN VARCHAR2
113425 --Parent Reversal Identifier
113426 , p_source_89 IN NUMBER
113427 --Invoice Distribution Statistical Amount
113428 , p_source_90 IN NUMBER
113429 --Invoice Distribution Tax Line Identifier
113430 , p_source_91 IN NUMBER
113431 --Invoice Distribution Tax Distribution Identifier from Tax
113432 , p_source_92 IN NUMBER
113433 --Invoice Distribution Summary Tax Line Identifier
113434 , p_source_93 IN NUMBER
113435 --Payables Upgrade Credit Encumbrance Type Identifier
113436 , p_source_94 IN NUMBER
113437 --Payables Upgrade Debit Encumbrance Type Identifier
113438 , p_source_95 IN NUMBER
113439 --Business Flow Accounts Payable Application Identifier
113440 , p_source_96 IN NUMBER
113441 --Business Flow Invoice Distribution Type
113445 --Business Flow Invoice Distribution Identifier
113442 , p_source_97 IN VARCHAR2
113443 --Business Flow Invoice Entity Code
113444 , p_source_98 IN VARCHAR2
113446 , p_source_99 IN NUMBER
113447 --Business Flow Invoice Identifier
113448 , p_source_100 IN NUMBER
113449 --Self-Assessed Tax Flag
113450 , p_source_145 IN VARCHAR2
113451 , p_source_145_meaning IN VARCHAR2
113452 --Invoice Exchange Date
113453 , p_source_146 IN DATE
113454 --Invoice Exchange Rate
113455 , p_source_147 IN NUMBER
113456 --Invoice Exchange Rate Type
113457 , p_source_148 IN VARCHAR2
113458 )
113459 IS
113460
113461 l_component_type VARCHAR2(80);
113462 l_component_code VARCHAR2(30);
113463 l_component_type_code VARCHAR2(1);
113464 l_component_appl_id INTEGER;
113465 l_amb_context_code VARCHAR2(30);
113466 l_entity_code VARCHAR2(30);
113467 l_event_class_code VARCHAR2(30);
113468 l_ae_header_id NUMBER;
113469 l_event_type_code VARCHAR2(30);
113470 l_line_definition_code VARCHAR2(30);
113471 l_line_definition_owner_code VARCHAR2(1);
113472 --
113473 -- adr variables
113474 l_segment VARCHAR2(30);
113475 l_ccid NUMBER;
113476 l_adr_transaction_coa_id NUMBER;
113477 l_adr_accounting_coa_id NUMBER;
113478 l_adr_flexfield_segment_code VARCHAR2(30);
113479 l_adr_flex_value_set_id NUMBER;
113480 l_adr_value_type_code VARCHAR2(30);
113481 l_adr_value_combination_id NUMBER;
113482 l_adr_value_segment_code VARCHAR2(30);
113483
113484 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
113485 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
113486 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
113487 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
113488
113489 -- 4262811 Variables ------------------------------------------------------------------------------------------
113490 l_entered_amt_idx NUMBER;
113491 l_accted_amt_idx NUMBER;
113492 l_acc_rev_flag VARCHAR2(1);
113493 l_accrual_line_num NUMBER;
113494 l_tmp_amt NUMBER;
113495 l_acc_rev_natural_side_code VARCHAR2(1);
113496
113497 l_num_entries NUMBER;
113498 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
113499 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
113500 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
113501 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
113502 l_recog_line_1 NUMBER;
113503 l_recog_line_2 NUMBER;
113504
113505 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
113506 l_bflow_applied_to_amt NUMBER; -- 5132302
113507 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
113508
113509 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
113510
113511 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
113512 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
113513
113514 ---------------------------------------------------------------------------------------------------------------
113515
113516
113517 --
113518 -- bulk performance
113519 --
113520 l_balance_type_code VARCHAR2(1);
113521 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
113522 l_log_module VARCHAR2(240);
113523
113524 --
113525 -- Upgrade strategy
113526 --
113527 l_actual_upg_option VARCHAR2(1);
113528 l_enc_upg_option VARCHAR2(1);
113529
113530 --
113531 BEGIN
113532 --
113533 IF g_log_enabled THEN
113534 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_198';
113535 END IF;
113536 --
113537 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
113538
113539 trace
113540 (p_msg => 'BEGIN of AcctLineType_198'
113541 ,p_level => C_LEVEL_PROCEDURE
113542 ,p_module => l_log_module);
113543
113544 END IF;
113545 --
113546 l_component_type := 'AMB_JLT';
113547 l_component_code := 'AP_RECOV_TAX_INV';
113548 l_component_type_code := 'S';
113549 l_component_appl_id := 200;
113550 l_amb_context_code := 'DEFAULT';
113551 l_entity_code := 'AP_INVOICES';
113552 l_event_class_code := 'INVOICES';
113553 l_event_type_code := 'INVOICES_ALL';
113554 l_line_definition_owner_code := 'S';
113555 l_line_definition_code := 'ACCRUAL_INVOICES_ALL';
113556 --
113557 l_balance_type_code := 'A';
113558 l_segment := NULL;
113559 l_ccid := NULL;
113560 l_adr_transaction_coa_id := NULL;
113561 l_adr_accounting_coa_id := NULL;
113562 l_adr_flexfield_segment_code := NULL;
113563 l_adr_flex_value_set_id := NULL;
113564 l_adr_value_type_code := NULL;
113565 l_adr_value_combination_id := NULL;
113566 l_adr_value_segment_code := NULL;
113567
113568 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
113569 l_bflow_class_code := 'AP_DEF_REC_TAX'; -- 4219869 Business Flow
113573 l_bflow_applied_to_amt_idx := NULL; -- 5132302
113570 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
113571 l_budgetary_control_flag := 'N';
113572
113574 l_bflow_applied_to_amt := NULL; -- 5132302
113575 l_entered_amt_idx := NULL; -- 4262811
113576 l_accted_amt_idx := NULL; -- 4262811
113577 l_acc_rev_flag := NULL; -- 4262811
113578 l_accrual_line_num := NULL; -- 4262811
113579 l_tmp_amt := NULL; -- 4262811
113580 --
113581
113582 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
113583 l_balance_type_code <> 'B' THEN
113584 IF NVL(p_source_28,'
113585 ') = 'REC_TAX' AND
113586 NVL(p_source_145,'
113587 ') <> 'Y'
113588 THEN
113589
113590 --
113591 XLA_AE_LINES_PKG.SetNewLine;
113592
113593 p_balance_type_code := l_balance_type_code;
113594 -- set the flag so later we will know whether the gain loss line needs to be created
113595
113596 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
113597 p_actual_flag :='A';
113598 END IF;
113599
113600 --
113601 -- bulk performance
113602 --
113603 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
113604 p_header_num => 0); -- 4262811
113605 --
113606 -- set accounting line options
113607 --
113608 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
113609 p_natural_side_code => 'D'
113610 , p_gain_or_loss_flag => 'N'
113611 , p_gl_transfer_mode_code => 'S'
113612 , p_acct_entry_type_code => 'A'
113613 , p_switch_side_flag => 'Y'
113614 , p_merge_duplicate_code => 'A'
113615 );
113616 --
113617 l_acc_rev_natural_side_code := 'C'; -- 4262811
113618 --
113619 --
113620 -- set accounting line type info
113621 --
113622 xla_ae_lines_pkg.SetAcctLineType
113623 (p_component_type => l_component_type
113624 ,p_event_type_code => l_event_type_code
113625 ,p_line_definition_owner_code => l_line_definition_owner_code
113626 ,p_line_definition_code => l_line_definition_code
113627 ,p_accounting_line_code => l_component_code
113628 ,p_accounting_line_type_code => l_component_type_code
113629 ,p_accounting_line_appl_id => l_component_appl_id
113630 ,p_amb_context_code => l_amb_context_code
113631 ,p_entity_code => l_entity_code
113632 ,p_event_class_code => l_event_class_code);
113633 --
113634 -- set accounting class
113635 --
113636 xla_ae_lines_pkg.SetAcctClass(
113637 p_accounting_class_code => 'RTAX'
113638 , p_ae_header_id => l_ae_header_id
113639 );
113640
113641 --
113642 -- set rounding class
113643 --
113644 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
113645 'RTAX';
113646
113647 --
113648 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
113649 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
113650 --
113651 -- bulk performance
113652 --
113653 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
113654
113655 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
113656 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
113657
113658 -- 4955764
113659 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
113660 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
113661
113662 -- 4458381 Public Sector Enh
113663
113664 --
113665 -- set accounting attributes for the line type
113666 --
113667 l_entered_amt_idx := 24;
113668 l_accted_amt_idx := 29;
113669 l_bflow_applied_to_amt_idx := 7; -- 5132302
113670 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
113671 l_rec_acct_attrs.array_char_value(1) := p_source_58;
113672 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
113673 l_rec_acct_attrs.array_num_value(2) :=
113674 xla_ae_sources_pkg.GetSystemSourceNum(
113675 p_source_code => 'XLA_EVENT_APPL_ID'
113676 , p_source_type_code => 'Y'
113677 , p_source_application_id => 602
113678 );
113679 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
113680 l_rec_acct_attrs.array_char_value(3) := p_source_60;
113681 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
113682 l_rec_acct_attrs.array_char_value(4) :=
113683 xla_ae_sources_pkg.GetSystemSourceChar(
113684 p_source_code => 'XLA_ENTITY_CODE'
113685 , p_source_type_code => 'Y'
113686 , p_source_application_id => 602
113687 );
113688 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
113689 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_62);
113690 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
113691 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_63);
113692 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
113693 l_rec_acct_attrs.array_num_value(7) := p_source_78;
113694 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
113698 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
113695 l_rec_acct_attrs.array_num_value(8) := p_source_96;
113696 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
113697 l_rec_acct_attrs.array_char_value(9) := p_source_97;
113699 l_rec_acct_attrs.array_char_value(10) := p_source_98;
113700 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
113701 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_99);
113702 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
113703 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_100);
113704 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
113705 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_69);
113706 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
113707 l_rec_acct_attrs.array_char_value(14) := p_source_60;
113708 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
113709 l_rec_acct_attrs.array_num_value(15) := p_source_70;
113710 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
113711 l_rec_acct_attrs.array_num_value(16) := p_source_71;
113712 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
113713 l_rec_acct_attrs.array_char_value(17) := p_source_72;
113714 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
113715 l_rec_acct_attrs.array_num_value(18) := p_source_73;
113716 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
113717 l_rec_acct_attrs.array_num_value(19) := p_source_74;
113718 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
113719 l_rec_acct_attrs.array_num_value(20) := p_source_75;
113720 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
113721 l_rec_acct_attrs.array_char_value(21) := p_source_72;
113722 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
113723 l_rec_acct_attrs.array_num_value(22) := p_source_76;
113724 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
113725 l_rec_acct_attrs.array_char_value(23) := p_source_77;
113726 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_AMOUNT';
113727 l_rec_acct_attrs.array_num_value(24) := p_source_78;
113728 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_CODE';
113729 l_rec_acct_attrs.array_char_value(25) := p_source_72;
113730 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_DATE';
113731 l_rec_acct_attrs.array_date_value(26) := p_source_146;
113732 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE';
113733 l_rec_acct_attrs.array_num_value(27) := p_source_147;
113734 l_rec_acct_attrs.array_acct_attr_code(28) := 'EXCHANGE_RATE_TYPE';
113735 l_rec_acct_attrs.array_char_value(28) := p_source_148;
113736 l_rec_acct_attrs.array_acct_attr_code(29) := 'LEDGER_AMOUNT';
113737 l_rec_acct_attrs.array_num_value(29) := p_source_16;
113738 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_END_DATE';
113739 l_rec_acct_attrs.array_date_value(30) := p_source_82;
113740 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_OPTION';
113741 l_rec_acct_attrs.array_char_value(31) := p_source_83;
113742 l_rec_acct_attrs.array_acct_attr_code(32) := 'MULTIPERIOD_START_DATE';
113743 l_rec_acct_attrs.array_date_value(32) := p_source_84;
113744 l_rec_acct_attrs.array_acct_attr_code(33) := 'OVERRIDE_ACCTD_AMT_FLAG';
113745 l_rec_acct_attrs.array_char_value(33) := p_source_85;
113746 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_ID';
113747 l_rec_acct_attrs.array_num_value(34) := p_source_86;
113748 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_SITE_ID';
113749 l_rec_acct_attrs.array_num_value(35) := p_source_87;
113750 l_rec_acct_attrs.array_acct_attr_code(36) := 'PARTY_TYPE';
113751 l_rec_acct_attrs.array_char_value(36) := p_source_88;
113752 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_ID1';
113753 l_rec_acct_attrs.array_num_value(37) := to_char(p_source_89);
113754 l_rec_acct_attrs.array_acct_attr_code(38) := 'REVERSED_DISTRIBUTION_TYPE';
113755 l_rec_acct_attrs.array_char_value(38) := p_source_60;
113756 l_rec_acct_attrs.array_acct_attr_code(39) := 'STATISTICAL_AMOUNT';
113757 l_rec_acct_attrs.array_num_value(39) := p_source_90;
113758 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_LINE_REF_ID';
113759 l_rec_acct_attrs.array_num_value(40) := p_source_91;
113760 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_REC_NREC_DIST_REF_ID';
113761 l_rec_acct_attrs.array_num_value(41) := p_source_92;
113762 l_rec_acct_attrs.array_acct_attr_code(42) := 'TAX_SUMMARY_LINE_REF_ID';
113763 l_rec_acct_attrs.array_num_value(42) := p_source_93;
113764 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_CR_ENC_TYPE_ID';
113765 l_rec_acct_attrs.array_num_value(43) := p_source_94;
113766 l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
113767 l_rec_acct_attrs.array_num_value(44) := p_source_95;
113768
113769 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
113770 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
113771
113772 ---------------------------------------------------------------------------------------------------------------
113773 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
113774 ---------------------------------------------------------------------------------------------------------------
113775 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
113776
113777 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
113781 (p_source_code => 'LEDGER_CATEGORY_CODE'
113778 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
113779
113780 IF xla_accounting_cache_pkg.GetValueChar
113782 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
113783 AND l_bflow_method_code = 'PRIOR_ENTRY'
113784 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
113785 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
113786 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
113787 )
113788 THEN
113789 xla_ae_lines_pkg.BflowUpgEntry
113790 (p_business_method_code => l_bflow_method_code
113791 ,p_business_class_code => l_bflow_class_code
113792 ,p_balance_type => l_balance_type_code);
113793 ELSE
113794 NULL;
113795 -- No business flow processing for business flow method of NONE.
113796 END IF;
113797
113798 --
113799 -- call analytical criteria
113800 --
113801
113802 --
113803 -- call description
113804 --
113805
113806 xla_ae_lines_pkg.SetLineDescription(
113807 p_ae_header_id => l_ae_header_id
113808 ,p_description => Description_2 (
113809 p_application_id => p_application_id
113810 , p_ae_header_id => l_ae_header_id
113811 , p_source_1 => p_source_1
113812 )
113813 );
113814
113815
113816 --
113817 -- call ADRs
113818 -- Bug 4922099
113819 --
113820 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
113821 (NVL(l_actual_upg_option, 'N') = 'O') OR
113822 (NVL(l_enc_upg_option, 'N') = 'O')
113823 )
113824 THEN
113825 NULL;
113826 --
113827 --
113828
113829 l_ccid := AcctDerRule_35(
113830 p_application_id => p_application_id
113831 , p_ae_header_id => l_ae_header_id
113832 , p_source_25 => p_source_25
113833 , x_transaction_coa_id => l_adr_transaction_coa_id
113834 , x_accounting_coa_id => l_adr_accounting_coa_id
113835 , x_value_type_code => l_adr_value_type_code
113836 , p_side => 'NA'
113837 );
113838
113839 xla_ae_lines_pkg.set_ccid(
113840 p_code_combination_id => l_ccid
113841 , p_value_type_code => l_adr_value_type_code
113842 , p_transaction_coa_id => l_adr_transaction_coa_id
113843 , p_accounting_coa_id => l_adr_accounting_coa_id
113844 , p_adr_code => 'AP_INVOICE_DIST'
113845 , p_adr_type_code => 'S'
113846 , p_component_type => l_component_type
113847 , p_component_code => l_component_code
113848 , p_component_type_code => l_component_type_code
113849 , p_component_appl_id => l_component_appl_id
113850 , p_amb_context_code => l_amb_context_code
113851 , p_side => 'NA'
113852 );
113853
113854
113855 --
113856 --
113857 END IF;
113858 --
113859 -- Bug 4922099
113860 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
113861 (NVL(l_enc_upg_option, 'N') = 'O')
113862 ) AND
113863 (l_bflow_method_code = 'PRIOR_ENTRY')
113864 )
113865 THEN
113866 IF
113867 --
113868 1 = 2
113869 --
113870 THEN
113871 xla_accounting_err_pkg.build_message
113872 (p_appli_s_name => 'XLA'
113873 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
113874 ,p_token_1 => 'LINE_NUMBER'
113875 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
113876 ,p_token_2 => 'LINE_TYPE_NAME'
113877 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
113878 l_component_type
113879 ,l_component_code
113880 ,l_component_type_code
113881 ,l_component_appl_id
113882 ,l_amb_context_code
113883 ,l_entity_code
113884 ,l_event_class_code
113885 )
113886 ,p_token_3 => 'OWNER'
113887 ,p_value_3 => xla_lookups_pkg.get_meaning(
113888 p_lookup_type => 'XLA_OWNER_TYPE'
113889 ,p_lookup_code => l_component_type_code
113890 )
113891 ,p_token_4 => 'PRODUCT_NAME'
113892 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
113893 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
113897 );
113894 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
113895 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
113896 ,p_ae_header_id => NULL
113898
113899 IF (C_LEVEL_ERROR>= g_log_level) THEN
113900 trace
113901 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
113902 ,p_level => C_LEVEL_ERROR
113903 ,p_module => l_log_module);
113904 END IF;
113905 END IF;
113906 END IF;
113907 --
113908 --
113909 ------------------------------------------------------------------------------------------------
113910 -- 4219869 Business Flow
113911 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
113912 -- Prior Entry. Currently, the following code is always generated.
113913 ------------------------------------------------------------------------------------------------
113914 XLA_AE_LINES_PKG.ValidateCurrentLine;
113915
113916 ------------------------------------------------------------------------------------
113917 -- 4219869 Business Flow
113918 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
113919 ------------------------------------------------------------------------------------
113920 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
113921
113922 ----------------------------------------------------------------------------------
113923 -- 4219869 Business Flow
113924 -- Update journal entry status -- Need to generate this within IF <condition>
113925 ----------------------------------------------------------------------------------
113926 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
113927 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
113928 ,p_balance_type_code => l_balance_type_code
113929 );
113930
113931 -------------------------------------------------------------------------------------------
113932 -- 4262811 - Generate the Accrual Reversal lines
113933 -------------------------------------------------------------------------------------------
113934 BEGIN
113935 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
113936 (g_array_event(p_event_id).array_value_num('header_index'));
113937 IF l_acc_rev_flag IS NULL THEN
113938 l_acc_rev_flag := 'N';
113939 END IF;
113940 EXCEPTION
113941 WHEN OTHERS THEN
113942 l_acc_rev_flag := 'N';
113943 END;
113944 --
113945 IF (l_acc_rev_flag = 'Y') THEN
113946
113947 -- 4645092 ------------------------------------------------------------------------------
113948 -- To allow MPA report to determine if it should generate report process
113949 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
113950 ------------------------------------------------------------------------------------------
113951
113952 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
113953 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
113954 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
113955 -- call ADRs
113956 -- Bug 4922099
113957 --
113958 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
113959 (NVL(l_actual_upg_option, 'N') = 'O') OR
113960 (NVL(l_enc_upg_option, 'N') = 'O')
113961 )
113962 THEN
113963 NULL;
113964 --
113965 --
113966
113967 l_ccid := AcctDerRule_35(
113968 p_application_id => p_application_id
113969 , p_ae_header_id => l_ae_header_id
113970 , p_source_25 => p_source_25
113971 , x_transaction_coa_id => l_adr_transaction_coa_id
113972 , x_accounting_coa_id => l_adr_accounting_coa_id
113973 , x_value_type_code => l_adr_value_type_code
113974 , p_side => 'NA'
113975 );
113976
113977 xla_ae_lines_pkg.set_ccid(
113978 p_code_combination_id => l_ccid
113979 , p_value_type_code => l_adr_value_type_code
113980 , p_transaction_coa_id => l_adr_transaction_coa_id
113981 , p_accounting_coa_id => l_adr_accounting_coa_id
113982 , p_adr_code => 'AP_INVOICE_DIST'
113983 , p_adr_type_code => 'S'
113984 , p_component_type => l_component_type
113985 , p_component_code => l_component_code
113986 , p_component_type_code => l_component_type_code
113987 , p_component_appl_id => l_component_appl_id
113988 , p_amb_context_code => l_amb_context_code
113989 , p_side => 'NA'
113990 );
113991
113992
113993 --
113994 --
113995 END IF;
113996
113997 --
113998 -- Update the line information that should be overwritten
113999 --
114000 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
114001 p_header_num => 1);
114002 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
114003
114004 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
114005
114006 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
114010 --
114007 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
114008 END IF;
114009
114011 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
114012 --
114013 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
114014 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
114015 ELSE
114016 ---------------------------------------------------------------------------------------------------
114017 -- 4262811a Switch Sign
114018 ---------------------------------------------------------------------------------------------------
114019 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
114020 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
114021 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
114022 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
114023 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
114024 -- 5132302
114025 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
114026 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
114027
114028 END IF;
114029
114030 -- 4955764
114031 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
114032 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
114033
114034
114035 XLA_AE_LINES_PKG.ValidateCurrentLine;
114036 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
114037
114038 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
114039 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
114040 ,p_balance_type_code => l_balance_type_code);
114041
114042 END IF;
114043
114044 -----------------------------------------------------------------------------------------
114045 -- 4262811 Multiperiod Accounting
114046 -----------------------------------------------------------------------------------------
114047 -- No MPA option is assigned.
114048
114049
114050 END IF;
114051 END IF;
114052 --
114053
114054 --
114055 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
114056 trace
114057 (p_msg => 'END of AcctLineType_198'
114058 ,p_level => C_LEVEL_PROCEDURE
114059 ,p_module => l_log_module);
114060 END IF;
114061 --
114062 EXCEPTION
114063 WHEN xla_exceptions_pkg.application_exception THEN
114064 RAISE;
114065 WHEN OTHERS THEN
114066 xla_exceptions_pkg.raise_message
114067 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_198');
114068 END AcctLineType_198;
114069 --
114070
114071 ---------------------------------------
114072 --
114073 -- PRIVATE FUNCTION
114074 -- AcctLineType_199
114075 --
114076 ---------------------------------------
114077 PROCEDURE AcctLineType_199 (
114078 p_application_id IN NUMBER
114079 ,p_event_id IN NUMBER
114080 ,p_calculate_acctd_flag IN VARCHAR2
114081 ,p_calculate_g_l_flag IN VARCHAR2
114082 ,p_actual_flag IN OUT VARCHAR2
114083 ,p_balance_type_code OUT VARCHAR2
114084 ,p_gain_or_loss_ref OUT VARCHAR2
114085
114086 --Invoice Distribution Description
114087 , p_source_1 IN VARCHAR2
114088 --Invoice Distribution Ledger Amount
114089 , p_source_16 IN NUMBER
114090 --Invoice Distribution Account
114091 , p_source_25 IN NUMBER
114092 --Invoice Distribution Type
114093 , p_source_28 IN VARCHAR2
114094 , p_source_28_meaning IN VARCHAR2
114095 --Accounting Reversal Indicator
114096 , p_source_58 IN VARCHAR2
114097 --Distribution Link Type
114098 , p_source_60 IN VARCHAR2
114099 --Allocation to Main Distribution Identifier
114100 , p_source_62 IN NUMBER
114101 --Invoice Identifier
114102 , p_source_63 IN NUMBER
114103 --Invoice Distribution Identifier
114104 , p_source_69 IN NUMBER
114105 --Payables Encumbrance Upgrade Credit Account
114106 , p_source_70 IN NUMBER
114107 --Payables Encumbrance Upgrade Credit Amount
114108 , p_source_71 IN NUMBER
114109 --Invoice Currency Code
114110 , p_source_72 IN VARCHAR2
114111 --Payables Encumbrance Upgrade Credit Base Amount
114112 , p_source_73 IN NUMBER
114113 --Payables Encumbrance Upgrade Debit Account
114114 , p_source_74 IN NUMBER
114115 --Payables Encumbrance Upgrade Debit Amount
114116 , p_source_75 IN NUMBER
114117 --Payables Encumbrance Upgrade Debit Base Amount
114118 , p_source_76 IN NUMBER
114119 --Payables Encumbrance Upgrade Option
114120 , p_source_77 IN VARCHAR2
114121 --Invoice Distribution Amount
114122 , p_source_78 IN NUMBER
114123 --Deferred Accounting End Date
114124 , p_source_82 IN DATE
114125 --Deferred Accounting Option
114126 , p_source_83 IN VARCHAR2
114127 --Deferred Accounting Start Date
114128 , p_source_84 IN DATE
114129 --Override Accounted Amount Indicator
114133 , p_source_86 IN NUMBER
114130 , p_source_85 IN VARCHAR2
114131 , p_source_85_meaning IN VARCHAR2
114132 --Invoice Supplier Identifier
114134 --Invoice Supplier Site Identifier
114135 , p_source_87 IN NUMBER
114136 --Third Party Type
114137 , p_source_88 IN VARCHAR2
114138 --Parent Reversal Identifier
114139 , p_source_89 IN NUMBER
114140 --Invoice Distribution Statistical Amount
114141 , p_source_90 IN NUMBER
114142 --Invoice Distribution Tax Line Identifier
114143 , p_source_91 IN NUMBER
114144 --Invoice Distribution Tax Distribution Identifier from Tax
114145 , p_source_92 IN NUMBER
114146 --Invoice Distribution Summary Tax Line Identifier
114147 , p_source_93 IN NUMBER
114148 --Payables Upgrade Credit Encumbrance Type Identifier
114149 , p_source_94 IN NUMBER
114150 --Payables Upgrade Debit Encumbrance Type Identifier
114151 , p_source_95 IN NUMBER
114152 --Business Flow Accounts Payable Application Identifier
114153 , p_source_96 IN NUMBER
114154 --Business Flow Invoice Distribution Type
114155 , p_source_97 IN VARCHAR2
114156 --Business Flow Invoice Entity Code
114157 , p_source_98 IN VARCHAR2
114158 --Business Flow Invoice Distribution Identifier
114159 , p_source_99 IN NUMBER
114160 --Business Flow Invoice Identifier
114161 , p_source_100 IN NUMBER
114162 --Deferred Recoverable Tax Option
114163 , p_source_140 IN VARCHAR2
114164 , p_source_140_meaning IN VARCHAR2
114165 --Self-Assessed Tax Flag
114166 , p_source_145 IN VARCHAR2
114167 , p_source_145_meaning IN VARCHAR2
114168 --Invoice Exchange Date
114169 , p_source_146 IN DATE
114170 --Invoice Exchange Rate
114171 , p_source_147 IN NUMBER
114172 --Invoice Exchange Rate Type
114173 , p_source_148 IN VARCHAR2
114174 )
114175 IS
114176
114177 l_component_type VARCHAR2(80);
114178 l_component_code VARCHAR2(30);
114179 l_component_type_code VARCHAR2(1);
114180 l_component_appl_id INTEGER;
114181 l_amb_context_code VARCHAR2(30);
114182 l_entity_code VARCHAR2(30);
114183 l_event_class_code VARCHAR2(30);
114184 l_ae_header_id NUMBER;
114185 l_event_type_code VARCHAR2(30);
114186 l_line_definition_code VARCHAR2(30);
114187 l_line_definition_owner_code VARCHAR2(1);
114188 --
114189 -- adr variables
114190 l_segment VARCHAR2(30);
114191 l_ccid NUMBER;
114192 l_adr_transaction_coa_id NUMBER;
114193 l_adr_accounting_coa_id NUMBER;
114194 l_adr_flexfield_segment_code VARCHAR2(30);
114195 l_adr_flex_value_set_id NUMBER;
114196 l_adr_value_type_code VARCHAR2(30);
114197 l_adr_value_combination_id NUMBER;
114198 l_adr_value_segment_code VARCHAR2(30);
114199
114200 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
114201 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
114202 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
114203 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
114204
114205 -- 4262811 Variables ------------------------------------------------------------------------------------------
114206 l_entered_amt_idx NUMBER;
114207 l_accted_amt_idx NUMBER;
114208 l_acc_rev_flag VARCHAR2(1);
114209 l_accrual_line_num NUMBER;
114210 l_tmp_amt NUMBER;
114211 l_acc_rev_natural_side_code VARCHAR2(1);
114212
114213 l_num_entries NUMBER;
114214 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
114215 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
114216 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
114217 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
114218 l_recog_line_1 NUMBER;
114219 l_recog_line_2 NUMBER;
114220
114221 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
114222 l_bflow_applied_to_amt NUMBER; -- 5132302
114223 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
114224
114225 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
114226
114227 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
114228 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
114229
114230 ---------------------------------------------------------------------------------------------------------------
114231
114232
114233 --
114234 -- bulk performance
114235 --
114236 l_balance_type_code VARCHAR2(1);
114237 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
114238 l_log_module VARCHAR2(240);
114239
114240 --
114241 -- Upgrade strategy
114242 --
114243 l_actual_upg_option VARCHAR2(1);
114244 l_enc_upg_option VARCHAR2(1);
114245
114246 --
114247 BEGIN
114248 --
114249 IF g_log_enabled THEN
114250 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_199';
114251 END IF;
114252 --
114253 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
114254
114255 trace
114256 (p_msg => 'BEGIN of AcctLineType_199'
114260 END IF;
114257 ,p_level => C_LEVEL_PROCEDURE
114258 ,p_module => l_log_module);
114259
114261 --
114262 l_component_type := 'AMB_JLT';
114263 l_component_code := 'AP_RECOV_TAX_PREPAY';
114264 l_component_type_code := 'S';
114265 l_component_appl_id := 200;
114266 l_amb_context_code := 'DEFAULT';
114267 l_entity_code := 'AP_INVOICES';
114268 l_event_class_code := 'PREPAYMENTS';
114269 l_event_type_code := 'PREPAYMENTS_ALL';
114270 l_line_definition_owner_code := 'S';
114271 l_line_definition_code := 'ACCRUAL_PREPAYMENTS_ALL';
114272 --
114273 l_balance_type_code := 'A';
114274 l_segment := NULL;
114275 l_ccid := NULL;
114276 l_adr_transaction_coa_id := NULL;
114277 l_adr_accounting_coa_id := NULL;
114278 l_adr_flexfield_segment_code := NULL;
114279 l_adr_flex_value_set_id := NULL;
114280 l_adr_value_type_code := NULL;
114281 l_adr_value_combination_id := NULL;
114282 l_adr_value_segment_code := NULL;
114283
114284 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
114285 l_bflow_class_code := 'AP_PREPAY'; -- 4219869 Business Flow
114286 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
114287 l_budgetary_control_flag := 'N';
114288
114289 l_bflow_applied_to_amt_idx := NULL; -- 5132302
114290 l_bflow_applied_to_amt := NULL; -- 5132302
114291 l_entered_amt_idx := NULL; -- 4262811
114292 l_accted_amt_idx := NULL; -- 4262811
114293 l_acc_rev_flag := NULL; -- 4262811
114294 l_accrual_line_num := NULL; -- 4262811
114295 l_tmp_amt := NULL; -- 4262811
114296 --
114297
114298 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
114299 l_balance_type_code <> 'B' THEN
114300 IF NVL(p_source_28,'
114301 ') = 'REC_TAX' AND
114302 NVL(p_source_140,'
114303 ') = 'IMMEDIATE' AND
114304 NVL(p_source_145,'
114305 ') <> 'Y'
114306 THEN
114307
114308 --
114309 XLA_AE_LINES_PKG.SetNewLine;
114310
114311 p_balance_type_code := l_balance_type_code;
114312 -- set the flag so later we will know whether the gain loss line needs to be created
114313
114314 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
114315 p_actual_flag :='A';
114316 END IF;
114317
114318 --
114319 -- bulk performance
114320 --
114321 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
114322 p_header_num => 0); -- 4262811
114323 --
114324 -- set accounting line options
114325 --
114326 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
114327 p_natural_side_code => 'D'
114328 , p_gain_or_loss_flag => 'N'
114329 , p_gl_transfer_mode_code => 'S'
114330 , p_acct_entry_type_code => 'A'
114331 , p_switch_side_flag => 'Y'
114332 , p_merge_duplicate_code => 'A'
114333 );
114334 --
114335 l_acc_rev_natural_side_code := 'C'; -- 4262811
114336 --
114337 --
114338 -- set accounting line type info
114339 --
114340 xla_ae_lines_pkg.SetAcctLineType
114341 (p_component_type => l_component_type
114342 ,p_event_type_code => l_event_type_code
114343 ,p_line_definition_owner_code => l_line_definition_owner_code
114344 ,p_line_definition_code => l_line_definition_code
114345 ,p_accounting_line_code => l_component_code
114346 ,p_accounting_line_type_code => l_component_type_code
114347 ,p_accounting_line_appl_id => l_component_appl_id
114348 ,p_amb_context_code => l_amb_context_code
114349 ,p_entity_code => l_entity_code
114350 ,p_event_class_code => l_event_class_code);
114351 --
114352 -- set accounting class
114353 --
114354 xla_ae_lines_pkg.SetAcctClass(
114355 p_accounting_class_code => 'RTAX'
114356 , p_ae_header_id => l_ae_header_id
114357 );
114358
114359 --
114360 -- set rounding class
114361 --
114362 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
114363 'RTAX';
114364
114365 --
114366 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
114367 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
114368 --
114369 -- bulk performance
114370 --
114371 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
114372
114373 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
114374 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
114375
114376 -- 4955764
114377 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
114378 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
114379
114380 -- 4458381 Public Sector Enh
114381
114382 --
114383 -- set accounting attributes for the line type
114384 --
114385 l_entered_amt_idx := 23;
114386 l_accted_amt_idx := 28;
114387 l_bflow_applied_to_amt_idx := NULL; -- 5132302
114388 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
114392 xla_ae_sources_pkg.GetSystemSourceNum(
114389 l_rec_acct_attrs.array_char_value(1) := p_source_58;
114390 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
114391 l_rec_acct_attrs.array_num_value(2) :=
114393 p_source_code => 'XLA_EVENT_APPL_ID'
114394 , p_source_type_code => 'Y'
114395 , p_source_application_id => 602
114396 );
114397 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
114398 l_rec_acct_attrs.array_char_value(3) := p_source_60;
114399 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
114400 l_rec_acct_attrs.array_char_value(4) :=
114401 xla_ae_sources_pkg.GetSystemSourceChar(
114402 p_source_code => 'XLA_ENTITY_CODE'
114403 , p_source_type_code => 'Y'
114404 , p_source_application_id => 602
114405 );
114406 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
114407 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_62);
114408 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
114409 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_63);
114410 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
114411 l_rec_acct_attrs.array_num_value(7) := p_source_96;
114412 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
114413 l_rec_acct_attrs.array_char_value(8) := p_source_97;
114414 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
114415 l_rec_acct_attrs.array_char_value(9) := p_source_98;
114416 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
114417 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_99);
114418 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
114419 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_100);
114420 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
114421 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_69);
114422 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
114423 l_rec_acct_attrs.array_char_value(13) := p_source_60;
114424 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
114425 l_rec_acct_attrs.array_num_value(14) := p_source_70;
114426 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
114427 l_rec_acct_attrs.array_num_value(15) := p_source_71;
114428 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
114429 l_rec_acct_attrs.array_char_value(16) := p_source_72;
114430 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
114431 l_rec_acct_attrs.array_num_value(17) := p_source_73;
114432 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
114433 l_rec_acct_attrs.array_num_value(18) := p_source_74;
114434 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
114435 l_rec_acct_attrs.array_num_value(19) := p_source_75;
114436 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
114437 l_rec_acct_attrs.array_char_value(20) := p_source_72;
114438 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
114439 l_rec_acct_attrs.array_num_value(21) := p_source_76;
114440 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
114441 l_rec_acct_attrs.array_char_value(22) := p_source_77;
114442 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
114443 l_rec_acct_attrs.array_num_value(23) := p_source_78;
114444 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
114445 l_rec_acct_attrs.array_char_value(24) := p_source_72;
114446 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
114447 l_rec_acct_attrs.array_date_value(25) := p_source_146;
114448 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
114449 l_rec_acct_attrs.array_num_value(26) := p_source_147;
114450 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
114451 l_rec_acct_attrs.array_char_value(27) := p_source_148;
114452 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
114453 l_rec_acct_attrs.array_num_value(28) := p_source_16;
114454 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
114455 l_rec_acct_attrs.array_date_value(29) := p_source_82;
114456 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
114457 l_rec_acct_attrs.array_char_value(30) := p_source_83;
114458 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
114459 l_rec_acct_attrs.array_date_value(31) := p_source_84;
114460 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
114461 l_rec_acct_attrs.array_char_value(32) := p_source_85;
114462 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
114463 l_rec_acct_attrs.array_num_value(33) := p_source_86;
114464 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
114465 l_rec_acct_attrs.array_num_value(34) := p_source_87;
114466 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
114467 l_rec_acct_attrs.array_char_value(35) := p_source_88;
114468 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
114469 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_89);
114470 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
114471 l_rec_acct_attrs.array_char_value(37) := p_source_60;
114472 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
114473 l_rec_acct_attrs.array_num_value(38) := p_source_90;
114474 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
114475 l_rec_acct_attrs.array_num_value(39) := p_source_91;
114479 l_rec_acct_attrs.array_num_value(41) := p_source_93;
114476 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
114477 l_rec_acct_attrs.array_num_value(40) := p_source_92;
114478 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
114480 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
114481 l_rec_acct_attrs.array_num_value(42) := p_source_94;
114482 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
114483 l_rec_acct_attrs.array_num_value(43) := p_source_95;
114484
114485 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
114486 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
114487
114488 ---------------------------------------------------------------------------------------------------------------
114489 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
114490 ---------------------------------------------------------------------------------------------------------------
114491 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
114492
114493 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
114494 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
114495
114496 IF xla_accounting_cache_pkg.GetValueChar
114497 (p_source_code => 'LEDGER_CATEGORY_CODE'
114498 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
114499 AND l_bflow_method_code = 'PRIOR_ENTRY'
114500 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
114501 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
114502 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
114503 )
114504 THEN
114505 xla_ae_lines_pkg.BflowUpgEntry
114506 (p_business_method_code => l_bflow_method_code
114507 ,p_business_class_code => l_bflow_class_code
114508 ,p_balance_type => l_balance_type_code);
114509 ELSE
114510 NULL;
114511 -- No business flow processing for business flow method of NONE.
114512 END IF;
114513
114514 --
114515 -- call analytical criteria
114516 --
114517
114518 --
114519 -- call description
114520 --
114521
114522 xla_ae_lines_pkg.SetLineDescription(
114523 p_ae_header_id => l_ae_header_id
114524 ,p_description => Description_2 (
114525 p_application_id => p_application_id
114526 , p_ae_header_id => l_ae_header_id
114527 , p_source_1 => p_source_1
114528 )
114529 );
114530
114531
114532 --
114533 -- call ADRs
114534 -- Bug 4922099
114535 --
114536 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
114537 (NVL(l_actual_upg_option, 'N') = 'O') OR
114538 (NVL(l_enc_upg_option, 'N') = 'O')
114539 )
114540 THEN
114541 NULL;
114542 --
114543 --
114544
114545 l_ccid := AcctDerRule_35(
114546 p_application_id => p_application_id
114547 , p_ae_header_id => l_ae_header_id
114548 , p_source_25 => p_source_25
114549 , x_transaction_coa_id => l_adr_transaction_coa_id
114550 , x_accounting_coa_id => l_adr_accounting_coa_id
114551 , x_value_type_code => l_adr_value_type_code
114552 , p_side => 'NA'
114553 );
114554
114555 xla_ae_lines_pkg.set_ccid(
114556 p_code_combination_id => l_ccid
114557 , p_value_type_code => l_adr_value_type_code
114558 , p_transaction_coa_id => l_adr_transaction_coa_id
114559 , p_accounting_coa_id => l_adr_accounting_coa_id
114560 , p_adr_code => 'AP_INVOICE_DIST'
114561 , p_adr_type_code => 'S'
114562 , p_component_type => l_component_type
114563 , p_component_code => l_component_code
114564 , p_component_type_code => l_component_type_code
114565 , p_component_appl_id => l_component_appl_id
114566 , p_amb_context_code => l_amb_context_code
114567 , p_side => 'NA'
114568 );
114569
114570
114571 --
114572 --
114573 END IF;
114574 --
114575 -- Bug 4922099
114576 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
114577 (NVL(l_enc_upg_option, 'N') = 'O')
114578 ) AND
114579 (l_bflow_method_code = 'PRIOR_ENTRY')
114580 )
114581 THEN
114582 IF
114583 --
114584 1 = 2
114585 --
114586 THEN
114587 xla_accounting_err_pkg.build_message
114588 (p_appli_s_name => 'XLA'
114589 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
114590 ,p_token_1 => 'LINE_NUMBER'
114591 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
114592 ,p_token_2 => 'LINE_TYPE_NAME'
114593 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
114594 l_component_type
114595 ,l_component_code
114599 ,l_entity_code
114596 ,l_component_type_code
114597 ,l_component_appl_id
114598 ,l_amb_context_code
114600 ,l_event_class_code
114601 )
114602 ,p_token_3 => 'OWNER'
114603 ,p_value_3 => xla_lookups_pkg.get_meaning(
114604 p_lookup_type => 'XLA_OWNER_TYPE'
114605 ,p_lookup_code => l_component_type_code
114606 )
114607 ,p_token_4 => 'PRODUCT_NAME'
114608 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
114609 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
114610 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
114611 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
114612 ,p_ae_header_id => NULL
114613 );
114614
114615 IF (C_LEVEL_ERROR>= g_log_level) THEN
114616 trace
114617 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
114618 ,p_level => C_LEVEL_ERROR
114619 ,p_module => l_log_module);
114620 END IF;
114621 END IF;
114622 END IF;
114623 --
114624 --
114625 ------------------------------------------------------------------------------------------------
114626 -- 4219869 Business Flow
114627 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
114628 -- Prior Entry. Currently, the following code is always generated.
114629 ------------------------------------------------------------------------------------------------
114630 XLA_AE_LINES_PKG.ValidateCurrentLine;
114631
114632 ------------------------------------------------------------------------------------
114633 -- 4219869 Business Flow
114634 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
114635 ------------------------------------------------------------------------------------
114636 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
114637
114638 ----------------------------------------------------------------------------------
114639 -- 4219869 Business Flow
114640 -- Update journal entry status -- Need to generate this within IF <condition>
114641 ----------------------------------------------------------------------------------
114642 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
114643 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
114644 ,p_balance_type_code => l_balance_type_code
114645 );
114646
114647 -------------------------------------------------------------------------------------------
114648 -- 4262811 - Generate the Accrual Reversal lines
114649 -------------------------------------------------------------------------------------------
114650 BEGIN
114651 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
114652 (g_array_event(p_event_id).array_value_num('header_index'));
114653 IF l_acc_rev_flag IS NULL THEN
114654 l_acc_rev_flag := 'N';
114655 END IF;
114656 EXCEPTION
114657 WHEN OTHERS THEN
114658 l_acc_rev_flag := 'N';
114659 END;
114660 --
114661 IF (l_acc_rev_flag = 'Y') THEN
114662
114663 -- 4645092 ------------------------------------------------------------------------------
114664 -- To allow MPA report to determine if it should generate report process
114665 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
114666 ------------------------------------------------------------------------------------------
114667
114668 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
114669 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
114670 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
114671 -- call ADRs
114672 -- Bug 4922099
114673 --
114674 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
114675 (NVL(l_actual_upg_option, 'N') = 'O') OR
114676 (NVL(l_enc_upg_option, 'N') = 'O')
114677 )
114678 THEN
114679 NULL;
114680 --
114681 --
114682
114683 l_ccid := AcctDerRule_35(
114684 p_application_id => p_application_id
114685 , p_ae_header_id => l_ae_header_id
114686 , p_source_25 => p_source_25
114687 , x_transaction_coa_id => l_adr_transaction_coa_id
114688 , x_accounting_coa_id => l_adr_accounting_coa_id
114689 , x_value_type_code => l_adr_value_type_code
114690 , p_side => 'NA'
114691 );
114692
114693 xla_ae_lines_pkg.set_ccid(
114694 p_code_combination_id => l_ccid
114698 , p_adr_code => 'AP_INVOICE_DIST'
114695 , p_value_type_code => l_adr_value_type_code
114696 , p_transaction_coa_id => l_adr_transaction_coa_id
114697 , p_accounting_coa_id => l_adr_accounting_coa_id
114699 , p_adr_type_code => 'S'
114700 , p_component_type => l_component_type
114701 , p_component_code => l_component_code
114702 , p_component_type_code => l_component_type_code
114703 , p_component_appl_id => l_component_appl_id
114704 , p_amb_context_code => l_amb_context_code
114705 , p_side => 'NA'
114706 );
114707
114708
114709 --
114710 --
114711 END IF;
114712
114713 --
114714 -- Update the line information that should be overwritten
114715 --
114716 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
114717 p_header_num => 1);
114718 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
114719
114720 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
114721
114722 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
114723 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
114724 END IF;
114725
114726 --
114727 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
114728 --
114729 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
114730 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
114731 ELSE
114732 ---------------------------------------------------------------------------------------------------
114733 -- 4262811a Switch Sign
114734 ---------------------------------------------------------------------------------------------------
114735 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
114736 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
114737 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
114738 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
114739 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
114740 -- 5132302
114741 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
114742 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
114743
114744 END IF;
114745
114746 -- 4955764
114747 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
114748 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
114749
114750
114751 XLA_AE_LINES_PKG.ValidateCurrentLine;
114752 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
114753
114754 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
114755 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
114756 ,p_balance_type_code => l_balance_type_code);
114757
114758 END IF;
114759
114760 -----------------------------------------------------------------------------------------
114761 -- 4262811 Multiperiod Accounting
114762 -----------------------------------------------------------------------------------------
114763 -- No MPA option is assigned.
114764
114765
114766 END IF;
114767 END IF;
114768 --
114769
114770 --
114771 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
114772 trace
114773 (p_msg => 'END of AcctLineType_199'
114774 ,p_level => C_LEVEL_PROCEDURE
114775 ,p_module => l_log_module);
114776 END IF;
114777 --
114778 EXCEPTION
114779 WHEN xla_exceptions_pkg.application_exception THEN
114780 RAISE;
114781 WHEN OTHERS THEN
114782 xla_exceptions_pkg.raise_message
114783 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_199');
114784 END AcctLineType_199;
114785 --
114786
114787 ---------------------------------------
114788 --
114789 -- PRIVATE FUNCTION
114790 -- AcctLineType_200
114791 --
114792 ---------------------------------------
114793 PROCEDURE AcctLineType_200 (
114794 p_application_id IN NUMBER
114795 ,p_event_id IN NUMBER
114796 ,p_calculate_acctd_flag IN VARCHAR2
114797 ,p_calculate_g_l_flag IN VARCHAR2
114798 ,p_actual_flag IN OUT VARCHAR2
114799 ,p_balance_type_code OUT VARCHAR2
114800 ,p_gain_or_loss_ref OUT VARCHAR2
114801
114802 --Invoice Distribution Description
114803 , p_source_1 IN VARCHAR2
114804 --Automatic Offsets Value
114805 , p_source_10 IN VARCHAR2
114806 , p_source_10_meaning IN VARCHAR2
114807 --Invoice Distribution Ledger Amount
114808 , p_source_16 IN NUMBER
114809 --Invoice Distribution Account
114810 , p_source_25 IN NUMBER
114811 --Invoice Distribution Type
114812 , p_source_28 IN VARCHAR2
114813 , p_source_28_meaning IN VARCHAR2
114814 --Retainage Account
114815 , p_source_35 IN NUMBER
114819 , p_source_58 IN VARCHAR2
114816 --Retainage Related Item Distribution Account
114817 , p_source_38 IN NUMBER
114818 --Accounting Reversal Indicator
114820 --Distribution Link Type
114821 , p_source_60 IN VARCHAR2
114822 --Allocation to Main Distribution Identifier
114823 , p_source_62 IN NUMBER
114824 --Invoice Identifier
114825 , p_source_63 IN NUMBER
114826 --Invoice Distribution Identifier
114827 , p_source_69 IN NUMBER
114828 --Payables Encumbrance Upgrade Credit Account
114829 , p_source_70 IN NUMBER
114830 --Payables Encumbrance Upgrade Credit Amount
114831 , p_source_71 IN NUMBER
114832 --Invoice Currency Code
114833 , p_source_72 IN VARCHAR2
114834 --Payables Encumbrance Upgrade Credit Base Amount
114835 , p_source_73 IN NUMBER
114836 --Payables Encumbrance Upgrade Debit Account
114837 , p_source_74 IN NUMBER
114838 --Payables Encumbrance Upgrade Debit Amount
114839 , p_source_75 IN NUMBER
114840 --Payables Encumbrance Upgrade Debit Base Amount
114841 , p_source_76 IN NUMBER
114842 --Payables Encumbrance Upgrade Option
114843 , p_source_77 IN VARCHAR2
114844 --Invoice Distribution Amount
114845 , p_source_78 IN NUMBER
114846 --Deferred Accounting End Date
114847 , p_source_82 IN DATE
114848 --Deferred Accounting Option
114849 , p_source_83 IN VARCHAR2
114850 --Deferred Accounting Start Date
114851 , p_source_84 IN DATE
114852 --Override Accounted Amount Indicator
114853 , p_source_85 IN VARCHAR2
114854 , p_source_85_meaning IN VARCHAR2
114855 --Invoice Supplier Identifier
114856 , p_source_86 IN NUMBER
114857 --Invoice Supplier Site Identifier
114858 , p_source_87 IN NUMBER
114859 --Third Party Type
114860 , p_source_88 IN VARCHAR2
114861 --Parent Reversal Identifier
114862 , p_source_89 IN NUMBER
114863 --Invoice Distribution Statistical Amount
114864 , p_source_90 IN NUMBER
114865 --Invoice Distribution Tax Line Identifier
114866 , p_source_91 IN NUMBER
114867 --Invoice Distribution Tax Distribution Identifier from Tax
114868 , p_source_92 IN NUMBER
114869 --Invoice Distribution Summary Tax Line Identifier
114870 , p_source_93 IN NUMBER
114871 --Payables Upgrade Credit Encumbrance Type Identifier
114872 , p_source_94 IN NUMBER
114873 --Payables Upgrade Debit Encumbrance Type Identifier
114874 , p_source_95 IN NUMBER
114875 --Business Flow Accounts Payable Application Identifier
114876 , p_source_96 IN NUMBER
114877 --Business Flow Invoice Distribution Type
114878 , p_source_97 IN VARCHAR2
114879 --Business Flow Invoice Entity Code
114880 , p_source_98 IN VARCHAR2
114881 --Business Flow Invoice Distribution Identifier
114882 , p_source_99 IN NUMBER
114883 --Business Flow Invoice Identifier
114884 , p_source_100 IN NUMBER
114885 --Invoice Exchange Date
114886 , p_source_146 IN DATE
114887 --Invoice Exchange Rate
114888 , p_source_147 IN NUMBER
114889 --Invoice Exchange Rate Type
114890 , p_source_148 IN VARCHAR2
114891 --Invoice Type
114892 , p_source_167 IN VARCHAR2
114893 , p_source_167_meaning IN VARCHAR2
114894 )
114895 IS
114896
114897 l_component_type VARCHAR2(80);
114898 l_component_code VARCHAR2(30);
114899 l_component_type_code VARCHAR2(1);
114900 l_component_appl_id INTEGER;
114901 l_amb_context_code VARCHAR2(30);
114902 l_entity_code VARCHAR2(30);
114903 l_event_class_code VARCHAR2(30);
114904 l_ae_header_id NUMBER;
114905 l_event_type_code VARCHAR2(30);
114906 l_line_definition_code VARCHAR2(30);
114907 l_line_definition_owner_code VARCHAR2(1);
114908 --
114909 -- adr variables
114910 l_segment VARCHAR2(30);
114911 l_ccid NUMBER;
114912 l_adr_transaction_coa_id NUMBER;
114913 l_adr_accounting_coa_id NUMBER;
114914 l_adr_flexfield_segment_code VARCHAR2(30);
114915 l_adr_flex_value_set_id NUMBER;
114916 l_adr_value_type_code VARCHAR2(30);
114917 l_adr_value_combination_id NUMBER;
114918 l_adr_value_segment_code VARCHAR2(30);
114919
114920 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
114921 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
114922 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
114923 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
114924
114925 -- 4262811 Variables ------------------------------------------------------------------------------------------
114926 l_entered_amt_idx NUMBER;
114927 l_accted_amt_idx NUMBER;
114928 l_acc_rev_flag VARCHAR2(1);
114929 l_accrual_line_num NUMBER;
114930 l_tmp_amt NUMBER;
114931 l_acc_rev_natural_side_code VARCHAR2(1);
114932
114933 l_num_entries NUMBER;
114934 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
114935 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
114936 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
114937 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
114938 l_recog_line_1 NUMBER;
114939 l_recog_line_2 NUMBER;
114940
114941 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
114945 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
114942 l_bflow_applied_to_amt NUMBER; -- 5132302
114943 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
114944
114946
114947 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
114948 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
114949
114950 ---------------------------------------------------------------------------------------------------------------
114951
114952
114953 --
114954 -- bulk performance
114955 --
114956 l_balance_type_code VARCHAR2(1);
114957 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
114958 l_log_module VARCHAR2(240);
114959
114960 --
114961 -- Upgrade strategy
114962 --
114963 l_actual_upg_option VARCHAR2(1);
114964 l_enc_upg_option VARCHAR2(1);
114965
114966 --
114967 BEGIN
114968 --
114969 IF g_log_enabled THEN
114970 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_200';
114971 END IF;
114972 --
114973 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
114974
114975 trace
114976 (p_msg => 'BEGIN of AcctLineType_200'
114977 ,p_level => C_LEVEL_PROCEDURE
114978 ,p_module => l_log_module);
114979
114980 END IF;
114981 --
114982 l_component_type := 'AMB_JLT';
114983 l_component_code := 'AP_RETAINAGE_ACC';
114984 l_component_type_code := 'S';
114985 l_component_appl_id := 200;
114986 l_amb_context_code := 'DEFAULT';
114987 l_entity_code := 'AP_INVOICES';
114988 l_event_class_code := 'INVOICES';
114989 l_event_type_code := 'INVOICES_ALL';
114990 l_line_definition_owner_code := 'S';
114991 l_line_definition_code := 'ACCRUAL_INVOICES_ALL';
114992 --
114993 l_balance_type_code := 'A';
114994 l_segment := NULL;
114995 l_ccid := NULL;
114996 l_adr_transaction_coa_id := NULL;
114997 l_adr_accounting_coa_id := NULL;
114998 l_adr_flexfield_segment_code := NULL;
114999 l_adr_flex_value_set_id := NULL;
115000 l_adr_value_type_code := NULL;
115001 l_adr_value_combination_id := NULL;
115002 l_adr_value_segment_code := NULL;
115003
115004 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
115005 l_bflow_class_code := 'AP_RETAINAGE'; -- 4219869 Business Flow
115006 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
115007 l_budgetary_control_flag := 'N';
115008
115009 l_bflow_applied_to_amt_idx := NULL; -- 5132302
115010 l_bflow_applied_to_amt := NULL; -- 5132302
115011 l_entered_amt_idx := NULL; -- 4262811
115012 l_accted_amt_idx := NULL; -- 4262811
115013 l_acc_rev_flag := NULL; -- 4262811
115014 l_accrual_line_num := NULL; -- 4262811
115015 l_tmp_amt := NULL; -- 4262811
115016 --
115017
115018 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
115019 l_balance_type_code <> 'B' THEN
115020 IF NVL(p_source_167,'
115021 ') = 'STANDARD' AND
115022 NVL(p_source_28,'
115023 ') = 'RETAINAGE'
115024 THEN
115025
115026 --
115027 XLA_AE_LINES_PKG.SetNewLine;
115028
115029 p_balance_type_code := l_balance_type_code;
115030 -- set the flag so later we will know whether the gain loss line needs to be created
115031
115032 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
115033 p_actual_flag :='A';
115034 END IF;
115035
115036 --
115037 -- bulk performance
115038 --
115039 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
115040 p_header_num => 0); -- 4262811
115041 --
115042 -- set accounting line options
115043 --
115044 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
115045 p_natural_side_code => 'D'
115046 , p_gain_or_loss_flag => 'N'
115047 , p_gl_transfer_mode_code => 'S'
115048 , p_acct_entry_type_code => 'A'
115049 , p_switch_side_flag => 'Y'
115050 , p_merge_duplicate_code => 'A'
115051 );
115052 --
115053 l_acc_rev_natural_side_code := 'C'; -- 4262811
115054 --
115055 --
115056 -- set accounting line type info
115057 --
115058 xla_ae_lines_pkg.SetAcctLineType
115059 (p_component_type => l_component_type
115060 ,p_event_type_code => l_event_type_code
115061 ,p_line_definition_owner_code => l_line_definition_owner_code
115062 ,p_line_definition_code => l_line_definition_code
115063 ,p_accounting_line_code => l_component_code
115064 ,p_accounting_line_type_code => l_component_type_code
115065 ,p_accounting_line_appl_id => l_component_appl_id
115066 ,p_amb_context_code => l_amb_context_code
115067 ,p_entity_code => l_entity_code
115068 ,p_event_class_code => l_event_class_code);
115069 --
115070 -- set accounting class
115071 --
115072 xla_ae_lines_pkg.SetAcctClass(
115073 p_accounting_class_code => 'RETAINAGE'
115074 , p_ae_header_id => l_ae_header_id
115075 );
115076
115077 --
115081 'RETAINAGE';
115078 -- set rounding class
115079 --
115080 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
115082
115083 --
115084 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
115085 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
115086 --
115087 -- bulk performance
115088 --
115089 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
115090
115091 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
115092 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
115093
115094 -- 4955764
115095 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
115096 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
115097
115098 -- 4458381 Public Sector Enh
115099
115100 --
115101 -- set accounting attributes for the line type
115102 --
115103 l_entered_amt_idx := 24;
115104 l_accted_amt_idx := 29;
115105 l_bflow_applied_to_amt_idx := 7; -- 5132302
115106 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
115107 l_rec_acct_attrs.array_char_value(1) := p_source_58;
115108 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
115109 l_rec_acct_attrs.array_num_value(2) :=
115110 xla_ae_sources_pkg.GetSystemSourceNum(
115111 p_source_code => 'XLA_EVENT_APPL_ID'
115112 , p_source_type_code => 'Y'
115113 , p_source_application_id => 602
115114 );
115115 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
115116 l_rec_acct_attrs.array_char_value(3) := p_source_60;
115117 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
115118 l_rec_acct_attrs.array_char_value(4) :=
115119 xla_ae_sources_pkg.GetSystemSourceChar(
115120 p_source_code => 'XLA_ENTITY_CODE'
115121 , p_source_type_code => 'Y'
115122 , p_source_application_id => 602
115123 );
115124 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
115125 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_62);
115126 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
115127 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_63);
115128 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
115129 l_rec_acct_attrs.array_num_value(7) := p_source_78;
115130 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
115131 l_rec_acct_attrs.array_num_value(8) := p_source_96;
115132 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
115133 l_rec_acct_attrs.array_char_value(9) := p_source_97;
115134 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
115135 l_rec_acct_attrs.array_char_value(10) := p_source_98;
115136 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
115137 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_99);
115138 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
115139 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_100);
115140 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
115141 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_69);
115142 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
115143 l_rec_acct_attrs.array_char_value(14) := p_source_60;
115144 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
115145 l_rec_acct_attrs.array_num_value(15) := p_source_70;
115146 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
115147 l_rec_acct_attrs.array_num_value(16) := p_source_71;
115148 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
115149 l_rec_acct_attrs.array_char_value(17) := p_source_72;
115150 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
115151 l_rec_acct_attrs.array_num_value(18) := p_source_73;
115152 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
115153 l_rec_acct_attrs.array_num_value(19) := p_source_74;
115154 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
115155 l_rec_acct_attrs.array_num_value(20) := p_source_75;
115156 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
115157 l_rec_acct_attrs.array_char_value(21) := p_source_72;
115158 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
115159 l_rec_acct_attrs.array_num_value(22) := p_source_76;
115160 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
115161 l_rec_acct_attrs.array_char_value(23) := p_source_77;
115162 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_AMOUNT';
115163 l_rec_acct_attrs.array_num_value(24) := p_source_78;
115164 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_CODE';
115165 l_rec_acct_attrs.array_char_value(25) := p_source_72;
115166 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_DATE';
115167 l_rec_acct_attrs.array_date_value(26) := p_source_146;
115168 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE';
115169 l_rec_acct_attrs.array_num_value(27) := p_source_147;
115170 l_rec_acct_attrs.array_acct_attr_code(28) := 'EXCHANGE_RATE_TYPE';
115171 l_rec_acct_attrs.array_char_value(28) := p_source_148;
115172 l_rec_acct_attrs.array_acct_attr_code(29) := 'LEDGER_AMOUNT';
115176 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_OPTION';
115173 l_rec_acct_attrs.array_num_value(29) := p_source_16;
115174 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_END_DATE';
115175 l_rec_acct_attrs.array_date_value(30) := p_source_82;
115177 l_rec_acct_attrs.array_char_value(31) := p_source_83;
115178 l_rec_acct_attrs.array_acct_attr_code(32) := 'MULTIPERIOD_START_DATE';
115179 l_rec_acct_attrs.array_date_value(32) := p_source_84;
115180 l_rec_acct_attrs.array_acct_attr_code(33) := 'OVERRIDE_ACCTD_AMT_FLAG';
115181 l_rec_acct_attrs.array_char_value(33) := p_source_85;
115182 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_ID';
115183 l_rec_acct_attrs.array_num_value(34) := p_source_86;
115184 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_SITE_ID';
115185 l_rec_acct_attrs.array_num_value(35) := p_source_87;
115186 l_rec_acct_attrs.array_acct_attr_code(36) := 'PARTY_TYPE';
115187 l_rec_acct_attrs.array_char_value(36) := p_source_88;
115188 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_ID1';
115189 l_rec_acct_attrs.array_num_value(37) := to_char(p_source_89);
115190 l_rec_acct_attrs.array_acct_attr_code(38) := 'REVERSED_DISTRIBUTION_TYPE';
115191 l_rec_acct_attrs.array_char_value(38) := p_source_60;
115192 l_rec_acct_attrs.array_acct_attr_code(39) := 'STATISTICAL_AMOUNT';
115193 l_rec_acct_attrs.array_num_value(39) := p_source_90;
115194 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_LINE_REF_ID';
115195 l_rec_acct_attrs.array_num_value(40) := p_source_91;
115196 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_REC_NREC_DIST_REF_ID';
115197 l_rec_acct_attrs.array_num_value(41) := p_source_92;
115198 l_rec_acct_attrs.array_acct_attr_code(42) := 'TAX_SUMMARY_LINE_REF_ID';
115199 l_rec_acct_attrs.array_num_value(42) := p_source_93;
115200 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_CR_ENC_TYPE_ID';
115201 l_rec_acct_attrs.array_num_value(43) := p_source_94;
115202 l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
115203 l_rec_acct_attrs.array_num_value(44) := p_source_95;
115204
115205 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
115206 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
115207
115208 ---------------------------------------------------------------------------------------------------------------
115209 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
115210 ---------------------------------------------------------------------------------------------------------------
115211 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
115212
115213 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
115214 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
115215
115216 IF xla_accounting_cache_pkg.GetValueChar
115217 (p_source_code => 'LEDGER_CATEGORY_CODE'
115218 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
115219 AND l_bflow_method_code = 'PRIOR_ENTRY'
115220 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
115221 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
115222 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
115223 )
115224 THEN
115225 xla_ae_lines_pkg.BflowUpgEntry
115226 (p_business_method_code => l_bflow_method_code
115227 ,p_business_class_code => l_bflow_class_code
115228 ,p_balance_type => l_balance_type_code);
115229 ELSE
115230 NULL;
115231 -- No business flow processing for business flow method of NONE.
115232 END IF;
115233
115234 --
115235 -- call analytical criteria
115236 --
115237
115238 --
115239 -- call description
115240 --
115241
115242 xla_ae_lines_pkg.SetLineDescription(
115243 p_ae_header_id => l_ae_header_id
115244 ,p_description => Description_2 (
115245 p_application_id => p_application_id
115246 , p_ae_header_id => l_ae_header_id
115247 , p_source_1 => p_source_1
115248 )
115249 );
115250
115251
115252 --
115253 -- call ADRs
115254 -- Bug 4922099
115255 --
115256 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
115257 (NVL(l_actual_upg_option, 'N') = 'O') OR
115258 (NVL(l_enc_upg_option, 'N') = 'O')
115259 )
115260 THEN
115261 NULL;
115262 --
115263 --
115264
115265 l_ccid := AcctDerRule_42(
115266 p_application_id => p_application_id
115267 , p_ae_header_id => l_ae_header_id
115268 , p_source_10 => p_source_10
115269 , p_source_10_meaning => p_source_10_meaning
115270 , p_source_25 => p_source_25
115271 , p_source_38 => p_source_38
115272 , x_transaction_coa_id => l_adr_transaction_coa_id
115273 , x_accounting_coa_id => l_adr_accounting_coa_id
115274 , x_value_type_code => l_adr_value_type_code
115275 , p_side => 'NA'
115276 );
115277
115278 xla_ae_lines_pkg.set_ccid(
115279 p_code_combination_id => l_ccid
115280 , p_value_type_code => l_adr_value_type_code
115281 , p_transaction_coa_id => l_adr_transaction_coa_id
115282 , p_accounting_coa_id => l_adr_accounting_coa_id
115286 , p_component_code => l_component_code
115283 , p_adr_code => 'AP_RETAINAGE'
115284 , p_adr_type_code => 'S'
115285 , p_component_type => l_component_type
115287 , p_component_type_code => l_component_type_code
115288 , p_component_appl_id => l_component_appl_id
115289 , p_amb_context_code => l_amb_context_code
115290 , p_side => 'NA'
115291 );
115292
115293
115294 l_segment := AcctDerRule_19(
115295 p_application_id => p_application_id
115296 , p_ae_header_id => l_ae_header_id
115297 , p_source_35 => p_source_35
115298 , x_transaction_coa_id => l_adr_transaction_coa_id
115299 , x_accounting_coa_id => l_adr_accounting_coa_id
115300 , x_flexfield_segment_code => l_adr_flexfield_segment_code
115301 , x_flex_value_set_id => l_adr_flex_value_set_id
115302 , x_value_type_code => l_adr_value_type_code
115303 , x_value_combination_id => l_adr_value_combination_id
115304 , x_value_segment_code => l_adr_value_segment_code
115305 , p_side => 'NA'
115306 , p_override_seg_flag => 'Y'
115307 );
115308
115309 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
115310
115311 xla_ae_lines_pkg.set_segment(
115312 p_to_segment_code => 'GL_ACCOUNT'
115313 , p_segment_value => l_segment
115314 , p_from_segment_code => l_adr_value_segment_code
115315 , p_from_combination_id => l_adr_value_combination_id
115316 , p_value_type_code => l_adr_value_type_code
115317 , p_transaction_coa_id => l_adr_transaction_coa_id
115318 , p_accounting_coa_id => l_adr_accounting_coa_id
115319 , p_flexfield_segment_code => l_adr_flexfield_segment_code
115320 , p_flex_value_set_id => l_adr_flex_value_set_id
115321 , p_adr_code => 'AP_RETAIN_NAT_ACCT_SEG'
115322 , p_adr_type_code => 'S'
115323 , p_component_type => l_component_type
115324 , p_component_code => l_component_code
115325 , p_component_type_code => l_component_type_code
115326 , p_component_appl_id => l_component_appl_id
115327 , p_amb_context_code => l_amb_context_code
115328 , p_entity_code => 'AP_INVOICES'
115329 , p_event_class_code => 'INVOICES'
115330 , p_side => 'NA'
115331 );
115332
115333 END IF;
115334
115335 l_segment := AcctDerRule_25(
115336 p_application_id => p_application_id
115337 , p_ae_header_id => l_ae_header_id
115338 , p_source_10 => p_source_10
115339 , p_source_10_meaning => p_source_10_meaning
115340 , p_source_38 => p_source_38
115341 , x_transaction_coa_id => l_adr_transaction_coa_id
115342 , x_accounting_coa_id => l_adr_accounting_coa_id
115343 , x_flexfield_segment_code => l_adr_flexfield_segment_code
115344 , x_flex_value_set_id => l_adr_flex_value_set_id
115345 , x_value_type_code => l_adr_value_type_code
115346 , x_value_combination_id => l_adr_value_combination_id
115347 , x_value_segment_code => l_adr_value_segment_code
115348 , p_side => 'NA'
115349 , p_override_seg_flag => 'Y'
115350 );
115351
115352 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
115353
115354 xla_ae_lines_pkg.set_segment(
115355 p_to_segment_code => 'GL_BALANCING'
115356 , p_segment_value => l_segment
115357 , p_from_segment_code => l_adr_value_segment_code
115358 , p_from_combination_id => l_adr_value_combination_id
115359 , p_value_type_code => l_adr_value_type_code
115360 , p_transaction_coa_id => l_adr_transaction_coa_id
115361 , p_accounting_coa_id => l_adr_accounting_coa_id
115362 , p_flexfield_segment_code => l_adr_flexfield_segment_code
115363 , p_flex_value_set_id => l_adr_flex_value_set_id
115364 , p_adr_code => 'AP_RETAIN_RELATED_BAL_SEG'
115365 , p_adr_type_code => 'S'
115366 , p_component_type => l_component_type
115367 , p_component_code => l_component_code
115368 , p_component_type_code => l_component_type_code
115369 , p_component_appl_id => l_component_appl_id
115370 , p_amb_context_code => l_amb_context_code
115371 , p_entity_code => 'AP_INVOICES'
115372 , p_event_class_code => 'INVOICES'
115373 , p_side => 'NA'
115374 );
115375
115376 END IF;
115377
115378 --
115379 --
115380 END IF;
115381 --
115382 -- Bug 4922099
115383 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
115384 (NVL(l_enc_upg_option, 'N') = 'O')
115385 ) AND
115386 (l_bflow_method_code = 'PRIOR_ENTRY')
115387 )
115388 THEN
115389 IF
115390 --
115391 1 = 2
115392 --
115393 THEN
115394 xla_accounting_err_pkg.build_message
115395 (p_appli_s_name => 'XLA'
115396 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
115400 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
115397 ,p_token_1 => 'LINE_NUMBER'
115398 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
115399 ,p_token_2 => 'LINE_TYPE_NAME'
115401 l_component_type
115402 ,l_component_code
115403 ,l_component_type_code
115404 ,l_component_appl_id
115405 ,l_amb_context_code
115406 ,l_entity_code
115407 ,l_event_class_code
115408 )
115409 ,p_token_3 => 'OWNER'
115410 ,p_value_3 => xla_lookups_pkg.get_meaning(
115411 p_lookup_type => 'XLA_OWNER_TYPE'
115412 ,p_lookup_code => l_component_type_code
115413 )
115414 ,p_token_4 => 'PRODUCT_NAME'
115415 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
115416 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
115417 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
115418 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
115419 ,p_ae_header_id => NULL
115420 );
115421
115422 IF (C_LEVEL_ERROR>= g_log_level) THEN
115423 trace
115424 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
115425 ,p_level => C_LEVEL_ERROR
115426 ,p_module => l_log_module);
115427 END IF;
115428 END IF;
115429 END IF;
115430 --
115431 --
115432 ------------------------------------------------------------------------------------------------
115433 -- 4219869 Business Flow
115434 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
115435 -- Prior Entry. Currently, the following code is always generated.
115436 ------------------------------------------------------------------------------------------------
115437 XLA_AE_LINES_PKG.ValidateCurrentLine;
115438
115439 ------------------------------------------------------------------------------------
115440 -- 4219869 Business Flow
115441 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
115442 ------------------------------------------------------------------------------------
115443 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
115444
115445 ----------------------------------------------------------------------------------
115446 -- 4219869 Business Flow
115447 -- Update journal entry status -- Need to generate this within IF <condition>
115448 ----------------------------------------------------------------------------------
115449 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
115450 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
115451 ,p_balance_type_code => l_balance_type_code
115452 );
115453
115454 -------------------------------------------------------------------------------------------
115455 -- 4262811 - Generate the Accrual Reversal lines
115456 -------------------------------------------------------------------------------------------
115457 BEGIN
115458 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
115459 (g_array_event(p_event_id).array_value_num('header_index'));
115460 IF l_acc_rev_flag IS NULL THEN
115461 l_acc_rev_flag := 'N';
115462 END IF;
115463 EXCEPTION
115464 WHEN OTHERS THEN
115465 l_acc_rev_flag := 'N';
115466 END;
115467 --
115468 IF (l_acc_rev_flag = 'Y') THEN
115469
115470 -- 4645092 ------------------------------------------------------------------------------
115471 -- To allow MPA report to determine if it should generate report process
115472 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
115473 ------------------------------------------------------------------------------------------
115474
115475 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
115476 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
115477 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
115478 -- call ADRs
115479 -- Bug 4922099
115480 --
115481 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
115482 (NVL(l_actual_upg_option, 'N') = 'O') OR
115483 (NVL(l_enc_upg_option, 'N') = 'O')
115484 )
115485 THEN
115486 NULL;
115487 --
115488 --
115489
115490 l_ccid := AcctDerRule_42(
115494 , p_source_10_meaning => p_source_10_meaning
115491 p_application_id => p_application_id
115492 , p_ae_header_id => l_ae_header_id
115493 , p_source_10 => p_source_10
115495 , p_source_25 => p_source_25
115496 , p_source_38 => p_source_38
115497 , x_transaction_coa_id => l_adr_transaction_coa_id
115498 , x_accounting_coa_id => l_adr_accounting_coa_id
115499 , x_value_type_code => l_adr_value_type_code
115500 , p_side => 'NA'
115501 );
115502
115503 xla_ae_lines_pkg.set_ccid(
115504 p_code_combination_id => l_ccid
115505 , p_value_type_code => l_adr_value_type_code
115506 , p_transaction_coa_id => l_adr_transaction_coa_id
115507 , p_accounting_coa_id => l_adr_accounting_coa_id
115508 , p_adr_code => 'AP_RETAINAGE'
115509 , p_adr_type_code => 'S'
115510 , p_component_type => l_component_type
115511 , p_component_code => l_component_code
115512 , p_component_type_code => l_component_type_code
115513 , p_component_appl_id => l_component_appl_id
115514 , p_amb_context_code => l_amb_context_code
115515 , p_side => 'NA'
115516 );
115517
115518
115519 l_segment := AcctDerRule_19(
115520 p_application_id => p_application_id
115521 , p_ae_header_id => l_ae_header_id
115522 , p_source_35 => p_source_35
115523 , x_transaction_coa_id => l_adr_transaction_coa_id
115524 , x_accounting_coa_id => l_adr_accounting_coa_id
115525 , x_flexfield_segment_code => l_adr_flexfield_segment_code
115526 , x_flex_value_set_id => l_adr_flex_value_set_id
115527 , x_value_type_code => l_adr_value_type_code
115528 , x_value_combination_id => l_adr_value_combination_id
115529 , x_value_segment_code => l_adr_value_segment_code
115530 , p_side => 'NA'
115531 , p_override_seg_flag => 'Y'
115532 );
115533
115534 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
115535
115536 xla_ae_lines_pkg.set_segment(
115537 p_to_segment_code => 'GL_ACCOUNT'
115538 , p_segment_value => l_segment
115539 , p_from_segment_code => l_adr_value_segment_code
115540 , p_from_combination_id => l_adr_value_combination_id
115541 , p_value_type_code => l_adr_value_type_code
115542 , p_transaction_coa_id => l_adr_transaction_coa_id
115543 , p_accounting_coa_id => l_adr_accounting_coa_id
115544 , p_flexfield_segment_code => l_adr_flexfield_segment_code
115545 , p_flex_value_set_id => l_adr_flex_value_set_id
115546 , p_adr_code => 'AP_RETAIN_NAT_ACCT_SEG'
115547 , p_adr_type_code => 'S'
115548 , p_component_type => l_component_type
115549 , p_component_code => l_component_code
115550 , p_component_type_code => l_component_type_code
115551 , p_component_appl_id => l_component_appl_id
115552 , p_amb_context_code => l_amb_context_code
115553 , p_entity_code => 'AP_INVOICES'
115554 , p_event_class_code => 'INVOICES'
115555 , p_side => 'NA'
115556 );
115557
115558 END IF;
115559
115560 l_segment := AcctDerRule_25(
115561 p_application_id => p_application_id
115562 , p_ae_header_id => l_ae_header_id
115563 , p_source_10 => p_source_10
115564 , p_source_10_meaning => p_source_10_meaning
115565 , p_source_38 => p_source_38
115566 , x_transaction_coa_id => l_adr_transaction_coa_id
115567 , x_accounting_coa_id => l_adr_accounting_coa_id
115568 , x_flexfield_segment_code => l_adr_flexfield_segment_code
115569 , x_flex_value_set_id => l_adr_flex_value_set_id
115570 , x_value_type_code => l_adr_value_type_code
115571 , x_value_combination_id => l_adr_value_combination_id
115572 , x_value_segment_code => l_adr_value_segment_code
115573 , p_side => 'NA'
115574 , p_override_seg_flag => 'Y'
115575 );
115576
115577 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
115578
115579 xla_ae_lines_pkg.set_segment(
115580 p_to_segment_code => 'GL_BALANCING'
115581 , p_segment_value => l_segment
115582 , p_from_segment_code => l_adr_value_segment_code
115583 , p_from_combination_id => l_adr_value_combination_id
115584 , p_value_type_code => l_adr_value_type_code
115585 , p_transaction_coa_id => l_adr_transaction_coa_id
115586 , p_accounting_coa_id => l_adr_accounting_coa_id
115587 , p_flexfield_segment_code => l_adr_flexfield_segment_code
115588 , p_flex_value_set_id => l_adr_flex_value_set_id
115589 , p_adr_code => 'AP_RETAIN_RELATED_BAL_SEG'
115590 , p_adr_type_code => 'S'
115591 , p_component_type => l_component_type
115592 , p_component_code => l_component_code
115593 , p_component_type_code => l_component_type_code
115594 , p_component_appl_id => l_component_appl_id
115595 , p_amb_context_code => l_amb_context_code
115596 , p_entity_code => 'AP_INVOICES'
115597 , p_event_class_code => 'INVOICES'
115601 END IF;
115598 , p_side => 'NA'
115599 );
115600
115602
115603 --
115604 --
115605 END IF;
115606
115607 --
115608 -- Update the line information that should be overwritten
115609 --
115610 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
115611 p_header_num => 1);
115612 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
115613
115614 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
115615
115616 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
115617 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
115618 END IF;
115619
115620 --
115621 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
115622 --
115623 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
115624 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
115625 ELSE
115626 ---------------------------------------------------------------------------------------------------
115627 -- 4262811a Switch Sign
115628 ---------------------------------------------------------------------------------------------------
115629 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
115630 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
115631 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
115632 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
115633 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
115634 -- 5132302
115635 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
115636 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
115637
115638 END IF;
115639
115640 -- 4955764
115641 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
115642 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
115643
115644
115645 XLA_AE_LINES_PKG.ValidateCurrentLine;
115646 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
115647
115648 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
115649 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
115650 ,p_balance_type_code => l_balance_type_code);
115651
115652 END IF;
115653
115654 -----------------------------------------------------------------------------------------
115655 -- 4262811 Multiperiod Accounting
115656 -----------------------------------------------------------------------------------------
115657 -- No MPA option is assigned.
115658
115659
115660 END IF;
115661 END IF;
115662 --
115663
115664 --
115665 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
115666 trace
115667 (p_msg => 'END of AcctLineType_200'
115668 ,p_level => C_LEVEL_PROCEDURE
115669 ,p_module => l_log_module);
115670 END IF;
115671 --
115672 EXCEPTION
115673 WHEN xla_exceptions_pkg.application_exception THEN
115674 RAISE;
115675 WHEN OTHERS THEN
115676 xla_exceptions_pkg.raise_message
115677 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_200');
115678 END AcctLineType_200;
115679 --
115680
115681 ---------------------------------------
115682 --
115683 -- PRIVATE FUNCTION
115684 -- AcctLineType_201
115685 --
115686 ---------------------------------------
115687 PROCEDURE AcctLineType_201 (
115688 p_application_id IN NUMBER
115689 ,p_event_id IN NUMBER
115690 ,p_calculate_acctd_flag IN VARCHAR2
115691 ,p_calculate_g_l_flag IN VARCHAR2
115692 ,p_actual_flag IN OUT VARCHAR2
115693 ,p_balance_type_code OUT VARCHAR2
115694 ,p_gain_or_loss_ref OUT VARCHAR2
115695
115696 --Invoice Distribution Description
115697 , p_source_1 IN VARCHAR2
115698 --Automatic Offsets Value
115699 , p_source_10 IN VARCHAR2
115700 , p_source_10_meaning IN VARCHAR2
115701 --Invoice Distribution Ledger Amount
115702 , p_source_16 IN NUMBER
115703 --Invoice Distribution Account
115704 , p_source_25 IN NUMBER
115705 --Invoice Distribution Type
115706 , p_source_28 IN VARCHAR2
115707 , p_source_28_meaning IN VARCHAR2
115708 --Retainage Account
115709 , p_source_35 IN NUMBER
115710 --Retainage Related Item Distribution Account
115711 , p_source_38 IN NUMBER
115712 --Accounting Reversal Indicator
115713 , p_source_58 IN VARCHAR2
115714 --Distribution Link Type
115715 , p_source_60 IN VARCHAR2
115716 --Allocation to Main Distribution Identifier
115717 , p_source_62 IN NUMBER
115718 --Invoice Identifier
115719 , p_source_63 IN NUMBER
115720 --Invoice Distribution Identifier
115721 , p_source_69 IN NUMBER
115722 --Payables Encumbrance Upgrade Credit Account
115723 , p_source_70 IN NUMBER
115727 , p_source_72 IN VARCHAR2
115724 --Payables Encumbrance Upgrade Credit Amount
115725 , p_source_71 IN NUMBER
115726 --Invoice Currency Code
115728 --Payables Encumbrance Upgrade Credit Base Amount
115729 , p_source_73 IN NUMBER
115730 --Payables Encumbrance Upgrade Debit Account
115731 , p_source_74 IN NUMBER
115732 --Payables Encumbrance Upgrade Debit Amount
115733 , p_source_75 IN NUMBER
115734 --Payables Encumbrance Upgrade Debit Base Amount
115735 , p_source_76 IN NUMBER
115736 --Payables Encumbrance Upgrade Option
115737 , p_source_77 IN VARCHAR2
115738 --Invoice Distribution Amount
115739 , p_source_78 IN NUMBER
115740 --Deferred Accounting End Date
115741 , p_source_82 IN DATE
115742 --Deferred Accounting Option
115743 , p_source_83 IN VARCHAR2
115744 --Deferred Accounting Start Date
115745 , p_source_84 IN DATE
115746 --Override Accounted Amount Indicator
115747 , p_source_85 IN VARCHAR2
115748 , p_source_85_meaning IN VARCHAR2
115749 --Invoice Supplier Identifier
115750 , p_source_86 IN NUMBER
115751 --Invoice Supplier Site Identifier
115752 , p_source_87 IN NUMBER
115753 --Third Party Type
115754 , p_source_88 IN VARCHAR2
115755 --Parent Reversal Identifier
115756 , p_source_89 IN NUMBER
115757 --Invoice Distribution Statistical Amount
115758 , p_source_90 IN NUMBER
115759 --Invoice Distribution Tax Line Identifier
115760 , p_source_91 IN NUMBER
115761 --Invoice Distribution Tax Distribution Identifier from Tax
115762 , p_source_92 IN NUMBER
115763 --Invoice Distribution Summary Tax Line Identifier
115764 , p_source_93 IN NUMBER
115765 --Payables Upgrade Credit Encumbrance Type Identifier
115766 , p_source_94 IN NUMBER
115767 --Payables Upgrade Debit Encumbrance Type Identifier
115768 , p_source_95 IN NUMBER
115769 --Business Flow Accounts Payable Application Identifier
115770 , p_source_96 IN NUMBER
115771 --Business Flow Invoice Distribution Type
115772 , p_source_97 IN VARCHAR2
115773 --Business Flow Invoice Entity Code
115774 , p_source_98 IN VARCHAR2
115775 --Business Flow Invoice Distribution Identifier
115776 , p_source_99 IN NUMBER
115777 --Business Flow Invoice Identifier
115778 , p_source_100 IN NUMBER
115779 --Invoice Exchange Date
115780 , p_source_146 IN DATE
115781 --Invoice Exchange Rate
115782 , p_source_147 IN NUMBER
115783 --Invoice Exchange Rate Type
115784 , p_source_148 IN VARCHAR2
115785 --Invoice Type
115786 , p_source_167 IN VARCHAR2
115787 , p_source_167_meaning IN VARCHAR2
115788 )
115789 IS
115790
115791 l_component_type VARCHAR2(80);
115792 l_component_code VARCHAR2(30);
115793 l_component_type_code VARCHAR2(1);
115794 l_component_appl_id INTEGER;
115795 l_amb_context_code VARCHAR2(30);
115796 l_entity_code VARCHAR2(30);
115797 l_event_class_code VARCHAR2(30);
115798 l_ae_header_id NUMBER;
115799 l_event_type_code VARCHAR2(30);
115800 l_line_definition_code VARCHAR2(30);
115801 l_line_definition_owner_code VARCHAR2(1);
115802 --
115803 -- adr variables
115804 l_segment VARCHAR2(30);
115805 l_ccid NUMBER;
115806 l_adr_transaction_coa_id NUMBER;
115807 l_adr_accounting_coa_id NUMBER;
115808 l_adr_flexfield_segment_code VARCHAR2(30);
115809 l_adr_flex_value_set_id NUMBER;
115810 l_adr_value_type_code VARCHAR2(30);
115811 l_adr_value_combination_id NUMBER;
115812 l_adr_value_segment_code VARCHAR2(30);
115813
115814 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
115815 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
115816 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
115817 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
115818
115819 -- 4262811 Variables ------------------------------------------------------------------------------------------
115820 l_entered_amt_idx NUMBER;
115821 l_accted_amt_idx NUMBER;
115822 l_acc_rev_flag VARCHAR2(1);
115823 l_accrual_line_num NUMBER;
115824 l_tmp_amt NUMBER;
115825 l_acc_rev_natural_side_code VARCHAR2(1);
115826
115827 l_num_entries NUMBER;
115828 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
115829 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
115830 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
115831 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
115832 l_recog_line_1 NUMBER;
115833 l_recog_line_2 NUMBER;
115834
115835 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
115836 l_bflow_applied_to_amt NUMBER; -- 5132302
115837 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
115838
115839 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
115840
115841 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
115842 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
115843
115847 --
115844 ---------------------------------------------------------------------------------------------------------------
115845
115846
115848 -- bulk performance
115849 --
115850 l_balance_type_code VARCHAR2(1);
115851 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
115852 l_log_module VARCHAR2(240);
115853
115854 --
115855 -- Upgrade strategy
115856 --
115857 l_actual_upg_option VARCHAR2(1);
115858 l_enc_upg_option VARCHAR2(1);
115859
115860 --
115861 BEGIN
115862 --
115863 IF g_log_enabled THEN
115864 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_201';
115865 END IF;
115866 --
115867 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
115868
115869 trace
115870 (p_msg => 'BEGIN of AcctLineType_201'
115871 ,p_level => C_LEVEL_PROCEDURE
115872 ,p_module => l_log_module);
115873
115874 END IF;
115875 --
115876 l_component_type := 'AMB_JLT';
115877 l_component_code := 'AP_RETAINAGE_ACC_CM';
115878 l_component_type_code := 'S';
115879 l_component_appl_id := 200;
115880 l_amb_context_code := 'DEFAULT';
115881 l_entity_code := 'AP_INVOICES';
115882 l_event_class_code := 'CREDIT MEMOS';
115883 l_event_type_code := 'CREDIT MEMOS_ALL';
115884 l_line_definition_owner_code := 'S';
115885 l_line_definition_code := 'ACCRUAL_CREDIT MEMOS_ALL';
115886 --
115887 l_balance_type_code := 'A';
115888 l_segment := NULL;
115889 l_ccid := NULL;
115890 l_adr_transaction_coa_id := NULL;
115891 l_adr_accounting_coa_id := NULL;
115892 l_adr_flexfield_segment_code := NULL;
115893 l_adr_flex_value_set_id := NULL;
115894 l_adr_value_type_code := NULL;
115895 l_adr_value_combination_id := NULL;
115896 l_adr_value_segment_code := NULL;
115897
115898 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
115899 l_bflow_class_code := 'AP_RETAINAGE'; -- 4219869 Business Flow
115900 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
115901 l_budgetary_control_flag := 'N';
115902
115903 l_bflow_applied_to_amt_idx := NULL; -- 5132302
115904 l_bflow_applied_to_amt := NULL; -- 5132302
115905 l_entered_amt_idx := NULL; -- 4262811
115906 l_accted_amt_idx := NULL; -- 4262811
115907 l_acc_rev_flag := NULL; -- 4262811
115908 l_accrual_line_num := NULL; -- 4262811
115909 l_tmp_amt := NULL; -- 4262811
115910 --
115911
115912 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
115913 l_balance_type_code <> 'B' THEN
115914 IF NVL(p_source_28,'
115915 ') = 'RETAINAGE' AND
115916 NVL(p_source_167,'
115917 ') <> 'RETAINAGE RELEASE'
115918 THEN
115919
115920 --
115921 XLA_AE_LINES_PKG.SetNewLine;
115922
115923 p_balance_type_code := l_balance_type_code;
115924 -- set the flag so later we will know whether the gain loss line needs to be created
115925
115926 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
115927 p_actual_flag :='A';
115928 END IF;
115929
115930 --
115931 -- bulk performance
115932 --
115933 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
115934 p_header_num => 0); -- 4262811
115935 --
115936 -- set accounting line options
115937 --
115938 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
115939 p_natural_side_code => 'D'
115940 , p_gain_or_loss_flag => 'N'
115941 , p_gl_transfer_mode_code => 'S'
115942 , p_acct_entry_type_code => 'A'
115943 , p_switch_side_flag => 'Y'
115944 , p_merge_duplicate_code => 'A'
115945 );
115946 --
115947 l_acc_rev_natural_side_code := 'C'; -- 4262811
115948 --
115949 --
115950 -- set accounting line type info
115951 --
115952 xla_ae_lines_pkg.SetAcctLineType
115953 (p_component_type => l_component_type
115954 ,p_event_type_code => l_event_type_code
115955 ,p_line_definition_owner_code => l_line_definition_owner_code
115956 ,p_line_definition_code => l_line_definition_code
115957 ,p_accounting_line_code => l_component_code
115958 ,p_accounting_line_type_code => l_component_type_code
115959 ,p_accounting_line_appl_id => l_component_appl_id
115960 ,p_amb_context_code => l_amb_context_code
115961 ,p_entity_code => l_entity_code
115962 ,p_event_class_code => l_event_class_code);
115963 --
115964 -- set accounting class
115965 --
115966 xla_ae_lines_pkg.SetAcctClass(
115967 p_accounting_class_code => 'RETAINAGE'
115968 , p_ae_header_id => l_ae_header_id
115969 );
115970
115971 --
115972 -- set rounding class
115973 --
115974 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
115975 'RETAINAGE';
115976
115977 --
115978 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
115982 --
115979 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
115980 --
115981 -- bulk performance
115983 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
115984
115985 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
115986 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
115987
115988 -- 4955764
115989 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
115990 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
115991
115992 -- 4458381 Public Sector Enh
115993
115994 --
115995 -- set accounting attributes for the line type
115996 --
115997 l_entered_amt_idx := 23;
115998 l_accted_amt_idx := 28;
115999 l_bflow_applied_to_amt_idx := NULL; -- 5132302
116000 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
116001 l_rec_acct_attrs.array_char_value(1) := p_source_58;
116002 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
116003 l_rec_acct_attrs.array_num_value(2) :=
116004 xla_ae_sources_pkg.GetSystemSourceNum(
116005 p_source_code => 'XLA_EVENT_APPL_ID'
116006 , p_source_type_code => 'Y'
116007 , p_source_application_id => 602
116008 );
116009 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
116010 l_rec_acct_attrs.array_char_value(3) := p_source_60;
116011 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
116012 l_rec_acct_attrs.array_char_value(4) :=
116013 xla_ae_sources_pkg.GetSystemSourceChar(
116014 p_source_code => 'XLA_ENTITY_CODE'
116015 , p_source_type_code => 'Y'
116016 , p_source_application_id => 602
116017 );
116018 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
116019 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_62);
116020 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
116021 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_63);
116022 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
116023 l_rec_acct_attrs.array_num_value(7) := p_source_96;
116024 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
116025 l_rec_acct_attrs.array_char_value(8) := p_source_97;
116026 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
116027 l_rec_acct_attrs.array_char_value(9) := p_source_98;
116028 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
116029 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_99);
116030 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
116031 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_100);
116032 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
116033 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_69);
116034 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
116035 l_rec_acct_attrs.array_char_value(13) := p_source_60;
116036 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
116037 l_rec_acct_attrs.array_num_value(14) := p_source_70;
116038 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
116039 l_rec_acct_attrs.array_num_value(15) := p_source_71;
116040 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
116041 l_rec_acct_attrs.array_char_value(16) := p_source_72;
116042 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
116043 l_rec_acct_attrs.array_num_value(17) := p_source_73;
116044 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
116045 l_rec_acct_attrs.array_num_value(18) := p_source_74;
116046 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
116047 l_rec_acct_attrs.array_num_value(19) := p_source_75;
116048 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
116049 l_rec_acct_attrs.array_char_value(20) := p_source_72;
116050 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
116051 l_rec_acct_attrs.array_num_value(21) := p_source_76;
116052 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
116053 l_rec_acct_attrs.array_char_value(22) := p_source_77;
116054 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
116055 l_rec_acct_attrs.array_num_value(23) := p_source_78;
116056 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
116057 l_rec_acct_attrs.array_char_value(24) := p_source_72;
116058 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
116059 l_rec_acct_attrs.array_date_value(25) := p_source_146;
116060 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
116061 l_rec_acct_attrs.array_num_value(26) := p_source_147;
116062 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
116063 l_rec_acct_attrs.array_char_value(27) := p_source_148;
116064 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
116065 l_rec_acct_attrs.array_num_value(28) := p_source_16;
116066 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
116067 l_rec_acct_attrs.array_date_value(29) := p_source_82;
116068 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
116069 l_rec_acct_attrs.array_char_value(30) := p_source_83;
116070 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
116071 l_rec_acct_attrs.array_date_value(31) := p_source_84;
116072 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
116073 l_rec_acct_attrs.array_char_value(32) := p_source_85;
116077 l_rec_acct_attrs.array_num_value(34) := p_source_87;
116074 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
116075 l_rec_acct_attrs.array_num_value(33) := p_source_86;
116076 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
116078 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
116079 l_rec_acct_attrs.array_char_value(35) := p_source_88;
116080 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
116081 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_89);
116082 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
116083 l_rec_acct_attrs.array_char_value(37) := p_source_60;
116084 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
116085 l_rec_acct_attrs.array_num_value(38) := p_source_90;
116086 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
116087 l_rec_acct_attrs.array_num_value(39) := p_source_91;
116088 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
116089 l_rec_acct_attrs.array_num_value(40) := p_source_92;
116090 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
116091 l_rec_acct_attrs.array_num_value(41) := p_source_93;
116092 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
116093 l_rec_acct_attrs.array_num_value(42) := p_source_94;
116094 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
116095 l_rec_acct_attrs.array_num_value(43) := p_source_95;
116096
116097 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
116098 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
116099
116100 ---------------------------------------------------------------------------------------------------------------
116101 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
116102 ---------------------------------------------------------------------------------------------------------------
116103 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
116104
116105 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
116106 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
116107
116108 IF xla_accounting_cache_pkg.GetValueChar
116109 (p_source_code => 'LEDGER_CATEGORY_CODE'
116110 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
116111 AND l_bflow_method_code = 'PRIOR_ENTRY'
116112 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
116113 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
116114 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
116115 )
116116 THEN
116117 xla_ae_lines_pkg.BflowUpgEntry
116118 (p_business_method_code => l_bflow_method_code
116119 ,p_business_class_code => l_bflow_class_code
116120 ,p_balance_type => l_balance_type_code);
116121 ELSE
116122 NULL;
116123 -- No business flow processing for business flow method of NONE.
116124 END IF;
116125
116126 --
116127 -- call analytical criteria
116128 --
116129
116130 --
116131 -- call description
116132 --
116133
116134 xla_ae_lines_pkg.SetLineDescription(
116135 p_ae_header_id => l_ae_header_id
116136 ,p_description => Description_2 (
116137 p_application_id => p_application_id
116138 , p_ae_header_id => l_ae_header_id
116139 , p_source_1 => p_source_1
116140 )
116141 );
116142
116143
116144 --
116145 -- call ADRs
116146 -- Bug 4922099
116147 --
116148 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
116149 (NVL(l_actual_upg_option, 'N') = 'O') OR
116150 (NVL(l_enc_upg_option, 'N') = 'O')
116151 )
116152 THEN
116153 NULL;
116154 --
116155 --
116156
116157 l_ccid := AcctDerRule_42(
116158 p_application_id => p_application_id
116159 , p_ae_header_id => l_ae_header_id
116160 , p_source_10 => p_source_10
116161 , p_source_10_meaning => p_source_10_meaning
116162 , p_source_25 => p_source_25
116163 , p_source_38 => p_source_38
116164 , x_transaction_coa_id => l_adr_transaction_coa_id
116165 , x_accounting_coa_id => l_adr_accounting_coa_id
116166 , x_value_type_code => l_adr_value_type_code
116167 , p_side => 'NA'
116168 );
116169
116170 xla_ae_lines_pkg.set_ccid(
116171 p_code_combination_id => l_ccid
116172 , p_value_type_code => l_adr_value_type_code
116173 , p_transaction_coa_id => l_adr_transaction_coa_id
116174 , p_accounting_coa_id => l_adr_accounting_coa_id
116175 , p_adr_code => 'AP_RETAINAGE'
116176 , p_adr_type_code => 'S'
116177 , p_component_type => l_component_type
116178 , p_component_code => l_component_code
116179 , p_component_type_code => l_component_type_code
116180 , p_component_appl_id => l_component_appl_id
116181 , p_amb_context_code => l_amb_context_code
116182 , p_side => 'NA'
116183 );
116184
116185
116186 l_segment := AcctDerRule_19(
116187 p_application_id => p_application_id
116188 , p_ae_header_id => l_ae_header_id
116189 , p_source_35 => p_source_35
116193 , x_flex_value_set_id => l_adr_flex_value_set_id
116190 , x_transaction_coa_id => l_adr_transaction_coa_id
116191 , x_accounting_coa_id => l_adr_accounting_coa_id
116192 , x_flexfield_segment_code => l_adr_flexfield_segment_code
116194 , x_value_type_code => l_adr_value_type_code
116195 , x_value_combination_id => l_adr_value_combination_id
116196 , x_value_segment_code => l_adr_value_segment_code
116197 , p_side => 'NA'
116198 , p_override_seg_flag => 'Y'
116199 );
116200
116201 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
116202
116203 xla_ae_lines_pkg.set_segment(
116204 p_to_segment_code => 'GL_ACCOUNT'
116205 , p_segment_value => l_segment
116206 , p_from_segment_code => l_adr_value_segment_code
116207 , p_from_combination_id => l_adr_value_combination_id
116208 , p_value_type_code => l_adr_value_type_code
116209 , p_transaction_coa_id => l_adr_transaction_coa_id
116210 , p_accounting_coa_id => l_adr_accounting_coa_id
116211 , p_flexfield_segment_code => l_adr_flexfield_segment_code
116212 , p_flex_value_set_id => l_adr_flex_value_set_id
116213 , p_adr_code => 'AP_RETAIN_NAT_ACCT_SEG'
116214 , p_adr_type_code => 'S'
116215 , p_component_type => l_component_type
116216 , p_component_code => l_component_code
116217 , p_component_type_code => l_component_type_code
116218 , p_component_appl_id => l_component_appl_id
116219 , p_amb_context_code => l_amb_context_code
116220 , p_entity_code => 'AP_INVOICES'
116221 , p_event_class_code => 'CREDIT MEMOS'
116222 , p_side => 'NA'
116223 );
116224
116225 END IF;
116226
116227 l_segment := AcctDerRule_25(
116228 p_application_id => p_application_id
116229 , p_ae_header_id => l_ae_header_id
116230 , p_source_10 => p_source_10
116231 , p_source_10_meaning => p_source_10_meaning
116232 , p_source_38 => p_source_38
116233 , x_transaction_coa_id => l_adr_transaction_coa_id
116234 , x_accounting_coa_id => l_adr_accounting_coa_id
116235 , x_flexfield_segment_code => l_adr_flexfield_segment_code
116236 , x_flex_value_set_id => l_adr_flex_value_set_id
116237 , x_value_type_code => l_adr_value_type_code
116238 , x_value_combination_id => l_adr_value_combination_id
116239 , x_value_segment_code => l_adr_value_segment_code
116240 , p_side => 'NA'
116241 , p_override_seg_flag => 'Y'
116242 );
116243
116244 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
116245
116246 xla_ae_lines_pkg.set_segment(
116247 p_to_segment_code => 'GL_BALANCING'
116248 , p_segment_value => l_segment
116249 , p_from_segment_code => l_adr_value_segment_code
116250 , p_from_combination_id => l_adr_value_combination_id
116251 , p_value_type_code => l_adr_value_type_code
116252 , p_transaction_coa_id => l_adr_transaction_coa_id
116253 , p_accounting_coa_id => l_adr_accounting_coa_id
116254 , p_flexfield_segment_code => l_adr_flexfield_segment_code
116255 , p_flex_value_set_id => l_adr_flex_value_set_id
116256 , p_adr_code => 'AP_RETAIN_RELATED_BAL_SEG'
116257 , p_adr_type_code => 'S'
116258 , p_component_type => l_component_type
116259 , p_component_code => l_component_code
116260 , p_component_type_code => l_component_type_code
116261 , p_component_appl_id => l_component_appl_id
116262 , p_amb_context_code => l_amb_context_code
116263 , p_entity_code => 'AP_INVOICES'
116264 , p_event_class_code => 'CREDIT MEMOS'
116265 , p_side => 'NA'
116266 );
116267
116268 END IF;
116269
116270 --
116271 --
116272 END IF;
116273 --
116274 -- Bug 4922099
116275 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
116276 (NVL(l_enc_upg_option, 'N') = 'O')
116277 ) AND
116278 (l_bflow_method_code = 'PRIOR_ENTRY')
116279 )
116280 THEN
116281 IF
116282 --
116283 1 = 2
116284 --
116285 THEN
116286 xla_accounting_err_pkg.build_message
116287 (p_appli_s_name => 'XLA'
116288 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
116289 ,p_token_1 => 'LINE_NUMBER'
116290 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
116291 ,p_token_2 => 'LINE_TYPE_NAME'
116292 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
116293 l_component_type
116294 ,l_component_code
116295 ,l_component_type_code
116296 ,l_component_appl_id
116300 )
116297 ,l_amb_context_code
116298 ,l_entity_code
116299 ,l_event_class_code
116301 ,p_token_3 => 'OWNER'
116302 ,p_value_3 => xla_lookups_pkg.get_meaning(
116303 p_lookup_type => 'XLA_OWNER_TYPE'
116304 ,p_lookup_code => l_component_type_code
116305 )
116306 ,p_token_4 => 'PRODUCT_NAME'
116307 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
116308 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
116309 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
116310 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
116311 ,p_ae_header_id => NULL
116312 );
116313
116314 IF (C_LEVEL_ERROR>= g_log_level) THEN
116315 trace
116316 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
116317 ,p_level => C_LEVEL_ERROR
116318 ,p_module => l_log_module);
116319 END IF;
116320 END IF;
116321 END IF;
116322 --
116323 --
116324 ------------------------------------------------------------------------------------------------
116325 -- 4219869 Business Flow
116326 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
116327 -- Prior Entry. Currently, the following code is always generated.
116328 ------------------------------------------------------------------------------------------------
116329 XLA_AE_LINES_PKG.ValidateCurrentLine;
116330
116331 ------------------------------------------------------------------------------------
116332 -- 4219869 Business Flow
116333 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
116334 ------------------------------------------------------------------------------------
116335 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
116336
116337 ----------------------------------------------------------------------------------
116338 -- 4219869 Business Flow
116339 -- Update journal entry status -- Need to generate this within IF <condition>
116340 ----------------------------------------------------------------------------------
116341 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
116342 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
116343 ,p_balance_type_code => l_balance_type_code
116344 );
116345
116346 -------------------------------------------------------------------------------------------
116347 -- 4262811 - Generate the Accrual Reversal lines
116348 -------------------------------------------------------------------------------------------
116349 BEGIN
116350 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
116351 (g_array_event(p_event_id).array_value_num('header_index'));
116352 IF l_acc_rev_flag IS NULL THEN
116353 l_acc_rev_flag := 'N';
116354 END IF;
116355 EXCEPTION
116356 WHEN OTHERS THEN
116357 l_acc_rev_flag := 'N';
116358 END;
116359 --
116360 IF (l_acc_rev_flag = 'Y') THEN
116361
116362 -- 4645092 ------------------------------------------------------------------------------
116363 -- To allow MPA report to determine if it should generate report process
116364 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
116365 ------------------------------------------------------------------------------------------
116366
116367 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
116368 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
116369 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
116370 -- call ADRs
116371 -- Bug 4922099
116372 --
116373 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
116374 (NVL(l_actual_upg_option, 'N') = 'O') OR
116375 (NVL(l_enc_upg_option, 'N') = 'O')
116376 )
116377 THEN
116378 NULL;
116379 --
116380 --
116381
116382 l_ccid := AcctDerRule_42(
116383 p_application_id => p_application_id
116384 , p_ae_header_id => l_ae_header_id
116385 , p_source_10 => p_source_10
116386 , p_source_10_meaning => p_source_10_meaning
116387 , p_source_25 => p_source_25
116388 , p_source_38 => p_source_38
116389 , x_transaction_coa_id => l_adr_transaction_coa_id
116390 , x_accounting_coa_id => l_adr_accounting_coa_id
116391 , x_value_type_code => l_adr_value_type_code
116392 , p_side => 'NA'
116393 );
116394
116395 xla_ae_lines_pkg.set_ccid(
116396 p_code_combination_id => l_ccid
116397 , p_value_type_code => l_adr_value_type_code
116401 , p_adr_type_code => 'S'
116398 , p_transaction_coa_id => l_adr_transaction_coa_id
116399 , p_accounting_coa_id => l_adr_accounting_coa_id
116400 , p_adr_code => 'AP_RETAINAGE'
116402 , p_component_type => l_component_type
116403 , p_component_code => l_component_code
116404 , p_component_type_code => l_component_type_code
116405 , p_component_appl_id => l_component_appl_id
116406 , p_amb_context_code => l_amb_context_code
116407 , p_side => 'NA'
116408 );
116409
116410
116411 l_segment := AcctDerRule_19(
116412 p_application_id => p_application_id
116413 , p_ae_header_id => l_ae_header_id
116414 , p_source_35 => p_source_35
116415 , x_transaction_coa_id => l_adr_transaction_coa_id
116416 , x_accounting_coa_id => l_adr_accounting_coa_id
116417 , x_flexfield_segment_code => l_adr_flexfield_segment_code
116418 , x_flex_value_set_id => l_adr_flex_value_set_id
116419 , x_value_type_code => l_adr_value_type_code
116420 , x_value_combination_id => l_adr_value_combination_id
116421 , x_value_segment_code => l_adr_value_segment_code
116422 , p_side => 'NA'
116423 , p_override_seg_flag => 'Y'
116424 );
116425
116426 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
116427
116428 xla_ae_lines_pkg.set_segment(
116429 p_to_segment_code => 'GL_ACCOUNT'
116430 , p_segment_value => l_segment
116431 , p_from_segment_code => l_adr_value_segment_code
116432 , p_from_combination_id => l_adr_value_combination_id
116433 , p_value_type_code => l_adr_value_type_code
116434 , p_transaction_coa_id => l_adr_transaction_coa_id
116435 , p_accounting_coa_id => l_adr_accounting_coa_id
116436 , p_flexfield_segment_code => l_adr_flexfield_segment_code
116437 , p_flex_value_set_id => l_adr_flex_value_set_id
116438 , p_adr_code => 'AP_RETAIN_NAT_ACCT_SEG'
116439 , p_adr_type_code => 'S'
116440 , p_component_type => l_component_type
116441 , p_component_code => l_component_code
116442 , p_component_type_code => l_component_type_code
116443 , p_component_appl_id => l_component_appl_id
116444 , p_amb_context_code => l_amb_context_code
116445 , p_entity_code => 'AP_INVOICES'
116446 , p_event_class_code => 'CREDIT MEMOS'
116447 , p_side => 'NA'
116448 );
116449
116450 END IF;
116451
116452 l_segment := AcctDerRule_25(
116453 p_application_id => p_application_id
116454 , p_ae_header_id => l_ae_header_id
116455 , p_source_10 => p_source_10
116456 , p_source_10_meaning => p_source_10_meaning
116457 , p_source_38 => p_source_38
116458 , x_transaction_coa_id => l_adr_transaction_coa_id
116459 , x_accounting_coa_id => l_adr_accounting_coa_id
116460 , x_flexfield_segment_code => l_adr_flexfield_segment_code
116461 , x_flex_value_set_id => l_adr_flex_value_set_id
116462 , x_value_type_code => l_adr_value_type_code
116463 , x_value_combination_id => l_adr_value_combination_id
116464 , x_value_segment_code => l_adr_value_segment_code
116465 , p_side => 'NA'
116466 , p_override_seg_flag => 'Y'
116467 );
116468
116469 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
116470
116471 xla_ae_lines_pkg.set_segment(
116472 p_to_segment_code => 'GL_BALANCING'
116473 , p_segment_value => l_segment
116474 , p_from_segment_code => l_adr_value_segment_code
116475 , p_from_combination_id => l_adr_value_combination_id
116476 , p_value_type_code => l_adr_value_type_code
116477 , p_transaction_coa_id => l_adr_transaction_coa_id
116478 , p_accounting_coa_id => l_adr_accounting_coa_id
116479 , p_flexfield_segment_code => l_adr_flexfield_segment_code
116480 , p_flex_value_set_id => l_adr_flex_value_set_id
116481 , p_adr_code => 'AP_RETAIN_RELATED_BAL_SEG'
116482 , p_adr_type_code => 'S'
116483 , p_component_type => l_component_type
116484 , p_component_code => l_component_code
116485 , p_component_type_code => l_component_type_code
116486 , p_component_appl_id => l_component_appl_id
116487 , p_amb_context_code => l_amb_context_code
116488 , p_entity_code => 'AP_INVOICES'
116489 , p_event_class_code => 'CREDIT MEMOS'
116490 , p_side => 'NA'
116491 );
116492
116493 END IF;
116494
116495 --
116496 --
116497 END IF;
116498
116499 --
116500 -- Update the line information that should be overwritten
116501 --
116502 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
116503 p_header_num => 1);
116504 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
116505
116509 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
116506 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
116507
116508 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
116510 END IF;
116511
116512 --
116513 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
116514 --
116515 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
116516 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
116517 ELSE
116518 ---------------------------------------------------------------------------------------------------
116519 -- 4262811a Switch Sign
116520 ---------------------------------------------------------------------------------------------------
116521 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
116522 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
116523 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
116524 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
116525 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
116526 -- 5132302
116527 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
116528 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
116529
116530 END IF;
116531
116532 -- 4955764
116533 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
116534 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
116535
116536
116537 XLA_AE_LINES_PKG.ValidateCurrentLine;
116538 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
116539
116540 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
116541 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
116542 ,p_balance_type_code => l_balance_type_code);
116543
116544 END IF;
116545
116546 -----------------------------------------------------------------------------------------
116547 -- 4262811 Multiperiod Accounting
116548 -----------------------------------------------------------------------------------------
116549 -- No MPA option is assigned.
116550
116551
116552 END IF;
116553 END IF;
116554 --
116555
116556 --
116557 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
116558 trace
116559 (p_msg => 'END of AcctLineType_201'
116560 ,p_level => C_LEVEL_PROCEDURE
116561 ,p_module => l_log_module);
116562 END IF;
116563 --
116564 EXCEPTION
116565 WHEN xla_exceptions_pkg.application_exception THEN
116566 RAISE;
116567 WHEN OTHERS THEN
116568 xla_exceptions_pkg.raise_message
116569 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_201');
116570 END AcctLineType_201;
116571 --
116572
116573 ---------------------------------------
116574 --
116575 -- PRIVATE FUNCTION
116576 -- AcctLineType_202
116577 --
116578 ---------------------------------------
116579 PROCEDURE AcctLineType_202 (
116580 p_application_id IN NUMBER
116581 ,p_event_id IN NUMBER
116582 ,p_calculate_acctd_flag IN VARCHAR2
116583 ,p_calculate_g_l_flag IN VARCHAR2
116584 ,p_actual_flag IN OUT VARCHAR2
116585 ,p_balance_type_code OUT VARCHAR2
116586 ,p_gain_or_loss_ref OUT VARCHAR2
116587
116588 --Invoice Distribution Description
116589 , p_source_1 IN VARCHAR2
116590 --Automatic Offsets Value
116591 , p_source_10 IN VARCHAR2
116592 , p_source_10_meaning IN VARCHAR2
116593 --Invoice Distribution Ledger Amount
116594 , p_source_16 IN NUMBER
116595 --Invoice Distribution Account
116596 , p_source_25 IN NUMBER
116597 --Invoice Distribution Type
116598 , p_source_28 IN VARCHAR2
116599 , p_source_28_meaning IN VARCHAR2
116600 --Retainage Account
116601 , p_source_35 IN NUMBER
116602 --Retainage Related Item Distribution Account
116603 , p_source_38 IN NUMBER
116604 --Accounting Reversal Indicator
116605 , p_source_58 IN VARCHAR2
116606 --Distribution Link Type
116607 , p_source_60 IN VARCHAR2
116608 --Allocation to Main Distribution Identifier
116609 , p_source_62 IN NUMBER
116610 --Invoice Identifier
116611 , p_source_63 IN NUMBER
116612 --Invoice Distribution Identifier
116613 , p_source_69 IN NUMBER
116614 --Payables Encumbrance Upgrade Credit Account
116615 , p_source_70 IN NUMBER
116616 --Payables Encumbrance Upgrade Credit Amount
116617 , p_source_71 IN NUMBER
116618 --Invoice Currency Code
116619 , p_source_72 IN VARCHAR2
116620 --Payables Encumbrance Upgrade Credit Base Amount
116621 , p_source_73 IN NUMBER
116622 --Payables Encumbrance Upgrade Debit Account
116623 , p_source_74 IN NUMBER
116624 --Payables Encumbrance Upgrade Debit Amount
116625 , p_source_75 IN NUMBER
116626 --Payables Encumbrance Upgrade Debit Base Amount
116627 , p_source_76 IN NUMBER
116631 , p_source_78 IN NUMBER
116628 --Payables Encumbrance Upgrade Option
116629 , p_source_77 IN VARCHAR2
116630 --Invoice Distribution Amount
116632 --Deferred Accounting End Date
116633 , p_source_82 IN DATE
116634 --Deferred Accounting Option
116635 , p_source_83 IN VARCHAR2
116636 --Deferred Accounting Start Date
116637 , p_source_84 IN DATE
116638 --Override Accounted Amount Indicator
116639 , p_source_85 IN VARCHAR2
116640 , p_source_85_meaning IN VARCHAR2
116641 --Invoice Supplier Identifier
116642 , p_source_86 IN NUMBER
116643 --Invoice Supplier Site Identifier
116644 , p_source_87 IN NUMBER
116645 --Third Party Type
116646 , p_source_88 IN VARCHAR2
116647 --Parent Reversal Identifier
116648 , p_source_89 IN NUMBER
116649 --Invoice Distribution Tax Line Identifier
116650 , p_source_91 IN NUMBER
116651 --Invoice Distribution Tax Distribution Identifier from Tax
116652 , p_source_92 IN NUMBER
116653 --Invoice Distribution Summary Tax Line Identifier
116654 , p_source_93 IN NUMBER
116655 --Payables Upgrade Credit Encumbrance Type Identifier
116656 , p_source_94 IN NUMBER
116657 --Payables Upgrade Debit Encumbrance Type Identifier
116658 , p_source_95 IN NUMBER
116659 --Business Flow Accounts Payable Application Identifier
116660 , p_source_96 IN NUMBER
116661 --Business Flow Invoice Distribution Type
116662 , p_source_97 IN VARCHAR2
116663 --Business Flow Invoice Entity Code
116664 , p_source_98 IN VARCHAR2
116665 --Business Flow Invoice Distribution Identifier
116666 , p_source_99 IN NUMBER
116667 --Business Flow Invoice Identifier
116668 , p_source_100 IN NUMBER
116669 --Invoice Exchange Date
116670 , p_source_146 IN DATE
116671 --Invoice Exchange Rate
116672 , p_source_147 IN NUMBER
116673 --Invoice Exchange Rate Type
116674 , p_source_148 IN VARCHAR2
116675 )
116676 IS
116677
116678 l_component_type VARCHAR2(80);
116679 l_component_code VARCHAR2(30);
116680 l_component_type_code VARCHAR2(1);
116681 l_component_appl_id INTEGER;
116682 l_amb_context_code VARCHAR2(30);
116683 l_entity_code VARCHAR2(30);
116684 l_event_class_code VARCHAR2(30);
116685 l_ae_header_id NUMBER;
116686 l_event_type_code VARCHAR2(30);
116687 l_line_definition_code VARCHAR2(30);
116688 l_line_definition_owner_code VARCHAR2(1);
116689 --
116690 -- adr variables
116691 l_segment VARCHAR2(30);
116692 l_ccid NUMBER;
116693 l_adr_transaction_coa_id NUMBER;
116694 l_adr_accounting_coa_id NUMBER;
116695 l_adr_flexfield_segment_code VARCHAR2(30);
116696 l_adr_flex_value_set_id NUMBER;
116697 l_adr_value_type_code VARCHAR2(30);
116698 l_adr_value_combination_id NUMBER;
116699 l_adr_value_segment_code VARCHAR2(30);
116700
116701 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
116702 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
116703 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
116704 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
116705
116706 -- 4262811 Variables ------------------------------------------------------------------------------------------
116707 l_entered_amt_idx NUMBER;
116708 l_accted_amt_idx NUMBER;
116709 l_acc_rev_flag VARCHAR2(1);
116710 l_accrual_line_num NUMBER;
116711 l_tmp_amt NUMBER;
116712 l_acc_rev_natural_side_code VARCHAR2(1);
116713
116714 l_num_entries NUMBER;
116715 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
116716 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
116717 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
116718 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
116719 l_recog_line_1 NUMBER;
116720 l_recog_line_2 NUMBER;
116721
116722 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
116723 l_bflow_applied_to_amt NUMBER; -- 5132302
116724 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
116725
116726 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
116727
116728 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
116729 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
116730
116731 ---------------------------------------------------------------------------------------------------------------
116732
116733
116734 --
116735 -- bulk performance
116736 --
116737 l_balance_type_code VARCHAR2(1);
116738 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
116739 l_log_module VARCHAR2(240);
116740
116741 --
116742 -- Upgrade strategy
116743 --
116744 l_actual_upg_option VARCHAR2(1);
116745 l_enc_upg_option VARCHAR2(1);
116746
116747 --
116748 BEGIN
116749 --
116750 IF g_log_enabled THEN
116751 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_202';
116752 END IF;
116753 --
116754 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
116755
116756 trace
116757 (p_msg => 'BEGIN of AcctLineType_202'
116761 END IF;
116758 ,p_level => C_LEVEL_PROCEDURE
116759 ,p_module => l_log_module);
116760
116762 --
116763 l_component_type := 'AMB_JLT';
116764 l_component_code := 'AP_RETAINAGE_ACC_DM';
116765 l_component_type_code := 'S';
116766 l_component_appl_id := 200;
116767 l_amb_context_code := 'DEFAULT';
116768 l_entity_code := 'AP_INVOICES';
116769 l_event_class_code := 'DEBIT MEMOS';
116770 l_event_type_code := 'DEBIT MEMOS_ALL';
116771 l_line_definition_owner_code := 'S';
116772 l_line_definition_code := 'ACCRUAL_DEBIT MEMOS_ALL';
116773 --
116774 l_balance_type_code := 'A';
116775 l_segment := NULL;
116776 l_ccid := NULL;
116777 l_adr_transaction_coa_id := NULL;
116778 l_adr_accounting_coa_id := NULL;
116779 l_adr_flexfield_segment_code := NULL;
116780 l_adr_flex_value_set_id := NULL;
116781 l_adr_value_type_code := NULL;
116782 l_adr_value_combination_id := NULL;
116783 l_adr_value_segment_code := NULL;
116784
116785 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
116786 l_bflow_class_code := 'AP_RETAINAGE'; -- 4219869 Business Flow
116787 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
116788 l_budgetary_control_flag := 'N';
116789
116790 l_bflow_applied_to_amt_idx := NULL; -- 5132302
116791 l_bflow_applied_to_amt := NULL; -- 5132302
116792 l_entered_amt_idx := NULL; -- 4262811
116793 l_accted_amt_idx := NULL; -- 4262811
116794 l_acc_rev_flag := NULL; -- 4262811
116795 l_accrual_line_num := NULL; -- 4262811
116796 l_tmp_amt := NULL; -- 4262811
116797 --
116798
116799 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
116800 l_balance_type_code <> 'B' THEN
116801 IF NVL(p_source_28,'
116802 ') = 'RETAINAGE'
116803 THEN
116804
116805 --
116806 XLA_AE_LINES_PKG.SetNewLine;
116807
116808 p_balance_type_code := l_balance_type_code;
116809 -- set the flag so later we will know whether the gain loss line needs to be created
116810
116811 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
116812 p_actual_flag :='A';
116813 END IF;
116814
116815 --
116816 -- bulk performance
116817 --
116818 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
116819 p_header_num => 0); -- 4262811
116820 --
116821 -- set accounting line options
116822 --
116823 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
116824 p_natural_side_code => 'D'
116825 , p_gain_or_loss_flag => 'N'
116826 , p_gl_transfer_mode_code => 'S'
116827 , p_acct_entry_type_code => 'A'
116828 , p_switch_side_flag => 'Y'
116829 , p_merge_duplicate_code => 'A'
116830 );
116831 --
116832 l_acc_rev_natural_side_code := 'C'; -- 4262811
116833 --
116834 --
116835 -- set accounting line type info
116836 --
116837 xla_ae_lines_pkg.SetAcctLineType
116838 (p_component_type => l_component_type
116839 ,p_event_type_code => l_event_type_code
116840 ,p_line_definition_owner_code => l_line_definition_owner_code
116841 ,p_line_definition_code => l_line_definition_code
116842 ,p_accounting_line_code => l_component_code
116843 ,p_accounting_line_type_code => l_component_type_code
116844 ,p_accounting_line_appl_id => l_component_appl_id
116845 ,p_amb_context_code => l_amb_context_code
116846 ,p_entity_code => l_entity_code
116847 ,p_event_class_code => l_event_class_code);
116848 --
116849 -- set accounting class
116850 --
116851 xla_ae_lines_pkg.SetAcctClass(
116852 p_accounting_class_code => 'RETAINAGE'
116853 , p_ae_header_id => l_ae_header_id
116854 );
116855
116856 --
116857 -- set rounding class
116858 --
116859 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
116860 'RETAINAGE';
116861
116862 --
116863 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
116864 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
116865 --
116866 -- bulk performance
116867 --
116868 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
116869
116870 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
116871 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
116872
116873 -- 4955764
116874 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
116875 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
116876
116877 -- 4458381 Public Sector Enh
116878
116879 --
116880 -- set accounting attributes for the line type
116881 --
116882 l_entered_amt_idx := 23;
116883 l_accted_amt_idx := 28;
116884 l_bflow_applied_to_amt_idx := NULL; -- 5132302
116885 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
116889 xla_ae_sources_pkg.GetSystemSourceNum(
116886 l_rec_acct_attrs.array_char_value(1) := p_source_58;
116887 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
116888 l_rec_acct_attrs.array_num_value(2) :=
116890 p_source_code => 'XLA_EVENT_APPL_ID'
116891 , p_source_type_code => 'Y'
116892 , p_source_application_id => 602
116893 );
116894 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
116895 l_rec_acct_attrs.array_char_value(3) := p_source_60;
116896 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
116897 l_rec_acct_attrs.array_char_value(4) :=
116898 xla_ae_sources_pkg.GetSystemSourceChar(
116899 p_source_code => 'XLA_ENTITY_CODE'
116900 , p_source_type_code => 'Y'
116901 , p_source_application_id => 602
116902 );
116903 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
116904 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_62);
116905 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
116906 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_63);
116907 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
116908 l_rec_acct_attrs.array_num_value(7) := p_source_96;
116909 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
116910 l_rec_acct_attrs.array_char_value(8) := p_source_97;
116911 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
116912 l_rec_acct_attrs.array_char_value(9) := p_source_98;
116913 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
116914 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_99);
116915 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
116916 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_100);
116917 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
116918 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_69);
116919 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
116920 l_rec_acct_attrs.array_char_value(13) := p_source_60;
116921 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
116922 l_rec_acct_attrs.array_num_value(14) := p_source_70;
116923 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
116924 l_rec_acct_attrs.array_num_value(15) := p_source_71;
116925 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
116926 l_rec_acct_attrs.array_char_value(16) := p_source_72;
116927 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
116928 l_rec_acct_attrs.array_num_value(17) := p_source_73;
116929 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
116930 l_rec_acct_attrs.array_num_value(18) := p_source_74;
116931 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
116932 l_rec_acct_attrs.array_num_value(19) := p_source_75;
116933 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
116934 l_rec_acct_attrs.array_char_value(20) := p_source_72;
116935 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
116936 l_rec_acct_attrs.array_num_value(21) := p_source_76;
116937 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
116938 l_rec_acct_attrs.array_char_value(22) := p_source_77;
116939 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
116940 l_rec_acct_attrs.array_num_value(23) := p_source_78;
116941 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
116942 l_rec_acct_attrs.array_char_value(24) := p_source_72;
116943 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
116944 l_rec_acct_attrs.array_date_value(25) := p_source_146;
116945 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
116946 l_rec_acct_attrs.array_num_value(26) := p_source_147;
116947 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
116948 l_rec_acct_attrs.array_char_value(27) := p_source_148;
116949 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
116950 l_rec_acct_attrs.array_num_value(28) := p_source_16;
116951 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
116952 l_rec_acct_attrs.array_date_value(29) := p_source_82;
116953 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
116954 l_rec_acct_attrs.array_char_value(30) := p_source_83;
116955 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
116956 l_rec_acct_attrs.array_date_value(31) := p_source_84;
116957 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
116958 l_rec_acct_attrs.array_char_value(32) := p_source_85;
116959 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
116960 l_rec_acct_attrs.array_num_value(33) := p_source_86;
116961 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
116962 l_rec_acct_attrs.array_num_value(34) := p_source_87;
116963 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
116964 l_rec_acct_attrs.array_char_value(35) := p_source_88;
116965 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
116966 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_89);
116967 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
116968 l_rec_acct_attrs.array_char_value(37) := p_source_60;
116969 l_rec_acct_attrs.array_acct_attr_code(38) := 'TAX_LINE_REF_ID';
116970 l_rec_acct_attrs.array_num_value(38) := p_source_91;
116971 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_REC_NREC_DIST_REF_ID';
116975 l_rec_acct_attrs.array_acct_attr_code(41) := 'UPG_CR_ENC_TYPE_ID';
116972 l_rec_acct_attrs.array_num_value(39) := p_source_92;
116973 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_SUMMARY_LINE_REF_ID';
116974 l_rec_acct_attrs.array_num_value(40) := p_source_93;
116976 l_rec_acct_attrs.array_num_value(41) := p_source_94;
116977 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_DR_ENC_TYPE_ID';
116978 l_rec_acct_attrs.array_num_value(42) := p_source_95;
116979
116980 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
116981 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
116982
116983 ---------------------------------------------------------------------------------------------------------------
116984 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
116985 ---------------------------------------------------------------------------------------------------------------
116986 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
116987
116988 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
116989 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
116990
116991 IF xla_accounting_cache_pkg.GetValueChar
116992 (p_source_code => 'LEDGER_CATEGORY_CODE'
116993 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
116994 AND l_bflow_method_code = 'PRIOR_ENTRY'
116995 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
116996 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
116997 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
116998 )
116999 THEN
117000 xla_ae_lines_pkg.BflowUpgEntry
117001 (p_business_method_code => l_bflow_method_code
117002 ,p_business_class_code => l_bflow_class_code
117003 ,p_balance_type => l_balance_type_code);
117004 ELSE
117005 NULL;
117006 -- No business flow processing for business flow method of NONE.
117007 END IF;
117008
117009 --
117010 -- call analytical criteria
117011 --
117012
117013 --
117014 -- call description
117015 --
117016
117017 xla_ae_lines_pkg.SetLineDescription(
117018 p_ae_header_id => l_ae_header_id
117019 ,p_description => Description_2 (
117020 p_application_id => p_application_id
117021 , p_ae_header_id => l_ae_header_id
117022 , p_source_1 => p_source_1
117023 )
117024 );
117025
117026
117027 --
117028 -- call ADRs
117029 -- Bug 4922099
117030 --
117031 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
117032 (NVL(l_actual_upg_option, 'N') = 'O') OR
117033 (NVL(l_enc_upg_option, 'N') = 'O')
117034 )
117035 THEN
117036 NULL;
117037 --
117038 --
117039
117040 l_ccid := AcctDerRule_42(
117041 p_application_id => p_application_id
117042 , p_ae_header_id => l_ae_header_id
117043 , p_source_10 => p_source_10
117044 , p_source_10_meaning => p_source_10_meaning
117045 , p_source_25 => p_source_25
117046 , p_source_38 => p_source_38
117047 , x_transaction_coa_id => l_adr_transaction_coa_id
117048 , x_accounting_coa_id => l_adr_accounting_coa_id
117049 , x_value_type_code => l_adr_value_type_code
117050 , p_side => 'NA'
117051 );
117052
117053 xla_ae_lines_pkg.set_ccid(
117054 p_code_combination_id => l_ccid
117055 , p_value_type_code => l_adr_value_type_code
117056 , p_transaction_coa_id => l_adr_transaction_coa_id
117057 , p_accounting_coa_id => l_adr_accounting_coa_id
117058 , p_adr_code => 'AP_RETAINAGE'
117059 , p_adr_type_code => 'S'
117060 , p_component_type => l_component_type
117061 , p_component_code => l_component_code
117062 , p_component_type_code => l_component_type_code
117063 , p_component_appl_id => l_component_appl_id
117064 , p_amb_context_code => l_amb_context_code
117065 , p_side => 'NA'
117066 );
117067
117068
117069 l_segment := AcctDerRule_19(
117070 p_application_id => p_application_id
117071 , p_ae_header_id => l_ae_header_id
117072 , p_source_35 => p_source_35
117073 , x_transaction_coa_id => l_adr_transaction_coa_id
117074 , x_accounting_coa_id => l_adr_accounting_coa_id
117075 , x_flexfield_segment_code => l_adr_flexfield_segment_code
117076 , x_flex_value_set_id => l_adr_flex_value_set_id
117077 , x_value_type_code => l_adr_value_type_code
117078 , x_value_combination_id => l_adr_value_combination_id
117079 , x_value_segment_code => l_adr_value_segment_code
117080 , p_side => 'NA'
117081 , p_override_seg_flag => 'Y'
117082 );
117083
117084 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
117085
117086 xla_ae_lines_pkg.set_segment(
117087 p_to_segment_code => 'GL_ACCOUNT'
117088 , p_segment_value => l_segment
117089 , p_from_segment_code => l_adr_value_segment_code
117093 , p_accounting_coa_id => l_adr_accounting_coa_id
117090 , p_from_combination_id => l_adr_value_combination_id
117091 , p_value_type_code => l_adr_value_type_code
117092 , p_transaction_coa_id => l_adr_transaction_coa_id
117094 , p_flexfield_segment_code => l_adr_flexfield_segment_code
117095 , p_flex_value_set_id => l_adr_flex_value_set_id
117096 , p_adr_code => 'AP_RETAIN_NAT_ACCT_SEG'
117097 , p_adr_type_code => 'S'
117098 , p_component_type => l_component_type
117099 , p_component_code => l_component_code
117100 , p_component_type_code => l_component_type_code
117101 , p_component_appl_id => l_component_appl_id
117102 , p_amb_context_code => l_amb_context_code
117103 , p_entity_code => 'AP_INVOICES'
117104 , p_event_class_code => 'DEBIT MEMOS'
117105 , p_side => 'NA'
117106 );
117107
117108 END IF;
117109
117110 l_segment := AcctDerRule_25(
117111 p_application_id => p_application_id
117112 , p_ae_header_id => l_ae_header_id
117113 , p_source_10 => p_source_10
117114 , p_source_10_meaning => p_source_10_meaning
117115 , p_source_38 => p_source_38
117116 , x_transaction_coa_id => l_adr_transaction_coa_id
117117 , x_accounting_coa_id => l_adr_accounting_coa_id
117118 , x_flexfield_segment_code => l_adr_flexfield_segment_code
117119 , x_flex_value_set_id => l_adr_flex_value_set_id
117120 , x_value_type_code => l_adr_value_type_code
117121 , x_value_combination_id => l_adr_value_combination_id
117122 , x_value_segment_code => l_adr_value_segment_code
117123 , p_side => 'NA'
117124 , p_override_seg_flag => 'Y'
117125 );
117126
117127 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
117128
117129 xla_ae_lines_pkg.set_segment(
117130 p_to_segment_code => 'GL_BALANCING'
117131 , p_segment_value => l_segment
117132 , p_from_segment_code => l_adr_value_segment_code
117133 , p_from_combination_id => l_adr_value_combination_id
117134 , p_value_type_code => l_adr_value_type_code
117135 , p_transaction_coa_id => l_adr_transaction_coa_id
117136 , p_accounting_coa_id => l_adr_accounting_coa_id
117137 , p_flexfield_segment_code => l_adr_flexfield_segment_code
117138 , p_flex_value_set_id => l_adr_flex_value_set_id
117139 , p_adr_code => 'AP_RETAIN_RELATED_BAL_SEG'
117140 , p_adr_type_code => 'S'
117141 , p_component_type => l_component_type
117142 , p_component_code => l_component_code
117143 , p_component_type_code => l_component_type_code
117144 , p_component_appl_id => l_component_appl_id
117145 , p_amb_context_code => l_amb_context_code
117146 , p_entity_code => 'AP_INVOICES'
117147 , p_event_class_code => 'DEBIT MEMOS'
117148 , p_side => 'NA'
117149 );
117150
117151 END IF;
117152
117153 --
117154 --
117155 END IF;
117156 --
117157 -- Bug 4922099
117158 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
117159 (NVL(l_enc_upg_option, 'N') = 'O')
117160 ) AND
117161 (l_bflow_method_code = 'PRIOR_ENTRY')
117162 )
117163 THEN
117164 IF
117165 --
117166 1 = 2
117167 --
117168 THEN
117169 xla_accounting_err_pkg.build_message
117170 (p_appli_s_name => 'XLA'
117171 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
117172 ,p_token_1 => 'LINE_NUMBER'
117173 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
117174 ,p_token_2 => 'LINE_TYPE_NAME'
117175 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
117176 l_component_type
117177 ,l_component_code
117178 ,l_component_type_code
117179 ,l_component_appl_id
117180 ,l_amb_context_code
117181 ,l_entity_code
117182 ,l_event_class_code
117183 )
117184 ,p_token_3 => 'OWNER'
117185 ,p_value_3 => xla_lookups_pkg.get_meaning(
117186 p_lookup_type => 'XLA_OWNER_TYPE'
117187 ,p_lookup_code => l_component_type_code
117188 )
117189 ,p_token_4 => 'PRODUCT_NAME'
117193 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
117190 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
117191 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
117192 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
117194 ,p_ae_header_id => NULL
117195 );
117196
117197 IF (C_LEVEL_ERROR>= g_log_level) THEN
117198 trace
117199 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
117200 ,p_level => C_LEVEL_ERROR
117201 ,p_module => l_log_module);
117202 END IF;
117203 END IF;
117204 END IF;
117205 --
117206 --
117207 ------------------------------------------------------------------------------------------------
117208 -- 4219869 Business Flow
117209 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
117210 -- Prior Entry. Currently, the following code is always generated.
117211 ------------------------------------------------------------------------------------------------
117212 XLA_AE_LINES_PKG.ValidateCurrentLine;
117213
117214 ------------------------------------------------------------------------------------
117215 -- 4219869 Business Flow
117216 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
117217 ------------------------------------------------------------------------------------
117218 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
117219
117220 ----------------------------------------------------------------------------------
117221 -- 4219869 Business Flow
117222 -- Update journal entry status -- Need to generate this within IF <condition>
117223 ----------------------------------------------------------------------------------
117224 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
117225 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
117226 ,p_balance_type_code => l_balance_type_code
117227 );
117228
117229 -------------------------------------------------------------------------------------------
117230 -- 4262811 - Generate the Accrual Reversal lines
117231 -------------------------------------------------------------------------------------------
117232 BEGIN
117233 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
117234 (g_array_event(p_event_id).array_value_num('header_index'));
117235 IF l_acc_rev_flag IS NULL THEN
117236 l_acc_rev_flag := 'N';
117237 END IF;
117238 EXCEPTION
117239 WHEN OTHERS THEN
117240 l_acc_rev_flag := 'N';
117241 END;
117242 --
117243 IF (l_acc_rev_flag = 'Y') THEN
117244
117245 -- 4645092 ------------------------------------------------------------------------------
117246 -- To allow MPA report to determine if it should generate report process
117247 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
117248 ------------------------------------------------------------------------------------------
117249
117250 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
117251 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
117252 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
117253 -- call ADRs
117254 -- Bug 4922099
117255 --
117256 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
117257 (NVL(l_actual_upg_option, 'N') = 'O') OR
117258 (NVL(l_enc_upg_option, 'N') = 'O')
117259 )
117260 THEN
117261 NULL;
117262 --
117263 --
117264
117265 l_ccid := AcctDerRule_42(
117266 p_application_id => p_application_id
117267 , p_ae_header_id => l_ae_header_id
117268 , p_source_10 => p_source_10
117269 , p_source_10_meaning => p_source_10_meaning
117270 , p_source_25 => p_source_25
117271 , p_source_38 => p_source_38
117272 , x_transaction_coa_id => l_adr_transaction_coa_id
117273 , x_accounting_coa_id => l_adr_accounting_coa_id
117274 , x_value_type_code => l_adr_value_type_code
117275 , p_side => 'NA'
117276 );
117277
117278 xla_ae_lines_pkg.set_ccid(
117279 p_code_combination_id => l_ccid
117280 , p_value_type_code => l_adr_value_type_code
117281 , p_transaction_coa_id => l_adr_transaction_coa_id
117282 , p_accounting_coa_id => l_adr_accounting_coa_id
117283 , p_adr_code => 'AP_RETAINAGE'
117284 , p_adr_type_code => 'S'
117285 , p_component_type => l_component_type
117286 , p_component_code => l_component_code
117287 , p_component_type_code => l_component_type_code
117288 , p_component_appl_id => l_component_appl_id
117289 , p_amb_context_code => l_amb_context_code
117290 , p_side => 'NA'
117291 );
117292
117293
117294 l_segment := AcctDerRule_19(
117295 p_application_id => p_application_id
117296 , p_ae_header_id => l_ae_header_id
117297 , p_source_35 => p_source_35
117298 , x_transaction_coa_id => l_adr_transaction_coa_id
117299 , x_accounting_coa_id => l_adr_accounting_coa_id
117303 , x_value_combination_id => l_adr_value_combination_id
117300 , x_flexfield_segment_code => l_adr_flexfield_segment_code
117301 , x_flex_value_set_id => l_adr_flex_value_set_id
117302 , x_value_type_code => l_adr_value_type_code
117304 , x_value_segment_code => l_adr_value_segment_code
117305 , p_side => 'NA'
117306 , p_override_seg_flag => 'Y'
117307 );
117308
117309 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
117310
117311 xla_ae_lines_pkg.set_segment(
117312 p_to_segment_code => 'GL_ACCOUNT'
117313 , p_segment_value => l_segment
117314 , p_from_segment_code => l_adr_value_segment_code
117315 , p_from_combination_id => l_adr_value_combination_id
117316 , p_value_type_code => l_adr_value_type_code
117317 , p_transaction_coa_id => l_adr_transaction_coa_id
117318 , p_accounting_coa_id => l_adr_accounting_coa_id
117319 , p_flexfield_segment_code => l_adr_flexfield_segment_code
117320 , p_flex_value_set_id => l_adr_flex_value_set_id
117321 , p_adr_code => 'AP_RETAIN_NAT_ACCT_SEG'
117322 , p_adr_type_code => 'S'
117323 , p_component_type => l_component_type
117324 , p_component_code => l_component_code
117325 , p_component_type_code => l_component_type_code
117326 , p_component_appl_id => l_component_appl_id
117327 , p_amb_context_code => l_amb_context_code
117328 , p_entity_code => 'AP_INVOICES'
117329 , p_event_class_code => 'DEBIT MEMOS'
117330 , p_side => 'NA'
117331 );
117332
117333 END IF;
117334
117335 l_segment := AcctDerRule_25(
117336 p_application_id => p_application_id
117337 , p_ae_header_id => l_ae_header_id
117338 , p_source_10 => p_source_10
117339 , p_source_10_meaning => p_source_10_meaning
117340 , p_source_38 => p_source_38
117341 , x_transaction_coa_id => l_adr_transaction_coa_id
117342 , x_accounting_coa_id => l_adr_accounting_coa_id
117343 , x_flexfield_segment_code => l_adr_flexfield_segment_code
117344 , x_flex_value_set_id => l_adr_flex_value_set_id
117345 , x_value_type_code => l_adr_value_type_code
117346 , x_value_combination_id => l_adr_value_combination_id
117347 , x_value_segment_code => l_adr_value_segment_code
117348 , p_side => 'NA'
117349 , p_override_seg_flag => 'Y'
117350 );
117351
117352 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
117353
117354 xla_ae_lines_pkg.set_segment(
117355 p_to_segment_code => 'GL_BALANCING'
117356 , p_segment_value => l_segment
117357 , p_from_segment_code => l_adr_value_segment_code
117358 , p_from_combination_id => l_adr_value_combination_id
117359 , p_value_type_code => l_adr_value_type_code
117360 , p_transaction_coa_id => l_adr_transaction_coa_id
117361 , p_accounting_coa_id => l_adr_accounting_coa_id
117362 , p_flexfield_segment_code => l_adr_flexfield_segment_code
117363 , p_flex_value_set_id => l_adr_flex_value_set_id
117364 , p_adr_code => 'AP_RETAIN_RELATED_BAL_SEG'
117365 , p_adr_type_code => 'S'
117366 , p_component_type => l_component_type
117367 , p_component_code => l_component_code
117368 , p_component_type_code => l_component_type_code
117369 , p_component_appl_id => l_component_appl_id
117370 , p_amb_context_code => l_amb_context_code
117371 , p_entity_code => 'AP_INVOICES'
117372 , p_event_class_code => 'DEBIT MEMOS'
117373 , p_side => 'NA'
117374 );
117375
117376 END IF;
117377
117378 --
117379 --
117380 END IF;
117381
117382 --
117383 -- Update the line information that should be overwritten
117384 --
117385 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
117386 p_header_num => 1);
117387 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
117388
117389 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
117390
117391 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
117392 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
117393 END IF;
117394
117395 --
117396 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
117397 --
117398 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
117399 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
117400 ELSE
117401 ---------------------------------------------------------------------------------------------------
117402 -- 4262811a Switch Sign
117403 ---------------------------------------------------------------------------------------------------
117404 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
117405 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
117409 -- 5132302
117406 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
117407 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
117408 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
117410 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
117411 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
117412
117413 END IF;
117414
117415 -- 4955764
117416 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
117417 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
117418
117419
117420 XLA_AE_LINES_PKG.ValidateCurrentLine;
117421 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
117422
117423 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
117424 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
117425 ,p_balance_type_code => l_balance_type_code);
117426
117427 END IF;
117428
117429 -----------------------------------------------------------------------------------------
117430 -- 4262811 Multiperiod Accounting
117431 -----------------------------------------------------------------------------------------
117432 -- No MPA option is assigned.
117433
117434
117435 END IF;
117436 END IF;
117437 --
117438
117439 --
117440 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
117441 trace
117442 (p_msg => 'END of AcctLineType_202'
117443 ,p_level => C_LEVEL_PROCEDURE
117444 ,p_module => l_log_module);
117445 END IF;
117446 --
117447 EXCEPTION
117448 WHEN xla_exceptions_pkg.application_exception THEN
117449 RAISE;
117450 WHEN OTHERS THEN
117451 xla_exceptions_pkg.raise_message
117452 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_202');
117453 END AcctLineType_202;
117454 --
117455
117456 ---------------------------------------
117457 --
117458 -- PRIVATE FUNCTION
117459 -- AcctLineType_203
117460 --
117461 ---------------------------------------
117462 PROCEDURE AcctLineType_203 (
117463 p_application_id IN NUMBER
117464 ,p_event_id IN NUMBER
117465 ,p_calculate_acctd_flag IN VARCHAR2
117466 ,p_calculate_g_l_flag IN VARCHAR2
117467 ,p_actual_flag IN OUT VARCHAR2
117468 ,p_balance_type_code OUT VARCHAR2
117469 ,p_gain_or_loss_ref OUT VARCHAR2
117470
117471 --Invoice Distribution Description
117472 , p_source_1 IN VARCHAR2
117473 --Invoice Distribution Ledger Amount
117474 , p_source_16 IN NUMBER
117475 --Invoice Distribution Type
117476 , p_source_28 IN VARCHAR2
117477 , p_source_28_meaning IN VARCHAR2
117478 --Accounting Reversal Indicator
117479 , p_source_58 IN VARCHAR2
117480 --Distribution Link Type
117481 , p_source_60 IN VARCHAR2
117482 --Allocation to Main Distribution Identifier
117483 , p_source_62 IN NUMBER
117484 --Invoice Identifier
117485 , p_source_63 IN NUMBER
117486 --Invoice Distribution Identifier
117487 , p_source_69 IN NUMBER
117488 --Payables Encumbrance Upgrade Credit Account
117489 , p_source_70 IN NUMBER
117490 --Payables Encumbrance Upgrade Credit Amount
117491 , p_source_71 IN NUMBER
117492 --Invoice Currency Code
117493 , p_source_72 IN VARCHAR2
117494 --Payables Encumbrance Upgrade Credit Base Amount
117495 , p_source_73 IN NUMBER
117496 --Payables Encumbrance Upgrade Debit Account
117497 , p_source_74 IN NUMBER
117498 --Payables Encumbrance Upgrade Debit Amount
117499 , p_source_75 IN NUMBER
117500 --Payables Encumbrance Upgrade Debit Base Amount
117501 , p_source_76 IN NUMBER
117502 --Payables Encumbrance Upgrade Option
117503 , p_source_77 IN VARCHAR2
117504 --Invoice Distribution Amount
117505 , p_source_78 IN NUMBER
117506 --Deferred Accounting End Date
117507 , p_source_82 IN DATE
117508 --Deferred Accounting Option
117509 , p_source_83 IN VARCHAR2
117510 --Deferred Accounting Start Date
117511 , p_source_84 IN DATE
117512 --Override Accounted Amount Indicator
117513 , p_source_85 IN VARCHAR2
117514 , p_source_85_meaning IN VARCHAR2
117515 --Third Party Type
117516 , p_source_88 IN VARCHAR2
117517 --Parent Reversal Identifier
117518 , p_source_89 IN NUMBER
117519 --Invoice Distribution Statistical Amount
117520 , p_source_90 IN NUMBER
117521 --Invoice Distribution Tax Line Identifier
117522 , p_source_91 IN NUMBER
117523 --Invoice Distribution Tax Distribution Identifier from Tax
117524 , p_source_92 IN NUMBER
117525 --Invoice Distribution Summary Tax Line Identifier
117526 , p_source_93 IN NUMBER
117527 --Payables Upgrade Credit Encumbrance Type Identifier
117528 , p_source_94 IN NUMBER
117529 --Payables Upgrade Debit Encumbrance Type Identifier
117530 , p_source_95 IN NUMBER
117531 --Business Flow Accounts Payable Application Identifier
117532 , p_source_96 IN NUMBER
117533 --Business Flow Invoice Distribution Type
117534 , p_source_97 IN VARCHAR2
117538 , p_source_167 IN VARCHAR2
117535 --Business Flow Invoice Entity Code
117536 , p_source_98 IN VARCHAR2
117537 --Invoice Type
117539 , p_source_167_meaning IN VARCHAR2
117540 --Business Flow Retained Invoice Distribution
117541 , p_source_168 IN NUMBER
117542 --Business Flow Retained Invoice
117543 , p_source_169 IN NUMBER
117544 )
117545 IS
117546
117547 l_component_type VARCHAR2(80);
117548 l_component_code VARCHAR2(30);
117549 l_component_type_code VARCHAR2(1);
117550 l_component_appl_id INTEGER;
117551 l_amb_context_code VARCHAR2(30);
117552 l_entity_code VARCHAR2(30);
117553 l_event_class_code VARCHAR2(30);
117554 l_ae_header_id NUMBER;
117555 l_event_type_code VARCHAR2(30);
117556 l_line_definition_code VARCHAR2(30);
117557 l_line_definition_owner_code VARCHAR2(1);
117558 --
117559 -- adr variables
117560 l_segment VARCHAR2(30);
117561 l_ccid NUMBER;
117562 l_adr_transaction_coa_id NUMBER;
117563 l_adr_accounting_coa_id NUMBER;
117564 l_adr_flexfield_segment_code VARCHAR2(30);
117565 l_adr_flex_value_set_id NUMBER;
117566 l_adr_value_type_code VARCHAR2(30);
117567 l_adr_value_combination_id NUMBER;
117568 l_adr_value_segment_code VARCHAR2(30);
117569
117570 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
117571 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
117572 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
117573 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
117574
117575 -- 4262811 Variables ------------------------------------------------------------------------------------------
117576 l_entered_amt_idx NUMBER;
117577 l_accted_amt_idx NUMBER;
117578 l_acc_rev_flag VARCHAR2(1);
117579 l_accrual_line_num NUMBER;
117580 l_tmp_amt NUMBER;
117581 l_acc_rev_natural_side_code VARCHAR2(1);
117582
117583 l_num_entries NUMBER;
117584 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
117585 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
117586 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
117587 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
117588 l_recog_line_1 NUMBER;
117589 l_recog_line_2 NUMBER;
117590
117591 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
117592 l_bflow_applied_to_amt NUMBER; -- 5132302
117593 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
117594
117595 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
117596
117597 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
117598 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
117599
117600 ---------------------------------------------------------------------------------------------------------------
117601
117602
117603 --
117604 -- bulk performance
117605 --
117606 l_balance_type_code VARCHAR2(1);
117607 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
117608 l_log_module VARCHAR2(240);
117609
117610 --
117611 -- Upgrade strategy
117612 --
117613 l_actual_upg_option VARCHAR2(1);
117614 l_enc_upg_option VARCHAR2(1);
117615
117616 --
117617 BEGIN
117618 --
117619 IF g_log_enabled THEN
117620 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_203';
117621 END IF;
117622 --
117623 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
117624
117625 trace
117626 (p_msg => 'BEGIN of AcctLineType_203'
117627 ,p_level => C_LEVEL_PROCEDURE
117628 ,p_module => l_log_module);
117629
117630 END IF;
117631 --
117632 l_component_type := 'AMB_JLT';
117633 l_component_code := 'AP_RETAINAGE_RELEASE_ACCR';
117634 l_component_type_code := 'S';
117635 l_component_appl_id := 200;
117636 l_amb_context_code := 'DEFAULT';
117637 l_entity_code := 'AP_INVOICES';
117638 l_event_class_code := 'INVOICES';
117639 l_event_type_code := 'INVOICES_ALL';
117640 l_line_definition_owner_code := 'S';
117641 l_line_definition_code := 'ACCRUAL_INVOICES_ALL';
117642 --
117643 l_balance_type_code := 'A';
117644 l_segment := NULL;
117645 l_ccid := NULL;
117646 l_adr_transaction_coa_id := NULL;
117647 l_adr_accounting_coa_id := NULL;
117648 l_adr_flexfield_segment_code := NULL;
117649 l_adr_flex_value_set_id := NULL;
117650 l_adr_value_type_code := NULL;
117651 l_adr_value_combination_id := NULL;
117652 l_adr_value_segment_code := NULL;
117653
117654 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
117655 l_bflow_class_code := 'AP_RETAINAGE'; -- 4219869 Business Flow
117656 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
117657 l_budgetary_control_flag := 'N';
117658
117659 l_bflow_applied_to_amt_idx := NULL; -- 5132302
117660 l_bflow_applied_to_amt := NULL; -- 5132302
117661 l_entered_amt_idx := NULL; -- 4262811
117665 l_tmp_amt := NULL; -- 4262811
117662 l_accted_amt_idx := NULL; -- 4262811
117663 l_acc_rev_flag := NULL; -- 4262811
117664 l_accrual_line_num := NULL; -- 4262811
117666 --
117667
117668 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
117669 l_balance_type_code <> 'B' THEN
117670 IF NVL(p_source_167,'
117671 ') = 'RETAINAGE RELEASE' AND
117672 NVL(p_source_28,'
117673 ') = 'RETAINAGE'
117674 THEN
117675
117676 --
117677 XLA_AE_LINES_PKG.SetNewLine;
117678
117679 p_balance_type_code := l_balance_type_code;
117680 -- set the flag so later we will know whether the gain loss line needs to be created
117681
117682 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
117683 p_actual_flag :='A';
117684 END IF;
117685
117686 --
117687 -- bulk performance
117688 --
117689 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
117690 p_header_num => 0); -- 4262811
117691 --
117692 -- set accounting line options
117693 --
117694 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
117695 p_natural_side_code => 'D'
117696 , p_gain_or_loss_flag => 'N'
117697 , p_gl_transfer_mode_code => 'S'
117698 , p_acct_entry_type_code => 'A'
117699 , p_switch_side_flag => 'Y'
117700 , p_merge_duplicate_code => 'A'
117701 );
117702 --
117703 l_acc_rev_natural_side_code := 'C'; -- 4262811
117704 --
117705 --
117706 -- set accounting line type info
117707 --
117708 xla_ae_lines_pkg.SetAcctLineType
117709 (p_component_type => l_component_type
117710 ,p_event_type_code => l_event_type_code
117711 ,p_line_definition_owner_code => l_line_definition_owner_code
117712 ,p_line_definition_code => l_line_definition_code
117713 ,p_accounting_line_code => l_component_code
117714 ,p_accounting_line_type_code => l_component_type_code
117715 ,p_accounting_line_appl_id => l_component_appl_id
117716 ,p_amb_context_code => l_amb_context_code
117717 ,p_entity_code => l_entity_code
117718 ,p_event_class_code => l_event_class_code);
117719 --
117720 -- set accounting class
117721 --
117722 xla_ae_lines_pkg.SetAcctClass(
117723 p_accounting_class_code => 'RETAINAGE'
117724 , p_ae_header_id => l_ae_header_id
117725 );
117726
117727 --
117728 -- set rounding class
117729 --
117730 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
117731 'RETAINAGE';
117732
117733 --
117734 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
117735 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
117736 --
117737 -- bulk performance
117738 --
117739 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
117740
117741 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
117742 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
117743
117744 -- 4955764
117745 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
117746 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
117747
117748 -- 4458381 Public Sector Enh
117749
117750 --
117751 -- set accounting attributes for the line type
117752 --
117753 l_entered_amt_idx := 24;
117754 l_accted_amt_idx := 26;
117755 l_bflow_applied_to_amt_idx := 7; -- 5132302
117756 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
117757 l_rec_acct_attrs.array_char_value(1) := p_source_58;
117758 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
117759 l_rec_acct_attrs.array_num_value(2) :=
117760 xla_ae_sources_pkg.GetSystemSourceNum(
117761 p_source_code => 'XLA_EVENT_APPL_ID'
117762 , p_source_type_code => 'Y'
117763 , p_source_application_id => 602
117764 );
117765 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
117766 l_rec_acct_attrs.array_char_value(3) := p_source_60;
117767 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
117768 l_rec_acct_attrs.array_char_value(4) :=
117769 xla_ae_sources_pkg.GetSystemSourceChar(
117770 p_source_code => 'XLA_ENTITY_CODE'
117771 , p_source_type_code => 'Y'
117772 , p_source_application_id => 602
117773 );
117774 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
117775 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_62);
117776 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
117777 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_63);
117778 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
117779 l_rec_acct_attrs.array_num_value(7) := p_source_78;
117780 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
117781 l_rec_acct_attrs.array_num_value(8) := p_source_96;
117782 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
117786 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
117783 l_rec_acct_attrs.array_char_value(9) := p_source_97;
117784 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
117785 l_rec_acct_attrs.array_char_value(10) := p_source_98;
117787 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_168);
117788 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
117789 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_169);
117790 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
117791 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_69);
117792 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
117793 l_rec_acct_attrs.array_char_value(14) := p_source_60;
117794 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
117795 l_rec_acct_attrs.array_num_value(15) := p_source_70;
117796 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
117797 l_rec_acct_attrs.array_num_value(16) := p_source_71;
117798 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
117799 l_rec_acct_attrs.array_char_value(17) := p_source_72;
117800 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
117801 l_rec_acct_attrs.array_num_value(18) := p_source_73;
117802 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
117803 l_rec_acct_attrs.array_num_value(19) := p_source_74;
117804 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
117805 l_rec_acct_attrs.array_num_value(20) := p_source_75;
117806 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
117807 l_rec_acct_attrs.array_char_value(21) := p_source_72;
117808 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
117809 l_rec_acct_attrs.array_num_value(22) := p_source_76;
117810 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
117811 l_rec_acct_attrs.array_char_value(23) := p_source_77;
117812 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_AMOUNT';
117813 l_rec_acct_attrs.array_num_value(24) := p_source_78;
117814 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_CODE';
117815 l_rec_acct_attrs.array_char_value(25) := p_source_72;
117816 l_rec_acct_attrs.array_acct_attr_code(26) := 'LEDGER_AMOUNT';
117817 l_rec_acct_attrs.array_num_value(26) := p_source_16;
117818 l_rec_acct_attrs.array_acct_attr_code(27) := 'MULTIPERIOD_END_DATE';
117819 l_rec_acct_attrs.array_date_value(27) := p_source_82;
117820 l_rec_acct_attrs.array_acct_attr_code(28) := 'MULTIPERIOD_OPTION';
117821 l_rec_acct_attrs.array_char_value(28) := p_source_83;
117822 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_START_DATE';
117823 l_rec_acct_attrs.array_date_value(29) := p_source_84;
117824 l_rec_acct_attrs.array_acct_attr_code(30) := 'OVERRIDE_ACCTD_AMT_FLAG';
117825 l_rec_acct_attrs.array_char_value(30) := p_source_85;
117826 l_rec_acct_attrs.array_acct_attr_code(31) := 'PARTY_TYPE';
117827 l_rec_acct_attrs.array_char_value(31) := p_source_88;
117828 l_rec_acct_attrs.array_acct_attr_code(32) := 'REVERSED_DISTRIBUTION_ID1';
117829 l_rec_acct_attrs.array_num_value(32) := to_char(p_source_89);
117830 l_rec_acct_attrs.array_acct_attr_code(33) := 'REVERSED_DISTRIBUTION_TYPE';
117831 l_rec_acct_attrs.array_char_value(33) := p_source_60;
117832 l_rec_acct_attrs.array_acct_attr_code(34) := 'STATISTICAL_AMOUNT';
117833 l_rec_acct_attrs.array_num_value(34) := p_source_90;
117834 l_rec_acct_attrs.array_acct_attr_code(35) := 'TAX_LINE_REF_ID';
117835 l_rec_acct_attrs.array_num_value(35) := p_source_91;
117836 l_rec_acct_attrs.array_acct_attr_code(36) := 'TAX_REC_NREC_DIST_REF_ID';
117837 l_rec_acct_attrs.array_num_value(36) := p_source_92;
117838 l_rec_acct_attrs.array_acct_attr_code(37) := 'TAX_SUMMARY_LINE_REF_ID';
117839 l_rec_acct_attrs.array_num_value(37) := p_source_93;
117840 l_rec_acct_attrs.array_acct_attr_code(38) := 'UPG_CR_ENC_TYPE_ID';
117841 l_rec_acct_attrs.array_num_value(38) := p_source_94;
117842 l_rec_acct_attrs.array_acct_attr_code(39) := 'UPG_DR_ENC_TYPE_ID';
117843 l_rec_acct_attrs.array_num_value(39) := p_source_95;
117844
117845 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
117846 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
117847
117848 ---------------------------------------------------------------------------------------------------------------
117849 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
117850 ---------------------------------------------------------------------------------------------------------------
117851 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
117852
117853 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
117854 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
117855
117856 IF xla_accounting_cache_pkg.GetValueChar
117857 (p_source_code => 'LEDGER_CATEGORY_CODE'
117858 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
117859 AND l_bflow_method_code = 'PRIOR_ENTRY'
117860 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
117861 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
117862 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
117863 )
117864 THEN
117865 xla_ae_lines_pkg.BflowUpgEntry
117866 (p_business_method_code => l_bflow_method_code
117867 ,p_business_class_code => l_bflow_class_code
117871 XLA_AE_LINES_PKG.business_flow_validation(
117868 ,p_balance_type => l_balance_type_code);
117869 ELSE
117870 NULL;
117872 p_business_method_code => l_bflow_method_code
117873 ,p_business_class_code => l_bflow_class_code
117874 ,p_inherit_description_flag => l_inherit_desc_flag);
117875 END IF;
117876
117877 --
117878 -- call analytical criteria
117879 --
117880 -- Inherited Analytical Criteria for business flow method of Prior Entry.
117881 --
117882 -- call description
117883 --
117884
117885 xla_ae_lines_pkg.SetLineDescription(
117886 p_ae_header_id => l_ae_header_id
117887 ,p_description => Description_2 (
117888 p_application_id => p_application_id
117889 , p_ae_header_id => l_ae_header_id
117890 , p_source_1 => p_source_1
117891 )
117892 );
117893
117894
117895 --
117896 -- call ADRs
117897 -- Bug 4922099
117898 --
117899 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
117900 (NVL(l_actual_upg_option, 'N') = 'O') OR
117901 (NVL(l_enc_upg_option, 'N') = 'O')
117902 )
117903 THEN
117904 NULL;
117905 --
117906 --
117907
117908 --
117909 --
117910 END IF;
117911 --
117912 -- Bug 4922099
117913 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
117914 (NVL(l_enc_upg_option, 'N') = 'O')
117915 ) AND
117916 (l_bflow_method_code = 'PRIOR_ENTRY')
117917 )
117918 THEN
117919 IF
117920 --
117921 1 = 1
117922 --
117923 THEN
117924 xla_accounting_err_pkg.build_message
117925 (p_appli_s_name => 'XLA'
117926 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
117927 ,p_token_1 => 'LINE_NUMBER'
117928 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
117929 ,p_token_2 => 'LINE_TYPE_NAME'
117930 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
117931 l_component_type
117932 ,l_component_code
117933 ,l_component_type_code
117934 ,l_component_appl_id
117935 ,l_amb_context_code
117936 ,l_entity_code
117937 ,l_event_class_code
117938 )
117939 ,p_token_3 => 'OWNER'
117940 ,p_value_3 => xla_lookups_pkg.get_meaning(
117941 p_lookup_type => 'XLA_OWNER_TYPE'
117942 ,p_lookup_code => l_component_type_code
117943 )
117944 ,p_token_4 => 'PRODUCT_NAME'
117945 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
117946 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
117947 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
117948 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
117949 ,p_ae_header_id => NULL
117950 );
117951
117952 IF (C_LEVEL_ERROR>= g_log_level) THEN
117953 trace
117954 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
117955 ,p_level => C_LEVEL_ERROR
117956 ,p_module => l_log_module);
117957 END IF;
117958 END IF;
117959 END IF;
117960 --
117961 --
117962 ------------------------------------------------------------------------------------------------
117963 -- 4219869 Business Flow
117964 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
117965 -- Prior Entry. Currently, the following code is always generated.
117966 ------------------------------------------------------------------------------------------------
117967 -- No ValidateCurrentLine for business flow method of Prior Entry
117968
117969 ------------------------------------------------------------------------------------
117970 -- 4219869 Business Flow
117971 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
117972 ------------------------------------------------------------------------------------
117973 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
117974
117975 ----------------------------------------------------------------------------------
117976 -- 4219869 Business Flow
117980 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
117977 -- Update journal entry status -- Need to generate this within IF <condition>
117978 ----------------------------------------------------------------------------------
117979 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
117981 ,p_balance_type_code => l_balance_type_code
117982 );
117983
117984 -------------------------------------------------------------------------------------------
117985 -- 4262811 - Generate the Accrual Reversal lines
117986 -------------------------------------------------------------------------------------------
117987 BEGIN
117988 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
117989 (g_array_event(p_event_id).array_value_num('header_index'));
117990 IF l_acc_rev_flag IS NULL THEN
117991 l_acc_rev_flag := 'N';
117992 END IF;
117993 EXCEPTION
117994 WHEN OTHERS THEN
117995 l_acc_rev_flag := 'N';
117996 END;
117997 --
117998 IF (l_acc_rev_flag = 'Y') THEN
117999
118000 -- 4645092 ------------------------------------------------------------------------------
118001 -- To allow MPA report to determine if it should generate report process
118002 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
118003 ------------------------------------------------------------------------------------------
118004
118005 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
118006 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
118007 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
118008 -- call ADRs
118009 -- Bug 4922099
118010 --
118011 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
118012 (NVL(l_actual_upg_option, 'N') = 'O') OR
118013 (NVL(l_enc_upg_option, 'N') = 'O')
118014 )
118015 THEN
118016 NULL;
118017 --
118018 --
118019
118020 --
118021 --
118022 END IF;
118023
118024 --
118025 -- Update the line information that should be overwritten
118026 --
118027 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
118028 p_header_num => 1);
118029 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
118030
118031 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
118032
118033 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
118034 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
118035 END IF;
118036
118037 --
118038 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
118039 --
118040 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
118041 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
118042 ELSE
118043 ---------------------------------------------------------------------------------------------------
118044 -- 4262811a Switch Sign
118045 ---------------------------------------------------------------------------------------------------
118046 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
118047 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
118048 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
118049 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
118050 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
118051 -- 5132302
118052 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
118053 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
118054
118055 END IF;
118056
118057 -- 4955764
118058 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
118059 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
118060
118061
118062 XLA_AE_LINES_PKG.ValidateCurrentLine;
118063 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
118064
118065 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
118066 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
118067 ,p_balance_type_code => l_balance_type_code);
118068
118069 END IF;
118070
118071 -----------------------------------------------------------------------------------------
118072 -- 4262811 Multiperiod Accounting
118073 -----------------------------------------------------------------------------------------
118074 -- No MPA option is assigned.
118075
118076
118077 END IF;
118078 END IF;
118079 --
118080
118081 --
118082 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
118083 trace
118084 (p_msg => 'END of AcctLineType_203'
118085 ,p_level => C_LEVEL_PROCEDURE
118086 ,p_module => l_log_module);
118087 END IF;
118088 --
118089 EXCEPTION
118090 WHEN xla_exceptions_pkg.application_exception THEN
118091 RAISE;
118092 WHEN OTHERS THEN
118096 --
118093 xla_exceptions_pkg.raise_message
118094 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_203');
118095 END AcctLineType_203;
118097
118098 ---------------------------------------
118099 --
118100 -- PRIVATE FUNCTION
118101 -- AcctLineType_204
118102 --
118103 ---------------------------------------
118104 PROCEDURE AcctLineType_204 (
118105 p_application_id IN NUMBER
118106 ,p_event_id IN NUMBER
118107 ,p_calculate_acctd_flag IN VARCHAR2
118108 ,p_calculate_g_l_flag IN VARCHAR2
118109 ,p_actual_flag IN OUT VARCHAR2
118110 ,p_balance_type_code OUT VARCHAR2
118111 ,p_gain_or_loss_ref OUT VARCHAR2
118112
118113 --Invoice Distribution Description
118114 , p_source_1 IN VARCHAR2
118115 --Invoice Distribution Ledger Amount
118116 , p_source_16 IN NUMBER
118117 --Invoice Distribution Type
118118 , p_source_28 IN VARCHAR2
118119 , p_source_28_meaning IN VARCHAR2
118120 --Self-Assessed Tax Account
118121 , p_source_46 IN NUMBER
118122 --Accrue on Receipt Option
118123 , p_source_54 IN VARCHAR2
118124 , p_source_54_meaning IN VARCHAR2
118125 --Accounting Reversal Indicator
118126 , p_source_58 IN VARCHAR2
118127 --Distribution Link Type
118128 , p_source_60 IN VARCHAR2
118129 --Allocation to Main Distribution Identifier
118130 , p_source_62 IN NUMBER
118131 --Invoice Identifier
118132 , p_source_63 IN NUMBER
118133 --Invoice Distribution Identifier
118134 , p_source_69 IN NUMBER
118135 --Payables Encumbrance Upgrade Credit Account
118136 , p_source_70 IN NUMBER
118137 --Payables Encumbrance Upgrade Credit Amount
118138 , p_source_71 IN NUMBER
118139 --Invoice Currency Code
118140 , p_source_72 IN VARCHAR2
118141 --Payables Encumbrance Upgrade Credit Base Amount
118142 , p_source_73 IN NUMBER
118143 --Payables Encumbrance Upgrade Debit Account
118144 , p_source_74 IN NUMBER
118145 --Payables Encumbrance Upgrade Debit Amount
118146 , p_source_75 IN NUMBER
118147 --Payables Encumbrance Upgrade Debit Base Amount
118148 , p_source_76 IN NUMBER
118149 --Payables Encumbrance Upgrade Option
118150 , p_source_77 IN VARCHAR2
118151 --Invoice Distribution Amount
118152 , p_source_78 IN NUMBER
118153 --Deferred Accounting End Date
118154 , p_source_82 IN DATE
118155 --Deferred Accounting Option
118156 , p_source_83 IN VARCHAR2
118157 --Deferred Accounting Start Date
118158 , p_source_84 IN DATE
118159 --Override Accounted Amount Indicator
118160 , p_source_85 IN VARCHAR2
118161 , p_source_85_meaning IN VARCHAR2
118162 --Invoice Supplier Identifier
118163 , p_source_86 IN NUMBER
118164 --Invoice Supplier Site Identifier
118165 , p_source_87 IN NUMBER
118166 --Third Party Type
118167 , p_source_88 IN VARCHAR2
118168 --Parent Reversal Identifier
118169 , p_source_89 IN NUMBER
118170 --Invoice Distribution Statistical Amount
118171 , p_source_90 IN NUMBER
118172 --Invoice Distribution Tax Line Identifier
118173 , p_source_91 IN NUMBER
118174 --Invoice Distribution Tax Distribution Identifier from Tax
118175 , p_source_92 IN NUMBER
118176 --Invoice Distribution Summary Tax Line Identifier
118177 , p_source_93 IN NUMBER
118178 --Payables Upgrade Credit Encumbrance Type Identifier
118179 , p_source_94 IN NUMBER
118180 --Payables Upgrade Debit Encumbrance Type Identifier
118181 , p_source_95 IN NUMBER
118182 --Business Flow Accounts Payable Application Identifier
118183 , p_source_96 IN NUMBER
118184 --Business Flow Invoice Distribution Type
118185 , p_source_97 IN VARCHAR2
118186 --Business Flow Invoice Entity Code
118187 , p_source_98 IN VARCHAR2
118188 --Business Flow Invoice Distribution Identifier
118189 , p_source_99 IN NUMBER
118190 --Business Flow Invoice Identifier
118191 , p_source_100 IN NUMBER
118192 --Self-Assessed Tax Flag
118193 , p_source_145 IN VARCHAR2
118194 , p_source_145_meaning IN VARCHAR2
118195 --Invoice Exchange Date
118196 , p_source_146 IN DATE
118197 --Invoice Exchange Rate
118198 , p_source_147 IN NUMBER
118199 --Invoice Exchange Rate Type
118200 , p_source_148 IN VARCHAR2
118201 )
118202 IS
118203
118204 l_component_type VARCHAR2(80);
118205 l_component_code VARCHAR2(30);
118206 l_component_type_code VARCHAR2(1);
118207 l_component_appl_id INTEGER;
118208 l_amb_context_code VARCHAR2(30);
118209 l_entity_code VARCHAR2(30);
118210 l_event_class_code VARCHAR2(30);
118211 l_ae_header_id NUMBER;
118212 l_event_type_code VARCHAR2(30);
118213 l_line_definition_code VARCHAR2(30);
118214 l_line_definition_owner_code VARCHAR2(1);
118215 --
118216 -- adr variables
118217 l_segment VARCHAR2(30);
118218 l_ccid NUMBER;
118219 l_adr_transaction_coa_id NUMBER;
118220 l_adr_accounting_coa_id NUMBER;
118221 l_adr_flexfield_segment_code VARCHAR2(30);
118222 l_adr_flex_value_set_id NUMBER;
118223 l_adr_value_type_code VARCHAR2(30);
118224 l_adr_value_combination_id NUMBER;
118228 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
118225 l_adr_value_segment_code VARCHAR2(30);
118226
118227 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
118229 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
118230 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
118231
118232 -- 4262811 Variables ------------------------------------------------------------------------------------------
118233 l_entered_amt_idx NUMBER;
118234 l_accted_amt_idx NUMBER;
118235 l_acc_rev_flag VARCHAR2(1);
118236 l_accrual_line_num NUMBER;
118237 l_tmp_amt NUMBER;
118238 l_acc_rev_natural_side_code VARCHAR2(1);
118239
118240 l_num_entries NUMBER;
118241 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
118242 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
118243 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
118244 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
118245 l_recog_line_1 NUMBER;
118246 l_recog_line_2 NUMBER;
118247
118248 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
118249 l_bflow_applied_to_amt NUMBER; -- 5132302
118250 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
118251
118252 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
118253
118254 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
118255 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
118256
118257 ---------------------------------------------------------------------------------------------------------------
118258
118259
118260 --
118261 -- bulk performance
118262 --
118263 l_balance_type_code VARCHAR2(1);
118264 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
118265 l_log_module VARCHAR2(240);
118266
118267 --
118268 -- Upgrade strategy
118269 --
118270 l_actual_upg_option VARCHAR2(1);
118271 l_enc_upg_option VARCHAR2(1);
118272
118273 --
118274 BEGIN
118275 --
118276 IF g_log_enabled THEN
118277 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_204';
118278 END IF;
118279 --
118280 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
118281
118282 trace
118283 (p_msg => 'BEGIN of AcctLineType_204'
118284 ,p_level => C_LEVEL_PROCEDURE
118285 ,p_module => l_log_module);
118286
118287 END IF;
118288 --
118289 l_component_type := 'AMB_JLT';
118290 l_component_code := 'AP_SELF_ASSESSED_NONREC_PREPAY';
118291 l_component_type_code := 'S';
118292 l_component_appl_id := 200;
118293 l_amb_context_code := 'DEFAULT';
118294 l_entity_code := 'AP_INVOICES';
118295 l_event_class_code := 'PREPAYMENTS';
118296 l_event_type_code := 'PREPAYMENTS_ALL';
118297 l_line_definition_owner_code := 'S';
118298 l_line_definition_code := 'ACCRUAL_PREPAYMENTS_ALL';
118299 --
118300 l_balance_type_code := 'A';
118301 l_segment := NULL;
118302 l_ccid := NULL;
118303 l_adr_transaction_coa_id := NULL;
118304 l_adr_accounting_coa_id := NULL;
118305 l_adr_flexfield_segment_code := NULL;
118306 l_adr_flex_value_set_id := NULL;
118307 l_adr_value_type_code := NULL;
118308 l_adr_value_combination_id := NULL;
118309 l_adr_value_segment_code := NULL;
118310
118311 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
118312 l_bflow_class_code := ''; -- 4219869 Business Flow
118313 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
118314 l_budgetary_control_flag := 'N';
118315
118316 l_bflow_applied_to_amt_idx := NULL; -- 5132302
118317 l_bflow_applied_to_amt := NULL; -- 5132302
118318 l_entered_amt_idx := NULL; -- 4262811
118319 l_accted_amt_idx := NULL; -- 4262811
118320 l_acc_rev_flag := NULL; -- 4262811
118321 l_accrual_line_num := NULL; -- 4262811
118322 l_tmp_amt := NULL; -- 4262811
118323 --
118324
118325 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
118326 l_balance_type_code <> 'B' THEN
118327 IF (NVL(p_source_28,'
118328 ') = 'NONREC_TAX' OR
118329 NVL(p_source_28,'
118330 ') = 'TERV' OR
118331 NVL(p_source_28,'
118332 ') = 'TIPV' OR
118333 NVL(p_source_28,'
118334 ') = 'TRV') AND
118335 NVL(p_source_54,'
118336 ') <> 'Y' AND
118337 NVL(p_source_145,'
118338 ') = 'Y'
118339 THEN
118340
118341 --
118342 XLA_AE_LINES_PKG.SetNewLine;
118343
118344 p_balance_type_code := l_balance_type_code;
118345 -- set the flag so later we will know whether the gain loss line needs to be created
118346
118347 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
118348 p_actual_flag :='A';
118349 END IF;
118350
118351 --
118352 -- bulk performance
118353 --
118354 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
118355 p_header_num => 0); -- 4262811
118356 --
118357 -- set accounting line options
118361 , p_gain_or_loss_flag => 'N'
118358 --
118359 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
118360 p_natural_side_code => 'D'
118362 , p_gl_transfer_mode_code => 'S'
118363 , p_acct_entry_type_code => 'A'
118364 , p_switch_side_flag => 'Y'
118365 , p_merge_duplicate_code => 'A'
118366 );
118367 --
118368 l_acc_rev_natural_side_code := 'C'; -- 4262811
118369 --
118370 --
118371 -- set accounting line type info
118372 --
118373 xla_ae_lines_pkg.SetAcctLineType
118374 (p_component_type => l_component_type
118375 ,p_event_type_code => l_event_type_code
118376 ,p_line_definition_owner_code => l_line_definition_owner_code
118377 ,p_line_definition_code => l_line_definition_code
118378 ,p_accounting_line_code => l_component_code
118379 ,p_accounting_line_type_code => l_component_type_code
118380 ,p_accounting_line_appl_id => l_component_appl_id
118381 ,p_amb_context_code => l_amb_context_code
118382 ,p_entity_code => l_entity_code
118383 ,p_event_class_code => l_event_class_code);
118384 --
118385 -- set accounting class
118386 --
118387 xla_ae_lines_pkg.SetAcctClass(
118388 p_accounting_class_code => 'SELF_ASSESSED_TAX'
118389 , p_ae_header_id => l_ae_header_id
118390 );
118391
118392 --
118393 -- set rounding class
118394 --
118395 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
118396 'SELF_ASSESSED_TAX';
118397
118398 --
118399 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
118400 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
118401 --
118402 -- bulk performance
118403 --
118404 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
118405
118406 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
118407 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
118408
118409 -- 4955764
118410 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
118411 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
118412
118413 -- 4458381 Public Sector Enh
118414
118415 --
118416 -- set accounting attributes for the line type
118417 --
118418 l_entered_amt_idx := 23;
118419 l_accted_amt_idx := 28;
118420 l_bflow_applied_to_amt_idx := NULL; -- 5132302
118421 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
118422 l_rec_acct_attrs.array_char_value(1) := p_source_58;
118423 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
118424 l_rec_acct_attrs.array_num_value(2) :=
118425 xla_ae_sources_pkg.GetSystemSourceNum(
118426 p_source_code => 'XLA_EVENT_APPL_ID'
118427 , p_source_type_code => 'Y'
118428 , p_source_application_id => 602
118429 );
118430 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
118431 l_rec_acct_attrs.array_char_value(3) := p_source_60;
118432 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
118433 l_rec_acct_attrs.array_char_value(4) :=
118434 xla_ae_sources_pkg.GetSystemSourceChar(
118435 p_source_code => 'XLA_ENTITY_CODE'
118436 , p_source_type_code => 'Y'
118437 , p_source_application_id => 602
118438 );
118439 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
118440 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_62);
118441 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
118442 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_63);
118443 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
118444 l_rec_acct_attrs.array_num_value(7) := p_source_96;
118445 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
118446 l_rec_acct_attrs.array_char_value(8) := p_source_97;
118447 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
118448 l_rec_acct_attrs.array_char_value(9) := p_source_98;
118449 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
118450 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_99);
118451 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
118452 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_100);
118453 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
118454 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_69);
118455 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
118456 l_rec_acct_attrs.array_char_value(13) := p_source_60;
118457 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
118458 l_rec_acct_attrs.array_num_value(14) := p_source_70;
118459 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
118460 l_rec_acct_attrs.array_num_value(15) := p_source_71;
118461 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
118462 l_rec_acct_attrs.array_char_value(16) := p_source_72;
118463 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
118464 l_rec_acct_attrs.array_num_value(17) := p_source_73;
118465 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
118466 l_rec_acct_attrs.array_num_value(18) := p_source_74;
118470 l_rec_acct_attrs.array_char_value(20) := p_source_72;
118467 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
118468 l_rec_acct_attrs.array_num_value(19) := p_source_75;
118469 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
118471 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
118472 l_rec_acct_attrs.array_num_value(21) := p_source_76;
118473 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
118474 l_rec_acct_attrs.array_char_value(22) := p_source_77;
118475 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
118476 l_rec_acct_attrs.array_num_value(23) := p_source_78;
118477 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
118478 l_rec_acct_attrs.array_char_value(24) := p_source_72;
118479 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
118480 l_rec_acct_attrs.array_date_value(25) := p_source_146;
118481 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
118482 l_rec_acct_attrs.array_num_value(26) := p_source_147;
118483 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
118484 l_rec_acct_attrs.array_char_value(27) := p_source_148;
118485 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
118486 l_rec_acct_attrs.array_num_value(28) := p_source_16;
118487 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
118488 l_rec_acct_attrs.array_date_value(29) := p_source_82;
118489 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
118490 l_rec_acct_attrs.array_char_value(30) := p_source_83;
118491 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
118492 l_rec_acct_attrs.array_date_value(31) := p_source_84;
118493 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
118494 l_rec_acct_attrs.array_char_value(32) := p_source_85;
118495 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
118496 l_rec_acct_attrs.array_num_value(33) := p_source_86;
118497 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
118498 l_rec_acct_attrs.array_num_value(34) := p_source_87;
118499 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
118500 l_rec_acct_attrs.array_char_value(35) := p_source_88;
118501 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
118502 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_89);
118503 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
118504 l_rec_acct_attrs.array_char_value(37) := p_source_60;
118505 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
118506 l_rec_acct_attrs.array_num_value(38) := p_source_90;
118507 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
118508 l_rec_acct_attrs.array_num_value(39) := p_source_91;
118509 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
118510 l_rec_acct_attrs.array_num_value(40) := p_source_92;
118511 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
118512 l_rec_acct_attrs.array_num_value(41) := p_source_93;
118513 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
118514 l_rec_acct_attrs.array_num_value(42) := p_source_94;
118515 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
118516 l_rec_acct_attrs.array_num_value(43) := p_source_95;
118517
118518 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
118519 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
118520
118521 ---------------------------------------------------------------------------------------------------------------
118522 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
118523 ---------------------------------------------------------------------------------------------------------------
118524 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
118525
118526 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
118527 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
118528
118529 IF xla_accounting_cache_pkg.GetValueChar
118530 (p_source_code => 'LEDGER_CATEGORY_CODE'
118531 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
118532 AND l_bflow_method_code = 'PRIOR_ENTRY'
118533 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
118534 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
118535 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
118536 )
118537 THEN
118538 xla_ae_lines_pkg.BflowUpgEntry
118539 (p_business_method_code => l_bflow_method_code
118540 ,p_business_class_code => l_bflow_class_code
118541 ,p_balance_type => l_balance_type_code);
118542 ELSE
118543 NULL;
118544 -- No business flow processing for business flow method of NONE.
118545 END IF;
118546
118547 --
118548 -- call analytical criteria
118549 --
118550
118551 --
118552 -- call description
118553 --
118554
118555 xla_ae_lines_pkg.SetLineDescription(
118556 p_ae_header_id => l_ae_header_id
118557 ,p_description => Description_2 (
118558 p_application_id => p_application_id
118559 , p_ae_header_id => l_ae_header_id
118560 , p_source_1 => p_source_1
118561 )
118562 );
118563
118564
118565 --
118566 -- call ADRs
118567 -- Bug 4922099
118568 --
118572 )
118569 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
118570 (NVL(l_actual_upg_option, 'N') = 'O') OR
118571 (NVL(l_enc_upg_option, 'N') = 'O')
118573 THEN
118574 NULL;
118575 --
118576 --
118577
118578 l_ccid := AcctDerRule_44(
118579 p_application_id => p_application_id
118580 , p_ae_header_id => l_ae_header_id
118581 , p_source_46 => p_source_46
118582 , x_transaction_coa_id => l_adr_transaction_coa_id
118583 , x_accounting_coa_id => l_adr_accounting_coa_id
118584 , x_value_type_code => l_adr_value_type_code
118585 , p_side => 'NA'
118586 );
118587
118588 xla_ae_lines_pkg.set_ccid(
118589 p_code_combination_id => l_ccid
118590 , p_value_type_code => l_adr_value_type_code
118591 , p_transaction_coa_id => l_adr_transaction_coa_id
118592 , p_accounting_coa_id => l_adr_accounting_coa_id
118593 , p_adr_code => 'AP_SELF_ASSESSED_TAX'
118594 , p_adr_type_code => 'S'
118595 , p_component_type => l_component_type
118596 , p_component_code => l_component_code
118597 , p_component_type_code => l_component_type_code
118598 , p_component_appl_id => l_component_appl_id
118599 , p_amb_context_code => l_amb_context_code
118600 , p_side => 'NA'
118601 );
118602
118603
118604 --
118605 --
118606 END IF;
118607 --
118608 -- Bug 4922099
118609 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
118610 (NVL(l_enc_upg_option, 'N') = 'O')
118611 ) AND
118612 (l_bflow_method_code = 'PRIOR_ENTRY')
118613 )
118614 THEN
118615 IF
118616 --
118617 1 = 2
118618 --
118619 THEN
118620 xla_accounting_err_pkg.build_message
118621 (p_appli_s_name => 'XLA'
118622 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
118623 ,p_token_1 => 'LINE_NUMBER'
118624 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
118625 ,p_token_2 => 'LINE_TYPE_NAME'
118626 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
118627 l_component_type
118628 ,l_component_code
118629 ,l_component_type_code
118630 ,l_component_appl_id
118631 ,l_amb_context_code
118632 ,l_entity_code
118633 ,l_event_class_code
118634 )
118635 ,p_token_3 => 'OWNER'
118636 ,p_value_3 => xla_lookups_pkg.get_meaning(
118637 p_lookup_type => 'XLA_OWNER_TYPE'
118638 ,p_lookup_code => l_component_type_code
118639 )
118640 ,p_token_4 => 'PRODUCT_NAME'
118641 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
118642 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
118643 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
118644 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
118645 ,p_ae_header_id => NULL
118646 );
118647
118648 IF (C_LEVEL_ERROR>= g_log_level) THEN
118649 trace
118650 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
118651 ,p_level => C_LEVEL_ERROR
118652 ,p_module => l_log_module);
118653 END IF;
118654 END IF;
118655 END IF;
118656 --
118657 --
118658 ------------------------------------------------------------------------------------------------
118659 -- 4219869 Business Flow
118660 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
118661 -- Prior Entry. Currently, the following code is always generated.
118662 ------------------------------------------------------------------------------------------------
118663 XLA_AE_LINES_PKG.ValidateCurrentLine;
118664
118665 ------------------------------------------------------------------------------------
118666 -- 4219869 Business Flow
118667 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
118668 ------------------------------------------------------------------------------------
118669 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
118670
118674 ----------------------------------------------------------------------------------
118671 ----------------------------------------------------------------------------------
118672 -- 4219869 Business Flow
118673 -- Update journal entry status -- Need to generate this within IF <condition>
118675 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
118676 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
118677 ,p_balance_type_code => l_balance_type_code
118678 );
118679
118680 -------------------------------------------------------------------------------------------
118681 -- 4262811 - Generate the Accrual Reversal lines
118682 -------------------------------------------------------------------------------------------
118683 BEGIN
118684 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
118685 (g_array_event(p_event_id).array_value_num('header_index'));
118686 IF l_acc_rev_flag IS NULL THEN
118687 l_acc_rev_flag := 'N';
118688 END IF;
118689 EXCEPTION
118690 WHEN OTHERS THEN
118691 l_acc_rev_flag := 'N';
118692 END;
118693 --
118694 IF (l_acc_rev_flag = 'Y') THEN
118695
118696 -- 4645092 ------------------------------------------------------------------------------
118697 -- To allow MPA report to determine if it should generate report process
118698 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
118699 ------------------------------------------------------------------------------------------
118700
118701 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
118702 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
118703 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
118704 -- call ADRs
118705 -- Bug 4922099
118706 --
118707 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
118708 (NVL(l_actual_upg_option, 'N') = 'O') OR
118709 (NVL(l_enc_upg_option, 'N') = 'O')
118710 )
118711 THEN
118712 NULL;
118713 --
118714 --
118715
118716 l_ccid := AcctDerRule_44(
118717 p_application_id => p_application_id
118718 , p_ae_header_id => l_ae_header_id
118719 , p_source_46 => p_source_46
118720 , x_transaction_coa_id => l_adr_transaction_coa_id
118721 , x_accounting_coa_id => l_adr_accounting_coa_id
118722 , x_value_type_code => l_adr_value_type_code
118723 , p_side => 'NA'
118724 );
118725
118726 xla_ae_lines_pkg.set_ccid(
118727 p_code_combination_id => l_ccid
118728 , p_value_type_code => l_adr_value_type_code
118729 , p_transaction_coa_id => l_adr_transaction_coa_id
118730 , p_accounting_coa_id => l_adr_accounting_coa_id
118731 , p_adr_code => 'AP_SELF_ASSESSED_TAX'
118732 , p_adr_type_code => 'S'
118733 , p_component_type => l_component_type
118734 , p_component_code => l_component_code
118735 , p_component_type_code => l_component_type_code
118736 , p_component_appl_id => l_component_appl_id
118737 , p_amb_context_code => l_amb_context_code
118738 , p_side => 'NA'
118739 );
118740
118741
118742 --
118743 --
118744 END IF;
118745
118746 --
118747 -- Update the line information that should be overwritten
118748 --
118749 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
118750 p_header_num => 1);
118751 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
118752
118753 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
118754
118755 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
118756 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
118757 END IF;
118758
118759 --
118760 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
118761 --
118762 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
118763 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
118764 ELSE
118765 ---------------------------------------------------------------------------------------------------
118766 -- 4262811a Switch Sign
118767 ---------------------------------------------------------------------------------------------------
118768 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
118769 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
118770 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
118771 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
118772 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
118773 -- 5132302
118774 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
118775 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
118776
118777 END IF;
118778
118782
118779 -- 4955764
118780 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
118781 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
118783
118784 XLA_AE_LINES_PKG.ValidateCurrentLine;
118785 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
118786
118787 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
118788 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
118789 ,p_balance_type_code => l_balance_type_code);
118790
118791 END IF;
118792
118793 -----------------------------------------------------------------------------------------
118794 -- 4262811 Multiperiod Accounting
118795 -----------------------------------------------------------------------------------------
118796 -- No MPA option is assigned.
118797
118798
118799 END IF;
118800 END IF;
118801 --
118802
118803 --
118804 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
118805 trace
118806 (p_msg => 'END of AcctLineType_204'
118807 ,p_level => C_LEVEL_PROCEDURE
118808 ,p_module => l_log_module);
118809 END IF;
118810 --
118811 EXCEPTION
118812 WHEN xla_exceptions_pkg.application_exception THEN
118813 RAISE;
118814 WHEN OTHERS THEN
118815 xla_exceptions_pkg.raise_message
118816 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_204');
118817 END AcctLineType_204;
118818 --
118819
118820 ---------------------------------------
118821 --
118822 -- PRIVATE FUNCTION
118823 -- AcctLineType_205
118824 --
118825 ---------------------------------------
118826 PROCEDURE AcctLineType_205 (
118827 p_application_id IN NUMBER
118828 ,p_event_id IN NUMBER
118829 ,p_calculate_acctd_flag IN VARCHAR2
118830 ,p_calculate_g_l_flag IN VARCHAR2
118831 ,p_actual_flag IN OUT VARCHAR2
118832 ,p_balance_type_code OUT VARCHAR2
118833 ,p_gain_or_loss_ref OUT VARCHAR2
118834
118835 --Invoice Distribution Description
118836 , p_source_1 IN VARCHAR2
118837 --Invoice Distribution Ledger Amount
118838 , p_source_16 IN NUMBER
118839 --Invoice Distribution Type
118840 , p_source_28 IN VARCHAR2
118841 , p_source_28_meaning IN VARCHAR2
118842 --Self-Assessed Tax Account
118843 , p_source_46 IN NUMBER
118844 --Accrue on Receipt Option
118845 , p_source_54 IN VARCHAR2
118846 , p_source_54_meaning IN VARCHAR2
118847 --Accounting Reversal Indicator
118848 , p_source_58 IN VARCHAR2
118849 --Distribution Link Type
118850 , p_source_60 IN VARCHAR2
118851 --Allocation to Main Distribution Identifier
118852 , p_source_62 IN NUMBER
118853 --Invoice Identifier
118854 , p_source_63 IN NUMBER
118855 --Invoice Distribution Identifier
118856 , p_source_69 IN NUMBER
118857 --Payables Encumbrance Upgrade Credit Account
118858 , p_source_70 IN NUMBER
118859 --Payables Encumbrance Upgrade Credit Amount
118860 , p_source_71 IN NUMBER
118861 --Invoice Currency Code
118862 , p_source_72 IN VARCHAR2
118863 --Payables Encumbrance Upgrade Credit Base Amount
118864 , p_source_73 IN NUMBER
118865 --Payables Encumbrance Upgrade Debit Account
118866 , p_source_74 IN NUMBER
118867 --Payables Encumbrance Upgrade Debit Amount
118868 , p_source_75 IN NUMBER
118869 --Payables Encumbrance Upgrade Debit Base Amount
118870 , p_source_76 IN NUMBER
118871 --Payables Encumbrance Upgrade Option
118872 , p_source_77 IN VARCHAR2
118873 --Invoice Distribution Amount
118874 , p_source_78 IN NUMBER
118875 --Deferred Accounting End Date
118876 , p_source_82 IN DATE
118877 --Deferred Accounting Option
118878 , p_source_83 IN VARCHAR2
118879 --Deferred Accounting Start Date
118880 , p_source_84 IN DATE
118881 --Override Accounted Amount Indicator
118882 , p_source_85 IN VARCHAR2
118883 , p_source_85_meaning IN VARCHAR2
118884 --Invoice Supplier Identifier
118885 , p_source_86 IN NUMBER
118886 --Invoice Supplier Site Identifier
118887 , p_source_87 IN NUMBER
118888 --Third Party Type
118889 , p_source_88 IN VARCHAR2
118890 --Parent Reversal Identifier
118891 , p_source_89 IN NUMBER
118892 --Invoice Distribution Statistical Amount
118893 , p_source_90 IN NUMBER
118894 --Invoice Distribution Tax Line Identifier
118895 , p_source_91 IN NUMBER
118896 --Invoice Distribution Tax Distribution Identifier from Tax
118897 , p_source_92 IN NUMBER
118898 --Invoice Distribution Summary Tax Line Identifier
118899 , p_source_93 IN NUMBER
118900 --Payables Upgrade Credit Encumbrance Type Identifier
118901 , p_source_94 IN NUMBER
118902 --Payables Upgrade Debit Encumbrance Type Identifier
118903 , p_source_95 IN NUMBER
118904 --Business Flow Accounts Payable Application Identifier
118905 , p_source_96 IN NUMBER
118906 --Business Flow Invoice Distribution Type
118907 , p_source_97 IN VARCHAR2
118908 --Business Flow Invoice Entity Code
118909 , p_source_98 IN VARCHAR2
118910 --Business Flow Invoice Distribution Identifier
118911 , p_source_99 IN NUMBER
118915 , p_source_145 IN VARCHAR2
118912 --Business Flow Invoice Identifier
118913 , p_source_100 IN NUMBER
118914 --Self-Assessed Tax Flag
118916 , p_source_145_meaning IN VARCHAR2
118917 --Invoice Exchange Date
118918 , p_source_146 IN DATE
118919 --Invoice Exchange Rate
118920 , p_source_147 IN NUMBER
118921 --Invoice Exchange Rate Type
118922 , p_source_148 IN VARCHAR2
118923 )
118924 IS
118925
118926 l_component_type VARCHAR2(80);
118927 l_component_code VARCHAR2(30);
118928 l_component_type_code VARCHAR2(1);
118929 l_component_appl_id INTEGER;
118930 l_amb_context_code VARCHAR2(30);
118931 l_entity_code VARCHAR2(30);
118932 l_event_class_code VARCHAR2(30);
118933 l_ae_header_id NUMBER;
118934 l_event_type_code VARCHAR2(30);
118935 l_line_definition_code VARCHAR2(30);
118936 l_line_definition_owner_code VARCHAR2(1);
118937 --
118938 -- adr variables
118939 l_segment VARCHAR2(30);
118940 l_ccid NUMBER;
118941 l_adr_transaction_coa_id NUMBER;
118942 l_adr_accounting_coa_id NUMBER;
118943 l_adr_flexfield_segment_code VARCHAR2(30);
118944 l_adr_flex_value_set_id NUMBER;
118945 l_adr_value_type_code VARCHAR2(30);
118946 l_adr_value_combination_id NUMBER;
118947 l_adr_value_segment_code VARCHAR2(30);
118948
118949 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
118950 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
118951 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
118952 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
118953
118954 -- 4262811 Variables ------------------------------------------------------------------------------------------
118955 l_entered_amt_idx NUMBER;
118956 l_accted_amt_idx NUMBER;
118957 l_acc_rev_flag VARCHAR2(1);
118958 l_accrual_line_num NUMBER;
118959 l_tmp_amt NUMBER;
118960 l_acc_rev_natural_side_code VARCHAR2(1);
118961
118962 l_num_entries NUMBER;
118963 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
118964 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
118965 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
118966 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
118967 l_recog_line_1 NUMBER;
118968 l_recog_line_2 NUMBER;
118969
118970 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
118971 l_bflow_applied_to_amt NUMBER; -- 5132302
118972 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
118973
118974 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
118975
118976 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
118977 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
118978
118979 ---------------------------------------------------------------------------------------------------------------
118980
118981
118982 --
118983 -- bulk performance
118984 --
118985 l_balance_type_code VARCHAR2(1);
118986 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
118987 l_log_module VARCHAR2(240);
118988
118989 --
118990 -- Upgrade strategy
118991 --
118992 l_actual_upg_option VARCHAR2(1);
118993 l_enc_upg_option VARCHAR2(1);
118994
118995 --
118996 BEGIN
118997 --
118998 IF g_log_enabled THEN
118999 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_205';
119000 END IF;
119001 --
119002 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
119003
119004 trace
119005 (p_msg => 'BEGIN of AcctLineType_205'
119006 ,p_level => C_LEVEL_PROCEDURE
119007 ,p_module => l_log_module);
119008
119009 END IF;
119010 --
119011 l_component_type := 'AMB_JLT';
119012 l_component_code := 'AP_SELF_ASSESSED_NON_REC_CM';
119013 l_component_type_code := 'S';
119014 l_component_appl_id := 200;
119015 l_amb_context_code := 'DEFAULT';
119016 l_entity_code := 'AP_INVOICES';
119017 l_event_class_code := 'CREDIT MEMOS';
119018 l_event_type_code := 'CREDIT MEMOS_ALL';
119019 l_line_definition_owner_code := 'S';
119020 l_line_definition_code := 'ACCRUAL_CREDIT MEMOS_ALL';
119021 --
119022 l_balance_type_code := 'A';
119023 l_segment := NULL;
119024 l_ccid := NULL;
119025 l_adr_transaction_coa_id := NULL;
119026 l_adr_accounting_coa_id := NULL;
119027 l_adr_flexfield_segment_code := NULL;
119028 l_adr_flex_value_set_id := NULL;
119029 l_adr_value_type_code := NULL;
119030 l_adr_value_combination_id := NULL;
119031 l_adr_value_segment_code := NULL;
119032
119033 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
119034 l_bflow_class_code := ''; -- 4219869 Business Flow
119035 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
119036 l_budgetary_control_flag := 'N';
119037
119038 l_bflow_applied_to_amt_idx := NULL; -- 5132302
119039 l_bflow_applied_to_amt := NULL; -- 5132302
119040 l_entered_amt_idx := NULL; -- 4262811
119044 l_tmp_amt := NULL; -- 4262811
119041 l_accted_amt_idx := NULL; -- 4262811
119042 l_acc_rev_flag := NULL; -- 4262811
119043 l_accrual_line_num := NULL; -- 4262811
119045 --
119046
119047 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
119048 l_balance_type_code <> 'B' THEN
119049 IF (NVL(p_source_28,'
119050 ') = 'NONREC_TAX' OR
119051 NVL(p_source_28,'
119052 ') = 'TERV' OR
119053 NVL(p_source_28,'
119054 ') = 'TIPV' OR
119055 NVL(p_source_28,'
119056 ') = 'TRV') AND
119057 NVL(p_source_54,'
119058 ') <> 'Y' AND
119059 NVL(p_source_145,'
119060 ') = 'Y'
119061 THEN
119062
119063 --
119064 XLA_AE_LINES_PKG.SetNewLine;
119065
119066 p_balance_type_code := l_balance_type_code;
119067 -- set the flag so later we will know whether the gain loss line needs to be created
119068
119069 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
119070 p_actual_flag :='A';
119071 END IF;
119072
119073 --
119074 -- bulk performance
119075 --
119076 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
119077 p_header_num => 0); -- 4262811
119078 --
119079 -- set accounting line options
119080 --
119081 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
119082 p_natural_side_code => 'D'
119083 , p_gain_or_loss_flag => 'N'
119084 , p_gl_transfer_mode_code => 'S'
119085 , p_acct_entry_type_code => 'A'
119086 , p_switch_side_flag => 'Y'
119087 , p_merge_duplicate_code => 'A'
119088 );
119089 --
119090 l_acc_rev_natural_side_code := 'C'; -- 4262811
119091 --
119092 --
119093 -- set accounting line type info
119094 --
119095 xla_ae_lines_pkg.SetAcctLineType
119096 (p_component_type => l_component_type
119097 ,p_event_type_code => l_event_type_code
119098 ,p_line_definition_owner_code => l_line_definition_owner_code
119099 ,p_line_definition_code => l_line_definition_code
119100 ,p_accounting_line_code => l_component_code
119101 ,p_accounting_line_type_code => l_component_type_code
119102 ,p_accounting_line_appl_id => l_component_appl_id
119103 ,p_amb_context_code => l_amb_context_code
119104 ,p_entity_code => l_entity_code
119105 ,p_event_class_code => l_event_class_code);
119106 --
119107 -- set accounting class
119108 --
119109 xla_ae_lines_pkg.SetAcctClass(
119110 p_accounting_class_code => 'SELF_ASSESSED_TAX'
119111 , p_ae_header_id => l_ae_header_id
119112 );
119113
119114 --
119115 -- set rounding class
119116 --
119117 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
119118 'SELF_ASSESSED_TAX';
119119
119120 --
119121 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
119122 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
119123 --
119124 -- bulk performance
119125 --
119126 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
119127
119128 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
119129 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
119130
119131 -- 4955764
119132 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
119133 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
119134
119135 -- 4458381 Public Sector Enh
119136
119137 --
119138 -- set accounting attributes for the line type
119139 --
119140 l_entered_amt_idx := 23;
119141 l_accted_amt_idx := 28;
119142 l_bflow_applied_to_amt_idx := NULL; -- 5132302
119143 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
119144 l_rec_acct_attrs.array_char_value(1) := p_source_58;
119145 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
119146 l_rec_acct_attrs.array_num_value(2) :=
119147 xla_ae_sources_pkg.GetSystemSourceNum(
119148 p_source_code => 'XLA_EVENT_APPL_ID'
119149 , p_source_type_code => 'Y'
119150 , p_source_application_id => 602
119151 );
119152 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
119153 l_rec_acct_attrs.array_char_value(3) := p_source_60;
119154 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
119155 l_rec_acct_attrs.array_char_value(4) :=
119156 xla_ae_sources_pkg.GetSystemSourceChar(
119157 p_source_code => 'XLA_ENTITY_CODE'
119158 , p_source_type_code => 'Y'
119159 , p_source_application_id => 602
119160 );
119161 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
119162 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_62);
119163 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
119164 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_63);
119165 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
119166 l_rec_acct_attrs.array_num_value(7) := p_source_96;
119167 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
119171 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
119168 l_rec_acct_attrs.array_char_value(8) := p_source_97;
119169 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
119170 l_rec_acct_attrs.array_char_value(9) := p_source_98;
119172 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_99);
119173 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
119174 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_100);
119175 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
119176 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_69);
119177 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
119178 l_rec_acct_attrs.array_char_value(13) := p_source_60;
119179 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
119180 l_rec_acct_attrs.array_num_value(14) := p_source_70;
119181 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
119182 l_rec_acct_attrs.array_num_value(15) := p_source_71;
119183 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
119184 l_rec_acct_attrs.array_char_value(16) := p_source_72;
119185 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
119186 l_rec_acct_attrs.array_num_value(17) := p_source_73;
119187 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
119188 l_rec_acct_attrs.array_num_value(18) := p_source_74;
119189 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
119190 l_rec_acct_attrs.array_num_value(19) := p_source_75;
119191 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
119192 l_rec_acct_attrs.array_char_value(20) := p_source_72;
119193 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
119194 l_rec_acct_attrs.array_num_value(21) := p_source_76;
119195 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
119196 l_rec_acct_attrs.array_char_value(22) := p_source_77;
119197 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
119198 l_rec_acct_attrs.array_num_value(23) := p_source_78;
119199 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
119200 l_rec_acct_attrs.array_char_value(24) := p_source_72;
119201 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
119202 l_rec_acct_attrs.array_date_value(25) := p_source_146;
119203 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
119204 l_rec_acct_attrs.array_num_value(26) := p_source_147;
119205 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
119206 l_rec_acct_attrs.array_char_value(27) := p_source_148;
119207 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
119208 l_rec_acct_attrs.array_num_value(28) := p_source_16;
119209 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
119210 l_rec_acct_attrs.array_date_value(29) := p_source_82;
119211 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
119212 l_rec_acct_attrs.array_char_value(30) := p_source_83;
119213 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
119214 l_rec_acct_attrs.array_date_value(31) := p_source_84;
119215 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
119216 l_rec_acct_attrs.array_char_value(32) := p_source_85;
119217 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
119218 l_rec_acct_attrs.array_num_value(33) := p_source_86;
119219 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
119220 l_rec_acct_attrs.array_num_value(34) := p_source_87;
119221 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
119222 l_rec_acct_attrs.array_char_value(35) := p_source_88;
119223 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
119224 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_89);
119225 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
119226 l_rec_acct_attrs.array_char_value(37) := p_source_60;
119227 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
119228 l_rec_acct_attrs.array_num_value(38) := p_source_90;
119229 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
119230 l_rec_acct_attrs.array_num_value(39) := p_source_91;
119231 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
119232 l_rec_acct_attrs.array_num_value(40) := p_source_92;
119233 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
119234 l_rec_acct_attrs.array_num_value(41) := p_source_93;
119235 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
119236 l_rec_acct_attrs.array_num_value(42) := p_source_94;
119237 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
119238 l_rec_acct_attrs.array_num_value(43) := p_source_95;
119239
119240 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
119241 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
119242
119243 ---------------------------------------------------------------------------------------------------------------
119244 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
119245 ---------------------------------------------------------------------------------------------------------------
119246 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
119247
119248 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
119252 (p_source_code => 'LEDGER_CATEGORY_CODE'
119249 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
119250
119251 IF xla_accounting_cache_pkg.GetValueChar
119253 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
119254 AND l_bflow_method_code = 'PRIOR_ENTRY'
119255 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
119256 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
119257 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
119258 )
119259 THEN
119260 xla_ae_lines_pkg.BflowUpgEntry
119261 (p_business_method_code => l_bflow_method_code
119262 ,p_business_class_code => l_bflow_class_code
119263 ,p_balance_type => l_balance_type_code);
119264 ELSE
119265 NULL;
119266 -- No business flow processing for business flow method of NONE.
119267 END IF;
119268
119269 --
119270 -- call analytical criteria
119271 --
119272
119273 --
119274 -- call description
119275 --
119276
119277 xla_ae_lines_pkg.SetLineDescription(
119278 p_ae_header_id => l_ae_header_id
119279 ,p_description => Description_2 (
119280 p_application_id => p_application_id
119281 , p_ae_header_id => l_ae_header_id
119282 , p_source_1 => p_source_1
119283 )
119284 );
119285
119286
119287 --
119288 -- call ADRs
119289 -- Bug 4922099
119290 --
119291 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
119292 (NVL(l_actual_upg_option, 'N') = 'O') OR
119293 (NVL(l_enc_upg_option, 'N') = 'O')
119294 )
119295 THEN
119296 NULL;
119297 --
119298 --
119299
119300 l_ccid := AcctDerRule_44(
119301 p_application_id => p_application_id
119302 , p_ae_header_id => l_ae_header_id
119303 , p_source_46 => p_source_46
119304 , x_transaction_coa_id => l_adr_transaction_coa_id
119305 , x_accounting_coa_id => l_adr_accounting_coa_id
119306 , x_value_type_code => l_adr_value_type_code
119307 , p_side => 'NA'
119308 );
119309
119310 xla_ae_lines_pkg.set_ccid(
119311 p_code_combination_id => l_ccid
119312 , p_value_type_code => l_adr_value_type_code
119313 , p_transaction_coa_id => l_adr_transaction_coa_id
119314 , p_accounting_coa_id => l_adr_accounting_coa_id
119315 , p_adr_code => 'AP_SELF_ASSESSED_TAX'
119316 , p_adr_type_code => 'S'
119317 , p_component_type => l_component_type
119318 , p_component_code => l_component_code
119319 , p_component_type_code => l_component_type_code
119320 , p_component_appl_id => l_component_appl_id
119321 , p_amb_context_code => l_amb_context_code
119322 , p_side => 'NA'
119323 );
119324
119325
119326 --
119327 --
119328 END IF;
119329 --
119330 -- Bug 4922099
119331 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
119332 (NVL(l_enc_upg_option, 'N') = 'O')
119333 ) AND
119334 (l_bflow_method_code = 'PRIOR_ENTRY')
119335 )
119336 THEN
119337 IF
119338 --
119339 1 = 2
119340 --
119341 THEN
119342 xla_accounting_err_pkg.build_message
119343 (p_appli_s_name => 'XLA'
119344 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
119345 ,p_token_1 => 'LINE_NUMBER'
119346 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
119347 ,p_token_2 => 'LINE_TYPE_NAME'
119348 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
119349 l_component_type
119350 ,l_component_code
119351 ,l_component_type_code
119352 ,l_component_appl_id
119353 ,l_amb_context_code
119354 ,l_entity_code
119355 ,l_event_class_code
119356 )
119357 ,p_token_3 => 'OWNER'
119358 ,p_value_3 => xla_lookups_pkg.get_meaning(
119359 p_lookup_type => 'XLA_OWNER_TYPE'
119360 ,p_lookup_code => l_component_type_code
119361 )
119362 ,p_token_4 => 'PRODUCT_NAME'
119363 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
119364 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
119368 );
119365 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
119366 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
119367 ,p_ae_header_id => NULL
119369
119370 IF (C_LEVEL_ERROR>= g_log_level) THEN
119371 trace
119372 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
119373 ,p_level => C_LEVEL_ERROR
119374 ,p_module => l_log_module);
119375 END IF;
119376 END IF;
119377 END IF;
119378 --
119379 --
119380 ------------------------------------------------------------------------------------------------
119381 -- 4219869 Business Flow
119382 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
119383 -- Prior Entry. Currently, the following code is always generated.
119384 ------------------------------------------------------------------------------------------------
119385 XLA_AE_LINES_PKG.ValidateCurrentLine;
119386
119387 ------------------------------------------------------------------------------------
119388 -- 4219869 Business Flow
119389 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
119390 ------------------------------------------------------------------------------------
119391 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
119392
119393 ----------------------------------------------------------------------------------
119394 -- 4219869 Business Flow
119395 -- Update journal entry status -- Need to generate this within IF <condition>
119396 ----------------------------------------------------------------------------------
119397 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
119398 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
119399 ,p_balance_type_code => l_balance_type_code
119400 );
119401
119402 -------------------------------------------------------------------------------------------
119403 -- 4262811 - Generate the Accrual Reversal lines
119404 -------------------------------------------------------------------------------------------
119405 BEGIN
119406 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
119407 (g_array_event(p_event_id).array_value_num('header_index'));
119408 IF l_acc_rev_flag IS NULL THEN
119409 l_acc_rev_flag := 'N';
119410 END IF;
119411 EXCEPTION
119412 WHEN OTHERS THEN
119413 l_acc_rev_flag := 'N';
119414 END;
119415 --
119416 IF (l_acc_rev_flag = 'Y') THEN
119417
119418 -- 4645092 ------------------------------------------------------------------------------
119419 -- To allow MPA report to determine if it should generate report process
119420 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
119421 ------------------------------------------------------------------------------------------
119422
119423 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
119424 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
119425 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
119426 -- call ADRs
119427 -- Bug 4922099
119428 --
119429 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
119430 (NVL(l_actual_upg_option, 'N') = 'O') OR
119431 (NVL(l_enc_upg_option, 'N') = 'O')
119432 )
119433 THEN
119434 NULL;
119435 --
119436 --
119437
119438 l_ccid := AcctDerRule_44(
119439 p_application_id => p_application_id
119440 , p_ae_header_id => l_ae_header_id
119441 , p_source_46 => p_source_46
119442 , x_transaction_coa_id => l_adr_transaction_coa_id
119443 , x_accounting_coa_id => l_adr_accounting_coa_id
119444 , x_value_type_code => l_adr_value_type_code
119445 , p_side => 'NA'
119446 );
119447
119448 xla_ae_lines_pkg.set_ccid(
119449 p_code_combination_id => l_ccid
119450 , p_value_type_code => l_adr_value_type_code
119451 , p_transaction_coa_id => l_adr_transaction_coa_id
119452 , p_accounting_coa_id => l_adr_accounting_coa_id
119453 , p_adr_code => 'AP_SELF_ASSESSED_TAX'
119454 , p_adr_type_code => 'S'
119455 , p_component_type => l_component_type
119456 , p_component_code => l_component_code
119457 , p_component_type_code => l_component_type_code
119458 , p_component_appl_id => l_component_appl_id
119459 , p_amb_context_code => l_amb_context_code
119460 , p_side => 'NA'
119461 );
119462
119463
119464 --
119465 --
119466 END IF;
119467
119468 --
119469 -- Update the line information that should be overwritten
119470 --
119471 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
119472 p_header_num => 1);
119473 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
119474
119475 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
119476
119477 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
119481 --
119478 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
119479 END IF;
119480
119482 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
119483 --
119484 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
119485 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
119486 ELSE
119487 ---------------------------------------------------------------------------------------------------
119488 -- 4262811a Switch Sign
119489 ---------------------------------------------------------------------------------------------------
119490 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
119491 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
119492 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
119493 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
119494 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
119495 -- 5132302
119496 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
119497 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
119498
119499 END IF;
119500
119501 -- 4955764
119502 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
119503 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
119504
119505
119506 XLA_AE_LINES_PKG.ValidateCurrentLine;
119507 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
119508
119509 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
119510 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
119511 ,p_balance_type_code => l_balance_type_code);
119512
119513 END IF;
119514
119515 -----------------------------------------------------------------------------------------
119516 -- 4262811 Multiperiod Accounting
119517 -----------------------------------------------------------------------------------------
119518 -- No MPA option is assigned.
119519
119520
119521 END IF;
119522 END IF;
119523 --
119524
119525 --
119526 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
119527 trace
119528 (p_msg => 'END of AcctLineType_205'
119529 ,p_level => C_LEVEL_PROCEDURE
119530 ,p_module => l_log_module);
119531 END IF;
119532 --
119533 EXCEPTION
119534 WHEN xla_exceptions_pkg.application_exception THEN
119535 RAISE;
119536 WHEN OTHERS THEN
119537 xla_exceptions_pkg.raise_message
119538 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_205');
119539 END AcctLineType_205;
119540 --
119541
119542 ---------------------------------------
119543 --
119544 -- PRIVATE FUNCTION
119545 -- AcctLineType_206
119546 --
119547 ---------------------------------------
119548 PROCEDURE AcctLineType_206 (
119549 p_application_id IN NUMBER
119550 ,p_event_id IN NUMBER
119551 ,p_calculate_acctd_flag IN VARCHAR2
119552 ,p_calculate_g_l_flag IN VARCHAR2
119553 ,p_actual_flag IN OUT VARCHAR2
119554 ,p_balance_type_code OUT VARCHAR2
119555 ,p_gain_or_loss_ref OUT VARCHAR2
119556
119557 --Invoice Distribution Description
119558 , p_source_1 IN VARCHAR2
119559 --Invoice Distribution Ledger Amount
119560 , p_source_16 IN NUMBER
119561 --Invoice Distribution Type
119562 , p_source_28 IN VARCHAR2
119563 , p_source_28_meaning IN VARCHAR2
119564 --Self-Assessed Tax Account
119565 , p_source_46 IN NUMBER
119566 --Accrue on Receipt Option
119567 , p_source_54 IN VARCHAR2
119568 , p_source_54_meaning IN VARCHAR2
119569 --Accounting Reversal Indicator
119570 , p_source_58 IN VARCHAR2
119571 --Distribution Link Type
119572 , p_source_60 IN VARCHAR2
119573 --Allocation to Main Distribution Identifier
119574 , p_source_62 IN NUMBER
119575 --Invoice Identifier
119576 , p_source_63 IN NUMBER
119577 --Invoice Distribution Identifier
119578 , p_source_69 IN NUMBER
119579 --Payables Encumbrance Upgrade Credit Account
119580 , p_source_70 IN NUMBER
119581 --Payables Encumbrance Upgrade Credit Amount
119582 , p_source_71 IN NUMBER
119583 --Invoice Currency Code
119584 , p_source_72 IN VARCHAR2
119585 --Payables Encumbrance Upgrade Credit Base Amount
119586 , p_source_73 IN NUMBER
119587 --Payables Encumbrance Upgrade Debit Account
119588 , p_source_74 IN NUMBER
119589 --Payables Encumbrance Upgrade Debit Amount
119590 , p_source_75 IN NUMBER
119591 --Payables Encumbrance Upgrade Debit Base Amount
119592 , p_source_76 IN NUMBER
119593 --Payables Encumbrance Upgrade Option
119594 , p_source_77 IN VARCHAR2
119595 --Invoice Distribution Amount
119596 , p_source_78 IN NUMBER
119597 --Deferred Accounting End Date
119598 , p_source_82 IN DATE
119599 --Deferred Accounting Option
119603 --Override Accounted Amount Indicator
119600 , p_source_83 IN VARCHAR2
119601 --Deferred Accounting Start Date
119602 , p_source_84 IN DATE
119604 , p_source_85 IN VARCHAR2
119605 , p_source_85_meaning IN VARCHAR2
119606 --Invoice Supplier Identifier
119607 , p_source_86 IN NUMBER
119608 --Invoice Supplier Site Identifier
119609 , p_source_87 IN NUMBER
119610 --Third Party Type
119611 , p_source_88 IN VARCHAR2
119612 --Parent Reversal Identifier
119613 , p_source_89 IN NUMBER
119614 --Invoice Distribution Tax Line Identifier
119615 , p_source_91 IN NUMBER
119616 --Invoice Distribution Tax Distribution Identifier from Tax
119617 , p_source_92 IN NUMBER
119618 --Invoice Distribution Summary Tax Line Identifier
119619 , p_source_93 IN NUMBER
119620 --Payables Upgrade Credit Encumbrance Type Identifier
119621 , p_source_94 IN NUMBER
119622 --Payables Upgrade Debit Encumbrance Type Identifier
119623 , p_source_95 IN NUMBER
119624 --Business Flow Accounts Payable Application Identifier
119625 , p_source_96 IN NUMBER
119626 --Business Flow Invoice Distribution Type
119627 , p_source_97 IN VARCHAR2
119628 --Business Flow Invoice Entity Code
119629 , p_source_98 IN VARCHAR2
119630 --Business Flow Invoice Distribution Identifier
119631 , p_source_99 IN NUMBER
119632 --Business Flow Invoice Identifier
119633 , p_source_100 IN NUMBER
119634 --Self-Assessed Tax Flag
119635 , p_source_145 IN VARCHAR2
119636 , p_source_145_meaning IN VARCHAR2
119637 --Invoice Exchange Date
119638 , p_source_146 IN DATE
119639 --Invoice Exchange Rate
119640 , p_source_147 IN NUMBER
119641 --Invoice Exchange Rate Type
119642 , p_source_148 IN VARCHAR2
119643 )
119644 IS
119645
119646 l_component_type VARCHAR2(80);
119647 l_component_code VARCHAR2(30);
119648 l_component_type_code VARCHAR2(1);
119649 l_component_appl_id INTEGER;
119650 l_amb_context_code VARCHAR2(30);
119651 l_entity_code VARCHAR2(30);
119652 l_event_class_code VARCHAR2(30);
119653 l_ae_header_id NUMBER;
119654 l_event_type_code VARCHAR2(30);
119655 l_line_definition_code VARCHAR2(30);
119656 l_line_definition_owner_code VARCHAR2(1);
119657 --
119658 -- adr variables
119659 l_segment VARCHAR2(30);
119660 l_ccid NUMBER;
119661 l_adr_transaction_coa_id NUMBER;
119662 l_adr_accounting_coa_id NUMBER;
119663 l_adr_flexfield_segment_code VARCHAR2(30);
119664 l_adr_flex_value_set_id NUMBER;
119665 l_adr_value_type_code VARCHAR2(30);
119666 l_adr_value_combination_id NUMBER;
119667 l_adr_value_segment_code VARCHAR2(30);
119668
119669 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
119670 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
119671 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
119672 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
119673
119674 -- 4262811 Variables ------------------------------------------------------------------------------------------
119675 l_entered_amt_idx NUMBER;
119676 l_accted_amt_idx NUMBER;
119677 l_acc_rev_flag VARCHAR2(1);
119678 l_accrual_line_num NUMBER;
119679 l_tmp_amt NUMBER;
119680 l_acc_rev_natural_side_code VARCHAR2(1);
119681
119682 l_num_entries NUMBER;
119683 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
119684 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
119685 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
119686 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
119687 l_recog_line_1 NUMBER;
119688 l_recog_line_2 NUMBER;
119689
119690 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
119691 l_bflow_applied_to_amt NUMBER; -- 5132302
119692 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
119693
119694 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
119695
119696 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
119697 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
119698
119699 ---------------------------------------------------------------------------------------------------------------
119700
119701
119702 --
119703 -- bulk performance
119704 --
119705 l_balance_type_code VARCHAR2(1);
119706 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
119707 l_log_module VARCHAR2(240);
119708
119709 --
119710 -- Upgrade strategy
119711 --
119712 l_actual_upg_option VARCHAR2(1);
119713 l_enc_upg_option VARCHAR2(1);
119714
119715 --
119716 BEGIN
119717 --
119718 IF g_log_enabled THEN
119719 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_206';
119720 END IF;
119721 --
119722 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
119723
119724 trace
119725 (p_msg => 'BEGIN of AcctLineType_206'
119726 ,p_level => C_LEVEL_PROCEDURE
119727 ,p_module => l_log_module);
119728
119729 END IF;
119733 l_component_type_code := 'S';
119730 --
119731 l_component_type := 'AMB_JLT';
119732 l_component_code := 'AP_SELF_ASSESSED_NON_REC_DM';
119734 l_component_appl_id := 200;
119735 l_amb_context_code := 'DEFAULT';
119736 l_entity_code := 'AP_INVOICES';
119737 l_event_class_code := 'DEBIT MEMOS';
119738 l_event_type_code := 'DEBIT MEMOS_ALL';
119739 l_line_definition_owner_code := 'S';
119740 l_line_definition_code := 'ACCRUAL_DEBIT MEMOS_ALL';
119741 --
119742 l_balance_type_code := 'A';
119743 l_segment := NULL;
119744 l_ccid := NULL;
119745 l_adr_transaction_coa_id := NULL;
119746 l_adr_accounting_coa_id := NULL;
119747 l_adr_flexfield_segment_code := NULL;
119748 l_adr_flex_value_set_id := NULL;
119749 l_adr_value_type_code := NULL;
119750 l_adr_value_combination_id := NULL;
119751 l_adr_value_segment_code := NULL;
119752
119753 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
119754 l_bflow_class_code := ''; -- 4219869 Business Flow
119755 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
119756 l_budgetary_control_flag := 'N';
119757
119758 l_bflow_applied_to_amt_idx := NULL; -- 5132302
119759 l_bflow_applied_to_amt := NULL; -- 5132302
119760 l_entered_amt_idx := NULL; -- 4262811
119761 l_accted_amt_idx := NULL; -- 4262811
119762 l_acc_rev_flag := NULL; -- 4262811
119763 l_accrual_line_num := NULL; -- 4262811
119764 l_tmp_amt := NULL; -- 4262811
119765 --
119766
119767 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
119768 l_balance_type_code <> 'B' THEN
119769 IF (NVL(p_source_28,'
119770 ') = 'NONREC_TAX' OR
119771 NVL(p_source_28,'
119772 ') = 'TERV' OR
119773 NVL(p_source_28,'
119774 ') = 'TIPV' OR
119775 NVL(p_source_28,'
119776 ') = 'TRV') AND
119777 NVL(p_source_54,'
119778 ') <> 'Y' AND
119779 NVL(p_source_145,'
119780 ') = 'Y'
119781 THEN
119782
119783 --
119784 XLA_AE_LINES_PKG.SetNewLine;
119785
119786 p_balance_type_code := l_balance_type_code;
119787 -- set the flag so later we will know whether the gain loss line needs to be created
119788
119789 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
119790 p_actual_flag :='A';
119791 END IF;
119792
119793 --
119794 -- bulk performance
119795 --
119796 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
119797 p_header_num => 0); -- 4262811
119798 --
119799 -- set accounting line options
119800 --
119801 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
119802 p_natural_side_code => 'D'
119803 , p_gain_or_loss_flag => 'N'
119804 , p_gl_transfer_mode_code => 'S'
119805 , p_acct_entry_type_code => 'A'
119806 , p_switch_side_flag => 'Y'
119807 , p_merge_duplicate_code => 'A'
119808 );
119809 --
119810 l_acc_rev_natural_side_code := 'C'; -- 4262811
119811 --
119812 --
119813 -- set accounting line type info
119814 --
119815 xla_ae_lines_pkg.SetAcctLineType
119816 (p_component_type => l_component_type
119817 ,p_event_type_code => l_event_type_code
119818 ,p_line_definition_owner_code => l_line_definition_owner_code
119819 ,p_line_definition_code => l_line_definition_code
119820 ,p_accounting_line_code => l_component_code
119821 ,p_accounting_line_type_code => l_component_type_code
119822 ,p_accounting_line_appl_id => l_component_appl_id
119823 ,p_amb_context_code => l_amb_context_code
119824 ,p_entity_code => l_entity_code
119825 ,p_event_class_code => l_event_class_code);
119826 --
119827 -- set accounting class
119828 --
119829 xla_ae_lines_pkg.SetAcctClass(
119830 p_accounting_class_code => 'SELF_ASSESSED_TAX'
119831 , p_ae_header_id => l_ae_header_id
119832 );
119833
119834 --
119835 -- set rounding class
119836 --
119837 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
119838 'SELF_ASSESSED_TAX';
119839
119840 --
119841 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
119842 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
119843 --
119844 -- bulk performance
119845 --
119846 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
119847
119848 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
119849 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
119850
119851 -- 4955764
119852 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
119853 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
119854
119855 -- 4458381 Public Sector Enh
119856
119857 --
119858 -- set accounting attributes for the line type
119859 --
119860 l_entered_amt_idx := 23;
119861 l_accted_amt_idx := 28;
119865 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
119862 l_bflow_applied_to_amt_idx := NULL; -- 5132302
119863 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
119864 l_rec_acct_attrs.array_char_value(1) := p_source_58;
119866 l_rec_acct_attrs.array_num_value(2) :=
119867 xla_ae_sources_pkg.GetSystemSourceNum(
119868 p_source_code => 'XLA_EVENT_APPL_ID'
119869 , p_source_type_code => 'Y'
119870 , p_source_application_id => 602
119871 );
119872 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
119873 l_rec_acct_attrs.array_char_value(3) := p_source_60;
119874 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
119875 l_rec_acct_attrs.array_char_value(4) :=
119876 xla_ae_sources_pkg.GetSystemSourceChar(
119877 p_source_code => 'XLA_ENTITY_CODE'
119878 , p_source_type_code => 'Y'
119879 , p_source_application_id => 602
119880 );
119881 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
119882 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_62);
119883 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
119884 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_63);
119885 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
119886 l_rec_acct_attrs.array_num_value(7) := p_source_96;
119887 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
119888 l_rec_acct_attrs.array_char_value(8) := p_source_97;
119889 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
119890 l_rec_acct_attrs.array_char_value(9) := p_source_98;
119891 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
119892 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_99);
119893 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
119894 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_100);
119895 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
119896 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_69);
119897 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
119898 l_rec_acct_attrs.array_char_value(13) := p_source_60;
119899 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
119900 l_rec_acct_attrs.array_num_value(14) := p_source_70;
119901 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
119902 l_rec_acct_attrs.array_num_value(15) := p_source_71;
119903 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
119904 l_rec_acct_attrs.array_char_value(16) := p_source_72;
119905 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
119906 l_rec_acct_attrs.array_num_value(17) := p_source_73;
119907 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
119908 l_rec_acct_attrs.array_num_value(18) := p_source_74;
119909 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
119910 l_rec_acct_attrs.array_num_value(19) := p_source_75;
119911 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
119912 l_rec_acct_attrs.array_char_value(20) := p_source_72;
119913 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
119914 l_rec_acct_attrs.array_num_value(21) := p_source_76;
119915 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
119916 l_rec_acct_attrs.array_char_value(22) := p_source_77;
119917 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
119918 l_rec_acct_attrs.array_num_value(23) := p_source_78;
119919 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
119920 l_rec_acct_attrs.array_char_value(24) := p_source_72;
119921 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
119922 l_rec_acct_attrs.array_date_value(25) := p_source_146;
119923 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
119924 l_rec_acct_attrs.array_num_value(26) := p_source_147;
119925 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
119926 l_rec_acct_attrs.array_char_value(27) := p_source_148;
119927 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
119928 l_rec_acct_attrs.array_num_value(28) := p_source_16;
119929 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
119930 l_rec_acct_attrs.array_date_value(29) := p_source_82;
119931 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
119932 l_rec_acct_attrs.array_char_value(30) := p_source_83;
119933 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
119934 l_rec_acct_attrs.array_date_value(31) := p_source_84;
119935 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
119936 l_rec_acct_attrs.array_char_value(32) := p_source_85;
119937 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
119938 l_rec_acct_attrs.array_num_value(33) := p_source_86;
119939 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
119940 l_rec_acct_attrs.array_num_value(34) := p_source_87;
119941 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
119942 l_rec_acct_attrs.array_char_value(35) := p_source_88;
119943 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
119944 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_89);
119945 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
119946 l_rec_acct_attrs.array_char_value(37) := p_source_60;
119947 l_rec_acct_attrs.array_acct_attr_code(38) := 'TAX_LINE_REF_ID';
119948 l_rec_acct_attrs.array_num_value(38) := p_source_91;
119952 l_rec_acct_attrs.array_num_value(40) := p_source_93;
119949 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_REC_NREC_DIST_REF_ID';
119950 l_rec_acct_attrs.array_num_value(39) := p_source_92;
119951 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_SUMMARY_LINE_REF_ID';
119953 l_rec_acct_attrs.array_acct_attr_code(41) := 'UPG_CR_ENC_TYPE_ID';
119954 l_rec_acct_attrs.array_num_value(41) := p_source_94;
119955 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_DR_ENC_TYPE_ID';
119956 l_rec_acct_attrs.array_num_value(42) := p_source_95;
119957
119958 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
119959 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
119960
119961 ---------------------------------------------------------------------------------------------------------------
119962 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
119963 ---------------------------------------------------------------------------------------------------------------
119964 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
119965
119966 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
119967 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
119968
119969 IF xla_accounting_cache_pkg.GetValueChar
119970 (p_source_code => 'LEDGER_CATEGORY_CODE'
119971 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
119972 AND l_bflow_method_code = 'PRIOR_ENTRY'
119973 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
119974 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
119975 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
119976 )
119977 THEN
119978 xla_ae_lines_pkg.BflowUpgEntry
119979 (p_business_method_code => l_bflow_method_code
119980 ,p_business_class_code => l_bflow_class_code
119981 ,p_balance_type => l_balance_type_code);
119982 ELSE
119983 NULL;
119984 -- No business flow processing for business flow method of NONE.
119985 END IF;
119986
119987 --
119988 -- call analytical criteria
119989 --
119990
119991 --
119992 -- call description
119993 --
119994
119995 xla_ae_lines_pkg.SetLineDescription(
119996 p_ae_header_id => l_ae_header_id
119997 ,p_description => Description_2 (
119998 p_application_id => p_application_id
119999 , p_ae_header_id => l_ae_header_id
120000 , p_source_1 => p_source_1
120001 )
120002 );
120003
120004
120005 --
120006 -- call ADRs
120007 -- Bug 4922099
120008 --
120009 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
120010 (NVL(l_actual_upg_option, 'N') = 'O') OR
120011 (NVL(l_enc_upg_option, 'N') = 'O')
120012 )
120013 THEN
120014 NULL;
120015 --
120016 --
120017
120018 l_ccid := AcctDerRule_44(
120019 p_application_id => p_application_id
120020 , p_ae_header_id => l_ae_header_id
120021 , p_source_46 => p_source_46
120022 , x_transaction_coa_id => l_adr_transaction_coa_id
120023 , x_accounting_coa_id => l_adr_accounting_coa_id
120024 , x_value_type_code => l_adr_value_type_code
120025 , p_side => 'NA'
120026 );
120027
120028 xla_ae_lines_pkg.set_ccid(
120029 p_code_combination_id => l_ccid
120030 , p_value_type_code => l_adr_value_type_code
120031 , p_transaction_coa_id => l_adr_transaction_coa_id
120032 , p_accounting_coa_id => l_adr_accounting_coa_id
120033 , p_adr_code => 'AP_SELF_ASSESSED_TAX'
120034 , p_adr_type_code => 'S'
120035 , p_component_type => l_component_type
120036 , p_component_code => l_component_code
120037 , p_component_type_code => l_component_type_code
120038 , p_component_appl_id => l_component_appl_id
120039 , p_amb_context_code => l_amb_context_code
120040 , p_side => 'NA'
120041 );
120042
120043
120044 --
120045 --
120046 END IF;
120047 --
120048 -- Bug 4922099
120049 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
120050 (NVL(l_enc_upg_option, 'N') = 'O')
120051 ) AND
120052 (l_bflow_method_code = 'PRIOR_ENTRY')
120053 )
120054 THEN
120055 IF
120056 --
120057 1 = 2
120058 --
120059 THEN
120060 xla_accounting_err_pkg.build_message
120061 (p_appli_s_name => 'XLA'
120062 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
120063 ,p_token_1 => 'LINE_NUMBER'
120064 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
120065 ,p_token_2 => 'LINE_TYPE_NAME'
120066 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
120067 l_component_type
120068 ,l_component_code
120069 ,l_component_type_code
120073 ,l_event_class_code
120070 ,l_component_appl_id
120071 ,l_amb_context_code
120072 ,l_entity_code
120074 )
120075 ,p_token_3 => 'OWNER'
120076 ,p_value_3 => xla_lookups_pkg.get_meaning(
120077 p_lookup_type => 'XLA_OWNER_TYPE'
120078 ,p_lookup_code => l_component_type_code
120079 )
120080 ,p_token_4 => 'PRODUCT_NAME'
120081 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
120082 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
120083 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
120084 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
120085 ,p_ae_header_id => NULL
120086 );
120087
120088 IF (C_LEVEL_ERROR>= g_log_level) THEN
120089 trace
120090 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
120091 ,p_level => C_LEVEL_ERROR
120092 ,p_module => l_log_module);
120093 END IF;
120094 END IF;
120095 END IF;
120096 --
120097 --
120098 ------------------------------------------------------------------------------------------------
120099 -- 4219869 Business Flow
120100 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
120101 -- Prior Entry. Currently, the following code is always generated.
120102 ------------------------------------------------------------------------------------------------
120103 XLA_AE_LINES_PKG.ValidateCurrentLine;
120104
120105 ------------------------------------------------------------------------------------
120106 -- 4219869 Business Flow
120107 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
120108 ------------------------------------------------------------------------------------
120109 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
120110
120111 ----------------------------------------------------------------------------------
120112 -- 4219869 Business Flow
120113 -- Update journal entry status -- Need to generate this within IF <condition>
120114 ----------------------------------------------------------------------------------
120115 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
120116 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
120117 ,p_balance_type_code => l_balance_type_code
120118 );
120119
120120 -------------------------------------------------------------------------------------------
120121 -- 4262811 - Generate the Accrual Reversal lines
120122 -------------------------------------------------------------------------------------------
120123 BEGIN
120124 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
120125 (g_array_event(p_event_id).array_value_num('header_index'));
120126 IF l_acc_rev_flag IS NULL THEN
120127 l_acc_rev_flag := 'N';
120128 END IF;
120129 EXCEPTION
120130 WHEN OTHERS THEN
120131 l_acc_rev_flag := 'N';
120132 END;
120133 --
120134 IF (l_acc_rev_flag = 'Y') THEN
120135
120136 -- 4645092 ------------------------------------------------------------------------------
120137 -- To allow MPA report to determine if it should generate report process
120138 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
120139 ------------------------------------------------------------------------------------------
120140
120141 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
120142 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
120143 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
120144 -- call ADRs
120145 -- Bug 4922099
120146 --
120147 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
120148 (NVL(l_actual_upg_option, 'N') = 'O') OR
120149 (NVL(l_enc_upg_option, 'N') = 'O')
120150 )
120151 THEN
120152 NULL;
120153 --
120154 --
120155
120156 l_ccid := AcctDerRule_44(
120157 p_application_id => p_application_id
120158 , p_ae_header_id => l_ae_header_id
120159 , p_source_46 => p_source_46
120160 , x_transaction_coa_id => l_adr_transaction_coa_id
120161 , x_accounting_coa_id => l_adr_accounting_coa_id
120162 , x_value_type_code => l_adr_value_type_code
120163 , p_side => 'NA'
120164 );
120165
120166 xla_ae_lines_pkg.set_ccid(
120167 p_code_combination_id => l_ccid
120171 , p_adr_code => 'AP_SELF_ASSESSED_TAX'
120168 , p_value_type_code => l_adr_value_type_code
120169 , p_transaction_coa_id => l_adr_transaction_coa_id
120170 , p_accounting_coa_id => l_adr_accounting_coa_id
120172 , p_adr_type_code => 'S'
120173 , p_component_type => l_component_type
120174 , p_component_code => l_component_code
120175 , p_component_type_code => l_component_type_code
120176 , p_component_appl_id => l_component_appl_id
120177 , p_amb_context_code => l_amb_context_code
120178 , p_side => 'NA'
120179 );
120180
120181
120182 --
120183 --
120184 END IF;
120185
120186 --
120187 -- Update the line information that should be overwritten
120188 --
120189 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
120190 p_header_num => 1);
120191 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
120192
120193 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
120194
120195 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
120196 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
120197 END IF;
120198
120199 --
120200 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
120201 --
120202 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
120203 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
120204 ELSE
120205 ---------------------------------------------------------------------------------------------------
120206 -- 4262811a Switch Sign
120207 ---------------------------------------------------------------------------------------------------
120208 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
120209 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
120210 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
120211 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
120212 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
120213 -- 5132302
120214 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
120215 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
120216
120217 END IF;
120218
120219 -- 4955764
120220 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
120221 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
120222
120223
120224 XLA_AE_LINES_PKG.ValidateCurrentLine;
120225 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
120226
120227 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
120228 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
120229 ,p_balance_type_code => l_balance_type_code);
120230
120231 END IF;
120232
120233 -----------------------------------------------------------------------------------------
120234 -- 4262811 Multiperiod Accounting
120235 -----------------------------------------------------------------------------------------
120236 -- No MPA option is assigned.
120237
120238
120239 END IF;
120240 END IF;
120241 --
120242
120243 --
120244 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
120245 trace
120246 (p_msg => 'END of AcctLineType_206'
120247 ,p_level => C_LEVEL_PROCEDURE
120248 ,p_module => l_log_module);
120249 END IF;
120250 --
120251 EXCEPTION
120252 WHEN xla_exceptions_pkg.application_exception THEN
120253 RAISE;
120254 WHEN OTHERS THEN
120255 xla_exceptions_pkg.raise_message
120256 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_206');
120257 END AcctLineType_206;
120258 --
120259
120260 ---------------------------------------
120261 --
120262 -- PRIVATE FUNCTION
120263 -- AcctLineType_207
120264 --
120265 ---------------------------------------
120266 PROCEDURE AcctLineType_207 (
120267 p_application_id IN NUMBER
120268 ,p_event_id IN NUMBER
120269 ,p_calculate_acctd_flag IN VARCHAR2
120270 ,p_calculate_g_l_flag IN VARCHAR2
120271 ,p_actual_flag IN OUT VARCHAR2
120272 ,p_balance_type_code OUT VARCHAR2
120273 ,p_gain_or_loss_ref OUT VARCHAR2
120274
120275 --Invoice Distribution Description
120276 , p_source_1 IN VARCHAR2
120277 --Invoice Distribution Ledger Amount
120278 , p_source_16 IN NUMBER
120279 --Invoice Distribution Type
120280 , p_source_28 IN VARCHAR2
120281 , p_source_28_meaning IN VARCHAR2
120282 --Self-Assessed Tax Account
120283 , p_source_46 IN NUMBER
120284 --Accrue on Receipt Option
120285 , p_source_54 IN VARCHAR2
120286 , p_source_54_meaning IN VARCHAR2
120287 --Accounting Reversal Indicator
120288 , p_source_58 IN VARCHAR2
120292 , p_source_62 IN NUMBER
120289 --Distribution Link Type
120290 , p_source_60 IN VARCHAR2
120291 --Allocation to Main Distribution Identifier
120293 --Invoice Identifier
120294 , p_source_63 IN NUMBER
120295 --Invoice Distribution Identifier
120296 , p_source_69 IN NUMBER
120297 --Payables Encumbrance Upgrade Credit Account
120298 , p_source_70 IN NUMBER
120299 --Payables Encumbrance Upgrade Credit Amount
120300 , p_source_71 IN NUMBER
120301 --Invoice Currency Code
120302 , p_source_72 IN VARCHAR2
120303 --Payables Encumbrance Upgrade Credit Base Amount
120304 , p_source_73 IN NUMBER
120305 --Payables Encumbrance Upgrade Debit Account
120306 , p_source_74 IN NUMBER
120307 --Payables Encumbrance Upgrade Debit Amount
120308 , p_source_75 IN NUMBER
120309 --Payables Encumbrance Upgrade Debit Base Amount
120310 , p_source_76 IN NUMBER
120311 --Payables Encumbrance Upgrade Option
120312 , p_source_77 IN VARCHAR2
120313 --Invoice Distribution Amount
120314 , p_source_78 IN NUMBER
120315 --Deferred Accounting End Date
120316 , p_source_82 IN DATE
120317 --Deferred Accounting Option
120318 , p_source_83 IN VARCHAR2
120319 --Deferred Accounting Start Date
120320 , p_source_84 IN DATE
120321 --Override Accounted Amount Indicator
120322 , p_source_85 IN VARCHAR2
120323 , p_source_85_meaning IN VARCHAR2
120324 --Invoice Supplier Identifier
120325 , p_source_86 IN NUMBER
120326 --Invoice Supplier Site Identifier
120327 , p_source_87 IN NUMBER
120328 --Third Party Type
120329 , p_source_88 IN VARCHAR2
120330 --Parent Reversal Identifier
120331 , p_source_89 IN NUMBER
120332 --Invoice Distribution Statistical Amount
120333 , p_source_90 IN NUMBER
120334 --Invoice Distribution Tax Line Identifier
120335 , p_source_91 IN NUMBER
120336 --Invoice Distribution Tax Distribution Identifier from Tax
120337 , p_source_92 IN NUMBER
120338 --Invoice Distribution Summary Tax Line Identifier
120339 , p_source_93 IN NUMBER
120340 --Payables Upgrade Credit Encumbrance Type Identifier
120341 , p_source_94 IN NUMBER
120342 --Payables Upgrade Debit Encumbrance Type Identifier
120343 , p_source_95 IN NUMBER
120344 --Business Flow Accounts Payable Application Identifier
120345 , p_source_96 IN NUMBER
120346 --Business Flow Invoice Distribution Type
120347 , p_source_97 IN VARCHAR2
120348 --Business Flow Invoice Entity Code
120349 , p_source_98 IN VARCHAR2
120350 --Business Flow Invoice Distribution Identifier
120351 , p_source_99 IN NUMBER
120352 --Business Flow Invoice Identifier
120353 , p_source_100 IN NUMBER
120354 --Self-Assessed Tax Flag
120355 , p_source_145 IN VARCHAR2
120356 , p_source_145_meaning IN VARCHAR2
120357 --Invoice Exchange Date
120358 , p_source_146 IN DATE
120359 --Invoice Exchange Rate
120360 , p_source_147 IN NUMBER
120361 --Invoice Exchange Rate Type
120362 , p_source_148 IN VARCHAR2
120363 )
120364 IS
120365
120366 l_component_type VARCHAR2(80);
120367 l_component_code VARCHAR2(30);
120368 l_component_type_code VARCHAR2(1);
120369 l_component_appl_id INTEGER;
120370 l_amb_context_code VARCHAR2(30);
120371 l_entity_code VARCHAR2(30);
120372 l_event_class_code VARCHAR2(30);
120373 l_ae_header_id NUMBER;
120374 l_event_type_code VARCHAR2(30);
120375 l_line_definition_code VARCHAR2(30);
120376 l_line_definition_owner_code VARCHAR2(1);
120377 --
120378 -- adr variables
120379 l_segment VARCHAR2(30);
120380 l_ccid NUMBER;
120381 l_adr_transaction_coa_id NUMBER;
120382 l_adr_accounting_coa_id NUMBER;
120383 l_adr_flexfield_segment_code VARCHAR2(30);
120384 l_adr_flex_value_set_id NUMBER;
120385 l_adr_value_type_code VARCHAR2(30);
120386 l_adr_value_combination_id NUMBER;
120387 l_adr_value_segment_code VARCHAR2(30);
120388
120389 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
120390 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
120391 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
120392 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
120393
120394 -- 4262811 Variables ------------------------------------------------------------------------------------------
120395 l_entered_amt_idx NUMBER;
120396 l_accted_amt_idx NUMBER;
120397 l_acc_rev_flag VARCHAR2(1);
120398 l_accrual_line_num NUMBER;
120399 l_tmp_amt NUMBER;
120400 l_acc_rev_natural_side_code VARCHAR2(1);
120401
120402 l_num_entries NUMBER;
120403 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
120404 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
120405 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
120406 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
120407 l_recog_line_1 NUMBER;
120408 l_recog_line_2 NUMBER;
120409
120410 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
120411 l_bflow_applied_to_amt NUMBER; -- 5132302
120415
120412 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
120413
120414 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
120416 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
120417 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
120418
120419 ---------------------------------------------------------------------------------------------------------------
120420
120421
120422 --
120423 -- bulk performance
120424 --
120425 l_balance_type_code VARCHAR2(1);
120426 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
120427 l_log_module VARCHAR2(240);
120428
120429 --
120430 -- Upgrade strategy
120431 --
120432 l_actual_upg_option VARCHAR2(1);
120433 l_enc_upg_option VARCHAR2(1);
120434
120435 --
120436 BEGIN
120437 --
120438 IF g_log_enabled THEN
120439 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_207';
120440 END IF;
120441 --
120442 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
120443
120444 trace
120445 (p_msg => 'BEGIN of AcctLineType_207'
120446 ,p_level => C_LEVEL_PROCEDURE
120447 ,p_module => l_log_module);
120448
120449 END IF;
120450 --
120451 l_component_type := 'AMB_JLT';
120452 l_component_code := 'AP_SELF_ASSESSED_NON_REC_INV';
120453 l_component_type_code := 'S';
120454 l_component_appl_id := 200;
120455 l_amb_context_code := 'DEFAULT';
120456 l_entity_code := 'AP_INVOICES';
120457 l_event_class_code := 'INVOICES';
120458 l_event_type_code := 'INVOICES_ALL';
120459 l_line_definition_owner_code := 'S';
120460 l_line_definition_code := 'ACCRUAL_INVOICES_ALL';
120461 --
120462 l_balance_type_code := 'A';
120463 l_segment := NULL;
120464 l_ccid := NULL;
120465 l_adr_transaction_coa_id := NULL;
120466 l_adr_accounting_coa_id := NULL;
120467 l_adr_flexfield_segment_code := NULL;
120468 l_adr_flex_value_set_id := NULL;
120469 l_adr_value_type_code := NULL;
120470 l_adr_value_combination_id := NULL;
120471 l_adr_value_segment_code := NULL;
120472
120473 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
120474 l_bflow_class_code := ''; -- 4219869 Business Flow
120475 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
120476 l_budgetary_control_flag := 'N';
120477
120478 l_bflow_applied_to_amt_idx := NULL; -- 5132302
120479 l_bflow_applied_to_amt := NULL; -- 5132302
120480 l_entered_amt_idx := NULL; -- 4262811
120481 l_accted_amt_idx := NULL; -- 4262811
120482 l_acc_rev_flag := NULL; -- 4262811
120483 l_accrual_line_num := NULL; -- 4262811
120484 l_tmp_amt := NULL; -- 4262811
120485 --
120486
120487 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
120488 l_balance_type_code <> 'B' THEN
120489 IF (NVL(p_source_28,'
120490 ') = 'NONREC_TAX' OR
120491 NVL(p_source_28,'
120492 ') = 'TERV' OR
120493 NVL(p_source_28,'
120494 ') = 'TIPV' OR
120495 NVL(p_source_28,'
120496 ') = 'TRV') AND
120497 NVL(p_source_54,'
120498 ') <> 'Y' AND
120499 NVL(p_source_145,'
120500 ') = 'Y'
120501 THEN
120502
120503 --
120504 XLA_AE_LINES_PKG.SetNewLine;
120505
120506 p_balance_type_code := l_balance_type_code;
120507 -- set the flag so later we will know whether the gain loss line needs to be created
120508
120509 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
120510 p_actual_flag :='A';
120511 END IF;
120512
120513 --
120514 -- bulk performance
120515 --
120516 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
120517 p_header_num => 0); -- 4262811
120518 --
120519 -- set accounting line options
120520 --
120521 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
120522 p_natural_side_code => 'D'
120523 , p_gain_or_loss_flag => 'N'
120524 , p_gl_transfer_mode_code => 'S'
120525 , p_acct_entry_type_code => 'A'
120526 , p_switch_side_flag => 'Y'
120527 , p_merge_duplicate_code => 'A'
120528 );
120529 --
120530 l_acc_rev_natural_side_code := 'C'; -- 4262811
120531 --
120532 --
120533 -- set accounting line type info
120534 --
120535 xla_ae_lines_pkg.SetAcctLineType
120536 (p_component_type => l_component_type
120537 ,p_event_type_code => l_event_type_code
120538 ,p_line_definition_owner_code => l_line_definition_owner_code
120539 ,p_line_definition_code => l_line_definition_code
120540 ,p_accounting_line_code => l_component_code
120541 ,p_accounting_line_type_code => l_component_type_code
120542 ,p_accounting_line_appl_id => l_component_appl_id
120543 ,p_amb_context_code => l_amb_context_code
120544 ,p_entity_code => l_entity_code
120545 ,p_event_class_code => l_event_class_code);
120546 --
120547 -- set accounting class
120548 --
120549 xla_ae_lines_pkg.SetAcctClass(
120550 p_accounting_class_code => 'SELF_ASSESSED_TAX'
120554 --
120551 , p_ae_header_id => l_ae_header_id
120552 );
120553
120555 -- set rounding class
120556 --
120557 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
120558 'SELF_ASSESSED_TAX';
120559
120560 --
120561 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
120562 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
120563 --
120564 -- bulk performance
120565 --
120566 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
120567
120568 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
120569 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
120570
120571 -- 4955764
120572 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
120573 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
120574
120575 -- 4458381 Public Sector Enh
120576
120577 --
120578 -- set accounting attributes for the line type
120579 --
120580 l_entered_amt_idx := 24;
120581 l_accted_amt_idx := 29;
120582 l_bflow_applied_to_amt_idx := 7; -- 5132302
120583 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
120584 l_rec_acct_attrs.array_char_value(1) := p_source_58;
120585 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
120586 l_rec_acct_attrs.array_num_value(2) :=
120587 xla_ae_sources_pkg.GetSystemSourceNum(
120588 p_source_code => 'XLA_EVENT_APPL_ID'
120589 , p_source_type_code => 'Y'
120590 , p_source_application_id => 602
120591 );
120592 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
120593 l_rec_acct_attrs.array_char_value(3) := p_source_60;
120594 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
120595 l_rec_acct_attrs.array_char_value(4) :=
120596 xla_ae_sources_pkg.GetSystemSourceChar(
120597 p_source_code => 'XLA_ENTITY_CODE'
120598 , p_source_type_code => 'Y'
120599 , p_source_application_id => 602
120600 );
120601 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
120602 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_62);
120603 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
120604 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_63);
120605 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
120606 l_rec_acct_attrs.array_num_value(7) := p_source_78;
120607 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
120608 l_rec_acct_attrs.array_num_value(8) := p_source_96;
120609 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
120610 l_rec_acct_attrs.array_char_value(9) := p_source_97;
120611 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
120612 l_rec_acct_attrs.array_char_value(10) := p_source_98;
120613 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
120614 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_99);
120615 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
120616 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_100);
120617 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
120618 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_69);
120619 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
120620 l_rec_acct_attrs.array_char_value(14) := p_source_60;
120621 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
120622 l_rec_acct_attrs.array_num_value(15) := p_source_70;
120623 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
120624 l_rec_acct_attrs.array_num_value(16) := p_source_71;
120625 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
120626 l_rec_acct_attrs.array_char_value(17) := p_source_72;
120627 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
120628 l_rec_acct_attrs.array_num_value(18) := p_source_73;
120629 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
120630 l_rec_acct_attrs.array_num_value(19) := p_source_74;
120631 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
120632 l_rec_acct_attrs.array_num_value(20) := p_source_75;
120633 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
120634 l_rec_acct_attrs.array_char_value(21) := p_source_72;
120635 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
120636 l_rec_acct_attrs.array_num_value(22) := p_source_76;
120637 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
120638 l_rec_acct_attrs.array_char_value(23) := p_source_77;
120639 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_AMOUNT';
120640 l_rec_acct_attrs.array_num_value(24) := p_source_78;
120641 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_CODE';
120642 l_rec_acct_attrs.array_char_value(25) := p_source_72;
120643 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_DATE';
120644 l_rec_acct_attrs.array_date_value(26) := p_source_146;
120645 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE';
120646 l_rec_acct_attrs.array_num_value(27) := p_source_147;
120647 l_rec_acct_attrs.array_acct_attr_code(28) := 'EXCHANGE_RATE_TYPE';
120648 l_rec_acct_attrs.array_char_value(28) := p_source_148;
120652 l_rec_acct_attrs.array_date_value(30) := p_source_82;
120649 l_rec_acct_attrs.array_acct_attr_code(29) := 'LEDGER_AMOUNT';
120650 l_rec_acct_attrs.array_num_value(29) := p_source_16;
120651 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_END_DATE';
120653 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_OPTION';
120654 l_rec_acct_attrs.array_char_value(31) := p_source_83;
120655 l_rec_acct_attrs.array_acct_attr_code(32) := 'MULTIPERIOD_START_DATE';
120656 l_rec_acct_attrs.array_date_value(32) := p_source_84;
120657 l_rec_acct_attrs.array_acct_attr_code(33) := 'OVERRIDE_ACCTD_AMT_FLAG';
120658 l_rec_acct_attrs.array_char_value(33) := p_source_85;
120659 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_ID';
120660 l_rec_acct_attrs.array_num_value(34) := p_source_86;
120661 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_SITE_ID';
120662 l_rec_acct_attrs.array_num_value(35) := p_source_87;
120663 l_rec_acct_attrs.array_acct_attr_code(36) := 'PARTY_TYPE';
120664 l_rec_acct_attrs.array_char_value(36) := p_source_88;
120665 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_ID1';
120666 l_rec_acct_attrs.array_num_value(37) := to_char(p_source_89);
120667 l_rec_acct_attrs.array_acct_attr_code(38) := 'REVERSED_DISTRIBUTION_TYPE';
120668 l_rec_acct_attrs.array_char_value(38) := p_source_60;
120669 l_rec_acct_attrs.array_acct_attr_code(39) := 'STATISTICAL_AMOUNT';
120670 l_rec_acct_attrs.array_num_value(39) := p_source_90;
120671 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_LINE_REF_ID';
120672 l_rec_acct_attrs.array_num_value(40) := p_source_91;
120673 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_REC_NREC_DIST_REF_ID';
120674 l_rec_acct_attrs.array_num_value(41) := p_source_92;
120675 l_rec_acct_attrs.array_acct_attr_code(42) := 'TAX_SUMMARY_LINE_REF_ID';
120676 l_rec_acct_attrs.array_num_value(42) := p_source_93;
120677 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_CR_ENC_TYPE_ID';
120678 l_rec_acct_attrs.array_num_value(43) := p_source_94;
120679 l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
120680 l_rec_acct_attrs.array_num_value(44) := p_source_95;
120681
120682 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
120683 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
120684
120685 ---------------------------------------------------------------------------------------------------------------
120686 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
120687 ---------------------------------------------------------------------------------------------------------------
120688 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
120689
120690 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
120691 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
120692
120693 IF xla_accounting_cache_pkg.GetValueChar
120694 (p_source_code => 'LEDGER_CATEGORY_CODE'
120695 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
120696 AND l_bflow_method_code = 'PRIOR_ENTRY'
120697 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
120698 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
120699 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
120700 )
120701 THEN
120702 xla_ae_lines_pkg.BflowUpgEntry
120703 (p_business_method_code => l_bflow_method_code
120704 ,p_business_class_code => l_bflow_class_code
120705 ,p_balance_type => l_balance_type_code);
120706 ELSE
120707 NULL;
120708 -- No business flow processing for business flow method of NONE.
120709 END IF;
120710
120711 --
120712 -- call analytical criteria
120713 --
120714
120715 --
120716 -- call description
120717 --
120718
120719 xla_ae_lines_pkg.SetLineDescription(
120720 p_ae_header_id => l_ae_header_id
120721 ,p_description => Description_2 (
120722 p_application_id => p_application_id
120723 , p_ae_header_id => l_ae_header_id
120724 , p_source_1 => p_source_1
120725 )
120726 );
120727
120728
120729 --
120730 -- call ADRs
120731 -- Bug 4922099
120732 --
120733 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
120734 (NVL(l_actual_upg_option, 'N') = 'O') OR
120735 (NVL(l_enc_upg_option, 'N') = 'O')
120736 )
120737 THEN
120738 NULL;
120739 --
120740 --
120741
120742 l_ccid := AcctDerRule_44(
120743 p_application_id => p_application_id
120744 , p_ae_header_id => l_ae_header_id
120745 , p_source_46 => p_source_46
120746 , x_transaction_coa_id => l_adr_transaction_coa_id
120747 , x_accounting_coa_id => l_adr_accounting_coa_id
120748 , x_value_type_code => l_adr_value_type_code
120749 , p_side => 'NA'
120750 );
120751
120752 xla_ae_lines_pkg.set_ccid(
120753 p_code_combination_id => l_ccid
120754 , p_value_type_code => l_adr_value_type_code
120755 , p_transaction_coa_id => l_adr_transaction_coa_id
120756 , p_accounting_coa_id => l_adr_accounting_coa_id
120757 , p_adr_code => 'AP_SELF_ASSESSED_TAX'
120758 , p_adr_type_code => 'S'
120762 , p_component_appl_id => l_component_appl_id
120759 , p_component_type => l_component_type
120760 , p_component_code => l_component_code
120761 , p_component_type_code => l_component_type_code
120763 , p_amb_context_code => l_amb_context_code
120764 , p_side => 'NA'
120765 );
120766
120767
120768 --
120769 --
120770 END IF;
120771 --
120772 -- Bug 4922099
120773 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
120774 (NVL(l_enc_upg_option, 'N') = 'O')
120775 ) AND
120776 (l_bflow_method_code = 'PRIOR_ENTRY')
120777 )
120778 THEN
120779 IF
120780 --
120781 1 = 2
120782 --
120783 THEN
120784 xla_accounting_err_pkg.build_message
120785 (p_appli_s_name => 'XLA'
120786 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
120787 ,p_token_1 => 'LINE_NUMBER'
120788 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
120789 ,p_token_2 => 'LINE_TYPE_NAME'
120790 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
120791 l_component_type
120792 ,l_component_code
120793 ,l_component_type_code
120794 ,l_component_appl_id
120795 ,l_amb_context_code
120796 ,l_entity_code
120797 ,l_event_class_code
120798 )
120799 ,p_token_3 => 'OWNER'
120800 ,p_value_3 => xla_lookups_pkg.get_meaning(
120801 p_lookup_type => 'XLA_OWNER_TYPE'
120802 ,p_lookup_code => l_component_type_code
120803 )
120804 ,p_token_4 => 'PRODUCT_NAME'
120805 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
120806 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
120807 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
120808 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
120809 ,p_ae_header_id => NULL
120810 );
120811
120812 IF (C_LEVEL_ERROR>= g_log_level) THEN
120813 trace
120814 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
120815 ,p_level => C_LEVEL_ERROR
120816 ,p_module => l_log_module);
120817 END IF;
120818 END IF;
120819 END IF;
120820 --
120821 --
120822 ------------------------------------------------------------------------------------------------
120823 -- 4219869 Business Flow
120824 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
120825 -- Prior Entry. Currently, the following code is always generated.
120826 ------------------------------------------------------------------------------------------------
120827 XLA_AE_LINES_PKG.ValidateCurrentLine;
120828
120829 ------------------------------------------------------------------------------------
120830 -- 4219869 Business Flow
120831 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
120832 ------------------------------------------------------------------------------------
120833 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
120834
120835 ----------------------------------------------------------------------------------
120836 -- 4219869 Business Flow
120837 -- Update journal entry status -- Need to generate this within IF <condition>
120838 ----------------------------------------------------------------------------------
120839 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
120840 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
120841 ,p_balance_type_code => l_balance_type_code
120842 );
120843
120844 -------------------------------------------------------------------------------------------
120845 -- 4262811 - Generate the Accrual Reversal lines
120846 -------------------------------------------------------------------------------------------
120847 BEGIN
120848 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
120849 (g_array_event(p_event_id).array_value_num('header_index'));
120850 IF l_acc_rev_flag IS NULL THEN
120851 l_acc_rev_flag := 'N';
120852 END IF;
120853 EXCEPTION
120854 WHEN OTHERS THEN
120855 l_acc_rev_flag := 'N';
120856 END;
120857 --
120858 IF (l_acc_rev_flag = 'Y') THEN
120859
120863 ------------------------------------------------------------------------------------------
120860 -- 4645092 ------------------------------------------------------------------------------
120861 -- To allow MPA report to determine if it should generate report process
120862 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
120864
120865 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
120866 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
120867 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
120868 -- call ADRs
120869 -- Bug 4922099
120870 --
120871 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
120872 (NVL(l_actual_upg_option, 'N') = 'O') OR
120873 (NVL(l_enc_upg_option, 'N') = 'O')
120874 )
120875 THEN
120876 NULL;
120877 --
120878 --
120879
120880 l_ccid := AcctDerRule_44(
120881 p_application_id => p_application_id
120882 , p_ae_header_id => l_ae_header_id
120883 , p_source_46 => p_source_46
120884 , x_transaction_coa_id => l_adr_transaction_coa_id
120885 , x_accounting_coa_id => l_adr_accounting_coa_id
120886 , x_value_type_code => l_adr_value_type_code
120887 , p_side => 'NA'
120888 );
120889
120890 xla_ae_lines_pkg.set_ccid(
120891 p_code_combination_id => l_ccid
120892 , p_value_type_code => l_adr_value_type_code
120893 , p_transaction_coa_id => l_adr_transaction_coa_id
120894 , p_accounting_coa_id => l_adr_accounting_coa_id
120895 , p_adr_code => 'AP_SELF_ASSESSED_TAX'
120896 , p_adr_type_code => 'S'
120897 , p_component_type => l_component_type
120898 , p_component_code => l_component_code
120899 , p_component_type_code => l_component_type_code
120900 , p_component_appl_id => l_component_appl_id
120901 , p_amb_context_code => l_amb_context_code
120902 , p_side => 'NA'
120903 );
120904
120905
120906 --
120907 --
120908 END IF;
120909
120910 --
120911 -- Update the line information that should be overwritten
120912 --
120913 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
120914 p_header_num => 1);
120915 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
120916
120917 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
120918
120919 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
120920 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
120921 END IF;
120922
120923 --
120924 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
120925 --
120926 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
120927 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
120928 ELSE
120929 ---------------------------------------------------------------------------------------------------
120930 -- 4262811a Switch Sign
120931 ---------------------------------------------------------------------------------------------------
120932 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
120933 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
120934 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
120935 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
120936 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
120937 -- 5132302
120938 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
120939 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
120940
120941 END IF;
120942
120943 -- 4955764
120944 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
120945 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
120946
120947
120948 XLA_AE_LINES_PKG.ValidateCurrentLine;
120949 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
120950
120951 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
120952 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
120953 ,p_balance_type_code => l_balance_type_code);
120954
120955 END IF;
120956
120957 -----------------------------------------------------------------------------------------
120958 -- 4262811 Multiperiod Accounting
120959 -----------------------------------------------------------------------------------------
120960 -- No MPA option is assigned.
120961
120962
120963 END IF;
120964 END IF;
120965 --
120966
120967 --
120968 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
120969 trace
120970 (p_msg => 'END of AcctLineType_207'
120971 ,p_level => C_LEVEL_PROCEDURE
120972 ,p_module => l_log_module);
120976 WHEN xla_exceptions_pkg.application_exception THEN
120973 END IF;
120974 --
120975 EXCEPTION
120977 RAISE;
120978 WHEN OTHERS THEN
120979 xla_exceptions_pkg.raise_message
120980 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_207');
120981 END AcctLineType_207;
120982 --
120983
120984 ---------------------------------------
120985 --
120986 -- PRIVATE FUNCTION
120987 -- AcctLineType_208
120988 --
120989 ---------------------------------------
120990 PROCEDURE AcctLineType_208 (
120991 p_application_id IN NUMBER
120992 ,p_event_id IN NUMBER
120993 ,p_calculate_acctd_flag IN VARCHAR2
120994 ,p_calculate_g_l_flag IN VARCHAR2
120995 ,p_actual_flag IN OUT VARCHAR2
120996 ,p_balance_type_code OUT VARCHAR2
120997 ,p_gain_or_loss_ref OUT VARCHAR2
120998
120999 --Invoice Distribution Description
121000 , p_source_1 IN VARCHAR2
121001 --Invoice Distribution Ledger Amount
121002 , p_source_16 IN NUMBER
121003 --Invoice Distribution Type
121004 , p_source_28 IN VARCHAR2
121005 , p_source_28_meaning IN VARCHAR2
121006 --Self-Assessed Tax Account
121007 , p_source_46 IN NUMBER
121008 --Accounting Reversal Indicator
121009 , p_source_58 IN VARCHAR2
121010 --Distribution Link Type
121011 , p_source_60 IN VARCHAR2
121012 --Allocation to Main Distribution Identifier
121013 , p_source_62 IN NUMBER
121014 --Invoice Identifier
121015 , p_source_63 IN NUMBER
121016 --Invoice Distribution Identifier
121017 , p_source_69 IN NUMBER
121018 --Payables Encumbrance Upgrade Credit Account
121019 , p_source_70 IN NUMBER
121020 --Payables Encumbrance Upgrade Credit Amount
121021 , p_source_71 IN NUMBER
121022 --Invoice Currency Code
121023 , p_source_72 IN VARCHAR2
121024 --Payables Encumbrance Upgrade Credit Base Amount
121025 , p_source_73 IN NUMBER
121026 --Payables Encumbrance Upgrade Debit Account
121027 , p_source_74 IN NUMBER
121028 --Payables Encumbrance Upgrade Debit Amount
121029 , p_source_75 IN NUMBER
121030 --Payables Encumbrance Upgrade Debit Base Amount
121031 , p_source_76 IN NUMBER
121032 --Payables Encumbrance Upgrade Option
121033 , p_source_77 IN VARCHAR2
121034 --Invoice Distribution Amount
121035 , p_source_78 IN NUMBER
121036 --Deferred Accounting End Date
121037 , p_source_82 IN DATE
121038 --Deferred Accounting Option
121039 , p_source_83 IN VARCHAR2
121040 --Deferred Accounting Start Date
121041 , p_source_84 IN DATE
121042 --Override Accounted Amount Indicator
121043 , p_source_85 IN VARCHAR2
121044 , p_source_85_meaning IN VARCHAR2
121045 --Invoice Supplier Identifier
121046 , p_source_86 IN NUMBER
121047 --Invoice Supplier Site Identifier
121048 , p_source_87 IN NUMBER
121049 --Third Party Type
121050 , p_source_88 IN VARCHAR2
121051 --Parent Reversal Identifier
121052 , p_source_89 IN NUMBER
121053 --Invoice Distribution Statistical Amount
121054 , p_source_90 IN NUMBER
121055 --Invoice Distribution Tax Line Identifier
121056 , p_source_91 IN NUMBER
121057 --Invoice Distribution Tax Distribution Identifier from Tax
121058 , p_source_92 IN NUMBER
121059 --Invoice Distribution Summary Tax Line Identifier
121060 , p_source_93 IN NUMBER
121061 --Payables Upgrade Credit Encumbrance Type Identifier
121062 , p_source_94 IN NUMBER
121063 --Payables Upgrade Debit Encumbrance Type Identifier
121064 , p_source_95 IN NUMBER
121065 --Business Flow Accounts Payable Application Identifier
121066 , p_source_96 IN NUMBER
121067 --Business Flow Invoice Distribution Type
121068 , p_source_97 IN VARCHAR2
121069 --Business Flow Invoice Entity Code
121070 , p_source_98 IN VARCHAR2
121071 --Business Flow Invoice Distribution Identifier
121072 , p_source_99 IN NUMBER
121073 --Business Flow Invoice Identifier
121074 , p_source_100 IN NUMBER
121075 --Self-Assessed Tax Flag
121076 , p_source_145 IN VARCHAR2
121077 , p_source_145_meaning IN VARCHAR2
121078 --Invoice Exchange Date
121079 , p_source_146 IN DATE
121080 --Invoice Exchange Rate
121081 , p_source_147 IN NUMBER
121082 --Invoice Exchange Rate Type
121083 , p_source_148 IN VARCHAR2
121084 )
121085 IS
121086
121087 l_component_type VARCHAR2(80);
121088 l_component_code VARCHAR2(30);
121089 l_component_type_code VARCHAR2(1);
121090 l_component_appl_id INTEGER;
121091 l_amb_context_code VARCHAR2(30);
121092 l_entity_code VARCHAR2(30);
121093 l_event_class_code VARCHAR2(30);
121094 l_ae_header_id NUMBER;
121095 l_event_type_code VARCHAR2(30);
121096 l_line_definition_code VARCHAR2(30);
121097 l_line_definition_owner_code VARCHAR2(1);
121098 --
121099 -- adr variables
121100 l_segment VARCHAR2(30);
121101 l_ccid NUMBER;
121102 l_adr_transaction_coa_id NUMBER;
121103 l_adr_accounting_coa_id NUMBER;
121104 l_adr_flexfield_segment_code VARCHAR2(30);
121105 l_adr_flex_value_set_id NUMBER;
121106 l_adr_value_type_code VARCHAR2(30);
121107 l_adr_value_combination_id NUMBER;
121111 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
121108 l_adr_value_segment_code VARCHAR2(30);
121109
121110 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
121112 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
121113 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
121114
121115 -- 4262811 Variables ------------------------------------------------------------------------------------------
121116 l_entered_amt_idx NUMBER;
121117 l_accted_amt_idx NUMBER;
121118 l_acc_rev_flag VARCHAR2(1);
121119 l_accrual_line_num NUMBER;
121120 l_tmp_amt NUMBER;
121121 l_acc_rev_natural_side_code VARCHAR2(1);
121122
121123 l_num_entries NUMBER;
121124 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
121125 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
121126 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
121127 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
121128 l_recog_line_1 NUMBER;
121129 l_recog_line_2 NUMBER;
121130
121131 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
121132 l_bflow_applied_to_amt NUMBER; -- 5132302
121133 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
121134
121135 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
121136
121137 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
121138 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
121139
121140 ---------------------------------------------------------------------------------------------------------------
121141
121142
121143 --
121144 -- bulk performance
121145 --
121146 l_balance_type_code VARCHAR2(1);
121147 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
121148 l_log_module VARCHAR2(240);
121149
121150 --
121151 -- Upgrade strategy
121152 --
121153 l_actual_upg_option VARCHAR2(1);
121154 l_enc_upg_option VARCHAR2(1);
121155
121156 --
121157 BEGIN
121158 --
121159 IF g_log_enabled THEN
121160 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_208';
121161 END IF;
121162 --
121163 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
121164
121165 trace
121166 (p_msg => 'BEGIN of AcctLineType_208'
121167 ,p_level => C_LEVEL_PROCEDURE
121168 ,p_module => l_log_module);
121169
121170 END IF;
121171 --
121172 l_component_type := 'AMB_JLT';
121173 l_component_code := 'AP_SELF_ASSESSED_RECTAX_PREPAY';
121174 l_component_type_code := 'S';
121175 l_component_appl_id := 200;
121176 l_amb_context_code := 'DEFAULT';
121177 l_entity_code := 'AP_INVOICES';
121178 l_event_class_code := 'PREPAYMENTS';
121179 l_event_type_code := 'PREPAYMENTS_ALL';
121180 l_line_definition_owner_code := 'S';
121181 l_line_definition_code := 'ACCRUAL_PREPAYMENTS_ALL';
121182 --
121183 l_balance_type_code := 'A';
121184 l_segment := NULL;
121185 l_ccid := NULL;
121186 l_adr_transaction_coa_id := NULL;
121187 l_adr_accounting_coa_id := NULL;
121188 l_adr_flexfield_segment_code := NULL;
121189 l_adr_flex_value_set_id := NULL;
121190 l_adr_value_type_code := NULL;
121191 l_adr_value_combination_id := NULL;
121192 l_adr_value_segment_code := NULL;
121193
121194 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
121195 l_bflow_class_code := ''; -- 4219869 Business Flow
121196 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
121197 l_budgetary_control_flag := 'N';
121198
121199 l_bflow_applied_to_amt_idx := NULL; -- 5132302
121200 l_bflow_applied_to_amt := NULL; -- 5132302
121201 l_entered_amt_idx := NULL; -- 4262811
121202 l_accted_amt_idx := NULL; -- 4262811
121203 l_acc_rev_flag := NULL; -- 4262811
121204 l_accrual_line_num := NULL; -- 4262811
121205 l_tmp_amt := NULL; -- 4262811
121206 --
121207
121208 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
121209 l_balance_type_code <> 'B' THEN
121210 IF NVL(p_source_28,'
121211 ') = 'REC_TAX' AND
121212 NVL(p_source_145,'
121213 ') = 'Y'
121214 THEN
121215
121216 --
121217 XLA_AE_LINES_PKG.SetNewLine;
121218
121219 p_balance_type_code := l_balance_type_code;
121220 -- set the flag so later we will know whether the gain loss line needs to be created
121221
121222 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
121223 p_actual_flag :='A';
121224 END IF;
121225
121226 --
121227 -- bulk performance
121228 --
121229 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
121230 p_header_num => 0); -- 4262811
121231 --
121232 -- set accounting line options
121233 --
121234 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
121235 p_natural_side_code => 'D'
121236 , p_gain_or_loss_flag => 'N'
121237 , p_gl_transfer_mode_code => 'S'
121241 );
121238 , p_acct_entry_type_code => 'A'
121239 , p_switch_side_flag => 'Y'
121240 , p_merge_duplicate_code => 'A'
121242 --
121243 l_acc_rev_natural_side_code := 'C'; -- 4262811
121244 --
121245 --
121246 -- set accounting line type info
121247 --
121248 xla_ae_lines_pkg.SetAcctLineType
121249 (p_component_type => l_component_type
121250 ,p_event_type_code => l_event_type_code
121251 ,p_line_definition_owner_code => l_line_definition_owner_code
121252 ,p_line_definition_code => l_line_definition_code
121253 ,p_accounting_line_code => l_component_code
121254 ,p_accounting_line_type_code => l_component_type_code
121255 ,p_accounting_line_appl_id => l_component_appl_id
121256 ,p_amb_context_code => l_amb_context_code
121257 ,p_entity_code => l_entity_code
121258 ,p_event_class_code => l_event_class_code);
121259 --
121260 -- set accounting class
121261 --
121262 xla_ae_lines_pkg.SetAcctClass(
121263 p_accounting_class_code => 'SELF_ASSESSED_TAX'
121264 , p_ae_header_id => l_ae_header_id
121265 );
121266
121267 --
121268 -- set rounding class
121269 --
121270 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
121271 'SELF_ASSESSED_TAX';
121272
121273 --
121274 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
121275 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
121276 --
121277 -- bulk performance
121278 --
121279 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
121280
121281 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
121282 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
121283
121284 -- 4955764
121285 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
121286 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
121287
121288 -- 4458381 Public Sector Enh
121289
121290 --
121291 -- set accounting attributes for the line type
121292 --
121293 l_entered_amt_idx := 23;
121294 l_accted_amt_idx := 28;
121295 l_bflow_applied_to_amt_idx := NULL; -- 5132302
121296 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
121297 l_rec_acct_attrs.array_char_value(1) := p_source_58;
121298 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
121299 l_rec_acct_attrs.array_num_value(2) :=
121300 xla_ae_sources_pkg.GetSystemSourceNum(
121301 p_source_code => 'XLA_EVENT_APPL_ID'
121302 , p_source_type_code => 'Y'
121303 , p_source_application_id => 602
121304 );
121305 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
121306 l_rec_acct_attrs.array_char_value(3) := p_source_60;
121307 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
121308 l_rec_acct_attrs.array_char_value(4) :=
121309 xla_ae_sources_pkg.GetSystemSourceChar(
121310 p_source_code => 'XLA_ENTITY_CODE'
121311 , p_source_type_code => 'Y'
121312 , p_source_application_id => 602
121313 );
121314 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
121315 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_62);
121316 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
121317 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_63);
121318 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
121319 l_rec_acct_attrs.array_num_value(7) := p_source_96;
121320 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
121321 l_rec_acct_attrs.array_char_value(8) := p_source_97;
121322 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
121323 l_rec_acct_attrs.array_char_value(9) := p_source_98;
121324 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
121325 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_99);
121326 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
121327 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_100);
121328 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
121329 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_69);
121330 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
121331 l_rec_acct_attrs.array_char_value(13) := p_source_60;
121332 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
121333 l_rec_acct_attrs.array_num_value(14) := p_source_70;
121334 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
121335 l_rec_acct_attrs.array_num_value(15) := p_source_71;
121336 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
121337 l_rec_acct_attrs.array_char_value(16) := p_source_72;
121338 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
121339 l_rec_acct_attrs.array_num_value(17) := p_source_73;
121340 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
121341 l_rec_acct_attrs.array_num_value(18) := p_source_74;
121342 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
121343 l_rec_acct_attrs.array_num_value(19) := p_source_75;
121344 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
121348 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
121345 l_rec_acct_attrs.array_char_value(20) := p_source_72;
121346 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
121347 l_rec_acct_attrs.array_num_value(21) := p_source_76;
121349 l_rec_acct_attrs.array_char_value(22) := p_source_77;
121350 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
121351 l_rec_acct_attrs.array_num_value(23) := p_source_78;
121352 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
121353 l_rec_acct_attrs.array_char_value(24) := p_source_72;
121354 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
121355 l_rec_acct_attrs.array_date_value(25) := p_source_146;
121356 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
121357 l_rec_acct_attrs.array_num_value(26) := p_source_147;
121358 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
121359 l_rec_acct_attrs.array_char_value(27) := p_source_148;
121360 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
121361 l_rec_acct_attrs.array_num_value(28) := p_source_16;
121362 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
121363 l_rec_acct_attrs.array_date_value(29) := p_source_82;
121364 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
121365 l_rec_acct_attrs.array_char_value(30) := p_source_83;
121366 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
121367 l_rec_acct_attrs.array_date_value(31) := p_source_84;
121368 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
121369 l_rec_acct_attrs.array_char_value(32) := p_source_85;
121370 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
121371 l_rec_acct_attrs.array_num_value(33) := p_source_86;
121372 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
121373 l_rec_acct_attrs.array_num_value(34) := p_source_87;
121374 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
121375 l_rec_acct_attrs.array_char_value(35) := p_source_88;
121376 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
121377 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_89);
121378 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
121379 l_rec_acct_attrs.array_char_value(37) := p_source_60;
121380 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
121381 l_rec_acct_attrs.array_num_value(38) := p_source_90;
121382 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
121383 l_rec_acct_attrs.array_num_value(39) := p_source_91;
121384 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
121385 l_rec_acct_attrs.array_num_value(40) := p_source_92;
121386 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
121387 l_rec_acct_attrs.array_num_value(41) := p_source_93;
121388 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
121389 l_rec_acct_attrs.array_num_value(42) := p_source_94;
121390 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
121391 l_rec_acct_attrs.array_num_value(43) := p_source_95;
121392
121393 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
121394 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
121395
121396 ---------------------------------------------------------------------------------------------------------------
121397 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
121398 ---------------------------------------------------------------------------------------------------------------
121399 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
121400
121401 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
121402 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
121403
121404 IF xla_accounting_cache_pkg.GetValueChar
121405 (p_source_code => 'LEDGER_CATEGORY_CODE'
121406 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
121407 AND l_bflow_method_code = 'PRIOR_ENTRY'
121408 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
121409 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
121410 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
121411 )
121412 THEN
121413 xla_ae_lines_pkg.BflowUpgEntry
121414 (p_business_method_code => l_bflow_method_code
121415 ,p_business_class_code => l_bflow_class_code
121416 ,p_balance_type => l_balance_type_code);
121417 ELSE
121418 NULL;
121419 -- No business flow processing for business flow method of NONE.
121420 END IF;
121421
121422 --
121423 -- call analytical criteria
121424 --
121425
121426 --
121427 -- call description
121428 --
121429
121430 xla_ae_lines_pkg.SetLineDescription(
121431 p_ae_header_id => l_ae_header_id
121432 ,p_description => Description_2 (
121433 p_application_id => p_application_id
121434 , p_ae_header_id => l_ae_header_id
121435 , p_source_1 => p_source_1
121436 )
121437 );
121438
121439
121440 --
121441 -- call ADRs
121442 -- Bug 4922099
121443 --
121444 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
121445 (NVL(l_actual_upg_option, 'N') = 'O') OR
121446 (NVL(l_enc_upg_option, 'N') = 'O')
121450 --
121447 )
121448 THEN
121449 NULL;
121451 --
121452
121453 l_ccid := AcctDerRule_44(
121454 p_application_id => p_application_id
121455 , p_ae_header_id => l_ae_header_id
121456 , p_source_46 => p_source_46
121457 , x_transaction_coa_id => l_adr_transaction_coa_id
121458 , x_accounting_coa_id => l_adr_accounting_coa_id
121459 , x_value_type_code => l_adr_value_type_code
121460 , p_side => 'NA'
121461 );
121462
121463 xla_ae_lines_pkg.set_ccid(
121464 p_code_combination_id => l_ccid
121465 , p_value_type_code => l_adr_value_type_code
121466 , p_transaction_coa_id => l_adr_transaction_coa_id
121467 , p_accounting_coa_id => l_adr_accounting_coa_id
121468 , p_adr_code => 'AP_SELF_ASSESSED_TAX'
121469 , p_adr_type_code => 'S'
121470 , p_component_type => l_component_type
121471 , p_component_code => l_component_code
121472 , p_component_type_code => l_component_type_code
121473 , p_component_appl_id => l_component_appl_id
121474 , p_amb_context_code => l_amb_context_code
121475 , p_side => 'NA'
121476 );
121477
121478
121479 --
121480 --
121481 END IF;
121482 --
121483 -- Bug 4922099
121484 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
121485 (NVL(l_enc_upg_option, 'N') = 'O')
121486 ) AND
121487 (l_bflow_method_code = 'PRIOR_ENTRY')
121488 )
121489 THEN
121490 IF
121491 --
121492 1 = 2
121493 --
121494 THEN
121495 xla_accounting_err_pkg.build_message
121496 (p_appli_s_name => 'XLA'
121497 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
121498 ,p_token_1 => 'LINE_NUMBER'
121499 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
121500 ,p_token_2 => 'LINE_TYPE_NAME'
121501 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
121502 l_component_type
121503 ,l_component_code
121504 ,l_component_type_code
121505 ,l_component_appl_id
121506 ,l_amb_context_code
121507 ,l_entity_code
121508 ,l_event_class_code
121509 )
121510 ,p_token_3 => 'OWNER'
121511 ,p_value_3 => xla_lookups_pkg.get_meaning(
121512 p_lookup_type => 'XLA_OWNER_TYPE'
121513 ,p_lookup_code => l_component_type_code
121514 )
121515 ,p_token_4 => 'PRODUCT_NAME'
121516 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
121517 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
121518 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
121519 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
121520 ,p_ae_header_id => NULL
121521 );
121522
121523 IF (C_LEVEL_ERROR>= g_log_level) THEN
121524 trace
121525 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
121526 ,p_level => C_LEVEL_ERROR
121527 ,p_module => l_log_module);
121528 END IF;
121529 END IF;
121530 END IF;
121531 --
121532 --
121533 ------------------------------------------------------------------------------------------------
121534 -- 4219869 Business Flow
121535 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
121536 -- Prior Entry. Currently, the following code is always generated.
121537 ------------------------------------------------------------------------------------------------
121538 XLA_AE_LINES_PKG.ValidateCurrentLine;
121539
121540 ------------------------------------------------------------------------------------
121541 -- 4219869 Business Flow
121542 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
121543 ------------------------------------------------------------------------------------
121544 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
121545
121546 ----------------------------------------------------------------------------------
121547 -- 4219869 Business Flow
121551 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
121548 -- Update journal entry status -- Need to generate this within IF <condition>
121549 ----------------------------------------------------------------------------------
121550 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
121552 ,p_balance_type_code => l_balance_type_code
121553 );
121554
121555 -------------------------------------------------------------------------------------------
121556 -- 4262811 - Generate the Accrual Reversal lines
121557 -------------------------------------------------------------------------------------------
121558 BEGIN
121559 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
121560 (g_array_event(p_event_id).array_value_num('header_index'));
121561 IF l_acc_rev_flag IS NULL THEN
121562 l_acc_rev_flag := 'N';
121563 END IF;
121564 EXCEPTION
121565 WHEN OTHERS THEN
121566 l_acc_rev_flag := 'N';
121567 END;
121568 --
121569 IF (l_acc_rev_flag = 'Y') THEN
121570
121571 -- 4645092 ------------------------------------------------------------------------------
121572 -- To allow MPA report to determine if it should generate report process
121573 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
121574 ------------------------------------------------------------------------------------------
121575
121576 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
121577 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
121578 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
121579 -- call ADRs
121580 -- Bug 4922099
121581 --
121582 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
121583 (NVL(l_actual_upg_option, 'N') = 'O') OR
121584 (NVL(l_enc_upg_option, 'N') = 'O')
121585 )
121586 THEN
121587 NULL;
121588 --
121589 --
121590
121591 l_ccid := AcctDerRule_44(
121592 p_application_id => p_application_id
121593 , p_ae_header_id => l_ae_header_id
121594 , p_source_46 => p_source_46
121595 , x_transaction_coa_id => l_adr_transaction_coa_id
121596 , x_accounting_coa_id => l_adr_accounting_coa_id
121597 , x_value_type_code => l_adr_value_type_code
121598 , p_side => 'NA'
121599 );
121600
121601 xla_ae_lines_pkg.set_ccid(
121602 p_code_combination_id => l_ccid
121603 , p_value_type_code => l_adr_value_type_code
121604 , p_transaction_coa_id => l_adr_transaction_coa_id
121605 , p_accounting_coa_id => l_adr_accounting_coa_id
121606 , p_adr_code => 'AP_SELF_ASSESSED_TAX'
121607 , p_adr_type_code => 'S'
121608 , p_component_type => l_component_type
121609 , p_component_code => l_component_code
121610 , p_component_type_code => l_component_type_code
121611 , p_component_appl_id => l_component_appl_id
121612 , p_amb_context_code => l_amb_context_code
121613 , p_side => 'NA'
121614 );
121615
121616
121617 --
121618 --
121619 END IF;
121620
121621 --
121622 -- Update the line information that should be overwritten
121623 --
121624 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
121625 p_header_num => 1);
121626 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
121627
121628 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
121629
121630 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
121631 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
121632 END IF;
121633
121634 --
121635 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
121636 --
121637 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
121638 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
121639 ELSE
121640 ---------------------------------------------------------------------------------------------------
121641 -- 4262811a Switch Sign
121642 ---------------------------------------------------------------------------------------------------
121643 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
121644 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
121645 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
121646 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
121647 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
121648 -- 5132302
121649 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
121650 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
121651
121652 END IF;
121653
121654 -- 4955764
121655 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
121659 XLA_AE_LINES_PKG.ValidateCurrentLine;
121656 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
121657
121658
121660 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
121661
121662 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
121663 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
121664 ,p_balance_type_code => l_balance_type_code);
121665
121666 END IF;
121667
121668 -----------------------------------------------------------------------------------------
121669 -- 4262811 Multiperiod Accounting
121670 -----------------------------------------------------------------------------------------
121671 -- No MPA option is assigned.
121672
121673
121674 END IF;
121675 END IF;
121676 --
121677
121678 --
121679 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
121680 trace
121681 (p_msg => 'END of AcctLineType_208'
121682 ,p_level => C_LEVEL_PROCEDURE
121683 ,p_module => l_log_module);
121684 END IF;
121685 --
121686 EXCEPTION
121687 WHEN xla_exceptions_pkg.application_exception THEN
121688 RAISE;
121689 WHEN OTHERS THEN
121690 xla_exceptions_pkg.raise_message
121691 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_208');
121692 END AcctLineType_208;
121693 --
121694
121695 ---------------------------------------
121696 --
121697 -- PRIVATE FUNCTION
121698 -- AcctLineType_209
121699 --
121700 ---------------------------------------
121701 PROCEDURE AcctLineType_209 (
121702 p_application_id IN NUMBER
121703 ,p_event_id IN NUMBER
121704 ,p_calculate_acctd_flag IN VARCHAR2
121705 ,p_calculate_g_l_flag IN VARCHAR2
121706 ,p_actual_flag IN OUT VARCHAR2
121707 ,p_balance_type_code OUT VARCHAR2
121708 ,p_gain_or_loss_ref OUT VARCHAR2
121709
121710 --Invoice Distribution Description
121711 , p_source_1 IN VARCHAR2
121712 --Invoice Distribution Ledger Amount
121713 , p_source_16 IN NUMBER
121714 --Invoice Distribution Type
121715 , p_source_28 IN VARCHAR2
121716 , p_source_28_meaning IN VARCHAR2
121717 --Self-Assessed Tax Account
121718 , p_source_46 IN NUMBER
121719 --Accounting Reversal Indicator
121720 , p_source_58 IN VARCHAR2
121721 --Distribution Link Type
121722 , p_source_60 IN VARCHAR2
121723 --Allocation to Main Distribution Identifier
121724 , p_source_62 IN NUMBER
121725 --Invoice Identifier
121726 , p_source_63 IN NUMBER
121727 --Invoice Distribution Identifier
121728 , p_source_69 IN NUMBER
121729 --Payables Encumbrance Upgrade Credit Account
121730 , p_source_70 IN NUMBER
121731 --Payables Encumbrance Upgrade Credit Amount
121732 , p_source_71 IN NUMBER
121733 --Invoice Currency Code
121734 , p_source_72 IN VARCHAR2
121735 --Payables Encumbrance Upgrade Credit Base Amount
121736 , p_source_73 IN NUMBER
121737 --Payables Encumbrance Upgrade Debit Account
121738 , p_source_74 IN NUMBER
121739 --Payables Encumbrance Upgrade Debit Amount
121740 , p_source_75 IN NUMBER
121741 --Payables Encumbrance Upgrade Debit Base Amount
121742 , p_source_76 IN NUMBER
121743 --Payables Encumbrance Upgrade Option
121744 , p_source_77 IN VARCHAR2
121745 --Invoice Distribution Amount
121746 , p_source_78 IN NUMBER
121747 --Deferred Accounting End Date
121748 , p_source_82 IN DATE
121749 --Deferred Accounting Option
121750 , p_source_83 IN VARCHAR2
121751 --Deferred Accounting Start Date
121752 , p_source_84 IN DATE
121753 --Override Accounted Amount Indicator
121754 , p_source_85 IN VARCHAR2
121755 , p_source_85_meaning IN VARCHAR2
121756 --Invoice Supplier Identifier
121757 , p_source_86 IN NUMBER
121758 --Invoice Supplier Site Identifier
121759 , p_source_87 IN NUMBER
121760 --Third Party Type
121761 , p_source_88 IN VARCHAR2
121762 --Parent Reversal Identifier
121763 , p_source_89 IN NUMBER
121764 --Invoice Distribution Statistical Amount
121765 , p_source_90 IN NUMBER
121766 --Invoice Distribution Tax Line Identifier
121767 , p_source_91 IN NUMBER
121768 --Invoice Distribution Tax Distribution Identifier from Tax
121769 , p_source_92 IN NUMBER
121770 --Invoice Distribution Summary Tax Line Identifier
121771 , p_source_93 IN NUMBER
121772 --Payables Upgrade Credit Encumbrance Type Identifier
121773 , p_source_94 IN NUMBER
121774 --Payables Upgrade Debit Encumbrance Type Identifier
121775 , p_source_95 IN NUMBER
121776 --Business Flow Accounts Payable Application Identifier
121777 , p_source_96 IN NUMBER
121778 --Business Flow Invoice Distribution Type
121779 , p_source_97 IN VARCHAR2
121780 --Business Flow Invoice Entity Code
121781 , p_source_98 IN VARCHAR2
121782 --Business Flow Invoice Distribution Identifier
121783 , p_source_99 IN NUMBER
121784 --Business Flow Invoice Identifier
121785 , p_source_100 IN NUMBER
121786 --Self-Assessed Tax Flag
121787 , p_source_145 IN VARCHAR2
121788 , p_source_145_meaning IN VARCHAR2
121789 --Invoice Exchange Date
121790 , p_source_146 IN DATE
121791 --Invoice Exchange Rate
121795 )
121792 , p_source_147 IN NUMBER
121793 --Invoice Exchange Rate Type
121794 , p_source_148 IN VARCHAR2
121796 IS
121797
121798 l_component_type VARCHAR2(80);
121799 l_component_code VARCHAR2(30);
121800 l_component_type_code VARCHAR2(1);
121801 l_component_appl_id INTEGER;
121802 l_amb_context_code VARCHAR2(30);
121803 l_entity_code VARCHAR2(30);
121804 l_event_class_code VARCHAR2(30);
121805 l_ae_header_id NUMBER;
121806 l_event_type_code VARCHAR2(30);
121807 l_line_definition_code VARCHAR2(30);
121808 l_line_definition_owner_code VARCHAR2(1);
121809 --
121810 -- adr variables
121811 l_segment VARCHAR2(30);
121812 l_ccid NUMBER;
121813 l_adr_transaction_coa_id NUMBER;
121814 l_adr_accounting_coa_id NUMBER;
121815 l_adr_flexfield_segment_code VARCHAR2(30);
121816 l_adr_flex_value_set_id NUMBER;
121817 l_adr_value_type_code VARCHAR2(30);
121818 l_adr_value_combination_id NUMBER;
121819 l_adr_value_segment_code VARCHAR2(30);
121820
121821 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
121822 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
121823 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
121824 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
121825
121826 -- 4262811 Variables ------------------------------------------------------------------------------------------
121827 l_entered_amt_idx NUMBER;
121828 l_accted_amt_idx NUMBER;
121829 l_acc_rev_flag VARCHAR2(1);
121830 l_accrual_line_num NUMBER;
121831 l_tmp_amt NUMBER;
121832 l_acc_rev_natural_side_code VARCHAR2(1);
121833
121834 l_num_entries NUMBER;
121835 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
121836 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
121837 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
121838 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
121839 l_recog_line_1 NUMBER;
121840 l_recog_line_2 NUMBER;
121841
121842 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
121843 l_bflow_applied_to_amt NUMBER; -- 5132302
121844 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
121845
121846 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
121847
121848 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
121849 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
121850
121851 ---------------------------------------------------------------------------------------------------------------
121852
121853
121854 --
121855 -- bulk performance
121856 --
121857 l_balance_type_code VARCHAR2(1);
121858 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
121859 l_log_module VARCHAR2(240);
121860
121861 --
121862 -- Upgrade strategy
121863 --
121864 l_actual_upg_option VARCHAR2(1);
121865 l_enc_upg_option VARCHAR2(1);
121866
121867 --
121868 BEGIN
121869 --
121870 IF g_log_enabled THEN
121871 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_209';
121872 END IF;
121873 --
121874 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
121875
121876 trace
121877 (p_msg => 'BEGIN of AcctLineType_209'
121878 ,p_level => C_LEVEL_PROCEDURE
121879 ,p_module => l_log_module);
121880
121881 END IF;
121882 --
121883 l_component_type := 'AMB_JLT';
121884 l_component_code := 'AP_SELF_ASSESSED_REC_TAX_CM';
121885 l_component_type_code := 'S';
121886 l_component_appl_id := 200;
121887 l_amb_context_code := 'DEFAULT';
121888 l_entity_code := 'AP_INVOICES';
121889 l_event_class_code := 'CREDIT MEMOS';
121890 l_event_type_code := 'CREDIT MEMOS_ALL';
121891 l_line_definition_owner_code := 'S';
121892 l_line_definition_code := 'ACCRUAL_CREDIT MEMOS_ALL';
121893 --
121894 l_balance_type_code := 'A';
121895 l_segment := NULL;
121896 l_ccid := NULL;
121897 l_adr_transaction_coa_id := NULL;
121898 l_adr_accounting_coa_id := NULL;
121899 l_adr_flexfield_segment_code := NULL;
121900 l_adr_flex_value_set_id := NULL;
121901 l_adr_value_type_code := NULL;
121902 l_adr_value_combination_id := NULL;
121903 l_adr_value_segment_code := NULL;
121904
121905 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
121906 l_bflow_class_code := ''; -- 4219869 Business Flow
121907 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
121908 l_budgetary_control_flag := 'N';
121909
121910 l_bflow_applied_to_amt_idx := NULL; -- 5132302
121911 l_bflow_applied_to_amt := NULL; -- 5132302
121912 l_entered_amt_idx := NULL; -- 4262811
121913 l_accted_amt_idx := NULL; -- 4262811
121914 l_acc_rev_flag := NULL; -- 4262811
121915 l_accrual_line_num := NULL; -- 4262811
121916 l_tmp_amt := NULL; -- 4262811
121917 --
121918
121922 ') = 'REC_TAX' AND
121919 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
121920 l_balance_type_code <> 'B' THEN
121921 IF NVL(p_source_28,'
121923 NVL(p_source_145,'
121924 ') = 'Y'
121925 THEN
121926
121927 --
121928 XLA_AE_LINES_PKG.SetNewLine;
121929
121930 p_balance_type_code := l_balance_type_code;
121931 -- set the flag so later we will know whether the gain loss line needs to be created
121932
121933 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
121934 p_actual_flag :='A';
121935 END IF;
121936
121937 --
121938 -- bulk performance
121939 --
121940 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
121941 p_header_num => 0); -- 4262811
121942 --
121943 -- set accounting line options
121944 --
121945 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
121946 p_natural_side_code => 'D'
121947 , p_gain_or_loss_flag => 'N'
121948 , p_gl_transfer_mode_code => 'S'
121949 , p_acct_entry_type_code => 'A'
121950 , p_switch_side_flag => 'Y'
121951 , p_merge_duplicate_code => 'A'
121952 );
121953 --
121954 l_acc_rev_natural_side_code := 'C'; -- 4262811
121955 --
121956 --
121957 -- set accounting line type info
121958 --
121959 xla_ae_lines_pkg.SetAcctLineType
121960 (p_component_type => l_component_type
121961 ,p_event_type_code => l_event_type_code
121962 ,p_line_definition_owner_code => l_line_definition_owner_code
121963 ,p_line_definition_code => l_line_definition_code
121964 ,p_accounting_line_code => l_component_code
121965 ,p_accounting_line_type_code => l_component_type_code
121966 ,p_accounting_line_appl_id => l_component_appl_id
121967 ,p_amb_context_code => l_amb_context_code
121968 ,p_entity_code => l_entity_code
121969 ,p_event_class_code => l_event_class_code);
121970 --
121971 -- set accounting class
121972 --
121973 xla_ae_lines_pkg.SetAcctClass(
121974 p_accounting_class_code => 'SELF_ASSESSED_TAX'
121975 , p_ae_header_id => l_ae_header_id
121976 );
121977
121978 --
121979 -- set rounding class
121980 --
121981 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
121982 'SELF_ASSESSED_TAX';
121983
121984 --
121985 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
121986 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
121987 --
121988 -- bulk performance
121989 --
121990 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
121991
121992 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
121993 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
121994
121995 -- 4955764
121996 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
121997 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
121998
121999 -- 4458381 Public Sector Enh
122000
122001 --
122002 -- set accounting attributes for the line type
122003 --
122004 l_entered_amt_idx := 23;
122005 l_accted_amt_idx := 28;
122006 l_bflow_applied_to_amt_idx := NULL; -- 5132302
122007 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
122008 l_rec_acct_attrs.array_char_value(1) := p_source_58;
122009 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
122010 l_rec_acct_attrs.array_num_value(2) :=
122011 xla_ae_sources_pkg.GetSystemSourceNum(
122012 p_source_code => 'XLA_EVENT_APPL_ID'
122013 , p_source_type_code => 'Y'
122014 , p_source_application_id => 602
122015 );
122016 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
122017 l_rec_acct_attrs.array_char_value(3) := p_source_60;
122018 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
122019 l_rec_acct_attrs.array_char_value(4) :=
122020 xla_ae_sources_pkg.GetSystemSourceChar(
122021 p_source_code => 'XLA_ENTITY_CODE'
122022 , p_source_type_code => 'Y'
122023 , p_source_application_id => 602
122024 );
122025 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
122026 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_62);
122027 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
122028 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_63);
122029 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
122030 l_rec_acct_attrs.array_num_value(7) := p_source_96;
122031 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
122032 l_rec_acct_attrs.array_char_value(8) := p_source_97;
122033 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
122034 l_rec_acct_attrs.array_char_value(9) := p_source_98;
122035 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
122036 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_99);
122037 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
122041 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
122038 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_100);
122039 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
122040 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_69);
122042 l_rec_acct_attrs.array_char_value(13) := p_source_60;
122043 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
122044 l_rec_acct_attrs.array_num_value(14) := p_source_70;
122045 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
122046 l_rec_acct_attrs.array_num_value(15) := p_source_71;
122047 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
122048 l_rec_acct_attrs.array_char_value(16) := p_source_72;
122049 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
122050 l_rec_acct_attrs.array_num_value(17) := p_source_73;
122051 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
122052 l_rec_acct_attrs.array_num_value(18) := p_source_74;
122053 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
122054 l_rec_acct_attrs.array_num_value(19) := p_source_75;
122055 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
122056 l_rec_acct_attrs.array_char_value(20) := p_source_72;
122057 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
122058 l_rec_acct_attrs.array_num_value(21) := p_source_76;
122059 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
122060 l_rec_acct_attrs.array_char_value(22) := p_source_77;
122061 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
122062 l_rec_acct_attrs.array_num_value(23) := p_source_78;
122063 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
122064 l_rec_acct_attrs.array_char_value(24) := p_source_72;
122065 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
122066 l_rec_acct_attrs.array_date_value(25) := p_source_146;
122067 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
122068 l_rec_acct_attrs.array_num_value(26) := p_source_147;
122069 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
122070 l_rec_acct_attrs.array_char_value(27) := p_source_148;
122071 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
122072 l_rec_acct_attrs.array_num_value(28) := p_source_16;
122073 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
122074 l_rec_acct_attrs.array_date_value(29) := p_source_82;
122075 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
122076 l_rec_acct_attrs.array_char_value(30) := p_source_83;
122077 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
122078 l_rec_acct_attrs.array_date_value(31) := p_source_84;
122079 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
122080 l_rec_acct_attrs.array_char_value(32) := p_source_85;
122081 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
122082 l_rec_acct_attrs.array_num_value(33) := p_source_86;
122083 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
122084 l_rec_acct_attrs.array_num_value(34) := p_source_87;
122085 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
122086 l_rec_acct_attrs.array_char_value(35) := p_source_88;
122087 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
122088 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_89);
122089 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
122090 l_rec_acct_attrs.array_char_value(37) := p_source_60;
122091 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
122092 l_rec_acct_attrs.array_num_value(38) := p_source_90;
122093 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
122094 l_rec_acct_attrs.array_num_value(39) := p_source_91;
122095 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
122096 l_rec_acct_attrs.array_num_value(40) := p_source_92;
122097 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
122098 l_rec_acct_attrs.array_num_value(41) := p_source_93;
122099 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
122100 l_rec_acct_attrs.array_num_value(42) := p_source_94;
122101 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
122102 l_rec_acct_attrs.array_num_value(43) := p_source_95;
122103
122104 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
122105 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
122106
122107 ---------------------------------------------------------------------------------------------------------------
122108 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
122109 ---------------------------------------------------------------------------------------------------------------
122110 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
122111
122112 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
122113 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
122114
122115 IF xla_accounting_cache_pkg.GetValueChar
122116 (p_source_code => 'LEDGER_CATEGORY_CODE'
122117 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
122118 AND l_bflow_method_code = 'PRIOR_ENTRY'
122119 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
122120 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
122121 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
122125 (p_business_method_code => l_bflow_method_code
122122 )
122123 THEN
122124 xla_ae_lines_pkg.BflowUpgEntry
122126 ,p_business_class_code => l_bflow_class_code
122127 ,p_balance_type => l_balance_type_code);
122128 ELSE
122129 NULL;
122130 -- No business flow processing for business flow method of NONE.
122131 END IF;
122132
122133 --
122134 -- call analytical criteria
122135 --
122136
122137 --
122138 -- call description
122139 --
122140
122141 xla_ae_lines_pkg.SetLineDescription(
122142 p_ae_header_id => l_ae_header_id
122143 ,p_description => Description_2 (
122144 p_application_id => p_application_id
122145 , p_ae_header_id => l_ae_header_id
122146 , p_source_1 => p_source_1
122147 )
122148 );
122149
122150
122151 --
122152 -- call ADRs
122153 -- Bug 4922099
122154 --
122155 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
122156 (NVL(l_actual_upg_option, 'N') = 'O') OR
122157 (NVL(l_enc_upg_option, 'N') = 'O')
122158 )
122159 THEN
122160 NULL;
122161 --
122162 --
122163
122164 l_ccid := AcctDerRule_44(
122165 p_application_id => p_application_id
122166 , p_ae_header_id => l_ae_header_id
122167 , p_source_46 => p_source_46
122168 , x_transaction_coa_id => l_adr_transaction_coa_id
122169 , x_accounting_coa_id => l_adr_accounting_coa_id
122170 , x_value_type_code => l_adr_value_type_code
122171 , p_side => 'NA'
122172 );
122173
122174 xla_ae_lines_pkg.set_ccid(
122175 p_code_combination_id => l_ccid
122176 , p_value_type_code => l_adr_value_type_code
122177 , p_transaction_coa_id => l_adr_transaction_coa_id
122178 , p_accounting_coa_id => l_adr_accounting_coa_id
122179 , p_adr_code => 'AP_SELF_ASSESSED_TAX'
122180 , p_adr_type_code => 'S'
122181 , p_component_type => l_component_type
122182 , p_component_code => l_component_code
122183 , p_component_type_code => l_component_type_code
122184 , p_component_appl_id => l_component_appl_id
122185 , p_amb_context_code => l_amb_context_code
122186 , p_side => 'NA'
122187 );
122188
122189
122190 --
122191 --
122192 END IF;
122193 --
122194 -- Bug 4922099
122195 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
122196 (NVL(l_enc_upg_option, 'N') = 'O')
122197 ) AND
122198 (l_bflow_method_code = 'PRIOR_ENTRY')
122199 )
122200 THEN
122201 IF
122202 --
122203 1 = 2
122204 --
122205 THEN
122206 xla_accounting_err_pkg.build_message
122207 (p_appli_s_name => 'XLA'
122208 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
122209 ,p_token_1 => 'LINE_NUMBER'
122210 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
122211 ,p_token_2 => 'LINE_TYPE_NAME'
122212 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
122213 l_component_type
122214 ,l_component_code
122215 ,l_component_type_code
122216 ,l_component_appl_id
122217 ,l_amb_context_code
122218 ,l_entity_code
122219 ,l_event_class_code
122220 )
122221 ,p_token_3 => 'OWNER'
122222 ,p_value_3 => xla_lookups_pkg.get_meaning(
122223 p_lookup_type => 'XLA_OWNER_TYPE'
122224 ,p_lookup_code => l_component_type_code
122225 )
122226 ,p_token_4 => 'PRODUCT_NAME'
122227 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
122228 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
122229 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
122230 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
122231 ,p_ae_header_id => NULL
122232 );
122233
122234 IF (C_LEVEL_ERROR>= g_log_level) THEN
122235 trace
122236 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
122237 ,p_level => C_LEVEL_ERROR
122241 END IF;
122238 ,p_module => l_log_module);
122239 END IF;
122240 END IF;
122242 --
122243 --
122244 ------------------------------------------------------------------------------------------------
122245 -- 4219869 Business Flow
122246 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
122247 -- Prior Entry. Currently, the following code is always generated.
122248 ------------------------------------------------------------------------------------------------
122249 XLA_AE_LINES_PKG.ValidateCurrentLine;
122250
122251 ------------------------------------------------------------------------------------
122252 -- 4219869 Business Flow
122253 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
122254 ------------------------------------------------------------------------------------
122255 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
122256
122257 ----------------------------------------------------------------------------------
122258 -- 4219869 Business Flow
122259 -- Update journal entry status -- Need to generate this within IF <condition>
122260 ----------------------------------------------------------------------------------
122261 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
122262 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
122263 ,p_balance_type_code => l_balance_type_code
122264 );
122265
122266 -------------------------------------------------------------------------------------------
122267 -- 4262811 - Generate the Accrual Reversal lines
122268 -------------------------------------------------------------------------------------------
122269 BEGIN
122270 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
122271 (g_array_event(p_event_id).array_value_num('header_index'));
122272 IF l_acc_rev_flag IS NULL THEN
122273 l_acc_rev_flag := 'N';
122274 END IF;
122275 EXCEPTION
122276 WHEN OTHERS THEN
122277 l_acc_rev_flag := 'N';
122278 END;
122279 --
122280 IF (l_acc_rev_flag = 'Y') THEN
122281
122282 -- 4645092 ------------------------------------------------------------------------------
122283 -- To allow MPA report to determine if it should generate report process
122284 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
122285 ------------------------------------------------------------------------------------------
122286
122287 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
122288 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
122289 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
122290 -- call ADRs
122291 -- Bug 4922099
122292 --
122293 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
122294 (NVL(l_actual_upg_option, 'N') = 'O') OR
122295 (NVL(l_enc_upg_option, 'N') = 'O')
122296 )
122297 THEN
122298 NULL;
122299 --
122300 --
122301
122302 l_ccid := AcctDerRule_44(
122303 p_application_id => p_application_id
122304 , p_ae_header_id => l_ae_header_id
122305 , p_source_46 => p_source_46
122306 , x_transaction_coa_id => l_adr_transaction_coa_id
122307 , x_accounting_coa_id => l_adr_accounting_coa_id
122308 , x_value_type_code => l_adr_value_type_code
122309 , p_side => 'NA'
122310 );
122311
122312 xla_ae_lines_pkg.set_ccid(
122313 p_code_combination_id => l_ccid
122314 , p_value_type_code => l_adr_value_type_code
122315 , p_transaction_coa_id => l_adr_transaction_coa_id
122316 , p_accounting_coa_id => l_adr_accounting_coa_id
122317 , p_adr_code => 'AP_SELF_ASSESSED_TAX'
122318 , p_adr_type_code => 'S'
122319 , p_component_type => l_component_type
122320 , p_component_code => l_component_code
122321 , p_component_type_code => l_component_type_code
122322 , p_component_appl_id => l_component_appl_id
122323 , p_amb_context_code => l_amb_context_code
122324 , p_side => 'NA'
122325 );
122326
122327
122328 --
122329 --
122330 END IF;
122331
122332 --
122333 -- Update the line information that should be overwritten
122334 --
122335 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
122336 p_header_num => 1);
122337 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
122338
122339 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
122340
122341 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
122342 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
122343 END IF;
122344
122345 --
122346 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
122347 --
122348 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
122349 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
122350 ELSE
122354 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
122351 ---------------------------------------------------------------------------------------------------
122352 -- 4262811a Switch Sign
122353 ---------------------------------------------------------------------------------------------------
122355 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
122356 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
122357 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
122358 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
122359 -- 5132302
122360 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
122361 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
122362
122363 END IF;
122364
122365 -- 4955764
122366 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
122367 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
122368
122369
122370 XLA_AE_LINES_PKG.ValidateCurrentLine;
122371 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
122372
122373 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
122374 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
122375 ,p_balance_type_code => l_balance_type_code);
122376
122377 END IF;
122378
122379 -----------------------------------------------------------------------------------------
122380 -- 4262811 Multiperiod Accounting
122381 -----------------------------------------------------------------------------------------
122382 -- No MPA option is assigned.
122383
122384
122385 END IF;
122386 END IF;
122387 --
122388
122389 --
122390 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
122391 trace
122392 (p_msg => 'END of AcctLineType_209'
122393 ,p_level => C_LEVEL_PROCEDURE
122394 ,p_module => l_log_module);
122395 END IF;
122396 --
122397 EXCEPTION
122398 WHEN xla_exceptions_pkg.application_exception THEN
122399 RAISE;
122400 WHEN OTHERS THEN
122401 xla_exceptions_pkg.raise_message
122402 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_209');
122403 END AcctLineType_209;
122404 --
122405
122406 ---------------------------------------
122407 --
122408 -- PRIVATE FUNCTION
122409 -- AcctLineType_210
122410 --
122411 ---------------------------------------
122412 PROCEDURE AcctLineType_210 (
122413 p_application_id IN NUMBER
122414 ,p_event_id IN NUMBER
122415 ,p_calculate_acctd_flag IN VARCHAR2
122416 ,p_calculate_g_l_flag IN VARCHAR2
122417 ,p_actual_flag IN OUT VARCHAR2
122418 ,p_balance_type_code OUT VARCHAR2
122419 ,p_gain_or_loss_ref OUT VARCHAR2
122420
122421 --Invoice Distribution Description
122422 , p_source_1 IN VARCHAR2
122423 --Invoice Distribution Ledger Amount
122424 , p_source_16 IN NUMBER
122425 --Invoice Distribution Type
122426 , p_source_28 IN VARCHAR2
122427 , p_source_28_meaning IN VARCHAR2
122428 --Self-Assessed Tax Account
122429 , p_source_46 IN NUMBER
122430 --Accounting Reversal Indicator
122431 , p_source_58 IN VARCHAR2
122432 --Distribution Link Type
122433 , p_source_60 IN VARCHAR2
122434 --Allocation to Main Distribution Identifier
122435 , p_source_62 IN NUMBER
122436 --Invoice Identifier
122437 , p_source_63 IN NUMBER
122438 --Invoice Distribution Identifier
122439 , p_source_69 IN NUMBER
122440 --Payables Encumbrance Upgrade Credit Account
122441 , p_source_70 IN NUMBER
122442 --Payables Encumbrance Upgrade Credit Amount
122443 , p_source_71 IN NUMBER
122444 --Invoice Currency Code
122445 , p_source_72 IN VARCHAR2
122446 --Payables Encumbrance Upgrade Credit Base Amount
122447 , p_source_73 IN NUMBER
122448 --Payables Encumbrance Upgrade Debit Account
122449 , p_source_74 IN NUMBER
122450 --Payables Encumbrance Upgrade Debit Amount
122451 , p_source_75 IN NUMBER
122452 --Payables Encumbrance Upgrade Debit Base Amount
122453 , p_source_76 IN NUMBER
122454 --Payables Encumbrance Upgrade Option
122455 , p_source_77 IN VARCHAR2
122456 --Invoice Distribution Amount
122457 , p_source_78 IN NUMBER
122458 --Deferred Accounting End Date
122459 , p_source_82 IN DATE
122460 --Deferred Accounting Option
122461 , p_source_83 IN VARCHAR2
122462 --Deferred Accounting Start Date
122463 , p_source_84 IN DATE
122464 --Override Accounted Amount Indicator
122465 , p_source_85 IN VARCHAR2
122466 , p_source_85_meaning IN VARCHAR2
122467 --Invoice Supplier Identifier
122468 , p_source_86 IN NUMBER
122469 --Invoice Supplier Site Identifier
122470 , p_source_87 IN NUMBER
122471 --Third Party Type
122472 , p_source_88 IN VARCHAR2
122473 --Parent Reversal Identifier
122474 , p_source_89 IN NUMBER
122475 --Invoice Distribution Tax Line Identifier
122476 , p_source_91 IN NUMBER
122477 --Invoice Distribution Tax Distribution Identifier from Tax
122478 , p_source_92 IN NUMBER
122479 --Invoice Distribution Summary Tax Line Identifier
122483 --Payables Upgrade Debit Encumbrance Type Identifier
122480 , p_source_93 IN NUMBER
122481 --Payables Upgrade Credit Encumbrance Type Identifier
122482 , p_source_94 IN NUMBER
122484 , p_source_95 IN NUMBER
122485 --Business Flow Accounts Payable Application Identifier
122486 , p_source_96 IN NUMBER
122487 --Business Flow Invoice Distribution Type
122488 , p_source_97 IN VARCHAR2
122489 --Business Flow Invoice Entity Code
122490 , p_source_98 IN VARCHAR2
122491 --Business Flow Invoice Distribution Identifier
122492 , p_source_99 IN NUMBER
122493 --Business Flow Invoice Identifier
122494 , p_source_100 IN NUMBER
122495 --Self-Assessed Tax Flag
122496 , p_source_145 IN VARCHAR2
122497 , p_source_145_meaning IN VARCHAR2
122498 --Invoice Exchange Date
122499 , p_source_146 IN DATE
122500 --Invoice Exchange Rate
122501 , p_source_147 IN NUMBER
122502 --Invoice Exchange Rate Type
122503 , p_source_148 IN VARCHAR2
122504 )
122505 IS
122506
122507 l_component_type VARCHAR2(80);
122508 l_component_code VARCHAR2(30);
122509 l_component_type_code VARCHAR2(1);
122510 l_component_appl_id INTEGER;
122511 l_amb_context_code VARCHAR2(30);
122512 l_entity_code VARCHAR2(30);
122513 l_event_class_code VARCHAR2(30);
122514 l_ae_header_id NUMBER;
122515 l_event_type_code VARCHAR2(30);
122516 l_line_definition_code VARCHAR2(30);
122517 l_line_definition_owner_code VARCHAR2(1);
122518 --
122519 -- adr variables
122520 l_segment VARCHAR2(30);
122521 l_ccid NUMBER;
122522 l_adr_transaction_coa_id NUMBER;
122523 l_adr_accounting_coa_id NUMBER;
122524 l_adr_flexfield_segment_code VARCHAR2(30);
122525 l_adr_flex_value_set_id NUMBER;
122526 l_adr_value_type_code VARCHAR2(30);
122527 l_adr_value_combination_id NUMBER;
122528 l_adr_value_segment_code VARCHAR2(30);
122529
122530 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
122531 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
122532 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
122533 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
122534
122535 -- 4262811 Variables ------------------------------------------------------------------------------------------
122536 l_entered_amt_idx NUMBER;
122537 l_accted_amt_idx NUMBER;
122538 l_acc_rev_flag VARCHAR2(1);
122539 l_accrual_line_num NUMBER;
122540 l_tmp_amt NUMBER;
122541 l_acc_rev_natural_side_code VARCHAR2(1);
122542
122543 l_num_entries NUMBER;
122544 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
122545 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
122546 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
122547 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
122548 l_recog_line_1 NUMBER;
122549 l_recog_line_2 NUMBER;
122550
122551 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
122552 l_bflow_applied_to_amt NUMBER; -- 5132302
122553 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
122554
122555 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
122556
122557 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
122558 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
122559
122560 ---------------------------------------------------------------------------------------------------------------
122561
122562
122563 --
122564 -- bulk performance
122565 --
122566 l_balance_type_code VARCHAR2(1);
122567 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
122568 l_log_module VARCHAR2(240);
122569
122570 --
122571 -- Upgrade strategy
122572 --
122573 l_actual_upg_option VARCHAR2(1);
122574 l_enc_upg_option VARCHAR2(1);
122575
122576 --
122577 BEGIN
122578 --
122579 IF g_log_enabled THEN
122580 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_210';
122581 END IF;
122582 --
122583 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
122584
122585 trace
122586 (p_msg => 'BEGIN of AcctLineType_210'
122587 ,p_level => C_LEVEL_PROCEDURE
122588 ,p_module => l_log_module);
122589
122590 END IF;
122591 --
122592 l_component_type := 'AMB_JLT';
122593 l_component_code := 'AP_SELF_ASSESSED_REC_TAX_DM';
122594 l_component_type_code := 'S';
122595 l_component_appl_id := 200;
122596 l_amb_context_code := 'DEFAULT';
122597 l_entity_code := 'AP_INVOICES';
122598 l_event_class_code := 'DEBIT MEMOS';
122599 l_event_type_code := 'DEBIT MEMOS_ALL';
122600 l_line_definition_owner_code := 'S';
122601 l_line_definition_code := 'ACCRUAL_DEBIT MEMOS_ALL';
122602 --
122603 l_balance_type_code := 'A';
122604 l_segment := NULL;
122605 l_ccid := NULL;
122606 l_adr_transaction_coa_id := NULL;
122607 l_adr_accounting_coa_id := NULL;
122608 l_adr_flexfield_segment_code := NULL;
122612 l_adr_value_segment_code := NULL;
122609 l_adr_flex_value_set_id := NULL;
122610 l_adr_value_type_code := NULL;
122611 l_adr_value_combination_id := NULL;
122613
122614 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
122615 l_bflow_class_code := ''; -- 4219869 Business Flow
122616 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
122617 l_budgetary_control_flag := 'N';
122618
122619 l_bflow_applied_to_amt_idx := NULL; -- 5132302
122620 l_bflow_applied_to_amt := NULL; -- 5132302
122621 l_entered_amt_idx := NULL; -- 4262811
122622 l_accted_amt_idx := NULL; -- 4262811
122623 l_acc_rev_flag := NULL; -- 4262811
122624 l_accrual_line_num := NULL; -- 4262811
122625 l_tmp_amt := NULL; -- 4262811
122626 --
122627
122628 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
122629 l_balance_type_code <> 'B' THEN
122630 IF NVL(p_source_28,'
122631 ') = 'REC_TAX' AND
122632 NVL(p_source_145,'
122633 ') = 'Y'
122634 THEN
122635
122636 --
122637 XLA_AE_LINES_PKG.SetNewLine;
122638
122639 p_balance_type_code := l_balance_type_code;
122640 -- set the flag so later we will know whether the gain loss line needs to be created
122641
122642 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
122643 p_actual_flag :='A';
122644 END IF;
122645
122646 --
122647 -- bulk performance
122648 --
122649 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
122650 p_header_num => 0); -- 4262811
122651 --
122652 -- set accounting line options
122653 --
122654 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
122655 p_natural_side_code => 'D'
122656 , p_gain_or_loss_flag => 'N'
122657 , p_gl_transfer_mode_code => 'S'
122658 , p_acct_entry_type_code => 'A'
122659 , p_switch_side_flag => 'Y'
122660 , p_merge_duplicate_code => 'A'
122661 );
122662 --
122663 l_acc_rev_natural_side_code := 'C'; -- 4262811
122664 --
122665 --
122666 -- set accounting line type info
122667 --
122668 xla_ae_lines_pkg.SetAcctLineType
122669 (p_component_type => l_component_type
122670 ,p_event_type_code => l_event_type_code
122671 ,p_line_definition_owner_code => l_line_definition_owner_code
122672 ,p_line_definition_code => l_line_definition_code
122673 ,p_accounting_line_code => l_component_code
122674 ,p_accounting_line_type_code => l_component_type_code
122675 ,p_accounting_line_appl_id => l_component_appl_id
122676 ,p_amb_context_code => l_amb_context_code
122677 ,p_entity_code => l_entity_code
122678 ,p_event_class_code => l_event_class_code);
122679 --
122680 -- set accounting class
122681 --
122682 xla_ae_lines_pkg.SetAcctClass(
122683 p_accounting_class_code => 'SELF_ASSESSED_TAX'
122684 , p_ae_header_id => l_ae_header_id
122685 );
122686
122687 --
122688 -- set rounding class
122689 --
122690 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
122691 'SELF_ASSESSED_TAX';
122692
122693 --
122694 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
122695 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
122696 --
122697 -- bulk performance
122698 --
122699 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
122700
122701 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
122702 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
122703
122704 -- 4955764
122705 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
122706 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
122707
122708 -- 4458381 Public Sector Enh
122709
122710 --
122711 -- set accounting attributes for the line type
122712 --
122713 l_entered_amt_idx := 23;
122714 l_accted_amt_idx := 28;
122715 l_bflow_applied_to_amt_idx := NULL; -- 5132302
122716 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
122717 l_rec_acct_attrs.array_char_value(1) := p_source_58;
122718 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
122719 l_rec_acct_attrs.array_num_value(2) :=
122720 xla_ae_sources_pkg.GetSystemSourceNum(
122721 p_source_code => 'XLA_EVENT_APPL_ID'
122722 , p_source_type_code => 'Y'
122723 , p_source_application_id => 602
122724 );
122725 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
122726 l_rec_acct_attrs.array_char_value(3) := p_source_60;
122727 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
122728 l_rec_acct_attrs.array_char_value(4) :=
122729 xla_ae_sources_pkg.GetSystemSourceChar(
122730 p_source_code => 'XLA_ENTITY_CODE'
122731 , p_source_type_code => 'Y'
122732 , p_source_application_id => 602
122733 );
122737 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_63);
122734 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
122735 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_62);
122736 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
122738 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
122739 l_rec_acct_attrs.array_num_value(7) := p_source_96;
122740 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
122741 l_rec_acct_attrs.array_char_value(8) := p_source_97;
122742 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
122743 l_rec_acct_attrs.array_char_value(9) := p_source_98;
122744 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
122745 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_99);
122746 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
122747 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_100);
122748 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
122749 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_69);
122750 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
122751 l_rec_acct_attrs.array_char_value(13) := p_source_60;
122752 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
122753 l_rec_acct_attrs.array_num_value(14) := p_source_70;
122754 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
122755 l_rec_acct_attrs.array_num_value(15) := p_source_71;
122756 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
122757 l_rec_acct_attrs.array_char_value(16) := p_source_72;
122758 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
122759 l_rec_acct_attrs.array_num_value(17) := p_source_73;
122760 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
122761 l_rec_acct_attrs.array_num_value(18) := p_source_74;
122762 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
122763 l_rec_acct_attrs.array_num_value(19) := p_source_75;
122764 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
122765 l_rec_acct_attrs.array_char_value(20) := p_source_72;
122766 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
122767 l_rec_acct_attrs.array_num_value(21) := p_source_76;
122768 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
122769 l_rec_acct_attrs.array_char_value(22) := p_source_77;
122770 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
122771 l_rec_acct_attrs.array_num_value(23) := p_source_78;
122772 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
122773 l_rec_acct_attrs.array_char_value(24) := p_source_72;
122774 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
122775 l_rec_acct_attrs.array_date_value(25) := p_source_146;
122776 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
122777 l_rec_acct_attrs.array_num_value(26) := p_source_147;
122778 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
122779 l_rec_acct_attrs.array_char_value(27) := p_source_148;
122780 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
122781 l_rec_acct_attrs.array_num_value(28) := p_source_16;
122782 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
122783 l_rec_acct_attrs.array_date_value(29) := p_source_82;
122784 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
122785 l_rec_acct_attrs.array_char_value(30) := p_source_83;
122786 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
122787 l_rec_acct_attrs.array_date_value(31) := p_source_84;
122788 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
122789 l_rec_acct_attrs.array_char_value(32) := p_source_85;
122790 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
122791 l_rec_acct_attrs.array_num_value(33) := p_source_86;
122792 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
122793 l_rec_acct_attrs.array_num_value(34) := p_source_87;
122794 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
122795 l_rec_acct_attrs.array_char_value(35) := p_source_88;
122796 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
122797 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_89);
122798 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
122799 l_rec_acct_attrs.array_char_value(37) := p_source_60;
122800 l_rec_acct_attrs.array_acct_attr_code(38) := 'TAX_LINE_REF_ID';
122801 l_rec_acct_attrs.array_num_value(38) := p_source_91;
122802 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_REC_NREC_DIST_REF_ID';
122803 l_rec_acct_attrs.array_num_value(39) := p_source_92;
122804 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_SUMMARY_LINE_REF_ID';
122805 l_rec_acct_attrs.array_num_value(40) := p_source_93;
122806 l_rec_acct_attrs.array_acct_attr_code(41) := 'UPG_CR_ENC_TYPE_ID';
122807 l_rec_acct_attrs.array_num_value(41) := p_source_94;
122808 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_DR_ENC_TYPE_ID';
122809 l_rec_acct_attrs.array_num_value(42) := p_source_95;
122810
122811 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
122812 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
122813
122814 ---------------------------------------------------------------------------------------------------------------
122815 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
122819 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
122816 ---------------------------------------------------------------------------------------------------------------
122817 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
122818
122820 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
122821
122822 IF xla_accounting_cache_pkg.GetValueChar
122823 (p_source_code => 'LEDGER_CATEGORY_CODE'
122824 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
122825 AND l_bflow_method_code = 'PRIOR_ENTRY'
122826 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
122827 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
122828 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
122829 )
122830 THEN
122831 xla_ae_lines_pkg.BflowUpgEntry
122832 (p_business_method_code => l_bflow_method_code
122833 ,p_business_class_code => l_bflow_class_code
122834 ,p_balance_type => l_balance_type_code);
122835 ELSE
122836 NULL;
122837 -- No business flow processing for business flow method of NONE.
122838 END IF;
122839
122840 --
122841 -- call analytical criteria
122842 --
122843
122844 --
122845 -- call description
122846 --
122847
122848 xla_ae_lines_pkg.SetLineDescription(
122849 p_ae_header_id => l_ae_header_id
122850 ,p_description => Description_2 (
122851 p_application_id => p_application_id
122852 , p_ae_header_id => l_ae_header_id
122853 , p_source_1 => p_source_1
122854 )
122855 );
122856
122857
122858 --
122859 -- call ADRs
122860 -- Bug 4922099
122861 --
122862 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
122863 (NVL(l_actual_upg_option, 'N') = 'O') OR
122864 (NVL(l_enc_upg_option, 'N') = 'O')
122865 )
122866 THEN
122867 NULL;
122868 --
122869 --
122870
122871 l_ccid := AcctDerRule_44(
122872 p_application_id => p_application_id
122873 , p_ae_header_id => l_ae_header_id
122874 , p_source_46 => p_source_46
122875 , x_transaction_coa_id => l_adr_transaction_coa_id
122876 , x_accounting_coa_id => l_adr_accounting_coa_id
122877 , x_value_type_code => l_adr_value_type_code
122878 , p_side => 'NA'
122879 );
122880
122881 xla_ae_lines_pkg.set_ccid(
122882 p_code_combination_id => l_ccid
122883 , p_value_type_code => l_adr_value_type_code
122884 , p_transaction_coa_id => l_adr_transaction_coa_id
122885 , p_accounting_coa_id => l_adr_accounting_coa_id
122886 , p_adr_code => 'AP_SELF_ASSESSED_TAX'
122887 , p_adr_type_code => 'S'
122888 , p_component_type => l_component_type
122889 , p_component_code => l_component_code
122890 , p_component_type_code => l_component_type_code
122891 , p_component_appl_id => l_component_appl_id
122892 , p_amb_context_code => l_amb_context_code
122893 , p_side => 'NA'
122894 );
122895
122896
122897 --
122898 --
122899 END IF;
122900 --
122901 -- Bug 4922099
122902 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
122903 (NVL(l_enc_upg_option, 'N') = 'O')
122904 ) AND
122905 (l_bflow_method_code = 'PRIOR_ENTRY')
122906 )
122907 THEN
122908 IF
122909 --
122910 1 = 2
122911 --
122912 THEN
122913 xla_accounting_err_pkg.build_message
122914 (p_appli_s_name => 'XLA'
122915 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
122916 ,p_token_1 => 'LINE_NUMBER'
122917 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
122918 ,p_token_2 => 'LINE_TYPE_NAME'
122919 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
122920 l_component_type
122921 ,l_component_code
122922 ,l_component_type_code
122923 ,l_component_appl_id
122924 ,l_amb_context_code
122925 ,l_entity_code
122926 ,l_event_class_code
122927 )
122928 ,p_token_3 => 'OWNER'
122929 ,p_value_3 => xla_lookups_pkg.get_meaning(
122930 p_lookup_type => 'XLA_OWNER_TYPE'
122931 ,p_lookup_code => l_component_type_code
122932 )
122936 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
122933 ,p_token_4 => 'PRODUCT_NAME'
122934 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
122935 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
122937 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
122938 ,p_ae_header_id => NULL
122939 );
122940
122941 IF (C_LEVEL_ERROR>= g_log_level) THEN
122942 trace
122943 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
122944 ,p_level => C_LEVEL_ERROR
122945 ,p_module => l_log_module);
122946 END IF;
122947 END IF;
122948 END IF;
122949 --
122950 --
122951 ------------------------------------------------------------------------------------------------
122952 -- 4219869 Business Flow
122953 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
122954 -- Prior Entry. Currently, the following code is always generated.
122955 ------------------------------------------------------------------------------------------------
122956 XLA_AE_LINES_PKG.ValidateCurrentLine;
122957
122958 ------------------------------------------------------------------------------------
122959 -- 4219869 Business Flow
122960 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
122961 ------------------------------------------------------------------------------------
122962 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
122963
122964 ----------------------------------------------------------------------------------
122965 -- 4219869 Business Flow
122966 -- Update journal entry status -- Need to generate this within IF <condition>
122967 ----------------------------------------------------------------------------------
122968 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
122969 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
122970 ,p_balance_type_code => l_balance_type_code
122971 );
122972
122973 -------------------------------------------------------------------------------------------
122974 -- 4262811 - Generate the Accrual Reversal lines
122975 -------------------------------------------------------------------------------------------
122976 BEGIN
122977 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
122978 (g_array_event(p_event_id).array_value_num('header_index'));
122979 IF l_acc_rev_flag IS NULL THEN
122980 l_acc_rev_flag := 'N';
122981 END IF;
122982 EXCEPTION
122983 WHEN OTHERS THEN
122984 l_acc_rev_flag := 'N';
122985 END;
122986 --
122987 IF (l_acc_rev_flag = 'Y') THEN
122988
122989 -- 4645092 ------------------------------------------------------------------------------
122990 -- To allow MPA report to determine if it should generate report process
122991 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
122992 ------------------------------------------------------------------------------------------
122993
122994 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
122995 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
122996 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
122997 -- call ADRs
122998 -- Bug 4922099
122999 --
123000 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
123001 (NVL(l_actual_upg_option, 'N') = 'O') OR
123002 (NVL(l_enc_upg_option, 'N') = 'O')
123003 )
123004 THEN
123005 NULL;
123006 --
123007 --
123008
123009 l_ccid := AcctDerRule_44(
123010 p_application_id => p_application_id
123011 , p_ae_header_id => l_ae_header_id
123012 , p_source_46 => p_source_46
123013 , x_transaction_coa_id => l_adr_transaction_coa_id
123014 , x_accounting_coa_id => l_adr_accounting_coa_id
123015 , x_value_type_code => l_adr_value_type_code
123016 , p_side => 'NA'
123017 );
123018
123019 xla_ae_lines_pkg.set_ccid(
123020 p_code_combination_id => l_ccid
123021 , p_value_type_code => l_adr_value_type_code
123022 , p_transaction_coa_id => l_adr_transaction_coa_id
123023 , p_accounting_coa_id => l_adr_accounting_coa_id
123024 , p_adr_code => 'AP_SELF_ASSESSED_TAX'
123025 , p_adr_type_code => 'S'
123026 , p_component_type => l_component_type
123027 , p_component_code => l_component_code
123028 , p_component_type_code => l_component_type_code
123029 , p_component_appl_id => l_component_appl_id
123030 , p_amb_context_code => l_amb_context_code
123031 , p_side => 'NA'
123032 );
123033
123034
123035 --
123036 --
123037 END IF;
123038
123039 --
123040 -- Update the line information that should be overwritten
123041 --
123042 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
123043 p_header_num => 1);
123047
123044 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
123045
123046 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
123048 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
123049 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
123050 END IF;
123051
123052 --
123053 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
123054 --
123055 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
123056 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
123057 ELSE
123058 ---------------------------------------------------------------------------------------------------
123059 -- 4262811a Switch Sign
123060 ---------------------------------------------------------------------------------------------------
123061 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
123062 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
123063 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
123064 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
123065 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
123066 -- 5132302
123067 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
123068 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
123069
123070 END IF;
123071
123072 -- 4955764
123073 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
123074 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
123075
123076
123077 XLA_AE_LINES_PKG.ValidateCurrentLine;
123078 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
123079
123080 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
123081 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
123082 ,p_balance_type_code => l_balance_type_code);
123083
123084 END IF;
123085
123086 -----------------------------------------------------------------------------------------
123087 -- 4262811 Multiperiod Accounting
123088 -----------------------------------------------------------------------------------------
123089 -- No MPA option is assigned.
123090
123091
123092 END IF;
123093 END IF;
123094 --
123095
123096 --
123097 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
123098 trace
123099 (p_msg => 'END of AcctLineType_210'
123100 ,p_level => C_LEVEL_PROCEDURE
123101 ,p_module => l_log_module);
123102 END IF;
123103 --
123104 EXCEPTION
123105 WHEN xla_exceptions_pkg.application_exception THEN
123106 RAISE;
123107 WHEN OTHERS THEN
123108 xla_exceptions_pkg.raise_message
123109 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_210');
123110 END AcctLineType_210;
123111 --
123112
123113 ---------------------------------------
123114 --
123115 -- PRIVATE FUNCTION
123116 -- AcctLineType_211
123117 --
123118 ---------------------------------------
123119 PROCEDURE AcctLineType_211 (
123120 p_application_id IN NUMBER
123121 ,p_event_id IN NUMBER
123122 ,p_calculate_acctd_flag IN VARCHAR2
123123 ,p_calculate_g_l_flag IN VARCHAR2
123124 ,p_actual_flag IN OUT VARCHAR2
123125 ,p_balance_type_code OUT VARCHAR2
123126 ,p_gain_or_loss_ref OUT VARCHAR2
123127
123128 --Invoice Distribution Description
123129 , p_source_1 IN VARCHAR2
123130 --Invoice Distribution Ledger Amount
123131 , p_source_16 IN NUMBER
123132 --Invoice Distribution Type
123133 , p_source_28 IN VARCHAR2
123134 , p_source_28_meaning IN VARCHAR2
123135 --Self-Assessed Tax Account
123136 , p_source_46 IN NUMBER
123137 --Accounting Reversal Indicator
123138 , p_source_58 IN VARCHAR2
123139 --Distribution Link Type
123140 , p_source_60 IN VARCHAR2
123141 --Allocation to Main Distribution Identifier
123142 , p_source_62 IN NUMBER
123143 --Invoice Identifier
123144 , p_source_63 IN NUMBER
123145 --Invoice Distribution Identifier
123146 , p_source_69 IN NUMBER
123147 --Payables Encumbrance Upgrade Credit Account
123148 , p_source_70 IN NUMBER
123149 --Payables Encumbrance Upgrade Credit Amount
123150 , p_source_71 IN NUMBER
123151 --Invoice Currency Code
123152 , p_source_72 IN VARCHAR2
123153 --Payables Encumbrance Upgrade Credit Base Amount
123154 , p_source_73 IN NUMBER
123155 --Payables Encumbrance Upgrade Debit Account
123156 , p_source_74 IN NUMBER
123157 --Payables Encumbrance Upgrade Debit Amount
123158 , p_source_75 IN NUMBER
123159 --Payables Encumbrance Upgrade Debit Base Amount
123160 , p_source_76 IN NUMBER
123161 --Payables Encumbrance Upgrade Option
123162 , p_source_77 IN VARCHAR2
123163 --Invoice Distribution Amount
123167 --Deferred Accounting Option
123164 , p_source_78 IN NUMBER
123165 --Deferred Accounting End Date
123166 , p_source_82 IN DATE
123168 , p_source_83 IN VARCHAR2
123169 --Deferred Accounting Start Date
123170 , p_source_84 IN DATE
123171 --Override Accounted Amount Indicator
123172 , p_source_85 IN VARCHAR2
123173 , p_source_85_meaning IN VARCHAR2
123174 --Invoice Supplier Identifier
123175 , p_source_86 IN NUMBER
123176 --Invoice Supplier Site Identifier
123177 , p_source_87 IN NUMBER
123178 --Third Party Type
123179 , p_source_88 IN VARCHAR2
123180 --Parent Reversal Identifier
123181 , p_source_89 IN NUMBER
123182 --Invoice Distribution Statistical Amount
123183 , p_source_90 IN NUMBER
123184 --Invoice Distribution Tax Line Identifier
123185 , p_source_91 IN NUMBER
123186 --Invoice Distribution Tax Distribution Identifier from Tax
123187 , p_source_92 IN NUMBER
123188 --Invoice Distribution Summary Tax Line Identifier
123189 , p_source_93 IN NUMBER
123190 --Payables Upgrade Credit Encumbrance Type Identifier
123191 , p_source_94 IN NUMBER
123192 --Payables Upgrade Debit Encumbrance Type Identifier
123193 , p_source_95 IN NUMBER
123194 --Business Flow Accounts Payable Application Identifier
123195 , p_source_96 IN NUMBER
123196 --Business Flow Invoice Distribution Type
123197 , p_source_97 IN VARCHAR2
123198 --Business Flow Invoice Entity Code
123199 , p_source_98 IN VARCHAR2
123200 --Business Flow Invoice Distribution Identifier
123201 , p_source_99 IN NUMBER
123202 --Business Flow Invoice Identifier
123203 , p_source_100 IN NUMBER
123204 --Self-Assessed Tax Flag
123205 , p_source_145 IN VARCHAR2
123206 , p_source_145_meaning IN VARCHAR2
123207 --Invoice Exchange Date
123208 , p_source_146 IN DATE
123209 --Invoice Exchange Rate
123210 , p_source_147 IN NUMBER
123211 --Invoice Exchange Rate Type
123212 , p_source_148 IN VARCHAR2
123213 )
123214 IS
123215
123216 l_component_type VARCHAR2(80);
123217 l_component_code VARCHAR2(30);
123218 l_component_type_code VARCHAR2(1);
123219 l_component_appl_id INTEGER;
123220 l_amb_context_code VARCHAR2(30);
123221 l_entity_code VARCHAR2(30);
123222 l_event_class_code VARCHAR2(30);
123223 l_ae_header_id NUMBER;
123224 l_event_type_code VARCHAR2(30);
123225 l_line_definition_code VARCHAR2(30);
123226 l_line_definition_owner_code VARCHAR2(1);
123227 --
123228 -- adr variables
123229 l_segment VARCHAR2(30);
123230 l_ccid NUMBER;
123231 l_adr_transaction_coa_id NUMBER;
123232 l_adr_accounting_coa_id NUMBER;
123233 l_adr_flexfield_segment_code VARCHAR2(30);
123234 l_adr_flex_value_set_id NUMBER;
123235 l_adr_value_type_code VARCHAR2(30);
123236 l_adr_value_combination_id NUMBER;
123237 l_adr_value_segment_code VARCHAR2(30);
123238
123239 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
123240 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
123241 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
123242 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
123243
123244 -- 4262811 Variables ------------------------------------------------------------------------------------------
123245 l_entered_amt_idx NUMBER;
123246 l_accted_amt_idx NUMBER;
123247 l_acc_rev_flag VARCHAR2(1);
123248 l_accrual_line_num NUMBER;
123249 l_tmp_amt NUMBER;
123250 l_acc_rev_natural_side_code VARCHAR2(1);
123251
123252 l_num_entries NUMBER;
123253 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
123254 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
123255 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
123256 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
123257 l_recog_line_1 NUMBER;
123258 l_recog_line_2 NUMBER;
123259
123260 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
123261 l_bflow_applied_to_amt NUMBER; -- 5132302
123262 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
123263
123264 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
123265
123266 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
123267 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
123268
123269 ---------------------------------------------------------------------------------------------------------------
123270
123271
123272 --
123273 -- bulk performance
123274 --
123275 l_balance_type_code VARCHAR2(1);
123276 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
123277 l_log_module VARCHAR2(240);
123278
123279 --
123280 -- Upgrade strategy
123281 --
123282 l_actual_upg_option VARCHAR2(1);
123283 l_enc_upg_option VARCHAR2(1);
123284
123285 --
123286 BEGIN
123287 --
123288 IF g_log_enabled THEN
123289 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_211';
123290 END IF;
123291 --
123292 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
123293
123294 trace
123298
123295 (p_msg => 'BEGIN of AcctLineType_211'
123296 ,p_level => C_LEVEL_PROCEDURE
123297 ,p_module => l_log_module);
123299 END IF;
123300 --
123301 l_component_type := 'AMB_JLT';
123302 l_component_code := 'AP_SELF_ASSESSED_REC_TAX_INV';
123303 l_component_type_code := 'S';
123304 l_component_appl_id := 200;
123305 l_amb_context_code := 'DEFAULT';
123306 l_entity_code := 'AP_INVOICES';
123307 l_event_class_code := 'INVOICES';
123308 l_event_type_code := 'INVOICES_ALL';
123309 l_line_definition_owner_code := 'S';
123310 l_line_definition_code := 'ACCRUAL_INVOICES_ALL';
123311 --
123312 l_balance_type_code := 'A';
123313 l_segment := NULL;
123314 l_ccid := NULL;
123315 l_adr_transaction_coa_id := NULL;
123316 l_adr_accounting_coa_id := NULL;
123317 l_adr_flexfield_segment_code := NULL;
123318 l_adr_flex_value_set_id := NULL;
123319 l_adr_value_type_code := NULL;
123320 l_adr_value_combination_id := NULL;
123321 l_adr_value_segment_code := NULL;
123322
123323 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
123324 l_bflow_class_code := ''; -- 4219869 Business Flow
123325 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
123326 l_budgetary_control_flag := 'N';
123327
123328 l_bflow_applied_to_amt_idx := NULL; -- 5132302
123329 l_bflow_applied_to_amt := NULL; -- 5132302
123330 l_entered_amt_idx := NULL; -- 4262811
123331 l_accted_amt_idx := NULL; -- 4262811
123332 l_acc_rev_flag := NULL; -- 4262811
123333 l_accrual_line_num := NULL; -- 4262811
123334 l_tmp_amt := NULL; -- 4262811
123335 --
123336
123337 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
123338 l_balance_type_code <> 'B' THEN
123339 IF NVL(p_source_28,'
123340 ') = 'REC_TAX' AND
123341 NVL(p_source_145,'
123342 ') = 'Y'
123343 THEN
123344
123345 --
123346 XLA_AE_LINES_PKG.SetNewLine;
123347
123348 p_balance_type_code := l_balance_type_code;
123349 -- set the flag so later we will know whether the gain loss line needs to be created
123350
123351 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
123352 p_actual_flag :='A';
123353 END IF;
123354
123355 --
123356 -- bulk performance
123357 --
123358 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
123359 p_header_num => 0); -- 4262811
123360 --
123361 -- set accounting line options
123362 --
123363 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
123364 p_natural_side_code => 'D'
123365 , p_gain_or_loss_flag => 'N'
123366 , p_gl_transfer_mode_code => 'S'
123367 , p_acct_entry_type_code => 'A'
123368 , p_switch_side_flag => 'Y'
123369 , p_merge_duplicate_code => 'A'
123370 );
123371 --
123372 l_acc_rev_natural_side_code := 'C'; -- 4262811
123373 --
123374 --
123375 -- set accounting line type info
123376 --
123377 xla_ae_lines_pkg.SetAcctLineType
123378 (p_component_type => l_component_type
123379 ,p_event_type_code => l_event_type_code
123380 ,p_line_definition_owner_code => l_line_definition_owner_code
123381 ,p_line_definition_code => l_line_definition_code
123382 ,p_accounting_line_code => l_component_code
123383 ,p_accounting_line_type_code => l_component_type_code
123384 ,p_accounting_line_appl_id => l_component_appl_id
123385 ,p_amb_context_code => l_amb_context_code
123386 ,p_entity_code => l_entity_code
123387 ,p_event_class_code => l_event_class_code);
123388 --
123389 -- set accounting class
123390 --
123391 xla_ae_lines_pkg.SetAcctClass(
123392 p_accounting_class_code => 'SELF_ASSESSED_TAX'
123393 , p_ae_header_id => l_ae_header_id
123394 );
123395
123396 --
123397 -- set rounding class
123398 --
123399 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
123400 'SELF_ASSESSED_TAX';
123401
123402 --
123403 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
123404 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
123405 --
123406 -- bulk performance
123407 --
123408 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
123409
123410 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
123411 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
123412
123413 -- 4955764
123414 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
123415 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
123416
123417 -- 4458381 Public Sector Enh
123418
123419 --
123420 -- set accounting attributes for the line type
123421 --
123422 l_entered_amt_idx := 24;
123423 l_accted_amt_idx := 29;
123427 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
123424 l_bflow_applied_to_amt_idx := 7; -- 5132302
123425 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
123426 l_rec_acct_attrs.array_char_value(1) := p_source_58;
123428 l_rec_acct_attrs.array_num_value(2) :=
123429 xla_ae_sources_pkg.GetSystemSourceNum(
123430 p_source_code => 'XLA_EVENT_APPL_ID'
123431 , p_source_type_code => 'Y'
123432 , p_source_application_id => 602
123433 );
123434 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
123435 l_rec_acct_attrs.array_char_value(3) := p_source_60;
123436 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
123437 l_rec_acct_attrs.array_char_value(4) :=
123438 xla_ae_sources_pkg.GetSystemSourceChar(
123439 p_source_code => 'XLA_ENTITY_CODE'
123440 , p_source_type_code => 'Y'
123441 , p_source_application_id => 602
123442 );
123443 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
123444 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_62);
123445 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
123446 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_63);
123447 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
123448 l_rec_acct_attrs.array_num_value(7) := p_source_78;
123449 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
123450 l_rec_acct_attrs.array_num_value(8) := p_source_96;
123451 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
123452 l_rec_acct_attrs.array_char_value(9) := p_source_97;
123453 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
123454 l_rec_acct_attrs.array_char_value(10) := p_source_98;
123455 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
123456 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_99);
123457 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
123458 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_100);
123459 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
123460 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_69);
123461 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
123462 l_rec_acct_attrs.array_char_value(14) := p_source_60;
123463 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
123464 l_rec_acct_attrs.array_num_value(15) := p_source_70;
123465 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
123466 l_rec_acct_attrs.array_num_value(16) := p_source_71;
123467 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
123468 l_rec_acct_attrs.array_char_value(17) := p_source_72;
123469 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
123470 l_rec_acct_attrs.array_num_value(18) := p_source_73;
123471 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
123472 l_rec_acct_attrs.array_num_value(19) := p_source_74;
123473 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
123474 l_rec_acct_attrs.array_num_value(20) := p_source_75;
123475 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
123476 l_rec_acct_attrs.array_char_value(21) := p_source_72;
123477 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
123478 l_rec_acct_attrs.array_num_value(22) := p_source_76;
123479 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
123480 l_rec_acct_attrs.array_char_value(23) := p_source_77;
123481 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_AMOUNT';
123482 l_rec_acct_attrs.array_num_value(24) := p_source_78;
123483 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_CODE';
123484 l_rec_acct_attrs.array_char_value(25) := p_source_72;
123485 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_DATE';
123486 l_rec_acct_attrs.array_date_value(26) := p_source_146;
123487 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE';
123488 l_rec_acct_attrs.array_num_value(27) := p_source_147;
123489 l_rec_acct_attrs.array_acct_attr_code(28) := 'EXCHANGE_RATE_TYPE';
123490 l_rec_acct_attrs.array_char_value(28) := p_source_148;
123491 l_rec_acct_attrs.array_acct_attr_code(29) := 'LEDGER_AMOUNT';
123492 l_rec_acct_attrs.array_num_value(29) := p_source_16;
123493 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_END_DATE';
123494 l_rec_acct_attrs.array_date_value(30) := p_source_82;
123495 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_OPTION';
123496 l_rec_acct_attrs.array_char_value(31) := p_source_83;
123497 l_rec_acct_attrs.array_acct_attr_code(32) := 'MULTIPERIOD_START_DATE';
123498 l_rec_acct_attrs.array_date_value(32) := p_source_84;
123499 l_rec_acct_attrs.array_acct_attr_code(33) := 'OVERRIDE_ACCTD_AMT_FLAG';
123500 l_rec_acct_attrs.array_char_value(33) := p_source_85;
123501 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_ID';
123502 l_rec_acct_attrs.array_num_value(34) := p_source_86;
123503 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_SITE_ID';
123504 l_rec_acct_attrs.array_num_value(35) := p_source_87;
123505 l_rec_acct_attrs.array_acct_attr_code(36) := 'PARTY_TYPE';
123506 l_rec_acct_attrs.array_char_value(36) := p_source_88;
123507 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_ID1';
123508 l_rec_acct_attrs.array_num_value(37) := to_char(p_source_89);
123509 l_rec_acct_attrs.array_acct_attr_code(38) := 'REVERSED_DISTRIBUTION_TYPE';
123510 l_rec_acct_attrs.array_char_value(38) := p_source_60;
123514 l_rec_acct_attrs.array_num_value(40) := p_source_91;
123511 l_rec_acct_attrs.array_acct_attr_code(39) := 'STATISTICAL_AMOUNT';
123512 l_rec_acct_attrs.array_num_value(39) := p_source_90;
123513 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_LINE_REF_ID';
123515 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_REC_NREC_DIST_REF_ID';
123516 l_rec_acct_attrs.array_num_value(41) := p_source_92;
123517 l_rec_acct_attrs.array_acct_attr_code(42) := 'TAX_SUMMARY_LINE_REF_ID';
123518 l_rec_acct_attrs.array_num_value(42) := p_source_93;
123519 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_CR_ENC_TYPE_ID';
123520 l_rec_acct_attrs.array_num_value(43) := p_source_94;
123521 l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
123522 l_rec_acct_attrs.array_num_value(44) := p_source_95;
123523
123524 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
123525 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
123526
123527 ---------------------------------------------------------------------------------------------------------------
123528 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
123529 ---------------------------------------------------------------------------------------------------------------
123530 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
123531
123532 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
123533 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
123534
123535 IF xla_accounting_cache_pkg.GetValueChar
123536 (p_source_code => 'LEDGER_CATEGORY_CODE'
123537 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
123538 AND l_bflow_method_code = 'PRIOR_ENTRY'
123539 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
123540 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
123541 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
123542 )
123543 THEN
123544 xla_ae_lines_pkg.BflowUpgEntry
123545 (p_business_method_code => l_bflow_method_code
123546 ,p_business_class_code => l_bflow_class_code
123547 ,p_balance_type => l_balance_type_code);
123548 ELSE
123549 NULL;
123550 -- No business flow processing for business flow method of NONE.
123551 END IF;
123552
123553 --
123554 -- call analytical criteria
123555 --
123556
123557 --
123558 -- call description
123559 --
123560
123561 xla_ae_lines_pkg.SetLineDescription(
123562 p_ae_header_id => l_ae_header_id
123563 ,p_description => Description_2 (
123564 p_application_id => p_application_id
123565 , p_ae_header_id => l_ae_header_id
123566 , p_source_1 => p_source_1
123567 )
123568 );
123569
123570
123571 --
123572 -- call ADRs
123573 -- Bug 4922099
123574 --
123575 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
123576 (NVL(l_actual_upg_option, 'N') = 'O') OR
123577 (NVL(l_enc_upg_option, 'N') = 'O')
123578 )
123579 THEN
123580 NULL;
123581 --
123582 --
123583
123584 l_ccid := AcctDerRule_44(
123585 p_application_id => p_application_id
123586 , p_ae_header_id => l_ae_header_id
123587 , p_source_46 => p_source_46
123588 , x_transaction_coa_id => l_adr_transaction_coa_id
123589 , x_accounting_coa_id => l_adr_accounting_coa_id
123590 , x_value_type_code => l_adr_value_type_code
123591 , p_side => 'NA'
123592 );
123593
123594 xla_ae_lines_pkg.set_ccid(
123595 p_code_combination_id => l_ccid
123596 , p_value_type_code => l_adr_value_type_code
123597 , p_transaction_coa_id => l_adr_transaction_coa_id
123598 , p_accounting_coa_id => l_adr_accounting_coa_id
123599 , p_adr_code => 'AP_SELF_ASSESSED_TAX'
123600 , p_adr_type_code => 'S'
123601 , p_component_type => l_component_type
123602 , p_component_code => l_component_code
123603 , p_component_type_code => l_component_type_code
123604 , p_component_appl_id => l_component_appl_id
123605 , p_amb_context_code => l_amb_context_code
123606 , p_side => 'NA'
123607 );
123608
123609
123610 --
123611 --
123612 END IF;
123613 --
123614 -- Bug 4922099
123615 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
123616 (NVL(l_enc_upg_option, 'N') = 'O')
123617 ) AND
123618 (l_bflow_method_code = 'PRIOR_ENTRY')
123619 )
123620 THEN
123621 IF
123622 --
123623 1 = 2
123624 --
123625 THEN
123626 xla_accounting_err_pkg.build_message
123627 (p_appli_s_name => 'XLA'
123628 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
123629 ,p_token_1 => 'LINE_NUMBER'
123630 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
123631 ,p_token_2 => 'LINE_TYPE_NAME'
123635 ,l_component_type_code
123632 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
123633 l_component_type
123634 ,l_component_code
123636 ,l_component_appl_id
123637 ,l_amb_context_code
123638 ,l_entity_code
123639 ,l_event_class_code
123640 )
123641 ,p_token_3 => 'OWNER'
123642 ,p_value_3 => xla_lookups_pkg.get_meaning(
123643 p_lookup_type => 'XLA_OWNER_TYPE'
123644 ,p_lookup_code => l_component_type_code
123645 )
123646 ,p_token_4 => 'PRODUCT_NAME'
123647 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
123648 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
123649 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
123650 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
123651 ,p_ae_header_id => NULL
123652 );
123653
123654 IF (C_LEVEL_ERROR>= g_log_level) THEN
123655 trace
123656 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
123657 ,p_level => C_LEVEL_ERROR
123658 ,p_module => l_log_module);
123659 END IF;
123660 END IF;
123661 END IF;
123662 --
123663 --
123664 ------------------------------------------------------------------------------------------------
123665 -- 4219869 Business Flow
123666 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
123667 -- Prior Entry. Currently, the following code is always generated.
123668 ------------------------------------------------------------------------------------------------
123669 XLA_AE_LINES_PKG.ValidateCurrentLine;
123670
123671 ------------------------------------------------------------------------------------
123672 -- 4219869 Business Flow
123673 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
123674 ------------------------------------------------------------------------------------
123675 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
123676
123677 ----------------------------------------------------------------------------------
123678 -- 4219869 Business Flow
123679 -- Update journal entry status -- Need to generate this within IF <condition>
123680 ----------------------------------------------------------------------------------
123681 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
123682 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
123683 ,p_balance_type_code => l_balance_type_code
123684 );
123685
123686 -------------------------------------------------------------------------------------------
123687 -- 4262811 - Generate the Accrual Reversal lines
123688 -------------------------------------------------------------------------------------------
123689 BEGIN
123690 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
123691 (g_array_event(p_event_id).array_value_num('header_index'));
123692 IF l_acc_rev_flag IS NULL THEN
123693 l_acc_rev_flag := 'N';
123694 END IF;
123695 EXCEPTION
123696 WHEN OTHERS THEN
123697 l_acc_rev_flag := 'N';
123698 END;
123699 --
123700 IF (l_acc_rev_flag = 'Y') THEN
123701
123702 -- 4645092 ------------------------------------------------------------------------------
123703 -- To allow MPA report to determine if it should generate report process
123704 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
123705 ------------------------------------------------------------------------------------------
123706
123707 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
123708 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
123709 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
123710 -- call ADRs
123711 -- Bug 4922099
123712 --
123713 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
123714 (NVL(l_actual_upg_option, 'N') = 'O') OR
123715 (NVL(l_enc_upg_option, 'N') = 'O')
123716 )
123717 THEN
123718 NULL;
123719 --
123720 --
123721
123722 l_ccid := AcctDerRule_44(
123723 p_application_id => p_application_id
123724 , p_ae_header_id => l_ae_header_id
123725 , p_source_46 => p_source_46
123726 , x_transaction_coa_id => l_adr_transaction_coa_id
123727 , x_accounting_coa_id => l_adr_accounting_coa_id
123728 , x_value_type_code => l_adr_value_type_code
123732 xla_ae_lines_pkg.set_ccid(
123729 , p_side => 'NA'
123730 );
123731
123733 p_code_combination_id => l_ccid
123734 , p_value_type_code => l_adr_value_type_code
123735 , p_transaction_coa_id => l_adr_transaction_coa_id
123736 , p_accounting_coa_id => l_adr_accounting_coa_id
123737 , p_adr_code => 'AP_SELF_ASSESSED_TAX'
123738 , p_adr_type_code => 'S'
123739 , p_component_type => l_component_type
123740 , p_component_code => l_component_code
123741 , p_component_type_code => l_component_type_code
123742 , p_component_appl_id => l_component_appl_id
123743 , p_amb_context_code => l_amb_context_code
123744 , p_side => 'NA'
123745 );
123746
123747
123748 --
123749 --
123750 END IF;
123751
123752 --
123753 -- Update the line information that should be overwritten
123754 --
123755 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
123756 p_header_num => 1);
123757 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
123758
123759 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
123760
123761 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
123762 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
123763 END IF;
123764
123765 --
123766 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
123767 --
123768 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
123769 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
123770 ELSE
123771 ---------------------------------------------------------------------------------------------------
123772 -- 4262811a Switch Sign
123773 ---------------------------------------------------------------------------------------------------
123774 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
123775 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
123776 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
123777 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
123778 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
123779 -- 5132302
123780 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
123781 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
123782
123783 END IF;
123784
123785 -- 4955764
123786 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
123787 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
123788
123789
123790 XLA_AE_LINES_PKG.ValidateCurrentLine;
123791 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
123792
123793 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
123794 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
123795 ,p_balance_type_code => l_balance_type_code);
123796
123797 END IF;
123798
123799 -----------------------------------------------------------------------------------------
123800 -- 4262811 Multiperiod Accounting
123801 -----------------------------------------------------------------------------------------
123802 -- No MPA option is assigned.
123803
123804
123805 END IF;
123806 END IF;
123807 --
123808
123809 --
123810 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
123811 trace
123812 (p_msg => 'END of AcctLineType_211'
123813 ,p_level => C_LEVEL_PROCEDURE
123814 ,p_module => l_log_module);
123815 END IF;
123816 --
123817 EXCEPTION
123818 WHEN xla_exceptions_pkg.application_exception THEN
123819 RAISE;
123820 WHEN OTHERS THEN
123821 xla_exceptions_pkg.raise_message
123822 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_211');
123823 END AcctLineType_211;
123824 --
123825
123826 ---------------------------------------
123827 --
123828 -- PRIVATE FUNCTION
123829 -- AcctLineType_212
123830 --
123831 ---------------------------------------
123832 PROCEDURE AcctLineType_212 (
123833 p_application_id IN NUMBER
123834 ,p_event_id IN NUMBER
123835 ,p_calculate_acctd_flag IN VARCHAR2
123836 ,p_calculate_g_l_flag IN VARCHAR2
123837 ,p_actual_flag IN OUT VARCHAR2
123838 ,p_balance_type_code OUT VARCHAR2
123839 ,p_gain_or_loss_ref OUT VARCHAR2
123840
123841 --Invoice Distribution Description
123842 , p_source_1 IN VARCHAR2
123843 --Invoice Distribution Ledger Amount
123844 , p_source_16 IN NUMBER
123845 --Invoice Distribution Type
123846 , p_source_28 IN VARCHAR2
123847 , p_source_28_meaning IN VARCHAR2
123848 --Self-Assessed Tax Liability Account
123849 , p_source_47 IN NUMBER
123850 --Accounting Reversal Indicator
123851 , p_source_58 IN VARCHAR2
123852 --Distribution Link Type
123856 --Invoice Identifier
123853 , p_source_60 IN VARCHAR2
123854 --Allocation to Main Distribution Identifier
123855 , p_source_62 IN NUMBER
123857 , p_source_63 IN NUMBER
123858 --Invoice Distribution Identifier
123859 , p_source_69 IN NUMBER
123860 --Payables Encumbrance Upgrade Credit Account
123861 , p_source_70 IN NUMBER
123862 --Payables Encumbrance Upgrade Credit Amount
123863 , p_source_71 IN NUMBER
123864 --Invoice Currency Code
123865 , p_source_72 IN VARCHAR2
123866 --Payables Encumbrance Upgrade Credit Base Amount
123867 , p_source_73 IN NUMBER
123868 --Payables Encumbrance Upgrade Debit Account
123869 , p_source_74 IN NUMBER
123870 --Payables Encumbrance Upgrade Debit Amount
123871 , p_source_75 IN NUMBER
123872 --Payables Encumbrance Upgrade Debit Base Amount
123873 , p_source_76 IN NUMBER
123874 --Payables Encumbrance Upgrade Option
123875 , p_source_77 IN VARCHAR2
123876 --Invoice Distribution Amount
123877 , p_source_78 IN NUMBER
123878 --Deferred Accounting End Date
123879 , p_source_82 IN DATE
123880 --Deferred Accounting Option
123881 , p_source_83 IN VARCHAR2
123882 --Deferred Accounting Start Date
123883 , p_source_84 IN DATE
123884 --Override Accounted Amount Indicator
123885 , p_source_85 IN VARCHAR2
123886 , p_source_85_meaning IN VARCHAR2
123887 --Invoice Supplier Identifier
123888 , p_source_86 IN NUMBER
123889 --Invoice Supplier Site Identifier
123890 , p_source_87 IN NUMBER
123891 --Third Party Type
123892 , p_source_88 IN VARCHAR2
123893 --Parent Reversal Identifier
123894 , p_source_89 IN NUMBER
123895 --Invoice Distribution Statistical Amount
123896 , p_source_90 IN NUMBER
123897 --Invoice Distribution Tax Line Identifier
123898 , p_source_91 IN NUMBER
123899 --Invoice Distribution Tax Distribution Identifier from Tax
123900 , p_source_92 IN NUMBER
123901 --Invoice Distribution Summary Tax Line Identifier
123902 , p_source_93 IN NUMBER
123903 --Payables Upgrade Credit Encumbrance Type Identifier
123904 , p_source_94 IN NUMBER
123905 --Payables Upgrade Debit Encumbrance Type Identifier
123906 , p_source_95 IN NUMBER
123907 --Business Flow Accounts Payable Application Identifier
123908 , p_source_96 IN NUMBER
123909 --Business Flow Invoice Distribution Type
123910 , p_source_97 IN VARCHAR2
123911 --Business Flow Invoice Entity Code
123912 , p_source_98 IN VARCHAR2
123913 --Business Flow Invoice Distribution Identifier
123914 , p_source_99 IN NUMBER
123915 --Business Flow Invoice Identifier
123916 , p_source_100 IN NUMBER
123917 --Self-Assessed Tax Flag
123918 , p_source_145 IN VARCHAR2
123919 , p_source_145_meaning IN VARCHAR2
123920 --Invoice Exchange Date
123921 , p_source_146 IN DATE
123922 --Invoice Exchange Rate
123923 , p_source_147 IN NUMBER
123924 --Invoice Exchange Rate Type
123925 , p_source_148 IN VARCHAR2
123926 )
123927 IS
123928
123929 l_component_type VARCHAR2(80);
123930 l_component_code VARCHAR2(30);
123931 l_component_type_code VARCHAR2(1);
123932 l_component_appl_id INTEGER;
123933 l_amb_context_code VARCHAR2(30);
123934 l_entity_code VARCHAR2(30);
123935 l_event_class_code VARCHAR2(30);
123936 l_ae_header_id NUMBER;
123937 l_event_type_code VARCHAR2(30);
123938 l_line_definition_code VARCHAR2(30);
123939 l_line_definition_owner_code VARCHAR2(1);
123940 --
123941 -- adr variables
123942 l_segment VARCHAR2(30);
123943 l_ccid NUMBER;
123944 l_adr_transaction_coa_id NUMBER;
123945 l_adr_accounting_coa_id NUMBER;
123946 l_adr_flexfield_segment_code VARCHAR2(30);
123947 l_adr_flex_value_set_id NUMBER;
123948 l_adr_value_type_code VARCHAR2(30);
123949 l_adr_value_combination_id NUMBER;
123950 l_adr_value_segment_code VARCHAR2(30);
123951
123952 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
123953 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
123954 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
123955 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
123956
123957 -- 4262811 Variables ------------------------------------------------------------------------------------------
123958 l_entered_amt_idx NUMBER;
123959 l_accted_amt_idx NUMBER;
123960 l_acc_rev_flag VARCHAR2(1);
123961 l_accrual_line_num NUMBER;
123962 l_tmp_amt NUMBER;
123963 l_acc_rev_natural_side_code VARCHAR2(1);
123964
123965 l_num_entries NUMBER;
123966 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
123967 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
123968 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
123969 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
123970 l_recog_line_1 NUMBER;
123971 l_recog_line_2 NUMBER;
123972
123973 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
123974 l_bflow_applied_to_amt NUMBER; -- 5132302
123975 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
123979 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
123976
123977 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
123978
123980 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
123981
123982 ---------------------------------------------------------------------------------------------------------------
123983
123984
123985 --
123986 -- bulk performance
123987 --
123988 l_balance_type_code VARCHAR2(1);
123989 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
123990 l_log_module VARCHAR2(240);
123991
123992 --
123993 -- Upgrade strategy
123994 --
123995 l_actual_upg_option VARCHAR2(1);
123996 l_enc_upg_option VARCHAR2(1);
123997
123998 --
123999 BEGIN
124000 --
124001 IF g_log_enabled THEN
124002 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_212';
124003 END IF;
124004 --
124005 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
124006
124007 trace
124008 (p_msg => 'BEGIN of AcctLineType_212'
124009 ,p_level => C_LEVEL_PROCEDURE
124010 ,p_module => l_log_module);
124011
124012 END IF;
124013 --
124014 l_component_type := 'AMB_JLT';
124015 l_component_code := 'AP_SELF_ASSESSED_TAX_CLR_CM';
124016 l_component_type_code := 'S';
124017 l_component_appl_id := 200;
124018 l_amb_context_code := 'DEFAULT';
124019 l_entity_code := 'AP_INVOICES';
124020 l_event_class_code := 'CREDIT MEMOS';
124021 l_event_type_code := 'CREDIT MEMOS_ALL';
124022 l_line_definition_owner_code := 'S';
124023 l_line_definition_code := 'ACCRUAL_CREDIT MEMOS_ALL';
124024 --
124025 l_balance_type_code := 'A';
124026 l_segment := NULL;
124027 l_ccid := NULL;
124028 l_adr_transaction_coa_id := NULL;
124029 l_adr_accounting_coa_id := NULL;
124030 l_adr_flexfield_segment_code := NULL;
124031 l_adr_flex_value_set_id := NULL;
124032 l_adr_value_type_code := NULL;
124033 l_adr_value_combination_id := NULL;
124034 l_adr_value_segment_code := NULL;
124035
124036 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
124037 l_bflow_class_code := ''; -- 4219869 Business Flow
124038 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
124039 l_budgetary_control_flag := 'N';
124040
124041 l_bflow_applied_to_amt_idx := NULL; -- 5132302
124042 l_bflow_applied_to_amt := NULL; -- 5132302
124043 l_entered_amt_idx := NULL; -- 4262811
124044 l_accted_amt_idx := NULL; -- 4262811
124045 l_acc_rev_flag := NULL; -- 4262811
124046 l_accrual_line_num := NULL; -- 4262811
124047 l_tmp_amt := NULL; -- 4262811
124048 --
124049
124050 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
124051 l_balance_type_code <> 'B' THEN
124052 IF (NVL(p_source_28,'
124053 ') = 'REC_TAX' OR
124054 NVL(p_source_28,'
124055 ') = 'NONREC_TAX') AND
124056 NVL(p_source_145,'
124057 ') = 'Y'
124058 THEN
124059
124060 --
124061 XLA_AE_LINES_PKG.SetNewLine;
124062
124063 p_balance_type_code := l_balance_type_code;
124064 -- set the flag so later we will know whether the gain loss line needs to be created
124065
124066 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
124067 p_actual_flag :='A';
124068 END IF;
124069
124070 --
124071 -- bulk performance
124072 --
124073 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
124074 p_header_num => 0); -- 4262811
124075 --
124076 -- set accounting line options
124077 --
124078 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
124079 p_natural_side_code => 'C'
124080 , p_gain_or_loss_flag => 'N'
124081 , p_gl_transfer_mode_code => 'S'
124082 , p_acct_entry_type_code => 'A'
124083 , p_switch_side_flag => 'Y'
124084 , p_merge_duplicate_code => 'A'
124085 );
124086 --
124087 l_acc_rev_natural_side_code := 'D'; -- 4262811
124088 --
124089 --
124090 -- set accounting line type info
124091 --
124092 xla_ae_lines_pkg.SetAcctLineType
124093 (p_component_type => l_component_type
124094 ,p_event_type_code => l_event_type_code
124095 ,p_line_definition_owner_code => l_line_definition_owner_code
124096 ,p_line_definition_code => l_line_definition_code
124097 ,p_accounting_line_code => l_component_code
124098 ,p_accounting_line_type_code => l_component_type_code
124099 ,p_accounting_line_appl_id => l_component_appl_id
124100 ,p_amb_context_code => l_amb_context_code
124101 ,p_entity_code => l_entity_code
124102 ,p_event_class_code => l_event_class_code);
124103 --
124104 -- set accounting class
124105 --
124106 xla_ae_lines_pkg.SetAcctClass(
124107 p_accounting_class_code => 'SELF_ASSESSED_TAX'
124108 , p_ae_header_id => l_ae_header_id
124109 );
124110
124111 --
124112 -- set rounding class
124113 --
124117 --
124114 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
124115 'SELF_ASSESSED_TAX';
124116
124118 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
124119 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
124120 --
124121 -- bulk performance
124122 --
124123 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
124124
124125 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
124126 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
124127
124128 -- 4955764
124129 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
124130 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
124131
124132 -- 4458381 Public Sector Enh
124133
124134 --
124135 -- set accounting attributes for the line type
124136 --
124137 l_entered_amt_idx := 23;
124138 l_accted_amt_idx := 28;
124139 l_bflow_applied_to_amt_idx := NULL; -- 5132302
124140 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
124141 l_rec_acct_attrs.array_char_value(1) := p_source_58;
124142 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
124143 l_rec_acct_attrs.array_num_value(2) :=
124144 xla_ae_sources_pkg.GetSystemSourceNum(
124145 p_source_code => 'XLA_EVENT_APPL_ID'
124146 , p_source_type_code => 'Y'
124147 , p_source_application_id => 602
124148 );
124149 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
124150 l_rec_acct_attrs.array_char_value(3) := p_source_60;
124151 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
124152 l_rec_acct_attrs.array_char_value(4) :=
124153 xla_ae_sources_pkg.GetSystemSourceChar(
124154 p_source_code => 'XLA_ENTITY_CODE'
124155 , p_source_type_code => 'Y'
124156 , p_source_application_id => 602
124157 );
124158 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
124159 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_62);
124160 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
124161 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_63);
124162 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
124163 l_rec_acct_attrs.array_num_value(7) := p_source_96;
124164 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
124165 l_rec_acct_attrs.array_char_value(8) := p_source_97;
124166 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
124167 l_rec_acct_attrs.array_char_value(9) := p_source_98;
124168 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
124169 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_99);
124170 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
124171 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_100);
124172 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
124173 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_69);
124174 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
124175 l_rec_acct_attrs.array_char_value(13) := p_source_60;
124176 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
124177 l_rec_acct_attrs.array_num_value(14) := p_source_70;
124178 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
124179 l_rec_acct_attrs.array_num_value(15) := p_source_71;
124180 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
124181 l_rec_acct_attrs.array_char_value(16) := p_source_72;
124182 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
124183 l_rec_acct_attrs.array_num_value(17) := p_source_73;
124184 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
124185 l_rec_acct_attrs.array_num_value(18) := p_source_74;
124186 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
124187 l_rec_acct_attrs.array_num_value(19) := p_source_75;
124188 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
124189 l_rec_acct_attrs.array_char_value(20) := p_source_72;
124190 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
124191 l_rec_acct_attrs.array_num_value(21) := p_source_76;
124192 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
124193 l_rec_acct_attrs.array_char_value(22) := p_source_77;
124194 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
124195 l_rec_acct_attrs.array_num_value(23) := p_source_78;
124196 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
124197 l_rec_acct_attrs.array_char_value(24) := p_source_72;
124198 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
124199 l_rec_acct_attrs.array_date_value(25) := p_source_146;
124200 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
124201 l_rec_acct_attrs.array_num_value(26) := p_source_147;
124202 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
124203 l_rec_acct_attrs.array_char_value(27) := p_source_148;
124204 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
124205 l_rec_acct_attrs.array_num_value(28) := p_source_16;
124206 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
124207 l_rec_acct_attrs.array_date_value(29) := p_source_82;
124208 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
124212 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
124209 l_rec_acct_attrs.array_char_value(30) := p_source_83;
124210 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
124211 l_rec_acct_attrs.array_date_value(31) := p_source_84;
124213 l_rec_acct_attrs.array_char_value(32) := p_source_85;
124214 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
124215 l_rec_acct_attrs.array_num_value(33) := p_source_86;
124216 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
124217 l_rec_acct_attrs.array_num_value(34) := p_source_87;
124218 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
124219 l_rec_acct_attrs.array_char_value(35) := p_source_88;
124220 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
124221 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_89);
124222 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
124223 l_rec_acct_attrs.array_char_value(37) := p_source_60;
124224 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
124225 l_rec_acct_attrs.array_num_value(38) := p_source_90;
124226 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
124227 l_rec_acct_attrs.array_num_value(39) := p_source_91;
124228 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
124229 l_rec_acct_attrs.array_num_value(40) := p_source_92;
124230 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
124231 l_rec_acct_attrs.array_num_value(41) := p_source_93;
124232 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
124233 l_rec_acct_attrs.array_num_value(42) := p_source_94;
124234 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
124235 l_rec_acct_attrs.array_num_value(43) := p_source_95;
124236
124237 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
124238 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
124239
124240 ---------------------------------------------------------------------------------------------------------------
124241 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
124242 ---------------------------------------------------------------------------------------------------------------
124243 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
124244
124245 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
124246 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
124247
124248 IF xla_accounting_cache_pkg.GetValueChar
124249 (p_source_code => 'LEDGER_CATEGORY_CODE'
124250 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
124251 AND l_bflow_method_code = 'PRIOR_ENTRY'
124252 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
124253 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
124254 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
124255 )
124256 THEN
124257 xla_ae_lines_pkg.BflowUpgEntry
124258 (p_business_method_code => l_bflow_method_code
124259 ,p_business_class_code => l_bflow_class_code
124260 ,p_balance_type => l_balance_type_code);
124261 ELSE
124262 NULL;
124263 -- No business flow processing for business flow method of NONE.
124264 END IF;
124265
124266 --
124267 -- call analytical criteria
124268 --
124269
124270 --
124271 -- call description
124272 --
124273
124274 xla_ae_lines_pkg.SetLineDescription(
124275 p_ae_header_id => l_ae_header_id
124276 ,p_description => Description_2 (
124277 p_application_id => p_application_id
124278 , p_ae_header_id => l_ae_header_id
124279 , p_source_1 => p_source_1
124280 )
124281 );
124282
124283
124284 --
124285 -- call ADRs
124286 -- Bug 4922099
124287 --
124288 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
124289 (NVL(l_actual_upg_option, 'N') = 'O') OR
124290 (NVL(l_enc_upg_option, 'N') = 'O')
124291 )
124292 THEN
124293 NULL;
124294 --
124295 --
124296
124297 l_ccid := AcctDerRule_45(
124298 p_application_id => p_application_id
124299 , p_ae_header_id => l_ae_header_id
124300 , p_source_47 => p_source_47
124301 , x_transaction_coa_id => l_adr_transaction_coa_id
124302 , x_accounting_coa_id => l_adr_accounting_coa_id
124303 , x_value_type_code => l_adr_value_type_code
124304 , p_side => 'NA'
124305 );
124306
124307 xla_ae_lines_pkg.set_ccid(
124308 p_code_combination_id => l_ccid
124309 , p_value_type_code => l_adr_value_type_code
124310 , p_transaction_coa_id => l_adr_transaction_coa_id
124311 , p_accounting_coa_id => l_adr_accounting_coa_id
124312 , p_adr_code => 'AP_SELF_ASSESSED_TAX_LIAB'
124313 , p_adr_type_code => 'S'
124314 , p_component_type => l_component_type
124315 , p_component_code => l_component_code
124316 , p_component_type_code => l_component_type_code
124317 , p_component_appl_id => l_component_appl_id
124318 , p_amb_context_code => l_amb_context_code
124322
124319 , p_side => 'NA'
124320 );
124321
124323 --
124324 --
124325 END IF;
124326 --
124327 -- Bug 4922099
124328 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
124329 (NVL(l_enc_upg_option, 'N') = 'O')
124330 ) AND
124331 (l_bflow_method_code = 'PRIOR_ENTRY')
124332 )
124333 THEN
124334 IF
124335 --
124336 1 = 2
124337 --
124338 THEN
124339 xla_accounting_err_pkg.build_message
124340 (p_appli_s_name => 'XLA'
124341 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
124342 ,p_token_1 => 'LINE_NUMBER'
124343 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
124344 ,p_token_2 => 'LINE_TYPE_NAME'
124345 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
124346 l_component_type
124347 ,l_component_code
124348 ,l_component_type_code
124349 ,l_component_appl_id
124350 ,l_amb_context_code
124351 ,l_entity_code
124352 ,l_event_class_code
124353 )
124354 ,p_token_3 => 'OWNER'
124355 ,p_value_3 => xla_lookups_pkg.get_meaning(
124356 p_lookup_type => 'XLA_OWNER_TYPE'
124357 ,p_lookup_code => l_component_type_code
124358 )
124359 ,p_token_4 => 'PRODUCT_NAME'
124360 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
124361 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
124362 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
124363 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
124364 ,p_ae_header_id => NULL
124365 );
124366
124367 IF (C_LEVEL_ERROR>= g_log_level) THEN
124368 trace
124369 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
124370 ,p_level => C_LEVEL_ERROR
124371 ,p_module => l_log_module);
124372 END IF;
124373 END IF;
124374 END IF;
124375 --
124376 --
124377 ------------------------------------------------------------------------------------------------
124378 -- 4219869 Business Flow
124379 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
124380 -- Prior Entry. Currently, the following code is always generated.
124381 ------------------------------------------------------------------------------------------------
124382 XLA_AE_LINES_PKG.ValidateCurrentLine;
124383
124384 ------------------------------------------------------------------------------------
124385 -- 4219869 Business Flow
124386 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
124387 ------------------------------------------------------------------------------------
124388 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
124389
124390 ----------------------------------------------------------------------------------
124391 -- 4219869 Business Flow
124392 -- Update journal entry status -- Need to generate this within IF <condition>
124393 ----------------------------------------------------------------------------------
124394 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
124395 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
124396 ,p_balance_type_code => l_balance_type_code
124397 );
124398
124399 -------------------------------------------------------------------------------------------
124400 -- 4262811 - Generate the Accrual Reversal lines
124401 -------------------------------------------------------------------------------------------
124402 BEGIN
124403 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
124404 (g_array_event(p_event_id).array_value_num('header_index'));
124405 IF l_acc_rev_flag IS NULL THEN
124406 l_acc_rev_flag := 'N';
124407 END IF;
124408 EXCEPTION
124409 WHEN OTHERS THEN
124410 l_acc_rev_flag := 'N';
124411 END;
124412 --
124413 IF (l_acc_rev_flag = 'Y') THEN
124414
124415 -- 4645092 ------------------------------------------------------------------------------
124419
124416 -- To allow MPA report to determine if it should generate report process
124417 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
124418 ------------------------------------------------------------------------------------------
124420 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
124421 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
124422 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
124423 -- call ADRs
124424 -- Bug 4922099
124425 --
124426 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
124427 (NVL(l_actual_upg_option, 'N') = 'O') OR
124428 (NVL(l_enc_upg_option, 'N') = 'O')
124429 )
124430 THEN
124431 NULL;
124432 --
124433 --
124434
124435 l_ccid := AcctDerRule_45(
124436 p_application_id => p_application_id
124437 , p_ae_header_id => l_ae_header_id
124438 , p_source_47 => p_source_47
124439 , x_transaction_coa_id => l_adr_transaction_coa_id
124440 , x_accounting_coa_id => l_adr_accounting_coa_id
124441 , x_value_type_code => l_adr_value_type_code
124442 , p_side => 'NA'
124443 );
124444
124445 xla_ae_lines_pkg.set_ccid(
124446 p_code_combination_id => l_ccid
124447 , p_value_type_code => l_adr_value_type_code
124448 , p_transaction_coa_id => l_adr_transaction_coa_id
124449 , p_accounting_coa_id => l_adr_accounting_coa_id
124450 , p_adr_code => 'AP_SELF_ASSESSED_TAX_LIAB'
124451 , p_adr_type_code => 'S'
124452 , p_component_type => l_component_type
124453 , p_component_code => l_component_code
124454 , p_component_type_code => l_component_type_code
124455 , p_component_appl_id => l_component_appl_id
124456 , p_amb_context_code => l_amb_context_code
124457 , p_side => 'NA'
124458 );
124459
124460
124461 --
124462 --
124463 END IF;
124464
124465 --
124466 -- Update the line information that should be overwritten
124467 --
124468 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
124469 p_header_num => 1);
124470 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
124471
124472 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
124473
124474 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
124475 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
124476 END IF;
124477
124478 --
124479 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
124480 --
124481 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
124482 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
124483 ELSE
124484 ---------------------------------------------------------------------------------------------------
124485 -- 4262811a Switch Sign
124486 ---------------------------------------------------------------------------------------------------
124487 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
124488 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
124489 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
124490 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
124491 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
124492 -- 5132302
124493 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
124494 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
124495
124496 END IF;
124497
124498 -- 4955764
124499 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
124500 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
124501
124502
124503 XLA_AE_LINES_PKG.ValidateCurrentLine;
124504 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
124505
124506 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
124507 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
124508 ,p_balance_type_code => l_balance_type_code);
124509
124510 END IF;
124511
124512 -----------------------------------------------------------------------------------------
124513 -- 4262811 Multiperiod Accounting
124514 -----------------------------------------------------------------------------------------
124515 -- No MPA option is assigned.
124516
124517
124518 END IF;
124519 END IF;
124520 --
124521
124522 --
124523 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
124524 trace
124525 (p_msg => 'END of AcctLineType_212'
124526 ,p_level => C_LEVEL_PROCEDURE
124527 ,p_module => l_log_module);
124528 END IF;
124529 --
124530 EXCEPTION
124531 WHEN xla_exceptions_pkg.application_exception THEN
124532 RAISE;
124533 WHEN OTHERS THEN
124534 xla_exceptions_pkg.raise_message
124538
124535 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_212');
124536 END AcctLineType_212;
124537 --
124539 ---------------------------------------
124540 --
124541 -- PRIVATE FUNCTION
124542 -- AcctLineType_213
124543 --
124544 ---------------------------------------
124545 PROCEDURE AcctLineType_213 (
124546 p_application_id IN NUMBER
124547 ,p_event_id IN NUMBER
124548 ,p_calculate_acctd_flag IN VARCHAR2
124549 ,p_calculate_g_l_flag IN VARCHAR2
124550 ,p_actual_flag IN OUT VARCHAR2
124551 ,p_balance_type_code OUT VARCHAR2
124552 ,p_gain_or_loss_ref OUT VARCHAR2
124553
124554 --Invoice Distribution Description
124555 , p_source_1 IN VARCHAR2
124556 --Invoice Distribution Ledger Amount
124557 , p_source_16 IN NUMBER
124558 --Invoice Distribution Type
124559 , p_source_28 IN VARCHAR2
124560 , p_source_28_meaning IN VARCHAR2
124561 --Self-Assessed Tax Liability Account
124562 , p_source_47 IN NUMBER
124563 --Accounting Reversal Indicator
124564 , p_source_58 IN VARCHAR2
124565 --Distribution Link Type
124566 , p_source_60 IN VARCHAR2
124567 --Allocation to Main Distribution Identifier
124568 , p_source_62 IN NUMBER
124569 --Invoice Identifier
124570 , p_source_63 IN NUMBER
124571 --Invoice Distribution Identifier
124572 , p_source_69 IN NUMBER
124573 --Payables Encumbrance Upgrade Credit Account
124574 , p_source_70 IN NUMBER
124575 --Payables Encumbrance Upgrade Credit Amount
124576 , p_source_71 IN NUMBER
124577 --Invoice Currency Code
124578 , p_source_72 IN VARCHAR2
124579 --Payables Encumbrance Upgrade Credit Base Amount
124580 , p_source_73 IN NUMBER
124581 --Payables Encumbrance Upgrade Debit Account
124582 , p_source_74 IN NUMBER
124583 --Payables Encumbrance Upgrade Debit Amount
124584 , p_source_75 IN NUMBER
124585 --Payables Encumbrance Upgrade Debit Base Amount
124586 , p_source_76 IN NUMBER
124587 --Payables Encumbrance Upgrade Option
124588 , p_source_77 IN VARCHAR2
124589 --Invoice Distribution Amount
124590 , p_source_78 IN NUMBER
124591 --Deferred Accounting End Date
124592 , p_source_82 IN DATE
124593 --Deferred Accounting Option
124594 , p_source_83 IN VARCHAR2
124595 --Deferred Accounting Start Date
124596 , p_source_84 IN DATE
124597 --Override Accounted Amount Indicator
124598 , p_source_85 IN VARCHAR2
124599 , p_source_85_meaning IN VARCHAR2
124600 --Invoice Supplier Identifier
124601 , p_source_86 IN NUMBER
124602 --Invoice Supplier Site Identifier
124603 , p_source_87 IN NUMBER
124604 --Third Party Type
124605 , p_source_88 IN VARCHAR2
124606 --Parent Reversal Identifier
124607 , p_source_89 IN NUMBER
124608 --Invoice Distribution Tax Line Identifier
124609 , p_source_91 IN NUMBER
124610 --Invoice Distribution Tax Distribution Identifier from Tax
124611 , p_source_92 IN NUMBER
124612 --Invoice Distribution Summary Tax Line Identifier
124613 , p_source_93 IN NUMBER
124614 --Payables Upgrade Credit Encumbrance Type Identifier
124615 , p_source_94 IN NUMBER
124616 --Payables Upgrade Debit Encumbrance Type Identifier
124617 , p_source_95 IN NUMBER
124618 --Business Flow Accounts Payable Application Identifier
124619 , p_source_96 IN NUMBER
124620 --Business Flow Invoice Distribution Type
124621 , p_source_97 IN VARCHAR2
124622 --Business Flow Invoice Entity Code
124623 , p_source_98 IN VARCHAR2
124624 --Business Flow Invoice Distribution Identifier
124625 , p_source_99 IN NUMBER
124626 --Business Flow Invoice Identifier
124627 , p_source_100 IN NUMBER
124628 --Self-Assessed Tax Flag
124629 , p_source_145 IN VARCHAR2
124630 , p_source_145_meaning IN VARCHAR2
124631 --Invoice Exchange Date
124632 , p_source_146 IN DATE
124633 --Invoice Exchange Rate
124634 , p_source_147 IN NUMBER
124635 --Invoice Exchange Rate Type
124636 , p_source_148 IN VARCHAR2
124637 )
124638 IS
124639
124640 l_component_type VARCHAR2(80);
124641 l_component_code VARCHAR2(30);
124642 l_component_type_code VARCHAR2(1);
124643 l_component_appl_id INTEGER;
124644 l_amb_context_code VARCHAR2(30);
124645 l_entity_code VARCHAR2(30);
124646 l_event_class_code VARCHAR2(30);
124647 l_ae_header_id NUMBER;
124648 l_event_type_code VARCHAR2(30);
124649 l_line_definition_code VARCHAR2(30);
124650 l_line_definition_owner_code VARCHAR2(1);
124651 --
124652 -- adr variables
124653 l_segment VARCHAR2(30);
124654 l_ccid NUMBER;
124655 l_adr_transaction_coa_id NUMBER;
124656 l_adr_accounting_coa_id NUMBER;
124657 l_adr_flexfield_segment_code VARCHAR2(30);
124658 l_adr_flex_value_set_id NUMBER;
124659 l_adr_value_type_code VARCHAR2(30);
124660 l_adr_value_combination_id NUMBER;
124661 l_adr_value_segment_code VARCHAR2(30);
124662
124663 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
124664 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
124665 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
124666 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
124667
124671 l_acc_rev_flag VARCHAR2(1);
124668 -- 4262811 Variables ------------------------------------------------------------------------------------------
124669 l_entered_amt_idx NUMBER;
124670 l_accted_amt_idx NUMBER;
124672 l_accrual_line_num NUMBER;
124673 l_tmp_amt NUMBER;
124674 l_acc_rev_natural_side_code VARCHAR2(1);
124675
124676 l_num_entries NUMBER;
124677 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
124678 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
124679 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
124680 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
124681 l_recog_line_1 NUMBER;
124682 l_recog_line_2 NUMBER;
124683
124684 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
124685 l_bflow_applied_to_amt NUMBER; -- 5132302
124686 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
124687
124688 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
124689
124690 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
124691 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
124692
124693 ---------------------------------------------------------------------------------------------------------------
124694
124695
124696 --
124697 -- bulk performance
124698 --
124699 l_balance_type_code VARCHAR2(1);
124700 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
124701 l_log_module VARCHAR2(240);
124702
124703 --
124704 -- Upgrade strategy
124705 --
124706 l_actual_upg_option VARCHAR2(1);
124707 l_enc_upg_option VARCHAR2(1);
124708
124709 --
124710 BEGIN
124711 --
124712 IF g_log_enabled THEN
124713 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_213';
124714 END IF;
124715 --
124716 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
124717
124718 trace
124719 (p_msg => 'BEGIN of AcctLineType_213'
124720 ,p_level => C_LEVEL_PROCEDURE
124721 ,p_module => l_log_module);
124722
124723 END IF;
124724 --
124725 l_component_type := 'AMB_JLT';
124726 l_component_code := 'AP_SELF_ASSESSED_TAX_CLR_DM';
124727 l_component_type_code := 'S';
124728 l_component_appl_id := 200;
124729 l_amb_context_code := 'DEFAULT';
124730 l_entity_code := 'AP_INVOICES';
124731 l_event_class_code := 'DEBIT MEMOS';
124732 l_event_type_code := 'DEBIT MEMOS_ALL';
124733 l_line_definition_owner_code := 'S';
124734 l_line_definition_code := 'ACCRUAL_DEBIT MEMOS_ALL';
124735 --
124736 l_balance_type_code := 'A';
124737 l_segment := NULL;
124738 l_ccid := NULL;
124739 l_adr_transaction_coa_id := NULL;
124740 l_adr_accounting_coa_id := NULL;
124741 l_adr_flexfield_segment_code := NULL;
124742 l_adr_flex_value_set_id := NULL;
124743 l_adr_value_type_code := NULL;
124744 l_adr_value_combination_id := NULL;
124745 l_adr_value_segment_code := NULL;
124746
124747 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
124748 l_bflow_class_code := ''; -- 4219869 Business Flow
124749 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
124750 l_budgetary_control_flag := 'N';
124751
124752 l_bflow_applied_to_amt_idx := NULL; -- 5132302
124753 l_bflow_applied_to_amt := NULL; -- 5132302
124754 l_entered_amt_idx := NULL; -- 4262811
124755 l_accted_amt_idx := NULL; -- 4262811
124756 l_acc_rev_flag := NULL; -- 4262811
124757 l_accrual_line_num := NULL; -- 4262811
124758 l_tmp_amt := NULL; -- 4262811
124759 --
124760
124761 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
124762 l_balance_type_code <> 'B' THEN
124763 IF (NVL(p_source_28,'
124764 ') = 'REC_TAX' OR
124765 NVL(p_source_28,'
124766 ') = 'NONREC_TAX') AND
124767 NVL(p_source_145,'
124768 ') = 'Y'
124769 THEN
124770
124771 --
124772 XLA_AE_LINES_PKG.SetNewLine;
124773
124774 p_balance_type_code := l_balance_type_code;
124775 -- set the flag so later we will know whether the gain loss line needs to be created
124776
124777 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
124778 p_actual_flag :='A';
124779 END IF;
124780
124781 --
124782 -- bulk performance
124783 --
124784 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
124785 p_header_num => 0); -- 4262811
124786 --
124787 -- set accounting line options
124788 --
124789 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
124790 p_natural_side_code => 'C'
124791 , p_gain_or_loss_flag => 'N'
124792 , p_gl_transfer_mode_code => 'S'
124793 , p_acct_entry_type_code => 'A'
124794 , p_switch_side_flag => 'Y'
124795 , p_merge_duplicate_code => 'A'
124796 );
124797 --
124798 l_acc_rev_natural_side_code := 'D'; -- 4262811
124799 --
124800 --
124801 -- set accounting line type info
124802 --
124806 ,p_line_definition_owner_code => l_line_definition_owner_code
124803 xla_ae_lines_pkg.SetAcctLineType
124804 (p_component_type => l_component_type
124805 ,p_event_type_code => l_event_type_code
124807 ,p_line_definition_code => l_line_definition_code
124808 ,p_accounting_line_code => l_component_code
124809 ,p_accounting_line_type_code => l_component_type_code
124810 ,p_accounting_line_appl_id => l_component_appl_id
124811 ,p_amb_context_code => l_amb_context_code
124812 ,p_entity_code => l_entity_code
124813 ,p_event_class_code => l_event_class_code);
124814 --
124815 -- set accounting class
124816 --
124817 xla_ae_lines_pkg.SetAcctClass(
124818 p_accounting_class_code => 'SELF_ASSESSED_TAX'
124819 , p_ae_header_id => l_ae_header_id
124820 );
124821
124822 --
124823 -- set rounding class
124824 --
124825 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
124826 'SELF_ASSESSED_TAX';
124827
124828 --
124829 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
124830 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
124831 --
124832 -- bulk performance
124833 --
124834 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
124835
124836 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
124837 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
124838
124839 -- 4955764
124840 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
124841 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
124842
124843 -- 4458381 Public Sector Enh
124844
124845 --
124846 -- set accounting attributes for the line type
124847 --
124848 l_entered_amt_idx := 23;
124849 l_accted_amt_idx := 28;
124850 l_bflow_applied_to_amt_idx := NULL; -- 5132302
124851 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
124852 l_rec_acct_attrs.array_char_value(1) := p_source_58;
124853 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
124854 l_rec_acct_attrs.array_num_value(2) :=
124855 xla_ae_sources_pkg.GetSystemSourceNum(
124856 p_source_code => 'XLA_EVENT_APPL_ID'
124857 , p_source_type_code => 'Y'
124858 , p_source_application_id => 602
124859 );
124860 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
124861 l_rec_acct_attrs.array_char_value(3) := p_source_60;
124862 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
124863 l_rec_acct_attrs.array_char_value(4) :=
124864 xla_ae_sources_pkg.GetSystemSourceChar(
124865 p_source_code => 'XLA_ENTITY_CODE'
124866 , p_source_type_code => 'Y'
124867 , p_source_application_id => 602
124868 );
124869 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
124870 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_62);
124871 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
124872 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_63);
124873 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
124874 l_rec_acct_attrs.array_num_value(7) := p_source_96;
124875 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
124876 l_rec_acct_attrs.array_char_value(8) := p_source_97;
124877 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
124878 l_rec_acct_attrs.array_char_value(9) := p_source_98;
124879 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
124880 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_99);
124881 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
124882 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_100);
124883 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
124884 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_69);
124885 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
124886 l_rec_acct_attrs.array_char_value(13) := p_source_60;
124887 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
124888 l_rec_acct_attrs.array_num_value(14) := p_source_70;
124889 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
124890 l_rec_acct_attrs.array_num_value(15) := p_source_71;
124891 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
124892 l_rec_acct_attrs.array_char_value(16) := p_source_72;
124893 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
124894 l_rec_acct_attrs.array_num_value(17) := p_source_73;
124895 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
124896 l_rec_acct_attrs.array_num_value(18) := p_source_74;
124897 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
124898 l_rec_acct_attrs.array_num_value(19) := p_source_75;
124899 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
124900 l_rec_acct_attrs.array_char_value(20) := p_source_72;
124901 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
124902 l_rec_acct_attrs.array_num_value(21) := p_source_76;
124903 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
124904 l_rec_acct_attrs.array_char_value(22) := p_source_77;
124908 l_rec_acct_attrs.array_char_value(24) := p_source_72;
124905 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
124906 l_rec_acct_attrs.array_num_value(23) := p_source_78;
124907 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
124909 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
124910 l_rec_acct_attrs.array_date_value(25) := p_source_146;
124911 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
124912 l_rec_acct_attrs.array_num_value(26) := p_source_147;
124913 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
124914 l_rec_acct_attrs.array_char_value(27) := p_source_148;
124915 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
124916 l_rec_acct_attrs.array_num_value(28) := p_source_16;
124917 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
124918 l_rec_acct_attrs.array_date_value(29) := p_source_82;
124919 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
124920 l_rec_acct_attrs.array_char_value(30) := p_source_83;
124921 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
124922 l_rec_acct_attrs.array_date_value(31) := p_source_84;
124923 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
124924 l_rec_acct_attrs.array_char_value(32) := p_source_85;
124925 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
124926 l_rec_acct_attrs.array_num_value(33) := p_source_86;
124927 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
124928 l_rec_acct_attrs.array_num_value(34) := p_source_87;
124929 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
124930 l_rec_acct_attrs.array_char_value(35) := p_source_88;
124931 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
124932 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_89);
124933 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
124934 l_rec_acct_attrs.array_char_value(37) := p_source_60;
124935 l_rec_acct_attrs.array_acct_attr_code(38) := 'TAX_LINE_REF_ID';
124936 l_rec_acct_attrs.array_num_value(38) := p_source_91;
124937 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_REC_NREC_DIST_REF_ID';
124938 l_rec_acct_attrs.array_num_value(39) := p_source_92;
124939 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_SUMMARY_LINE_REF_ID';
124940 l_rec_acct_attrs.array_num_value(40) := p_source_93;
124941 l_rec_acct_attrs.array_acct_attr_code(41) := 'UPG_CR_ENC_TYPE_ID';
124942 l_rec_acct_attrs.array_num_value(41) := p_source_94;
124943 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_DR_ENC_TYPE_ID';
124944 l_rec_acct_attrs.array_num_value(42) := p_source_95;
124945
124946 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
124947 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
124948
124949 ---------------------------------------------------------------------------------------------------------------
124950 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
124951 ---------------------------------------------------------------------------------------------------------------
124952 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
124953
124954 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
124955 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
124956
124957 IF xla_accounting_cache_pkg.GetValueChar
124958 (p_source_code => 'LEDGER_CATEGORY_CODE'
124959 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
124960 AND l_bflow_method_code = 'PRIOR_ENTRY'
124961 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
124962 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
124963 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
124964 )
124965 THEN
124966 xla_ae_lines_pkg.BflowUpgEntry
124967 (p_business_method_code => l_bflow_method_code
124968 ,p_business_class_code => l_bflow_class_code
124969 ,p_balance_type => l_balance_type_code);
124970 ELSE
124971 NULL;
124972 -- No business flow processing for business flow method of NONE.
124973 END IF;
124974
124975 --
124976 -- call analytical criteria
124977 --
124978
124979 --
124980 -- call description
124981 --
124982
124983 xla_ae_lines_pkg.SetLineDescription(
124984 p_ae_header_id => l_ae_header_id
124985 ,p_description => Description_2 (
124986 p_application_id => p_application_id
124987 , p_ae_header_id => l_ae_header_id
124988 , p_source_1 => p_source_1
124989 )
124990 );
124991
124992
124993 --
124994 -- call ADRs
124995 -- Bug 4922099
124996 --
124997 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
124998 (NVL(l_actual_upg_option, 'N') = 'O') OR
124999 (NVL(l_enc_upg_option, 'N') = 'O')
125000 )
125001 THEN
125002 NULL;
125003 --
125004 --
125005
125006 l_ccid := AcctDerRule_45(
125007 p_application_id => p_application_id
125008 , p_ae_header_id => l_ae_header_id
125009 , p_source_47 => p_source_47
125010 , x_transaction_coa_id => l_adr_transaction_coa_id
125014 );
125011 , x_accounting_coa_id => l_adr_accounting_coa_id
125012 , x_value_type_code => l_adr_value_type_code
125013 , p_side => 'NA'
125015
125016 xla_ae_lines_pkg.set_ccid(
125017 p_code_combination_id => l_ccid
125018 , p_value_type_code => l_adr_value_type_code
125019 , p_transaction_coa_id => l_adr_transaction_coa_id
125020 , p_accounting_coa_id => l_adr_accounting_coa_id
125021 , p_adr_code => 'AP_SELF_ASSESSED_TAX_LIAB'
125022 , p_adr_type_code => 'S'
125023 , p_component_type => l_component_type
125024 , p_component_code => l_component_code
125025 , p_component_type_code => l_component_type_code
125026 , p_component_appl_id => l_component_appl_id
125027 , p_amb_context_code => l_amb_context_code
125028 , p_side => 'NA'
125029 );
125030
125031
125032 --
125033 --
125034 END IF;
125035 --
125036 -- Bug 4922099
125037 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
125038 (NVL(l_enc_upg_option, 'N') = 'O')
125039 ) AND
125040 (l_bflow_method_code = 'PRIOR_ENTRY')
125041 )
125042 THEN
125043 IF
125044 --
125045 1 = 2
125046 --
125047 THEN
125048 xla_accounting_err_pkg.build_message
125049 (p_appli_s_name => 'XLA'
125050 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
125051 ,p_token_1 => 'LINE_NUMBER'
125052 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
125053 ,p_token_2 => 'LINE_TYPE_NAME'
125054 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
125055 l_component_type
125056 ,l_component_code
125057 ,l_component_type_code
125058 ,l_component_appl_id
125059 ,l_amb_context_code
125060 ,l_entity_code
125061 ,l_event_class_code
125062 )
125063 ,p_token_3 => 'OWNER'
125064 ,p_value_3 => xla_lookups_pkg.get_meaning(
125065 p_lookup_type => 'XLA_OWNER_TYPE'
125066 ,p_lookup_code => l_component_type_code
125067 )
125068 ,p_token_4 => 'PRODUCT_NAME'
125069 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
125070 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
125071 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
125072 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
125073 ,p_ae_header_id => NULL
125074 );
125075
125076 IF (C_LEVEL_ERROR>= g_log_level) THEN
125077 trace
125078 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
125079 ,p_level => C_LEVEL_ERROR
125080 ,p_module => l_log_module);
125081 END IF;
125082 END IF;
125083 END IF;
125084 --
125085 --
125086 ------------------------------------------------------------------------------------------------
125087 -- 4219869 Business Flow
125088 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
125089 -- Prior Entry. Currently, the following code is always generated.
125090 ------------------------------------------------------------------------------------------------
125091 XLA_AE_LINES_PKG.ValidateCurrentLine;
125092
125093 ------------------------------------------------------------------------------------
125094 -- 4219869 Business Flow
125095 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
125096 ------------------------------------------------------------------------------------
125097 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
125098
125099 ----------------------------------------------------------------------------------
125100 -- 4219869 Business Flow
125101 -- Update journal entry status -- Need to generate this within IF <condition>
125102 ----------------------------------------------------------------------------------
125103 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
125104 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
125105 ,p_balance_type_code => l_balance_type_code
125106 );
125107
125111 BEGIN
125108 -------------------------------------------------------------------------------------------
125109 -- 4262811 - Generate the Accrual Reversal lines
125110 -------------------------------------------------------------------------------------------
125112 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
125113 (g_array_event(p_event_id).array_value_num('header_index'));
125114 IF l_acc_rev_flag IS NULL THEN
125115 l_acc_rev_flag := 'N';
125116 END IF;
125117 EXCEPTION
125118 WHEN OTHERS THEN
125119 l_acc_rev_flag := 'N';
125120 END;
125121 --
125122 IF (l_acc_rev_flag = 'Y') THEN
125123
125124 -- 4645092 ------------------------------------------------------------------------------
125125 -- To allow MPA report to determine if it should generate report process
125126 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
125127 ------------------------------------------------------------------------------------------
125128
125129 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
125130 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
125131 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
125132 -- call ADRs
125133 -- Bug 4922099
125134 --
125135 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
125136 (NVL(l_actual_upg_option, 'N') = 'O') OR
125137 (NVL(l_enc_upg_option, 'N') = 'O')
125138 )
125139 THEN
125140 NULL;
125141 --
125142 --
125143
125144 l_ccid := AcctDerRule_45(
125145 p_application_id => p_application_id
125146 , p_ae_header_id => l_ae_header_id
125147 , p_source_47 => p_source_47
125148 , x_transaction_coa_id => l_adr_transaction_coa_id
125149 , x_accounting_coa_id => l_adr_accounting_coa_id
125150 , x_value_type_code => l_adr_value_type_code
125151 , p_side => 'NA'
125152 );
125153
125154 xla_ae_lines_pkg.set_ccid(
125155 p_code_combination_id => l_ccid
125156 , p_value_type_code => l_adr_value_type_code
125157 , p_transaction_coa_id => l_adr_transaction_coa_id
125158 , p_accounting_coa_id => l_adr_accounting_coa_id
125159 , p_adr_code => 'AP_SELF_ASSESSED_TAX_LIAB'
125160 , p_adr_type_code => 'S'
125161 , p_component_type => l_component_type
125162 , p_component_code => l_component_code
125163 , p_component_type_code => l_component_type_code
125164 , p_component_appl_id => l_component_appl_id
125165 , p_amb_context_code => l_amb_context_code
125166 , p_side => 'NA'
125167 );
125168
125169
125170 --
125171 --
125172 END IF;
125173
125174 --
125175 -- Update the line information that should be overwritten
125176 --
125177 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
125178 p_header_num => 1);
125179 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
125180
125181 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
125182
125183 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
125184 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
125185 END IF;
125186
125187 --
125188 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
125189 --
125190 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
125191 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
125192 ELSE
125193 ---------------------------------------------------------------------------------------------------
125194 -- 4262811a Switch Sign
125195 ---------------------------------------------------------------------------------------------------
125196 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
125197 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
125198 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
125199 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
125200 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
125201 -- 5132302
125202 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
125203 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
125204
125205 END IF;
125206
125207 -- 4955764
125208 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
125209 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
125210
125211
125212 XLA_AE_LINES_PKG.ValidateCurrentLine;
125213 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
125214
125215 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
125219 END IF;
125216 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
125217 ,p_balance_type_code => l_balance_type_code);
125218
125220
125221 -----------------------------------------------------------------------------------------
125222 -- 4262811 Multiperiod Accounting
125223 -----------------------------------------------------------------------------------------
125224 -- No MPA option is assigned.
125225
125226
125227 END IF;
125228 END IF;
125229 --
125230
125231 --
125232 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
125233 trace
125234 (p_msg => 'END of AcctLineType_213'
125235 ,p_level => C_LEVEL_PROCEDURE
125236 ,p_module => l_log_module);
125237 END IF;
125238 --
125239 EXCEPTION
125240 WHEN xla_exceptions_pkg.application_exception THEN
125241 RAISE;
125242 WHEN OTHERS THEN
125243 xla_exceptions_pkg.raise_message
125244 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_213');
125245 END AcctLineType_213;
125246 --
125247
125248 ---------------------------------------
125249 --
125250 -- PRIVATE FUNCTION
125251 -- AcctLineType_214
125252 --
125253 ---------------------------------------
125254 PROCEDURE AcctLineType_214 (
125255 p_application_id IN NUMBER
125256 ,p_event_id IN NUMBER
125257 ,p_calculate_acctd_flag IN VARCHAR2
125258 ,p_calculate_g_l_flag IN VARCHAR2
125259 ,p_actual_flag IN OUT VARCHAR2
125260 ,p_balance_type_code OUT VARCHAR2
125261 ,p_gain_or_loss_ref OUT VARCHAR2
125262
125263 --Invoice Distribution Description
125264 , p_source_1 IN VARCHAR2
125265 --Invoice Distribution Ledger Amount
125266 , p_source_16 IN NUMBER
125267 --Invoice Distribution Type
125268 , p_source_28 IN VARCHAR2
125269 , p_source_28_meaning IN VARCHAR2
125270 --Self-Assessed Tax Liability Account
125271 , p_source_47 IN NUMBER
125272 --Accounting Reversal Indicator
125273 , p_source_58 IN VARCHAR2
125274 --Distribution Link Type
125275 , p_source_60 IN VARCHAR2
125276 --Allocation to Main Distribution Identifier
125277 , p_source_62 IN NUMBER
125278 --Invoice Identifier
125279 , p_source_63 IN NUMBER
125280 --Invoice Distribution Identifier
125281 , p_source_69 IN NUMBER
125282 --Payables Encumbrance Upgrade Credit Account
125283 , p_source_70 IN NUMBER
125284 --Payables Encumbrance Upgrade Credit Amount
125285 , p_source_71 IN NUMBER
125286 --Invoice Currency Code
125287 , p_source_72 IN VARCHAR2
125288 --Payables Encumbrance Upgrade Credit Base Amount
125289 , p_source_73 IN NUMBER
125290 --Payables Encumbrance Upgrade Debit Account
125291 , p_source_74 IN NUMBER
125292 --Payables Encumbrance Upgrade Debit Amount
125293 , p_source_75 IN NUMBER
125294 --Payables Encumbrance Upgrade Debit Base Amount
125295 , p_source_76 IN NUMBER
125296 --Payables Encumbrance Upgrade Option
125297 , p_source_77 IN VARCHAR2
125298 --Invoice Distribution Amount
125299 , p_source_78 IN NUMBER
125300 --Deferred Accounting End Date
125301 , p_source_82 IN DATE
125302 --Deferred Accounting Option
125303 , p_source_83 IN VARCHAR2
125304 --Deferred Accounting Start Date
125305 , p_source_84 IN DATE
125306 --Override Accounted Amount Indicator
125307 , p_source_85 IN VARCHAR2
125308 , p_source_85_meaning IN VARCHAR2
125309 --Invoice Supplier Identifier
125310 , p_source_86 IN NUMBER
125311 --Invoice Supplier Site Identifier
125312 , p_source_87 IN NUMBER
125313 --Third Party Type
125314 , p_source_88 IN VARCHAR2
125315 --Parent Reversal Identifier
125316 , p_source_89 IN NUMBER
125317 --Invoice Distribution Statistical Amount
125318 , p_source_90 IN NUMBER
125319 --Invoice Distribution Tax Line Identifier
125320 , p_source_91 IN NUMBER
125321 --Invoice Distribution Tax Distribution Identifier from Tax
125322 , p_source_92 IN NUMBER
125323 --Invoice Distribution Summary Tax Line Identifier
125324 , p_source_93 IN NUMBER
125325 --Payables Upgrade Credit Encumbrance Type Identifier
125326 , p_source_94 IN NUMBER
125327 --Payables Upgrade Debit Encumbrance Type Identifier
125328 , p_source_95 IN NUMBER
125329 --Business Flow Accounts Payable Application Identifier
125330 , p_source_96 IN NUMBER
125331 --Business Flow Invoice Distribution Type
125332 , p_source_97 IN VARCHAR2
125333 --Business Flow Invoice Entity Code
125334 , p_source_98 IN VARCHAR2
125335 --Business Flow Invoice Distribution Identifier
125336 , p_source_99 IN NUMBER
125337 --Business Flow Invoice Identifier
125338 , p_source_100 IN NUMBER
125339 --Self-Assessed Tax Flag
125340 , p_source_145 IN VARCHAR2
125341 , p_source_145_meaning IN VARCHAR2
125342 --Invoice Exchange Date
125343 , p_source_146 IN DATE
125344 --Invoice Exchange Rate
125345 , p_source_147 IN NUMBER
125346 --Invoice Exchange Rate Type
125347 , p_source_148 IN VARCHAR2
125348 )
125349 IS
125350
125351 l_component_type VARCHAR2(80);
125352 l_component_code VARCHAR2(30);
125353 l_component_type_code VARCHAR2(1);
125354 l_component_appl_id INTEGER;
125358 l_ae_header_id NUMBER;
125355 l_amb_context_code VARCHAR2(30);
125356 l_entity_code VARCHAR2(30);
125357 l_event_class_code VARCHAR2(30);
125359 l_event_type_code VARCHAR2(30);
125360 l_line_definition_code VARCHAR2(30);
125361 l_line_definition_owner_code VARCHAR2(1);
125362 --
125363 -- adr variables
125364 l_segment VARCHAR2(30);
125365 l_ccid NUMBER;
125366 l_adr_transaction_coa_id NUMBER;
125367 l_adr_accounting_coa_id NUMBER;
125368 l_adr_flexfield_segment_code VARCHAR2(30);
125369 l_adr_flex_value_set_id NUMBER;
125370 l_adr_value_type_code VARCHAR2(30);
125371 l_adr_value_combination_id NUMBER;
125372 l_adr_value_segment_code VARCHAR2(30);
125373
125374 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
125375 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
125376 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
125377 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
125378
125379 -- 4262811 Variables ------------------------------------------------------------------------------------------
125380 l_entered_amt_idx NUMBER;
125381 l_accted_amt_idx NUMBER;
125382 l_acc_rev_flag VARCHAR2(1);
125383 l_accrual_line_num NUMBER;
125384 l_tmp_amt NUMBER;
125385 l_acc_rev_natural_side_code VARCHAR2(1);
125386
125387 l_num_entries NUMBER;
125388 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
125389 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
125390 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
125391 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
125392 l_recog_line_1 NUMBER;
125393 l_recog_line_2 NUMBER;
125394
125395 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
125396 l_bflow_applied_to_amt NUMBER; -- 5132302
125397 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
125398
125399 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
125400
125401 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
125402 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
125403
125404 ---------------------------------------------------------------------------------------------------------------
125405
125406
125407 --
125408 -- bulk performance
125409 --
125410 l_balance_type_code VARCHAR2(1);
125411 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
125412 l_log_module VARCHAR2(240);
125413
125414 --
125415 -- Upgrade strategy
125416 --
125417 l_actual_upg_option VARCHAR2(1);
125418 l_enc_upg_option VARCHAR2(1);
125419
125420 --
125421 BEGIN
125422 --
125423 IF g_log_enabled THEN
125424 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_214';
125425 END IF;
125426 --
125427 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
125428
125429 trace
125430 (p_msg => 'BEGIN of AcctLineType_214'
125431 ,p_level => C_LEVEL_PROCEDURE
125432 ,p_module => l_log_module);
125433
125434 END IF;
125435 --
125436 l_component_type := 'AMB_JLT';
125437 l_component_code := 'AP_SELF_ASSESSED_TAX_CRL_INV';
125438 l_component_type_code := 'S';
125439 l_component_appl_id := 200;
125440 l_amb_context_code := 'DEFAULT';
125441 l_entity_code := 'AP_INVOICES';
125442 l_event_class_code := 'INVOICES';
125443 l_event_type_code := 'INVOICES_ALL';
125444 l_line_definition_owner_code := 'S';
125445 l_line_definition_code := 'ACCRUAL_INVOICES_ALL';
125446 --
125447 l_balance_type_code := 'A';
125448 l_segment := NULL;
125449 l_ccid := NULL;
125450 l_adr_transaction_coa_id := NULL;
125451 l_adr_accounting_coa_id := NULL;
125452 l_adr_flexfield_segment_code := NULL;
125453 l_adr_flex_value_set_id := NULL;
125454 l_adr_value_type_code := NULL;
125455 l_adr_value_combination_id := NULL;
125456 l_adr_value_segment_code := NULL;
125457
125458 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
125459 l_bflow_class_code := ''; -- 4219869 Business Flow
125460 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
125461 l_budgetary_control_flag := 'N';
125462
125463 l_bflow_applied_to_amt_idx := NULL; -- 5132302
125464 l_bflow_applied_to_amt := NULL; -- 5132302
125465 l_entered_amt_idx := NULL; -- 4262811
125466 l_accted_amt_idx := NULL; -- 4262811
125467 l_acc_rev_flag := NULL; -- 4262811
125468 l_accrual_line_num := NULL; -- 4262811
125469 l_tmp_amt := NULL; -- 4262811
125470 --
125471
125472 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
125473 l_balance_type_code <> 'B' THEN
125474 IF (NVL(p_source_28,'
125475 ') = 'REC_TAX' OR
125476 NVL(p_source_28,'
125477 ') = 'NONREC_TAX') AND
125478 NVL(p_source_145,'
125479 ') = 'Y'
125480 THEN
125481
125482 --
125483 XLA_AE_LINES_PKG.SetNewLine;
125484
125485 p_balance_type_code := l_balance_type_code;
125489 p_actual_flag :='A';
125486 -- set the flag so later we will know whether the gain loss line needs to be created
125487
125488 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
125490 END IF;
125491
125492 --
125493 -- bulk performance
125494 --
125495 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
125496 p_header_num => 0); -- 4262811
125497 --
125498 -- set accounting line options
125499 --
125500 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
125501 p_natural_side_code => 'C'
125502 , p_gain_or_loss_flag => 'N'
125503 , p_gl_transfer_mode_code => 'S'
125504 , p_acct_entry_type_code => 'A'
125505 , p_switch_side_flag => 'Y'
125506 , p_merge_duplicate_code => 'A'
125507 );
125508 --
125509 l_acc_rev_natural_side_code := 'D'; -- 4262811
125510 --
125511 --
125512 -- set accounting line type info
125513 --
125514 xla_ae_lines_pkg.SetAcctLineType
125515 (p_component_type => l_component_type
125516 ,p_event_type_code => l_event_type_code
125517 ,p_line_definition_owner_code => l_line_definition_owner_code
125518 ,p_line_definition_code => l_line_definition_code
125519 ,p_accounting_line_code => l_component_code
125520 ,p_accounting_line_type_code => l_component_type_code
125521 ,p_accounting_line_appl_id => l_component_appl_id
125522 ,p_amb_context_code => l_amb_context_code
125523 ,p_entity_code => l_entity_code
125524 ,p_event_class_code => l_event_class_code);
125525 --
125526 -- set accounting class
125527 --
125528 xla_ae_lines_pkg.SetAcctClass(
125529 p_accounting_class_code => 'SELF_ASSESSED_TAX'
125530 , p_ae_header_id => l_ae_header_id
125531 );
125532
125533 --
125534 -- set rounding class
125535 --
125536 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
125537 'SELF_ASSESSED_TAX';
125538
125539 --
125540 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
125541 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
125542 --
125543 -- bulk performance
125544 --
125545 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
125546
125547 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
125548 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
125549
125550 -- 4955764
125551 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
125552 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
125553
125554 -- 4458381 Public Sector Enh
125555
125556 --
125557 -- set accounting attributes for the line type
125558 --
125559 l_entered_amt_idx := 24;
125560 l_accted_amt_idx := 29;
125561 l_bflow_applied_to_amt_idx := 7; -- 5132302
125562 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
125563 l_rec_acct_attrs.array_char_value(1) := p_source_58;
125564 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
125565 l_rec_acct_attrs.array_num_value(2) :=
125566 xla_ae_sources_pkg.GetSystemSourceNum(
125567 p_source_code => 'XLA_EVENT_APPL_ID'
125568 , p_source_type_code => 'Y'
125569 , p_source_application_id => 602
125570 );
125571 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
125572 l_rec_acct_attrs.array_char_value(3) := p_source_60;
125573 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
125574 l_rec_acct_attrs.array_char_value(4) :=
125575 xla_ae_sources_pkg.GetSystemSourceChar(
125576 p_source_code => 'XLA_ENTITY_CODE'
125577 , p_source_type_code => 'Y'
125578 , p_source_application_id => 602
125579 );
125580 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
125581 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_62);
125582 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
125583 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_63);
125584 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
125585 l_rec_acct_attrs.array_num_value(7) := p_source_78;
125586 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
125587 l_rec_acct_attrs.array_num_value(8) := p_source_96;
125588 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
125589 l_rec_acct_attrs.array_char_value(9) := p_source_97;
125590 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
125591 l_rec_acct_attrs.array_char_value(10) := p_source_98;
125592 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
125593 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_99);
125594 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
125595 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_100);
125596 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
125597 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_69);
125598 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
125599 l_rec_acct_attrs.array_char_value(14) := p_source_60;
125603 l_rec_acct_attrs.array_num_value(16) := p_source_71;
125600 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
125601 l_rec_acct_attrs.array_num_value(15) := p_source_70;
125602 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
125604 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
125605 l_rec_acct_attrs.array_char_value(17) := p_source_72;
125606 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
125607 l_rec_acct_attrs.array_num_value(18) := p_source_73;
125608 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
125609 l_rec_acct_attrs.array_num_value(19) := p_source_74;
125610 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
125611 l_rec_acct_attrs.array_num_value(20) := p_source_75;
125612 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
125613 l_rec_acct_attrs.array_char_value(21) := p_source_72;
125614 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
125615 l_rec_acct_attrs.array_num_value(22) := p_source_76;
125616 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
125617 l_rec_acct_attrs.array_char_value(23) := p_source_77;
125618 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_AMOUNT';
125619 l_rec_acct_attrs.array_num_value(24) := p_source_78;
125620 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_CODE';
125621 l_rec_acct_attrs.array_char_value(25) := p_source_72;
125622 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_DATE';
125623 l_rec_acct_attrs.array_date_value(26) := p_source_146;
125624 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE';
125625 l_rec_acct_attrs.array_num_value(27) := p_source_147;
125626 l_rec_acct_attrs.array_acct_attr_code(28) := 'EXCHANGE_RATE_TYPE';
125627 l_rec_acct_attrs.array_char_value(28) := p_source_148;
125628 l_rec_acct_attrs.array_acct_attr_code(29) := 'LEDGER_AMOUNT';
125629 l_rec_acct_attrs.array_num_value(29) := p_source_16;
125630 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_END_DATE';
125631 l_rec_acct_attrs.array_date_value(30) := p_source_82;
125632 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_OPTION';
125633 l_rec_acct_attrs.array_char_value(31) := p_source_83;
125634 l_rec_acct_attrs.array_acct_attr_code(32) := 'MULTIPERIOD_START_DATE';
125635 l_rec_acct_attrs.array_date_value(32) := p_source_84;
125636 l_rec_acct_attrs.array_acct_attr_code(33) := 'OVERRIDE_ACCTD_AMT_FLAG';
125637 l_rec_acct_attrs.array_char_value(33) := p_source_85;
125638 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_ID';
125639 l_rec_acct_attrs.array_num_value(34) := p_source_86;
125640 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_SITE_ID';
125641 l_rec_acct_attrs.array_num_value(35) := p_source_87;
125642 l_rec_acct_attrs.array_acct_attr_code(36) := 'PARTY_TYPE';
125643 l_rec_acct_attrs.array_char_value(36) := p_source_88;
125644 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_ID1';
125645 l_rec_acct_attrs.array_num_value(37) := to_char(p_source_89);
125646 l_rec_acct_attrs.array_acct_attr_code(38) := 'REVERSED_DISTRIBUTION_TYPE';
125647 l_rec_acct_attrs.array_char_value(38) := p_source_60;
125648 l_rec_acct_attrs.array_acct_attr_code(39) := 'STATISTICAL_AMOUNT';
125649 l_rec_acct_attrs.array_num_value(39) := p_source_90;
125650 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_LINE_REF_ID';
125651 l_rec_acct_attrs.array_num_value(40) := p_source_91;
125652 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_REC_NREC_DIST_REF_ID';
125653 l_rec_acct_attrs.array_num_value(41) := p_source_92;
125654 l_rec_acct_attrs.array_acct_attr_code(42) := 'TAX_SUMMARY_LINE_REF_ID';
125655 l_rec_acct_attrs.array_num_value(42) := p_source_93;
125656 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_CR_ENC_TYPE_ID';
125657 l_rec_acct_attrs.array_num_value(43) := p_source_94;
125658 l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
125659 l_rec_acct_attrs.array_num_value(44) := p_source_95;
125660
125661 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
125662 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
125663
125664 ---------------------------------------------------------------------------------------------------------------
125665 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
125666 ---------------------------------------------------------------------------------------------------------------
125667 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
125668
125669 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
125670 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
125671
125672 IF xla_accounting_cache_pkg.GetValueChar
125673 (p_source_code => 'LEDGER_CATEGORY_CODE'
125674 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
125675 AND l_bflow_method_code = 'PRIOR_ENTRY'
125676 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
125677 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
125678 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
125679 )
125680 THEN
125681 xla_ae_lines_pkg.BflowUpgEntry
125682 (p_business_method_code => l_bflow_method_code
125683 ,p_business_class_code => l_bflow_class_code
125684 ,p_balance_type => l_balance_type_code);
125688 END IF;
125685 ELSE
125686 NULL;
125687 -- No business flow processing for business flow method of NONE.
125689
125690 --
125691 -- call analytical criteria
125692 --
125693
125694 --
125695 -- call description
125696 --
125697
125698 xla_ae_lines_pkg.SetLineDescription(
125699 p_ae_header_id => l_ae_header_id
125700 ,p_description => Description_2 (
125701 p_application_id => p_application_id
125702 , p_ae_header_id => l_ae_header_id
125703 , p_source_1 => p_source_1
125704 )
125705 );
125706
125707
125708 --
125709 -- call ADRs
125710 -- Bug 4922099
125711 --
125712 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
125713 (NVL(l_actual_upg_option, 'N') = 'O') OR
125714 (NVL(l_enc_upg_option, 'N') = 'O')
125715 )
125716 THEN
125717 NULL;
125718 --
125719 --
125720
125721 l_ccid := AcctDerRule_45(
125722 p_application_id => p_application_id
125723 , p_ae_header_id => l_ae_header_id
125724 , p_source_47 => p_source_47
125725 , x_transaction_coa_id => l_adr_transaction_coa_id
125726 , x_accounting_coa_id => l_adr_accounting_coa_id
125727 , x_value_type_code => l_adr_value_type_code
125728 , p_side => 'NA'
125729 );
125730
125731 xla_ae_lines_pkg.set_ccid(
125732 p_code_combination_id => l_ccid
125733 , p_value_type_code => l_adr_value_type_code
125734 , p_transaction_coa_id => l_adr_transaction_coa_id
125735 , p_accounting_coa_id => l_adr_accounting_coa_id
125736 , p_adr_code => 'AP_SELF_ASSESSED_TAX_LIAB'
125737 , p_adr_type_code => 'S'
125738 , p_component_type => l_component_type
125739 , p_component_code => l_component_code
125740 , p_component_type_code => l_component_type_code
125741 , p_component_appl_id => l_component_appl_id
125742 , p_amb_context_code => l_amb_context_code
125743 , p_side => 'NA'
125744 );
125745
125746
125747 --
125748 --
125749 END IF;
125750 --
125751 -- Bug 4922099
125752 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
125753 (NVL(l_enc_upg_option, 'N') = 'O')
125754 ) AND
125755 (l_bflow_method_code = 'PRIOR_ENTRY')
125756 )
125757 THEN
125758 IF
125759 --
125760 1 = 2
125761 --
125762 THEN
125763 xla_accounting_err_pkg.build_message
125764 (p_appli_s_name => 'XLA'
125765 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
125766 ,p_token_1 => 'LINE_NUMBER'
125767 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
125768 ,p_token_2 => 'LINE_TYPE_NAME'
125769 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
125770 l_component_type
125771 ,l_component_code
125772 ,l_component_type_code
125773 ,l_component_appl_id
125774 ,l_amb_context_code
125775 ,l_entity_code
125776 ,l_event_class_code
125777 )
125778 ,p_token_3 => 'OWNER'
125779 ,p_value_3 => xla_lookups_pkg.get_meaning(
125780 p_lookup_type => 'XLA_OWNER_TYPE'
125781 ,p_lookup_code => l_component_type_code
125782 )
125783 ,p_token_4 => 'PRODUCT_NAME'
125784 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
125785 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
125786 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
125787 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
125788 ,p_ae_header_id => NULL
125789 );
125790
125791 IF (C_LEVEL_ERROR>= g_log_level) THEN
125792 trace
125793 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
125794 ,p_level => C_LEVEL_ERROR
125795 ,p_module => l_log_module);
125796 END IF;
125797 END IF;
125798 END IF;
125799 --
125800 --
125801 ------------------------------------------------------------------------------------------------
125805 ------------------------------------------------------------------------------------------------
125802 -- 4219869 Business Flow
125803 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
125804 -- Prior Entry. Currently, the following code is always generated.
125806 XLA_AE_LINES_PKG.ValidateCurrentLine;
125807
125808 ------------------------------------------------------------------------------------
125809 -- 4219869 Business Flow
125810 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
125811 ------------------------------------------------------------------------------------
125812 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
125813
125814 ----------------------------------------------------------------------------------
125815 -- 4219869 Business Flow
125816 -- Update journal entry status -- Need to generate this within IF <condition>
125817 ----------------------------------------------------------------------------------
125818 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
125819 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
125820 ,p_balance_type_code => l_balance_type_code
125821 );
125822
125823 -------------------------------------------------------------------------------------------
125824 -- 4262811 - Generate the Accrual Reversal lines
125825 -------------------------------------------------------------------------------------------
125826 BEGIN
125827 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
125828 (g_array_event(p_event_id).array_value_num('header_index'));
125829 IF l_acc_rev_flag IS NULL THEN
125830 l_acc_rev_flag := 'N';
125831 END IF;
125832 EXCEPTION
125833 WHEN OTHERS THEN
125834 l_acc_rev_flag := 'N';
125835 END;
125836 --
125837 IF (l_acc_rev_flag = 'Y') THEN
125838
125839 -- 4645092 ------------------------------------------------------------------------------
125840 -- To allow MPA report to determine if it should generate report process
125841 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
125842 ------------------------------------------------------------------------------------------
125843
125844 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
125845 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
125846 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
125847 -- call ADRs
125848 -- Bug 4922099
125849 --
125850 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
125851 (NVL(l_actual_upg_option, 'N') = 'O') OR
125852 (NVL(l_enc_upg_option, 'N') = 'O')
125853 )
125854 THEN
125855 NULL;
125856 --
125857 --
125858
125859 l_ccid := AcctDerRule_45(
125860 p_application_id => p_application_id
125861 , p_ae_header_id => l_ae_header_id
125862 , p_source_47 => p_source_47
125863 , x_transaction_coa_id => l_adr_transaction_coa_id
125864 , x_accounting_coa_id => l_adr_accounting_coa_id
125865 , x_value_type_code => l_adr_value_type_code
125866 , p_side => 'NA'
125867 );
125868
125869 xla_ae_lines_pkg.set_ccid(
125870 p_code_combination_id => l_ccid
125871 , p_value_type_code => l_adr_value_type_code
125872 , p_transaction_coa_id => l_adr_transaction_coa_id
125873 , p_accounting_coa_id => l_adr_accounting_coa_id
125874 , p_adr_code => 'AP_SELF_ASSESSED_TAX_LIAB'
125875 , p_adr_type_code => 'S'
125876 , p_component_type => l_component_type
125877 , p_component_code => l_component_code
125878 , p_component_type_code => l_component_type_code
125879 , p_component_appl_id => l_component_appl_id
125880 , p_amb_context_code => l_amb_context_code
125881 , p_side => 'NA'
125882 );
125883
125884
125885 --
125886 --
125887 END IF;
125888
125889 --
125890 -- Update the line information that should be overwritten
125891 --
125892 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
125893 p_header_num => 1);
125894 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
125895
125896 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
125897
125898 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
125899 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
125900 END IF;
125901
125902 --
125903 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
125904 --
125905 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
125906 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
125907 ELSE
125908 ---------------------------------------------------------------------------------------------------
125909 -- 4262811a Switch Sign
125910 ---------------------------------------------------------------------------------------------------
125914 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
125911 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
125912 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
125913 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
125915 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
125916 -- 5132302
125917 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
125918 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
125919
125920 END IF;
125921
125922 -- 4955764
125923 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
125924 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
125925
125926
125927 XLA_AE_LINES_PKG.ValidateCurrentLine;
125928 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
125929
125930 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
125931 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
125932 ,p_balance_type_code => l_balance_type_code);
125933
125934 END IF;
125935
125936 -----------------------------------------------------------------------------------------
125937 -- 4262811 Multiperiod Accounting
125938 -----------------------------------------------------------------------------------------
125939 -- No MPA option is assigned.
125940
125941
125942 END IF;
125943 END IF;
125944 --
125945
125946 --
125947 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
125948 trace
125949 (p_msg => 'END of AcctLineType_214'
125950 ,p_level => C_LEVEL_PROCEDURE
125951 ,p_module => l_log_module);
125952 END IF;
125953 --
125954 EXCEPTION
125955 WHEN xla_exceptions_pkg.application_exception THEN
125956 RAISE;
125957 WHEN OTHERS THEN
125958 xla_exceptions_pkg.raise_message
125959 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_214');
125960 END AcctLineType_214;
125961 --
125962
125963 ---------------------------------------
125964 --
125965 -- PRIVATE FUNCTION
125966 -- AcctLineType_215
125967 --
125968 ---------------------------------------
125969 PROCEDURE AcctLineType_215 (
125970 p_application_id IN NUMBER
125971 ,p_event_id IN NUMBER
125972 ,p_calculate_acctd_flag IN VARCHAR2
125973 ,p_calculate_g_l_flag IN VARCHAR2
125974 ,p_actual_flag IN OUT VARCHAR2
125975 ,p_balance_type_code OUT VARCHAR2
125976 ,p_gain_or_loss_ref OUT VARCHAR2
125977
125978 --Invoice Distribution Description
125979 , p_source_1 IN VARCHAR2
125980 --Invoice Distribution Ledger Amount
125981 , p_source_16 IN NUMBER
125982 --Invoice Distribution Type
125983 , p_source_28 IN VARCHAR2
125984 , p_source_28_meaning IN VARCHAR2
125985 --Self-Assessed Tax Liability Account
125986 , p_source_47 IN NUMBER
125987 --Accounting Reversal Indicator
125988 , p_source_58 IN VARCHAR2
125989 --Distribution Link Type
125990 , p_source_60 IN VARCHAR2
125991 --Allocation to Main Distribution Identifier
125992 , p_source_62 IN NUMBER
125993 --Invoice Identifier
125994 , p_source_63 IN NUMBER
125995 --Invoice Distribution Identifier
125996 , p_source_69 IN NUMBER
125997 --Payables Encumbrance Upgrade Credit Account
125998 , p_source_70 IN NUMBER
125999 --Payables Encumbrance Upgrade Credit Amount
126000 , p_source_71 IN NUMBER
126001 --Invoice Currency Code
126002 , p_source_72 IN VARCHAR2
126003 --Payables Encumbrance Upgrade Credit Base Amount
126004 , p_source_73 IN NUMBER
126005 --Payables Encumbrance Upgrade Debit Account
126006 , p_source_74 IN NUMBER
126007 --Payables Encumbrance Upgrade Debit Amount
126008 , p_source_75 IN NUMBER
126009 --Payables Encumbrance Upgrade Debit Base Amount
126010 , p_source_76 IN NUMBER
126011 --Payables Encumbrance Upgrade Option
126012 , p_source_77 IN VARCHAR2
126013 --Invoice Distribution Amount
126014 , p_source_78 IN NUMBER
126015 --Deferred Accounting End Date
126016 , p_source_82 IN DATE
126017 --Deferred Accounting Option
126018 , p_source_83 IN VARCHAR2
126019 --Deferred Accounting Start Date
126020 , p_source_84 IN DATE
126021 --Override Accounted Amount Indicator
126022 , p_source_85 IN VARCHAR2
126023 , p_source_85_meaning IN VARCHAR2
126024 --Invoice Supplier Identifier
126025 , p_source_86 IN NUMBER
126026 --Invoice Supplier Site Identifier
126027 , p_source_87 IN NUMBER
126028 --Third Party Type
126029 , p_source_88 IN VARCHAR2
126030 --Parent Reversal Identifier
126031 , p_source_89 IN NUMBER
126032 --Invoice Distribution Statistical Amount
126033 , p_source_90 IN NUMBER
126034 --Invoice Distribution Tax Line Identifier
126035 , p_source_91 IN NUMBER
126036 --Invoice Distribution Tax Distribution Identifier from Tax
126040 --Payables Upgrade Credit Encumbrance Type Identifier
126037 , p_source_92 IN NUMBER
126038 --Invoice Distribution Summary Tax Line Identifier
126039 , p_source_93 IN NUMBER
126041 , p_source_94 IN NUMBER
126042 --Payables Upgrade Debit Encumbrance Type Identifier
126043 , p_source_95 IN NUMBER
126044 --Business Flow Accounts Payable Application Identifier
126045 , p_source_96 IN NUMBER
126046 --Business Flow Invoice Distribution Type
126047 , p_source_97 IN VARCHAR2
126048 --Business Flow Invoice Entity Code
126049 , p_source_98 IN VARCHAR2
126050 --Business Flow Invoice Distribution Identifier
126051 , p_source_99 IN NUMBER
126052 --Business Flow Invoice Identifier
126053 , p_source_100 IN NUMBER
126054 --Self-Assessed Tax Flag
126055 , p_source_145 IN VARCHAR2
126056 , p_source_145_meaning IN VARCHAR2
126057 --Invoice Exchange Date
126058 , p_source_146 IN DATE
126059 --Invoice Exchange Rate
126060 , p_source_147 IN NUMBER
126061 --Invoice Exchange Rate Type
126062 , p_source_148 IN VARCHAR2
126063 )
126064 IS
126065
126066 l_component_type VARCHAR2(80);
126067 l_component_code VARCHAR2(30);
126068 l_component_type_code VARCHAR2(1);
126069 l_component_appl_id INTEGER;
126070 l_amb_context_code VARCHAR2(30);
126071 l_entity_code VARCHAR2(30);
126072 l_event_class_code VARCHAR2(30);
126073 l_ae_header_id NUMBER;
126074 l_event_type_code VARCHAR2(30);
126075 l_line_definition_code VARCHAR2(30);
126076 l_line_definition_owner_code VARCHAR2(1);
126077 --
126078 -- adr variables
126079 l_segment VARCHAR2(30);
126080 l_ccid NUMBER;
126081 l_adr_transaction_coa_id NUMBER;
126082 l_adr_accounting_coa_id NUMBER;
126083 l_adr_flexfield_segment_code VARCHAR2(30);
126084 l_adr_flex_value_set_id NUMBER;
126085 l_adr_value_type_code VARCHAR2(30);
126086 l_adr_value_combination_id NUMBER;
126087 l_adr_value_segment_code VARCHAR2(30);
126088
126089 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
126090 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
126091 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
126092 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
126093
126094 -- 4262811 Variables ------------------------------------------------------------------------------------------
126095 l_entered_amt_idx NUMBER;
126096 l_accted_amt_idx NUMBER;
126097 l_acc_rev_flag VARCHAR2(1);
126098 l_accrual_line_num NUMBER;
126099 l_tmp_amt NUMBER;
126100 l_acc_rev_natural_side_code VARCHAR2(1);
126101
126102 l_num_entries NUMBER;
126103 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
126104 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
126105 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
126106 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
126107 l_recog_line_1 NUMBER;
126108 l_recog_line_2 NUMBER;
126109
126110 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
126111 l_bflow_applied_to_amt NUMBER; -- 5132302
126112 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
126113
126114 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
126115
126116 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
126117 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
126118
126119 ---------------------------------------------------------------------------------------------------------------
126120
126121
126122 --
126123 -- bulk performance
126124 --
126125 l_balance_type_code VARCHAR2(1);
126126 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
126127 l_log_module VARCHAR2(240);
126128
126129 --
126130 -- Upgrade strategy
126131 --
126132 l_actual_upg_option VARCHAR2(1);
126133 l_enc_upg_option VARCHAR2(1);
126134
126135 --
126136 BEGIN
126137 --
126138 IF g_log_enabled THEN
126139 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_215';
126140 END IF;
126141 --
126142 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
126143
126144 trace
126145 (p_msg => 'BEGIN of AcctLineType_215'
126146 ,p_level => C_LEVEL_PROCEDURE
126147 ,p_module => l_log_module);
126148
126149 END IF;
126150 --
126151 l_component_type := 'AMB_JLT';
126152 l_component_code := 'AP_SELF_ASSESSED_TAX_LIB_PP';
126153 l_component_type_code := 'S';
126154 l_component_appl_id := 200;
126155 l_amb_context_code := 'DEFAULT';
126156 l_entity_code := 'AP_INVOICES';
126157 l_event_class_code := 'PREPAYMENTS';
126158 l_event_type_code := 'PREPAYMENTS_ALL';
126159 l_line_definition_owner_code := 'S';
126160 l_line_definition_code := 'ACCRUAL_PREPAYMENTS_ALL';
126161 --
126162 l_balance_type_code := 'A';
126163 l_segment := NULL;
126164 l_ccid := NULL;
126165 l_adr_transaction_coa_id := NULL;
126166 l_adr_accounting_coa_id := NULL;
126170 l_adr_value_combination_id := NULL;
126167 l_adr_flexfield_segment_code := NULL;
126168 l_adr_flex_value_set_id := NULL;
126169 l_adr_value_type_code := NULL;
126171 l_adr_value_segment_code := NULL;
126172
126173 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
126174 l_bflow_class_code := ''; -- 4219869 Business Flow
126175 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
126176 l_budgetary_control_flag := 'N';
126177
126178 l_bflow_applied_to_amt_idx := NULL; -- 5132302
126179 l_bflow_applied_to_amt := NULL; -- 5132302
126180 l_entered_amt_idx := NULL; -- 4262811
126181 l_accted_amt_idx := NULL; -- 4262811
126182 l_acc_rev_flag := NULL; -- 4262811
126183 l_accrual_line_num := NULL; -- 4262811
126184 l_tmp_amt := NULL; -- 4262811
126185 --
126186
126187 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
126188 l_balance_type_code <> 'B' THEN
126189 IF (NVL(p_source_28,'
126190 ') = 'REC_TAX' OR
126191 NVL(p_source_28,'
126192 ') = 'NONREC_TAX') AND
126193 NVL(p_source_145,'
126194 ') = 'Y'
126195 THEN
126196
126197 --
126198 XLA_AE_LINES_PKG.SetNewLine;
126199
126200 p_balance_type_code := l_balance_type_code;
126201 -- set the flag so later we will know whether the gain loss line needs to be created
126202
126203 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
126204 p_actual_flag :='A';
126205 END IF;
126206
126207 --
126208 -- bulk performance
126209 --
126210 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
126211 p_header_num => 0); -- 4262811
126212 --
126213 -- set accounting line options
126214 --
126215 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
126216 p_natural_side_code => 'C'
126217 , p_gain_or_loss_flag => 'N'
126218 , p_gl_transfer_mode_code => 'S'
126219 , p_acct_entry_type_code => 'A'
126220 , p_switch_side_flag => 'Y'
126221 , p_merge_duplicate_code => 'A'
126222 );
126223 --
126224 l_acc_rev_natural_side_code := 'D'; -- 4262811
126225 --
126226 --
126227 -- set accounting line type info
126228 --
126229 xla_ae_lines_pkg.SetAcctLineType
126230 (p_component_type => l_component_type
126231 ,p_event_type_code => l_event_type_code
126232 ,p_line_definition_owner_code => l_line_definition_owner_code
126233 ,p_line_definition_code => l_line_definition_code
126234 ,p_accounting_line_code => l_component_code
126235 ,p_accounting_line_type_code => l_component_type_code
126236 ,p_accounting_line_appl_id => l_component_appl_id
126237 ,p_amb_context_code => l_amb_context_code
126238 ,p_entity_code => l_entity_code
126239 ,p_event_class_code => l_event_class_code);
126240 --
126241 -- set accounting class
126242 --
126243 xla_ae_lines_pkg.SetAcctClass(
126244 p_accounting_class_code => 'SELF_ASSESSED_TAX'
126245 , p_ae_header_id => l_ae_header_id
126246 );
126247
126248 --
126249 -- set rounding class
126250 --
126251 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
126252 'SELF_ASSESSED_TAX';
126253
126254 --
126255 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
126256 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
126257 --
126258 -- bulk performance
126259 --
126260 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
126261
126262 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
126263 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
126264
126265 -- 4955764
126266 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
126267 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
126268
126269 -- 4458381 Public Sector Enh
126270
126271 --
126272 -- set accounting attributes for the line type
126273 --
126274 l_entered_amt_idx := 23;
126275 l_accted_amt_idx := 28;
126276 l_bflow_applied_to_amt_idx := NULL; -- 5132302
126277 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
126278 l_rec_acct_attrs.array_char_value(1) := p_source_58;
126279 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
126280 l_rec_acct_attrs.array_num_value(2) :=
126281 xla_ae_sources_pkg.GetSystemSourceNum(
126282 p_source_code => 'XLA_EVENT_APPL_ID'
126283 , p_source_type_code => 'Y'
126284 , p_source_application_id => 602
126285 );
126286 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
126287 l_rec_acct_attrs.array_char_value(3) := p_source_60;
126288 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
126289 l_rec_acct_attrs.array_char_value(4) :=
126290 xla_ae_sources_pkg.GetSystemSourceChar(
126291 p_source_code => 'XLA_ENTITY_CODE'
126292 , p_source_type_code => 'Y'
126293 , p_source_application_id => 602
126294 );
126298 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_63);
126295 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
126296 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_62);
126297 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
126299 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
126300 l_rec_acct_attrs.array_num_value(7) := p_source_96;
126301 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
126302 l_rec_acct_attrs.array_char_value(8) := p_source_97;
126303 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
126304 l_rec_acct_attrs.array_char_value(9) := p_source_98;
126305 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
126306 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_99);
126307 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
126308 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_100);
126309 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
126310 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_69);
126311 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
126312 l_rec_acct_attrs.array_char_value(13) := p_source_60;
126313 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
126314 l_rec_acct_attrs.array_num_value(14) := p_source_70;
126315 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
126316 l_rec_acct_attrs.array_num_value(15) := p_source_71;
126317 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
126318 l_rec_acct_attrs.array_char_value(16) := p_source_72;
126319 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
126320 l_rec_acct_attrs.array_num_value(17) := p_source_73;
126321 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
126322 l_rec_acct_attrs.array_num_value(18) := p_source_74;
126323 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
126324 l_rec_acct_attrs.array_num_value(19) := p_source_75;
126325 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
126326 l_rec_acct_attrs.array_char_value(20) := p_source_72;
126327 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
126328 l_rec_acct_attrs.array_num_value(21) := p_source_76;
126329 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
126330 l_rec_acct_attrs.array_char_value(22) := p_source_77;
126331 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
126332 l_rec_acct_attrs.array_num_value(23) := p_source_78;
126333 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
126334 l_rec_acct_attrs.array_char_value(24) := p_source_72;
126335 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
126336 l_rec_acct_attrs.array_date_value(25) := p_source_146;
126337 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
126338 l_rec_acct_attrs.array_num_value(26) := p_source_147;
126339 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
126340 l_rec_acct_attrs.array_char_value(27) := p_source_148;
126341 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
126342 l_rec_acct_attrs.array_num_value(28) := p_source_16;
126343 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
126344 l_rec_acct_attrs.array_date_value(29) := p_source_82;
126345 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
126346 l_rec_acct_attrs.array_char_value(30) := p_source_83;
126347 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
126348 l_rec_acct_attrs.array_date_value(31) := p_source_84;
126349 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
126350 l_rec_acct_attrs.array_char_value(32) := p_source_85;
126351 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
126352 l_rec_acct_attrs.array_num_value(33) := p_source_86;
126353 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
126354 l_rec_acct_attrs.array_num_value(34) := p_source_87;
126355 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
126356 l_rec_acct_attrs.array_char_value(35) := p_source_88;
126357 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
126358 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_89);
126359 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
126360 l_rec_acct_attrs.array_char_value(37) := p_source_60;
126361 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
126362 l_rec_acct_attrs.array_num_value(38) := p_source_90;
126363 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
126364 l_rec_acct_attrs.array_num_value(39) := p_source_91;
126365 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
126366 l_rec_acct_attrs.array_num_value(40) := p_source_92;
126367 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
126368 l_rec_acct_attrs.array_num_value(41) := p_source_93;
126369 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
126370 l_rec_acct_attrs.array_num_value(42) := p_source_94;
126371 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
126372 l_rec_acct_attrs.array_num_value(43) := p_source_95;
126373
126374 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
126375 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
126376
126377 ---------------------------------------------------------------------------------------------------------------
126381
126378 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
126379 ---------------------------------------------------------------------------------------------------------------
126380 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
126382 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
126383 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
126384
126385 IF xla_accounting_cache_pkg.GetValueChar
126386 (p_source_code => 'LEDGER_CATEGORY_CODE'
126387 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
126388 AND l_bflow_method_code = 'PRIOR_ENTRY'
126389 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
126390 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
126391 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
126392 )
126393 THEN
126394 xla_ae_lines_pkg.BflowUpgEntry
126395 (p_business_method_code => l_bflow_method_code
126396 ,p_business_class_code => l_bflow_class_code
126397 ,p_balance_type => l_balance_type_code);
126398 ELSE
126399 NULL;
126400 -- No business flow processing for business flow method of NONE.
126401 END IF;
126402
126403 --
126404 -- call analytical criteria
126405 --
126406
126407 --
126408 -- call description
126409 --
126410
126411 xla_ae_lines_pkg.SetLineDescription(
126412 p_ae_header_id => l_ae_header_id
126413 ,p_description => Description_2 (
126414 p_application_id => p_application_id
126415 , p_ae_header_id => l_ae_header_id
126416 , p_source_1 => p_source_1
126417 )
126418 );
126419
126420
126421 --
126422 -- call ADRs
126423 -- Bug 4922099
126424 --
126425 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
126426 (NVL(l_actual_upg_option, 'N') = 'O') OR
126427 (NVL(l_enc_upg_option, 'N') = 'O')
126428 )
126429 THEN
126430 NULL;
126431 --
126432 --
126433
126434 l_ccid := AcctDerRule_45(
126435 p_application_id => p_application_id
126436 , p_ae_header_id => l_ae_header_id
126437 , p_source_47 => p_source_47
126438 , x_transaction_coa_id => l_adr_transaction_coa_id
126439 , x_accounting_coa_id => l_adr_accounting_coa_id
126440 , x_value_type_code => l_adr_value_type_code
126441 , p_side => 'NA'
126442 );
126443
126444 xla_ae_lines_pkg.set_ccid(
126445 p_code_combination_id => l_ccid
126446 , p_value_type_code => l_adr_value_type_code
126447 , p_transaction_coa_id => l_adr_transaction_coa_id
126448 , p_accounting_coa_id => l_adr_accounting_coa_id
126449 , p_adr_code => 'AP_SELF_ASSESSED_TAX_LIAB'
126450 , p_adr_type_code => 'S'
126451 , p_component_type => l_component_type
126452 , p_component_code => l_component_code
126453 , p_component_type_code => l_component_type_code
126454 , p_component_appl_id => l_component_appl_id
126455 , p_amb_context_code => l_amb_context_code
126456 , p_side => 'NA'
126457 );
126458
126459
126460 --
126461 --
126462 END IF;
126463 --
126464 -- Bug 4922099
126465 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
126466 (NVL(l_enc_upg_option, 'N') = 'O')
126467 ) AND
126468 (l_bflow_method_code = 'PRIOR_ENTRY')
126469 )
126470 THEN
126471 IF
126472 --
126473 1 = 2
126474 --
126475 THEN
126476 xla_accounting_err_pkg.build_message
126477 (p_appli_s_name => 'XLA'
126478 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
126479 ,p_token_1 => 'LINE_NUMBER'
126480 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
126481 ,p_token_2 => 'LINE_TYPE_NAME'
126482 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
126483 l_component_type
126484 ,l_component_code
126485 ,l_component_type_code
126486 ,l_component_appl_id
126487 ,l_amb_context_code
126488 ,l_entity_code
126489 ,l_event_class_code
126490 )
126491 ,p_token_3 => 'OWNER'
126492 ,p_value_3 => xla_lookups_pkg.get_meaning(
126493 p_lookup_type => 'XLA_OWNER_TYPE'
126497 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
126494 ,p_lookup_code => l_component_type_code
126495 )
126496 ,p_token_4 => 'PRODUCT_NAME'
126498 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
126499 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
126500 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
126501 ,p_ae_header_id => NULL
126502 );
126503
126504 IF (C_LEVEL_ERROR>= g_log_level) THEN
126505 trace
126506 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
126507 ,p_level => C_LEVEL_ERROR
126508 ,p_module => l_log_module);
126509 END IF;
126510 END IF;
126511 END IF;
126512 --
126513 --
126514 ------------------------------------------------------------------------------------------------
126515 -- 4219869 Business Flow
126516 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
126517 -- Prior Entry. Currently, the following code is always generated.
126518 ------------------------------------------------------------------------------------------------
126519 XLA_AE_LINES_PKG.ValidateCurrentLine;
126520
126521 ------------------------------------------------------------------------------------
126522 -- 4219869 Business Flow
126523 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
126524 ------------------------------------------------------------------------------------
126525 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
126526
126527 ----------------------------------------------------------------------------------
126528 -- 4219869 Business Flow
126529 -- Update journal entry status -- Need to generate this within IF <condition>
126530 ----------------------------------------------------------------------------------
126531 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
126532 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
126533 ,p_balance_type_code => l_balance_type_code
126534 );
126535
126536 -------------------------------------------------------------------------------------------
126537 -- 4262811 - Generate the Accrual Reversal lines
126538 -------------------------------------------------------------------------------------------
126539 BEGIN
126540 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
126541 (g_array_event(p_event_id).array_value_num('header_index'));
126542 IF l_acc_rev_flag IS NULL THEN
126543 l_acc_rev_flag := 'N';
126544 END IF;
126545 EXCEPTION
126546 WHEN OTHERS THEN
126547 l_acc_rev_flag := 'N';
126548 END;
126549 --
126550 IF (l_acc_rev_flag = 'Y') THEN
126551
126552 -- 4645092 ------------------------------------------------------------------------------
126553 -- To allow MPA report to determine if it should generate report process
126554 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
126555 ------------------------------------------------------------------------------------------
126556
126557 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
126558 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
126559 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
126560 -- call ADRs
126561 -- Bug 4922099
126562 --
126563 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
126564 (NVL(l_actual_upg_option, 'N') = 'O') OR
126565 (NVL(l_enc_upg_option, 'N') = 'O')
126566 )
126567 THEN
126568 NULL;
126569 --
126570 --
126571
126572 l_ccid := AcctDerRule_45(
126573 p_application_id => p_application_id
126574 , p_ae_header_id => l_ae_header_id
126575 , p_source_47 => p_source_47
126576 , x_transaction_coa_id => l_adr_transaction_coa_id
126577 , x_accounting_coa_id => l_adr_accounting_coa_id
126578 , x_value_type_code => l_adr_value_type_code
126579 , p_side => 'NA'
126580 );
126581
126582 xla_ae_lines_pkg.set_ccid(
126583 p_code_combination_id => l_ccid
126584 , p_value_type_code => l_adr_value_type_code
126585 , p_transaction_coa_id => l_adr_transaction_coa_id
126586 , p_accounting_coa_id => l_adr_accounting_coa_id
126587 , p_adr_code => 'AP_SELF_ASSESSED_TAX_LIAB'
126588 , p_adr_type_code => 'S'
126589 , p_component_type => l_component_type
126590 , p_component_code => l_component_code
126591 , p_component_type_code => l_component_type_code
126592 , p_component_appl_id => l_component_appl_id
126593 , p_amb_context_code => l_amb_context_code
126594 , p_side => 'NA'
126595 );
126596
126597
126598 --
126599 --
126600 END IF;
126601
126602 --
126606 p_header_num => 1);
126603 -- Update the line information that should be overwritten
126604 --
126605 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
126607 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
126608
126609 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
126610
126611 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
126612 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
126613 END IF;
126614
126615 --
126616 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
126617 --
126618 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
126619 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
126620 ELSE
126621 ---------------------------------------------------------------------------------------------------
126622 -- 4262811a Switch Sign
126623 ---------------------------------------------------------------------------------------------------
126624 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
126625 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
126626 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
126627 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
126628 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
126629 -- 5132302
126630 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
126631 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
126632
126633 END IF;
126634
126635 -- 4955764
126636 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
126637 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
126638
126639
126640 XLA_AE_LINES_PKG.ValidateCurrentLine;
126641 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
126642
126643 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
126644 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
126645 ,p_balance_type_code => l_balance_type_code);
126646
126647 END IF;
126648
126649 -----------------------------------------------------------------------------------------
126650 -- 4262811 Multiperiod Accounting
126651 -----------------------------------------------------------------------------------------
126652 -- No MPA option is assigned.
126653
126654
126655 END IF;
126656 END IF;
126657 --
126658
126659 --
126660 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
126661 trace
126662 (p_msg => 'END of AcctLineType_215'
126663 ,p_level => C_LEVEL_PROCEDURE
126664 ,p_module => l_log_module);
126665 END IF;
126666 --
126667 EXCEPTION
126668 WHEN xla_exceptions_pkg.application_exception THEN
126669 RAISE;
126670 WHEN OTHERS THEN
126671 xla_exceptions_pkg.raise_message
126672 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_215');
126673 END AcctLineType_215;
126674 --
126675
126676 ---------------------------------------
126677 --
126678 -- PRIVATE FUNCTION
126679 -- AcctLineType_216
126680 --
126681 ---------------------------------------
126682 PROCEDURE AcctLineType_216 (
126683 p_application_id IN NUMBER
126684 ,p_event_id IN NUMBER
126685 ,p_calculate_acctd_flag IN VARCHAR2
126686 ,p_calculate_g_l_flag IN VARCHAR2
126687 ,p_actual_flag IN OUT VARCHAR2
126688 ,p_balance_type_code OUT VARCHAR2
126689 ,p_gain_or_loss_ref OUT VARCHAR2
126690
126691 --Invoice Distribution Description
126692 , p_source_1 IN VARCHAR2
126693 --Invoice Distribution Ledger Amount
126694 , p_source_16 IN NUMBER
126695 --Invoice Distribution Type
126696 , p_source_28 IN VARCHAR2
126697 , p_source_28_meaning IN VARCHAR2
126698 --Self-Assessed Tax Account
126699 , p_source_46 IN NUMBER
126700 --Accrue on Receipt Option
126701 , p_source_54 IN VARCHAR2
126702 , p_source_54_meaning IN VARCHAR2
126703 --Accounting Reversal Indicator
126704 , p_source_58 IN VARCHAR2
126705 --Distribution Link Type
126706 , p_source_60 IN VARCHAR2
126707 --Allocation to Main Distribution Identifier
126708 , p_source_62 IN NUMBER
126709 --Invoice Identifier
126710 , p_source_63 IN NUMBER
126711 --Invoice Distribution Identifier
126712 , p_source_69 IN NUMBER
126713 --Payables Encumbrance Upgrade Credit Account
126714 , p_source_70 IN NUMBER
126715 --Payables Encumbrance Upgrade Credit Amount
126716 , p_source_71 IN NUMBER
126717 --Invoice Currency Code
126718 , p_source_72 IN VARCHAR2
126719 --Payables Encumbrance Upgrade Credit Base Amount
126720 , p_source_73 IN NUMBER
126721 --Payables Encumbrance Upgrade Debit Account
126725 --Payables Encumbrance Upgrade Debit Base Amount
126722 , p_source_74 IN NUMBER
126723 --Payables Encumbrance Upgrade Debit Amount
126724 , p_source_75 IN NUMBER
126726 , p_source_76 IN NUMBER
126727 --Payables Encumbrance Upgrade Option
126728 , p_source_77 IN VARCHAR2
126729 --Invoice Distribution Amount
126730 , p_source_78 IN NUMBER
126731 --Purchase Order Exchange Rate Date
126732 , p_source_79 IN DATE
126733 --Purchase Order Exchange Rate
126734 , p_source_80 IN NUMBER
126735 --Purchase Order Exchange Rate Type
126736 , p_source_81 IN VARCHAR2
126737 --Deferred Accounting End Date
126738 , p_source_82 IN DATE
126739 --Deferred Accounting Option
126740 , p_source_83 IN VARCHAR2
126741 --Deferred Accounting Start Date
126742 , p_source_84 IN DATE
126743 --Override Accounted Amount Indicator
126744 , p_source_85 IN VARCHAR2
126745 , p_source_85_meaning IN VARCHAR2
126746 --Invoice Supplier Identifier
126747 , p_source_86 IN NUMBER
126748 --Invoice Supplier Site Identifier
126749 , p_source_87 IN NUMBER
126750 --Third Party Type
126751 , p_source_88 IN VARCHAR2
126752 --Parent Reversal Identifier
126753 , p_source_89 IN NUMBER
126754 --Invoice Distribution Statistical Amount
126755 , p_source_90 IN NUMBER
126756 --Invoice Distribution Tax Line Identifier
126757 , p_source_91 IN NUMBER
126758 --Invoice Distribution Tax Distribution Identifier from Tax
126759 , p_source_92 IN NUMBER
126760 --Invoice Distribution Summary Tax Line Identifier
126761 , p_source_93 IN NUMBER
126762 --Payables Upgrade Credit Encumbrance Type Identifier
126763 , p_source_94 IN NUMBER
126764 --Payables Upgrade Debit Encumbrance Type Identifier
126765 , p_source_95 IN NUMBER
126766 --Business Flow Accounts Payable Application Identifier
126767 , p_source_96 IN NUMBER
126768 --Business Flow Invoice Distribution Type
126769 , p_source_97 IN VARCHAR2
126770 --Business Flow Invoice Entity Code
126771 , p_source_98 IN VARCHAR2
126772 --Business Flow Invoice Distribution Identifier
126773 , p_source_99 IN NUMBER
126774 --Business Flow Invoice Identifier
126775 , p_source_100 IN NUMBER
126776 --Self-Assessed Tax Flag
126777 , p_source_145 IN VARCHAR2
126778 , p_source_145_meaning IN VARCHAR2
126779 )
126780 IS
126781
126782 l_component_type VARCHAR2(80);
126783 l_component_code VARCHAR2(30);
126784 l_component_type_code VARCHAR2(1);
126785 l_component_appl_id INTEGER;
126786 l_amb_context_code VARCHAR2(30);
126787 l_entity_code VARCHAR2(30);
126788 l_event_class_code VARCHAR2(30);
126789 l_ae_header_id NUMBER;
126790 l_event_type_code VARCHAR2(30);
126791 l_line_definition_code VARCHAR2(30);
126792 l_line_definition_owner_code VARCHAR2(1);
126793 --
126794 -- adr variables
126795 l_segment VARCHAR2(30);
126796 l_ccid NUMBER;
126797 l_adr_transaction_coa_id NUMBER;
126798 l_adr_accounting_coa_id NUMBER;
126799 l_adr_flexfield_segment_code VARCHAR2(30);
126800 l_adr_flex_value_set_id NUMBER;
126801 l_adr_value_type_code VARCHAR2(30);
126802 l_adr_value_combination_id NUMBER;
126803 l_adr_value_segment_code VARCHAR2(30);
126804
126805 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
126806 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
126807 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
126808 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
126809
126810 -- 4262811 Variables ------------------------------------------------------------------------------------------
126811 l_entered_amt_idx NUMBER;
126812 l_accted_amt_idx NUMBER;
126813 l_acc_rev_flag VARCHAR2(1);
126814 l_accrual_line_num NUMBER;
126815 l_tmp_amt NUMBER;
126816 l_acc_rev_natural_side_code VARCHAR2(1);
126817
126818 l_num_entries NUMBER;
126819 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
126820 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
126821 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
126822 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
126823 l_recog_line_1 NUMBER;
126824 l_recog_line_2 NUMBER;
126825
126826 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
126827 l_bflow_applied_to_amt NUMBER; -- 5132302
126828 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
126829
126830 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
126831
126832 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
126833 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
126834
126835 ---------------------------------------------------------------------------------------------------------------
126836
126837
126838 --
126839 -- bulk performance
126840 --
126841 l_balance_type_code VARCHAR2(1);
126845 --
126842 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
126843 l_log_module VARCHAR2(240);
126844
126846 -- Upgrade strategy
126847 --
126848 l_actual_upg_option VARCHAR2(1);
126849 l_enc_upg_option VARCHAR2(1);
126850
126851 --
126852 BEGIN
126853 --
126854 IF g_log_enabled THEN
126855 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_216';
126856 END IF;
126857 --
126858 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
126859
126860 trace
126861 (p_msg => 'BEGIN of AcctLineType_216'
126862 ,p_level => C_LEVEL_PROCEDURE
126863 ,p_module => l_log_module);
126864
126865 END IF;
126866 --
126867 l_component_type := 'AMB_JLT';
126868 l_component_code := 'AP_SELF_NONREC_ACCRUAL_PREPAY';
126869 l_component_type_code := 'S';
126870 l_component_appl_id := 200;
126871 l_amb_context_code := 'DEFAULT';
126872 l_entity_code := 'AP_INVOICES';
126873 l_event_class_code := 'PREPAYMENTS';
126874 l_event_type_code := 'PREPAYMENTS_ALL';
126875 l_line_definition_owner_code := 'S';
126876 l_line_definition_code := 'ACCRUAL_PREPAYMENTS_ALL';
126877 --
126878 l_balance_type_code := 'A';
126879 l_segment := NULL;
126880 l_ccid := NULL;
126881 l_adr_transaction_coa_id := NULL;
126882 l_adr_accounting_coa_id := NULL;
126883 l_adr_flexfield_segment_code := NULL;
126884 l_adr_flex_value_set_id := NULL;
126885 l_adr_value_type_code := NULL;
126886 l_adr_value_combination_id := NULL;
126887 l_adr_value_segment_code := NULL;
126888
126889 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
126890 l_bflow_class_code := ''; -- 4219869 Business Flow
126891 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
126892 l_budgetary_control_flag := 'N';
126893
126894 l_bflow_applied_to_amt_idx := NULL; -- 5132302
126895 l_bflow_applied_to_amt := NULL; -- 5132302
126896 l_entered_amt_idx := NULL; -- 4262811
126897 l_accted_amt_idx := NULL; -- 4262811
126898 l_acc_rev_flag := NULL; -- 4262811
126899 l_accrual_line_num := NULL; -- 4262811
126900 l_tmp_amt := NULL; -- 4262811
126901 --
126902
126903 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
126904 l_balance_type_code <> 'B' THEN
126905 IF NVL(p_source_28,'
126906 ') = 'NONREC_TAX' AND
126907 NVL(p_source_145,'
126908 ') = 'Y' AND
126909 NVL(p_source_54,'
126910 ') = 'Y'
126911 THEN
126912
126913 --
126914 XLA_AE_LINES_PKG.SetNewLine;
126915
126916 p_balance_type_code := l_balance_type_code;
126917 -- set the flag so later we will know whether the gain loss line needs to be created
126918
126919 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
126920 p_actual_flag :='A';
126921 END IF;
126922
126923 --
126924 -- bulk performance
126925 --
126926 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
126927 p_header_num => 0); -- 4262811
126928 --
126929 -- set accounting line options
126930 --
126931 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
126932 p_natural_side_code => 'D'
126933 , p_gain_or_loss_flag => 'N'
126934 , p_gl_transfer_mode_code => 'S'
126935 , p_acct_entry_type_code => 'A'
126936 , p_switch_side_flag => 'Y'
126937 , p_merge_duplicate_code => 'A'
126938 );
126939 --
126940 l_acc_rev_natural_side_code := 'C'; -- 4262811
126941 --
126942 --
126943 -- set accounting line type info
126944 --
126945 xla_ae_lines_pkg.SetAcctLineType
126946 (p_component_type => l_component_type
126947 ,p_event_type_code => l_event_type_code
126948 ,p_line_definition_owner_code => l_line_definition_owner_code
126949 ,p_line_definition_code => l_line_definition_code
126950 ,p_accounting_line_code => l_component_code
126951 ,p_accounting_line_type_code => l_component_type_code
126952 ,p_accounting_line_appl_id => l_component_appl_id
126953 ,p_amb_context_code => l_amb_context_code
126954 ,p_entity_code => l_entity_code
126955 ,p_event_class_code => l_event_class_code);
126956 --
126957 -- set accounting class
126958 --
126959 xla_ae_lines_pkg.SetAcctClass(
126960 p_accounting_class_code => 'SELF_ASSESSED_TAX'
126961 , p_ae_header_id => l_ae_header_id
126962 );
126963
126964 --
126965 -- set rounding class
126966 --
126967 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
126968 'SELF_ASSESSED_TAX';
126969
126970 --
126971 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
126972 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
126973 --
126974 -- bulk performance
126975 --
126976 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
126977
126981 -- 4955764
126978 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
126979 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
126980
126982 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
126983 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
126984
126985 -- 4458381 Public Sector Enh
126986
126987 --
126988 -- set accounting attributes for the line type
126989 --
126990 l_entered_amt_idx := 23;
126991 l_accted_amt_idx := 28;
126992 l_bflow_applied_to_amt_idx := NULL; -- 5132302
126993 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
126994 l_rec_acct_attrs.array_char_value(1) := p_source_58;
126995 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
126996 l_rec_acct_attrs.array_num_value(2) :=
126997 xla_ae_sources_pkg.GetSystemSourceNum(
126998 p_source_code => 'XLA_EVENT_APPL_ID'
126999 , p_source_type_code => 'Y'
127000 , p_source_application_id => 602
127001 );
127002 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
127003 l_rec_acct_attrs.array_char_value(3) := p_source_60;
127004 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
127005 l_rec_acct_attrs.array_char_value(4) :=
127006 xla_ae_sources_pkg.GetSystemSourceChar(
127007 p_source_code => 'XLA_ENTITY_CODE'
127008 , p_source_type_code => 'Y'
127009 , p_source_application_id => 602
127010 );
127011 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
127012 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_62);
127013 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
127014 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_63);
127015 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
127016 l_rec_acct_attrs.array_num_value(7) := p_source_96;
127017 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
127018 l_rec_acct_attrs.array_char_value(8) := p_source_97;
127019 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
127020 l_rec_acct_attrs.array_char_value(9) := p_source_98;
127021 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
127022 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_99);
127023 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
127024 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_100);
127025 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
127026 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_69);
127027 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
127028 l_rec_acct_attrs.array_char_value(13) := p_source_60;
127029 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
127030 l_rec_acct_attrs.array_num_value(14) := p_source_70;
127031 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
127032 l_rec_acct_attrs.array_num_value(15) := p_source_71;
127033 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
127034 l_rec_acct_attrs.array_char_value(16) := p_source_72;
127035 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
127036 l_rec_acct_attrs.array_num_value(17) := p_source_73;
127037 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
127038 l_rec_acct_attrs.array_num_value(18) := p_source_74;
127039 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
127040 l_rec_acct_attrs.array_num_value(19) := p_source_75;
127041 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
127042 l_rec_acct_attrs.array_char_value(20) := p_source_72;
127043 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
127044 l_rec_acct_attrs.array_num_value(21) := p_source_76;
127045 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
127046 l_rec_acct_attrs.array_char_value(22) := p_source_77;
127047 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
127048 l_rec_acct_attrs.array_num_value(23) := p_source_78;
127049 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
127050 l_rec_acct_attrs.array_char_value(24) := p_source_72;
127051 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
127052 l_rec_acct_attrs.array_date_value(25) := p_source_79;
127053 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
127054 l_rec_acct_attrs.array_num_value(26) := p_source_80;
127055 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
127056 l_rec_acct_attrs.array_char_value(27) := p_source_81;
127057 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
127058 l_rec_acct_attrs.array_num_value(28) := p_source_16;
127059 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
127060 l_rec_acct_attrs.array_date_value(29) := p_source_82;
127061 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
127062 l_rec_acct_attrs.array_char_value(30) := p_source_83;
127063 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
127064 l_rec_acct_attrs.array_date_value(31) := p_source_84;
127065 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
127066 l_rec_acct_attrs.array_char_value(32) := p_source_85;
127067 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
127068 l_rec_acct_attrs.array_num_value(33) := p_source_86;
127069 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
127073 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
127070 l_rec_acct_attrs.array_num_value(34) := p_source_87;
127071 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
127072 l_rec_acct_attrs.array_char_value(35) := p_source_88;
127074 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_89);
127075 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
127076 l_rec_acct_attrs.array_char_value(37) := p_source_60;
127077 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
127078 l_rec_acct_attrs.array_num_value(38) := p_source_90;
127079 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
127080 l_rec_acct_attrs.array_num_value(39) := p_source_91;
127081 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
127082 l_rec_acct_attrs.array_num_value(40) := p_source_92;
127083 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
127084 l_rec_acct_attrs.array_num_value(41) := p_source_93;
127085 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
127086 l_rec_acct_attrs.array_num_value(42) := p_source_94;
127087 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
127088 l_rec_acct_attrs.array_num_value(43) := p_source_95;
127089
127090 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
127091 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
127092
127093 ---------------------------------------------------------------------------------------------------------------
127094 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
127095 ---------------------------------------------------------------------------------------------------------------
127096 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
127097
127098 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
127099 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
127100
127101 IF xla_accounting_cache_pkg.GetValueChar
127102 (p_source_code => 'LEDGER_CATEGORY_CODE'
127103 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
127104 AND l_bflow_method_code = 'PRIOR_ENTRY'
127105 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
127106 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
127107 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
127108 )
127109 THEN
127110 xla_ae_lines_pkg.BflowUpgEntry
127111 (p_business_method_code => l_bflow_method_code
127112 ,p_business_class_code => l_bflow_class_code
127113 ,p_balance_type => l_balance_type_code);
127114 ELSE
127115 NULL;
127116 -- No business flow processing for business flow method of NONE.
127117 END IF;
127118
127119 --
127120 -- call analytical criteria
127121 --
127122
127123 --
127124 -- call description
127125 --
127126
127127 xla_ae_lines_pkg.SetLineDescription(
127128 p_ae_header_id => l_ae_header_id
127129 ,p_description => Description_2 (
127130 p_application_id => p_application_id
127131 , p_ae_header_id => l_ae_header_id
127132 , p_source_1 => p_source_1
127133 )
127134 );
127135
127136
127137 --
127138 -- call ADRs
127139 -- Bug 4922099
127140 --
127141 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
127142 (NVL(l_actual_upg_option, 'N') = 'O') OR
127143 (NVL(l_enc_upg_option, 'N') = 'O')
127144 )
127145 THEN
127146 NULL;
127147 --
127148 --
127149
127150 l_ccid := AcctDerRule_44(
127151 p_application_id => p_application_id
127152 , p_ae_header_id => l_ae_header_id
127153 , p_source_46 => p_source_46
127154 , x_transaction_coa_id => l_adr_transaction_coa_id
127155 , x_accounting_coa_id => l_adr_accounting_coa_id
127156 , x_value_type_code => l_adr_value_type_code
127157 , p_side => 'NA'
127158 );
127159
127160 xla_ae_lines_pkg.set_ccid(
127161 p_code_combination_id => l_ccid
127162 , p_value_type_code => l_adr_value_type_code
127163 , p_transaction_coa_id => l_adr_transaction_coa_id
127164 , p_accounting_coa_id => l_adr_accounting_coa_id
127165 , p_adr_code => 'AP_SELF_ASSESSED_TAX'
127166 , p_adr_type_code => 'S'
127167 , p_component_type => l_component_type
127168 , p_component_code => l_component_code
127169 , p_component_type_code => l_component_type_code
127170 , p_component_appl_id => l_component_appl_id
127171 , p_amb_context_code => l_amb_context_code
127172 , p_side => 'NA'
127173 );
127174
127175
127176 --
127177 --
127178 END IF;
127179 --
127180 -- Bug 4922099
127181 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
127182 (NVL(l_enc_upg_option, 'N') = 'O')
127183 ) AND
127184 (l_bflow_method_code = 'PRIOR_ENTRY')
127185 )
127186 THEN
127187 IF
127188 --
127189 1 = 2
127190 --
127191 THEN
127192 xla_accounting_err_pkg.build_message
127193 (p_appli_s_name => 'XLA'
127197 ,p_token_2 => 'LINE_TYPE_NAME'
127194 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
127195 ,p_token_1 => 'LINE_NUMBER'
127196 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
127198 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
127199 l_component_type
127200 ,l_component_code
127201 ,l_component_type_code
127202 ,l_component_appl_id
127203 ,l_amb_context_code
127204 ,l_entity_code
127205 ,l_event_class_code
127206 )
127207 ,p_token_3 => 'OWNER'
127208 ,p_value_3 => xla_lookups_pkg.get_meaning(
127209 p_lookup_type => 'XLA_OWNER_TYPE'
127210 ,p_lookup_code => l_component_type_code
127211 )
127212 ,p_token_4 => 'PRODUCT_NAME'
127213 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
127214 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
127215 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
127216 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
127217 ,p_ae_header_id => NULL
127218 );
127219
127220 IF (C_LEVEL_ERROR>= g_log_level) THEN
127221 trace
127222 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
127223 ,p_level => C_LEVEL_ERROR
127224 ,p_module => l_log_module);
127225 END IF;
127226 END IF;
127227 END IF;
127228 --
127229 --
127230 ------------------------------------------------------------------------------------------------
127231 -- 4219869 Business Flow
127232 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
127233 -- Prior Entry. Currently, the following code is always generated.
127234 ------------------------------------------------------------------------------------------------
127235 XLA_AE_LINES_PKG.ValidateCurrentLine;
127236
127237 ------------------------------------------------------------------------------------
127238 -- 4219869 Business Flow
127239 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
127240 ------------------------------------------------------------------------------------
127241 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
127242
127243 ----------------------------------------------------------------------------------
127244 -- 4219869 Business Flow
127245 -- Update journal entry status -- Need to generate this within IF <condition>
127246 ----------------------------------------------------------------------------------
127247 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
127248 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
127249 ,p_balance_type_code => l_balance_type_code
127250 );
127251
127252 -------------------------------------------------------------------------------------------
127253 -- 4262811 - Generate the Accrual Reversal lines
127254 -------------------------------------------------------------------------------------------
127255 BEGIN
127256 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
127257 (g_array_event(p_event_id).array_value_num('header_index'));
127258 IF l_acc_rev_flag IS NULL THEN
127259 l_acc_rev_flag := 'N';
127260 END IF;
127261 EXCEPTION
127262 WHEN OTHERS THEN
127263 l_acc_rev_flag := 'N';
127264 END;
127265 --
127266 IF (l_acc_rev_flag = 'Y') THEN
127267
127268 -- 4645092 ------------------------------------------------------------------------------
127269 -- To allow MPA report to determine if it should generate report process
127270 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
127271 ------------------------------------------------------------------------------------------
127272
127273 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
127274 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
127275 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
127276 -- call ADRs
127277 -- Bug 4922099
127278 --
127279 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
127280 (NVL(l_actual_upg_option, 'N') = 'O') OR
127281 (NVL(l_enc_upg_option, 'N') = 'O')
127282 )
127283 THEN
127284 NULL;
127285 --
127286 --
127290 , p_ae_header_id => l_ae_header_id
127287
127288 l_ccid := AcctDerRule_44(
127289 p_application_id => p_application_id
127291 , p_source_46 => p_source_46
127292 , x_transaction_coa_id => l_adr_transaction_coa_id
127293 , x_accounting_coa_id => l_adr_accounting_coa_id
127294 , x_value_type_code => l_adr_value_type_code
127295 , p_side => 'NA'
127296 );
127297
127298 xla_ae_lines_pkg.set_ccid(
127299 p_code_combination_id => l_ccid
127300 , p_value_type_code => l_adr_value_type_code
127301 , p_transaction_coa_id => l_adr_transaction_coa_id
127302 , p_accounting_coa_id => l_adr_accounting_coa_id
127303 , p_adr_code => 'AP_SELF_ASSESSED_TAX'
127304 , p_adr_type_code => 'S'
127305 , p_component_type => l_component_type
127306 , p_component_code => l_component_code
127307 , p_component_type_code => l_component_type_code
127308 , p_component_appl_id => l_component_appl_id
127309 , p_amb_context_code => l_amb_context_code
127310 , p_side => 'NA'
127311 );
127312
127313
127314 --
127315 --
127316 END IF;
127317
127318 --
127319 -- Update the line information that should be overwritten
127320 --
127321 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
127322 p_header_num => 1);
127323 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
127324
127325 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
127326
127327 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
127328 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
127329 END IF;
127330
127331 --
127332 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
127333 --
127334 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
127335 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
127336 ELSE
127337 ---------------------------------------------------------------------------------------------------
127338 -- 4262811a Switch Sign
127339 ---------------------------------------------------------------------------------------------------
127340 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
127341 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
127342 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
127343 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
127344 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
127345 -- 5132302
127346 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
127347 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
127348
127349 END IF;
127350
127351 -- 4955764
127352 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
127353 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
127354
127355
127356 XLA_AE_LINES_PKG.ValidateCurrentLine;
127357 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
127358
127359 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
127360 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
127361 ,p_balance_type_code => l_balance_type_code);
127362
127363 END IF;
127364
127365 -----------------------------------------------------------------------------------------
127366 -- 4262811 Multiperiod Accounting
127367 -----------------------------------------------------------------------------------------
127368 -- No MPA option is assigned.
127369
127370
127371 END IF;
127372 END IF;
127373 --
127374
127375 --
127376 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
127377 trace
127378 (p_msg => 'END of AcctLineType_216'
127379 ,p_level => C_LEVEL_PROCEDURE
127380 ,p_module => l_log_module);
127381 END IF;
127382 --
127383 EXCEPTION
127384 WHEN xla_exceptions_pkg.application_exception THEN
127385 RAISE;
127386 WHEN OTHERS THEN
127387 xla_exceptions_pkg.raise_message
127388 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_216');
127389 END AcctLineType_216;
127390 --
127391
127392 ---------------------------------------
127393 --
127394 -- PRIVATE FUNCTION
127395 -- AcctLineType_217
127396 --
127397 ---------------------------------------
127398 PROCEDURE AcctLineType_217 (
127399 p_application_id IN NUMBER
127400 ,p_event_id IN NUMBER
127401 ,p_calculate_acctd_flag IN VARCHAR2
127402 ,p_calculate_g_l_flag IN VARCHAR2
127403 ,p_actual_flag IN OUT VARCHAR2
127404 ,p_balance_type_code OUT VARCHAR2
127405 ,p_gain_or_loss_ref OUT VARCHAR2
127406
127410 , p_source_16 IN NUMBER
127407 --Invoice Distribution Description
127408 , p_source_1 IN VARCHAR2
127409 --Invoice Distribution Ledger Amount
127411 --Invoice Distribution Type
127412 , p_source_28 IN VARCHAR2
127413 , p_source_28_meaning IN VARCHAR2
127414 --Self-Assessed Tax Account
127415 , p_source_46 IN NUMBER
127416 --Accrue on Receipt Option
127417 , p_source_54 IN VARCHAR2
127418 , p_source_54_meaning IN VARCHAR2
127419 --Accounting Reversal Indicator
127420 , p_source_58 IN VARCHAR2
127421 --Distribution Link Type
127422 , p_source_60 IN VARCHAR2
127423 --Allocation to Main Distribution Identifier
127424 , p_source_62 IN NUMBER
127425 --Invoice Identifier
127426 , p_source_63 IN NUMBER
127427 --Invoice Distribution Identifier
127428 , p_source_69 IN NUMBER
127429 --Payables Encumbrance Upgrade Credit Account
127430 , p_source_70 IN NUMBER
127431 --Payables Encumbrance Upgrade Credit Amount
127432 , p_source_71 IN NUMBER
127433 --Invoice Currency Code
127434 , p_source_72 IN VARCHAR2
127435 --Payables Encumbrance Upgrade Credit Base Amount
127436 , p_source_73 IN NUMBER
127437 --Payables Encumbrance Upgrade Debit Account
127438 , p_source_74 IN NUMBER
127439 --Payables Encumbrance Upgrade Debit Amount
127440 , p_source_75 IN NUMBER
127441 --Payables Encumbrance Upgrade Debit Base Amount
127442 , p_source_76 IN NUMBER
127443 --Payables Encumbrance Upgrade Option
127444 , p_source_77 IN VARCHAR2
127445 --Invoice Distribution Amount
127446 , p_source_78 IN NUMBER
127447 --Purchase Order Exchange Rate Date
127448 , p_source_79 IN DATE
127449 --Purchase Order Exchange Rate
127450 , p_source_80 IN NUMBER
127451 --Purchase Order Exchange Rate Type
127452 , p_source_81 IN VARCHAR2
127453 --Deferred Accounting End Date
127454 , p_source_82 IN DATE
127455 --Deferred Accounting Option
127456 , p_source_83 IN VARCHAR2
127457 --Deferred Accounting Start Date
127458 , p_source_84 IN DATE
127459 --Override Accounted Amount Indicator
127460 , p_source_85 IN VARCHAR2
127461 , p_source_85_meaning IN VARCHAR2
127462 --Invoice Supplier Identifier
127463 , p_source_86 IN NUMBER
127464 --Invoice Supplier Site Identifier
127465 , p_source_87 IN NUMBER
127466 --Third Party Type
127467 , p_source_88 IN VARCHAR2
127468 --Parent Reversal Identifier
127469 , p_source_89 IN NUMBER
127470 --Invoice Distribution Statistical Amount
127471 , p_source_90 IN NUMBER
127472 --Invoice Distribution Tax Line Identifier
127473 , p_source_91 IN NUMBER
127474 --Invoice Distribution Tax Distribution Identifier from Tax
127475 , p_source_92 IN NUMBER
127476 --Invoice Distribution Summary Tax Line Identifier
127477 , p_source_93 IN NUMBER
127478 --Payables Upgrade Credit Encumbrance Type Identifier
127479 , p_source_94 IN NUMBER
127480 --Payables Upgrade Debit Encumbrance Type Identifier
127481 , p_source_95 IN NUMBER
127482 --Business Flow Accounts Payable Application Identifier
127483 , p_source_96 IN NUMBER
127484 --Business Flow Invoice Distribution Type
127485 , p_source_97 IN VARCHAR2
127486 --Business Flow Invoice Entity Code
127487 , p_source_98 IN VARCHAR2
127488 --Business Flow Invoice Distribution Identifier
127489 , p_source_99 IN NUMBER
127490 --Business Flow Invoice Identifier
127491 , p_source_100 IN NUMBER
127492 --Self-Assessed Tax Flag
127493 , p_source_145 IN VARCHAR2
127494 , p_source_145_meaning IN VARCHAR2
127495 )
127496 IS
127497
127498 l_component_type VARCHAR2(80);
127499 l_component_code VARCHAR2(30);
127500 l_component_type_code VARCHAR2(1);
127501 l_component_appl_id INTEGER;
127502 l_amb_context_code VARCHAR2(30);
127503 l_entity_code VARCHAR2(30);
127504 l_event_class_code VARCHAR2(30);
127505 l_ae_header_id NUMBER;
127506 l_event_type_code VARCHAR2(30);
127507 l_line_definition_code VARCHAR2(30);
127508 l_line_definition_owner_code VARCHAR2(1);
127509 --
127510 -- adr variables
127511 l_segment VARCHAR2(30);
127512 l_ccid NUMBER;
127513 l_adr_transaction_coa_id NUMBER;
127514 l_adr_accounting_coa_id NUMBER;
127515 l_adr_flexfield_segment_code VARCHAR2(30);
127516 l_adr_flex_value_set_id NUMBER;
127517 l_adr_value_type_code VARCHAR2(30);
127518 l_adr_value_combination_id NUMBER;
127519 l_adr_value_segment_code VARCHAR2(30);
127520
127521 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
127522 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
127523 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
127524 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
127525
127526 -- 4262811 Variables ------------------------------------------------------------------------------------------
127527 l_entered_amt_idx NUMBER;
127528 l_accted_amt_idx NUMBER;
127529 l_acc_rev_flag VARCHAR2(1);
127530 l_accrual_line_num NUMBER;
127531 l_tmp_amt NUMBER;
127535 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
127532 l_acc_rev_natural_side_code VARCHAR2(1);
127533
127534 l_num_entries NUMBER;
127536 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
127537 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
127538 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
127539 l_recog_line_1 NUMBER;
127540 l_recog_line_2 NUMBER;
127541
127542 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
127543 l_bflow_applied_to_amt NUMBER; -- 5132302
127544 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
127545
127546 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
127547
127548 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
127549 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
127550
127551 ---------------------------------------------------------------------------------------------------------------
127552
127553
127554 --
127555 -- bulk performance
127556 --
127557 l_balance_type_code VARCHAR2(1);
127558 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
127559 l_log_module VARCHAR2(240);
127560
127561 --
127562 -- Upgrade strategy
127563 --
127564 l_actual_upg_option VARCHAR2(1);
127565 l_enc_upg_option VARCHAR2(1);
127566
127567 --
127568 BEGIN
127569 --
127570 IF g_log_enabled THEN
127571 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_217';
127572 END IF;
127573 --
127574 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
127575
127576 trace
127577 (p_msg => 'BEGIN of AcctLineType_217'
127578 ,p_level => C_LEVEL_PROCEDURE
127579 ,p_module => l_log_module);
127580
127581 END IF;
127582 --
127583 l_component_type := 'AMB_JLT';
127584 l_component_code := 'AP_SELF_NON_REC_ACCRUAL_CM';
127585 l_component_type_code := 'S';
127586 l_component_appl_id := 200;
127587 l_amb_context_code := 'DEFAULT';
127588 l_entity_code := 'AP_INVOICES';
127589 l_event_class_code := 'CREDIT MEMOS';
127590 l_event_type_code := 'CREDIT MEMOS_ALL';
127591 l_line_definition_owner_code := 'S';
127592 l_line_definition_code := 'ACCRUAL_CREDIT MEMOS_ALL';
127593 --
127594 l_balance_type_code := 'A';
127595 l_segment := NULL;
127596 l_ccid := NULL;
127597 l_adr_transaction_coa_id := NULL;
127598 l_adr_accounting_coa_id := NULL;
127599 l_adr_flexfield_segment_code := NULL;
127600 l_adr_flex_value_set_id := NULL;
127601 l_adr_value_type_code := NULL;
127602 l_adr_value_combination_id := NULL;
127603 l_adr_value_segment_code := NULL;
127604
127605 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
127606 l_bflow_class_code := ''; -- 4219869 Business Flow
127607 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
127608 l_budgetary_control_flag := 'N';
127609
127610 l_bflow_applied_to_amt_idx := NULL; -- 5132302
127611 l_bflow_applied_to_amt := NULL; -- 5132302
127612 l_entered_amt_idx := NULL; -- 4262811
127613 l_accted_amt_idx := NULL; -- 4262811
127614 l_acc_rev_flag := NULL; -- 4262811
127615 l_accrual_line_num := NULL; -- 4262811
127616 l_tmp_amt := NULL; -- 4262811
127617 --
127618
127619 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
127620 l_balance_type_code <> 'B' THEN
127621 IF NVL(p_source_28,'
127622 ') = 'NONREC_TAX' AND
127623 NVL(p_source_145,'
127624 ') = 'Y' AND
127625 NVL(p_source_54,'
127626 ') = 'Y'
127627 THEN
127628
127629 --
127630 XLA_AE_LINES_PKG.SetNewLine;
127631
127632 p_balance_type_code := l_balance_type_code;
127633 -- set the flag so later we will know whether the gain loss line needs to be created
127634
127635 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
127636 p_actual_flag :='A';
127637 END IF;
127638
127639 --
127640 -- bulk performance
127641 --
127642 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
127643 p_header_num => 0); -- 4262811
127644 --
127645 -- set accounting line options
127646 --
127647 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
127648 p_natural_side_code => 'D'
127649 , p_gain_or_loss_flag => 'N'
127650 , p_gl_transfer_mode_code => 'S'
127651 , p_acct_entry_type_code => 'A'
127652 , p_switch_side_flag => 'Y'
127653 , p_merge_duplicate_code => 'A'
127654 );
127655 --
127656 l_acc_rev_natural_side_code := 'C'; -- 4262811
127657 --
127658 --
127659 -- set accounting line type info
127660 --
127661 xla_ae_lines_pkg.SetAcctLineType
127662 (p_component_type => l_component_type
127663 ,p_event_type_code => l_event_type_code
127664 ,p_line_definition_owner_code => l_line_definition_owner_code
127665 ,p_line_definition_code => l_line_definition_code
127666 ,p_accounting_line_code => l_component_code
127670 ,p_entity_code => l_entity_code
127667 ,p_accounting_line_type_code => l_component_type_code
127668 ,p_accounting_line_appl_id => l_component_appl_id
127669 ,p_amb_context_code => l_amb_context_code
127671 ,p_event_class_code => l_event_class_code);
127672 --
127673 -- set accounting class
127674 --
127675 xla_ae_lines_pkg.SetAcctClass(
127676 p_accounting_class_code => 'SELF_ASSESSED_TAX'
127677 , p_ae_header_id => l_ae_header_id
127678 );
127679
127680 --
127681 -- set rounding class
127682 --
127683 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
127684 'SELF_ASSESSED_TAX';
127685
127686 --
127687 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
127688 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
127689 --
127690 -- bulk performance
127691 --
127692 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
127693
127694 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
127695 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
127696
127697 -- 4955764
127698 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
127699 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
127700
127701 -- 4458381 Public Sector Enh
127702
127703 --
127704 -- set accounting attributes for the line type
127705 --
127706 l_entered_amt_idx := 23;
127707 l_accted_amt_idx := 28;
127708 l_bflow_applied_to_amt_idx := NULL; -- 5132302
127709 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
127710 l_rec_acct_attrs.array_char_value(1) := p_source_58;
127711 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
127712 l_rec_acct_attrs.array_num_value(2) :=
127713 xla_ae_sources_pkg.GetSystemSourceNum(
127714 p_source_code => 'XLA_EVENT_APPL_ID'
127715 , p_source_type_code => 'Y'
127716 , p_source_application_id => 602
127717 );
127718 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
127719 l_rec_acct_attrs.array_char_value(3) := p_source_60;
127720 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
127721 l_rec_acct_attrs.array_char_value(4) :=
127722 xla_ae_sources_pkg.GetSystemSourceChar(
127723 p_source_code => 'XLA_ENTITY_CODE'
127724 , p_source_type_code => 'Y'
127725 , p_source_application_id => 602
127726 );
127727 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
127728 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_62);
127729 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
127730 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_63);
127731 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
127732 l_rec_acct_attrs.array_num_value(7) := p_source_96;
127733 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
127734 l_rec_acct_attrs.array_char_value(8) := p_source_97;
127735 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
127736 l_rec_acct_attrs.array_char_value(9) := p_source_98;
127737 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
127738 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_99);
127739 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
127740 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_100);
127741 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
127742 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_69);
127743 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
127744 l_rec_acct_attrs.array_char_value(13) := p_source_60;
127745 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
127746 l_rec_acct_attrs.array_num_value(14) := p_source_70;
127747 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
127748 l_rec_acct_attrs.array_num_value(15) := p_source_71;
127749 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
127750 l_rec_acct_attrs.array_char_value(16) := p_source_72;
127751 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
127752 l_rec_acct_attrs.array_num_value(17) := p_source_73;
127753 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
127754 l_rec_acct_attrs.array_num_value(18) := p_source_74;
127755 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
127756 l_rec_acct_attrs.array_num_value(19) := p_source_75;
127757 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
127758 l_rec_acct_attrs.array_char_value(20) := p_source_72;
127759 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
127760 l_rec_acct_attrs.array_num_value(21) := p_source_76;
127761 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
127762 l_rec_acct_attrs.array_char_value(22) := p_source_77;
127763 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
127764 l_rec_acct_attrs.array_num_value(23) := p_source_78;
127765 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
127766 l_rec_acct_attrs.array_char_value(24) := p_source_72;
127767 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
127771 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
127768 l_rec_acct_attrs.array_date_value(25) := p_source_79;
127769 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
127770 l_rec_acct_attrs.array_num_value(26) := p_source_80;
127772 l_rec_acct_attrs.array_char_value(27) := p_source_81;
127773 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
127774 l_rec_acct_attrs.array_num_value(28) := p_source_16;
127775 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
127776 l_rec_acct_attrs.array_date_value(29) := p_source_82;
127777 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
127778 l_rec_acct_attrs.array_char_value(30) := p_source_83;
127779 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
127780 l_rec_acct_attrs.array_date_value(31) := p_source_84;
127781 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
127782 l_rec_acct_attrs.array_char_value(32) := p_source_85;
127783 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
127784 l_rec_acct_attrs.array_num_value(33) := p_source_86;
127785 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
127786 l_rec_acct_attrs.array_num_value(34) := p_source_87;
127787 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
127788 l_rec_acct_attrs.array_char_value(35) := p_source_88;
127789 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
127790 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_89);
127791 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
127792 l_rec_acct_attrs.array_char_value(37) := p_source_60;
127793 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
127794 l_rec_acct_attrs.array_num_value(38) := p_source_90;
127795 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
127796 l_rec_acct_attrs.array_num_value(39) := p_source_91;
127797 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
127798 l_rec_acct_attrs.array_num_value(40) := p_source_92;
127799 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
127800 l_rec_acct_attrs.array_num_value(41) := p_source_93;
127801 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
127802 l_rec_acct_attrs.array_num_value(42) := p_source_94;
127803 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
127804 l_rec_acct_attrs.array_num_value(43) := p_source_95;
127805
127806 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
127807 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
127808
127809 ---------------------------------------------------------------------------------------------------------------
127810 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
127811 ---------------------------------------------------------------------------------------------------------------
127812 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
127813
127814 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
127815 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
127816
127817 IF xla_accounting_cache_pkg.GetValueChar
127818 (p_source_code => 'LEDGER_CATEGORY_CODE'
127819 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
127820 AND l_bflow_method_code = 'PRIOR_ENTRY'
127821 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
127822 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
127823 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
127824 )
127825 THEN
127826 xla_ae_lines_pkg.BflowUpgEntry
127827 (p_business_method_code => l_bflow_method_code
127828 ,p_business_class_code => l_bflow_class_code
127829 ,p_balance_type => l_balance_type_code);
127830 ELSE
127831 NULL;
127832 -- No business flow processing for business flow method of NONE.
127833 END IF;
127834
127835 --
127836 -- call analytical criteria
127837 --
127838
127839 --
127840 -- call description
127841 --
127842
127843 xla_ae_lines_pkg.SetLineDescription(
127844 p_ae_header_id => l_ae_header_id
127845 ,p_description => Description_2 (
127846 p_application_id => p_application_id
127847 , p_ae_header_id => l_ae_header_id
127848 , p_source_1 => p_source_1
127849 )
127850 );
127851
127852
127853 --
127854 -- call ADRs
127855 -- Bug 4922099
127856 --
127857 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
127858 (NVL(l_actual_upg_option, 'N') = 'O') OR
127859 (NVL(l_enc_upg_option, 'N') = 'O')
127860 )
127861 THEN
127862 NULL;
127863 --
127864 --
127865
127866 l_ccid := AcctDerRule_44(
127867 p_application_id => p_application_id
127868 , p_ae_header_id => l_ae_header_id
127869 , p_source_46 => p_source_46
127870 , x_transaction_coa_id => l_adr_transaction_coa_id
127871 , x_accounting_coa_id => l_adr_accounting_coa_id
127872 , x_value_type_code => l_adr_value_type_code
127873 , p_side => 'NA'
127874 );
127875
127876 xla_ae_lines_pkg.set_ccid(
127877 p_code_combination_id => l_ccid
127878 , p_value_type_code => l_adr_value_type_code
127882 , p_adr_type_code => 'S'
127879 , p_transaction_coa_id => l_adr_transaction_coa_id
127880 , p_accounting_coa_id => l_adr_accounting_coa_id
127881 , p_adr_code => 'AP_SELF_ASSESSED_TAX'
127883 , p_component_type => l_component_type
127884 , p_component_code => l_component_code
127885 , p_component_type_code => l_component_type_code
127886 , p_component_appl_id => l_component_appl_id
127887 , p_amb_context_code => l_amb_context_code
127888 , p_side => 'NA'
127889 );
127890
127891
127892 --
127893 --
127894 END IF;
127895 --
127896 -- Bug 4922099
127897 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
127898 (NVL(l_enc_upg_option, 'N') = 'O')
127899 ) AND
127900 (l_bflow_method_code = 'PRIOR_ENTRY')
127901 )
127902 THEN
127903 IF
127904 --
127905 1 = 2
127906 --
127907 THEN
127908 xla_accounting_err_pkg.build_message
127909 (p_appli_s_name => 'XLA'
127910 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
127911 ,p_token_1 => 'LINE_NUMBER'
127912 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
127913 ,p_token_2 => 'LINE_TYPE_NAME'
127914 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
127915 l_component_type
127916 ,l_component_code
127917 ,l_component_type_code
127918 ,l_component_appl_id
127919 ,l_amb_context_code
127920 ,l_entity_code
127921 ,l_event_class_code
127922 )
127923 ,p_token_3 => 'OWNER'
127924 ,p_value_3 => xla_lookups_pkg.get_meaning(
127925 p_lookup_type => 'XLA_OWNER_TYPE'
127926 ,p_lookup_code => l_component_type_code
127927 )
127928 ,p_token_4 => 'PRODUCT_NAME'
127929 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
127930 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
127931 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
127932 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
127933 ,p_ae_header_id => NULL
127934 );
127935
127936 IF (C_LEVEL_ERROR>= g_log_level) THEN
127937 trace
127938 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
127939 ,p_level => C_LEVEL_ERROR
127940 ,p_module => l_log_module);
127941 END IF;
127942 END IF;
127943 END IF;
127944 --
127945 --
127946 ------------------------------------------------------------------------------------------------
127947 -- 4219869 Business Flow
127948 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
127949 -- Prior Entry. Currently, the following code is always generated.
127950 ------------------------------------------------------------------------------------------------
127951 XLA_AE_LINES_PKG.ValidateCurrentLine;
127952
127953 ------------------------------------------------------------------------------------
127954 -- 4219869 Business Flow
127955 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
127956 ------------------------------------------------------------------------------------
127957 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
127958
127959 ----------------------------------------------------------------------------------
127960 -- 4219869 Business Flow
127961 -- Update journal entry status -- Need to generate this within IF <condition>
127962 ----------------------------------------------------------------------------------
127963 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
127964 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
127965 ,p_balance_type_code => l_balance_type_code
127966 );
127967
127968 -------------------------------------------------------------------------------------------
127969 -- 4262811 - Generate the Accrual Reversal lines
127970 -------------------------------------------------------------------------------------------
127971 BEGIN
127972 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
127976 END IF;
127973 (g_array_event(p_event_id).array_value_num('header_index'));
127974 IF l_acc_rev_flag IS NULL THEN
127975 l_acc_rev_flag := 'N';
127977 EXCEPTION
127978 WHEN OTHERS THEN
127979 l_acc_rev_flag := 'N';
127980 END;
127981 --
127982 IF (l_acc_rev_flag = 'Y') THEN
127983
127984 -- 4645092 ------------------------------------------------------------------------------
127985 -- To allow MPA report to determine if it should generate report process
127986 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
127987 ------------------------------------------------------------------------------------------
127988
127989 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
127990 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
127991 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
127992 -- call ADRs
127993 -- Bug 4922099
127994 --
127995 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
127996 (NVL(l_actual_upg_option, 'N') = 'O') OR
127997 (NVL(l_enc_upg_option, 'N') = 'O')
127998 )
127999 THEN
128000 NULL;
128001 --
128002 --
128003
128004 l_ccid := AcctDerRule_44(
128005 p_application_id => p_application_id
128006 , p_ae_header_id => l_ae_header_id
128007 , p_source_46 => p_source_46
128008 , x_transaction_coa_id => l_adr_transaction_coa_id
128009 , x_accounting_coa_id => l_adr_accounting_coa_id
128010 , x_value_type_code => l_adr_value_type_code
128011 , p_side => 'NA'
128012 );
128013
128014 xla_ae_lines_pkg.set_ccid(
128015 p_code_combination_id => l_ccid
128016 , p_value_type_code => l_adr_value_type_code
128017 , p_transaction_coa_id => l_adr_transaction_coa_id
128018 , p_accounting_coa_id => l_adr_accounting_coa_id
128019 , p_adr_code => 'AP_SELF_ASSESSED_TAX'
128020 , p_adr_type_code => 'S'
128021 , p_component_type => l_component_type
128022 , p_component_code => l_component_code
128023 , p_component_type_code => l_component_type_code
128024 , p_component_appl_id => l_component_appl_id
128025 , p_amb_context_code => l_amb_context_code
128026 , p_side => 'NA'
128027 );
128028
128029
128030 --
128031 --
128032 END IF;
128033
128034 --
128035 -- Update the line information that should be overwritten
128036 --
128037 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
128038 p_header_num => 1);
128039 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
128040
128041 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
128042
128043 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
128044 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
128045 END IF;
128046
128047 --
128048 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
128049 --
128050 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
128051 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
128052 ELSE
128053 ---------------------------------------------------------------------------------------------------
128054 -- 4262811a Switch Sign
128055 ---------------------------------------------------------------------------------------------------
128056 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
128057 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
128058 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
128059 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
128060 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
128061 -- 5132302
128062 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
128063 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
128064
128065 END IF;
128066
128067 -- 4955764
128068 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
128069 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
128070
128071
128072 XLA_AE_LINES_PKG.ValidateCurrentLine;
128073 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
128074
128075 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
128076 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
128077 ,p_balance_type_code => l_balance_type_code);
128078
128079 END IF;
128080
128081 -----------------------------------------------------------------------------------------
128082 -- 4262811 Multiperiod Accounting
128083 -----------------------------------------------------------------------------------------
128087 END IF;
128084 -- No MPA option is assigned.
128085
128086
128088 END IF;
128089 --
128090
128091 --
128092 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
128093 trace
128094 (p_msg => 'END of AcctLineType_217'
128095 ,p_level => C_LEVEL_PROCEDURE
128096 ,p_module => l_log_module);
128097 END IF;
128098 --
128099 EXCEPTION
128100 WHEN xla_exceptions_pkg.application_exception THEN
128101 RAISE;
128102 WHEN OTHERS THEN
128103 xla_exceptions_pkg.raise_message
128104 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_217');
128105 END AcctLineType_217;
128106 --
128107
128108 ---------------------------------------
128109 --
128110 -- PRIVATE FUNCTION
128111 -- AcctLineType_218
128112 --
128113 ---------------------------------------
128114 PROCEDURE AcctLineType_218 (
128115 p_application_id IN NUMBER
128116 ,p_event_id IN NUMBER
128117 ,p_calculate_acctd_flag IN VARCHAR2
128118 ,p_calculate_g_l_flag IN VARCHAR2
128119 ,p_actual_flag IN OUT VARCHAR2
128120 ,p_balance_type_code OUT VARCHAR2
128121 ,p_gain_or_loss_ref OUT VARCHAR2
128122
128123 --Invoice Distribution Description
128124 , p_source_1 IN VARCHAR2
128125 --Invoice Distribution Ledger Amount
128126 , p_source_16 IN NUMBER
128127 --Invoice Distribution Type
128128 , p_source_28 IN VARCHAR2
128129 , p_source_28_meaning IN VARCHAR2
128130 --Self-Assessed Tax Account
128131 , p_source_46 IN NUMBER
128132 --Accrue on Receipt Option
128133 , p_source_54 IN VARCHAR2
128134 , p_source_54_meaning IN VARCHAR2
128135 --Accounting Reversal Indicator
128136 , p_source_58 IN VARCHAR2
128137 --Distribution Link Type
128138 , p_source_60 IN VARCHAR2
128139 --Allocation to Main Distribution Identifier
128140 , p_source_62 IN NUMBER
128141 --Invoice Identifier
128142 , p_source_63 IN NUMBER
128143 --Invoice Distribution Identifier
128144 , p_source_69 IN NUMBER
128145 --Payables Encumbrance Upgrade Credit Account
128146 , p_source_70 IN NUMBER
128147 --Payables Encumbrance Upgrade Credit Amount
128148 , p_source_71 IN NUMBER
128149 --Invoice Currency Code
128150 , p_source_72 IN VARCHAR2
128151 --Payables Encumbrance Upgrade Credit Base Amount
128152 , p_source_73 IN NUMBER
128153 --Payables Encumbrance Upgrade Debit Account
128154 , p_source_74 IN NUMBER
128155 --Payables Encumbrance Upgrade Debit Amount
128156 , p_source_75 IN NUMBER
128157 --Payables Encumbrance Upgrade Debit Base Amount
128158 , p_source_76 IN NUMBER
128159 --Payables Encumbrance Upgrade Option
128160 , p_source_77 IN VARCHAR2
128161 --Invoice Distribution Amount
128162 , p_source_78 IN NUMBER
128163 --Purchase Order Exchange Rate Date
128164 , p_source_79 IN DATE
128165 --Purchase Order Exchange Rate
128166 , p_source_80 IN NUMBER
128167 --Purchase Order Exchange Rate Type
128168 , p_source_81 IN VARCHAR2
128169 --Deferred Accounting End Date
128170 , p_source_82 IN DATE
128171 --Deferred Accounting Option
128172 , p_source_83 IN VARCHAR2
128173 --Deferred Accounting Start Date
128174 , p_source_84 IN DATE
128175 --Override Accounted Amount Indicator
128176 , p_source_85 IN VARCHAR2
128177 , p_source_85_meaning IN VARCHAR2
128178 --Invoice Supplier Identifier
128179 , p_source_86 IN NUMBER
128180 --Invoice Supplier Site Identifier
128181 , p_source_87 IN NUMBER
128182 --Third Party Type
128183 , p_source_88 IN VARCHAR2
128184 --Parent Reversal Identifier
128185 , p_source_89 IN NUMBER
128186 --Invoice Distribution Tax Line Identifier
128187 , p_source_91 IN NUMBER
128188 --Invoice Distribution Tax Distribution Identifier from Tax
128189 , p_source_92 IN NUMBER
128190 --Invoice Distribution Summary Tax Line Identifier
128191 , p_source_93 IN NUMBER
128192 --Payables Upgrade Credit Encumbrance Type Identifier
128193 , p_source_94 IN NUMBER
128194 --Payables Upgrade Debit Encumbrance Type Identifier
128195 , p_source_95 IN NUMBER
128196 --Business Flow Accounts Payable Application Identifier
128197 , p_source_96 IN NUMBER
128198 --Business Flow Invoice Distribution Type
128199 , p_source_97 IN VARCHAR2
128200 --Business Flow Invoice Entity Code
128201 , p_source_98 IN VARCHAR2
128202 --Business Flow Invoice Distribution Identifier
128203 , p_source_99 IN NUMBER
128204 --Business Flow Invoice Identifier
128205 , p_source_100 IN NUMBER
128206 --Self-Assessed Tax Flag
128207 , p_source_145 IN VARCHAR2
128208 , p_source_145_meaning IN VARCHAR2
128209 )
128210 IS
128211
128212 l_component_type VARCHAR2(80);
128213 l_component_code VARCHAR2(30);
128214 l_component_type_code VARCHAR2(1);
128215 l_component_appl_id INTEGER;
128216 l_amb_context_code VARCHAR2(30);
128217 l_entity_code VARCHAR2(30);
128218 l_event_class_code VARCHAR2(30);
128219 l_ae_header_id NUMBER;
128220 l_event_type_code VARCHAR2(30);
128221 l_line_definition_code VARCHAR2(30);
128222 l_line_definition_owner_code VARCHAR2(1);
128226 l_ccid NUMBER;
128223 --
128224 -- adr variables
128225 l_segment VARCHAR2(30);
128227 l_adr_transaction_coa_id NUMBER;
128228 l_adr_accounting_coa_id NUMBER;
128229 l_adr_flexfield_segment_code VARCHAR2(30);
128230 l_adr_flex_value_set_id NUMBER;
128231 l_adr_value_type_code VARCHAR2(30);
128232 l_adr_value_combination_id NUMBER;
128233 l_adr_value_segment_code VARCHAR2(30);
128234
128235 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
128236 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
128237 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
128238 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
128239
128240 -- 4262811 Variables ------------------------------------------------------------------------------------------
128241 l_entered_amt_idx NUMBER;
128242 l_accted_amt_idx NUMBER;
128243 l_acc_rev_flag VARCHAR2(1);
128244 l_accrual_line_num NUMBER;
128245 l_tmp_amt NUMBER;
128246 l_acc_rev_natural_side_code VARCHAR2(1);
128247
128248 l_num_entries NUMBER;
128249 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
128250 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
128251 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
128252 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
128253 l_recog_line_1 NUMBER;
128254 l_recog_line_2 NUMBER;
128255
128256 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
128257 l_bflow_applied_to_amt NUMBER; -- 5132302
128258 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
128259
128260 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
128261
128262 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
128263 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
128264
128265 ---------------------------------------------------------------------------------------------------------------
128266
128267
128268 --
128269 -- bulk performance
128270 --
128271 l_balance_type_code VARCHAR2(1);
128272 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
128273 l_log_module VARCHAR2(240);
128274
128275 --
128276 -- Upgrade strategy
128277 --
128278 l_actual_upg_option VARCHAR2(1);
128279 l_enc_upg_option VARCHAR2(1);
128280
128281 --
128282 BEGIN
128283 --
128284 IF g_log_enabled THEN
128285 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_218';
128286 END IF;
128287 --
128288 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
128289
128290 trace
128291 (p_msg => 'BEGIN of AcctLineType_218'
128292 ,p_level => C_LEVEL_PROCEDURE
128293 ,p_module => l_log_module);
128294
128295 END IF;
128296 --
128297 l_component_type := 'AMB_JLT';
128298 l_component_code := 'AP_SELF_NON_REC_ACCRUAL_DM';
128299 l_component_type_code := 'S';
128300 l_component_appl_id := 200;
128301 l_amb_context_code := 'DEFAULT';
128302 l_entity_code := 'AP_INVOICES';
128303 l_event_class_code := 'DEBIT MEMOS';
128304 l_event_type_code := 'DEBIT MEMOS_ALL';
128305 l_line_definition_owner_code := 'S';
128306 l_line_definition_code := 'ACCRUAL_DEBIT MEMOS_ALL';
128307 --
128308 l_balance_type_code := 'A';
128309 l_segment := NULL;
128310 l_ccid := NULL;
128311 l_adr_transaction_coa_id := NULL;
128312 l_adr_accounting_coa_id := NULL;
128313 l_adr_flexfield_segment_code := NULL;
128314 l_adr_flex_value_set_id := NULL;
128315 l_adr_value_type_code := NULL;
128316 l_adr_value_combination_id := NULL;
128317 l_adr_value_segment_code := NULL;
128318
128319 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
128320 l_bflow_class_code := ''; -- 4219869 Business Flow
128321 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
128322 l_budgetary_control_flag := 'N';
128323
128324 l_bflow_applied_to_amt_idx := NULL; -- 5132302
128325 l_bflow_applied_to_amt := NULL; -- 5132302
128326 l_entered_amt_idx := NULL; -- 4262811
128327 l_accted_amt_idx := NULL; -- 4262811
128328 l_acc_rev_flag := NULL; -- 4262811
128329 l_accrual_line_num := NULL; -- 4262811
128330 l_tmp_amt := NULL; -- 4262811
128331 --
128332
128333 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
128334 l_balance_type_code <> 'B' THEN
128335 IF NVL(p_source_28,'
128336 ') = 'NONREC_TAX' AND
128337 NVL(p_source_145,'
128338 ') = 'Y' AND
128339 NVL(p_source_54,'
128340 ') = 'Y'
128341 THEN
128342
128343 --
128344 XLA_AE_LINES_PKG.SetNewLine;
128345
128346 p_balance_type_code := l_balance_type_code;
128347 -- set the flag so later we will know whether the gain loss line needs to be created
128348
128349 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
128350 p_actual_flag :='A';
128351 END IF;
128352
128353 --
128354 -- bulk performance
128355 --
128359 -- set accounting line options
128356 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
128357 p_header_num => 0); -- 4262811
128358 --
128360 --
128361 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
128362 p_natural_side_code => 'D'
128363 , p_gain_or_loss_flag => 'N'
128364 , p_gl_transfer_mode_code => 'S'
128365 , p_acct_entry_type_code => 'A'
128366 , p_switch_side_flag => 'Y'
128367 , p_merge_duplicate_code => 'A'
128368 );
128369 --
128370 l_acc_rev_natural_side_code := 'C'; -- 4262811
128371 --
128372 --
128373 -- set accounting line type info
128374 --
128375 xla_ae_lines_pkg.SetAcctLineType
128376 (p_component_type => l_component_type
128377 ,p_event_type_code => l_event_type_code
128378 ,p_line_definition_owner_code => l_line_definition_owner_code
128379 ,p_line_definition_code => l_line_definition_code
128380 ,p_accounting_line_code => l_component_code
128381 ,p_accounting_line_type_code => l_component_type_code
128382 ,p_accounting_line_appl_id => l_component_appl_id
128383 ,p_amb_context_code => l_amb_context_code
128384 ,p_entity_code => l_entity_code
128385 ,p_event_class_code => l_event_class_code);
128386 --
128387 -- set accounting class
128388 --
128389 xla_ae_lines_pkg.SetAcctClass(
128390 p_accounting_class_code => 'SELF_ASSESSED_TAX'
128391 , p_ae_header_id => l_ae_header_id
128392 );
128393
128394 --
128395 -- set rounding class
128396 --
128397 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
128398 'SELF_ASSESSED_TAX';
128399
128400 --
128401 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
128402 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
128403 --
128404 -- bulk performance
128405 --
128406 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
128407
128408 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
128409 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
128410
128411 -- 4955764
128412 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
128413 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
128414
128415 -- 4458381 Public Sector Enh
128416
128417 --
128418 -- set accounting attributes for the line type
128419 --
128420 l_entered_amt_idx := 23;
128421 l_accted_amt_idx := 28;
128422 l_bflow_applied_to_amt_idx := NULL; -- 5132302
128423 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
128424 l_rec_acct_attrs.array_char_value(1) := p_source_58;
128425 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
128426 l_rec_acct_attrs.array_num_value(2) :=
128427 xla_ae_sources_pkg.GetSystemSourceNum(
128428 p_source_code => 'XLA_EVENT_APPL_ID'
128429 , p_source_type_code => 'Y'
128430 , p_source_application_id => 602
128431 );
128432 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
128433 l_rec_acct_attrs.array_char_value(3) := p_source_60;
128434 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
128435 l_rec_acct_attrs.array_char_value(4) :=
128436 xla_ae_sources_pkg.GetSystemSourceChar(
128437 p_source_code => 'XLA_ENTITY_CODE'
128438 , p_source_type_code => 'Y'
128439 , p_source_application_id => 602
128440 );
128441 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
128442 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_62);
128443 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
128444 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_63);
128445 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
128446 l_rec_acct_attrs.array_num_value(7) := p_source_96;
128447 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
128448 l_rec_acct_attrs.array_char_value(8) := p_source_97;
128449 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
128450 l_rec_acct_attrs.array_char_value(9) := p_source_98;
128451 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
128452 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_99);
128453 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
128454 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_100);
128455 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
128456 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_69);
128457 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
128458 l_rec_acct_attrs.array_char_value(13) := p_source_60;
128459 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
128460 l_rec_acct_attrs.array_num_value(14) := p_source_70;
128461 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
128462 l_rec_acct_attrs.array_num_value(15) := p_source_71;
128463 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
128464 l_rec_acct_attrs.array_char_value(16) := p_source_72;
128468 l_rec_acct_attrs.array_num_value(18) := p_source_74;
128465 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
128466 l_rec_acct_attrs.array_num_value(17) := p_source_73;
128467 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
128469 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
128470 l_rec_acct_attrs.array_num_value(19) := p_source_75;
128471 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
128472 l_rec_acct_attrs.array_char_value(20) := p_source_72;
128473 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
128474 l_rec_acct_attrs.array_num_value(21) := p_source_76;
128475 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
128476 l_rec_acct_attrs.array_char_value(22) := p_source_77;
128477 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
128478 l_rec_acct_attrs.array_num_value(23) := p_source_78;
128479 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
128480 l_rec_acct_attrs.array_char_value(24) := p_source_72;
128481 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
128482 l_rec_acct_attrs.array_date_value(25) := p_source_79;
128483 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
128484 l_rec_acct_attrs.array_num_value(26) := p_source_80;
128485 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
128486 l_rec_acct_attrs.array_char_value(27) := p_source_81;
128487 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
128488 l_rec_acct_attrs.array_num_value(28) := p_source_16;
128489 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
128490 l_rec_acct_attrs.array_date_value(29) := p_source_82;
128491 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
128492 l_rec_acct_attrs.array_char_value(30) := p_source_83;
128493 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
128494 l_rec_acct_attrs.array_date_value(31) := p_source_84;
128495 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
128496 l_rec_acct_attrs.array_char_value(32) := p_source_85;
128497 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
128498 l_rec_acct_attrs.array_num_value(33) := p_source_86;
128499 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
128500 l_rec_acct_attrs.array_num_value(34) := p_source_87;
128501 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
128502 l_rec_acct_attrs.array_char_value(35) := p_source_88;
128503 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
128504 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_89);
128505 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
128506 l_rec_acct_attrs.array_char_value(37) := p_source_60;
128507 l_rec_acct_attrs.array_acct_attr_code(38) := 'TAX_LINE_REF_ID';
128508 l_rec_acct_attrs.array_num_value(38) := p_source_91;
128509 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_REC_NREC_DIST_REF_ID';
128510 l_rec_acct_attrs.array_num_value(39) := p_source_92;
128511 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_SUMMARY_LINE_REF_ID';
128512 l_rec_acct_attrs.array_num_value(40) := p_source_93;
128513 l_rec_acct_attrs.array_acct_attr_code(41) := 'UPG_CR_ENC_TYPE_ID';
128514 l_rec_acct_attrs.array_num_value(41) := p_source_94;
128515 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_DR_ENC_TYPE_ID';
128516 l_rec_acct_attrs.array_num_value(42) := p_source_95;
128517
128518 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
128519 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
128520
128521 ---------------------------------------------------------------------------------------------------------------
128522 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
128523 ---------------------------------------------------------------------------------------------------------------
128524 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
128525
128526 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
128527 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
128528
128529 IF xla_accounting_cache_pkg.GetValueChar
128530 (p_source_code => 'LEDGER_CATEGORY_CODE'
128531 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
128532 AND l_bflow_method_code = 'PRIOR_ENTRY'
128533 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
128534 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
128535 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
128536 )
128537 THEN
128538 xla_ae_lines_pkg.BflowUpgEntry
128539 (p_business_method_code => l_bflow_method_code
128540 ,p_business_class_code => l_bflow_class_code
128541 ,p_balance_type => l_balance_type_code);
128542 ELSE
128543 NULL;
128544 -- No business flow processing for business flow method of NONE.
128545 END IF;
128546
128547 --
128548 -- call analytical criteria
128549 --
128550
128551 --
128552 -- call description
128553 --
128554
128555 xla_ae_lines_pkg.SetLineDescription(
128556 p_ae_header_id => l_ae_header_id
128557 ,p_description => Description_2 (
128558 p_application_id => p_application_id
128559 , p_ae_header_id => l_ae_header_id
128560 , p_source_1 => p_source_1
128561 )
128565 --
128562 );
128563
128564
128566 -- call ADRs
128567 -- Bug 4922099
128568 --
128569 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
128570 (NVL(l_actual_upg_option, 'N') = 'O') OR
128571 (NVL(l_enc_upg_option, 'N') = 'O')
128572 )
128573 THEN
128574 NULL;
128575 --
128576 --
128577
128578 l_ccid := AcctDerRule_44(
128579 p_application_id => p_application_id
128580 , p_ae_header_id => l_ae_header_id
128581 , p_source_46 => p_source_46
128582 , x_transaction_coa_id => l_adr_transaction_coa_id
128583 , x_accounting_coa_id => l_adr_accounting_coa_id
128584 , x_value_type_code => l_adr_value_type_code
128585 , p_side => 'NA'
128586 );
128587
128588 xla_ae_lines_pkg.set_ccid(
128589 p_code_combination_id => l_ccid
128590 , p_value_type_code => l_adr_value_type_code
128591 , p_transaction_coa_id => l_adr_transaction_coa_id
128592 , p_accounting_coa_id => l_adr_accounting_coa_id
128593 , p_adr_code => 'AP_SELF_ASSESSED_TAX'
128594 , p_adr_type_code => 'S'
128595 , p_component_type => l_component_type
128596 , p_component_code => l_component_code
128597 , p_component_type_code => l_component_type_code
128598 , p_component_appl_id => l_component_appl_id
128599 , p_amb_context_code => l_amb_context_code
128600 , p_side => 'NA'
128601 );
128602
128603
128604 --
128605 --
128606 END IF;
128607 --
128608 -- Bug 4922099
128609 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
128610 (NVL(l_enc_upg_option, 'N') = 'O')
128611 ) AND
128612 (l_bflow_method_code = 'PRIOR_ENTRY')
128613 )
128614 THEN
128615 IF
128616 --
128617 1 = 2
128618 --
128619 THEN
128620 xla_accounting_err_pkg.build_message
128621 (p_appli_s_name => 'XLA'
128622 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
128623 ,p_token_1 => 'LINE_NUMBER'
128624 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
128625 ,p_token_2 => 'LINE_TYPE_NAME'
128626 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
128627 l_component_type
128628 ,l_component_code
128629 ,l_component_type_code
128630 ,l_component_appl_id
128631 ,l_amb_context_code
128632 ,l_entity_code
128633 ,l_event_class_code
128634 )
128635 ,p_token_3 => 'OWNER'
128636 ,p_value_3 => xla_lookups_pkg.get_meaning(
128637 p_lookup_type => 'XLA_OWNER_TYPE'
128638 ,p_lookup_code => l_component_type_code
128639 )
128640 ,p_token_4 => 'PRODUCT_NAME'
128641 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
128642 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
128643 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
128644 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
128645 ,p_ae_header_id => NULL
128646 );
128647
128648 IF (C_LEVEL_ERROR>= g_log_level) THEN
128649 trace
128650 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
128651 ,p_level => C_LEVEL_ERROR
128652 ,p_module => l_log_module);
128653 END IF;
128654 END IF;
128655 END IF;
128656 --
128657 --
128658 ------------------------------------------------------------------------------------------------
128659 -- 4219869 Business Flow
128660 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
128661 -- Prior Entry. Currently, the following code is always generated.
128662 ------------------------------------------------------------------------------------------------
128663 XLA_AE_LINES_PKG.ValidateCurrentLine;
128664
128665 ------------------------------------------------------------------------------------
128666 -- 4219869 Business Flow
128670
128667 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
128668 ------------------------------------------------------------------------------------
128669 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
128671 ----------------------------------------------------------------------------------
128672 -- 4219869 Business Flow
128673 -- Update journal entry status -- Need to generate this within IF <condition>
128674 ----------------------------------------------------------------------------------
128675 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
128676 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
128677 ,p_balance_type_code => l_balance_type_code
128678 );
128679
128680 -------------------------------------------------------------------------------------------
128681 -- 4262811 - Generate the Accrual Reversal lines
128682 -------------------------------------------------------------------------------------------
128683 BEGIN
128684 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
128685 (g_array_event(p_event_id).array_value_num('header_index'));
128686 IF l_acc_rev_flag IS NULL THEN
128687 l_acc_rev_flag := 'N';
128688 END IF;
128689 EXCEPTION
128690 WHEN OTHERS THEN
128691 l_acc_rev_flag := 'N';
128692 END;
128693 --
128694 IF (l_acc_rev_flag = 'Y') THEN
128695
128696 -- 4645092 ------------------------------------------------------------------------------
128697 -- To allow MPA report to determine if it should generate report process
128698 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
128699 ------------------------------------------------------------------------------------------
128700
128701 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
128702 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
128703 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
128704 -- call ADRs
128705 -- Bug 4922099
128706 --
128707 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
128708 (NVL(l_actual_upg_option, 'N') = 'O') OR
128709 (NVL(l_enc_upg_option, 'N') = 'O')
128710 )
128711 THEN
128712 NULL;
128713 --
128714 --
128715
128716 l_ccid := AcctDerRule_44(
128717 p_application_id => p_application_id
128718 , p_ae_header_id => l_ae_header_id
128719 , p_source_46 => p_source_46
128720 , x_transaction_coa_id => l_adr_transaction_coa_id
128721 , x_accounting_coa_id => l_adr_accounting_coa_id
128722 , x_value_type_code => l_adr_value_type_code
128723 , p_side => 'NA'
128724 );
128725
128726 xla_ae_lines_pkg.set_ccid(
128727 p_code_combination_id => l_ccid
128728 , p_value_type_code => l_adr_value_type_code
128729 , p_transaction_coa_id => l_adr_transaction_coa_id
128730 , p_accounting_coa_id => l_adr_accounting_coa_id
128731 , p_adr_code => 'AP_SELF_ASSESSED_TAX'
128732 , p_adr_type_code => 'S'
128733 , p_component_type => l_component_type
128734 , p_component_code => l_component_code
128735 , p_component_type_code => l_component_type_code
128736 , p_component_appl_id => l_component_appl_id
128737 , p_amb_context_code => l_amb_context_code
128738 , p_side => 'NA'
128739 );
128740
128741
128742 --
128743 --
128744 END IF;
128745
128746 --
128747 -- Update the line information that should be overwritten
128748 --
128749 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
128750 p_header_num => 1);
128751 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
128752
128753 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
128754
128755 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
128756 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
128757 END IF;
128758
128759 --
128760 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
128761 --
128762 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
128763 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
128764 ELSE
128765 ---------------------------------------------------------------------------------------------------
128766 -- 4262811a Switch Sign
128767 ---------------------------------------------------------------------------------------------------
128768 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
128769 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
128770 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
128771 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
128772 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
128773 -- 5132302
128777 END IF;
128774 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
128775 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
128776
128778
128779 -- 4955764
128780 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
128781 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
128782
128783
128784 XLA_AE_LINES_PKG.ValidateCurrentLine;
128785 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
128786
128787 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
128788 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
128789 ,p_balance_type_code => l_balance_type_code);
128790
128791 END IF;
128792
128793 -----------------------------------------------------------------------------------------
128794 -- 4262811 Multiperiod Accounting
128795 -----------------------------------------------------------------------------------------
128796 -- No MPA option is assigned.
128797
128798
128799 END IF;
128800 END IF;
128801 --
128802
128803 --
128804 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
128805 trace
128806 (p_msg => 'END of AcctLineType_218'
128807 ,p_level => C_LEVEL_PROCEDURE
128808 ,p_module => l_log_module);
128809 END IF;
128810 --
128811 EXCEPTION
128812 WHEN xla_exceptions_pkg.application_exception THEN
128813 RAISE;
128814 WHEN OTHERS THEN
128815 xla_exceptions_pkg.raise_message
128816 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_218');
128817 END AcctLineType_218;
128818 --
128819
128820 ---------------------------------------
128821 --
128822 -- PRIVATE FUNCTION
128823 -- AcctLineType_219
128824 --
128825 ---------------------------------------
128826 PROCEDURE AcctLineType_219 (
128827 p_application_id IN NUMBER
128828 ,p_event_id IN NUMBER
128829 ,p_calculate_acctd_flag IN VARCHAR2
128830 ,p_calculate_g_l_flag IN VARCHAR2
128831 ,p_actual_flag IN OUT VARCHAR2
128832 ,p_balance_type_code OUT VARCHAR2
128833 ,p_gain_or_loss_ref OUT VARCHAR2
128834
128835 --Invoice Distribution Description
128836 , p_source_1 IN VARCHAR2
128837 --Invoice Distribution Ledger Amount
128838 , p_source_16 IN NUMBER
128839 --Invoice Distribution Type
128840 , p_source_28 IN VARCHAR2
128841 , p_source_28_meaning IN VARCHAR2
128842 --Self-Assessed Tax Account
128843 , p_source_46 IN NUMBER
128844 --Accrue on Receipt Option
128845 , p_source_54 IN VARCHAR2
128846 , p_source_54_meaning IN VARCHAR2
128847 --Accounting Reversal Indicator
128848 , p_source_58 IN VARCHAR2
128849 --Distribution Link Type
128850 , p_source_60 IN VARCHAR2
128851 --Allocation to Main Distribution Identifier
128852 , p_source_62 IN NUMBER
128853 --Invoice Identifier
128854 , p_source_63 IN NUMBER
128855 --Invoice Distribution Identifier
128856 , p_source_69 IN NUMBER
128857 --Payables Encumbrance Upgrade Credit Account
128858 , p_source_70 IN NUMBER
128859 --Payables Encumbrance Upgrade Credit Amount
128860 , p_source_71 IN NUMBER
128861 --Invoice Currency Code
128862 , p_source_72 IN VARCHAR2
128863 --Payables Encumbrance Upgrade Credit Base Amount
128864 , p_source_73 IN NUMBER
128865 --Payables Encumbrance Upgrade Debit Account
128866 , p_source_74 IN NUMBER
128867 --Payables Encumbrance Upgrade Debit Amount
128868 , p_source_75 IN NUMBER
128869 --Payables Encumbrance Upgrade Debit Base Amount
128870 , p_source_76 IN NUMBER
128871 --Payables Encumbrance Upgrade Option
128872 , p_source_77 IN VARCHAR2
128873 --Invoice Distribution Amount
128874 , p_source_78 IN NUMBER
128875 --Purchase Order Exchange Rate Date
128876 , p_source_79 IN DATE
128877 --Purchase Order Exchange Rate
128878 , p_source_80 IN NUMBER
128879 --Purchase Order Exchange Rate Type
128880 , p_source_81 IN VARCHAR2
128881 --Deferred Accounting End Date
128882 , p_source_82 IN DATE
128883 --Deferred Accounting Option
128884 , p_source_83 IN VARCHAR2
128885 --Deferred Accounting Start Date
128886 , p_source_84 IN DATE
128887 --Override Accounted Amount Indicator
128888 , p_source_85 IN VARCHAR2
128889 , p_source_85_meaning IN VARCHAR2
128890 --Invoice Supplier Identifier
128891 , p_source_86 IN NUMBER
128892 --Invoice Supplier Site Identifier
128893 , p_source_87 IN NUMBER
128894 --Third Party Type
128895 , p_source_88 IN VARCHAR2
128896 --Parent Reversal Identifier
128897 , p_source_89 IN NUMBER
128898 --Invoice Distribution Statistical Amount
128899 , p_source_90 IN NUMBER
128900 --Invoice Distribution Tax Line Identifier
128901 , p_source_91 IN NUMBER
128902 --Invoice Distribution Tax Distribution Identifier from Tax
128903 , p_source_92 IN NUMBER
128904 --Invoice Distribution Summary Tax Line Identifier
128905 , p_source_93 IN NUMBER
128906 --Payables Upgrade Credit Encumbrance Type Identifier
128907 , p_source_94 IN NUMBER
128908 --Payables Upgrade Debit Encumbrance Type Identifier
128912 --Business Flow Invoice Distribution Type
128909 , p_source_95 IN NUMBER
128910 --Business Flow Accounts Payable Application Identifier
128911 , p_source_96 IN NUMBER
128913 , p_source_97 IN VARCHAR2
128914 --Business Flow Invoice Entity Code
128915 , p_source_98 IN VARCHAR2
128916 --Business Flow Invoice Distribution Identifier
128917 , p_source_99 IN NUMBER
128918 --Business Flow Invoice Identifier
128919 , p_source_100 IN NUMBER
128920 --Self-Assessed Tax Flag
128921 , p_source_145 IN VARCHAR2
128922 , p_source_145_meaning IN VARCHAR2
128923 )
128924 IS
128925
128926 l_component_type VARCHAR2(80);
128927 l_component_code VARCHAR2(30);
128928 l_component_type_code VARCHAR2(1);
128929 l_component_appl_id INTEGER;
128930 l_amb_context_code VARCHAR2(30);
128931 l_entity_code VARCHAR2(30);
128932 l_event_class_code VARCHAR2(30);
128933 l_ae_header_id NUMBER;
128934 l_event_type_code VARCHAR2(30);
128935 l_line_definition_code VARCHAR2(30);
128936 l_line_definition_owner_code VARCHAR2(1);
128937 --
128938 -- adr variables
128939 l_segment VARCHAR2(30);
128940 l_ccid NUMBER;
128941 l_adr_transaction_coa_id NUMBER;
128942 l_adr_accounting_coa_id NUMBER;
128943 l_adr_flexfield_segment_code VARCHAR2(30);
128944 l_adr_flex_value_set_id NUMBER;
128945 l_adr_value_type_code VARCHAR2(30);
128946 l_adr_value_combination_id NUMBER;
128947 l_adr_value_segment_code VARCHAR2(30);
128948
128949 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
128950 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
128951 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
128952 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
128953
128954 -- 4262811 Variables ------------------------------------------------------------------------------------------
128955 l_entered_amt_idx NUMBER;
128956 l_accted_amt_idx NUMBER;
128957 l_acc_rev_flag VARCHAR2(1);
128958 l_accrual_line_num NUMBER;
128959 l_tmp_amt NUMBER;
128960 l_acc_rev_natural_side_code VARCHAR2(1);
128961
128962 l_num_entries NUMBER;
128963 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
128964 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
128965 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
128966 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
128967 l_recog_line_1 NUMBER;
128968 l_recog_line_2 NUMBER;
128969
128970 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
128971 l_bflow_applied_to_amt NUMBER; -- 5132302
128972 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
128973
128974 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
128975
128976 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
128977 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
128978
128979 ---------------------------------------------------------------------------------------------------------------
128980
128981
128982 --
128983 -- bulk performance
128984 --
128985 l_balance_type_code VARCHAR2(1);
128986 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
128987 l_log_module VARCHAR2(240);
128988
128989 --
128990 -- Upgrade strategy
128991 --
128992 l_actual_upg_option VARCHAR2(1);
128993 l_enc_upg_option VARCHAR2(1);
128994
128995 --
128996 BEGIN
128997 --
128998 IF g_log_enabled THEN
128999 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_219';
129000 END IF;
129001 --
129002 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
129003
129004 trace
129005 (p_msg => 'BEGIN of AcctLineType_219'
129006 ,p_level => C_LEVEL_PROCEDURE
129007 ,p_module => l_log_module);
129008
129009 END IF;
129010 --
129011 l_component_type := 'AMB_JLT';
129012 l_component_code := 'AP_SELF_NON_REC_ACCRUAL_INV';
129013 l_component_type_code := 'S';
129014 l_component_appl_id := 200;
129015 l_amb_context_code := 'DEFAULT';
129016 l_entity_code := 'AP_INVOICES';
129017 l_event_class_code := 'INVOICES';
129018 l_event_type_code := 'INVOICES_ALL';
129019 l_line_definition_owner_code := 'S';
129020 l_line_definition_code := 'ACCRUAL_INVOICES_ALL';
129021 --
129022 l_balance_type_code := 'A';
129023 l_segment := NULL;
129024 l_ccid := NULL;
129025 l_adr_transaction_coa_id := NULL;
129026 l_adr_accounting_coa_id := NULL;
129027 l_adr_flexfield_segment_code := NULL;
129028 l_adr_flex_value_set_id := NULL;
129029 l_adr_value_type_code := NULL;
129030 l_adr_value_combination_id := NULL;
129031 l_adr_value_segment_code := NULL;
129032
129033 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
129034 l_bflow_class_code := ''; -- 4219869 Business Flow
129035 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
129036 l_budgetary_control_flag := 'N';
129037
129038 l_bflow_applied_to_amt_idx := NULL; -- 5132302
129042 l_acc_rev_flag := NULL; -- 4262811
129039 l_bflow_applied_to_amt := NULL; -- 5132302
129040 l_entered_amt_idx := NULL; -- 4262811
129041 l_accted_amt_idx := NULL; -- 4262811
129043 l_accrual_line_num := NULL; -- 4262811
129044 l_tmp_amt := NULL; -- 4262811
129045 --
129046
129047 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
129048 l_balance_type_code <> 'B' THEN
129049 IF NVL(p_source_28,'
129050 ') = 'NONREC_TAX' AND
129051 NVL(p_source_145,'
129052 ') = 'Y' AND
129053 NVL(p_source_54,'
129054 ') = 'Y'
129055 THEN
129056
129057 --
129058 XLA_AE_LINES_PKG.SetNewLine;
129059
129060 p_balance_type_code := l_balance_type_code;
129061 -- set the flag so later we will know whether the gain loss line needs to be created
129062
129063 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
129064 p_actual_flag :='A';
129065 END IF;
129066
129067 --
129068 -- bulk performance
129069 --
129070 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
129071 p_header_num => 0); -- 4262811
129072 --
129073 -- set accounting line options
129074 --
129075 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
129076 p_natural_side_code => 'D'
129077 , p_gain_or_loss_flag => 'N'
129078 , p_gl_transfer_mode_code => 'S'
129079 , p_acct_entry_type_code => 'A'
129080 , p_switch_side_flag => 'Y'
129081 , p_merge_duplicate_code => 'A'
129082 );
129083 --
129084 l_acc_rev_natural_side_code := 'C'; -- 4262811
129085 --
129086 --
129087 -- set accounting line type info
129088 --
129089 xla_ae_lines_pkg.SetAcctLineType
129090 (p_component_type => l_component_type
129091 ,p_event_type_code => l_event_type_code
129092 ,p_line_definition_owner_code => l_line_definition_owner_code
129093 ,p_line_definition_code => l_line_definition_code
129094 ,p_accounting_line_code => l_component_code
129095 ,p_accounting_line_type_code => l_component_type_code
129096 ,p_accounting_line_appl_id => l_component_appl_id
129097 ,p_amb_context_code => l_amb_context_code
129098 ,p_entity_code => l_entity_code
129099 ,p_event_class_code => l_event_class_code);
129100 --
129101 -- set accounting class
129102 --
129103 xla_ae_lines_pkg.SetAcctClass(
129104 p_accounting_class_code => 'SELF_ASSESSED_TAX'
129105 , p_ae_header_id => l_ae_header_id
129106 );
129107
129108 --
129109 -- set rounding class
129110 --
129111 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
129112 'SELF_ASSESSED_TAX';
129113
129114 --
129115 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
129116 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
129117 --
129118 -- bulk performance
129119 --
129120 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
129121
129122 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
129123 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
129124
129125 -- 4955764
129126 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
129127 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
129128
129129 -- 4458381 Public Sector Enh
129130
129131 --
129132 -- set accounting attributes for the line type
129133 --
129134 l_entered_amt_idx := 24;
129135 l_accted_amt_idx := 29;
129136 l_bflow_applied_to_amt_idx := 7; -- 5132302
129137 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
129138 l_rec_acct_attrs.array_char_value(1) := p_source_58;
129139 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
129140 l_rec_acct_attrs.array_num_value(2) :=
129141 xla_ae_sources_pkg.GetSystemSourceNum(
129142 p_source_code => 'XLA_EVENT_APPL_ID'
129143 , p_source_type_code => 'Y'
129144 , p_source_application_id => 602
129145 );
129146 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
129147 l_rec_acct_attrs.array_char_value(3) := p_source_60;
129148 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
129149 l_rec_acct_attrs.array_char_value(4) :=
129150 xla_ae_sources_pkg.GetSystemSourceChar(
129151 p_source_code => 'XLA_ENTITY_CODE'
129152 , p_source_type_code => 'Y'
129153 , p_source_application_id => 602
129154 );
129155 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
129156 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_62);
129157 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
129158 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_63);
129159 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
129160 l_rec_acct_attrs.array_num_value(7) := p_source_78;
129161 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
129162 l_rec_acct_attrs.array_num_value(8) := p_source_96;
129166 l_rec_acct_attrs.array_char_value(10) := p_source_98;
129163 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
129164 l_rec_acct_attrs.array_char_value(9) := p_source_97;
129165 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
129167 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
129168 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_99);
129169 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
129170 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_100);
129171 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
129172 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_69);
129173 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
129174 l_rec_acct_attrs.array_char_value(14) := p_source_60;
129175 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
129176 l_rec_acct_attrs.array_num_value(15) := p_source_70;
129177 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
129178 l_rec_acct_attrs.array_num_value(16) := p_source_71;
129179 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
129180 l_rec_acct_attrs.array_char_value(17) := p_source_72;
129181 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
129182 l_rec_acct_attrs.array_num_value(18) := p_source_73;
129183 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
129184 l_rec_acct_attrs.array_num_value(19) := p_source_74;
129185 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
129186 l_rec_acct_attrs.array_num_value(20) := p_source_75;
129187 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
129188 l_rec_acct_attrs.array_char_value(21) := p_source_72;
129189 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
129190 l_rec_acct_attrs.array_num_value(22) := p_source_76;
129191 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
129192 l_rec_acct_attrs.array_char_value(23) := p_source_77;
129193 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_AMOUNT';
129194 l_rec_acct_attrs.array_num_value(24) := p_source_78;
129195 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_CODE';
129196 l_rec_acct_attrs.array_char_value(25) := p_source_72;
129197 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_DATE';
129198 l_rec_acct_attrs.array_date_value(26) := p_source_79;
129199 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE';
129200 l_rec_acct_attrs.array_num_value(27) := p_source_80;
129201 l_rec_acct_attrs.array_acct_attr_code(28) := 'EXCHANGE_RATE_TYPE';
129202 l_rec_acct_attrs.array_char_value(28) := p_source_81;
129203 l_rec_acct_attrs.array_acct_attr_code(29) := 'LEDGER_AMOUNT';
129204 l_rec_acct_attrs.array_num_value(29) := p_source_16;
129205 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_END_DATE';
129206 l_rec_acct_attrs.array_date_value(30) := p_source_82;
129207 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_OPTION';
129208 l_rec_acct_attrs.array_char_value(31) := p_source_83;
129209 l_rec_acct_attrs.array_acct_attr_code(32) := 'MULTIPERIOD_START_DATE';
129210 l_rec_acct_attrs.array_date_value(32) := p_source_84;
129211 l_rec_acct_attrs.array_acct_attr_code(33) := 'OVERRIDE_ACCTD_AMT_FLAG';
129212 l_rec_acct_attrs.array_char_value(33) := p_source_85;
129213 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_ID';
129214 l_rec_acct_attrs.array_num_value(34) := p_source_86;
129215 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_SITE_ID';
129216 l_rec_acct_attrs.array_num_value(35) := p_source_87;
129217 l_rec_acct_attrs.array_acct_attr_code(36) := 'PARTY_TYPE';
129218 l_rec_acct_attrs.array_char_value(36) := p_source_88;
129219 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_ID1';
129220 l_rec_acct_attrs.array_num_value(37) := to_char(p_source_89);
129221 l_rec_acct_attrs.array_acct_attr_code(38) := 'REVERSED_DISTRIBUTION_TYPE';
129222 l_rec_acct_attrs.array_char_value(38) := p_source_60;
129223 l_rec_acct_attrs.array_acct_attr_code(39) := 'STATISTICAL_AMOUNT';
129224 l_rec_acct_attrs.array_num_value(39) := p_source_90;
129225 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_LINE_REF_ID';
129226 l_rec_acct_attrs.array_num_value(40) := p_source_91;
129227 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_REC_NREC_DIST_REF_ID';
129228 l_rec_acct_attrs.array_num_value(41) := p_source_92;
129229 l_rec_acct_attrs.array_acct_attr_code(42) := 'TAX_SUMMARY_LINE_REF_ID';
129230 l_rec_acct_attrs.array_num_value(42) := p_source_93;
129231 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_CR_ENC_TYPE_ID';
129232 l_rec_acct_attrs.array_num_value(43) := p_source_94;
129233 l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
129234 l_rec_acct_attrs.array_num_value(44) := p_source_95;
129235
129236 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
129237 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
129238
129239 ---------------------------------------------------------------------------------------------------------------
129240 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
129241 ---------------------------------------------------------------------------------------------------------------
129242 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
129243
129244 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
129248 (p_source_code => 'LEDGER_CATEGORY_CODE'
129245 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
129246
129247 IF xla_accounting_cache_pkg.GetValueChar
129249 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
129250 AND l_bflow_method_code = 'PRIOR_ENTRY'
129251 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
129252 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
129253 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
129254 )
129255 THEN
129256 xla_ae_lines_pkg.BflowUpgEntry
129257 (p_business_method_code => l_bflow_method_code
129258 ,p_business_class_code => l_bflow_class_code
129259 ,p_balance_type => l_balance_type_code);
129260 ELSE
129261 NULL;
129262 -- No business flow processing for business flow method of NONE.
129263 END IF;
129264
129265 --
129266 -- call analytical criteria
129267 --
129268
129269 --
129270 -- call description
129271 --
129272
129273 xla_ae_lines_pkg.SetLineDescription(
129274 p_ae_header_id => l_ae_header_id
129275 ,p_description => Description_2 (
129276 p_application_id => p_application_id
129277 , p_ae_header_id => l_ae_header_id
129278 , p_source_1 => p_source_1
129279 )
129280 );
129281
129282
129283 --
129284 -- call ADRs
129285 -- Bug 4922099
129286 --
129287 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
129288 (NVL(l_actual_upg_option, 'N') = 'O') OR
129289 (NVL(l_enc_upg_option, 'N') = 'O')
129290 )
129291 THEN
129292 NULL;
129293 --
129294 --
129295
129296 l_ccid := AcctDerRule_44(
129297 p_application_id => p_application_id
129298 , p_ae_header_id => l_ae_header_id
129299 , p_source_46 => p_source_46
129300 , x_transaction_coa_id => l_adr_transaction_coa_id
129301 , x_accounting_coa_id => l_adr_accounting_coa_id
129302 , x_value_type_code => l_adr_value_type_code
129303 , p_side => 'NA'
129304 );
129305
129306 xla_ae_lines_pkg.set_ccid(
129307 p_code_combination_id => l_ccid
129308 , p_value_type_code => l_adr_value_type_code
129309 , p_transaction_coa_id => l_adr_transaction_coa_id
129310 , p_accounting_coa_id => l_adr_accounting_coa_id
129311 , p_adr_code => 'AP_SELF_ASSESSED_TAX'
129312 , p_adr_type_code => 'S'
129313 , p_component_type => l_component_type
129314 , p_component_code => l_component_code
129315 , p_component_type_code => l_component_type_code
129316 , p_component_appl_id => l_component_appl_id
129317 , p_amb_context_code => l_amb_context_code
129318 , p_side => 'NA'
129319 );
129320
129321
129322 --
129323 --
129324 END IF;
129325 --
129326 -- Bug 4922099
129327 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
129328 (NVL(l_enc_upg_option, 'N') = 'O')
129329 ) AND
129330 (l_bflow_method_code = 'PRIOR_ENTRY')
129331 )
129332 THEN
129333 IF
129334 --
129335 1 = 2
129336 --
129337 THEN
129338 xla_accounting_err_pkg.build_message
129339 (p_appli_s_name => 'XLA'
129340 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
129341 ,p_token_1 => 'LINE_NUMBER'
129342 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
129343 ,p_token_2 => 'LINE_TYPE_NAME'
129344 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
129345 l_component_type
129346 ,l_component_code
129347 ,l_component_type_code
129348 ,l_component_appl_id
129349 ,l_amb_context_code
129350 ,l_entity_code
129351 ,l_event_class_code
129352 )
129353 ,p_token_3 => 'OWNER'
129354 ,p_value_3 => xla_lookups_pkg.get_meaning(
129355 p_lookup_type => 'XLA_OWNER_TYPE'
129356 ,p_lookup_code => l_component_type_code
129357 )
129358 ,p_token_4 => 'PRODUCT_NAME'
129362 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
129359 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
129360 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
129361 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
129363 ,p_ae_header_id => NULL
129364 );
129365
129366 IF (C_LEVEL_ERROR>= g_log_level) THEN
129367 trace
129368 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
129369 ,p_level => C_LEVEL_ERROR
129370 ,p_module => l_log_module);
129371 END IF;
129372 END IF;
129373 END IF;
129374 --
129375 --
129376 ------------------------------------------------------------------------------------------------
129377 -- 4219869 Business Flow
129378 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
129379 -- Prior Entry. Currently, the following code is always generated.
129380 ------------------------------------------------------------------------------------------------
129381 XLA_AE_LINES_PKG.ValidateCurrentLine;
129382
129383 ------------------------------------------------------------------------------------
129384 -- 4219869 Business Flow
129385 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
129386 ------------------------------------------------------------------------------------
129387 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
129388
129389 ----------------------------------------------------------------------------------
129390 -- 4219869 Business Flow
129391 -- Update journal entry status -- Need to generate this within IF <condition>
129392 ----------------------------------------------------------------------------------
129393 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
129394 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
129395 ,p_balance_type_code => l_balance_type_code
129396 );
129397
129398 -------------------------------------------------------------------------------------------
129399 -- 4262811 - Generate the Accrual Reversal lines
129400 -------------------------------------------------------------------------------------------
129401 BEGIN
129402 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
129403 (g_array_event(p_event_id).array_value_num('header_index'));
129404 IF l_acc_rev_flag IS NULL THEN
129405 l_acc_rev_flag := 'N';
129406 END IF;
129407 EXCEPTION
129408 WHEN OTHERS THEN
129409 l_acc_rev_flag := 'N';
129410 END;
129411 --
129412 IF (l_acc_rev_flag = 'Y') THEN
129413
129414 -- 4645092 ------------------------------------------------------------------------------
129415 -- To allow MPA report to determine if it should generate report process
129416 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
129417 ------------------------------------------------------------------------------------------
129418
129419 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
129420 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
129421 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
129422 -- call ADRs
129423 -- Bug 4922099
129424 --
129425 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
129426 (NVL(l_actual_upg_option, 'N') = 'O') OR
129427 (NVL(l_enc_upg_option, 'N') = 'O')
129428 )
129429 THEN
129430 NULL;
129431 --
129432 --
129433
129434 l_ccid := AcctDerRule_44(
129435 p_application_id => p_application_id
129436 , p_ae_header_id => l_ae_header_id
129437 , p_source_46 => p_source_46
129438 , x_transaction_coa_id => l_adr_transaction_coa_id
129439 , x_accounting_coa_id => l_adr_accounting_coa_id
129440 , x_value_type_code => l_adr_value_type_code
129441 , p_side => 'NA'
129442 );
129443
129444 xla_ae_lines_pkg.set_ccid(
129445 p_code_combination_id => l_ccid
129446 , p_value_type_code => l_adr_value_type_code
129447 , p_transaction_coa_id => l_adr_transaction_coa_id
129448 , p_accounting_coa_id => l_adr_accounting_coa_id
129449 , p_adr_code => 'AP_SELF_ASSESSED_TAX'
129450 , p_adr_type_code => 'S'
129451 , p_component_type => l_component_type
129452 , p_component_code => l_component_code
129453 , p_component_type_code => l_component_type_code
129454 , p_component_appl_id => l_component_appl_id
129455 , p_amb_context_code => l_amb_context_code
129456 , p_side => 'NA'
129457 );
129458
129459
129460 --
129461 --
129462 END IF;
129463
129464 --
129465 -- Update the line information that should be overwritten
129466 --
129467 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
129468 p_header_num => 1);
129472
129469 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
129470
129471 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
129473 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
129474 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
129475 END IF;
129476
129477 --
129478 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
129479 --
129480 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
129481 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
129482 ELSE
129483 ---------------------------------------------------------------------------------------------------
129484 -- 4262811a Switch Sign
129485 ---------------------------------------------------------------------------------------------------
129486 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
129487 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
129488 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
129489 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
129490 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
129491 -- 5132302
129492 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
129493 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
129494
129495 END IF;
129496
129497 -- 4955764
129498 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
129499 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
129500
129501
129502 XLA_AE_LINES_PKG.ValidateCurrentLine;
129503 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
129504
129505 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
129506 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
129507 ,p_balance_type_code => l_balance_type_code);
129508
129509 END IF;
129510
129511 -----------------------------------------------------------------------------------------
129512 -- 4262811 Multiperiod Accounting
129513 -----------------------------------------------------------------------------------------
129514 -- No MPA option is assigned.
129515
129516
129517 END IF;
129518 END IF;
129519 --
129520
129521 --
129522 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
129523 trace
129524 (p_msg => 'END of AcctLineType_219'
129525 ,p_level => C_LEVEL_PROCEDURE
129526 ,p_module => l_log_module);
129527 END IF;
129528 --
129529 EXCEPTION
129530 WHEN xla_exceptions_pkg.application_exception THEN
129531 RAISE;
129532 WHEN OTHERS THEN
129533 xla_exceptions_pkg.raise_message
129534 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_219');
129535 END AcctLineType_219;
129536 --
129537
129538 ---------------------------------------
129539 --
129540 -- PRIVATE FUNCTION
129541 -- AcctLineType_220
129542 --
129543 ---------------------------------------
129544 PROCEDURE AcctLineType_220 (
129545 p_application_id IN NUMBER
129546 ,p_event_id IN NUMBER
129547 ,p_calculate_acctd_flag IN VARCHAR2
129548 ,p_calculate_g_l_flag IN VARCHAR2
129549 ,p_actual_flag IN OUT VARCHAR2
129550 ,p_balance_type_code OUT VARCHAR2
129551 ,p_gain_or_loss_ref OUT VARCHAR2
129552
129553 --Automatic Offsets Value
129554 , p_source_10 IN VARCHAR2
129555 , p_source_10_meaning IN VARCHAR2
129556 --Invoice Distribution Account
129557 , p_source_25 IN NUMBER
129558 --Payables Options Tax Difference Account
129559 , p_source_36 IN NUMBER
129560 --Accounting Reversal Indicator
129561 , p_source_58 IN VARCHAR2
129562 --Distribution Link Type
129563 , p_source_60 IN VARCHAR2
129564 --Invoice Identifier
129565 , p_source_63 IN NUMBER
129566 --Payables Encumbrance Upgrade Credit Account
129567 , p_source_70 IN NUMBER
129568 --Payables Encumbrance Upgrade Credit Amount
129569 , p_source_71 IN NUMBER
129570 --Invoice Currency Code
129571 , p_source_72 IN VARCHAR2
129572 --Payables Encumbrance Upgrade Credit Base Amount
129573 , p_source_73 IN NUMBER
129574 --Payables Encumbrance Upgrade Debit Account
129575 , p_source_74 IN NUMBER
129576 --Payables Encumbrance Upgrade Debit Amount
129577 , p_source_75 IN NUMBER
129578 --Payables Encumbrance Upgrade Debit Base Amount
129579 , p_source_76 IN NUMBER
129580 --Payables Encumbrance Upgrade Option
129581 , p_source_77 IN VARCHAR2
129582 --Deferred Accounting End Date
129583 , p_source_82 IN DATE
129584 --Deferred Accounting Option
129585 , p_source_83 IN VARCHAR2
129586 --Deferred Accounting Start Date
129587 , p_source_84 IN DATE
129588 --Override Accounted Amount Indicator
129589 , p_source_85 IN VARCHAR2
129593 --Invoice Supplier Site Identifier
129590 , p_source_85_meaning IN VARCHAR2
129591 --Invoice Supplier Identifier
129592 , p_source_86 IN NUMBER
129594 , p_source_87 IN NUMBER
129595 --Third Party Type
129596 , p_source_88 IN VARCHAR2
129597 --Invoice Distribution Tax Line Identifier
129598 , p_source_91 IN NUMBER
129599 --Invoice Distribution Tax Distribution Identifier from Tax
129600 , p_source_92 IN NUMBER
129601 --Invoice Distribution Summary Tax Line Identifier
129602 , p_source_93 IN NUMBER
129603 --Payables Upgrade Credit Encumbrance Type Identifier
129604 , p_source_94 IN NUMBER
129605 --Payables Upgrade Debit Encumbrance Type Identifier
129606 , p_source_95 IN NUMBER
129607 --Business Flow Accounts Payable Application Identifier
129608 , p_source_96 IN NUMBER
129609 --Prepayment Distribution Type
129610 , p_source_128 IN VARCHAR2
129611 --Prepayment Application Distribution Identifier
129612 , p_source_130 IN NUMBER
129613 --Upgrade Encumbrance Credit Account Class
129614 , p_source_135 IN VARCHAR2
129615 --Upgrade Encumbrance Debit Account Class
129616 , p_source_136 IN VARCHAR2
129617 --Prepayment Distribution Amount
129618 , p_source_137 IN NUMBER
129619 --Identifier of the Prepayment Application Reversed
129620 , p_source_139 IN NUMBER
129621 --Prepayment Distribution (Invoice Rate) Ledger Amount
129622 , p_source_144 IN NUMBER
129623 --Invoice Exchange Date
129624 , p_source_146 IN DATE
129625 --Invoice Exchange Rate
129626 , p_source_147 IN NUMBER
129627 --Invoice Exchange Rate Type
129628 , p_source_148 IN VARCHAR2
129629 --Business Flow Prepayment Invoice Distribution Type
129630 , p_source_149 IN VARCHAR2
129631 --Business Flow Prepayment Invoice Entity Code
129632 , p_source_150 IN VARCHAR2
129633 --Business Flow Prepayment Invoice Distribution Identifier
129634 , p_source_151 IN NUMBER
129635 --Business Flow Prepayment Invoice Identifier
129636 , p_source_152 IN NUMBER
129637 )
129638 IS
129639
129640 l_component_type VARCHAR2(80);
129641 l_component_code VARCHAR2(30);
129642 l_component_type_code VARCHAR2(1);
129643 l_component_appl_id INTEGER;
129644 l_amb_context_code VARCHAR2(30);
129645 l_entity_code VARCHAR2(30);
129646 l_event_class_code VARCHAR2(30);
129647 l_ae_header_id NUMBER;
129648 l_event_type_code VARCHAR2(30);
129649 l_line_definition_code VARCHAR2(30);
129650 l_line_definition_owner_code VARCHAR2(1);
129651 --
129652 -- adr variables
129653 l_segment VARCHAR2(30);
129654 l_ccid NUMBER;
129655 l_adr_transaction_coa_id NUMBER;
129656 l_adr_accounting_coa_id NUMBER;
129657 l_adr_flexfield_segment_code VARCHAR2(30);
129658 l_adr_flex_value_set_id NUMBER;
129659 l_adr_value_type_code VARCHAR2(30);
129660 l_adr_value_combination_id NUMBER;
129661 l_adr_value_segment_code VARCHAR2(30);
129662
129663 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
129664 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
129665 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
129666 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
129667
129668 -- 4262811 Variables ------------------------------------------------------------------------------------------
129669 l_entered_amt_idx NUMBER;
129670 l_accted_amt_idx NUMBER;
129671 l_acc_rev_flag VARCHAR2(1);
129672 l_accrual_line_num NUMBER;
129673 l_tmp_amt NUMBER;
129674 l_acc_rev_natural_side_code VARCHAR2(1);
129675
129676 l_num_entries NUMBER;
129677 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
129678 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
129679 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
129680 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
129681 l_recog_line_1 NUMBER;
129682 l_recog_line_2 NUMBER;
129683
129684 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
129685 l_bflow_applied_to_amt NUMBER; -- 5132302
129686 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
129687
129688 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
129689
129690 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
129691 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
129692
129693 ---------------------------------------------------------------------------------------------------------------
129694
129695
129696 --
129697 -- bulk performance
129698 --
129699 l_balance_type_code VARCHAR2(1);
129700 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
129701 l_log_module VARCHAR2(240);
129702
129703 --
129704 -- Upgrade strategy
129705 --
129706 l_actual_upg_option VARCHAR2(1);
129707 l_enc_upg_option VARCHAR2(1);
129708
129709 --
129710 BEGIN
129711 --
129712 IF g_log_enabled THEN
129716 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
129713 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_220';
129714 END IF;
129715 --
129717
129718 trace
129719 (p_msg => 'BEGIN of AcctLineType_220'
129720 ,p_level => C_LEVEL_PROCEDURE
129721 ,p_module => l_log_module);
129722
129723 END IF;
129724 --
129725 l_component_type := 'AMB_JLT';
129726 l_component_code := 'AP_TAX_DIFF_PREPAY_APP';
129727 l_component_type_code := 'S';
129728 l_component_appl_id := 200;
129729 l_amb_context_code := 'DEFAULT';
129730 l_entity_code := 'AP_INVOICES';
129731 l_event_class_code := 'PREPAYMENT APPLICATIONS';
129732 l_event_type_code := 'PREPAYMENT APPLICATIONS_ALL';
129733 l_line_definition_owner_code := 'S';
129734 l_line_definition_code := 'ACCRUAL_PREPAYMENT APPLICATIO2';
129735 --
129736 l_balance_type_code := 'A';
129737 l_segment := NULL;
129738 l_ccid := NULL;
129739 l_adr_transaction_coa_id := NULL;
129740 l_adr_accounting_coa_id := NULL;
129741 l_adr_flexfield_segment_code := NULL;
129742 l_adr_flex_value_set_id := NULL;
129743 l_adr_value_type_code := NULL;
129744 l_adr_value_combination_id := NULL;
129745 l_adr_value_segment_code := NULL;
129746
129747 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
129748 l_bflow_class_code := ''; -- 4219869 Business Flow
129749 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
129750 l_budgetary_control_flag := 'N';
129751
129752 l_bflow_applied_to_amt_idx := NULL; -- 5132302
129753 l_bflow_applied_to_amt := NULL; -- 5132302
129754 l_entered_amt_idx := NULL; -- 4262811
129755 l_accted_amt_idx := NULL; -- 4262811
129756 l_acc_rev_flag := NULL; -- 4262811
129757 l_accrual_line_num := NULL; -- 4262811
129758 l_tmp_amt := NULL; -- 4262811
129759 --
129760
129761 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
129762 l_balance_type_code <> 'B' THEN
129763 IF NVL(p_source_128,'
129764 ') = 'TAX DIFF'
129765 THEN
129766
129767 --
129768 XLA_AE_LINES_PKG.SetNewLine;
129769
129770 p_balance_type_code := l_balance_type_code;
129771 -- set the flag so later we will know whether the gain loss line needs to be created
129772
129773 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
129774 p_actual_flag :='A';
129775 END IF;
129776
129777 --
129778 -- bulk performance
129779 --
129780 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
129781 p_header_num => 0); -- 4262811
129782 --
129783 -- set accounting line options
129784 --
129785 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
129786 p_natural_side_code => 'C'
129787 , p_gain_or_loss_flag => 'N'
129788 , p_gl_transfer_mode_code => 'S'
129789 , p_acct_entry_type_code => 'A'
129790 , p_switch_side_flag => 'Y'
129791 , p_merge_duplicate_code => 'A'
129792 );
129793 --
129794 l_acc_rev_natural_side_code := 'D'; -- 4262811
129795 --
129796 --
129797 -- set accounting line type info
129798 --
129799 xla_ae_lines_pkg.SetAcctLineType
129800 (p_component_type => l_component_type
129801 ,p_event_type_code => l_event_type_code
129802 ,p_line_definition_owner_code => l_line_definition_owner_code
129803 ,p_line_definition_code => l_line_definition_code
129804 ,p_accounting_line_code => l_component_code
129805 ,p_accounting_line_type_code => l_component_type_code
129806 ,p_accounting_line_appl_id => l_component_appl_id
129807 ,p_amb_context_code => l_amb_context_code
129808 ,p_entity_code => l_entity_code
129809 ,p_event_class_code => l_event_class_code);
129810 --
129811 -- set accounting class
129812 --
129813 xla_ae_lines_pkg.SetAcctClass(
129814 p_accounting_class_code => 'TAX_DIFF'
129815 , p_ae_header_id => l_ae_header_id
129816 );
129817
129818 --
129819 -- set rounding class
129820 --
129821 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
129822 'TAX_DIFF';
129823
129824 --
129825 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
129826 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
129827 --
129828 -- bulk performance
129829 --
129830 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
129831
129832 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
129833 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
129834
129835 -- 4955764
129836 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
129837 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
129838
129839 -- 4458381 Public Sector Enh
129840
129841 --
129845 l_accted_amt_idx := 30;
129842 -- set accounting attributes for the line type
129843 --
129844 l_entered_amt_idx := 25;
129846 l_bflow_applied_to_amt_idx := NULL; -- 5132302
129847 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
129848 l_rec_acct_attrs.array_char_value(1) := p_source_58;
129849 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
129850 l_rec_acct_attrs.array_num_value(2) :=
129851 xla_ae_sources_pkg.GetSystemSourceNum(
129852 p_source_code => 'XLA_EVENT_APPL_ID'
129853 , p_source_type_code => 'Y'
129854 , p_source_application_id => 602
129855 );
129856 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
129857 l_rec_acct_attrs.array_char_value(3) := p_source_60;
129858 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
129859 l_rec_acct_attrs.array_char_value(4) :=
129860 xla_ae_sources_pkg.GetSystemSourceChar(
129861 p_source_code => 'XLA_ENTITY_CODE'
129862 , p_source_type_code => 'Y'
129863 , p_source_application_id => 602
129864 );
129865 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
129866 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_130);
129867 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
129868 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_63);
129869 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
129870 l_rec_acct_attrs.array_num_value(7) := p_source_96;
129871 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
129872 l_rec_acct_attrs.array_char_value(8) := p_source_149;
129873 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
129874 l_rec_acct_attrs.array_char_value(9) := p_source_150;
129875 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
129876 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_151);
129877 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
129878 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_152);
129879 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
129880 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_130);
129881 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
129882 l_rec_acct_attrs.array_char_value(13) := p_source_60;
129883 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_ACCT_CLASS';
129884 l_rec_acct_attrs.array_char_value(14) := p_source_135;
129885 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
129886 l_rec_acct_attrs.array_num_value(15) := p_source_70;
129887 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
129888 l_rec_acct_attrs.array_num_value(16) := p_source_71;
129889 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
129890 l_rec_acct_attrs.array_char_value(17) := p_source_72;
129891 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
129892 l_rec_acct_attrs.array_num_value(18) := p_source_73;
129893 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ACCT_CLASS';
129894 l_rec_acct_attrs.array_char_value(19) := p_source_136;
129895 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_CCID';
129896 l_rec_acct_attrs.array_num_value(20) := p_source_74;
129897 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_AMT';
129898 l_rec_acct_attrs.array_num_value(21) := p_source_75;
129899 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_ENTERED_CURR';
129900 l_rec_acct_attrs.array_char_value(22) := p_source_72;
129901 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_DR_LEDGER_AMT';
129902 l_rec_acct_attrs.array_num_value(23) := p_source_76;
129903 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENC_UPG_OPTION';
129904 l_rec_acct_attrs.array_char_value(24) := p_source_77;
129905 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_AMOUNT';
129906 l_rec_acct_attrs.array_num_value(25) := p_source_137;
129907 l_rec_acct_attrs.array_acct_attr_code(26) := 'ENTERED_CURRENCY_CODE';
129908 l_rec_acct_attrs.array_char_value(26) := p_source_72;
129909 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_DATE';
129910 l_rec_acct_attrs.array_date_value(27) := p_source_146;
129911 l_rec_acct_attrs.array_acct_attr_code(28) := 'EXCHANGE_RATE';
129912 l_rec_acct_attrs.array_num_value(28) := p_source_147;
129913 l_rec_acct_attrs.array_acct_attr_code(29) := 'EXCHANGE_RATE_TYPE';
129914 l_rec_acct_attrs.array_char_value(29) := p_source_148;
129915 l_rec_acct_attrs.array_acct_attr_code(30) := 'LEDGER_AMOUNT';
129916 l_rec_acct_attrs.array_num_value(30) := p_source_144;
129917 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_END_DATE';
129918 l_rec_acct_attrs.array_date_value(31) := p_source_82;
129919 l_rec_acct_attrs.array_acct_attr_code(32) := 'MULTIPERIOD_OPTION';
129920 l_rec_acct_attrs.array_char_value(32) := p_source_83;
129921 l_rec_acct_attrs.array_acct_attr_code(33) := 'MULTIPERIOD_START_DATE';
129922 l_rec_acct_attrs.array_date_value(33) := p_source_84;
129923 l_rec_acct_attrs.array_acct_attr_code(34) := 'OVERRIDE_ACCTD_AMT_FLAG';
129924 l_rec_acct_attrs.array_char_value(34) := p_source_85;
129925 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_ID';
129926 l_rec_acct_attrs.array_num_value(35) := p_source_86;
129927 l_rec_acct_attrs.array_acct_attr_code(36) := 'PARTY_SITE_ID';
129928 l_rec_acct_attrs.array_num_value(36) := p_source_87;
129929 l_rec_acct_attrs.array_acct_attr_code(37) := 'PARTY_TYPE';
129930 l_rec_acct_attrs.array_char_value(37) := p_source_88;
129934 l_rec_acct_attrs.array_char_value(39) := p_source_60;
129931 l_rec_acct_attrs.array_acct_attr_code(38) := 'REVERSED_DISTRIBUTION_ID1';
129932 l_rec_acct_attrs.array_num_value(38) := to_char(p_source_139);
129933 l_rec_acct_attrs.array_acct_attr_code(39) := 'REVERSED_DISTRIBUTION_TYPE';
129935 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_LINE_REF_ID';
129936 l_rec_acct_attrs.array_num_value(40) := p_source_91;
129937 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_REC_NREC_DIST_REF_ID';
129938 l_rec_acct_attrs.array_num_value(41) := p_source_92;
129939 l_rec_acct_attrs.array_acct_attr_code(42) := 'TAX_SUMMARY_LINE_REF_ID';
129940 l_rec_acct_attrs.array_num_value(42) := p_source_93;
129941 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_CR_ENC_TYPE_ID';
129942 l_rec_acct_attrs.array_num_value(43) := p_source_94;
129943 l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
129944 l_rec_acct_attrs.array_num_value(44) := p_source_95;
129945
129946 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
129947 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
129948
129949 ---------------------------------------------------------------------------------------------------------------
129950 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
129951 ---------------------------------------------------------------------------------------------------------------
129952 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
129953
129954 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
129955 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
129956
129957 IF xla_accounting_cache_pkg.GetValueChar
129958 (p_source_code => 'LEDGER_CATEGORY_CODE'
129959 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
129960 AND l_bflow_method_code = 'PRIOR_ENTRY'
129961 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
129962 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
129963 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
129964 )
129965 THEN
129966 xla_ae_lines_pkg.BflowUpgEntry
129967 (p_business_method_code => l_bflow_method_code
129968 ,p_business_class_code => l_bflow_class_code
129969 ,p_balance_type => l_balance_type_code);
129970 ELSE
129971 NULL;
129972 -- No business flow processing for business flow method of NONE.
129973 END IF;
129974
129975 --
129976 -- call analytical criteria
129977 --
129978
129979 --
129980 -- call description
129981 --
129982 -- No description or it is inherited.
129983 --
129984 -- call ADRs
129985 -- Bug 4922099
129986 --
129987 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
129988 (NVL(l_actual_upg_option, 'N') = 'O') OR
129989 (NVL(l_enc_upg_option, 'N') = 'O')
129990 )
129991 THEN
129992 NULL;
129993 --
129994 --
129995
129996 l_ccid := AcctDerRule_47(
129997 p_application_id => p_application_id
129998 , p_ae_header_id => l_ae_header_id
129999 , p_source_10 => p_source_10
130000 , p_source_10_meaning => p_source_10_meaning
130001 , p_source_25 => p_source_25
130002 , p_source_36 => p_source_36
130003 , x_transaction_coa_id => l_adr_transaction_coa_id
130004 , x_accounting_coa_id => l_adr_accounting_coa_id
130005 , x_value_type_code => l_adr_value_type_code
130006 , p_side => 'NA'
130007 );
130008
130009 xla_ae_lines_pkg.set_ccid(
130010 p_code_combination_id => l_ccid
130011 , p_value_type_code => l_adr_value_type_code
130012 , p_transaction_coa_id => l_adr_transaction_coa_id
130013 , p_accounting_coa_id => l_adr_accounting_coa_id
130014 , p_adr_code => 'AP_TAX_DIFFERENCE'
130015 , p_adr_type_code => 'S'
130016 , p_component_type => l_component_type
130017 , p_component_code => l_component_code
130018 , p_component_type_code => l_component_type_code
130019 , p_component_appl_id => l_component_appl_id
130020 , p_amb_context_code => l_amb_context_code
130021 , p_side => 'NA'
130022 );
130023
130024
130025 l_segment := AcctDerRule_23(
130026 p_application_id => p_application_id
130027 , p_ae_header_id => l_ae_header_id
130028 , p_source_10 => p_source_10
130029 , p_source_10_meaning => p_source_10_meaning
130030 , p_source_25 => p_source_25
130031 , x_transaction_coa_id => l_adr_transaction_coa_id
130032 , x_accounting_coa_id => l_adr_accounting_coa_id
130033 , x_flexfield_segment_code => l_adr_flexfield_segment_code
130034 , x_flex_value_set_id => l_adr_flex_value_set_id
130035 , x_value_type_code => l_adr_value_type_code
130036 , x_value_combination_id => l_adr_value_combination_id
130037 , x_value_segment_code => l_adr_value_segment_code
130038 , p_side => 'NA'
130039 , p_override_seg_flag => 'Y'
130040 );
130041
130045 p_to_segment_code => 'GL_BALANCING'
130042 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
130043
130044 xla_ae_lines_pkg.set_segment(
130046 , p_segment_value => l_segment
130047 , p_from_segment_code => l_adr_value_segment_code
130048 , p_from_combination_id => l_adr_value_combination_id
130049 , p_value_type_code => l_adr_value_type_code
130050 , p_transaction_coa_id => l_adr_transaction_coa_id
130051 , p_accounting_coa_id => l_adr_accounting_coa_id
130052 , p_flexfield_segment_code => l_adr_flexfield_segment_code
130053 , p_flex_value_set_id => l_adr_flex_value_set_id
130054 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
130055 , p_adr_type_code => 'S'
130056 , p_component_type => l_component_type
130057 , p_component_code => l_component_code
130058 , p_component_type_code => l_component_type_code
130059 , p_component_appl_id => l_component_appl_id
130060 , p_amb_context_code => l_amb_context_code
130061 , p_entity_code => 'AP_INVOICES'
130062 , p_event_class_code => 'PREPAYMENT APPLICATIONS'
130063 , p_side => 'NA'
130064 );
130065
130066 END IF;
130067
130068 l_segment := AcctDerRule_20(
130069 p_application_id => p_application_id
130070 , p_ae_header_id => l_ae_header_id
130071 , p_source_36 => p_source_36
130072 , x_transaction_coa_id => l_adr_transaction_coa_id
130073 , x_accounting_coa_id => l_adr_accounting_coa_id
130074 , x_flexfield_segment_code => l_adr_flexfield_segment_code
130075 , x_flex_value_set_id => l_adr_flex_value_set_id
130076 , x_value_type_code => l_adr_value_type_code
130077 , x_value_combination_id => l_adr_value_combination_id
130078 , x_value_segment_code => l_adr_value_segment_code
130079 , p_side => 'NA'
130080 , p_override_seg_flag => 'Y'
130081 );
130082
130083 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
130084
130085 xla_ae_lines_pkg.set_segment(
130086 p_to_segment_code => 'GL_ACCOUNT'
130087 , p_segment_value => l_segment
130088 , p_from_segment_code => l_adr_value_segment_code
130089 , p_from_combination_id => l_adr_value_combination_id
130090 , p_value_type_code => l_adr_value_type_code
130091 , p_transaction_coa_id => l_adr_transaction_coa_id
130092 , p_accounting_coa_id => l_adr_accounting_coa_id
130093 , p_flexfield_segment_code => l_adr_flexfield_segment_code
130094 , p_flex_value_set_id => l_adr_flex_value_set_id
130095 , p_adr_code => 'AP_TAX_DIFFERENCE_NAT_ACCT'
130096 , p_adr_type_code => 'S'
130097 , p_component_type => l_component_type
130098 , p_component_code => l_component_code
130099 , p_component_type_code => l_component_type_code
130100 , p_component_appl_id => l_component_appl_id
130101 , p_amb_context_code => l_amb_context_code
130102 , p_entity_code => 'AP_INVOICES'
130103 , p_event_class_code => 'PREPAYMENT APPLICATIONS'
130104 , p_side => 'NA'
130105 );
130106
130107 END IF;
130108
130109 --
130110 --
130111 END IF;
130112 --
130113 -- Bug 4922099
130114 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
130115 (NVL(l_enc_upg_option, 'N') = 'O')
130116 ) AND
130117 (l_bflow_method_code = 'PRIOR_ENTRY')
130118 )
130119 THEN
130120 IF
130121 --
130122 1 = 2
130123 --
130124 THEN
130125 xla_accounting_err_pkg.build_message
130126 (p_appli_s_name => 'XLA'
130127 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
130128 ,p_token_1 => 'LINE_NUMBER'
130129 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
130130 ,p_token_2 => 'LINE_TYPE_NAME'
130131 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
130132 l_component_type
130133 ,l_component_code
130134 ,l_component_type_code
130135 ,l_component_appl_id
130136 ,l_amb_context_code
130137 ,l_entity_code
130138 ,l_event_class_code
130139 )
130140 ,p_token_3 => 'OWNER'
130141 ,p_value_3 => xla_lookups_pkg.get_meaning(
130142 p_lookup_type => 'XLA_OWNER_TYPE'
130146 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
130143 ,p_lookup_code => l_component_type_code
130144 )
130145 ,p_token_4 => 'PRODUCT_NAME'
130147 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
130148 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
130149 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
130150 ,p_ae_header_id => NULL
130151 );
130152
130153 IF (C_LEVEL_ERROR>= g_log_level) THEN
130154 trace
130155 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
130156 ,p_level => C_LEVEL_ERROR
130157 ,p_module => l_log_module);
130158 END IF;
130159 END IF;
130160 END IF;
130161 --
130162 --
130163 ------------------------------------------------------------------------------------------------
130164 -- 4219869 Business Flow
130165 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
130166 -- Prior Entry. Currently, the following code is always generated.
130167 ------------------------------------------------------------------------------------------------
130168 XLA_AE_LINES_PKG.ValidateCurrentLine;
130169
130170 ------------------------------------------------------------------------------------
130171 -- 4219869 Business Flow
130172 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
130173 ------------------------------------------------------------------------------------
130174 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
130175
130176 ----------------------------------------------------------------------------------
130177 -- 4219869 Business Flow
130178 -- Update journal entry status -- Need to generate this within IF <condition>
130179 ----------------------------------------------------------------------------------
130180 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
130181 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
130182 ,p_balance_type_code => l_balance_type_code
130183 );
130184
130185 -------------------------------------------------------------------------------------------
130186 -- 4262811 - Generate the Accrual Reversal lines
130187 -------------------------------------------------------------------------------------------
130188 BEGIN
130189 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
130190 (g_array_event(p_event_id).array_value_num('header_index'));
130191 IF l_acc_rev_flag IS NULL THEN
130192 l_acc_rev_flag := 'N';
130193 END IF;
130194 EXCEPTION
130195 WHEN OTHERS THEN
130196 l_acc_rev_flag := 'N';
130197 END;
130198 --
130199 IF (l_acc_rev_flag = 'Y') THEN
130200
130201 -- 4645092 ------------------------------------------------------------------------------
130202 -- To allow MPA report to determine if it should generate report process
130203 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
130204 ------------------------------------------------------------------------------------------
130205
130206 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
130207 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
130208 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
130209 -- call ADRs
130210 -- Bug 4922099
130211 --
130212 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
130213 (NVL(l_actual_upg_option, 'N') = 'O') OR
130214 (NVL(l_enc_upg_option, 'N') = 'O')
130215 )
130216 THEN
130217 NULL;
130218 --
130219 --
130220
130221 l_ccid := AcctDerRule_47(
130222 p_application_id => p_application_id
130223 , p_ae_header_id => l_ae_header_id
130224 , p_source_10 => p_source_10
130225 , p_source_10_meaning => p_source_10_meaning
130226 , p_source_25 => p_source_25
130227 , p_source_36 => p_source_36
130228 , x_transaction_coa_id => l_adr_transaction_coa_id
130229 , x_accounting_coa_id => l_adr_accounting_coa_id
130230 , x_value_type_code => l_adr_value_type_code
130231 , p_side => 'NA'
130232 );
130233
130234 xla_ae_lines_pkg.set_ccid(
130235 p_code_combination_id => l_ccid
130236 , p_value_type_code => l_adr_value_type_code
130237 , p_transaction_coa_id => l_adr_transaction_coa_id
130238 , p_accounting_coa_id => l_adr_accounting_coa_id
130239 , p_adr_code => 'AP_TAX_DIFFERENCE'
130240 , p_adr_type_code => 'S'
130241 , p_component_type => l_component_type
130242 , p_component_code => l_component_code
130243 , p_component_type_code => l_component_type_code
130244 , p_component_appl_id => l_component_appl_id
130245 , p_amb_context_code => l_amb_context_code
130246 , p_side => 'NA'
130247 );
130248
130252 , p_ae_header_id => l_ae_header_id
130249
130250 l_segment := AcctDerRule_23(
130251 p_application_id => p_application_id
130253 , p_source_10 => p_source_10
130254 , p_source_10_meaning => p_source_10_meaning
130255 , p_source_25 => p_source_25
130256 , x_transaction_coa_id => l_adr_transaction_coa_id
130257 , x_accounting_coa_id => l_adr_accounting_coa_id
130258 , x_flexfield_segment_code => l_adr_flexfield_segment_code
130259 , x_flex_value_set_id => l_adr_flex_value_set_id
130260 , x_value_type_code => l_adr_value_type_code
130261 , x_value_combination_id => l_adr_value_combination_id
130262 , x_value_segment_code => l_adr_value_segment_code
130263 , p_side => 'NA'
130264 , p_override_seg_flag => 'Y'
130265 );
130266
130267 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
130268
130269 xla_ae_lines_pkg.set_segment(
130270 p_to_segment_code => 'GL_BALANCING'
130271 , p_segment_value => l_segment
130272 , p_from_segment_code => l_adr_value_segment_code
130273 , p_from_combination_id => l_adr_value_combination_id
130274 , p_value_type_code => l_adr_value_type_code
130275 , p_transaction_coa_id => l_adr_transaction_coa_id
130276 , p_accounting_coa_id => l_adr_accounting_coa_id
130277 , p_flexfield_segment_code => l_adr_flexfield_segment_code
130278 , p_flex_value_set_id => l_adr_flex_value_set_id
130279 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
130280 , p_adr_type_code => 'S'
130281 , p_component_type => l_component_type
130282 , p_component_code => l_component_code
130283 , p_component_type_code => l_component_type_code
130284 , p_component_appl_id => l_component_appl_id
130285 , p_amb_context_code => l_amb_context_code
130286 , p_entity_code => 'AP_INVOICES'
130287 , p_event_class_code => 'PREPAYMENT APPLICATIONS'
130288 , p_side => 'NA'
130289 );
130290
130291 END IF;
130292
130293 l_segment := AcctDerRule_20(
130294 p_application_id => p_application_id
130295 , p_ae_header_id => l_ae_header_id
130296 , p_source_36 => p_source_36
130297 , x_transaction_coa_id => l_adr_transaction_coa_id
130298 , x_accounting_coa_id => l_adr_accounting_coa_id
130299 , x_flexfield_segment_code => l_adr_flexfield_segment_code
130300 , x_flex_value_set_id => l_adr_flex_value_set_id
130301 , x_value_type_code => l_adr_value_type_code
130302 , x_value_combination_id => l_adr_value_combination_id
130303 , x_value_segment_code => l_adr_value_segment_code
130304 , p_side => 'NA'
130305 , p_override_seg_flag => 'Y'
130306 );
130307
130308 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
130309
130310 xla_ae_lines_pkg.set_segment(
130311 p_to_segment_code => 'GL_ACCOUNT'
130312 , p_segment_value => l_segment
130313 , p_from_segment_code => l_adr_value_segment_code
130314 , p_from_combination_id => l_adr_value_combination_id
130315 , p_value_type_code => l_adr_value_type_code
130316 , p_transaction_coa_id => l_adr_transaction_coa_id
130317 , p_accounting_coa_id => l_adr_accounting_coa_id
130318 , p_flexfield_segment_code => l_adr_flexfield_segment_code
130319 , p_flex_value_set_id => l_adr_flex_value_set_id
130320 , p_adr_code => 'AP_TAX_DIFFERENCE_NAT_ACCT'
130321 , p_adr_type_code => 'S'
130322 , p_component_type => l_component_type
130323 , p_component_code => l_component_code
130324 , p_component_type_code => l_component_type_code
130325 , p_component_appl_id => l_component_appl_id
130326 , p_amb_context_code => l_amb_context_code
130327 , p_entity_code => 'AP_INVOICES'
130328 , p_event_class_code => 'PREPAYMENT APPLICATIONS'
130329 , p_side => 'NA'
130330 );
130331
130332 END IF;
130333
130334 --
130335 --
130336 END IF;
130337
130338 --
130339 -- Update the line information that should be overwritten
130340 --
130341 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
130342 p_header_num => 1);
130343 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
130344
130345 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
130346
130347 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
130348 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
130349 END IF;
130350
130351 --
130352 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
130353 --
130354 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
130355 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
130359 ---------------------------------------------------------------------------------------------------
130356 ELSE
130357 ---------------------------------------------------------------------------------------------------
130358 -- 4262811a Switch Sign
130360 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
130361 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
130362 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
130363 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
130364 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
130365 -- 5132302
130366 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
130367 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
130368
130369 END IF;
130370
130371 -- 4955764
130372 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
130373 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
130374
130375
130376 XLA_AE_LINES_PKG.ValidateCurrentLine;
130377 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
130378
130379 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
130380 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
130381 ,p_balance_type_code => l_balance_type_code);
130382
130383 END IF;
130384
130385 -----------------------------------------------------------------------------------------
130386 -- 4262811 Multiperiod Accounting
130387 -----------------------------------------------------------------------------------------
130388 -- No MPA option is assigned.
130389
130390
130391 END IF;
130392 END IF;
130393 --
130394
130395 --
130396 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
130397 trace
130398 (p_msg => 'END of AcctLineType_220'
130399 ,p_level => C_LEVEL_PROCEDURE
130400 ,p_module => l_log_module);
130401 END IF;
130402 --
130403 EXCEPTION
130404 WHEN xla_exceptions_pkg.application_exception THEN
130405 RAISE;
130406 WHEN OTHERS THEN
130407 xla_exceptions_pkg.raise_message
130408 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_220');
130409 END AcctLineType_220;
130410 --
130411
130412 ---------------------------------------
130413 --
130414 -- PRIVATE FUNCTION
130415 -- AcctLineType_221
130416 --
130417 ---------------------------------------
130418 PROCEDURE AcctLineType_221 (
130419 p_application_id IN NUMBER
130420 ,p_event_id IN NUMBER
130421 ,p_calculate_acctd_flag IN VARCHAR2
130422 ,p_calculate_g_l_flag IN VARCHAR2
130423 ,p_actual_flag IN OUT VARCHAR2
130424 ,p_balance_type_code OUT VARCHAR2
130425 ,p_gain_or_loss_ref OUT VARCHAR2
130426
130427 --Invoice Distribution Description
130428 , p_source_1 IN VARCHAR2
130429 --Automatic Offsets Value
130430 , p_source_10 IN VARCHAR2
130431 , p_source_10_meaning IN VARCHAR2
130432 --Purchase Order Rate Variance Gain Account
130433 , p_source_15 IN NUMBER
130434 --Invoice Distribution Ledger Amount
130435 , p_source_16 IN NUMBER
130436 --Destination Type of the PO Distribution
130437 , p_source_17 IN VARCHAR2
130438 , p_source_17_meaning IN VARCHAR2
130439 --Purchase Order Rate Variance Loss Account
130440 , p_source_18 IN NUMBER
130441 --Invoice Distribution Account
130442 , p_source_25 IN NUMBER
130443 --Invoice Distribution Type
130444 , p_source_28 IN VARCHAR2
130445 , p_source_28_meaning IN VARCHAR2
130446 --Automatic Offsets Flag
130447 , p_source_43 IN VARCHAR2
130448 , p_source_43_meaning IN VARCHAR2
130449 --Accrue on Receipt Option
130450 , p_source_54 IN VARCHAR2
130451 , p_source_54_meaning IN VARCHAR2
130452 --Accounting Reversal Indicator
130453 , p_source_58 IN VARCHAR2
130454 --Distribution Link Type
130455 , p_source_60 IN VARCHAR2
130456 --Allocation to Main Distribution Identifier
130457 , p_source_62 IN NUMBER
130458 --Invoice Identifier
130459 , p_source_63 IN NUMBER
130460 --Invoice Distribution Identifier
130461 , p_source_69 IN NUMBER
130462 --Payables Encumbrance Upgrade Credit Account
130463 , p_source_70 IN NUMBER
130464 --Payables Encumbrance Upgrade Credit Amount
130465 , p_source_71 IN NUMBER
130466 --Invoice Currency Code
130467 , p_source_72 IN VARCHAR2
130468 --Payables Encumbrance Upgrade Credit Base Amount
130469 , p_source_73 IN NUMBER
130470 --Payables Encumbrance Upgrade Debit Account
130471 , p_source_74 IN NUMBER
130472 --Payables Encumbrance Upgrade Debit Amount
130473 , p_source_75 IN NUMBER
130474 --Payables Encumbrance Upgrade Debit Base Amount
130475 , p_source_76 IN NUMBER
130476 --Payables Encumbrance Upgrade Option
130477 , p_source_77 IN VARCHAR2
130478 --Invoice Distribution Amount
130479 , p_source_78 IN NUMBER
130480 --Deferred Accounting End Date
130484 --Deferred Accounting Start Date
130481 , p_source_82 IN DATE
130482 --Deferred Accounting Option
130483 , p_source_83 IN VARCHAR2
130485 , p_source_84 IN DATE
130486 --Override Accounted Amount Indicator
130487 , p_source_85 IN VARCHAR2
130488 , p_source_85_meaning IN VARCHAR2
130489 --Invoice Supplier Identifier
130490 , p_source_86 IN NUMBER
130491 --Invoice Supplier Site Identifier
130492 , p_source_87 IN NUMBER
130493 --Third Party Type
130494 , p_source_88 IN VARCHAR2
130495 --Parent Reversal Identifier
130496 , p_source_89 IN NUMBER
130497 --Invoice Distribution Statistical Amount
130498 , p_source_90 IN NUMBER
130499 --Invoice Distribution Tax Line Identifier
130500 , p_source_91 IN NUMBER
130501 --Invoice Distribution Tax Distribution Identifier from Tax
130502 , p_source_92 IN NUMBER
130503 --Invoice Distribution Summary Tax Line Identifier
130504 , p_source_93 IN NUMBER
130505 --Payables Upgrade Credit Encumbrance Type Identifier
130506 , p_source_94 IN NUMBER
130507 --Payables Upgrade Debit Encumbrance Type Identifier
130508 , p_source_95 IN NUMBER
130509 --Business Flow Accounts Payable Application Identifier
130510 , p_source_96 IN NUMBER
130511 --Business Flow Invoice Distribution Type
130512 , p_source_97 IN VARCHAR2
130513 --Business Flow Invoice Entity Code
130514 , p_source_98 IN VARCHAR2
130515 --Business Flow Invoice Distribution Identifier
130516 , p_source_99 IN NUMBER
130517 --Business Flow Invoice Identifier
130518 , p_source_100 IN NUMBER
130519 --Invoice Exchange Date
130520 , p_source_146 IN DATE
130521 --Invoice Exchange Rate
130522 , p_source_147 IN NUMBER
130523 --Invoice Exchange Rate Type
130524 , p_source_148 IN VARCHAR2
130525 )
130526 IS
130527
130528 l_component_type VARCHAR2(80);
130529 l_component_code VARCHAR2(30);
130530 l_component_type_code VARCHAR2(1);
130531 l_component_appl_id INTEGER;
130532 l_amb_context_code VARCHAR2(30);
130533 l_entity_code VARCHAR2(30);
130534 l_event_class_code VARCHAR2(30);
130535 l_ae_header_id NUMBER;
130536 l_event_type_code VARCHAR2(30);
130537 l_line_definition_code VARCHAR2(30);
130538 l_line_definition_owner_code VARCHAR2(1);
130539 --
130540 -- adr variables
130541 l_segment VARCHAR2(30);
130542 l_ccid NUMBER;
130543 l_adr_transaction_coa_id NUMBER;
130544 l_adr_accounting_coa_id NUMBER;
130545 l_adr_flexfield_segment_code VARCHAR2(30);
130546 l_adr_flex_value_set_id NUMBER;
130547 l_adr_value_type_code VARCHAR2(30);
130548 l_adr_value_combination_id NUMBER;
130549 l_adr_value_segment_code VARCHAR2(30);
130550
130551 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
130552 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
130553 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
130554 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
130555
130556 -- 4262811 Variables ------------------------------------------------------------------------------------------
130557 l_entered_amt_idx NUMBER;
130558 l_accted_amt_idx NUMBER;
130559 l_acc_rev_flag VARCHAR2(1);
130560 l_accrual_line_num NUMBER;
130561 l_tmp_amt NUMBER;
130562 l_acc_rev_natural_side_code VARCHAR2(1);
130563
130564 l_num_entries NUMBER;
130565 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
130566 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
130567 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
130568 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
130569 l_recog_line_1 NUMBER;
130570 l_recog_line_2 NUMBER;
130571
130572 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
130573 l_bflow_applied_to_amt NUMBER; -- 5132302
130574 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
130575
130576 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
130577
130578 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
130579 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
130580
130581 ---------------------------------------------------------------------------------------------------------------
130582
130583
130584 --
130585 -- bulk performance
130586 --
130587 l_balance_type_code VARCHAR2(1);
130588 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
130589 l_log_module VARCHAR2(240);
130590
130591 --
130592 -- Upgrade strategy
130593 --
130594 l_actual_upg_option VARCHAR2(1);
130595 l_enc_upg_option VARCHAR2(1);
130596
130597 --
130598 BEGIN
130599 --
130600 IF g_log_enabled THEN
130601 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_221';
130602 END IF;
130603 --
130604 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
130605
130606 trace
130607 (p_msg => 'BEGIN of AcctLineType_221'
130608 ,p_level => C_LEVEL_PROCEDURE
130612 --
130609 ,p_module => l_log_module);
130610
130611 END IF;
130613 l_component_type := 'AMB_JLT';
130614 l_component_code := 'AP_TAX_EX_RATE_VAR_CM';
130615 l_component_type_code := 'S';
130616 l_component_appl_id := 200;
130617 l_amb_context_code := 'DEFAULT';
130618 l_entity_code := 'AP_INVOICES';
130619 l_event_class_code := 'CREDIT MEMOS';
130620 l_event_type_code := 'CREDIT MEMOS_ALL';
130621 l_line_definition_owner_code := 'S';
130622 l_line_definition_code := 'ACCRUAL_CREDIT MEMOS_ALL';
130623 --
130624 l_balance_type_code := 'A';
130625 l_segment := NULL;
130626 l_ccid := NULL;
130627 l_adr_transaction_coa_id := NULL;
130628 l_adr_accounting_coa_id := NULL;
130629 l_adr_flexfield_segment_code := NULL;
130630 l_adr_flex_value_set_id := NULL;
130631 l_adr_value_type_code := NULL;
130632 l_adr_value_combination_id := NULL;
130633 l_adr_value_segment_code := NULL;
130634
130635 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
130636 l_bflow_class_code := ''; -- 4219869 Business Flow
130637 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
130638 l_budgetary_control_flag := 'N';
130639
130640 l_bflow_applied_to_amt_idx := NULL; -- 5132302
130641 l_bflow_applied_to_amt := NULL; -- 5132302
130642 l_entered_amt_idx := NULL; -- 4262811
130643 l_accted_amt_idx := NULL; -- 4262811
130644 l_acc_rev_flag := NULL; -- 4262811
130645 l_accrual_line_num := NULL; -- 4262811
130646 l_tmp_amt := NULL; -- 4262811
130647 --
130648 IF ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
130649 (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
130650 return;
130651 END IF;
130652
130653 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
130654 l_balance_type_code <> 'B' THEN
130655 IF NVL(p_source_28,'
130656 ') = 'TERV' AND
130657 NVL(p_source_54,'
130658 ') = 'Y'
130659 THEN
130660
130661 --
130662 XLA_AE_LINES_PKG.SetNewLine;
130663
130664 p_balance_type_code := l_balance_type_code;
130665 -- set the flag so later we will know whether the gain loss line needs to be created
130666
130667 IF(l_balance_type_code = 'A' ) THEN
130668 p_actual_flag :='G';
130669 END IF;
130670
130671 --
130672 -- bulk performance
130673 --
130674 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
130675 p_header_num => 0); -- 4262811
130676 --
130677 -- set accounting line options
130678 --
130679 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
130680 p_natural_side_code => 'D'
130681 , p_gain_or_loss_flag => 'Y'
130682 , p_gl_transfer_mode_code => 'S'
130683 , p_acct_entry_type_code => 'A'
130684 , p_switch_side_flag => 'Y'
130685 , p_merge_duplicate_code => 'A'
130686 );
130687 --
130688 l_acc_rev_natural_side_code := 'C'; -- 4262811
130689 --
130690 --
130691 -- set accounting line type info
130692 --
130693 xla_ae_lines_pkg.SetAcctLineType
130694 (p_component_type => l_component_type
130695 ,p_event_type_code => l_event_type_code
130696 ,p_line_definition_owner_code => l_line_definition_owner_code
130697 ,p_line_definition_code => l_line_definition_code
130698 ,p_accounting_line_code => l_component_code
130699 ,p_accounting_line_type_code => l_component_type_code
130700 ,p_accounting_line_appl_id => l_component_appl_id
130701 ,p_amb_context_code => l_amb_context_code
130702 ,p_entity_code => l_entity_code
130703 ,p_event_class_code => l_event_class_code);
130704 --
130705 -- set accounting class
130706 --
130707 xla_ae_lines_pkg.SetAcctClass(
130708 p_accounting_class_code => 'TERV'
130709 , p_ae_header_id => l_ae_header_id
130710 );
130711
130712 --
130713 -- set rounding class
130714 --
130715 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
130716 'TERV';
130717
130718 --
130719 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
130720 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
130721 --
130722 -- bulk performance
130723 --
130724 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
130725
130726 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
130727 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
130728
130729 -- 4955764
130730 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
130731 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
130732
130733 -- 4458381 Public Sector Enh
130737 --
130734
130735 --
130736 -- set accounting attributes for the line type
130738 l_entered_amt_idx := 23;
130739 l_accted_amt_idx := 28;
130740 l_bflow_applied_to_amt_idx := NULL; -- 5132302
130741 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
130742 l_rec_acct_attrs.array_char_value(1) := p_source_58;
130743 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
130744 l_rec_acct_attrs.array_num_value(2) :=
130745 xla_ae_sources_pkg.GetSystemSourceNum(
130746 p_source_code => 'XLA_EVENT_APPL_ID'
130747 , p_source_type_code => 'Y'
130748 , p_source_application_id => 602
130749 );
130750 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
130751 l_rec_acct_attrs.array_char_value(3) := p_source_60;
130752 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
130753 l_rec_acct_attrs.array_char_value(4) :=
130754 xla_ae_sources_pkg.GetSystemSourceChar(
130755 p_source_code => 'XLA_ENTITY_CODE'
130756 , p_source_type_code => 'Y'
130757 , p_source_application_id => 602
130758 );
130759 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
130760 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_62);
130761 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
130762 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_63);
130763 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
130764 l_rec_acct_attrs.array_num_value(7) := p_source_96;
130765 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
130766 l_rec_acct_attrs.array_char_value(8) := p_source_97;
130767 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
130768 l_rec_acct_attrs.array_char_value(9) := p_source_98;
130769 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
130770 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_99);
130771 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
130772 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_100);
130773 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
130774 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_69);
130775 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
130776 l_rec_acct_attrs.array_char_value(13) := p_source_60;
130777 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
130778 l_rec_acct_attrs.array_num_value(14) := p_source_70;
130779 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
130780 l_rec_acct_attrs.array_num_value(15) := p_source_71;
130781 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
130782 l_rec_acct_attrs.array_char_value(16) := p_source_72;
130783 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
130784 l_rec_acct_attrs.array_num_value(17) := p_source_73;
130785 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
130786 l_rec_acct_attrs.array_num_value(18) := p_source_74;
130787 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
130788 l_rec_acct_attrs.array_num_value(19) := p_source_75;
130789 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
130790 l_rec_acct_attrs.array_char_value(20) := p_source_72;
130791 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
130792 l_rec_acct_attrs.array_num_value(21) := p_source_76;
130793 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
130794 l_rec_acct_attrs.array_char_value(22) := p_source_77;
130795 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
130796 l_rec_acct_attrs.array_num_value(23) := p_source_78;
130797 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
130798 l_rec_acct_attrs.array_char_value(24) := p_source_72;
130799 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
130800 l_rec_acct_attrs.array_date_value(25) := p_source_146;
130801 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
130802 l_rec_acct_attrs.array_num_value(26) := p_source_147;
130803 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
130804 l_rec_acct_attrs.array_char_value(27) := p_source_148;
130805 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
130806 l_rec_acct_attrs.array_num_value(28) := p_source_16;
130807 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
130808 l_rec_acct_attrs.array_date_value(29) := p_source_82;
130809 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
130810 l_rec_acct_attrs.array_char_value(30) := p_source_83;
130811 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
130812 l_rec_acct_attrs.array_date_value(31) := p_source_84;
130813 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
130814 l_rec_acct_attrs.array_char_value(32) := p_source_85;
130815 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
130816 l_rec_acct_attrs.array_num_value(33) := p_source_86;
130817 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
130818 l_rec_acct_attrs.array_num_value(34) := p_source_87;
130819 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
130820 l_rec_acct_attrs.array_char_value(35) := p_source_88;
130821 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
130822 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_89);
130826 l_rec_acct_attrs.array_num_value(38) := p_source_90;
130823 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
130824 l_rec_acct_attrs.array_char_value(37) := p_source_60;
130825 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
130827 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
130828 l_rec_acct_attrs.array_num_value(39) := p_source_91;
130829 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
130830 l_rec_acct_attrs.array_num_value(40) := p_source_92;
130831 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
130832 l_rec_acct_attrs.array_num_value(41) := p_source_93;
130833 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
130834 l_rec_acct_attrs.array_num_value(42) := p_source_94;
130835 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
130836 l_rec_acct_attrs.array_num_value(43) := p_source_95;
130837
130838 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
130839 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
130840
130841 ---------------------------------------------------------------------------------------------------------------
130842 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
130843 ---------------------------------------------------------------------------------------------------------------
130844 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
130845
130846 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
130847 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
130848
130849 IF xla_accounting_cache_pkg.GetValueChar
130850 (p_source_code => 'LEDGER_CATEGORY_CODE'
130851 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
130852 AND l_bflow_method_code = 'PRIOR_ENTRY'
130853 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
130854 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
130855 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
130856 )
130857 THEN
130858 xla_ae_lines_pkg.BflowUpgEntry
130859 (p_business_method_code => l_bflow_method_code
130860 ,p_business_class_code => l_bflow_class_code
130861 ,p_balance_type => l_balance_type_code);
130862 ELSE
130863 NULL;
130864 -- No business flow processing for business flow method of NONE.
130865 END IF;
130866
130867 --
130868 -- call analytical criteria
130869 --
130870
130871 --
130872 -- call description
130873 --
130874
130875 xla_ae_lines_pkg.SetLineDescription(
130876 p_ae_header_id => l_ae_header_id
130877 ,p_description => Description_2 (
130878 p_application_id => p_application_id
130879 , p_ae_header_id => l_ae_header_id
130880 , p_source_1 => p_source_1
130881 )
130882 );
130883
130884
130885 --
130886 -- call ADRs
130887 -- Bug 4922099
130888 --
130889 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
130890 (NVL(l_actual_upg_option, 'N') = 'O') OR
130891 (NVL(l_enc_upg_option, 'N') = 'O')
130892 )
130893 THEN
130894 NULL;
130895 --
130896 --
130897
130898 l_ccid := AcctDerRule_32(
130899 p_application_id => p_application_id
130900 , p_ae_header_id => l_ae_header_id
130901 , p_source_10 => p_source_10
130902 , p_source_10_meaning => p_source_10_meaning
130903 , p_source_15 => p_source_15
130904 , p_source_16 => p_source_16
130905 , p_source_17 => p_source_17
130906 , p_source_17_meaning => p_source_17_meaning
130907 , p_source_18 => p_source_18
130908 , p_source_25 => p_source_25
130909 , p_source_43 => p_source_43
130910 , p_source_43_meaning => p_source_43_meaning
130911 , x_transaction_coa_id => l_adr_transaction_coa_id
130912 , x_accounting_coa_id => l_adr_accounting_coa_id
130913 , x_value_type_code => l_adr_value_type_code
130914 , p_side => 'NA'
130915 );
130916
130917 xla_ae_lines_pkg.set_ccid(
130918 p_code_combination_id => l_ccid
130919 , p_value_type_code => l_adr_value_type_code
130920 , p_transaction_coa_id => l_adr_transaction_coa_id
130921 , p_accounting_coa_id => l_adr_accounting_coa_id
130922 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
130923 , p_adr_type_code => 'S'
130924 , p_component_type => l_component_type
130925 , p_component_code => l_component_code
130926 , p_component_type_code => l_component_type_code
130927 , p_component_appl_id => l_component_appl_id
130928 , p_amb_context_code => l_amb_context_code
130929 , p_side => 'NA'
130930 );
130931
130932
130933 l_segment := AcctDerRule_8(
130934 p_application_id => p_application_id
130935 , p_ae_header_id => l_ae_header_id
130936 , p_source_10 => p_source_10
130937 , p_source_10_meaning => p_source_10_meaning
130938 , p_source_15 => p_source_15
130939 , p_source_16 => p_source_16
130940 , p_source_17 => p_source_17
130944 , x_accounting_coa_id => l_adr_accounting_coa_id
130941 , p_source_17_meaning => p_source_17_meaning
130942 , p_source_18 => p_source_18
130943 , x_transaction_coa_id => l_adr_transaction_coa_id
130945 , x_flexfield_segment_code => l_adr_flexfield_segment_code
130946 , x_flex_value_set_id => l_adr_flex_value_set_id
130947 , x_value_type_code => l_adr_value_type_code
130948 , x_value_combination_id => l_adr_value_combination_id
130949 , x_value_segment_code => l_adr_value_segment_code
130950 , p_side => 'NA'
130951 , p_override_seg_flag => 'Y'
130952 );
130953
130954 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
130955
130956 xla_ae_lines_pkg.set_segment(
130957 p_to_segment_code => 'GL_ACCOUNT'
130958 , p_segment_value => l_segment
130959 , p_from_segment_code => l_adr_value_segment_code
130960 , p_from_combination_id => l_adr_value_combination_id
130961 , p_value_type_code => l_adr_value_type_code
130962 , p_transaction_coa_id => l_adr_transaction_coa_id
130963 , p_accounting_coa_id => l_adr_accounting_coa_id
130964 , p_flexfield_segment_code => l_adr_flexfield_segment_code
130965 , p_flex_value_set_id => l_adr_flex_value_set_id
130966 , p_adr_code => 'AP_ERV_GAIN_LOSS_NAT_ACCT_SEG'
130967 , p_adr_type_code => 'S'
130968 , p_component_type => l_component_type
130969 , p_component_code => l_component_code
130970 , p_component_type_code => l_component_type_code
130971 , p_component_appl_id => l_component_appl_id
130972 , p_amb_context_code => l_amb_context_code
130973 , p_entity_code => 'AP_INVOICES'
130974 , p_event_class_code => 'CREDIT MEMOS'
130975 , p_side => 'NA'
130976 );
130977
130978 END IF;
130979
130980 l_segment := AcctDerRule_24(
130981 p_application_id => p_application_id
130982 , p_ae_header_id => l_ae_header_id
130983 , p_source_10 => p_source_10
130984 , p_source_10_meaning => p_source_10_meaning
130985 , p_source_17 => p_source_17
130986 , p_source_17_meaning => p_source_17_meaning
130987 , p_source_25 => p_source_25
130988 , x_transaction_coa_id => l_adr_transaction_coa_id
130989 , x_accounting_coa_id => l_adr_accounting_coa_id
130990 , x_flexfield_segment_code => l_adr_flexfield_segment_code
130991 , x_flex_value_set_id => l_adr_flex_value_set_id
130992 , x_value_type_code => l_adr_value_type_code
130993 , x_value_combination_id => l_adr_value_combination_id
130994 , x_value_segment_code => l_adr_value_segment_code
130995 , p_side => 'NA'
130996 , p_override_seg_flag => 'Y'
130997 );
130998
130999 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
131000
131001 xla_ae_lines_pkg.set_segment(
131002 p_to_segment_code => 'GL_BALANCING'
131003 , p_segment_value => l_segment
131004 , p_from_segment_code => l_adr_value_segment_code
131005 , p_from_combination_id => l_adr_value_combination_id
131006 , p_value_type_code => l_adr_value_type_code
131007 , p_transaction_coa_id => l_adr_transaction_coa_id
131008 , p_accounting_coa_id => l_adr_accounting_coa_id
131009 , p_flexfield_segment_code => l_adr_flexfield_segment_code
131010 , p_flex_value_set_id => l_adr_flex_value_set_id
131011 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
131012 , p_adr_type_code => 'S'
131013 , p_component_type => l_component_type
131014 , p_component_code => l_component_code
131015 , p_component_type_code => l_component_type_code
131016 , p_component_appl_id => l_component_appl_id
131017 , p_amb_context_code => l_amb_context_code
131018 , p_entity_code => 'AP_INVOICES'
131019 , p_event_class_code => 'CREDIT MEMOS'
131020 , p_side => 'NA'
131021 );
131022
131023 END IF;
131024
131025 --
131026 --
131027 END IF;
131028 --
131029 -- Bug 4922099
131030 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
131031 (NVL(l_enc_upg_option, 'N') = 'O')
131032 ) AND
131033 (l_bflow_method_code = 'PRIOR_ENTRY')
131034 )
131035 THEN
131036 IF
131037 --
131038 1 = 2
131039 --
131040 THEN
131041 xla_accounting_err_pkg.build_message
131042 (p_appli_s_name => 'XLA'
131043 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
131044 ,p_token_1 => 'LINE_NUMBER'
131045 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
131046 ,p_token_2 => 'LINE_TYPE_NAME'
131047 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
131048 l_component_type
131052 ,l_amb_context_code
131049 ,l_component_code
131050 ,l_component_type_code
131051 ,l_component_appl_id
131053 ,l_entity_code
131054 ,l_event_class_code
131055 )
131056 ,p_token_3 => 'OWNER'
131057 ,p_value_3 => xla_lookups_pkg.get_meaning(
131058 p_lookup_type => 'XLA_OWNER_TYPE'
131059 ,p_lookup_code => l_component_type_code
131060 )
131061 ,p_token_4 => 'PRODUCT_NAME'
131062 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
131063 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
131064 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
131065 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
131066 ,p_ae_header_id => NULL
131067 );
131068
131069 IF (C_LEVEL_ERROR>= g_log_level) THEN
131070 trace
131071 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
131072 ,p_level => C_LEVEL_ERROR
131073 ,p_module => l_log_module);
131074 END IF;
131075 END IF;
131076 END IF;
131077 --
131078 --
131079 ------------------------------------------------------------------------------------------------
131080 -- 4219869 Business Flow
131081 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
131082 -- Prior Entry. Currently, the following code is always generated.
131083 ------------------------------------------------------------------------------------------------
131084 XLA_AE_LINES_PKG.ValidateCurrentLine;
131085
131086 ------------------------------------------------------------------------------------
131087 -- 4219869 Business Flow
131088 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
131089 ------------------------------------------------------------------------------------
131090 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
131091
131092 ----------------------------------------------------------------------------------
131093 -- 4219869 Business Flow
131094 -- Update journal entry status -- Need to generate this within IF <condition>
131095 ----------------------------------------------------------------------------------
131096 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
131097 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
131098 ,p_balance_type_code => l_balance_type_code
131099 );
131100
131101 -------------------------------------------------------------------------------------------
131102 -- 4262811 - Generate the Accrual Reversal lines
131103 -------------------------------------------------------------------------------------------
131104 BEGIN
131105 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
131106 (g_array_event(p_event_id).array_value_num('header_index'));
131107 IF l_acc_rev_flag IS NULL THEN
131108 l_acc_rev_flag := 'N';
131109 END IF;
131110 EXCEPTION
131111 WHEN OTHERS THEN
131112 l_acc_rev_flag := 'N';
131113 END;
131114 --
131115 IF (l_acc_rev_flag = 'Y') THEN
131116
131117 -- 4645092 ------------------------------------------------------------------------------
131118 -- To allow MPA report to determine if it should generate report process
131119 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
131120 ------------------------------------------------------------------------------------------
131121
131122 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
131123 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
131124 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
131125 -- call ADRs
131126 -- Bug 4922099
131127 --
131128 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
131129 (NVL(l_actual_upg_option, 'N') = 'O') OR
131130 (NVL(l_enc_upg_option, 'N') = 'O')
131131 )
131132 THEN
131133 NULL;
131134 --
131135 --
131136
131137 l_ccid := AcctDerRule_32(
131138 p_application_id => p_application_id
131139 , p_ae_header_id => l_ae_header_id
131140 , p_source_10 => p_source_10
131141 , p_source_10_meaning => p_source_10_meaning
131142 , p_source_15 => p_source_15
131143 , p_source_16 => p_source_16
131144 , p_source_17 => p_source_17
131145 , p_source_17_meaning => p_source_17_meaning
131146 , p_source_18 => p_source_18
131150 , x_transaction_coa_id => l_adr_transaction_coa_id
131147 , p_source_25 => p_source_25
131148 , p_source_43 => p_source_43
131149 , p_source_43_meaning => p_source_43_meaning
131151 , x_accounting_coa_id => l_adr_accounting_coa_id
131152 , x_value_type_code => l_adr_value_type_code
131153 , p_side => 'NA'
131154 );
131155
131156 xla_ae_lines_pkg.set_ccid(
131157 p_code_combination_id => l_ccid
131158 , p_value_type_code => l_adr_value_type_code
131159 , p_transaction_coa_id => l_adr_transaction_coa_id
131160 , p_accounting_coa_id => l_adr_accounting_coa_id
131161 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
131162 , p_adr_type_code => 'S'
131163 , p_component_type => l_component_type
131164 , p_component_code => l_component_code
131165 , p_component_type_code => l_component_type_code
131166 , p_component_appl_id => l_component_appl_id
131167 , p_amb_context_code => l_amb_context_code
131168 , p_side => 'NA'
131169 );
131170
131171
131172 l_segment := AcctDerRule_8(
131173 p_application_id => p_application_id
131174 , p_ae_header_id => l_ae_header_id
131175 , p_source_10 => p_source_10
131176 , p_source_10_meaning => p_source_10_meaning
131177 , p_source_15 => p_source_15
131178 , p_source_16 => p_source_16
131179 , p_source_17 => p_source_17
131180 , p_source_17_meaning => p_source_17_meaning
131181 , p_source_18 => p_source_18
131182 , x_transaction_coa_id => l_adr_transaction_coa_id
131183 , x_accounting_coa_id => l_adr_accounting_coa_id
131184 , x_flexfield_segment_code => l_adr_flexfield_segment_code
131185 , x_flex_value_set_id => l_adr_flex_value_set_id
131186 , x_value_type_code => l_adr_value_type_code
131187 , x_value_combination_id => l_adr_value_combination_id
131188 , x_value_segment_code => l_adr_value_segment_code
131189 , p_side => 'NA'
131190 , p_override_seg_flag => 'Y'
131191 );
131192
131193 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
131194
131195 xla_ae_lines_pkg.set_segment(
131196 p_to_segment_code => 'GL_ACCOUNT'
131197 , p_segment_value => l_segment
131198 , p_from_segment_code => l_adr_value_segment_code
131199 , p_from_combination_id => l_adr_value_combination_id
131200 , p_value_type_code => l_adr_value_type_code
131201 , p_transaction_coa_id => l_adr_transaction_coa_id
131202 , p_accounting_coa_id => l_adr_accounting_coa_id
131203 , p_flexfield_segment_code => l_adr_flexfield_segment_code
131204 , p_flex_value_set_id => l_adr_flex_value_set_id
131205 , p_adr_code => 'AP_ERV_GAIN_LOSS_NAT_ACCT_SEG'
131206 , p_adr_type_code => 'S'
131207 , p_component_type => l_component_type
131208 , p_component_code => l_component_code
131209 , p_component_type_code => l_component_type_code
131210 , p_component_appl_id => l_component_appl_id
131211 , p_amb_context_code => l_amb_context_code
131212 , p_entity_code => 'AP_INVOICES'
131213 , p_event_class_code => 'CREDIT MEMOS'
131214 , p_side => 'NA'
131215 );
131216
131217 END IF;
131218
131219 l_segment := AcctDerRule_24(
131220 p_application_id => p_application_id
131221 , p_ae_header_id => l_ae_header_id
131222 , p_source_10 => p_source_10
131223 , p_source_10_meaning => p_source_10_meaning
131224 , p_source_17 => p_source_17
131225 , p_source_17_meaning => p_source_17_meaning
131226 , p_source_25 => p_source_25
131227 , x_transaction_coa_id => l_adr_transaction_coa_id
131228 , x_accounting_coa_id => l_adr_accounting_coa_id
131229 , x_flexfield_segment_code => l_adr_flexfield_segment_code
131230 , x_flex_value_set_id => l_adr_flex_value_set_id
131231 , x_value_type_code => l_adr_value_type_code
131232 , x_value_combination_id => l_adr_value_combination_id
131233 , x_value_segment_code => l_adr_value_segment_code
131234 , p_side => 'NA'
131235 , p_override_seg_flag => 'Y'
131236 );
131237
131238 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
131239
131240 xla_ae_lines_pkg.set_segment(
131241 p_to_segment_code => 'GL_BALANCING'
131242 , p_segment_value => l_segment
131243 , p_from_segment_code => l_adr_value_segment_code
131244 , p_from_combination_id => l_adr_value_combination_id
131245 , p_value_type_code => l_adr_value_type_code
131246 , p_transaction_coa_id => l_adr_transaction_coa_id
131247 , p_accounting_coa_id => l_adr_accounting_coa_id
131248 , p_flexfield_segment_code => l_adr_flexfield_segment_code
131249 , p_flex_value_set_id => l_adr_flex_value_set_id
131250 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
131251 , p_adr_type_code => 'S'
131255 , p_component_appl_id => l_component_appl_id
131252 , p_component_type => l_component_type
131253 , p_component_code => l_component_code
131254 , p_component_type_code => l_component_type_code
131256 , p_amb_context_code => l_amb_context_code
131257 , p_entity_code => 'AP_INVOICES'
131258 , p_event_class_code => 'CREDIT MEMOS'
131259 , p_side => 'NA'
131260 );
131261
131262 END IF;
131263
131264 --
131265 --
131266 END IF;
131267
131268 --
131269 -- Update the line information that should be overwritten
131270 --
131271 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
131272 p_header_num => 1);
131273 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
131274
131275 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
131276
131277 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
131278 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
131279 END IF;
131280
131281 --
131282 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
131283 --
131284 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
131285 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
131286 ELSE
131287 ---------------------------------------------------------------------------------------------------
131288 -- 4262811a Switch Sign
131289 ---------------------------------------------------------------------------------------------------
131290 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
131291 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
131292 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
131293 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
131294 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
131295 -- 5132302
131296 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
131297 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
131298
131299 END IF;
131300
131301 -- 4955764
131302 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
131303 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
131304
131305
131306 XLA_AE_LINES_PKG.ValidateCurrentLine;
131307 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
131308
131309 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
131310 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
131311 ,p_balance_type_code => l_balance_type_code);
131312
131313 END IF;
131314
131315 -----------------------------------------------------------------------------------------
131316 -- 4262811 Multiperiod Accounting
131317 -----------------------------------------------------------------------------------------
131318 -- No MPA option is assigned.
131319
131320
131321 END IF;
131322 END IF;
131323 --
131324
131325 --
131326 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
131327 trace
131328 (p_msg => 'END of AcctLineType_221'
131329 ,p_level => C_LEVEL_PROCEDURE
131330 ,p_module => l_log_module);
131331 END IF;
131332 --
131333 EXCEPTION
131334 WHEN xla_exceptions_pkg.application_exception THEN
131335 RAISE;
131336 WHEN OTHERS THEN
131337 xla_exceptions_pkg.raise_message
131338 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_221');
131339 END AcctLineType_221;
131340 --
131341
131342 ---------------------------------------
131343 --
131344 -- PRIVATE FUNCTION
131345 -- AcctLineType_222
131346 --
131347 ---------------------------------------
131348 PROCEDURE AcctLineType_222 (
131349 p_application_id IN NUMBER
131350 ,p_event_id IN NUMBER
131351 ,p_calculate_acctd_flag IN VARCHAR2
131352 ,p_calculate_g_l_flag IN VARCHAR2
131353 ,p_actual_flag IN OUT VARCHAR2
131354 ,p_balance_type_code OUT VARCHAR2
131355 ,p_gain_or_loss_ref OUT VARCHAR2
131356
131357 --Invoice Distribution Description
131358 , p_source_1 IN VARCHAR2
131359 --Automatic Offsets Value
131360 , p_source_10 IN VARCHAR2
131361 , p_source_10_meaning IN VARCHAR2
131362 --Purchase Order Rate Variance Gain Account
131363 , p_source_15 IN NUMBER
131364 --Invoice Distribution Ledger Amount
131365 , p_source_16 IN NUMBER
131366 --Destination Type of the PO Distribution
131367 , p_source_17 IN VARCHAR2
131368 , p_source_17_meaning IN VARCHAR2
131369 --Purchase Order Rate Variance Loss Account
131370 , p_source_18 IN NUMBER
131371 --Invoice Distribution Account
131372 , p_source_25 IN NUMBER
131373 --Invoice Distribution Type
131377 , p_source_43 IN VARCHAR2
131374 , p_source_28 IN VARCHAR2
131375 , p_source_28_meaning IN VARCHAR2
131376 --Automatic Offsets Flag
131378 , p_source_43_meaning IN VARCHAR2
131379 --Accrue on Receipt Option
131380 , p_source_54 IN VARCHAR2
131381 , p_source_54_meaning IN VARCHAR2
131382 --Accounting Reversal Indicator
131383 , p_source_58 IN VARCHAR2
131384 --Distribution Link Type
131385 , p_source_60 IN VARCHAR2
131386 --Allocation to Main Distribution Identifier
131387 , p_source_62 IN NUMBER
131388 --Invoice Identifier
131389 , p_source_63 IN NUMBER
131390 --Invoice Distribution Identifier
131391 , p_source_69 IN NUMBER
131392 --Payables Encumbrance Upgrade Credit Account
131393 , p_source_70 IN NUMBER
131394 --Payables Encumbrance Upgrade Credit Amount
131395 , p_source_71 IN NUMBER
131396 --Invoice Currency Code
131397 , p_source_72 IN VARCHAR2
131398 --Payables Encumbrance Upgrade Credit Base Amount
131399 , p_source_73 IN NUMBER
131400 --Payables Encumbrance Upgrade Debit Account
131401 , p_source_74 IN NUMBER
131402 --Payables Encumbrance Upgrade Debit Amount
131403 , p_source_75 IN NUMBER
131404 --Payables Encumbrance Upgrade Debit Base Amount
131405 , p_source_76 IN NUMBER
131406 --Payables Encumbrance Upgrade Option
131407 , p_source_77 IN VARCHAR2
131408 --Invoice Distribution Amount
131409 , p_source_78 IN NUMBER
131410 --Deferred Accounting End Date
131411 , p_source_82 IN DATE
131412 --Deferred Accounting Option
131413 , p_source_83 IN VARCHAR2
131414 --Deferred Accounting Start Date
131415 , p_source_84 IN DATE
131416 --Override Accounted Amount Indicator
131417 , p_source_85 IN VARCHAR2
131418 , p_source_85_meaning IN VARCHAR2
131419 --Invoice Supplier Identifier
131420 , p_source_86 IN NUMBER
131421 --Invoice Supplier Site Identifier
131422 , p_source_87 IN NUMBER
131423 --Third Party Type
131424 , p_source_88 IN VARCHAR2
131425 --Parent Reversal Identifier
131426 , p_source_89 IN NUMBER
131427 --Invoice Distribution Tax Line Identifier
131428 , p_source_91 IN NUMBER
131429 --Invoice Distribution Tax Distribution Identifier from Tax
131430 , p_source_92 IN NUMBER
131431 --Invoice Distribution Summary Tax Line Identifier
131432 , p_source_93 IN NUMBER
131433 --Payables Upgrade Credit Encumbrance Type Identifier
131434 , p_source_94 IN NUMBER
131435 --Payables Upgrade Debit Encumbrance Type Identifier
131436 , p_source_95 IN NUMBER
131437 --Business Flow Accounts Payable Application Identifier
131438 , p_source_96 IN NUMBER
131439 --Business Flow Invoice Distribution Type
131440 , p_source_97 IN VARCHAR2
131441 --Business Flow Invoice Entity Code
131442 , p_source_98 IN VARCHAR2
131443 --Business Flow Invoice Distribution Identifier
131444 , p_source_99 IN NUMBER
131445 --Business Flow Invoice Identifier
131446 , p_source_100 IN NUMBER
131447 --Invoice Exchange Date
131448 , p_source_146 IN DATE
131449 --Invoice Exchange Rate
131450 , p_source_147 IN NUMBER
131451 --Invoice Exchange Rate Type
131452 , p_source_148 IN VARCHAR2
131453 )
131454 IS
131455
131456 l_component_type VARCHAR2(80);
131457 l_component_code VARCHAR2(30);
131458 l_component_type_code VARCHAR2(1);
131459 l_component_appl_id INTEGER;
131460 l_amb_context_code VARCHAR2(30);
131461 l_entity_code VARCHAR2(30);
131462 l_event_class_code VARCHAR2(30);
131463 l_ae_header_id NUMBER;
131464 l_event_type_code VARCHAR2(30);
131465 l_line_definition_code VARCHAR2(30);
131466 l_line_definition_owner_code VARCHAR2(1);
131467 --
131468 -- adr variables
131469 l_segment VARCHAR2(30);
131470 l_ccid NUMBER;
131471 l_adr_transaction_coa_id NUMBER;
131472 l_adr_accounting_coa_id NUMBER;
131473 l_adr_flexfield_segment_code VARCHAR2(30);
131474 l_adr_flex_value_set_id NUMBER;
131475 l_adr_value_type_code VARCHAR2(30);
131476 l_adr_value_combination_id NUMBER;
131477 l_adr_value_segment_code VARCHAR2(30);
131478
131479 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
131480 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
131481 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
131482 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
131483
131484 -- 4262811 Variables ------------------------------------------------------------------------------------------
131485 l_entered_amt_idx NUMBER;
131486 l_accted_amt_idx NUMBER;
131487 l_acc_rev_flag VARCHAR2(1);
131488 l_accrual_line_num NUMBER;
131489 l_tmp_amt NUMBER;
131490 l_acc_rev_natural_side_code VARCHAR2(1);
131491
131492 l_num_entries NUMBER;
131493 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
131494 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
131495 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
131496 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
131497 l_recog_line_1 NUMBER;
131501 l_bflow_applied_to_amt NUMBER; -- 5132302
131498 l_recog_line_2 NUMBER;
131499
131500 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
131502 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
131503
131504 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
131505
131506 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
131507 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
131508
131509 ---------------------------------------------------------------------------------------------------------------
131510
131511
131512 --
131513 -- bulk performance
131514 --
131515 l_balance_type_code VARCHAR2(1);
131516 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
131517 l_log_module VARCHAR2(240);
131518
131519 --
131520 -- Upgrade strategy
131521 --
131522 l_actual_upg_option VARCHAR2(1);
131523 l_enc_upg_option VARCHAR2(1);
131524
131525 --
131526 BEGIN
131527 --
131528 IF g_log_enabled THEN
131529 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_222';
131530 END IF;
131531 --
131532 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
131533
131534 trace
131535 (p_msg => 'BEGIN of AcctLineType_222'
131536 ,p_level => C_LEVEL_PROCEDURE
131537 ,p_module => l_log_module);
131538
131539 END IF;
131540 --
131541 l_component_type := 'AMB_JLT';
131542 l_component_code := 'AP_TAX_EX_RATE_VAR_DM';
131543 l_component_type_code := 'S';
131544 l_component_appl_id := 200;
131545 l_amb_context_code := 'DEFAULT';
131546 l_entity_code := 'AP_INVOICES';
131547 l_event_class_code := 'DEBIT MEMOS';
131548 l_event_type_code := 'DEBIT MEMOS_ALL';
131549 l_line_definition_owner_code := 'S';
131550 l_line_definition_code := 'ACCRUAL_DEBIT MEMOS_ALL';
131551 --
131552 l_balance_type_code := 'A';
131553 l_segment := NULL;
131554 l_ccid := NULL;
131555 l_adr_transaction_coa_id := NULL;
131556 l_adr_accounting_coa_id := NULL;
131557 l_adr_flexfield_segment_code := NULL;
131558 l_adr_flex_value_set_id := NULL;
131559 l_adr_value_type_code := NULL;
131560 l_adr_value_combination_id := NULL;
131561 l_adr_value_segment_code := NULL;
131562
131563 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
131564 l_bflow_class_code := ''; -- 4219869 Business Flow
131565 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
131566 l_budgetary_control_flag := 'N';
131567
131568 l_bflow_applied_to_amt_idx := NULL; -- 5132302
131569 l_bflow_applied_to_amt := NULL; -- 5132302
131570 l_entered_amt_idx := NULL; -- 4262811
131571 l_accted_amt_idx := NULL; -- 4262811
131572 l_acc_rev_flag := NULL; -- 4262811
131573 l_accrual_line_num := NULL; -- 4262811
131574 l_tmp_amt := NULL; -- 4262811
131575 --
131576 IF ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
131577 (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
131578 return;
131579 END IF;
131580
131581 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
131582 l_balance_type_code <> 'B' THEN
131583 IF NVL(p_source_28,'
131584 ') = 'TERV' AND
131585 NVL(p_source_54,'
131586 ') = 'Y'
131587 THEN
131588
131589 --
131590 XLA_AE_LINES_PKG.SetNewLine;
131591
131592 p_balance_type_code := l_balance_type_code;
131593 -- set the flag so later we will know whether the gain loss line needs to be created
131594
131595 IF(l_balance_type_code = 'A' ) THEN
131596 p_actual_flag :='G';
131597 END IF;
131598
131599 --
131600 -- bulk performance
131601 --
131602 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
131603 p_header_num => 0); -- 4262811
131604 --
131605 -- set accounting line options
131606 --
131607 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
131608 p_natural_side_code => 'D'
131609 , p_gain_or_loss_flag => 'Y'
131610 , p_gl_transfer_mode_code => 'S'
131611 , p_acct_entry_type_code => 'A'
131612 , p_switch_side_flag => 'Y'
131613 , p_merge_duplicate_code => 'A'
131614 );
131615 --
131616 l_acc_rev_natural_side_code := 'C'; -- 4262811
131617 --
131618 --
131619 -- set accounting line type info
131620 --
131621 xla_ae_lines_pkg.SetAcctLineType
131622 (p_component_type => l_component_type
131623 ,p_event_type_code => l_event_type_code
131624 ,p_line_definition_owner_code => l_line_definition_owner_code
131625 ,p_line_definition_code => l_line_definition_code
131626 ,p_accounting_line_code => l_component_code
131627 ,p_accounting_line_type_code => l_component_type_code
131631 ,p_event_class_code => l_event_class_code);
131628 ,p_accounting_line_appl_id => l_component_appl_id
131629 ,p_amb_context_code => l_amb_context_code
131630 ,p_entity_code => l_entity_code
131632 --
131633 -- set accounting class
131634 --
131635 xla_ae_lines_pkg.SetAcctClass(
131636 p_accounting_class_code => 'TERV'
131637 , p_ae_header_id => l_ae_header_id
131638 );
131639
131640 --
131641 -- set rounding class
131642 --
131643 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
131644 'TERV';
131645
131646 --
131647 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
131648 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
131649 --
131650 -- bulk performance
131651 --
131652 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
131653
131654 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
131655 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
131656
131657 -- 4955764
131658 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
131659 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
131660
131661 -- 4458381 Public Sector Enh
131662
131663 --
131664 -- set accounting attributes for the line type
131665 --
131666 l_entered_amt_idx := 23;
131667 l_accted_amt_idx := 28;
131668 l_bflow_applied_to_amt_idx := NULL; -- 5132302
131669 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
131670 l_rec_acct_attrs.array_char_value(1) := p_source_58;
131671 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
131672 l_rec_acct_attrs.array_num_value(2) :=
131673 xla_ae_sources_pkg.GetSystemSourceNum(
131674 p_source_code => 'XLA_EVENT_APPL_ID'
131675 , p_source_type_code => 'Y'
131676 , p_source_application_id => 602
131677 );
131678 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
131679 l_rec_acct_attrs.array_char_value(3) := p_source_60;
131680 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
131681 l_rec_acct_attrs.array_char_value(4) :=
131682 xla_ae_sources_pkg.GetSystemSourceChar(
131683 p_source_code => 'XLA_ENTITY_CODE'
131684 , p_source_type_code => 'Y'
131685 , p_source_application_id => 602
131686 );
131687 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
131688 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_62);
131689 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
131690 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_63);
131691 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
131692 l_rec_acct_attrs.array_num_value(7) := p_source_96;
131693 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
131694 l_rec_acct_attrs.array_char_value(8) := p_source_97;
131695 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
131696 l_rec_acct_attrs.array_char_value(9) := p_source_98;
131697 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
131698 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_99);
131699 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
131700 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_100);
131701 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
131702 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_69);
131703 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
131704 l_rec_acct_attrs.array_char_value(13) := p_source_60;
131705 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
131706 l_rec_acct_attrs.array_num_value(14) := p_source_70;
131707 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
131708 l_rec_acct_attrs.array_num_value(15) := p_source_71;
131709 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
131710 l_rec_acct_attrs.array_char_value(16) := p_source_72;
131711 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
131712 l_rec_acct_attrs.array_num_value(17) := p_source_73;
131713 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
131714 l_rec_acct_attrs.array_num_value(18) := p_source_74;
131715 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
131716 l_rec_acct_attrs.array_num_value(19) := p_source_75;
131717 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
131718 l_rec_acct_attrs.array_char_value(20) := p_source_72;
131719 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
131720 l_rec_acct_attrs.array_num_value(21) := p_source_76;
131721 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
131722 l_rec_acct_attrs.array_char_value(22) := p_source_77;
131723 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
131724 l_rec_acct_attrs.array_num_value(23) := p_source_78;
131725 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
131726 l_rec_acct_attrs.array_char_value(24) := p_source_72;
131727 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
131731 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
131728 l_rec_acct_attrs.array_date_value(25) := p_source_146;
131729 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
131730 l_rec_acct_attrs.array_num_value(26) := p_source_147;
131732 l_rec_acct_attrs.array_char_value(27) := p_source_148;
131733 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
131734 l_rec_acct_attrs.array_num_value(28) := p_source_16;
131735 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
131736 l_rec_acct_attrs.array_date_value(29) := p_source_82;
131737 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
131738 l_rec_acct_attrs.array_char_value(30) := p_source_83;
131739 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
131740 l_rec_acct_attrs.array_date_value(31) := p_source_84;
131741 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
131742 l_rec_acct_attrs.array_char_value(32) := p_source_85;
131743 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
131744 l_rec_acct_attrs.array_num_value(33) := p_source_86;
131745 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
131746 l_rec_acct_attrs.array_num_value(34) := p_source_87;
131747 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
131748 l_rec_acct_attrs.array_char_value(35) := p_source_88;
131749 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
131750 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_89);
131751 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
131752 l_rec_acct_attrs.array_char_value(37) := p_source_60;
131753 l_rec_acct_attrs.array_acct_attr_code(38) := 'TAX_LINE_REF_ID';
131754 l_rec_acct_attrs.array_num_value(38) := p_source_91;
131755 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_REC_NREC_DIST_REF_ID';
131756 l_rec_acct_attrs.array_num_value(39) := p_source_92;
131757 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_SUMMARY_LINE_REF_ID';
131758 l_rec_acct_attrs.array_num_value(40) := p_source_93;
131759 l_rec_acct_attrs.array_acct_attr_code(41) := 'UPG_CR_ENC_TYPE_ID';
131760 l_rec_acct_attrs.array_num_value(41) := p_source_94;
131761 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_DR_ENC_TYPE_ID';
131762 l_rec_acct_attrs.array_num_value(42) := p_source_95;
131763
131764 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
131765 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
131766
131767 ---------------------------------------------------------------------------------------------------------------
131768 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
131769 ---------------------------------------------------------------------------------------------------------------
131770 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
131771
131772 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
131773 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
131774
131775 IF xla_accounting_cache_pkg.GetValueChar
131776 (p_source_code => 'LEDGER_CATEGORY_CODE'
131777 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
131778 AND l_bflow_method_code = 'PRIOR_ENTRY'
131779 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
131780 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
131781 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
131782 )
131783 THEN
131784 xla_ae_lines_pkg.BflowUpgEntry
131785 (p_business_method_code => l_bflow_method_code
131786 ,p_business_class_code => l_bflow_class_code
131787 ,p_balance_type => l_balance_type_code);
131788 ELSE
131789 NULL;
131790 -- No business flow processing for business flow method of NONE.
131791 END IF;
131792
131793 --
131794 -- call analytical criteria
131795 --
131796
131797 --
131798 -- call description
131799 --
131800
131801 xla_ae_lines_pkg.SetLineDescription(
131802 p_ae_header_id => l_ae_header_id
131803 ,p_description => Description_2 (
131804 p_application_id => p_application_id
131805 , p_ae_header_id => l_ae_header_id
131806 , p_source_1 => p_source_1
131807 )
131808 );
131809
131810
131811 --
131812 -- call ADRs
131813 -- Bug 4922099
131814 --
131815 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
131816 (NVL(l_actual_upg_option, 'N') = 'O') OR
131817 (NVL(l_enc_upg_option, 'N') = 'O')
131818 )
131819 THEN
131820 NULL;
131821 --
131822 --
131823
131824 l_ccid := AcctDerRule_32(
131825 p_application_id => p_application_id
131826 , p_ae_header_id => l_ae_header_id
131827 , p_source_10 => p_source_10
131828 , p_source_10_meaning => p_source_10_meaning
131829 , p_source_15 => p_source_15
131830 , p_source_16 => p_source_16
131831 , p_source_17 => p_source_17
131832 , p_source_17_meaning => p_source_17_meaning
131833 , p_source_18 => p_source_18
131834 , p_source_25 => p_source_25
131835 , p_source_43 => p_source_43
131836 , p_source_43_meaning => p_source_43_meaning
131837 , x_transaction_coa_id => l_adr_transaction_coa_id
131841 );
131838 , x_accounting_coa_id => l_adr_accounting_coa_id
131839 , x_value_type_code => l_adr_value_type_code
131840 , p_side => 'NA'
131842
131843 xla_ae_lines_pkg.set_ccid(
131844 p_code_combination_id => l_ccid
131845 , p_value_type_code => l_adr_value_type_code
131846 , p_transaction_coa_id => l_adr_transaction_coa_id
131847 , p_accounting_coa_id => l_adr_accounting_coa_id
131848 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
131849 , p_adr_type_code => 'S'
131850 , p_component_type => l_component_type
131851 , p_component_code => l_component_code
131852 , p_component_type_code => l_component_type_code
131853 , p_component_appl_id => l_component_appl_id
131854 , p_amb_context_code => l_amb_context_code
131855 , p_side => 'NA'
131856 );
131857
131858
131859 l_segment := AcctDerRule_8(
131860 p_application_id => p_application_id
131861 , p_ae_header_id => l_ae_header_id
131862 , p_source_10 => p_source_10
131863 , p_source_10_meaning => p_source_10_meaning
131864 , p_source_15 => p_source_15
131865 , p_source_16 => p_source_16
131866 , p_source_17 => p_source_17
131867 , p_source_17_meaning => p_source_17_meaning
131868 , p_source_18 => p_source_18
131869 , x_transaction_coa_id => l_adr_transaction_coa_id
131870 , x_accounting_coa_id => l_adr_accounting_coa_id
131871 , x_flexfield_segment_code => l_adr_flexfield_segment_code
131872 , x_flex_value_set_id => l_adr_flex_value_set_id
131873 , x_value_type_code => l_adr_value_type_code
131874 , x_value_combination_id => l_adr_value_combination_id
131875 , x_value_segment_code => l_adr_value_segment_code
131876 , p_side => 'NA'
131877 , p_override_seg_flag => 'Y'
131878 );
131879
131880 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
131881
131882 xla_ae_lines_pkg.set_segment(
131883 p_to_segment_code => 'GL_ACCOUNT'
131884 , p_segment_value => l_segment
131885 , p_from_segment_code => l_adr_value_segment_code
131886 , p_from_combination_id => l_adr_value_combination_id
131887 , p_value_type_code => l_adr_value_type_code
131888 , p_transaction_coa_id => l_adr_transaction_coa_id
131889 , p_accounting_coa_id => l_adr_accounting_coa_id
131890 , p_flexfield_segment_code => l_adr_flexfield_segment_code
131891 , p_flex_value_set_id => l_adr_flex_value_set_id
131892 , p_adr_code => 'AP_ERV_GAIN_LOSS_NAT_ACCT_SEG'
131893 , p_adr_type_code => 'S'
131894 , p_component_type => l_component_type
131895 , p_component_code => l_component_code
131896 , p_component_type_code => l_component_type_code
131897 , p_component_appl_id => l_component_appl_id
131898 , p_amb_context_code => l_amb_context_code
131899 , p_entity_code => 'AP_INVOICES'
131900 , p_event_class_code => 'DEBIT MEMOS'
131901 , p_side => 'NA'
131902 );
131903
131904 END IF;
131905
131906 l_segment := AcctDerRule_24(
131907 p_application_id => p_application_id
131908 , p_ae_header_id => l_ae_header_id
131909 , p_source_10 => p_source_10
131910 , p_source_10_meaning => p_source_10_meaning
131911 , p_source_17 => p_source_17
131912 , p_source_17_meaning => p_source_17_meaning
131913 , p_source_25 => p_source_25
131914 , x_transaction_coa_id => l_adr_transaction_coa_id
131915 , x_accounting_coa_id => l_adr_accounting_coa_id
131916 , x_flexfield_segment_code => l_adr_flexfield_segment_code
131917 , x_flex_value_set_id => l_adr_flex_value_set_id
131918 , x_value_type_code => l_adr_value_type_code
131919 , x_value_combination_id => l_adr_value_combination_id
131920 , x_value_segment_code => l_adr_value_segment_code
131921 , p_side => 'NA'
131922 , p_override_seg_flag => 'Y'
131923 );
131924
131925 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
131926
131927 xla_ae_lines_pkg.set_segment(
131928 p_to_segment_code => 'GL_BALANCING'
131929 , p_segment_value => l_segment
131930 , p_from_segment_code => l_adr_value_segment_code
131931 , p_from_combination_id => l_adr_value_combination_id
131932 , p_value_type_code => l_adr_value_type_code
131933 , p_transaction_coa_id => l_adr_transaction_coa_id
131934 , p_accounting_coa_id => l_adr_accounting_coa_id
131935 , p_flexfield_segment_code => l_adr_flexfield_segment_code
131936 , p_flex_value_set_id => l_adr_flex_value_set_id
131937 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
131938 , p_adr_type_code => 'S'
131939 , p_component_type => l_component_type
131940 , p_component_code => l_component_code
131941 , p_component_type_code => l_component_type_code
131942 , p_component_appl_id => l_component_appl_id
131946 , p_side => 'NA'
131943 , p_amb_context_code => l_amb_context_code
131944 , p_entity_code => 'AP_INVOICES'
131945 , p_event_class_code => 'DEBIT MEMOS'
131947 );
131948
131949 END IF;
131950
131951 --
131952 --
131953 END IF;
131954 --
131955 -- Bug 4922099
131956 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
131957 (NVL(l_enc_upg_option, 'N') = 'O')
131958 ) AND
131959 (l_bflow_method_code = 'PRIOR_ENTRY')
131960 )
131961 THEN
131962 IF
131963 --
131964 1 = 2
131965 --
131966 THEN
131967 xla_accounting_err_pkg.build_message
131968 (p_appli_s_name => 'XLA'
131969 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
131970 ,p_token_1 => 'LINE_NUMBER'
131971 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
131972 ,p_token_2 => 'LINE_TYPE_NAME'
131973 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
131974 l_component_type
131975 ,l_component_code
131976 ,l_component_type_code
131977 ,l_component_appl_id
131978 ,l_amb_context_code
131979 ,l_entity_code
131980 ,l_event_class_code
131981 )
131982 ,p_token_3 => 'OWNER'
131983 ,p_value_3 => xla_lookups_pkg.get_meaning(
131984 p_lookup_type => 'XLA_OWNER_TYPE'
131985 ,p_lookup_code => l_component_type_code
131986 )
131987 ,p_token_4 => 'PRODUCT_NAME'
131988 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
131989 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
131990 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
131991 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
131992 ,p_ae_header_id => NULL
131993 );
131994
131995 IF (C_LEVEL_ERROR>= g_log_level) THEN
131996 trace
131997 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
131998 ,p_level => C_LEVEL_ERROR
131999 ,p_module => l_log_module);
132000 END IF;
132001 END IF;
132002 END IF;
132003 --
132004 --
132005 ------------------------------------------------------------------------------------------------
132006 -- 4219869 Business Flow
132007 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
132008 -- Prior Entry. Currently, the following code is always generated.
132009 ------------------------------------------------------------------------------------------------
132010 XLA_AE_LINES_PKG.ValidateCurrentLine;
132011
132012 ------------------------------------------------------------------------------------
132013 -- 4219869 Business Flow
132014 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
132015 ------------------------------------------------------------------------------------
132016 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
132017
132018 ----------------------------------------------------------------------------------
132019 -- 4219869 Business Flow
132020 -- Update journal entry status -- Need to generate this within IF <condition>
132021 ----------------------------------------------------------------------------------
132022 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
132023 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
132024 ,p_balance_type_code => l_balance_type_code
132025 );
132026
132027 -------------------------------------------------------------------------------------------
132028 -- 4262811 - Generate the Accrual Reversal lines
132029 -------------------------------------------------------------------------------------------
132030 BEGIN
132031 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
132032 (g_array_event(p_event_id).array_value_num('header_index'));
132033 IF l_acc_rev_flag IS NULL THEN
132034 l_acc_rev_flag := 'N';
132035 END IF;
132036 EXCEPTION
132037 WHEN OTHERS THEN
132038 l_acc_rev_flag := 'N';
132039 END;
132040 --
132044 -- To allow MPA report to determine if it should generate report process
132041 IF (l_acc_rev_flag = 'Y') THEN
132042
132043 -- 4645092 ------------------------------------------------------------------------------
132045 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
132046 ------------------------------------------------------------------------------------------
132047
132048 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
132049 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
132050 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
132051 -- call ADRs
132052 -- Bug 4922099
132053 --
132054 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
132055 (NVL(l_actual_upg_option, 'N') = 'O') OR
132056 (NVL(l_enc_upg_option, 'N') = 'O')
132057 )
132058 THEN
132059 NULL;
132060 --
132061 --
132062
132063 l_ccid := AcctDerRule_32(
132064 p_application_id => p_application_id
132065 , p_ae_header_id => l_ae_header_id
132066 , p_source_10 => p_source_10
132067 , p_source_10_meaning => p_source_10_meaning
132068 , p_source_15 => p_source_15
132069 , p_source_16 => p_source_16
132070 , p_source_17 => p_source_17
132071 , p_source_17_meaning => p_source_17_meaning
132072 , p_source_18 => p_source_18
132073 , p_source_25 => p_source_25
132074 , p_source_43 => p_source_43
132075 , p_source_43_meaning => p_source_43_meaning
132076 , x_transaction_coa_id => l_adr_transaction_coa_id
132077 , x_accounting_coa_id => l_adr_accounting_coa_id
132078 , x_value_type_code => l_adr_value_type_code
132079 , p_side => 'NA'
132080 );
132081
132082 xla_ae_lines_pkg.set_ccid(
132083 p_code_combination_id => l_ccid
132084 , p_value_type_code => l_adr_value_type_code
132085 , p_transaction_coa_id => l_adr_transaction_coa_id
132086 , p_accounting_coa_id => l_adr_accounting_coa_id
132087 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
132088 , p_adr_type_code => 'S'
132089 , p_component_type => l_component_type
132090 , p_component_code => l_component_code
132091 , p_component_type_code => l_component_type_code
132092 , p_component_appl_id => l_component_appl_id
132093 , p_amb_context_code => l_amb_context_code
132094 , p_side => 'NA'
132095 );
132096
132097
132098 l_segment := AcctDerRule_8(
132099 p_application_id => p_application_id
132100 , p_ae_header_id => l_ae_header_id
132101 , p_source_10 => p_source_10
132102 , p_source_10_meaning => p_source_10_meaning
132103 , p_source_15 => p_source_15
132104 , p_source_16 => p_source_16
132105 , p_source_17 => p_source_17
132106 , p_source_17_meaning => p_source_17_meaning
132107 , p_source_18 => p_source_18
132108 , x_transaction_coa_id => l_adr_transaction_coa_id
132109 , x_accounting_coa_id => l_adr_accounting_coa_id
132110 , x_flexfield_segment_code => l_adr_flexfield_segment_code
132111 , x_flex_value_set_id => l_adr_flex_value_set_id
132112 , x_value_type_code => l_adr_value_type_code
132113 , x_value_combination_id => l_adr_value_combination_id
132114 , x_value_segment_code => l_adr_value_segment_code
132115 , p_side => 'NA'
132116 , p_override_seg_flag => 'Y'
132117 );
132118
132119 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
132120
132121 xla_ae_lines_pkg.set_segment(
132122 p_to_segment_code => 'GL_ACCOUNT'
132123 , p_segment_value => l_segment
132124 , p_from_segment_code => l_adr_value_segment_code
132125 , p_from_combination_id => l_adr_value_combination_id
132126 , p_value_type_code => l_adr_value_type_code
132127 , p_transaction_coa_id => l_adr_transaction_coa_id
132128 , p_accounting_coa_id => l_adr_accounting_coa_id
132129 , p_flexfield_segment_code => l_adr_flexfield_segment_code
132130 , p_flex_value_set_id => l_adr_flex_value_set_id
132131 , p_adr_code => 'AP_ERV_GAIN_LOSS_NAT_ACCT_SEG'
132132 , p_adr_type_code => 'S'
132133 , p_component_type => l_component_type
132134 , p_component_code => l_component_code
132135 , p_component_type_code => l_component_type_code
132136 , p_component_appl_id => l_component_appl_id
132137 , p_amb_context_code => l_amb_context_code
132138 , p_entity_code => 'AP_INVOICES'
132139 , p_event_class_code => 'DEBIT MEMOS'
132140 , p_side => 'NA'
132141 );
132142
132143 END IF;
132144
132145 l_segment := AcctDerRule_24(
132146 p_application_id => p_application_id
132147 , p_ae_header_id => l_ae_header_id
132148 , p_source_10 => p_source_10
132149 , p_source_10_meaning => p_source_10_meaning
132150 , p_source_17 => p_source_17
132151 , p_source_17_meaning => p_source_17_meaning
132152 , p_source_25 => p_source_25
132153 , x_transaction_coa_id => l_adr_transaction_coa_id
132154 , x_accounting_coa_id => l_adr_accounting_coa_id
132158 , x_value_combination_id => l_adr_value_combination_id
132155 , x_flexfield_segment_code => l_adr_flexfield_segment_code
132156 , x_flex_value_set_id => l_adr_flex_value_set_id
132157 , x_value_type_code => l_adr_value_type_code
132159 , x_value_segment_code => l_adr_value_segment_code
132160 , p_side => 'NA'
132161 , p_override_seg_flag => 'Y'
132162 );
132163
132164 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
132165
132166 xla_ae_lines_pkg.set_segment(
132167 p_to_segment_code => 'GL_BALANCING'
132168 , p_segment_value => l_segment
132169 , p_from_segment_code => l_adr_value_segment_code
132170 , p_from_combination_id => l_adr_value_combination_id
132171 , p_value_type_code => l_adr_value_type_code
132172 , p_transaction_coa_id => l_adr_transaction_coa_id
132173 , p_accounting_coa_id => l_adr_accounting_coa_id
132174 , p_flexfield_segment_code => l_adr_flexfield_segment_code
132175 , p_flex_value_set_id => l_adr_flex_value_set_id
132176 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
132177 , p_adr_type_code => 'S'
132178 , p_component_type => l_component_type
132179 , p_component_code => l_component_code
132180 , p_component_type_code => l_component_type_code
132181 , p_component_appl_id => l_component_appl_id
132182 , p_amb_context_code => l_amb_context_code
132183 , p_entity_code => 'AP_INVOICES'
132184 , p_event_class_code => 'DEBIT MEMOS'
132185 , p_side => 'NA'
132186 );
132187
132188 END IF;
132189
132190 --
132191 --
132192 END IF;
132193
132194 --
132195 -- Update the line information that should be overwritten
132196 --
132197 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
132198 p_header_num => 1);
132199 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
132200
132201 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
132202
132203 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
132204 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
132205 END IF;
132206
132207 --
132208 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
132209 --
132210 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
132211 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
132212 ELSE
132213 ---------------------------------------------------------------------------------------------------
132214 -- 4262811a Switch Sign
132215 ---------------------------------------------------------------------------------------------------
132216 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
132217 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
132218 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
132219 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
132220 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
132221 -- 5132302
132222 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
132223 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
132224
132225 END IF;
132226
132227 -- 4955764
132228 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
132229 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
132230
132231
132232 XLA_AE_LINES_PKG.ValidateCurrentLine;
132233 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
132234
132235 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
132236 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
132237 ,p_balance_type_code => l_balance_type_code);
132238
132239 END IF;
132240
132241 -----------------------------------------------------------------------------------------
132242 -- 4262811 Multiperiod Accounting
132243 -----------------------------------------------------------------------------------------
132244 -- No MPA option is assigned.
132245
132246
132247 END IF;
132248 END IF;
132249 --
132250
132251 --
132252 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
132253 trace
132254 (p_msg => 'END of AcctLineType_222'
132255 ,p_level => C_LEVEL_PROCEDURE
132256 ,p_module => l_log_module);
132257 END IF;
132258 --
132259 EXCEPTION
132260 WHEN xla_exceptions_pkg.application_exception THEN
132261 RAISE;
132262 WHEN OTHERS THEN
132263 xla_exceptions_pkg.raise_message
132264 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_222');
132265 END AcctLineType_222;
132266 --
132267
132271 -- AcctLineType_223
132268 ---------------------------------------
132269 --
132270 -- PRIVATE FUNCTION
132272 --
132273 ---------------------------------------
132274 PROCEDURE AcctLineType_223 (
132275 p_application_id IN NUMBER
132276 ,p_event_id IN NUMBER
132277 ,p_calculate_acctd_flag IN VARCHAR2
132278 ,p_calculate_g_l_flag IN VARCHAR2
132279 ,p_actual_flag IN OUT VARCHAR2
132280 ,p_balance_type_code OUT VARCHAR2
132281 ,p_gain_or_loss_ref OUT VARCHAR2
132282
132283 --Invoice Distribution Description
132284 , p_source_1 IN VARCHAR2
132285 --Automatic Offsets Value
132286 , p_source_10 IN VARCHAR2
132287 , p_source_10_meaning IN VARCHAR2
132288 --Purchase Order Rate Variance Gain Account
132289 , p_source_15 IN NUMBER
132290 --Invoice Distribution Ledger Amount
132291 , p_source_16 IN NUMBER
132292 --Destination Type of the PO Distribution
132293 , p_source_17 IN VARCHAR2
132294 , p_source_17_meaning IN VARCHAR2
132295 --Purchase Order Rate Variance Loss Account
132296 , p_source_18 IN NUMBER
132297 --Invoice Distribution Account
132298 , p_source_25 IN NUMBER
132299 --Invoice Distribution Type
132300 , p_source_28 IN VARCHAR2
132301 , p_source_28_meaning IN VARCHAR2
132302 --Automatic Offsets Flag
132303 , p_source_43 IN VARCHAR2
132304 , p_source_43_meaning IN VARCHAR2
132305 --Accrue on Receipt Option
132306 , p_source_54 IN VARCHAR2
132307 , p_source_54_meaning IN VARCHAR2
132308 --Accounting Reversal Indicator
132309 , p_source_58 IN VARCHAR2
132310 --Distribution Link Type
132311 , p_source_60 IN VARCHAR2
132312 --Allocation to Main Distribution Identifier
132313 , p_source_62 IN NUMBER
132314 --Invoice Identifier
132315 , p_source_63 IN NUMBER
132316 --Invoice Distribution Identifier
132317 , p_source_69 IN NUMBER
132318 --Payables Encumbrance Upgrade Credit Account
132319 , p_source_70 IN NUMBER
132320 --Payables Encumbrance Upgrade Credit Amount
132321 , p_source_71 IN NUMBER
132322 --Invoice Currency Code
132323 , p_source_72 IN VARCHAR2
132324 --Payables Encumbrance Upgrade Credit Base Amount
132325 , p_source_73 IN NUMBER
132326 --Payables Encumbrance Upgrade Debit Account
132327 , p_source_74 IN NUMBER
132328 --Payables Encumbrance Upgrade Debit Amount
132329 , p_source_75 IN NUMBER
132330 --Payables Encumbrance Upgrade Debit Base Amount
132331 , p_source_76 IN NUMBER
132332 --Payables Encumbrance Upgrade Option
132333 , p_source_77 IN VARCHAR2
132334 --Invoice Distribution Amount
132335 , p_source_78 IN NUMBER
132336 --Deferred Accounting End Date
132337 , p_source_82 IN DATE
132338 --Deferred Accounting Option
132339 , p_source_83 IN VARCHAR2
132340 --Deferred Accounting Start Date
132341 , p_source_84 IN DATE
132342 --Override Accounted Amount Indicator
132343 , p_source_85 IN VARCHAR2
132344 , p_source_85_meaning IN VARCHAR2
132345 --Invoice Supplier Identifier
132346 , p_source_86 IN NUMBER
132347 --Invoice Supplier Site Identifier
132348 , p_source_87 IN NUMBER
132349 --Third Party Type
132350 , p_source_88 IN VARCHAR2
132351 --Parent Reversal Identifier
132352 , p_source_89 IN NUMBER
132353 --Invoice Distribution Statistical Amount
132354 , p_source_90 IN NUMBER
132355 --Invoice Distribution Tax Line Identifier
132356 , p_source_91 IN NUMBER
132357 --Invoice Distribution Tax Distribution Identifier from Tax
132358 , p_source_92 IN NUMBER
132359 --Invoice Distribution Summary Tax Line Identifier
132360 , p_source_93 IN NUMBER
132361 --Payables Upgrade Credit Encumbrance Type Identifier
132362 , p_source_94 IN NUMBER
132363 --Payables Upgrade Debit Encumbrance Type Identifier
132364 , p_source_95 IN NUMBER
132365 --Business Flow Accounts Payable Application Identifier
132366 , p_source_96 IN NUMBER
132367 --Business Flow Invoice Distribution Type
132368 , p_source_97 IN VARCHAR2
132369 --Business Flow Invoice Entity Code
132370 , p_source_98 IN VARCHAR2
132371 --Business Flow Invoice Distribution Identifier
132372 , p_source_99 IN NUMBER
132373 --Business Flow Invoice Identifier
132374 , p_source_100 IN NUMBER
132375 --Invoice Exchange Date
132376 , p_source_146 IN DATE
132377 --Invoice Exchange Rate
132378 , p_source_147 IN NUMBER
132379 --Invoice Exchange Rate Type
132380 , p_source_148 IN VARCHAR2
132381 )
132382 IS
132383
132384 l_component_type VARCHAR2(80);
132385 l_component_code VARCHAR2(30);
132386 l_component_type_code VARCHAR2(1);
132387 l_component_appl_id INTEGER;
132388 l_amb_context_code VARCHAR2(30);
132389 l_entity_code VARCHAR2(30);
132390 l_event_class_code VARCHAR2(30);
132391 l_ae_header_id NUMBER;
132392 l_event_type_code VARCHAR2(30);
132393 l_line_definition_code VARCHAR2(30);
132394 l_line_definition_owner_code VARCHAR2(1);
132395 --
132396 -- adr variables
132397 l_segment VARCHAR2(30);
132398 l_ccid NUMBER;
132399 l_adr_transaction_coa_id NUMBER;
132403 l_adr_value_type_code VARCHAR2(30);
132400 l_adr_accounting_coa_id NUMBER;
132401 l_adr_flexfield_segment_code VARCHAR2(30);
132402 l_adr_flex_value_set_id NUMBER;
132404 l_adr_value_combination_id NUMBER;
132405 l_adr_value_segment_code VARCHAR2(30);
132406
132407 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
132408 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
132409 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
132410 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
132411
132412 -- 4262811 Variables ------------------------------------------------------------------------------------------
132413 l_entered_amt_idx NUMBER;
132414 l_accted_amt_idx NUMBER;
132415 l_acc_rev_flag VARCHAR2(1);
132416 l_accrual_line_num NUMBER;
132417 l_tmp_amt NUMBER;
132418 l_acc_rev_natural_side_code VARCHAR2(1);
132419
132420 l_num_entries NUMBER;
132421 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
132422 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
132423 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
132424 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
132425 l_recog_line_1 NUMBER;
132426 l_recog_line_2 NUMBER;
132427
132428 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
132429 l_bflow_applied_to_amt NUMBER; -- 5132302
132430 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
132431
132432 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
132433
132434 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
132435 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
132436
132437 ---------------------------------------------------------------------------------------------------------------
132438
132439
132440 --
132441 -- bulk performance
132442 --
132443 l_balance_type_code VARCHAR2(1);
132444 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
132445 l_log_module VARCHAR2(240);
132446
132447 --
132448 -- Upgrade strategy
132449 --
132450 l_actual_upg_option VARCHAR2(1);
132451 l_enc_upg_option VARCHAR2(1);
132452
132453 --
132454 BEGIN
132455 --
132456 IF g_log_enabled THEN
132457 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_223';
132458 END IF;
132459 --
132460 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
132461
132462 trace
132463 (p_msg => 'BEGIN of AcctLineType_223'
132464 ,p_level => C_LEVEL_PROCEDURE
132465 ,p_module => l_log_module);
132466
132467 END IF;
132468 --
132469 l_component_type := 'AMB_JLT';
132470 l_component_code := 'AP_TAX_EX_RATE_VAR_INV';
132471 l_component_type_code := 'S';
132472 l_component_appl_id := 200;
132473 l_amb_context_code := 'DEFAULT';
132474 l_entity_code := 'AP_INVOICES';
132475 l_event_class_code := 'INVOICES';
132476 l_event_type_code := 'INVOICES_ALL';
132477 l_line_definition_owner_code := 'S';
132478 l_line_definition_code := 'ACCRUAL_INVOICES_ALL';
132479 --
132480 l_balance_type_code := 'A';
132481 l_segment := NULL;
132482 l_ccid := NULL;
132483 l_adr_transaction_coa_id := NULL;
132484 l_adr_accounting_coa_id := NULL;
132485 l_adr_flexfield_segment_code := NULL;
132486 l_adr_flex_value_set_id := NULL;
132487 l_adr_value_type_code := NULL;
132488 l_adr_value_combination_id := NULL;
132489 l_adr_value_segment_code := NULL;
132490
132491 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
132492 l_bflow_class_code := ''; -- 4219869 Business Flow
132493 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
132494 l_budgetary_control_flag := 'N';
132495
132496 l_bflow_applied_to_amt_idx := NULL; -- 5132302
132497 l_bflow_applied_to_amt := NULL; -- 5132302
132498 l_entered_amt_idx := NULL; -- 4262811
132499 l_accted_amt_idx := NULL; -- 4262811
132500 l_acc_rev_flag := NULL; -- 4262811
132501 l_accrual_line_num := NULL; -- 4262811
132502 l_tmp_amt := NULL; -- 4262811
132503 --
132504 IF ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
132505 (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
132506 return;
132507 END IF;
132508
132509 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
132510 l_balance_type_code <> 'B' THEN
132511 IF NVL(p_source_28,'
132512 ') = 'TERV' AND
132513 NVL(p_source_54,'
132514 ') = 'Y'
132515 THEN
132516
132517 --
132518 XLA_AE_LINES_PKG.SetNewLine;
132519
132520 p_balance_type_code := l_balance_type_code;
132521 -- set the flag so later we will know whether the gain loss line needs to be created
132522
132523 IF(l_balance_type_code = 'A' ) THEN
132527 --
132524 p_actual_flag :='G';
132525 END IF;
132526
132528 -- bulk performance
132529 --
132530 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
132531 p_header_num => 0); -- 4262811
132532 --
132533 -- set accounting line options
132534 --
132535 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
132536 p_natural_side_code => 'D'
132537 , p_gain_or_loss_flag => 'Y'
132538 , p_gl_transfer_mode_code => 'S'
132539 , p_acct_entry_type_code => 'A'
132540 , p_switch_side_flag => 'Y'
132541 , p_merge_duplicate_code => 'A'
132542 );
132543 --
132544 l_acc_rev_natural_side_code := 'C'; -- 4262811
132545 --
132546 --
132547 -- set accounting line type info
132548 --
132549 xla_ae_lines_pkg.SetAcctLineType
132550 (p_component_type => l_component_type
132551 ,p_event_type_code => l_event_type_code
132552 ,p_line_definition_owner_code => l_line_definition_owner_code
132553 ,p_line_definition_code => l_line_definition_code
132554 ,p_accounting_line_code => l_component_code
132555 ,p_accounting_line_type_code => l_component_type_code
132556 ,p_accounting_line_appl_id => l_component_appl_id
132557 ,p_amb_context_code => l_amb_context_code
132558 ,p_entity_code => l_entity_code
132559 ,p_event_class_code => l_event_class_code);
132560 --
132561 -- set accounting class
132562 --
132563 xla_ae_lines_pkg.SetAcctClass(
132564 p_accounting_class_code => 'TERV'
132565 , p_ae_header_id => l_ae_header_id
132566 );
132567
132568 --
132569 -- set rounding class
132570 --
132571 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
132572 'TERV';
132573
132574 --
132575 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
132576 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
132577 --
132578 -- bulk performance
132579 --
132580 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
132581
132582 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
132583 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
132584
132585 -- 4955764
132586 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
132587 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
132588
132589 -- 4458381 Public Sector Enh
132590
132591 --
132592 -- set accounting attributes for the line type
132593 --
132594 l_entered_amt_idx := 24;
132595 l_accted_amt_idx := 29;
132596 l_bflow_applied_to_amt_idx := 7; -- 5132302
132597 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
132598 l_rec_acct_attrs.array_char_value(1) := p_source_58;
132599 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
132600 l_rec_acct_attrs.array_num_value(2) :=
132601 xla_ae_sources_pkg.GetSystemSourceNum(
132602 p_source_code => 'XLA_EVENT_APPL_ID'
132603 , p_source_type_code => 'Y'
132604 , p_source_application_id => 602
132605 );
132606 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
132607 l_rec_acct_attrs.array_char_value(3) := p_source_60;
132608 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
132609 l_rec_acct_attrs.array_char_value(4) :=
132610 xla_ae_sources_pkg.GetSystemSourceChar(
132611 p_source_code => 'XLA_ENTITY_CODE'
132612 , p_source_type_code => 'Y'
132613 , p_source_application_id => 602
132614 );
132615 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
132616 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_62);
132617 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
132618 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_63);
132619 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
132620 l_rec_acct_attrs.array_num_value(7) := p_source_78;
132621 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
132622 l_rec_acct_attrs.array_num_value(8) := p_source_96;
132623 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
132624 l_rec_acct_attrs.array_char_value(9) := p_source_97;
132625 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
132626 l_rec_acct_attrs.array_char_value(10) := p_source_98;
132627 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
132628 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_99);
132629 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
132630 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_100);
132631 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
132632 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_69);
132633 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
132634 l_rec_acct_attrs.array_char_value(14) := p_source_60;
132635 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
132636 l_rec_acct_attrs.array_num_value(15) := p_source_70;
132640 l_rec_acct_attrs.array_char_value(17) := p_source_72;
132637 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
132638 l_rec_acct_attrs.array_num_value(16) := p_source_71;
132639 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
132641 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
132642 l_rec_acct_attrs.array_num_value(18) := p_source_73;
132643 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
132644 l_rec_acct_attrs.array_num_value(19) := p_source_74;
132645 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
132646 l_rec_acct_attrs.array_num_value(20) := p_source_75;
132647 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
132648 l_rec_acct_attrs.array_char_value(21) := p_source_72;
132649 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
132650 l_rec_acct_attrs.array_num_value(22) := p_source_76;
132651 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
132652 l_rec_acct_attrs.array_char_value(23) := p_source_77;
132653 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_AMOUNT';
132654 l_rec_acct_attrs.array_num_value(24) := p_source_78;
132655 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_CODE';
132656 l_rec_acct_attrs.array_char_value(25) := p_source_72;
132657 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_DATE';
132658 l_rec_acct_attrs.array_date_value(26) := p_source_146;
132659 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE';
132660 l_rec_acct_attrs.array_num_value(27) := p_source_147;
132661 l_rec_acct_attrs.array_acct_attr_code(28) := 'EXCHANGE_RATE_TYPE';
132662 l_rec_acct_attrs.array_char_value(28) := p_source_148;
132663 l_rec_acct_attrs.array_acct_attr_code(29) := 'LEDGER_AMOUNT';
132664 l_rec_acct_attrs.array_num_value(29) := p_source_16;
132665 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_END_DATE';
132666 l_rec_acct_attrs.array_date_value(30) := p_source_82;
132667 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_OPTION';
132668 l_rec_acct_attrs.array_char_value(31) := p_source_83;
132669 l_rec_acct_attrs.array_acct_attr_code(32) := 'MULTIPERIOD_START_DATE';
132670 l_rec_acct_attrs.array_date_value(32) := p_source_84;
132671 l_rec_acct_attrs.array_acct_attr_code(33) := 'OVERRIDE_ACCTD_AMT_FLAG';
132672 l_rec_acct_attrs.array_char_value(33) := p_source_85;
132673 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_ID';
132674 l_rec_acct_attrs.array_num_value(34) := p_source_86;
132675 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_SITE_ID';
132676 l_rec_acct_attrs.array_num_value(35) := p_source_87;
132677 l_rec_acct_attrs.array_acct_attr_code(36) := 'PARTY_TYPE';
132678 l_rec_acct_attrs.array_char_value(36) := p_source_88;
132679 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_ID1';
132680 l_rec_acct_attrs.array_num_value(37) := to_char(p_source_89);
132681 l_rec_acct_attrs.array_acct_attr_code(38) := 'REVERSED_DISTRIBUTION_TYPE';
132682 l_rec_acct_attrs.array_char_value(38) := p_source_60;
132683 l_rec_acct_attrs.array_acct_attr_code(39) := 'STATISTICAL_AMOUNT';
132684 l_rec_acct_attrs.array_num_value(39) := p_source_90;
132685 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_LINE_REF_ID';
132686 l_rec_acct_attrs.array_num_value(40) := p_source_91;
132687 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_REC_NREC_DIST_REF_ID';
132688 l_rec_acct_attrs.array_num_value(41) := p_source_92;
132689 l_rec_acct_attrs.array_acct_attr_code(42) := 'TAX_SUMMARY_LINE_REF_ID';
132690 l_rec_acct_attrs.array_num_value(42) := p_source_93;
132691 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_CR_ENC_TYPE_ID';
132692 l_rec_acct_attrs.array_num_value(43) := p_source_94;
132693 l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
132694 l_rec_acct_attrs.array_num_value(44) := p_source_95;
132695
132696 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
132697 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
132698
132699 ---------------------------------------------------------------------------------------------------------------
132700 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
132701 ---------------------------------------------------------------------------------------------------------------
132702 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
132703
132704 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
132705 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
132706
132707 IF xla_accounting_cache_pkg.GetValueChar
132708 (p_source_code => 'LEDGER_CATEGORY_CODE'
132709 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
132710 AND l_bflow_method_code = 'PRIOR_ENTRY'
132711 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
132712 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
132713 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
132714 )
132715 THEN
132716 xla_ae_lines_pkg.BflowUpgEntry
132717 (p_business_method_code => l_bflow_method_code
132718 ,p_business_class_code => l_bflow_class_code
132719 ,p_balance_type => l_balance_type_code);
132720 ELSE
132721 NULL;
132725 --
132722 -- No business flow processing for business flow method of NONE.
132723 END IF;
132724
132726 -- call analytical criteria
132727 --
132728
132729 --
132730 -- call description
132731 --
132732
132733 xla_ae_lines_pkg.SetLineDescription(
132734 p_ae_header_id => l_ae_header_id
132735 ,p_description => Description_2 (
132736 p_application_id => p_application_id
132737 , p_ae_header_id => l_ae_header_id
132738 , p_source_1 => p_source_1
132739 )
132740 );
132741
132742
132743 --
132744 -- call ADRs
132745 -- Bug 4922099
132746 --
132747 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
132748 (NVL(l_actual_upg_option, 'N') = 'O') OR
132749 (NVL(l_enc_upg_option, 'N') = 'O')
132750 )
132751 THEN
132752 NULL;
132753 --
132754 --
132755
132756 l_ccid := AcctDerRule_32(
132757 p_application_id => p_application_id
132758 , p_ae_header_id => l_ae_header_id
132759 , p_source_10 => p_source_10
132760 , p_source_10_meaning => p_source_10_meaning
132761 , p_source_15 => p_source_15
132762 , p_source_16 => p_source_16
132763 , p_source_17 => p_source_17
132764 , p_source_17_meaning => p_source_17_meaning
132765 , p_source_18 => p_source_18
132766 , p_source_25 => p_source_25
132767 , p_source_43 => p_source_43
132768 , p_source_43_meaning => p_source_43_meaning
132769 , x_transaction_coa_id => l_adr_transaction_coa_id
132770 , x_accounting_coa_id => l_adr_accounting_coa_id
132771 , x_value_type_code => l_adr_value_type_code
132772 , p_side => 'NA'
132773 );
132774
132775 xla_ae_lines_pkg.set_ccid(
132776 p_code_combination_id => l_ccid
132777 , p_value_type_code => l_adr_value_type_code
132778 , p_transaction_coa_id => l_adr_transaction_coa_id
132779 , p_accounting_coa_id => l_adr_accounting_coa_id
132780 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
132781 , p_adr_type_code => 'S'
132782 , p_component_type => l_component_type
132783 , p_component_code => l_component_code
132784 , p_component_type_code => l_component_type_code
132785 , p_component_appl_id => l_component_appl_id
132786 , p_amb_context_code => l_amb_context_code
132787 , p_side => 'NA'
132788 );
132789
132790
132791 l_segment := AcctDerRule_8(
132792 p_application_id => p_application_id
132793 , p_ae_header_id => l_ae_header_id
132794 , p_source_10 => p_source_10
132795 , p_source_10_meaning => p_source_10_meaning
132796 , p_source_15 => p_source_15
132797 , p_source_16 => p_source_16
132798 , p_source_17 => p_source_17
132799 , p_source_17_meaning => p_source_17_meaning
132800 , p_source_18 => p_source_18
132801 , x_transaction_coa_id => l_adr_transaction_coa_id
132802 , x_accounting_coa_id => l_adr_accounting_coa_id
132803 , x_flexfield_segment_code => l_adr_flexfield_segment_code
132804 , x_flex_value_set_id => l_adr_flex_value_set_id
132805 , x_value_type_code => l_adr_value_type_code
132806 , x_value_combination_id => l_adr_value_combination_id
132807 , x_value_segment_code => l_adr_value_segment_code
132808 , p_side => 'NA'
132809 , p_override_seg_flag => 'Y'
132810 );
132811
132812 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
132813
132814 xla_ae_lines_pkg.set_segment(
132815 p_to_segment_code => 'GL_ACCOUNT'
132816 , p_segment_value => l_segment
132817 , p_from_segment_code => l_adr_value_segment_code
132818 , p_from_combination_id => l_adr_value_combination_id
132819 , p_value_type_code => l_adr_value_type_code
132820 , p_transaction_coa_id => l_adr_transaction_coa_id
132821 , p_accounting_coa_id => l_adr_accounting_coa_id
132822 , p_flexfield_segment_code => l_adr_flexfield_segment_code
132823 , p_flex_value_set_id => l_adr_flex_value_set_id
132824 , p_adr_code => 'AP_ERV_GAIN_LOSS_NAT_ACCT_SEG'
132825 , p_adr_type_code => 'S'
132826 , p_component_type => l_component_type
132827 , p_component_code => l_component_code
132828 , p_component_type_code => l_component_type_code
132829 , p_component_appl_id => l_component_appl_id
132830 , p_amb_context_code => l_amb_context_code
132831 , p_entity_code => 'AP_INVOICES'
132832 , p_event_class_code => 'INVOICES'
132833 , p_side => 'NA'
132834 );
132835
132836 END IF;
132837
132838 l_segment := AcctDerRule_24(
132839 p_application_id => p_application_id
132840 , p_ae_header_id => l_ae_header_id
132841 , p_source_10 => p_source_10
132842 , p_source_10_meaning => p_source_10_meaning
132843 , p_source_17 => p_source_17
132844 , p_source_17_meaning => p_source_17_meaning
132845 , p_source_25 => p_source_25
132846 , x_transaction_coa_id => l_adr_transaction_coa_id
132847 , x_accounting_coa_id => l_adr_accounting_coa_id
132851 , x_value_combination_id => l_adr_value_combination_id
132848 , x_flexfield_segment_code => l_adr_flexfield_segment_code
132849 , x_flex_value_set_id => l_adr_flex_value_set_id
132850 , x_value_type_code => l_adr_value_type_code
132852 , x_value_segment_code => l_adr_value_segment_code
132853 , p_side => 'NA'
132854 , p_override_seg_flag => 'Y'
132855 );
132856
132857 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
132858
132859 xla_ae_lines_pkg.set_segment(
132860 p_to_segment_code => 'GL_BALANCING'
132861 , p_segment_value => l_segment
132862 , p_from_segment_code => l_adr_value_segment_code
132863 , p_from_combination_id => l_adr_value_combination_id
132864 , p_value_type_code => l_adr_value_type_code
132865 , p_transaction_coa_id => l_adr_transaction_coa_id
132866 , p_accounting_coa_id => l_adr_accounting_coa_id
132867 , p_flexfield_segment_code => l_adr_flexfield_segment_code
132868 , p_flex_value_set_id => l_adr_flex_value_set_id
132869 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
132870 , p_adr_type_code => 'S'
132871 , p_component_type => l_component_type
132872 , p_component_code => l_component_code
132873 , p_component_type_code => l_component_type_code
132874 , p_component_appl_id => l_component_appl_id
132875 , p_amb_context_code => l_amb_context_code
132876 , p_entity_code => 'AP_INVOICES'
132877 , p_event_class_code => 'INVOICES'
132878 , p_side => 'NA'
132879 );
132880
132881 END IF;
132882
132883 --
132884 --
132885 END IF;
132886 --
132887 -- Bug 4922099
132888 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
132889 (NVL(l_enc_upg_option, 'N') = 'O')
132890 ) AND
132891 (l_bflow_method_code = 'PRIOR_ENTRY')
132892 )
132893 THEN
132894 IF
132895 --
132896 1 = 2
132897 --
132898 THEN
132899 xla_accounting_err_pkg.build_message
132900 (p_appli_s_name => 'XLA'
132901 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
132902 ,p_token_1 => 'LINE_NUMBER'
132903 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
132904 ,p_token_2 => 'LINE_TYPE_NAME'
132905 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
132906 l_component_type
132907 ,l_component_code
132908 ,l_component_type_code
132909 ,l_component_appl_id
132910 ,l_amb_context_code
132911 ,l_entity_code
132912 ,l_event_class_code
132913 )
132914 ,p_token_3 => 'OWNER'
132915 ,p_value_3 => xla_lookups_pkg.get_meaning(
132916 p_lookup_type => 'XLA_OWNER_TYPE'
132917 ,p_lookup_code => l_component_type_code
132918 )
132919 ,p_token_4 => 'PRODUCT_NAME'
132920 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
132921 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
132922 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
132923 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
132924 ,p_ae_header_id => NULL
132925 );
132926
132927 IF (C_LEVEL_ERROR>= g_log_level) THEN
132928 trace
132929 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
132930 ,p_level => C_LEVEL_ERROR
132931 ,p_module => l_log_module);
132932 END IF;
132933 END IF;
132934 END IF;
132935 --
132936 --
132937 ------------------------------------------------------------------------------------------------
132938 -- 4219869 Business Flow
132939 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
132940 -- Prior Entry. Currently, the following code is always generated.
132941 ------------------------------------------------------------------------------------------------
132942 XLA_AE_LINES_PKG.ValidateCurrentLine;
132943
132947 ------------------------------------------------------------------------------------
132944 ------------------------------------------------------------------------------------
132945 -- 4219869 Business Flow
132946 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
132948 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
132949
132950 ----------------------------------------------------------------------------------
132951 -- 4219869 Business Flow
132952 -- Update journal entry status -- Need to generate this within IF <condition>
132953 ----------------------------------------------------------------------------------
132954 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
132955 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
132956 ,p_balance_type_code => l_balance_type_code
132957 );
132958
132959 -------------------------------------------------------------------------------------------
132960 -- 4262811 - Generate the Accrual Reversal lines
132961 -------------------------------------------------------------------------------------------
132962 BEGIN
132963 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
132964 (g_array_event(p_event_id).array_value_num('header_index'));
132965 IF l_acc_rev_flag IS NULL THEN
132966 l_acc_rev_flag := 'N';
132967 END IF;
132968 EXCEPTION
132969 WHEN OTHERS THEN
132970 l_acc_rev_flag := 'N';
132971 END;
132972 --
132973 IF (l_acc_rev_flag = 'Y') THEN
132974
132975 -- 4645092 ------------------------------------------------------------------------------
132976 -- To allow MPA report to determine if it should generate report process
132977 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
132978 ------------------------------------------------------------------------------------------
132979
132980 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
132981 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
132982 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
132983 -- call ADRs
132984 -- Bug 4922099
132985 --
132986 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
132987 (NVL(l_actual_upg_option, 'N') = 'O') OR
132988 (NVL(l_enc_upg_option, 'N') = 'O')
132989 )
132990 THEN
132991 NULL;
132992 --
132993 --
132994
132995 l_ccid := AcctDerRule_32(
132996 p_application_id => p_application_id
132997 , p_ae_header_id => l_ae_header_id
132998 , p_source_10 => p_source_10
132999 , p_source_10_meaning => p_source_10_meaning
133000 , p_source_15 => p_source_15
133001 , p_source_16 => p_source_16
133002 , p_source_17 => p_source_17
133003 , p_source_17_meaning => p_source_17_meaning
133004 , p_source_18 => p_source_18
133005 , p_source_25 => p_source_25
133006 , p_source_43 => p_source_43
133007 , p_source_43_meaning => p_source_43_meaning
133008 , x_transaction_coa_id => l_adr_transaction_coa_id
133009 , x_accounting_coa_id => l_adr_accounting_coa_id
133010 , x_value_type_code => l_adr_value_type_code
133011 , p_side => 'NA'
133012 );
133013
133014 xla_ae_lines_pkg.set_ccid(
133015 p_code_combination_id => l_ccid
133016 , p_value_type_code => l_adr_value_type_code
133017 , p_transaction_coa_id => l_adr_transaction_coa_id
133018 , p_accounting_coa_id => l_adr_accounting_coa_id
133019 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
133020 , p_adr_type_code => 'S'
133021 , p_component_type => l_component_type
133022 , p_component_code => l_component_code
133023 , p_component_type_code => l_component_type_code
133024 , p_component_appl_id => l_component_appl_id
133025 , p_amb_context_code => l_amb_context_code
133026 , p_side => 'NA'
133027 );
133028
133029
133030 l_segment := AcctDerRule_8(
133031 p_application_id => p_application_id
133032 , p_ae_header_id => l_ae_header_id
133033 , p_source_10 => p_source_10
133034 , p_source_10_meaning => p_source_10_meaning
133035 , p_source_15 => p_source_15
133036 , p_source_16 => p_source_16
133037 , p_source_17 => p_source_17
133038 , p_source_17_meaning => p_source_17_meaning
133039 , p_source_18 => p_source_18
133040 , x_transaction_coa_id => l_adr_transaction_coa_id
133041 , x_accounting_coa_id => l_adr_accounting_coa_id
133042 , x_flexfield_segment_code => l_adr_flexfield_segment_code
133043 , x_flex_value_set_id => l_adr_flex_value_set_id
133044 , x_value_type_code => l_adr_value_type_code
133045 , x_value_combination_id => l_adr_value_combination_id
133046 , x_value_segment_code => l_adr_value_segment_code
133047 , p_side => 'NA'
133048 , p_override_seg_flag => 'Y'
133049 );
133050
133051 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
133052
133053 xla_ae_lines_pkg.set_segment(
133054 p_to_segment_code => 'GL_ACCOUNT'
133055 , p_segment_value => l_segment
133056 , p_from_segment_code => l_adr_value_segment_code
133057 , p_from_combination_id => l_adr_value_combination_id
133061 , p_flexfield_segment_code => l_adr_flexfield_segment_code
133058 , p_value_type_code => l_adr_value_type_code
133059 , p_transaction_coa_id => l_adr_transaction_coa_id
133060 , p_accounting_coa_id => l_adr_accounting_coa_id
133062 , p_flex_value_set_id => l_adr_flex_value_set_id
133063 , p_adr_code => 'AP_ERV_GAIN_LOSS_NAT_ACCT_SEG'
133064 , p_adr_type_code => 'S'
133065 , p_component_type => l_component_type
133066 , p_component_code => l_component_code
133067 , p_component_type_code => l_component_type_code
133068 , p_component_appl_id => l_component_appl_id
133069 , p_amb_context_code => l_amb_context_code
133070 , p_entity_code => 'AP_INVOICES'
133071 , p_event_class_code => 'INVOICES'
133072 , p_side => 'NA'
133073 );
133074
133075 END IF;
133076
133077 l_segment := AcctDerRule_24(
133078 p_application_id => p_application_id
133079 , p_ae_header_id => l_ae_header_id
133080 , p_source_10 => p_source_10
133081 , p_source_10_meaning => p_source_10_meaning
133082 , p_source_17 => p_source_17
133083 , p_source_17_meaning => p_source_17_meaning
133084 , p_source_25 => p_source_25
133085 , x_transaction_coa_id => l_adr_transaction_coa_id
133086 , x_accounting_coa_id => l_adr_accounting_coa_id
133087 , x_flexfield_segment_code => l_adr_flexfield_segment_code
133088 , x_flex_value_set_id => l_adr_flex_value_set_id
133089 , x_value_type_code => l_adr_value_type_code
133090 , x_value_combination_id => l_adr_value_combination_id
133091 , x_value_segment_code => l_adr_value_segment_code
133092 , p_side => 'NA'
133093 , p_override_seg_flag => 'Y'
133094 );
133095
133096 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
133097
133098 xla_ae_lines_pkg.set_segment(
133099 p_to_segment_code => 'GL_BALANCING'
133100 , p_segment_value => l_segment
133101 , p_from_segment_code => l_adr_value_segment_code
133102 , p_from_combination_id => l_adr_value_combination_id
133103 , p_value_type_code => l_adr_value_type_code
133104 , p_transaction_coa_id => l_adr_transaction_coa_id
133105 , p_accounting_coa_id => l_adr_accounting_coa_id
133106 , p_flexfield_segment_code => l_adr_flexfield_segment_code
133107 , p_flex_value_set_id => l_adr_flex_value_set_id
133108 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
133109 , p_adr_type_code => 'S'
133110 , p_component_type => l_component_type
133111 , p_component_code => l_component_code
133112 , p_component_type_code => l_component_type_code
133113 , p_component_appl_id => l_component_appl_id
133114 , p_amb_context_code => l_amb_context_code
133115 , p_entity_code => 'AP_INVOICES'
133116 , p_event_class_code => 'INVOICES'
133117 , p_side => 'NA'
133118 );
133119
133120 END IF;
133121
133122 --
133123 --
133124 END IF;
133125
133126 --
133127 -- Update the line information that should be overwritten
133128 --
133129 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
133130 p_header_num => 1);
133131 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
133132
133133 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
133134
133135 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
133136 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
133137 END IF;
133138
133139 --
133140 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
133141 --
133142 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
133143 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
133144 ELSE
133145 ---------------------------------------------------------------------------------------------------
133146 -- 4262811a Switch Sign
133147 ---------------------------------------------------------------------------------------------------
133148 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
133149 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
133150 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
133151 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
133152 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
133153 -- 5132302
133154 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
133155 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
133156
133157 END IF;
133158
133159 -- 4955764
133163
133160 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
133161 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
133162
133164 XLA_AE_LINES_PKG.ValidateCurrentLine;
133165 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
133166
133167 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
133168 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
133169 ,p_balance_type_code => l_balance_type_code);
133170
133171 END IF;
133172
133173 -----------------------------------------------------------------------------------------
133174 -- 4262811 Multiperiod Accounting
133175 -----------------------------------------------------------------------------------------
133176 -- No MPA option is assigned.
133177
133178
133179 END IF;
133180 END IF;
133181 --
133182
133183 --
133184 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
133185 trace
133186 (p_msg => 'END of AcctLineType_223'
133187 ,p_level => C_LEVEL_PROCEDURE
133188 ,p_module => l_log_module);
133189 END IF;
133190 --
133191 EXCEPTION
133192 WHEN xla_exceptions_pkg.application_exception THEN
133193 RAISE;
133194 WHEN OTHERS THEN
133195 xla_exceptions_pkg.raise_message
133196 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_223');
133197 END AcctLineType_223;
133198 --
133199
133200 ---------------------------------------
133201 --
133202 -- PRIVATE FUNCTION
133203 -- AcctLineType_224
133204 --
133205 ---------------------------------------
133206 PROCEDURE AcctLineType_224 (
133207 p_application_id IN NUMBER
133208 ,p_event_id IN NUMBER
133209 ,p_calculate_acctd_flag IN VARCHAR2
133210 ,p_calculate_g_l_flag IN VARCHAR2
133211 ,p_actual_flag IN OUT VARCHAR2
133212 ,p_balance_type_code OUT VARCHAR2
133213 ,p_gain_or_loss_ref OUT VARCHAR2
133214
133215 --Invoice Distribution Description
133216 , p_source_1 IN VARCHAR2
133217 --Automatic Offsets Value
133218 , p_source_10 IN VARCHAR2
133219 , p_source_10_meaning IN VARCHAR2
133220 --Purchase Order Rate Variance Gain Account
133221 , p_source_15 IN NUMBER
133222 --Invoice Distribution Ledger Amount
133223 , p_source_16 IN NUMBER
133224 --Destination Type of the PO Distribution
133225 , p_source_17 IN VARCHAR2
133226 , p_source_17_meaning IN VARCHAR2
133227 --Purchase Order Rate Variance Loss Account
133228 , p_source_18 IN NUMBER
133229 --Invoice Distribution Account
133230 , p_source_25 IN NUMBER
133231 --Invoice Distribution Type
133232 , p_source_28 IN VARCHAR2
133233 , p_source_28_meaning IN VARCHAR2
133234 --Automatic Offsets Flag
133235 , p_source_43 IN VARCHAR2
133236 , p_source_43_meaning IN VARCHAR2
133237 --Accrue on Receipt Option
133238 , p_source_54 IN VARCHAR2
133239 , p_source_54_meaning IN VARCHAR2
133240 --Accounting Reversal Indicator
133241 , p_source_58 IN VARCHAR2
133242 --Distribution Link Type
133243 , p_source_60 IN VARCHAR2
133244 --Allocation to Main Distribution Identifier
133245 , p_source_62 IN NUMBER
133246 --Invoice Identifier
133247 , p_source_63 IN NUMBER
133248 --Invoice Distribution Identifier
133249 , p_source_69 IN NUMBER
133250 --Payables Encumbrance Upgrade Credit Account
133251 , p_source_70 IN NUMBER
133252 --Payables Encumbrance Upgrade Credit Amount
133253 , p_source_71 IN NUMBER
133254 --Invoice Currency Code
133255 , p_source_72 IN VARCHAR2
133256 --Payables Encumbrance Upgrade Credit Base Amount
133257 , p_source_73 IN NUMBER
133258 --Payables Encumbrance Upgrade Debit Account
133259 , p_source_74 IN NUMBER
133260 --Payables Encumbrance Upgrade Debit Amount
133261 , p_source_75 IN NUMBER
133262 --Payables Encumbrance Upgrade Debit Base Amount
133263 , p_source_76 IN NUMBER
133264 --Payables Encumbrance Upgrade Option
133265 , p_source_77 IN VARCHAR2
133266 --Invoice Distribution Amount
133267 , p_source_78 IN NUMBER
133268 --Deferred Accounting End Date
133269 , p_source_82 IN DATE
133270 --Deferred Accounting Option
133271 , p_source_83 IN VARCHAR2
133272 --Deferred Accounting Start Date
133273 , p_source_84 IN DATE
133274 --Override Accounted Amount Indicator
133275 , p_source_85 IN VARCHAR2
133276 , p_source_85_meaning IN VARCHAR2
133277 --Invoice Supplier Identifier
133278 , p_source_86 IN NUMBER
133279 --Invoice Supplier Site Identifier
133280 , p_source_87 IN NUMBER
133281 --Third Party Type
133282 , p_source_88 IN VARCHAR2
133283 --Parent Reversal Identifier
133284 , p_source_89 IN NUMBER
133285 --Invoice Distribution Statistical Amount
133286 , p_source_90 IN NUMBER
133287 --Invoice Distribution Tax Line Identifier
133288 , p_source_91 IN NUMBER
133289 --Invoice Distribution Tax Distribution Identifier from Tax
133290 , p_source_92 IN NUMBER
133291 --Invoice Distribution Summary Tax Line Identifier
133292 , p_source_93 IN NUMBER
133293 --Payables Upgrade Credit Encumbrance Type Identifier
133294 , p_source_94 IN NUMBER
133298 , p_source_96 IN NUMBER
133295 --Payables Upgrade Debit Encumbrance Type Identifier
133296 , p_source_95 IN NUMBER
133297 --Business Flow Accounts Payable Application Identifier
133299 --Business Flow Invoice Distribution Type
133300 , p_source_97 IN VARCHAR2
133301 --Business Flow Invoice Entity Code
133302 , p_source_98 IN VARCHAR2
133303 --Business Flow Invoice Distribution Identifier
133304 , p_source_99 IN NUMBER
133305 --Business Flow Invoice Identifier
133306 , p_source_100 IN NUMBER
133307 --Invoice Exchange Date
133308 , p_source_146 IN DATE
133309 --Invoice Exchange Rate
133310 , p_source_147 IN NUMBER
133311 --Invoice Exchange Rate Type
133312 , p_source_148 IN VARCHAR2
133313 )
133314 IS
133315
133316 l_component_type VARCHAR2(80);
133317 l_component_code VARCHAR2(30);
133318 l_component_type_code VARCHAR2(1);
133319 l_component_appl_id INTEGER;
133320 l_amb_context_code VARCHAR2(30);
133321 l_entity_code VARCHAR2(30);
133322 l_event_class_code VARCHAR2(30);
133323 l_ae_header_id NUMBER;
133324 l_event_type_code VARCHAR2(30);
133325 l_line_definition_code VARCHAR2(30);
133326 l_line_definition_owner_code VARCHAR2(1);
133327 --
133328 -- adr variables
133329 l_segment VARCHAR2(30);
133330 l_ccid NUMBER;
133331 l_adr_transaction_coa_id NUMBER;
133332 l_adr_accounting_coa_id NUMBER;
133333 l_adr_flexfield_segment_code VARCHAR2(30);
133334 l_adr_flex_value_set_id NUMBER;
133335 l_adr_value_type_code VARCHAR2(30);
133336 l_adr_value_combination_id NUMBER;
133337 l_adr_value_segment_code VARCHAR2(30);
133338
133339 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
133340 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
133341 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
133342 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
133343
133344 -- 4262811 Variables ------------------------------------------------------------------------------------------
133345 l_entered_amt_idx NUMBER;
133346 l_accted_amt_idx NUMBER;
133347 l_acc_rev_flag VARCHAR2(1);
133348 l_accrual_line_num NUMBER;
133349 l_tmp_amt NUMBER;
133350 l_acc_rev_natural_side_code VARCHAR2(1);
133351
133352 l_num_entries NUMBER;
133353 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
133354 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
133355 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
133356 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
133357 l_recog_line_1 NUMBER;
133358 l_recog_line_2 NUMBER;
133359
133360 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
133361 l_bflow_applied_to_amt NUMBER; -- 5132302
133362 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
133363
133364 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
133365
133366 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
133367 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
133368
133369 ---------------------------------------------------------------------------------------------------------------
133370
133371
133372 --
133373 -- bulk performance
133374 --
133375 l_balance_type_code VARCHAR2(1);
133376 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
133377 l_log_module VARCHAR2(240);
133378
133379 --
133380 -- Upgrade strategy
133381 --
133382 l_actual_upg_option VARCHAR2(1);
133383 l_enc_upg_option VARCHAR2(1);
133384
133385 --
133386 BEGIN
133387 --
133388 IF g_log_enabled THEN
133389 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_224';
133390 END IF;
133391 --
133392 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
133393
133394 trace
133395 (p_msg => 'BEGIN of AcctLineType_224'
133396 ,p_level => C_LEVEL_PROCEDURE
133397 ,p_module => l_log_module);
133398
133399 END IF;
133400 --
133401 l_component_type := 'AMB_JLT';
133402 l_component_code := 'AP_TAX_EX_RATE_VAR_PREPAY';
133403 l_component_type_code := 'S';
133404 l_component_appl_id := 200;
133405 l_amb_context_code := 'DEFAULT';
133406 l_entity_code := 'AP_INVOICES';
133407 l_event_class_code := 'PREPAYMENTS';
133408 l_event_type_code := 'PREPAYMENTS_ALL';
133409 l_line_definition_owner_code := 'S';
133410 l_line_definition_code := 'ACCRUAL_PREPAYMENTS_ALL';
133411 --
133412 l_balance_type_code := 'A';
133413 l_segment := NULL;
133414 l_ccid := NULL;
133415 l_adr_transaction_coa_id := NULL;
133416 l_adr_accounting_coa_id := NULL;
133417 l_adr_flexfield_segment_code := NULL;
133418 l_adr_flex_value_set_id := NULL;
133419 l_adr_value_type_code := NULL;
133420 l_adr_value_combination_id := NULL;
133421 l_adr_value_segment_code := NULL;
133422
133423 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
133427
133424 l_bflow_class_code := 'AP_PREPAY'; -- 4219869 Business Flow
133425 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
133426 l_budgetary_control_flag := 'N';
133428 l_bflow_applied_to_amt_idx := NULL; -- 5132302
133429 l_bflow_applied_to_amt := NULL; -- 5132302
133430 l_entered_amt_idx := NULL; -- 4262811
133431 l_accted_amt_idx := NULL; -- 4262811
133432 l_acc_rev_flag := NULL; -- 4262811
133433 l_accrual_line_num := NULL; -- 4262811
133434 l_tmp_amt := NULL; -- 4262811
133435 --
133436 IF ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
133437 (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
133438 return;
133439 END IF;
133440
133441 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
133442 l_balance_type_code <> 'B' THEN
133443 IF NVL(p_source_28,'
133444 ') = 'TERV' AND
133445 NVL(p_source_54,'
133446 ') = 'Y'
133447 THEN
133448
133449 --
133450 XLA_AE_LINES_PKG.SetNewLine;
133451
133452 p_balance_type_code := l_balance_type_code;
133453 -- set the flag so later we will know whether the gain loss line needs to be created
133454
133455 IF(l_balance_type_code = 'A' ) THEN
133456 p_actual_flag :='G';
133457 END IF;
133458
133459 --
133460 -- bulk performance
133461 --
133462 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
133463 p_header_num => 0); -- 4262811
133464 --
133465 -- set accounting line options
133466 --
133467 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
133468 p_natural_side_code => 'D'
133469 , p_gain_or_loss_flag => 'Y'
133470 , p_gl_transfer_mode_code => 'S'
133471 , p_acct_entry_type_code => 'A'
133472 , p_switch_side_flag => 'Y'
133473 , p_merge_duplicate_code => 'A'
133474 );
133475 --
133476 l_acc_rev_natural_side_code := 'C'; -- 4262811
133477 --
133478 --
133479 -- set accounting line type info
133480 --
133481 xla_ae_lines_pkg.SetAcctLineType
133482 (p_component_type => l_component_type
133483 ,p_event_type_code => l_event_type_code
133484 ,p_line_definition_owner_code => l_line_definition_owner_code
133485 ,p_line_definition_code => l_line_definition_code
133486 ,p_accounting_line_code => l_component_code
133487 ,p_accounting_line_type_code => l_component_type_code
133488 ,p_accounting_line_appl_id => l_component_appl_id
133489 ,p_amb_context_code => l_amb_context_code
133490 ,p_entity_code => l_entity_code
133491 ,p_event_class_code => l_event_class_code);
133492 --
133493 -- set accounting class
133494 --
133495 xla_ae_lines_pkg.SetAcctClass(
133496 p_accounting_class_code => 'TERV'
133497 , p_ae_header_id => l_ae_header_id
133498 );
133499
133500 --
133501 -- set rounding class
133502 --
133503 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
133504 'TERV';
133505
133506 --
133507 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
133508 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
133509 --
133510 -- bulk performance
133511 --
133512 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
133513
133514 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
133515 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
133516
133517 -- 4955764
133518 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
133519 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
133520
133521 -- 4458381 Public Sector Enh
133522
133523 --
133524 -- set accounting attributes for the line type
133525 --
133526 l_entered_amt_idx := 23;
133527 l_accted_amt_idx := 28;
133528 l_bflow_applied_to_amt_idx := NULL; -- 5132302
133529 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
133530 l_rec_acct_attrs.array_char_value(1) := p_source_58;
133531 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
133532 l_rec_acct_attrs.array_num_value(2) :=
133533 xla_ae_sources_pkg.GetSystemSourceNum(
133534 p_source_code => 'XLA_EVENT_APPL_ID'
133535 , p_source_type_code => 'Y'
133536 , p_source_application_id => 602
133537 );
133538 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
133539 l_rec_acct_attrs.array_char_value(3) := p_source_60;
133540 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
133541 l_rec_acct_attrs.array_char_value(4) :=
133542 xla_ae_sources_pkg.GetSystemSourceChar(
133543 p_source_code => 'XLA_ENTITY_CODE'
133544 , p_source_type_code => 'Y'
133545 , p_source_application_id => 602
133546 );
133550 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_63);
133547 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
133548 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_62);
133549 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
133551 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
133552 l_rec_acct_attrs.array_num_value(7) := p_source_96;
133553 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
133554 l_rec_acct_attrs.array_char_value(8) := p_source_97;
133555 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
133556 l_rec_acct_attrs.array_char_value(9) := p_source_98;
133557 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
133558 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_99);
133559 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
133560 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_100);
133561 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
133562 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_69);
133563 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
133564 l_rec_acct_attrs.array_char_value(13) := p_source_60;
133565 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
133566 l_rec_acct_attrs.array_num_value(14) := p_source_70;
133567 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
133568 l_rec_acct_attrs.array_num_value(15) := p_source_71;
133569 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
133570 l_rec_acct_attrs.array_char_value(16) := p_source_72;
133571 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
133572 l_rec_acct_attrs.array_num_value(17) := p_source_73;
133573 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
133574 l_rec_acct_attrs.array_num_value(18) := p_source_74;
133575 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
133576 l_rec_acct_attrs.array_num_value(19) := p_source_75;
133577 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
133578 l_rec_acct_attrs.array_char_value(20) := p_source_72;
133579 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
133580 l_rec_acct_attrs.array_num_value(21) := p_source_76;
133581 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
133582 l_rec_acct_attrs.array_char_value(22) := p_source_77;
133583 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
133584 l_rec_acct_attrs.array_num_value(23) := p_source_78;
133585 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
133586 l_rec_acct_attrs.array_char_value(24) := p_source_72;
133587 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
133588 l_rec_acct_attrs.array_date_value(25) := p_source_146;
133589 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
133590 l_rec_acct_attrs.array_num_value(26) := p_source_147;
133591 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
133592 l_rec_acct_attrs.array_char_value(27) := p_source_148;
133593 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
133594 l_rec_acct_attrs.array_num_value(28) := p_source_16;
133595 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
133596 l_rec_acct_attrs.array_date_value(29) := p_source_82;
133597 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
133598 l_rec_acct_attrs.array_char_value(30) := p_source_83;
133599 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
133600 l_rec_acct_attrs.array_date_value(31) := p_source_84;
133601 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
133602 l_rec_acct_attrs.array_char_value(32) := p_source_85;
133603 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
133604 l_rec_acct_attrs.array_num_value(33) := p_source_86;
133605 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
133606 l_rec_acct_attrs.array_num_value(34) := p_source_87;
133607 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
133608 l_rec_acct_attrs.array_char_value(35) := p_source_88;
133609 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
133610 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_89);
133611 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
133612 l_rec_acct_attrs.array_char_value(37) := p_source_60;
133613 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
133614 l_rec_acct_attrs.array_num_value(38) := p_source_90;
133615 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
133616 l_rec_acct_attrs.array_num_value(39) := p_source_91;
133617 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
133618 l_rec_acct_attrs.array_num_value(40) := p_source_92;
133619 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
133620 l_rec_acct_attrs.array_num_value(41) := p_source_93;
133621 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
133622 l_rec_acct_attrs.array_num_value(42) := p_source_94;
133623 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
133624 l_rec_acct_attrs.array_num_value(43) := p_source_95;
133625
133626 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
133627 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
133628
133632 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
133629 ---------------------------------------------------------------------------------------------------------------
133630 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
133631 ---------------------------------------------------------------------------------------------------------------
133633
133634 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
133635 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
133636
133637 IF xla_accounting_cache_pkg.GetValueChar
133638 (p_source_code => 'LEDGER_CATEGORY_CODE'
133639 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
133640 AND l_bflow_method_code = 'PRIOR_ENTRY'
133641 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
133642 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
133643 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
133644 )
133645 THEN
133646 xla_ae_lines_pkg.BflowUpgEntry
133647 (p_business_method_code => l_bflow_method_code
133648 ,p_business_class_code => l_bflow_class_code
133649 ,p_balance_type => l_balance_type_code);
133650 ELSE
133651 NULL;
133652 -- No business flow processing for business flow method of NONE.
133653 END IF;
133654
133655 --
133656 -- call analytical criteria
133657 --
133658
133659 --
133660 -- call description
133661 --
133662
133663 xla_ae_lines_pkg.SetLineDescription(
133664 p_ae_header_id => l_ae_header_id
133665 ,p_description => Description_2 (
133666 p_application_id => p_application_id
133667 , p_ae_header_id => l_ae_header_id
133668 , p_source_1 => p_source_1
133669 )
133670 );
133671
133672
133673 --
133674 -- call ADRs
133675 -- Bug 4922099
133676 --
133677 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
133678 (NVL(l_actual_upg_option, 'N') = 'O') OR
133679 (NVL(l_enc_upg_option, 'N') = 'O')
133680 )
133681 THEN
133682 NULL;
133683 --
133684 --
133685
133686 l_ccid := AcctDerRule_32(
133687 p_application_id => p_application_id
133688 , p_ae_header_id => l_ae_header_id
133689 , p_source_10 => p_source_10
133690 , p_source_10_meaning => p_source_10_meaning
133691 , p_source_15 => p_source_15
133692 , p_source_16 => p_source_16
133693 , p_source_17 => p_source_17
133694 , p_source_17_meaning => p_source_17_meaning
133695 , p_source_18 => p_source_18
133696 , p_source_25 => p_source_25
133697 , p_source_43 => p_source_43
133698 , p_source_43_meaning => p_source_43_meaning
133699 , x_transaction_coa_id => l_adr_transaction_coa_id
133700 , x_accounting_coa_id => l_adr_accounting_coa_id
133701 , x_value_type_code => l_adr_value_type_code
133702 , p_side => 'NA'
133703 );
133704
133705 xla_ae_lines_pkg.set_ccid(
133706 p_code_combination_id => l_ccid
133707 , p_value_type_code => l_adr_value_type_code
133708 , p_transaction_coa_id => l_adr_transaction_coa_id
133709 , p_accounting_coa_id => l_adr_accounting_coa_id
133710 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
133711 , p_adr_type_code => 'S'
133712 , p_component_type => l_component_type
133713 , p_component_code => l_component_code
133714 , p_component_type_code => l_component_type_code
133715 , p_component_appl_id => l_component_appl_id
133716 , p_amb_context_code => l_amb_context_code
133717 , p_side => 'NA'
133718 );
133719
133720
133721 l_segment := AcctDerRule_8(
133722 p_application_id => p_application_id
133723 , p_ae_header_id => l_ae_header_id
133724 , p_source_10 => p_source_10
133725 , p_source_10_meaning => p_source_10_meaning
133726 , p_source_15 => p_source_15
133727 , p_source_16 => p_source_16
133728 , p_source_17 => p_source_17
133729 , p_source_17_meaning => p_source_17_meaning
133730 , p_source_18 => p_source_18
133731 , x_transaction_coa_id => l_adr_transaction_coa_id
133732 , x_accounting_coa_id => l_adr_accounting_coa_id
133733 , x_flexfield_segment_code => l_adr_flexfield_segment_code
133734 , x_flex_value_set_id => l_adr_flex_value_set_id
133735 , x_value_type_code => l_adr_value_type_code
133736 , x_value_combination_id => l_adr_value_combination_id
133737 , x_value_segment_code => l_adr_value_segment_code
133738 , p_side => 'NA'
133739 , p_override_seg_flag => 'Y'
133740 );
133741
133742 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
133743
133744 xla_ae_lines_pkg.set_segment(
133745 p_to_segment_code => 'GL_ACCOUNT'
133746 , p_segment_value => l_segment
133747 , p_from_segment_code => l_adr_value_segment_code
133748 , p_from_combination_id => l_adr_value_combination_id
133749 , p_value_type_code => l_adr_value_type_code
133753 , p_flex_value_set_id => l_adr_flex_value_set_id
133750 , p_transaction_coa_id => l_adr_transaction_coa_id
133751 , p_accounting_coa_id => l_adr_accounting_coa_id
133752 , p_flexfield_segment_code => l_adr_flexfield_segment_code
133754 , p_adr_code => 'AP_ERV_GAIN_LOSS_NAT_ACCT_SEG'
133755 , p_adr_type_code => 'S'
133756 , p_component_type => l_component_type
133757 , p_component_code => l_component_code
133758 , p_component_type_code => l_component_type_code
133759 , p_component_appl_id => l_component_appl_id
133760 , p_amb_context_code => l_amb_context_code
133761 , p_entity_code => 'AP_INVOICES'
133762 , p_event_class_code => 'PREPAYMENTS'
133763 , p_side => 'NA'
133764 );
133765
133766 END IF;
133767
133768 l_segment := AcctDerRule_24(
133769 p_application_id => p_application_id
133770 , p_ae_header_id => l_ae_header_id
133771 , p_source_10 => p_source_10
133772 , p_source_10_meaning => p_source_10_meaning
133773 , p_source_17 => p_source_17
133774 , p_source_17_meaning => p_source_17_meaning
133775 , p_source_25 => p_source_25
133776 , x_transaction_coa_id => l_adr_transaction_coa_id
133777 , x_accounting_coa_id => l_adr_accounting_coa_id
133778 , x_flexfield_segment_code => l_adr_flexfield_segment_code
133779 , x_flex_value_set_id => l_adr_flex_value_set_id
133780 , x_value_type_code => l_adr_value_type_code
133781 , x_value_combination_id => l_adr_value_combination_id
133782 , x_value_segment_code => l_adr_value_segment_code
133783 , p_side => 'NA'
133784 , p_override_seg_flag => 'Y'
133785 );
133786
133787 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
133788
133789 xla_ae_lines_pkg.set_segment(
133790 p_to_segment_code => 'GL_BALANCING'
133791 , p_segment_value => l_segment
133792 , p_from_segment_code => l_adr_value_segment_code
133793 , p_from_combination_id => l_adr_value_combination_id
133794 , p_value_type_code => l_adr_value_type_code
133795 , p_transaction_coa_id => l_adr_transaction_coa_id
133796 , p_accounting_coa_id => l_adr_accounting_coa_id
133797 , p_flexfield_segment_code => l_adr_flexfield_segment_code
133798 , p_flex_value_set_id => l_adr_flex_value_set_id
133799 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
133800 , p_adr_type_code => 'S'
133801 , p_component_type => l_component_type
133802 , p_component_code => l_component_code
133803 , p_component_type_code => l_component_type_code
133804 , p_component_appl_id => l_component_appl_id
133805 , p_amb_context_code => l_amb_context_code
133806 , p_entity_code => 'AP_INVOICES'
133807 , p_event_class_code => 'PREPAYMENTS'
133808 , p_side => 'NA'
133809 );
133810
133811 END IF;
133812
133813 --
133814 --
133815 END IF;
133816 --
133817 -- Bug 4922099
133818 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
133819 (NVL(l_enc_upg_option, 'N') = 'O')
133820 ) AND
133821 (l_bflow_method_code = 'PRIOR_ENTRY')
133822 )
133823 THEN
133824 IF
133825 --
133826 1 = 2
133827 --
133828 THEN
133829 xla_accounting_err_pkg.build_message
133830 (p_appli_s_name => 'XLA'
133831 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
133832 ,p_token_1 => 'LINE_NUMBER'
133833 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
133834 ,p_token_2 => 'LINE_TYPE_NAME'
133835 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
133836 l_component_type
133837 ,l_component_code
133838 ,l_component_type_code
133839 ,l_component_appl_id
133840 ,l_amb_context_code
133841 ,l_entity_code
133842 ,l_event_class_code
133843 )
133844 ,p_token_3 => 'OWNER'
133845 ,p_value_3 => xla_lookups_pkg.get_meaning(
133846 p_lookup_type => 'XLA_OWNER_TYPE'
133847 ,p_lookup_code => l_component_type_code
133848 )
133849 ,p_token_4 => 'PRODUCT_NAME'
133853 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
133850 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
133851 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
133852 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
133854 ,p_ae_header_id => NULL
133855 );
133856
133857 IF (C_LEVEL_ERROR>= g_log_level) THEN
133858 trace
133859 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
133860 ,p_level => C_LEVEL_ERROR
133861 ,p_module => l_log_module);
133862 END IF;
133863 END IF;
133864 END IF;
133865 --
133866 --
133867 ------------------------------------------------------------------------------------------------
133868 -- 4219869 Business Flow
133869 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
133870 -- Prior Entry. Currently, the following code is always generated.
133871 ------------------------------------------------------------------------------------------------
133872 XLA_AE_LINES_PKG.ValidateCurrentLine;
133873
133874 ------------------------------------------------------------------------------------
133875 -- 4219869 Business Flow
133876 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
133877 ------------------------------------------------------------------------------------
133878 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
133879
133880 ----------------------------------------------------------------------------------
133881 -- 4219869 Business Flow
133882 -- Update journal entry status -- Need to generate this within IF <condition>
133883 ----------------------------------------------------------------------------------
133884 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
133885 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
133886 ,p_balance_type_code => l_balance_type_code
133887 );
133888
133889 -------------------------------------------------------------------------------------------
133890 -- 4262811 - Generate the Accrual Reversal lines
133891 -------------------------------------------------------------------------------------------
133892 BEGIN
133893 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
133894 (g_array_event(p_event_id).array_value_num('header_index'));
133895 IF l_acc_rev_flag IS NULL THEN
133896 l_acc_rev_flag := 'N';
133897 END IF;
133898 EXCEPTION
133899 WHEN OTHERS THEN
133900 l_acc_rev_flag := 'N';
133901 END;
133902 --
133903 IF (l_acc_rev_flag = 'Y') THEN
133904
133905 -- 4645092 ------------------------------------------------------------------------------
133906 -- To allow MPA report to determine if it should generate report process
133907 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
133908 ------------------------------------------------------------------------------------------
133909
133910 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
133911 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
133912 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
133913 -- call ADRs
133914 -- Bug 4922099
133915 --
133916 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
133917 (NVL(l_actual_upg_option, 'N') = 'O') OR
133918 (NVL(l_enc_upg_option, 'N') = 'O')
133919 )
133920 THEN
133921 NULL;
133922 --
133923 --
133924
133925 l_ccid := AcctDerRule_32(
133926 p_application_id => p_application_id
133927 , p_ae_header_id => l_ae_header_id
133928 , p_source_10 => p_source_10
133929 , p_source_10_meaning => p_source_10_meaning
133930 , p_source_15 => p_source_15
133931 , p_source_16 => p_source_16
133932 , p_source_17 => p_source_17
133933 , p_source_17_meaning => p_source_17_meaning
133934 , p_source_18 => p_source_18
133935 , p_source_25 => p_source_25
133936 , p_source_43 => p_source_43
133937 , p_source_43_meaning => p_source_43_meaning
133938 , x_transaction_coa_id => l_adr_transaction_coa_id
133939 , x_accounting_coa_id => l_adr_accounting_coa_id
133940 , x_value_type_code => l_adr_value_type_code
133941 , p_side => 'NA'
133942 );
133943
133944 xla_ae_lines_pkg.set_ccid(
133945 p_code_combination_id => l_ccid
133946 , p_value_type_code => l_adr_value_type_code
133947 , p_transaction_coa_id => l_adr_transaction_coa_id
133948 , p_accounting_coa_id => l_adr_accounting_coa_id
133949 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
133950 , p_adr_type_code => 'S'
133951 , p_component_type => l_component_type
133952 , p_component_code => l_component_code
133953 , p_component_type_code => l_component_type_code
133954 , p_component_appl_id => l_component_appl_id
133955 , p_amb_context_code => l_amb_context_code
133956 , p_side => 'NA'
133957 );
133958
133959
133963 , p_source_10 => p_source_10
133960 l_segment := AcctDerRule_8(
133961 p_application_id => p_application_id
133962 , p_ae_header_id => l_ae_header_id
133964 , p_source_10_meaning => p_source_10_meaning
133965 , p_source_15 => p_source_15
133966 , p_source_16 => p_source_16
133967 , p_source_17 => p_source_17
133968 , p_source_17_meaning => p_source_17_meaning
133969 , p_source_18 => p_source_18
133970 , x_transaction_coa_id => l_adr_transaction_coa_id
133971 , x_accounting_coa_id => l_adr_accounting_coa_id
133972 , x_flexfield_segment_code => l_adr_flexfield_segment_code
133973 , x_flex_value_set_id => l_adr_flex_value_set_id
133974 , x_value_type_code => l_adr_value_type_code
133975 , x_value_combination_id => l_adr_value_combination_id
133976 , x_value_segment_code => l_adr_value_segment_code
133977 , p_side => 'NA'
133978 , p_override_seg_flag => 'Y'
133979 );
133980
133981 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
133982
133983 xla_ae_lines_pkg.set_segment(
133984 p_to_segment_code => 'GL_ACCOUNT'
133985 , p_segment_value => l_segment
133986 , p_from_segment_code => l_adr_value_segment_code
133987 , p_from_combination_id => l_adr_value_combination_id
133988 , p_value_type_code => l_adr_value_type_code
133989 , p_transaction_coa_id => l_adr_transaction_coa_id
133990 , p_accounting_coa_id => l_adr_accounting_coa_id
133991 , p_flexfield_segment_code => l_adr_flexfield_segment_code
133992 , p_flex_value_set_id => l_adr_flex_value_set_id
133993 , p_adr_code => 'AP_ERV_GAIN_LOSS_NAT_ACCT_SEG'
133994 , p_adr_type_code => 'S'
133995 , p_component_type => l_component_type
133996 , p_component_code => l_component_code
133997 , p_component_type_code => l_component_type_code
133998 , p_component_appl_id => l_component_appl_id
133999 , p_amb_context_code => l_amb_context_code
134000 , p_entity_code => 'AP_INVOICES'
134001 , p_event_class_code => 'PREPAYMENTS'
134002 , p_side => 'NA'
134003 );
134004
134005 END IF;
134006
134007 l_segment := AcctDerRule_24(
134008 p_application_id => p_application_id
134009 , p_ae_header_id => l_ae_header_id
134010 , p_source_10 => p_source_10
134011 , p_source_10_meaning => p_source_10_meaning
134012 , p_source_17 => p_source_17
134013 , p_source_17_meaning => p_source_17_meaning
134014 , p_source_25 => p_source_25
134015 , x_transaction_coa_id => l_adr_transaction_coa_id
134016 , x_accounting_coa_id => l_adr_accounting_coa_id
134017 , x_flexfield_segment_code => l_adr_flexfield_segment_code
134018 , x_flex_value_set_id => l_adr_flex_value_set_id
134019 , x_value_type_code => l_adr_value_type_code
134020 , x_value_combination_id => l_adr_value_combination_id
134021 , x_value_segment_code => l_adr_value_segment_code
134022 , p_side => 'NA'
134023 , p_override_seg_flag => 'Y'
134024 );
134025
134026 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
134027
134028 xla_ae_lines_pkg.set_segment(
134029 p_to_segment_code => 'GL_BALANCING'
134030 , p_segment_value => l_segment
134031 , p_from_segment_code => l_adr_value_segment_code
134032 , p_from_combination_id => l_adr_value_combination_id
134033 , p_value_type_code => l_adr_value_type_code
134034 , p_transaction_coa_id => l_adr_transaction_coa_id
134035 , p_accounting_coa_id => l_adr_accounting_coa_id
134036 , p_flexfield_segment_code => l_adr_flexfield_segment_code
134037 , p_flex_value_set_id => l_adr_flex_value_set_id
134038 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
134039 , p_adr_type_code => 'S'
134040 , p_component_type => l_component_type
134041 , p_component_code => l_component_code
134042 , p_component_type_code => l_component_type_code
134043 , p_component_appl_id => l_component_appl_id
134044 , p_amb_context_code => l_amb_context_code
134045 , p_entity_code => 'AP_INVOICES'
134046 , p_event_class_code => 'PREPAYMENTS'
134047 , p_side => 'NA'
134048 );
134049
134050 END IF;
134051
134052 --
134053 --
134054 END IF;
134055
134056 --
134057 -- Update the line information that should be overwritten
134058 --
134059 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
134060 p_header_num => 1);
134061 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
134062
134063 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
134064
134065 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
134069 --
134066 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
134067 END IF;
134068
134070 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
134071 --
134072 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
134073 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
134074 ELSE
134075 ---------------------------------------------------------------------------------------------------
134076 -- 4262811a Switch Sign
134077 ---------------------------------------------------------------------------------------------------
134078 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
134079 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
134080 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
134081 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
134082 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
134083 -- 5132302
134084 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
134085 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
134086
134087 END IF;
134088
134089 -- 4955764
134090 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
134091 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
134092
134093
134094 XLA_AE_LINES_PKG.ValidateCurrentLine;
134095 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
134096
134097 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
134098 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
134099 ,p_balance_type_code => l_balance_type_code);
134100
134101 END IF;
134102
134103 -----------------------------------------------------------------------------------------
134104 -- 4262811 Multiperiod Accounting
134105 -----------------------------------------------------------------------------------------
134106 -- No MPA option is assigned.
134107
134108
134109 END IF;
134110 END IF;
134111 --
134112
134113 --
134114 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
134115 trace
134116 (p_msg => 'END of AcctLineType_224'
134117 ,p_level => C_LEVEL_PROCEDURE
134118 ,p_module => l_log_module);
134119 END IF;
134120 --
134121 EXCEPTION
134122 WHEN xla_exceptions_pkg.application_exception THEN
134123 RAISE;
134124 WHEN OTHERS THEN
134125 xla_exceptions_pkg.raise_message
134126 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_224');
134127 END AcctLineType_224;
134128 --
134129
134130 ---------------------------------------
134131 --
134132 -- PRIVATE FUNCTION
134133 -- AcctLineType_225
134134 --
134135 ---------------------------------------
134136 PROCEDURE AcctLineType_225 (
134137 p_application_id IN NUMBER
134138 ,p_event_id IN NUMBER
134139 ,p_calculate_acctd_flag IN VARCHAR2
134140 ,p_calculate_g_l_flag IN VARCHAR2
134141 ,p_actual_flag IN OUT VARCHAR2
134142 ,p_balance_type_code OUT VARCHAR2
134143 ,p_gain_or_loss_ref OUT VARCHAR2
134144
134145 --Invoice Distribution Description
134146 , p_source_1 IN VARCHAR2
134147 --Invoice Distribution Ledger Amount
134148 , p_source_16 IN NUMBER
134149 --Invoice Distribution Account
134150 , p_source_25 IN NUMBER
134151 --Invoice Distribution Type
134152 , p_source_28 IN VARCHAR2
134153 , p_source_28_meaning IN VARCHAR2
134154 --Accrue on Receipt Option
134155 , p_source_54 IN VARCHAR2
134156 , p_source_54_meaning IN VARCHAR2
134157 --Accounting Reversal Indicator
134158 , p_source_58 IN VARCHAR2
134159 --Distribution Link Type
134160 , p_source_60 IN VARCHAR2
134161 --Allocation to Main Distribution Identifier
134162 , p_source_62 IN NUMBER
134163 --Invoice Identifier
134164 , p_source_63 IN NUMBER
134165 --Invoice Distribution Identifier
134166 , p_source_69 IN NUMBER
134167 --Payables Encumbrance Upgrade Credit Account
134168 , p_source_70 IN NUMBER
134169 --Payables Encumbrance Upgrade Credit Amount
134170 , p_source_71 IN NUMBER
134171 --Invoice Currency Code
134172 , p_source_72 IN VARCHAR2
134173 --Payables Encumbrance Upgrade Credit Base Amount
134174 , p_source_73 IN NUMBER
134175 --Payables Encumbrance Upgrade Debit Account
134176 , p_source_74 IN NUMBER
134177 --Payables Encumbrance Upgrade Debit Amount
134178 , p_source_75 IN NUMBER
134179 --Payables Encumbrance Upgrade Debit Base Amount
134180 , p_source_76 IN NUMBER
134181 --Payables Encumbrance Upgrade Option
134182 , p_source_77 IN VARCHAR2
134183 --Invoice Distribution Amount
134184 , p_source_78 IN NUMBER
134185 --Deferred Accounting End Date
134189 --Deferred Accounting Start Date
134186 , p_source_82 IN DATE
134187 --Deferred Accounting Option
134188 , p_source_83 IN VARCHAR2
134190 , p_source_84 IN DATE
134191 --Override Accounted Amount Indicator
134192 , p_source_85 IN VARCHAR2
134193 , p_source_85_meaning IN VARCHAR2
134194 --Invoice Supplier Identifier
134195 , p_source_86 IN NUMBER
134196 --Invoice Supplier Site Identifier
134197 , p_source_87 IN NUMBER
134198 --Third Party Type
134199 , p_source_88 IN VARCHAR2
134200 --Parent Reversal Identifier
134201 , p_source_89 IN NUMBER
134202 --Invoice Distribution Statistical Amount
134203 , p_source_90 IN NUMBER
134204 --Invoice Distribution Tax Line Identifier
134205 , p_source_91 IN NUMBER
134206 --Invoice Distribution Tax Distribution Identifier from Tax
134207 , p_source_92 IN NUMBER
134208 --Invoice Distribution Summary Tax Line Identifier
134209 , p_source_93 IN NUMBER
134210 --Payables Upgrade Credit Encumbrance Type Identifier
134211 , p_source_94 IN NUMBER
134212 --Payables Upgrade Debit Encumbrance Type Identifier
134213 , p_source_95 IN NUMBER
134214 --Business Flow Accounts Payable Application Identifier
134215 , p_source_96 IN NUMBER
134216 --Business Flow Invoice Distribution Type
134217 , p_source_97 IN VARCHAR2
134218 --Business Flow Invoice Entity Code
134219 , p_source_98 IN VARCHAR2
134220 --Business Flow Invoice Distribution Identifier
134221 , p_source_99 IN NUMBER
134222 --Business Flow Invoice Identifier
134223 , p_source_100 IN NUMBER
134224 --Invoice Exchange Date
134225 , p_source_146 IN DATE
134226 --Invoice Exchange Rate
134227 , p_source_147 IN NUMBER
134228 --Invoice Exchange Rate Type
134229 , p_source_148 IN VARCHAR2
134230 )
134231 IS
134232
134233 l_component_type VARCHAR2(80);
134234 l_component_code VARCHAR2(30);
134235 l_component_type_code VARCHAR2(1);
134236 l_component_appl_id INTEGER;
134237 l_amb_context_code VARCHAR2(30);
134238 l_entity_code VARCHAR2(30);
134239 l_event_class_code VARCHAR2(30);
134240 l_ae_header_id NUMBER;
134241 l_event_type_code VARCHAR2(30);
134242 l_line_definition_code VARCHAR2(30);
134243 l_line_definition_owner_code VARCHAR2(1);
134244 --
134245 -- adr variables
134246 l_segment VARCHAR2(30);
134247 l_ccid NUMBER;
134248 l_adr_transaction_coa_id NUMBER;
134249 l_adr_accounting_coa_id NUMBER;
134250 l_adr_flexfield_segment_code VARCHAR2(30);
134251 l_adr_flex_value_set_id NUMBER;
134252 l_adr_value_type_code VARCHAR2(30);
134253 l_adr_value_combination_id NUMBER;
134254 l_adr_value_segment_code VARCHAR2(30);
134255
134256 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
134257 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
134258 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
134259 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
134260
134261 -- 4262811 Variables ------------------------------------------------------------------------------------------
134262 l_entered_amt_idx NUMBER;
134263 l_accted_amt_idx NUMBER;
134264 l_acc_rev_flag VARCHAR2(1);
134265 l_accrual_line_num NUMBER;
134266 l_tmp_amt NUMBER;
134267 l_acc_rev_natural_side_code VARCHAR2(1);
134268
134269 l_num_entries NUMBER;
134270 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
134271 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
134272 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
134273 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
134274 l_recog_line_1 NUMBER;
134275 l_recog_line_2 NUMBER;
134276
134277 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
134278 l_bflow_applied_to_amt NUMBER; -- 5132302
134279 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
134280
134281 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
134282
134283 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
134284 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
134285
134286 ---------------------------------------------------------------------------------------------------------------
134287
134288
134289 --
134290 -- bulk performance
134291 --
134292 l_balance_type_code VARCHAR2(1);
134293 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
134294 l_log_module VARCHAR2(240);
134295
134296 --
134297 -- Upgrade strategy
134298 --
134299 l_actual_upg_option VARCHAR2(1);
134300 l_enc_upg_option VARCHAR2(1);
134301
134302 --
134303 BEGIN
134304 --
134305 IF g_log_enabled THEN
134306 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_225';
134307 END IF;
134308 --
134309 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
134310
134311 trace
134312 (p_msg => 'BEGIN of AcctLineType_225'
134316 END IF;
134313 ,p_level => C_LEVEL_PROCEDURE
134314 ,p_module => l_log_module);
134315
134317 --
134318 l_component_type := 'AMB_JLT';
134319 l_component_code := 'AP_TAX_INV_PRICE_VAR_CM';
134320 l_component_type_code := 'S';
134321 l_component_appl_id := 200;
134322 l_amb_context_code := 'DEFAULT';
134323 l_entity_code := 'AP_INVOICES';
134324 l_event_class_code := 'CREDIT MEMOS';
134325 l_event_type_code := 'CREDIT MEMOS_ALL';
134326 l_line_definition_owner_code := 'S';
134327 l_line_definition_code := 'ACCRUAL_CREDIT MEMOS_ALL';
134328 --
134329 l_balance_type_code := 'A';
134330 l_segment := NULL;
134331 l_ccid := NULL;
134332 l_adr_transaction_coa_id := NULL;
134333 l_adr_accounting_coa_id := NULL;
134334 l_adr_flexfield_segment_code := NULL;
134335 l_adr_flex_value_set_id := NULL;
134336 l_adr_value_type_code := NULL;
134337 l_adr_value_combination_id := NULL;
134338 l_adr_value_segment_code := NULL;
134339
134340 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
134341 l_bflow_class_code := ''; -- 4219869 Business Flow
134342 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
134343 l_budgetary_control_flag := 'N';
134344
134345 l_bflow_applied_to_amt_idx := NULL; -- 5132302
134346 l_bflow_applied_to_amt := NULL; -- 5132302
134347 l_entered_amt_idx := NULL; -- 4262811
134348 l_accted_amt_idx := NULL; -- 4262811
134349 l_acc_rev_flag := NULL; -- 4262811
134350 l_accrual_line_num := NULL; -- 4262811
134351 l_tmp_amt := NULL; -- 4262811
134352 --
134353
134354 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
134355 l_balance_type_code <> 'B' THEN
134356 IF NVL(p_source_28,'
134357 ') = 'TIPV' AND
134358 NVL(p_source_54,'
134359 ') = 'Y'
134360 THEN
134361
134362 --
134363 XLA_AE_LINES_PKG.SetNewLine;
134364
134365 p_balance_type_code := l_balance_type_code;
134366 -- set the flag so later we will know whether the gain loss line needs to be created
134367
134368 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
134369 p_actual_flag :='A';
134370 END IF;
134371
134372 --
134373 -- bulk performance
134374 --
134375 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
134376 p_header_num => 0); -- 4262811
134377 --
134378 -- set accounting line options
134379 --
134380 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
134381 p_natural_side_code => 'D'
134382 , p_gain_or_loss_flag => 'N'
134383 , p_gl_transfer_mode_code => 'S'
134384 , p_acct_entry_type_code => 'A'
134385 , p_switch_side_flag => 'Y'
134386 , p_merge_duplicate_code => 'A'
134387 );
134388 --
134389 l_acc_rev_natural_side_code := 'C'; -- 4262811
134390 --
134391 --
134392 -- set accounting line type info
134393 --
134394 xla_ae_lines_pkg.SetAcctLineType
134395 (p_component_type => l_component_type
134396 ,p_event_type_code => l_event_type_code
134397 ,p_line_definition_owner_code => l_line_definition_owner_code
134398 ,p_line_definition_code => l_line_definition_code
134399 ,p_accounting_line_code => l_component_code
134400 ,p_accounting_line_type_code => l_component_type_code
134401 ,p_accounting_line_appl_id => l_component_appl_id
134402 ,p_amb_context_code => l_amb_context_code
134403 ,p_entity_code => l_entity_code
134404 ,p_event_class_code => l_event_class_code);
134405 --
134406 -- set accounting class
134407 --
134408 xla_ae_lines_pkg.SetAcctClass(
134409 p_accounting_class_code => 'TIPV'
134410 , p_ae_header_id => l_ae_header_id
134411 );
134412
134413 --
134414 -- set rounding class
134415 --
134416 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
134417 'TIPV';
134418
134419 --
134420 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
134421 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
134422 --
134423 -- bulk performance
134424 --
134425 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
134426
134427 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
134428 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
134429
134430 -- 4955764
134431 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
134432 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
134433
134434 -- 4458381 Public Sector Enh
134435
134436 --
134437 -- set accounting attributes for the line type
134438 --
134439 l_entered_amt_idx := 23;
134440 l_accted_amt_idx := 28;
134441 l_bflow_applied_to_amt_idx := NULL; -- 5132302
134442 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
134443 l_rec_acct_attrs.array_char_value(1) := p_source_58;
134447 p_source_code => 'XLA_EVENT_APPL_ID'
134444 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
134445 l_rec_acct_attrs.array_num_value(2) :=
134446 xla_ae_sources_pkg.GetSystemSourceNum(
134448 , p_source_type_code => 'Y'
134449 , p_source_application_id => 602
134450 );
134451 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
134452 l_rec_acct_attrs.array_char_value(3) := p_source_60;
134453 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
134454 l_rec_acct_attrs.array_char_value(4) :=
134455 xla_ae_sources_pkg.GetSystemSourceChar(
134456 p_source_code => 'XLA_ENTITY_CODE'
134457 , p_source_type_code => 'Y'
134458 , p_source_application_id => 602
134459 );
134460 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
134461 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_62);
134462 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
134463 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_63);
134464 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
134465 l_rec_acct_attrs.array_num_value(7) := p_source_96;
134466 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
134467 l_rec_acct_attrs.array_char_value(8) := p_source_97;
134468 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
134469 l_rec_acct_attrs.array_char_value(9) := p_source_98;
134470 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
134471 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_99);
134472 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
134473 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_100);
134474 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
134475 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_69);
134476 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
134477 l_rec_acct_attrs.array_char_value(13) := p_source_60;
134478 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
134479 l_rec_acct_attrs.array_num_value(14) := p_source_70;
134480 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
134481 l_rec_acct_attrs.array_num_value(15) := p_source_71;
134482 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
134483 l_rec_acct_attrs.array_char_value(16) := p_source_72;
134484 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
134485 l_rec_acct_attrs.array_num_value(17) := p_source_73;
134486 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
134487 l_rec_acct_attrs.array_num_value(18) := p_source_74;
134488 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
134489 l_rec_acct_attrs.array_num_value(19) := p_source_75;
134490 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
134491 l_rec_acct_attrs.array_char_value(20) := p_source_72;
134492 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
134493 l_rec_acct_attrs.array_num_value(21) := p_source_76;
134494 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
134495 l_rec_acct_attrs.array_char_value(22) := p_source_77;
134496 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
134497 l_rec_acct_attrs.array_num_value(23) := p_source_78;
134498 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
134499 l_rec_acct_attrs.array_char_value(24) := p_source_72;
134500 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
134501 l_rec_acct_attrs.array_date_value(25) := p_source_146;
134502 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
134503 l_rec_acct_attrs.array_num_value(26) := p_source_147;
134504 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
134505 l_rec_acct_attrs.array_char_value(27) := p_source_148;
134506 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
134507 l_rec_acct_attrs.array_num_value(28) := p_source_16;
134508 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
134509 l_rec_acct_attrs.array_date_value(29) := p_source_82;
134510 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
134511 l_rec_acct_attrs.array_char_value(30) := p_source_83;
134512 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
134513 l_rec_acct_attrs.array_date_value(31) := p_source_84;
134514 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
134515 l_rec_acct_attrs.array_char_value(32) := p_source_85;
134516 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
134517 l_rec_acct_attrs.array_num_value(33) := p_source_86;
134518 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
134519 l_rec_acct_attrs.array_num_value(34) := p_source_87;
134520 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
134521 l_rec_acct_attrs.array_char_value(35) := p_source_88;
134522 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
134523 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_89);
134524 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
134525 l_rec_acct_attrs.array_char_value(37) := p_source_60;
134526 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
134527 l_rec_acct_attrs.array_num_value(38) := p_source_90;
134528 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
134529 l_rec_acct_attrs.array_num_value(39) := p_source_91;
134530 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
134531 l_rec_acct_attrs.array_num_value(40) := p_source_92;
134532 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
134533 l_rec_acct_attrs.array_num_value(41) := p_source_93;
134534 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
134535 l_rec_acct_attrs.array_num_value(42) := p_source_94;
134536 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
134537 l_rec_acct_attrs.array_num_value(43) := p_source_95;
134541
134538
134539 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
134540 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
134542 ---------------------------------------------------------------------------------------------------------------
134543 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
134544 ---------------------------------------------------------------------------------------------------------------
134545 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
134546
134547 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
134548 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
134549
134550 IF xla_accounting_cache_pkg.GetValueChar
134551 (p_source_code => 'LEDGER_CATEGORY_CODE'
134552 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
134553 AND l_bflow_method_code = 'PRIOR_ENTRY'
134557 )
134554 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
134555 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
134556 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
134558 THEN
134559 xla_ae_lines_pkg.BflowUpgEntry
134560 (p_business_method_code => l_bflow_method_code
134561 ,p_business_class_code => l_bflow_class_code
134562 ,p_balance_type => l_balance_type_code);
134563 ELSE
134564 NULL;
134565 -- No business flow processing for business flow method of NONE.
134566 END IF;
134567
134568 --
134569 -- call analytical criteria
134570 --
134571
134572 --
134573 -- call description
134574 --
134575
134576 xla_ae_lines_pkg.SetLineDescription(
134577 p_ae_header_id => l_ae_header_id
134578 ,p_description => Description_2 (
134579 p_application_id => p_application_id
134580 , p_ae_header_id => l_ae_header_id
134581 , p_source_1 => p_source_1
134582 )
134583 );
134584
134585
134586 --
134587 -- call ADRs
134588 -- Bug 4922099
134589 --
134590 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
134591 (NVL(l_actual_upg_option, 'N') = 'O') OR
134592 (NVL(l_enc_upg_option, 'N') = 'O')
134593 )
134594 THEN
134595 NULL;
134596 --
134597 --
134598
134599 l_ccid := AcctDerRule_35(
134600 p_application_id => p_application_id
134601 , p_ae_header_id => l_ae_header_id
134602 , p_source_25 => p_source_25
134603 , x_transaction_coa_id => l_adr_transaction_coa_id
134604 , x_accounting_coa_id => l_adr_accounting_coa_id
134605 , x_value_type_code => l_adr_value_type_code
134606 , p_side => 'NA'
134607 );
134608
134609 xla_ae_lines_pkg.set_ccid(
134610 p_code_combination_id => l_ccid
134611 , p_value_type_code => l_adr_value_type_code
134612 , p_transaction_coa_id => l_adr_transaction_coa_id
134613 , p_accounting_coa_id => l_adr_accounting_coa_id
134614 , p_adr_code => 'AP_INVOICE_DIST'
134615 , p_adr_type_code => 'S'
134616 , p_component_type => l_component_type
134617 , p_component_code => l_component_code
134618 , p_component_type_code => l_component_type_code
134619 , p_component_appl_id => l_component_appl_id
134620 , p_amb_context_code => l_amb_context_code
134621 , p_side => 'NA'
134622 );
134623
134624
134625 --
134626 --
134627 END IF;
134628 --
134629 -- Bug 4922099
134630 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
134631 (NVL(l_enc_upg_option, 'N') = 'O')
134632 ) AND
134633 (l_bflow_method_code = 'PRIOR_ENTRY')
134634 )
134635 THEN
134636 IF
134637 --
134638 1 = 2
134639 --
134640 THEN
134641 xla_accounting_err_pkg.build_message
134642 (p_appli_s_name => 'XLA'
134643 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
134644 ,p_token_1 => 'LINE_NUMBER'
134645 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
134646 ,p_token_2 => 'LINE_TYPE_NAME'
134647 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
134648 l_component_type
134649 ,l_component_code
134650 ,l_component_type_code
134651 ,l_component_appl_id
134652 ,l_amb_context_code
134653 ,l_entity_code
134654 ,l_event_class_code
134655 )
134656 ,p_token_3 => 'OWNER'
134657 ,p_value_3 => xla_lookups_pkg.get_meaning(
134658 p_lookup_type => 'XLA_OWNER_TYPE'
134659 ,p_lookup_code => l_component_type_code
134660 )
134661 ,p_token_4 => 'PRODUCT_NAME'
134662 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
134663 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
134664 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
134665 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
134666 ,p_ae_header_id => NULL
134667 );
134668
134669 IF (C_LEVEL_ERROR>= g_log_level) THEN
134670 trace
134671 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
134672 ,p_level => C_LEVEL_ERROR
134673 ,p_module => l_log_module);
134674 END IF;
134675 END IF;
134676 END IF;
134677 --
134678 --
134682 -- Prior Entry. Currently, the following code is always generated.
134679 ------------------------------------------------------------------------------------------------
134680 -- 4219869 Business Flow
134681 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
134683 ------------------------------------------------------------------------------------------------
134684 XLA_AE_LINES_PKG.ValidateCurrentLine;
134685
134686 ------------------------------------------------------------------------------------
134687 -- 4219869 Business Flow
134688 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
134689 ------------------------------------------------------------------------------------
134690 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
134691
134692 ----------------------------------------------------------------------------------
134693 -- 4219869 Business Flow
134694 -- Update journal entry status -- Need to generate this within IF <condition>
134695 ----------------------------------------------------------------------------------
134696 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
134697 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
134698 ,p_balance_type_code => l_balance_type_code
134699 );
134700
134701 -------------------------------------------------------------------------------------------
134702 -- 4262811 - Generate the Accrual Reversal lines
134703 -------------------------------------------------------------------------------------------
134704 BEGIN
134705 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
134706 (g_array_event(p_event_id).array_value_num('header_index'));
134707 IF l_acc_rev_flag IS NULL THEN
134708 l_acc_rev_flag := 'N';
134709 END IF;
134710 EXCEPTION
134711 WHEN OTHERS THEN
134712 l_acc_rev_flag := 'N';
134713 END;
134714 --
134715 IF (l_acc_rev_flag = 'Y') THEN
134716
134717 -- 4645092 ------------------------------------------------------------------------------
134718 -- To allow MPA report to determine if it should generate report process
134719 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
134720 ------------------------------------------------------------------------------------------
134721
134722 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
134723 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
134724 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
134725 -- call ADRs
134726 -- Bug 4922099
134727 --
134728 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
134729 (NVL(l_actual_upg_option, 'N') = 'O') OR
134730 (NVL(l_enc_upg_option, 'N') = 'O')
134731 )
134732 THEN
134733 NULL;
134734 --
134735 --
134736
134737 l_ccid := AcctDerRule_35(
134738 p_application_id => p_application_id
134739 , p_ae_header_id => l_ae_header_id
134740 , p_source_25 => p_source_25
134741 , x_transaction_coa_id => l_adr_transaction_coa_id
134742 , x_accounting_coa_id => l_adr_accounting_coa_id
134743 , x_value_type_code => l_adr_value_type_code
134744 , p_side => 'NA'
134745 );
134746
134747 xla_ae_lines_pkg.set_ccid(
134748 p_code_combination_id => l_ccid
134749 , p_value_type_code => l_adr_value_type_code
134750 , p_transaction_coa_id => l_adr_transaction_coa_id
134751 , p_accounting_coa_id => l_adr_accounting_coa_id
134752 , p_adr_code => 'AP_INVOICE_DIST'
134753 , p_adr_type_code => 'S'
134754 , p_component_type => l_component_type
134755 , p_component_code => l_component_code
134756 , p_component_type_code => l_component_type_code
134757 , p_component_appl_id => l_component_appl_id
134758 , p_amb_context_code => l_amb_context_code
134759 , p_side => 'NA'
134760 );
134761
134762
134763 --
134764 --
134765 END IF;
134766
134767 --
134768 -- Update the line information that should be overwritten
134769 --
134770 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
134771 p_header_num => 1);
134772 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
134773
134774 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
134775
134776 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
134777 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
134778 END IF;
134779
134780 --
134781 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
134782 --
134783 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
134784 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
134785 ELSE
134786 ---------------------------------------------------------------------------------------------------
134787 -- 4262811a Switch Sign
134788 ---------------------------------------------------------------------------------------------------
134789 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
134790 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
134791 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
134792 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
134796 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
134793 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
134794 -- 5132302
134795 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
134797
134798 END IF;
134799
134800 -- 4955764
134801 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
134802 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
134803
134804
134805 XLA_AE_LINES_PKG.ValidateCurrentLine;
134806 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
134807
134808 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
134809 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
134810 ,p_balance_type_code => l_balance_type_code);
134811
134812 END IF;
134813
134814 -----------------------------------------------------------------------------------------
134815 -- 4262811 Multiperiod Accounting
134816 -----------------------------------------------------------------------------------------
134817 -- No MPA option is assigned.
134818
134819
134820 END IF;
134821 END IF;
134822 --
134823
134824 --
134825 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
134826 trace
134827 (p_msg => 'END of AcctLineType_225'
134828 ,p_level => C_LEVEL_PROCEDURE
134829 ,p_module => l_log_module);
134830 END IF;
134831 --
134832 EXCEPTION
134833 WHEN xla_exceptions_pkg.application_exception THEN
134834 RAISE;
134835 WHEN OTHERS THEN
134836 xla_exceptions_pkg.raise_message
134837 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_225');
134838 END AcctLineType_225;
134839 --
134840
134841 ---------------------------------------
134842 --
134843 -- PRIVATE FUNCTION
134844 -- AcctLineType_226
134845 --
134846 ---------------------------------------
134847 PROCEDURE AcctLineType_226 (
134848 p_application_id IN NUMBER
134849 ,p_event_id IN NUMBER
134850 ,p_calculate_acctd_flag IN VARCHAR2
134851 ,p_calculate_g_l_flag IN VARCHAR2
134852 ,p_actual_flag IN OUT VARCHAR2
134853 ,p_balance_type_code OUT VARCHAR2
134854 ,p_gain_or_loss_ref OUT VARCHAR2
134855
134856 --Invoice Distribution Description
134857 , p_source_1 IN VARCHAR2
134858 --Invoice Distribution Ledger Amount
134859 , p_source_16 IN NUMBER
134860 --Invoice Distribution Account
134861 , p_source_25 IN NUMBER
134862 --Invoice Distribution Type
134863 , p_source_28 IN VARCHAR2
134864 , p_source_28_meaning IN VARCHAR2
134865 --Accrue on Receipt Option
134866 , p_source_54 IN VARCHAR2
134867 , p_source_54_meaning IN VARCHAR2
134868 --Accounting Reversal Indicator
134869 , p_source_58 IN VARCHAR2
134870 --Distribution Link Type
134871 , p_source_60 IN VARCHAR2
134872 --Allocation to Main Distribution Identifier
134873 , p_source_62 IN NUMBER
134874 --Invoice Identifier
134875 , p_source_63 IN NUMBER
134876 --Invoice Distribution Identifier
134877 , p_source_69 IN NUMBER
134878 --Payables Encumbrance Upgrade Credit Account
134879 , p_source_70 IN NUMBER
134880 --Payables Encumbrance Upgrade Credit Amount
134881 , p_source_71 IN NUMBER
134882 --Invoice Currency Code
134883 , p_source_72 IN VARCHAR2
134884 --Payables Encumbrance Upgrade Credit Base Amount
134885 , p_source_73 IN NUMBER
134886 --Payables Encumbrance Upgrade Debit Account
134887 , p_source_74 IN NUMBER
134888 --Payables Encumbrance Upgrade Debit Amount
134889 , p_source_75 IN NUMBER
134890 --Payables Encumbrance Upgrade Debit Base Amount
134891 , p_source_76 IN NUMBER
134892 --Payables Encumbrance Upgrade Option
134893 , p_source_77 IN VARCHAR2
134894 --Invoice Distribution Amount
134895 , p_source_78 IN NUMBER
134896 --Deferred Accounting End Date
134897 , p_source_82 IN DATE
134898 --Deferred Accounting Option
134899 , p_source_83 IN VARCHAR2
134900 --Deferred Accounting Start Date
134901 , p_source_84 IN DATE
134902 --Override Accounted Amount Indicator
134903 , p_source_85 IN VARCHAR2
134904 , p_source_85_meaning IN VARCHAR2
134905 --Invoice Supplier Identifier
134906 , p_source_86 IN NUMBER
134907 --Invoice Supplier Site Identifier
134908 , p_source_87 IN NUMBER
134909 --Third Party Type
134910 , p_source_88 IN VARCHAR2
134911 --Parent Reversal Identifier
134912 , p_source_89 IN NUMBER
134913 --Invoice Distribution Tax Line Identifier
134914 , p_source_91 IN NUMBER
134915 --Invoice Distribution Tax Distribution Identifier from Tax
134916 , p_source_92 IN NUMBER
134917 --Invoice Distribution Summary Tax Line Identifier
134918 , p_source_93 IN NUMBER
134919 --Payables Upgrade Credit Encumbrance Type Identifier
134920 , p_source_94 IN NUMBER
134921 --Payables Upgrade Debit Encumbrance Type Identifier
134922 , p_source_95 IN NUMBER
134923 --Business Flow Accounts Payable Application Identifier
134924 , p_source_96 IN NUMBER
134925 --Business Flow Invoice Distribution Type
134926 , p_source_97 IN VARCHAR2
134927 --Business Flow Invoice Entity Code
134928 , p_source_98 IN VARCHAR2
134929 --Business Flow Invoice Distribution Identifier
134930 , p_source_99 IN NUMBER
134931 --Business Flow Invoice Identifier
134932 , p_source_100 IN NUMBER
134933 --Invoice Exchange Date
134934 , p_source_146 IN DATE
134935 --Invoice Exchange Rate
134939 )
134936 , p_source_147 IN NUMBER
134937 --Invoice Exchange Rate Type
134938 , p_source_148 IN VARCHAR2
134940 IS
134941
134942 l_component_type VARCHAR2(80);
134943 l_component_code VARCHAR2(30);
134944 l_component_type_code VARCHAR2(1);
134945 l_component_appl_id INTEGER;
134946 l_amb_context_code VARCHAR2(30);
134947 l_entity_code VARCHAR2(30);
134948 l_event_class_code VARCHAR2(30);
134949 l_ae_header_id NUMBER;
134950 l_event_type_code VARCHAR2(30);
134951 l_line_definition_code VARCHAR2(30);
134952 l_line_definition_owner_code VARCHAR2(1);
134953 --
134954 -- adr variables
134955 l_segment VARCHAR2(30);
134956 l_ccid NUMBER;
134957 l_adr_transaction_coa_id NUMBER;
134958 l_adr_accounting_coa_id NUMBER;
134959 l_adr_flexfield_segment_code VARCHAR2(30);
134960 l_adr_flex_value_set_id NUMBER;
134961 l_adr_value_type_code VARCHAR2(30);
134962 l_adr_value_combination_id NUMBER;
134963 l_adr_value_segment_code VARCHAR2(30);
134964
134965 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
134966 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
134967 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
134968 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
134969
134970 -- 4262811 Variables ------------------------------------------------------------------------------------------
134971 l_entered_amt_idx NUMBER;
134972 l_accted_amt_idx NUMBER;
134973 l_acc_rev_flag VARCHAR2(1);
134974 l_accrual_line_num NUMBER;
134975 l_tmp_amt NUMBER;
134976 l_acc_rev_natural_side_code VARCHAR2(1);
134977
134978 l_num_entries NUMBER;
134979 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
134980 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
134981 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
134982 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
134983 l_recog_line_1 NUMBER;
134984 l_recog_line_2 NUMBER;
134985
134986 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
134987 l_bflow_applied_to_amt NUMBER; -- 5132302
134988 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
134989
134990 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
134991
134992 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
134993 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
134994
134995 ---------------------------------------------------------------------------------------------------------------
134996
134997
134998 --
134999 -- bulk performance
135000 --
135001 l_balance_type_code VARCHAR2(1);
135002 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
135003 l_log_module VARCHAR2(240);
135004
135005 --
135006 -- Upgrade strategy
135007 --
135008 l_actual_upg_option VARCHAR2(1);
135009 l_enc_upg_option VARCHAR2(1);
135010
135011 --
135012 BEGIN
135013 --
135014 IF g_log_enabled THEN
135015 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_226';
135016 END IF;
135017 --
135018 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
135019
135020 trace
135021 (p_msg => 'BEGIN of AcctLineType_226'
135022 ,p_level => C_LEVEL_PROCEDURE
135023 ,p_module => l_log_module);
135024
135025 END IF;
135026 --
135027 l_component_type := 'AMB_JLT';
135028 l_component_code := 'AP_TAX_INV_PRICE_VAR_DM';
135029 l_component_type_code := 'S';
135030 l_component_appl_id := 200;
135031 l_amb_context_code := 'DEFAULT';
135032 l_entity_code := 'AP_INVOICES';
135033 l_event_class_code := 'DEBIT MEMOS';
135034 l_event_type_code := 'DEBIT MEMOS_ALL';
135035 l_line_definition_owner_code := 'S';
135036 l_line_definition_code := 'ACCRUAL_DEBIT MEMOS_ALL';
135037 --
135038 l_balance_type_code := 'A';
135039 l_segment := NULL;
135040 l_ccid := NULL;
135041 l_adr_transaction_coa_id := NULL;
135042 l_adr_accounting_coa_id := NULL;
135043 l_adr_flexfield_segment_code := NULL;
135044 l_adr_flex_value_set_id := NULL;
135045 l_adr_value_type_code := NULL;
135046 l_adr_value_combination_id := NULL;
135047 l_adr_value_segment_code := NULL;
135048
135049 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
135050 l_bflow_class_code := ''; -- 4219869 Business Flow
135051 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
135052 l_budgetary_control_flag := 'N';
135053
135054 l_bflow_applied_to_amt_idx := NULL; -- 5132302
135055 l_bflow_applied_to_amt := NULL; -- 5132302
135056 l_entered_amt_idx := NULL; -- 4262811
135057 l_accted_amt_idx := NULL; -- 4262811
135058 l_acc_rev_flag := NULL; -- 4262811
135059 l_accrual_line_num := NULL; -- 4262811
135060 l_tmp_amt := NULL; -- 4262811
135061 --
135062
135063 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
135064 l_balance_type_code <> 'B' THEN
135065 IF NVL(p_source_28,'
135066 ') = 'TIPV' AND
135067 NVL(p_source_54,'
135068 ') = 'Y'
135069 THEN
135070
135071 --
135072 XLA_AE_LINES_PKG.SetNewLine;
135073
135074 p_balance_type_code := l_balance_type_code;
135078 p_actual_flag :='A';
135075 -- set the flag so later we will know whether the gain loss line needs to be created
135076
135077 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
135079 END IF;
135080
135081 --
135082 -- bulk performance
135083 --
135084 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
135085 p_header_num => 0); -- 4262811
135086 --
135087 -- set accounting line options
135088 --
135089 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
135090 p_natural_side_code => 'D'
135091 , p_gain_or_loss_flag => 'N'
135092 , p_gl_transfer_mode_code => 'S'
135093 , p_acct_entry_type_code => 'A'
135094 , p_switch_side_flag => 'Y'
135095 , p_merge_duplicate_code => 'A'
135096 );
135097 --
135098 l_acc_rev_natural_side_code := 'C'; -- 4262811
135099 --
135100 --
135101 -- set accounting line type info
135102 --
135103 xla_ae_lines_pkg.SetAcctLineType
135104 (p_component_type => l_component_type
135105 ,p_event_type_code => l_event_type_code
135106 ,p_line_definition_owner_code => l_line_definition_owner_code
135107 ,p_line_definition_code => l_line_definition_code
135108 ,p_accounting_line_code => l_component_code
135109 ,p_accounting_line_type_code => l_component_type_code
135110 ,p_accounting_line_appl_id => l_component_appl_id
135111 ,p_amb_context_code => l_amb_context_code
135112 ,p_entity_code => l_entity_code
135113 ,p_event_class_code => l_event_class_code);
135114 --
135115 -- set accounting class
135116 --
135117 xla_ae_lines_pkg.SetAcctClass(
135118 p_accounting_class_code => 'TIPV'
135119 , p_ae_header_id => l_ae_header_id
135120 );
135121
135122 --
135123 -- set rounding class
135124 --
135125 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
135126 'TIPV';
135127
135128 --
135129 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
135130 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
135131 --
135132 -- bulk performance
135133 --
135134 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
135135
135136 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
135137 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
135138
135139 -- 4955764
135140 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
135141 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
135142
135143 -- 4458381 Public Sector Enh
135144
135145 --
135146 -- set accounting attributes for the line type
135147 --
135148 l_entered_amt_idx := 23;
135149 l_accted_amt_idx := 28;
135150 l_bflow_applied_to_amt_idx := NULL; -- 5132302
135151 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
135152 l_rec_acct_attrs.array_char_value(1) := p_source_58;
135153 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
135154 l_rec_acct_attrs.array_num_value(2) :=
135155 xla_ae_sources_pkg.GetSystemSourceNum(
135156 p_source_code => 'XLA_EVENT_APPL_ID'
135157 , p_source_type_code => 'Y'
135158 , p_source_application_id => 602
135159 );
135160 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
135161 l_rec_acct_attrs.array_char_value(3) := p_source_60;
135162 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
135163 l_rec_acct_attrs.array_char_value(4) :=
135164 xla_ae_sources_pkg.GetSystemSourceChar(
135165 p_source_code => 'XLA_ENTITY_CODE'
135166 , p_source_type_code => 'Y'
135167 , p_source_application_id => 602
135168 );
135169 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
135170 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_62);
135171 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
135172 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_63);
135173 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
135174 l_rec_acct_attrs.array_num_value(7) := p_source_96;
135175 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
135176 l_rec_acct_attrs.array_char_value(8) := p_source_97;
135177 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
135178 l_rec_acct_attrs.array_char_value(9) := p_source_98;
135179 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
135180 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_99);
135181 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
135182 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_100);
135183 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
135184 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_69);
135185 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
135186 l_rec_acct_attrs.array_char_value(13) := p_source_60;
135187 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
135188 l_rec_acct_attrs.array_num_value(14) := p_source_70;
135189 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
135190 l_rec_acct_attrs.array_num_value(15) := p_source_71;
135191 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
135192 l_rec_acct_attrs.array_char_value(16) := p_source_72;
135193 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
135194 l_rec_acct_attrs.array_num_value(17) := p_source_73;
135198 l_rec_acct_attrs.array_num_value(19) := p_source_75;
135195 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
135196 l_rec_acct_attrs.array_num_value(18) := p_source_74;
135197 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
135199 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
135200 l_rec_acct_attrs.array_char_value(20) := p_source_72;
135201 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
135202 l_rec_acct_attrs.array_num_value(21) := p_source_76;
135203 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
135204 l_rec_acct_attrs.array_char_value(22) := p_source_77;
135205 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
135206 l_rec_acct_attrs.array_num_value(23) := p_source_78;
135207 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
135208 l_rec_acct_attrs.array_char_value(24) := p_source_72;
135209 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
135210 l_rec_acct_attrs.array_date_value(25) := p_source_146;
135211 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
135212 l_rec_acct_attrs.array_num_value(26) := p_source_147;
135213 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
135214 l_rec_acct_attrs.array_char_value(27) := p_source_148;
135215 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
135216 l_rec_acct_attrs.array_num_value(28) := p_source_16;
135217 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
135218 l_rec_acct_attrs.array_date_value(29) := p_source_82;
135219 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
135220 l_rec_acct_attrs.array_char_value(30) := p_source_83;
135221 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
135222 l_rec_acct_attrs.array_date_value(31) := p_source_84;
135223 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
135224 l_rec_acct_attrs.array_char_value(32) := p_source_85;
135225 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
135226 l_rec_acct_attrs.array_num_value(33) := p_source_86;
135227 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
135228 l_rec_acct_attrs.array_num_value(34) := p_source_87;
135229 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
135230 l_rec_acct_attrs.array_char_value(35) := p_source_88;
135231 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
135232 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_89);
135233 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
135234 l_rec_acct_attrs.array_char_value(37) := p_source_60;
135235 l_rec_acct_attrs.array_acct_attr_code(38) := 'TAX_LINE_REF_ID';
135236 l_rec_acct_attrs.array_num_value(38) := p_source_91;
135237 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_REC_NREC_DIST_REF_ID';
135238 l_rec_acct_attrs.array_num_value(39) := p_source_92;
135239 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_SUMMARY_LINE_REF_ID';
135240 l_rec_acct_attrs.array_num_value(40) := p_source_93;
135241 l_rec_acct_attrs.array_acct_attr_code(41) := 'UPG_CR_ENC_TYPE_ID';
135242 l_rec_acct_attrs.array_num_value(41) := p_source_94;
135243 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_DR_ENC_TYPE_ID';
135244 l_rec_acct_attrs.array_num_value(42) := p_source_95;
135245
135246 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
135247 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
135248
135249 ---------------------------------------------------------------------------------------------------------------
135250 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
135251 ---------------------------------------------------------------------------------------------------------------
135252 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
135253
135254 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
135255 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
135256
135257 IF xla_accounting_cache_pkg.GetValueChar
135258 (p_source_code => 'LEDGER_CATEGORY_CODE'
135259 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
135260 AND l_bflow_method_code = 'PRIOR_ENTRY'
135261 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
135262 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
135263 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
135264 )
135265 THEN
135266 xla_ae_lines_pkg.BflowUpgEntry
135267 (p_business_method_code => l_bflow_method_code
135268 ,p_business_class_code => l_bflow_class_code
135269 ,p_balance_type => l_balance_type_code);
135270 ELSE
135271 NULL;
135272 -- No business flow processing for business flow method of NONE.
135273 END IF;
135274
135275 --
135276 -- call analytical criteria
135277 --
135278
135279 --
135280 -- call description
135281 --
135282
135283 xla_ae_lines_pkg.SetLineDescription(
135284 p_ae_header_id => l_ae_header_id
135285 ,p_description => Description_2 (
135286 p_application_id => p_application_id
135287 , p_ae_header_id => l_ae_header_id
135288 , p_source_1 => p_source_1
135289 )
135290 );
135291
135292
135293 --
135294 -- call ADRs
135295 -- Bug 4922099
135296 --
135297 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
135298 (NVL(l_actual_upg_option, 'N') = 'O') OR
135299 (NVL(l_enc_upg_option, 'N') = 'O')
135300 )
135301 THEN
135302 NULL;
135303 --
135304 --
135305
135306 l_ccid := AcctDerRule_35(
135307 p_application_id => p_application_id
135311 , x_accounting_coa_id => l_adr_accounting_coa_id
135308 , p_ae_header_id => l_ae_header_id
135309 , p_source_25 => p_source_25
135310 , x_transaction_coa_id => l_adr_transaction_coa_id
135312 , x_value_type_code => l_adr_value_type_code
135313 , p_side => 'NA'
135314 );
135315
135316 xla_ae_lines_pkg.set_ccid(
135317 p_code_combination_id => l_ccid
135318 , p_value_type_code => l_adr_value_type_code
135319 , p_transaction_coa_id => l_adr_transaction_coa_id
135320 , p_accounting_coa_id => l_adr_accounting_coa_id
135321 , p_adr_code => 'AP_INVOICE_DIST'
135322 , p_adr_type_code => 'S'
135323 , p_component_type => l_component_type
135324 , p_component_code => l_component_code
135325 , p_component_type_code => l_component_type_code
135326 , p_component_appl_id => l_component_appl_id
135327 , p_amb_context_code => l_amb_context_code
135328 , p_side => 'NA'
135329 );
135330
135331
135332 --
135333 --
135334 END IF;
135335 --
135336 -- Bug 4922099
135337 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
135338 (NVL(l_enc_upg_option, 'N') = 'O')
135339 ) AND
135340 (l_bflow_method_code = 'PRIOR_ENTRY')
135341 )
135342 THEN
135343 IF
135344 --
135345 1 = 2
135346 --
135347 THEN
135348 xla_accounting_err_pkg.build_message
135349 (p_appli_s_name => 'XLA'
135350 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
135351 ,p_token_1 => 'LINE_NUMBER'
135352 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
135353 ,p_token_2 => 'LINE_TYPE_NAME'
135354 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
135355 l_component_type
135356 ,l_component_code
135357 ,l_component_type_code
135358 ,l_component_appl_id
135359 ,l_amb_context_code
135360 ,l_entity_code
135361 ,l_event_class_code
135362 )
135363 ,p_token_3 => 'OWNER'
135364 ,p_value_3 => xla_lookups_pkg.get_meaning(
135365 p_lookup_type => 'XLA_OWNER_TYPE'
135366 ,p_lookup_code => l_component_type_code
135367 )
135368 ,p_token_4 => 'PRODUCT_NAME'
135369 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
135370 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
135371 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
135372 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
135373 ,p_ae_header_id => NULL
135374 );
135375
135376 IF (C_LEVEL_ERROR>= g_log_level) THEN
135377 trace
135378 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
135379 ,p_level => C_LEVEL_ERROR
135380 ,p_module => l_log_module);
135381 END IF;
135382 END IF;
135383 END IF;
135384 --
135385 --
135386 ------------------------------------------------------------------------------------------------
135387 -- 4219869 Business Flow
135388 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
135389 -- Prior Entry. Currently, the following code is always generated.
135390 ------------------------------------------------------------------------------------------------
135391 XLA_AE_LINES_PKG.ValidateCurrentLine;
135392
135393 ------------------------------------------------------------------------------------
135394 -- 4219869 Business Flow
135395 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
135396 ------------------------------------------------------------------------------------
135397 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
135398
135399 ----------------------------------------------------------------------------------
135400 -- 4219869 Business Flow
135401 -- Update journal entry status -- Need to generate this within IF <condition>
135402 ----------------------------------------------------------------------------------
135403 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
135404 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
135405 ,p_balance_type_code => l_balance_type_code
135406 );
135407
135408 -------------------------------------------------------------------------------------------
135409 -- 4262811 - Generate the Accrual Reversal lines
135410 -------------------------------------------------------------------------------------------
135411 BEGIN
135415 l_acc_rev_flag := 'N';
135412 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
135413 (g_array_event(p_event_id).array_value_num('header_index'));
135414 IF l_acc_rev_flag IS NULL THEN
135416 END IF;
135417 EXCEPTION
135418 WHEN OTHERS THEN
135419 l_acc_rev_flag := 'N';
135420 END;
135421 --
135422 IF (l_acc_rev_flag = 'Y') THEN
135423
135424 -- 4645092 ------------------------------------------------------------------------------
135425 -- To allow MPA report to determine if it should generate report process
135426 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
135427 ------------------------------------------------------------------------------------------
135428
135429 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
135430 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
135431 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
135432 -- call ADRs
135433 -- Bug 4922099
135434 --
135435 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
135436 (NVL(l_actual_upg_option, 'N') = 'O') OR
135437 (NVL(l_enc_upg_option, 'N') = 'O')
135438 )
135439 THEN
135440 NULL;
135441 --
135442 --
135443
135444 l_ccid := AcctDerRule_35(
135445 p_application_id => p_application_id
135446 , p_ae_header_id => l_ae_header_id
135447 , p_source_25 => p_source_25
135448 , x_transaction_coa_id => l_adr_transaction_coa_id
135449 , x_accounting_coa_id => l_adr_accounting_coa_id
135450 , x_value_type_code => l_adr_value_type_code
135451 , p_side => 'NA'
135452 );
135453
135454 xla_ae_lines_pkg.set_ccid(
135455 p_code_combination_id => l_ccid
135456 , p_value_type_code => l_adr_value_type_code
135457 , p_transaction_coa_id => l_adr_transaction_coa_id
135458 , p_accounting_coa_id => l_adr_accounting_coa_id
135459 , p_adr_code => 'AP_INVOICE_DIST'
135460 , p_adr_type_code => 'S'
135461 , p_component_type => l_component_type
135462 , p_component_code => l_component_code
135463 , p_component_type_code => l_component_type_code
135464 , p_component_appl_id => l_component_appl_id
135465 , p_amb_context_code => l_amb_context_code
135466 , p_side => 'NA'
135467 );
135468
135469
135470 --
135471 --
135472 END IF;
135473
135474 --
135475 -- Update the line information that should be overwritten
135476 --
135477 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
135478 p_header_num => 1);
135479 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
135480
135481 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
135482
135483 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
135484 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
135485 END IF;
135486
135487 --
135488 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
135489 --
135490 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
135491 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
135492 ELSE
135493 ---------------------------------------------------------------------------------------------------
135494 -- 4262811a Switch Sign
135495 ---------------------------------------------------------------------------------------------------
135496 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
135497 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
135498 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
135499 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
135500 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
135501 -- 5132302
135502 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
135503 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
135504
135505 END IF;
135506
135507 -- 4955764
135508 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
135509 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
135510
135511
135512 XLA_AE_LINES_PKG.ValidateCurrentLine;
135513 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
135514
135515 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
135516 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
135517 ,p_balance_type_code => l_balance_type_code);
135518
135519 END IF;
135520
135521 -----------------------------------------------------------------------------------------
135522 -- 4262811 Multiperiod Accounting
135523 -----------------------------------------------------------------------------------------
135524 -- No MPA option is assigned.
135525
135526
135527 END IF;
135528 END IF;
135529 --
135530
135531 --
135532 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
135533 trace
135534 (p_msg => 'END of AcctLineType_226'
135535 ,p_level => C_LEVEL_PROCEDURE
135539 EXCEPTION
135536 ,p_module => l_log_module);
135537 END IF;
135538 --
135540 WHEN xla_exceptions_pkg.application_exception THEN
135541 RAISE;
135542 WHEN OTHERS THEN
135543 xla_exceptions_pkg.raise_message
135544 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_226');
135545 END AcctLineType_226;
135546 --
135547
135548 ---------------------------------------
135549 --
135550 -- PRIVATE FUNCTION
135551 -- AcctLineType_227
135552 --
135553 ---------------------------------------
135554 PROCEDURE AcctLineType_227 (
135555 p_application_id IN NUMBER
135556 ,p_event_id IN NUMBER
135557 ,p_calculate_acctd_flag IN VARCHAR2
135558 ,p_calculate_g_l_flag IN VARCHAR2
135559 ,p_actual_flag IN OUT VARCHAR2
135560 ,p_balance_type_code OUT VARCHAR2
135561 ,p_gain_or_loss_ref OUT VARCHAR2
135562
135563 --Invoice Distribution Description
135564 , p_source_1 IN VARCHAR2
135565 --Invoice Distribution Ledger Amount
135566 , p_source_16 IN NUMBER
135567 --Invoice Distribution Account
135568 , p_source_25 IN NUMBER
135569 --Invoice Distribution Type
135570 , p_source_28 IN VARCHAR2
135571 , p_source_28_meaning IN VARCHAR2
135572 --Accrue on Receipt Option
135573 , p_source_54 IN VARCHAR2
135574 , p_source_54_meaning IN VARCHAR2
135575 --Accounting Reversal Indicator
135576 , p_source_58 IN VARCHAR2
135577 --Distribution Link Type
135578 , p_source_60 IN VARCHAR2
135579 --Allocation to Main Distribution Identifier
135580 , p_source_62 IN NUMBER
135581 --Invoice Identifier
135582 , p_source_63 IN NUMBER
135583 --Invoice Distribution Identifier
135584 , p_source_69 IN NUMBER
135585 --Payables Encumbrance Upgrade Credit Account
135586 , p_source_70 IN NUMBER
135587 --Payables Encumbrance Upgrade Credit Amount
135588 , p_source_71 IN NUMBER
135589 --Invoice Currency Code
135590 , p_source_72 IN VARCHAR2
135591 --Payables Encumbrance Upgrade Credit Base Amount
135592 , p_source_73 IN NUMBER
135593 --Payables Encumbrance Upgrade Debit Account
135594 , p_source_74 IN NUMBER
135595 --Payables Encumbrance Upgrade Debit Amount
135596 , p_source_75 IN NUMBER
135597 --Payables Encumbrance Upgrade Debit Base Amount
135598 , p_source_76 IN NUMBER
135599 --Payables Encumbrance Upgrade Option
135600 , p_source_77 IN VARCHAR2
135601 --Invoice Distribution Amount
135602 , p_source_78 IN NUMBER
135603 --Deferred Accounting End Date
135604 , p_source_82 IN DATE
135605 --Deferred Accounting Option
135606 , p_source_83 IN VARCHAR2
135607 --Deferred Accounting Start Date
135608 , p_source_84 IN DATE
135609 --Override Accounted Amount Indicator
135610 , p_source_85 IN VARCHAR2
135611 , p_source_85_meaning IN VARCHAR2
135612 --Invoice Supplier Identifier
135613 , p_source_86 IN NUMBER
135614 --Invoice Supplier Site Identifier
135615 , p_source_87 IN NUMBER
135616 --Third Party Type
135617 , p_source_88 IN VARCHAR2
135618 --Parent Reversal Identifier
135619 , p_source_89 IN NUMBER
135620 --Invoice Distribution Statistical Amount
135621 , p_source_90 IN NUMBER
135622 --Invoice Distribution Tax Line Identifier
135623 , p_source_91 IN NUMBER
135624 --Invoice Distribution Tax Distribution Identifier from Tax
135625 , p_source_92 IN NUMBER
135626 --Invoice Distribution Summary Tax Line Identifier
135627 , p_source_93 IN NUMBER
135628 --Payables Upgrade Credit Encumbrance Type Identifier
135629 , p_source_94 IN NUMBER
135630 --Payables Upgrade Debit Encumbrance Type Identifier
135631 , p_source_95 IN NUMBER
135632 --Business Flow Accounts Payable Application Identifier
135633 , p_source_96 IN NUMBER
135634 --Business Flow Invoice Distribution Type
135635 , p_source_97 IN VARCHAR2
135636 --Business Flow Invoice Entity Code
135637 , p_source_98 IN VARCHAR2
135638 --Business Flow Invoice Distribution Identifier
135639 , p_source_99 IN NUMBER
135640 --Business Flow Invoice Identifier
135641 , p_source_100 IN NUMBER
135642 --Invoice Exchange Date
135643 , p_source_146 IN DATE
135644 --Invoice Exchange Rate
135645 , p_source_147 IN NUMBER
135646 --Invoice Exchange Rate Type
135647 , p_source_148 IN VARCHAR2
135648 )
135649 IS
135650
135651 l_component_type VARCHAR2(80);
135652 l_component_code VARCHAR2(30);
135653 l_component_type_code VARCHAR2(1);
135654 l_component_appl_id INTEGER;
135655 l_amb_context_code VARCHAR2(30);
135656 l_entity_code VARCHAR2(30);
135657 l_event_class_code VARCHAR2(30);
135658 l_ae_header_id NUMBER;
135659 l_event_type_code VARCHAR2(30);
135660 l_line_definition_code VARCHAR2(30);
135661 l_line_definition_owner_code VARCHAR2(1);
135662 --
135663 -- adr variables
135664 l_segment VARCHAR2(30);
135665 l_ccid NUMBER;
135666 l_adr_transaction_coa_id NUMBER;
135667 l_adr_accounting_coa_id NUMBER;
135668 l_adr_flexfield_segment_code VARCHAR2(30);
135669 l_adr_flex_value_set_id NUMBER;
135670 l_adr_value_type_code VARCHAR2(30);
135671 l_adr_value_combination_id NUMBER;
135672 l_adr_value_segment_code VARCHAR2(30);
135673
135674 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
135675 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
135676 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
135677 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
135678
135682 l_acc_rev_flag VARCHAR2(1);
135679 -- 4262811 Variables ------------------------------------------------------------------------------------------
135680 l_entered_amt_idx NUMBER;
135681 l_accted_amt_idx NUMBER;
135683 l_accrual_line_num NUMBER;
135684 l_tmp_amt NUMBER;
135685 l_acc_rev_natural_side_code VARCHAR2(1);
135686
135687 l_num_entries NUMBER;
135688 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
135689 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
135690 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
135691 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
135692 l_recog_line_1 NUMBER;
135693 l_recog_line_2 NUMBER;
135694
135695 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
135696 l_bflow_applied_to_amt NUMBER; -- 5132302
135697 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
135698
135699 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
135700
135701 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
135702 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
135703
135704 ---------------------------------------------------------------------------------------------------------------
135705
135706
135707 --
135708 -- bulk performance
135709 --
135710 l_balance_type_code VARCHAR2(1);
135711 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
135712 l_log_module VARCHAR2(240);
135713
135714 --
135715 -- Upgrade strategy
135716 --
135717 l_actual_upg_option VARCHAR2(1);
135718 l_enc_upg_option VARCHAR2(1);
135719
135720 --
135721 BEGIN
135722 --
135723 IF g_log_enabled THEN
135724 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_227';
135725 END IF;
135726 --
135727 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
135728
135729 trace
135730 (p_msg => 'BEGIN of AcctLineType_227'
135731 ,p_level => C_LEVEL_PROCEDURE
135732 ,p_module => l_log_module);
135733
135734 END IF;
135735 --
135736 l_component_type := 'AMB_JLT';
135737 l_component_code := 'AP_TAX_INV_PRICE_VAR_INV';
135738 l_component_type_code := 'S';
135739 l_component_appl_id := 200;
135740 l_amb_context_code := 'DEFAULT';
135741 l_entity_code := 'AP_INVOICES';
135742 l_event_class_code := 'INVOICES';
135743 l_event_type_code := 'INVOICES_ALL';
135744 l_line_definition_owner_code := 'S';
135745 l_line_definition_code := 'ACCRUAL_INVOICES_ALL';
135746 --
135747 l_balance_type_code := 'A';
135748 l_segment := NULL;
135749 l_ccid := NULL;
135750 l_adr_transaction_coa_id := NULL;
135751 l_adr_accounting_coa_id := NULL;
135752 l_adr_flexfield_segment_code := NULL;
135753 l_adr_flex_value_set_id := NULL;
135754 l_adr_value_type_code := NULL;
135755 l_adr_value_combination_id := NULL;
135756 l_adr_value_segment_code := NULL;
135757
135758 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
135759 l_bflow_class_code := ''; -- 4219869 Business Flow
135760 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
135761 l_budgetary_control_flag := 'N';
135762
135763 l_bflow_applied_to_amt_idx := NULL; -- 5132302
135764 l_bflow_applied_to_amt := NULL; -- 5132302
135765 l_entered_amt_idx := NULL; -- 4262811
135766 l_accted_amt_idx := NULL; -- 4262811
135767 l_acc_rev_flag := NULL; -- 4262811
135768 l_accrual_line_num := NULL; -- 4262811
135769 l_tmp_amt := NULL; -- 4262811
135770 --
135771
135772 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
135773 l_balance_type_code <> 'B' THEN
135774 IF NVL(p_source_28,'
135775 ') = 'TIPV' AND
135776 NVL(p_source_54,'
135777 ') = 'Y'
135778 THEN
135779
135780 --
135781 XLA_AE_LINES_PKG.SetNewLine;
135782
135783 p_balance_type_code := l_balance_type_code;
135784 -- set the flag so later we will know whether the gain loss line needs to be created
135785
135786 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
135787 p_actual_flag :='A';
135788 END IF;
135789
135790 --
135791 -- bulk performance
135792 --
135793 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
135794 p_header_num => 0); -- 4262811
135795 --
135796 -- set accounting line options
135797 --
135798 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
135799 p_natural_side_code => 'D'
135800 , p_gain_or_loss_flag => 'N'
135801 , p_gl_transfer_mode_code => 'S'
135802 , p_acct_entry_type_code => 'A'
135803 , p_switch_side_flag => 'Y'
135804 , p_merge_duplicate_code => 'A'
135805 );
135806 --
135807 l_acc_rev_natural_side_code := 'C'; -- 4262811
135808 --
135809 --
135810 -- set accounting line type info
135811 --
135812 xla_ae_lines_pkg.SetAcctLineType
135813 (p_component_type => l_component_type
135814 ,p_event_type_code => l_event_type_code
135815 ,p_line_definition_owner_code => l_line_definition_owner_code
135816 ,p_line_definition_code => l_line_definition_code
135817 ,p_accounting_line_code => l_component_code
135818 ,p_accounting_line_type_code => l_component_type_code
135822 ,p_event_class_code => l_event_class_code);
135819 ,p_accounting_line_appl_id => l_component_appl_id
135820 ,p_amb_context_code => l_amb_context_code
135821 ,p_entity_code => l_entity_code
135823 --
135824 -- set accounting class
135825 --
135826 xla_ae_lines_pkg.SetAcctClass(
135827 p_accounting_class_code => 'TIPV'
135828 , p_ae_header_id => l_ae_header_id
135829 );
135830
135831 --
135832 -- set rounding class
135833 --
135834 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
135835 'TIPV';
135836
135837 --
135838 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
135839 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
135840 --
135841 -- bulk performance
135842 --
135843 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
135844
135845 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
135846 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
135847
135848 -- 4955764
135849 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
135850 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
135851
135852 -- 4458381 Public Sector Enh
135853
135854 --
135855 -- set accounting attributes for the line type
135856 --
135857 l_entered_amt_idx := 24;
135858 l_accted_amt_idx := 29;
135859 l_bflow_applied_to_amt_idx := 7; -- 5132302
135860 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
135861 l_rec_acct_attrs.array_char_value(1) := p_source_58;
135862 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
135863 l_rec_acct_attrs.array_num_value(2) :=
135864 xla_ae_sources_pkg.GetSystemSourceNum(
135865 p_source_code => 'XLA_EVENT_APPL_ID'
135866 , p_source_type_code => 'Y'
135867 , p_source_application_id => 602
135868 );
135869 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
135870 l_rec_acct_attrs.array_char_value(3) := p_source_60;
135871 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
135872 l_rec_acct_attrs.array_char_value(4) :=
135873 xla_ae_sources_pkg.GetSystemSourceChar(
135874 p_source_code => 'XLA_ENTITY_CODE'
135875 , p_source_type_code => 'Y'
135876 , p_source_application_id => 602
135877 );
135878 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
135879 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_62);
135880 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
135881 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_63);
135882 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
135883 l_rec_acct_attrs.array_num_value(7) := p_source_78;
135884 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
135885 l_rec_acct_attrs.array_num_value(8) := p_source_96;
135886 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
135887 l_rec_acct_attrs.array_char_value(9) := p_source_97;
135888 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
135889 l_rec_acct_attrs.array_char_value(10) := p_source_98;
135890 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
135891 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_99);
135892 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
135893 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_100);
135894 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
135895 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_69);
135896 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
135897 l_rec_acct_attrs.array_char_value(14) := p_source_60;
135898 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
135899 l_rec_acct_attrs.array_num_value(15) := p_source_70;
135900 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
135901 l_rec_acct_attrs.array_num_value(16) := p_source_71;
135902 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
135903 l_rec_acct_attrs.array_char_value(17) := p_source_72;
135904 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
135905 l_rec_acct_attrs.array_num_value(18) := p_source_73;
135906 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
135907 l_rec_acct_attrs.array_num_value(19) := p_source_74;
135908 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
135909 l_rec_acct_attrs.array_num_value(20) := p_source_75;
135910 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
135911 l_rec_acct_attrs.array_char_value(21) := p_source_72;
135912 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
135913 l_rec_acct_attrs.array_num_value(22) := p_source_76;
135914 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
135915 l_rec_acct_attrs.array_char_value(23) := p_source_77;
135916 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_AMOUNT';
135917 l_rec_acct_attrs.array_num_value(24) := p_source_78;
135918 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_CODE';
135919 l_rec_acct_attrs.array_char_value(25) := p_source_72;
135920 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_DATE';
135921 l_rec_acct_attrs.array_date_value(26) := p_source_146;
135922 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE';
135923 l_rec_acct_attrs.array_num_value(27) := p_source_147;
135924 l_rec_acct_attrs.array_acct_attr_code(28) := 'EXCHANGE_RATE_TYPE';
135925 l_rec_acct_attrs.array_char_value(28) := p_source_148;
135929 l_rec_acct_attrs.array_date_value(30) := p_source_82;
135926 l_rec_acct_attrs.array_acct_attr_code(29) := 'LEDGER_AMOUNT';
135927 l_rec_acct_attrs.array_num_value(29) := p_source_16;
135928 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_END_DATE';
135930 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_OPTION';
135931 l_rec_acct_attrs.array_char_value(31) := p_source_83;
135932 l_rec_acct_attrs.array_acct_attr_code(32) := 'MULTIPERIOD_START_DATE';
135933 l_rec_acct_attrs.array_date_value(32) := p_source_84;
135934 l_rec_acct_attrs.array_acct_attr_code(33) := 'OVERRIDE_ACCTD_AMT_FLAG';
135935 l_rec_acct_attrs.array_char_value(33) := p_source_85;
135936 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_ID';
135937 l_rec_acct_attrs.array_num_value(34) := p_source_86;
135938 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_SITE_ID';
135939 l_rec_acct_attrs.array_num_value(35) := p_source_87;
135940 l_rec_acct_attrs.array_acct_attr_code(36) := 'PARTY_TYPE';
135941 l_rec_acct_attrs.array_char_value(36) := p_source_88;
135942 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_ID1';
135943 l_rec_acct_attrs.array_num_value(37) := to_char(p_source_89);
135944 l_rec_acct_attrs.array_acct_attr_code(38) := 'REVERSED_DISTRIBUTION_TYPE';
135945 l_rec_acct_attrs.array_char_value(38) := p_source_60;
135946 l_rec_acct_attrs.array_acct_attr_code(39) := 'STATISTICAL_AMOUNT';
135947 l_rec_acct_attrs.array_num_value(39) := p_source_90;
135948 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_LINE_REF_ID';
135949 l_rec_acct_attrs.array_num_value(40) := p_source_91;
135950 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_REC_NREC_DIST_REF_ID';
135951 l_rec_acct_attrs.array_num_value(41) := p_source_92;
135952 l_rec_acct_attrs.array_acct_attr_code(42) := 'TAX_SUMMARY_LINE_REF_ID';
135953 l_rec_acct_attrs.array_num_value(42) := p_source_93;
135954 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_CR_ENC_TYPE_ID';
135955 l_rec_acct_attrs.array_num_value(43) := p_source_94;
135956 l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
135957 l_rec_acct_attrs.array_num_value(44) := p_source_95;
135958
135959 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
135960 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
135961
135962 ---------------------------------------------------------------------------------------------------------------
135963 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
135964 ---------------------------------------------------------------------------------------------------------------
135965 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
135966
135967 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
135968 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
135969
135970 IF xla_accounting_cache_pkg.GetValueChar
135971 (p_source_code => 'LEDGER_CATEGORY_CODE'
135972 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
135973 AND l_bflow_method_code = 'PRIOR_ENTRY'
135974 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
135975 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
135976 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
135977 )
135978 THEN
135979 xla_ae_lines_pkg.BflowUpgEntry
135980 (p_business_method_code => l_bflow_method_code
135981 ,p_business_class_code => l_bflow_class_code
135982 ,p_balance_type => l_balance_type_code);
135983 ELSE
135984 NULL;
135985 -- No business flow processing for business flow method of NONE.
135986 END IF;
135987
135988 --
135989 -- call analytical criteria
135990 --
135991
135992 --
135993 -- call description
135994 --
135995
135996 xla_ae_lines_pkg.SetLineDescription(
135997 p_ae_header_id => l_ae_header_id
135998 ,p_description => Description_2 (
135999 p_application_id => p_application_id
136000 , p_ae_header_id => l_ae_header_id
136001 , p_source_1 => p_source_1
136002 )
136003 );
136004
136005
136006 --
136007 -- call ADRs
136008 -- Bug 4922099
136009 --
136010 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
136011 (NVL(l_actual_upg_option, 'N') = 'O') OR
136012 (NVL(l_enc_upg_option, 'N') = 'O')
136013 )
136014 THEN
136015 NULL;
136016 --
136017 --
136018
136019 l_ccid := AcctDerRule_35(
136020 p_application_id => p_application_id
136021 , p_ae_header_id => l_ae_header_id
136022 , p_source_25 => p_source_25
136023 , x_transaction_coa_id => l_adr_transaction_coa_id
136024 , x_accounting_coa_id => l_adr_accounting_coa_id
136025 , x_value_type_code => l_adr_value_type_code
136026 , p_side => 'NA'
136027 );
136028
136029 xla_ae_lines_pkg.set_ccid(
136030 p_code_combination_id => l_ccid
136031 , p_value_type_code => l_adr_value_type_code
136032 , p_transaction_coa_id => l_adr_transaction_coa_id
136033 , p_accounting_coa_id => l_adr_accounting_coa_id
136034 , p_adr_code => 'AP_INVOICE_DIST'
136035 , p_adr_type_code => 'S'
136036 , p_component_type => l_component_type
136037 , p_component_code => l_component_code
136038 , p_component_type_code => l_component_type_code
136039 , p_component_appl_id => l_component_appl_id
136040 , p_amb_context_code => l_amb_context_code
136041 , p_side => 'NA'
136042 );
136043
136044
136045 --
136046 --
136050 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
136047 END IF;
136048 --
136049 -- Bug 4922099
136051 (NVL(l_enc_upg_option, 'N') = 'O')
136052 ) AND
136053 (l_bflow_method_code = 'PRIOR_ENTRY')
136054 )
136055 THEN
136056 IF
136057 --
136058 1 = 2
136059 --
136060 THEN
136061 xla_accounting_err_pkg.build_message
136062 (p_appli_s_name => 'XLA'
136063 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
136064 ,p_token_1 => 'LINE_NUMBER'
136065 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
136066 ,p_token_2 => 'LINE_TYPE_NAME'
136067 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
136068 l_component_type
136069 ,l_component_code
136070 ,l_component_type_code
136071 ,l_component_appl_id
136072 ,l_amb_context_code
136073 ,l_entity_code
136074 ,l_event_class_code
136075 )
136076 ,p_token_3 => 'OWNER'
136077 ,p_value_3 => xla_lookups_pkg.get_meaning(
136078 p_lookup_type => 'XLA_OWNER_TYPE'
136079 ,p_lookup_code => l_component_type_code
136080 )
136081 ,p_token_4 => 'PRODUCT_NAME'
136082 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
136083 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
136084 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
136085 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
136086 ,p_ae_header_id => NULL
136087 );
136088
136089 IF (C_LEVEL_ERROR>= g_log_level) THEN
136090 trace
136091 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
136092 ,p_level => C_LEVEL_ERROR
136093 ,p_module => l_log_module);
136094 END IF;
136095 END IF;
136096 END IF;
136097 --
136098 --
136099 ------------------------------------------------------------------------------------------------
136100 -- 4219869 Business Flow
136101 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
136102 -- Prior Entry. Currently, the following code is always generated.
136103 ------------------------------------------------------------------------------------------------
136104 XLA_AE_LINES_PKG.ValidateCurrentLine;
136105
136106 ------------------------------------------------------------------------------------
136107 -- 4219869 Business Flow
136108 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
136109 ------------------------------------------------------------------------------------
136110 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
136111
136112 ----------------------------------------------------------------------------------
136113 -- 4219869 Business Flow
136114 -- Update journal entry status -- Need to generate this within IF <condition>
136115 ----------------------------------------------------------------------------------
136116 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
136117 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
136118 ,p_balance_type_code => l_balance_type_code
136119 );
136120
136121 -------------------------------------------------------------------------------------------
136122 -- 4262811 - Generate the Accrual Reversal lines
136123 -------------------------------------------------------------------------------------------
136124 BEGIN
136125 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
136126 (g_array_event(p_event_id).array_value_num('header_index'));
136127 IF l_acc_rev_flag IS NULL THEN
136128 l_acc_rev_flag := 'N';
136129 END IF;
136130 EXCEPTION
136131 WHEN OTHERS THEN
136132 l_acc_rev_flag := 'N';
136133 END;
136134 --
136135 IF (l_acc_rev_flag = 'Y') THEN
136136
136137 -- 4645092 ------------------------------------------------------------------------------
136138 -- To allow MPA report to determine if it should generate report process
136139 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
136140 ------------------------------------------------------------------------------------------
136141
136142 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
136143 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
136144 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
136145 -- call ADRs
136146 -- Bug 4922099
136147 --
136148 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
136149 (NVL(l_actual_upg_option, 'N') = 'O') OR
136153 NULL;
136150 (NVL(l_enc_upg_option, 'N') = 'O')
136151 )
136152 THEN
136154 --
136155 --
136156
136157 l_ccid := AcctDerRule_35(
136158 p_application_id => p_application_id
136159 , p_ae_header_id => l_ae_header_id
136160 , p_source_25 => p_source_25
136161 , x_transaction_coa_id => l_adr_transaction_coa_id
136162 , x_accounting_coa_id => l_adr_accounting_coa_id
136163 , x_value_type_code => l_adr_value_type_code
136164 , p_side => 'NA'
136165 );
136166
136167 xla_ae_lines_pkg.set_ccid(
136168 p_code_combination_id => l_ccid
136169 , p_value_type_code => l_adr_value_type_code
136170 , p_transaction_coa_id => l_adr_transaction_coa_id
136171 , p_accounting_coa_id => l_adr_accounting_coa_id
136172 , p_adr_code => 'AP_INVOICE_DIST'
136173 , p_adr_type_code => 'S'
136174 , p_component_type => l_component_type
136175 , p_component_code => l_component_code
136176 , p_component_type_code => l_component_type_code
136177 , p_component_appl_id => l_component_appl_id
136178 , p_amb_context_code => l_amb_context_code
136179 , p_side => 'NA'
136180 );
136181
136182
136183 --
136184 --
136185 END IF;
136186
136187 --
136188 -- Update the line information that should be overwritten
136189 --
136190 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
136191 p_header_num => 1);
136192 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
136193
136194 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
136195
136196 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
136197 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
136198 END IF;
136199
136200 --
136201 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
136202 --
136203 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
136204 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
136205 ELSE
136206 ---------------------------------------------------------------------------------------------------
136207 -- 4262811a Switch Sign
136208 ---------------------------------------------------------------------------------------------------
136209 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
136210 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
136211 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
136212 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
136213 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
136214 -- 5132302
136215 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
136216 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
136217
136218 END IF;
136219
136220 -- 4955764
136221 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
136222 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
136223
136224
136225 XLA_AE_LINES_PKG.ValidateCurrentLine;
136226 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
136227
136228 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
136229 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
136230 ,p_balance_type_code => l_balance_type_code);
136231
136232 END IF;
136233
136234 -----------------------------------------------------------------------------------------
136235 -- 4262811 Multiperiod Accounting
136236 -----------------------------------------------------------------------------------------
136237 -- No MPA option is assigned.
136238
136239
136240 END IF;
136241 END IF;
136242 --
136243
136244 --
136245 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
136246 trace
136247 (p_msg => 'END of AcctLineType_227'
136248 ,p_level => C_LEVEL_PROCEDURE
136249 ,p_module => l_log_module);
136250 END IF;
136251 --
136252 EXCEPTION
136253 WHEN xla_exceptions_pkg.application_exception THEN
136254 RAISE;
136255 WHEN OTHERS THEN
136256 xla_exceptions_pkg.raise_message
136257 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_227');
136258 END AcctLineType_227;
136259 --
136260
136261 ---------------------------------------
136262 --
136263 -- PRIVATE FUNCTION
136264 -- AcctLineType_228
136265 --
136266 ---------------------------------------
136267 PROCEDURE AcctLineType_228 (
136268 p_application_id IN NUMBER
136269 ,p_event_id IN NUMBER
136270 ,p_calculate_acctd_flag IN VARCHAR2
136271 ,p_calculate_g_l_flag IN VARCHAR2
136272 ,p_actual_flag IN OUT VARCHAR2
136273 ,p_balance_type_code OUT VARCHAR2
136274 ,p_gain_or_loss_ref OUT VARCHAR2
136275
136276 --Invoice Distribution Description
136277 , p_source_1 IN VARCHAR2
136278 --Invoice Distribution Ledger Amount
136279 , p_source_16 IN NUMBER
136280 --Invoice Distribution Account
136281 , p_source_25 IN NUMBER
136282 --Invoice Distribution Type
136286 , p_source_54 IN VARCHAR2
136283 , p_source_28 IN VARCHAR2
136284 , p_source_28_meaning IN VARCHAR2
136285 --Accrue on Receipt Option
136287 , p_source_54_meaning IN VARCHAR2
136288 --Accounting Reversal Indicator
136289 , p_source_58 IN VARCHAR2
136290 --Distribution Link Type
136291 , p_source_60 IN VARCHAR2
136292 --Allocation to Main Distribution Identifier
136293 , p_source_62 IN NUMBER
136294 --Invoice Identifier
136295 , p_source_63 IN NUMBER
136296 --Invoice Distribution Identifier
136297 , p_source_69 IN NUMBER
136298 --Payables Encumbrance Upgrade Credit Account
136299 , p_source_70 IN NUMBER
136300 --Payables Encumbrance Upgrade Credit Amount
136301 , p_source_71 IN NUMBER
136302 --Invoice Currency Code
136303 , p_source_72 IN VARCHAR2
136304 --Payables Encumbrance Upgrade Credit Base Amount
136305 , p_source_73 IN NUMBER
136306 --Payables Encumbrance Upgrade Debit Account
136307 , p_source_74 IN NUMBER
136308 --Payables Encumbrance Upgrade Debit Amount
136309 , p_source_75 IN NUMBER
136310 --Payables Encumbrance Upgrade Debit Base Amount
136311 , p_source_76 IN NUMBER
136312 --Payables Encumbrance Upgrade Option
136313 , p_source_77 IN VARCHAR2
136314 --Invoice Distribution Amount
136315 , p_source_78 IN NUMBER
136316 --Deferred Accounting End Date
136317 , p_source_82 IN DATE
136318 --Deferred Accounting Option
136319 , p_source_83 IN VARCHAR2
136320 --Deferred Accounting Start Date
136321 , p_source_84 IN DATE
136322 --Override Accounted Amount Indicator
136323 , p_source_85 IN VARCHAR2
136324 , p_source_85_meaning IN VARCHAR2
136325 --Invoice Supplier Identifier
136326 , p_source_86 IN NUMBER
136327 --Invoice Supplier Site Identifier
136328 , p_source_87 IN NUMBER
136329 --Third Party Type
136330 , p_source_88 IN VARCHAR2
136331 --Parent Reversal Identifier
136332 , p_source_89 IN NUMBER
136333 --Invoice Distribution Statistical Amount
136334 , p_source_90 IN NUMBER
136335 --Invoice Distribution Tax Line Identifier
136336 , p_source_91 IN NUMBER
136337 --Invoice Distribution Tax Distribution Identifier from Tax
136338 , p_source_92 IN NUMBER
136339 --Invoice Distribution Summary Tax Line Identifier
136340 , p_source_93 IN NUMBER
136341 --Payables Upgrade Credit Encumbrance Type Identifier
136342 , p_source_94 IN NUMBER
136343 --Payables Upgrade Debit Encumbrance Type Identifier
136344 , p_source_95 IN NUMBER
136345 --Business Flow Accounts Payable Application Identifier
136346 , p_source_96 IN NUMBER
136347 --Business Flow Invoice Distribution Type
136348 , p_source_97 IN VARCHAR2
136349 --Business Flow Invoice Entity Code
136350 , p_source_98 IN VARCHAR2
136351 --Business Flow Invoice Distribution Identifier
136352 , p_source_99 IN NUMBER
136353 --Business Flow Invoice Identifier
136354 , p_source_100 IN NUMBER
136355 --Invoice Exchange Date
136356 , p_source_146 IN DATE
136357 --Invoice Exchange Rate
136358 , p_source_147 IN NUMBER
136359 --Invoice Exchange Rate Type
136360 , p_source_148 IN VARCHAR2
136361 )
136362 IS
136363
136364 l_component_type VARCHAR2(80);
136365 l_component_code VARCHAR2(30);
136366 l_component_type_code VARCHAR2(1);
136367 l_component_appl_id INTEGER;
136368 l_amb_context_code VARCHAR2(30);
136369 l_entity_code VARCHAR2(30);
136370 l_event_class_code VARCHAR2(30);
136371 l_ae_header_id NUMBER;
136372 l_event_type_code VARCHAR2(30);
136373 l_line_definition_code VARCHAR2(30);
136374 l_line_definition_owner_code VARCHAR2(1);
136375 --
136376 -- adr variables
136377 l_segment VARCHAR2(30);
136378 l_ccid NUMBER;
136379 l_adr_transaction_coa_id NUMBER;
136380 l_adr_accounting_coa_id NUMBER;
136381 l_adr_flexfield_segment_code VARCHAR2(30);
136382 l_adr_flex_value_set_id NUMBER;
136383 l_adr_value_type_code VARCHAR2(30);
136384 l_adr_value_combination_id NUMBER;
136385 l_adr_value_segment_code VARCHAR2(30);
136386
136387 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
136388 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
136389 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
136390 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
136391
136392 -- 4262811 Variables ------------------------------------------------------------------------------------------
136393 l_entered_amt_idx NUMBER;
136394 l_accted_amt_idx NUMBER;
136395 l_acc_rev_flag VARCHAR2(1);
136396 l_accrual_line_num NUMBER;
136397 l_tmp_amt NUMBER;
136398 l_acc_rev_natural_side_code VARCHAR2(1);
136399
136400 l_num_entries NUMBER;
136401 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
136402 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
136403 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
136404 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
136405 l_recog_line_1 NUMBER;
136406 l_recog_line_2 NUMBER;
136407
136408 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
136409 l_bflow_applied_to_amt NUMBER; -- 5132302
136410 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
136411
136412 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
136413
136417 ---------------------------------------------------------------------------------------------------------------
136414 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
136415 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
136416
136418
136419
136420 --
136421 -- bulk performance
136422 --
136423 l_balance_type_code VARCHAR2(1);
136424 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
136425 l_log_module VARCHAR2(240);
136426
136427 --
136428 -- Upgrade strategy
136429 --
136430 l_actual_upg_option VARCHAR2(1);
136431 l_enc_upg_option VARCHAR2(1);
136432
136433 --
136434 BEGIN
136435 --
136436 IF g_log_enabled THEN
136437 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_228';
136438 END IF;
136439 --
136440 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
136441
136442 trace
136443 (p_msg => 'BEGIN of AcctLineType_228'
136444 ,p_level => C_LEVEL_PROCEDURE
136445 ,p_module => l_log_module);
136446
136447 END IF;
136448 --
136449 l_component_type := 'AMB_JLT';
136450 l_component_code := 'AP_TAX_INV_PRICE_VAR_PREPAY';
136451 l_component_type_code := 'S';
136452 l_component_appl_id := 200;
136453 l_amb_context_code := 'DEFAULT';
136454 l_entity_code := 'AP_INVOICES';
136455 l_event_class_code := 'PREPAYMENTS';
136456 l_event_type_code := 'PREPAYMENTS_ALL';
136457 l_line_definition_owner_code := 'S';
136458 l_line_definition_code := 'ACCRUAL_PREPAYMENTS_ALL';
136459 --
136460 l_balance_type_code := 'A';
136461 l_segment := NULL;
136462 l_ccid := NULL;
136463 l_adr_transaction_coa_id := NULL;
136464 l_adr_accounting_coa_id := NULL;
136465 l_adr_flexfield_segment_code := NULL;
136466 l_adr_flex_value_set_id := NULL;
136467 l_adr_value_type_code := NULL;
136468 l_adr_value_combination_id := NULL;
136469 l_adr_value_segment_code := NULL;
136470
136471 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
136472 l_bflow_class_code := 'AP_PREPAY'; -- 4219869 Business Flow
136473 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
136474 l_budgetary_control_flag := 'N';
136475
136476 l_bflow_applied_to_amt_idx := NULL; -- 5132302
136477 l_bflow_applied_to_amt := NULL; -- 5132302
136478 l_entered_amt_idx := NULL; -- 4262811
136479 l_accted_amt_idx := NULL; -- 4262811
136480 l_acc_rev_flag := NULL; -- 4262811
136481 l_accrual_line_num := NULL; -- 4262811
136482 l_tmp_amt := NULL; -- 4262811
136483 --
136484
136485 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
136486 l_balance_type_code <> 'B' THEN
136487 IF NVL(p_source_28,'
136488 ') = 'TIPV' AND
136489 NVL(p_source_54,'
136490 ') = 'Y'
136491 THEN
136492
136493 --
136494 XLA_AE_LINES_PKG.SetNewLine;
136495
136496 p_balance_type_code := l_balance_type_code;
136497 -- set the flag so later we will know whether the gain loss line needs to be created
136498
136499 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
136500 p_actual_flag :='A';
136501 END IF;
136502
136503 --
136504 -- bulk performance
136505 --
136506 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
136507 p_header_num => 0); -- 4262811
136508 --
136509 -- set accounting line options
136510 --
136511 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
136512 p_natural_side_code => 'D'
136513 , p_gain_or_loss_flag => 'N'
136514 , p_gl_transfer_mode_code => 'S'
136515 , p_acct_entry_type_code => 'A'
136516 , p_switch_side_flag => 'Y'
136517 , p_merge_duplicate_code => 'A'
136518 );
136519 --
136520 l_acc_rev_natural_side_code := 'C'; -- 4262811
136521 --
136522 --
136523 -- set accounting line type info
136524 --
136525 xla_ae_lines_pkg.SetAcctLineType
136526 (p_component_type => l_component_type
136527 ,p_event_type_code => l_event_type_code
136528 ,p_line_definition_owner_code => l_line_definition_owner_code
136529 ,p_line_definition_code => l_line_definition_code
136530 ,p_accounting_line_code => l_component_code
136531 ,p_accounting_line_type_code => l_component_type_code
136532 ,p_accounting_line_appl_id => l_component_appl_id
136533 ,p_amb_context_code => l_amb_context_code
136534 ,p_entity_code => l_entity_code
136535 ,p_event_class_code => l_event_class_code);
136536 --
136537 -- set accounting class
136538 --
136539 xla_ae_lines_pkg.SetAcctClass(
136540 p_accounting_class_code => 'TIPV'
136541 , p_ae_header_id => l_ae_header_id
136542 );
136543
136544 --
136545 -- set rounding class
136546 --
136547 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
136548 'TIPV';
136549
136550 --
136551 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
136552 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
136553 --
136554 -- bulk performance
136555 --
136556 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
136557
136561 -- 4955764
136558 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
136559 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
136560
136562 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
136563 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
136564
136565 -- 4458381 Public Sector Enh
136566
136567 --
136568 -- set accounting attributes for the line type
136569 --
136570 l_entered_amt_idx := 23;
136571 l_accted_amt_idx := 28;
136572 l_bflow_applied_to_amt_idx := NULL; -- 5132302
136573 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
136574 l_rec_acct_attrs.array_char_value(1) := p_source_58;
136575 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
136576 l_rec_acct_attrs.array_num_value(2) :=
136577 xla_ae_sources_pkg.GetSystemSourceNum(
136578 p_source_code => 'XLA_EVENT_APPL_ID'
136579 , p_source_type_code => 'Y'
136580 , p_source_application_id => 602
136581 );
136582 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
136583 l_rec_acct_attrs.array_char_value(3) := p_source_60;
136584 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
136585 l_rec_acct_attrs.array_char_value(4) :=
136586 xla_ae_sources_pkg.GetSystemSourceChar(
136587 p_source_code => 'XLA_ENTITY_CODE'
136588 , p_source_type_code => 'Y'
136589 , p_source_application_id => 602
136590 );
136591 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
136592 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_62);
136593 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
136594 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_63);
136595 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
136596 l_rec_acct_attrs.array_num_value(7) := p_source_96;
136597 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
136598 l_rec_acct_attrs.array_char_value(8) := p_source_97;
136599 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
136600 l_rec_acct_attrs.array_char_value(9) := p_source_98;
136601 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
136602 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_99);
136603 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
136604 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_100);
136605 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
136606 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_69);
136607 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
136608 l_rec_acct_attrs.array_char_value(13) := p_source_60;
136609 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
136610 l_rec_acct_attrs.array_num_value(14) := p_source_70;
136611 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
136612 l_rec_acct_attrs.array_num_value(15) := p_source_71;
136613 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
136614 l_rec_acct_attrs.array_char_value(16) := p_source_72;
136615 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
136616 l_rec_acct_attrs.array_num_value(17) := p_source_73;
136617 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
136618 l_rec_acct_attrs.array_num_value(18) := p_source_74;
136619 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
136620 l_rec_acct_attrs.array_num_value(19) := p_source_75;
136621 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
136622 l_rec_acct_attrs.array_char_value(20) := p_source_72;
136623 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
136624 l_rec_acct_attrs.array_num_value(21) := p_source_76;
136625 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
136626 l_rec_acct_attrs.array_char_value(22) := p_source_77;
136627 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
136628 l_rec_acct_attrs.array_num_value(23) := p_source_78;
136629 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
136630 l_rec_acct_attrs.array_char_value(24) := p_source_72;
136631 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
136632 l_rec_acct_attrs.array_date_value(25) := p_source_146;
136633 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
136634 l_rec_acct_attrs.array_num_value(26) := p_source_147;
136635 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
136636 l_rec_acct_attrs.array_char_value(27) := p_source_148;
136637 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
136638 l_rec_acct_attrs.array_num_value(28) := p_source_16;
136639 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
136640 l_rec_acct_attrs.array_date_value(29) := p_source_82;
136641 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
136642 l_rec_acct_attrs.array_char_value(30) := p_source_83;
136643 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
136644 l_rec_acct_attrs.array_date_value(31) := p_source_84;
136645 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
136646 l_rec_acct_attrs.array_char_value(32) := p_source_85;
136647 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
136648 l_rec_acct_attrs.array_num_value(33) := p_source_86;
136649 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
136650 l_rec_acct_attrs.array_num_value(34) := p_source_87;
136651 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
136652 l_rec_acct_attrs.array_char_value(35) := p_source_88;
136653 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
136654 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_89);
136655 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
136659 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
136656 l_rec_acct_attrs.array_char_value(37) := p_source_60;
136657 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
136658 l_rec_acct_attrs.array_num_value(38) := p_source_90;
136660 l_rec_acct_attrs.array_num_value(39) := p_source_91;
136661 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
136662 l_rec_acct_attrs.array_num_value(40) := p_source_92;
136663 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
136664 l_rec_acct_attrs.array_num_value(41) := p_source_93;
136665 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
136666 l_rec_acct_attrs.array_num_value(42) := p_source_94;
136667 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
136668 l_rec_acct_attrs.array_num_value(43) := p_source_95;
136669
136670 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
136671 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
136672
136673 ---------------------------------------------------------------------------------------------------------------
136674 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
136675 ---------------------------------------------------------------------------------------------------------------
136676 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
136677
136678 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
136679 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
136680
136681 IF xla_accounting_cache_pkg.GetValueChar
136682 (p_source_code => 'LEDGER_CATEGORY_CODE'
136683 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
136684 AND l_bflow_method_code = 'PRIOR_ENTRY'
136685 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
136686 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
136687 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
136688 )
136689 THEN
136690 xla_ae_lines_pkg.BflowUpgEntry
136691 (p_business_method_code => l_bflow_method_code
136692 ,p_business_class_code => l_bflow_class_code
136693 ,p_balance_type => l_balance_type_code);
136694 ELSE
136695 NULL;
136696 -- No business flow processing for business flow method of NONE.
136697 END IF;
136698
136699 --
136700 -- call analytical criteria
136701 --
136702
136703 --
136704 -- call description
136705 --
136706
136707 xla_ae_lines_pkg.SetLineDescription(
136708 p_ae_header_id => l_ae_header_id
136709 ,p_description => Description_2 (
136710 p_application_id => p_application_id
136711 , p_ae_header_id => l_ae_header_id
136712 , p_source_1 => p_source_1
136713 )
136714 );
136715
136716
136717 --
136718 -- call ADRs
136719 -- Bug 4922099
136720 --
136721 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
136722 (NVL(l_actual_upg_option, 'N') = 'O') OR
136723 (NVL(l_enc_upg_option, 'N') = 'O')
136724 )
136725 THEN
136726 NULL;
136727 --
136728 --
136729
136730 l_ccid := AcctDerRule_35(
136731 p_application_id => p_application_id
136732 , p_ae_header_id => l_ae_header_id
136733 , p_source_25 => p_source_25
136734 , x_transaction_coa_id => l_adr_transaction_coa_id
136735 , x_accounting_coa_id => l_adr_accounting_coa_id
136736 , x_value_type_code => l_adr_value_type_code
136737 , p_side => 'NA'
136738 );
136739
136740 xla_ae_lines_pkg.set_ccid(
136741 p_code_combination_id => l_ccid
136742 , p_value_type_code => l_adr_value_type_code
136743 , p_transaction_coa_id => l_adr_transaction_coa_id
136744 , p_accounting_coa_id => l_adr_accounting_coa_id
136745 , p_adr_code => 'AP_INVOICE_DIST'
136746 , p_adr_type_code => 'S'
136747 , p_component_type => l_component_type
136748 , p_component_code => l_component_code
136749 , p_component_type_code => l_component_type_code
136750 , p_component_appl_id => l_component_appl_id
136751 , p_amb_context_code => l_amb_context_code
136752 , p_side => 'NA'
136753 );
136754
136755
136756 --
136757 --
136758 END IF;
136759 --
136760 -- Bug 4922099
136761 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
136762 (NVL(l_enc_upg_option, 'N') = 'O')
136763 ) AND
136764 (l_bflow_method_code = 'PRIOR_ENTRY')
136765 )
136766 THEN
136767 IF
136768 --
136769 1 = 2
136770 --
136771 THEN
136772 xla_accounting_err_pkg.build_message
136773 (p_appli_s_name => 'XLA'
136774 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
136775 ,p_token_1 => 'LINE_NUMBER'
136776 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
136777 ,p_token_2 => 'LINE_TYPE_NAME'
136778 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
136779 l_component_type
136780 ,l_component_code
136781 ,l_component_type_code
136785 ,l_event_class_code
136782 ,l_component_appl_id
136783 ,l_amb_context_code
136784 ,l_entity_code
136786 )
136787 ,p_token_3 => 'OWNER'
136788 ,p_value_3 => xla_lookups_pkg.get_meaning(
136789 p_lookup_type => 'XLA_OWNER_TYPE'
136790 ,p_lookup_code => l_component_type_code
136791 )
136792 ,p_token_4 => 'PRODUCT_NAME'
136793 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
136794 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
136795 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
136796 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
136797 ,p_ae_header_id => NULL
136798 );
136799
136800 IF (C_LEVEL_ERROR>= g_log_level) THEN
136801 trace
136802 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
136803 ,p_level => C_LEVEL_ERROR
136804 ,p_module => l_log_module);
136805 END IF;
136806 END IF;
136807 END IF;
136808 --
136809 --
136810 ------------------------------------------------------------------------------------------------
136811 -- 4219869 Business Flow
136812 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
136813 -- Prior Entry. Currently, the following code is always generated.
136814 ------------------------------------------------------------------------------------------------
136815 XLA_AE_LINES_PKG.ValidateCurrentLine;
136816
136817 ------------------------------------------------------------------------------------
136818 -- 4219869 Business Flow
136819 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
136820 ------------------------------------------------------------------------------------
136821 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
136822
136823 ----------------------------------------------------------------------------------
136824 -- 4219869 Business Flow
136825 -- Update journal entry status -- Need to generate this within IF <condition>
136826 ----------------------------------------------------------------------------------
136827 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
136828 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
136829 ,p_balance_type_code => l_balance_type_code
136830 );
136831
136832 -------------------------------------------------------------------------------------------
136833 -- 4262811 - Generate the Accrual Reversal lines
136834 -------------------------------------------------------------------------------------------
136835 BEGIN
136836 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
136837 (g_array_event(p_event_id).array_value_num('header_index'));
136838 IF l_acc_rev_flag IS NULL THEN
136839 l_acc_rev_flag := 'N';
136840 END IF;
136841 EXCEPTION
136842 WHEN OTHERS THEN
136843 l_acc_rev_flag := 'N';
136844 END;
136845 --
136846 IF (l_acc_rev_flag = 'Y') THEN
136847
136848 -- 4645092 ------------------------------------------------------------------------------
136849 -- To allow MPA report to determine if it should generate report process
136850 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
136851 ------------------------------------------------------------------------------------------
136852
136853 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
136854 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
136855 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
136856 -- call ADRs
136857 -- Bug 4922099
136858 --
136859 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
136860 (NVL(l_actual_upg_option, 'N') = 'O') OR
136861 (NVL(l_enc_upg_option, 'N') = 'O')
136862 )
136863 THEN
136864 NULL;
136865 --
136866 --
136867
136868 l_ccid := AcctDerRule_35(
136869 p_application_id => p_application_id
136870 , p_ae_header_id => l_ae_header_id
136871 , p_source_25 => p_source_25
136872 , x_transaction_coa_id => l_adr_transaction_coa_id
136873 , x_accounting_coa_id => l_adr_accounting_coa_id
136874 , x_value_type_code => l_adr_value_type_code
136875 , p_side => 'NA'
136876 );
136877
136878 xla_ae_lines_pkg.set_ccid(
136879 p_code_combination_id => l_ccid
136880 , p_value_type_code => l_adr_value_type_code
136881 , p_transaction_coa_id => l_adr_transaction_coa_id
136882 , p_accounting_coa_id => l_adr_accounting_coa_id
136883 , p_adr_code => 'AP_INVOICE_DIST'
136884 , p_adr_type_code => 'S'
136885 , p_component_type => l_component_type
136886 , p_component_code => l_component_code
136887 , p_component_type_code => l_component_type_code
136888 , p_component_appl_id => l_component_appl_id
136892
136889 , p_amb_context_code => l_amb_context_code
136890 , p_side => 'NA'
136891 );
136893
136894 --
136895 --
136896 END IF;
136897
136898 --
136899 -- Update the line information that should be overwritten
136900 --
136901 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
136902 p_header_num => 1);
136903 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
136904
136905 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
136906
136907 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
136908 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
136909 END IF;
136910
136911 --
136912 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
136913 --
136914 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
136915 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
136916 ELSE
136917 ---------------------------------------------------------------------------------------------------
136918 -- 4262811a Switch Sign
136919 ---------------------------------------------------------------------------------------------------
136920 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
136921 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
136922 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
136923 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
136924 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
136925 -- 5132302
136926 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
136927 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
136928
136929 END IF;
136930
136931 -- 4955764
136932 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
136933 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
136934
136935
136936 XLA_AE_LINES_PKG.ValidateCurrentLine;
136937 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
136938
136939 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
136940 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
136941 ,p_balance_type_code => l_balance_type_code);
136942
136943 END IF;
136944
136945 -----------------------------------------------------------------------------------------
136946 -- 4262811 Multiperiod Accounting
136947 -----------------------------------------------------------------------------------------
136948 -- No MPA option is assigned.
136949
136950
136951 END IF;
136952 END IF;
136953 --
136954
136955 --
136956 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
136957 trace
136958 (p_msg => 'END of AcctLineType_228'
136959 ,p_level => C_LEVEL_PROCEDURE
136960 ,p_module => l_log_module);
136961 END IF;
136962 --
136963 EXCEPTION
136964 WHEN xla_exceptions_pkg.application_exception THEN
136965 RAISE;
136966 WHEN OTHERS THEN
136967 xla_exceptions_pkg.raise_message
136968 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_228');
136969 END AcctLineType_228;
136970 --
136971
136972 ---------------------------------------
136973 --
136974 -- PRIVATE FUNCTION
136975 -- AcctLineType_229
136976 --
136977 ---------------------------------------
136978 PROCEDURE AcctLineType_229 (
136979 p_application_id IN NUMBER
136980 ,p_event_id IN NUMBER
136981 ,p_calculate_acctd_flag IN VARCHAR2
136982 ,p_calculate_g_l_flag IN VARCHAR2
136983 ,p_actual_flag IN OUT VARCHAR2
136984 ,p_balance_type_code OUT VARCHAR2
136985 ,p_gain_or_loss_ref OUT VARCHAR2
136986
136987 --Invoice Distribution Description
136988 , p_source_1 IN VARCHAR2
136989 --Invoice Distribution Ledger Amount
136990 , p_source_16 IN NUMBER
136991 --Invoice Distribution Account
136992 , p_source_25 IN NUMBER
136993 --Invoice Distribution Type
136994 , p_source_28 IN VARCHAR2
136995 , p_source_28_meaning IN VARCHAR2
136996 --Accrue on Receipt Option
136997 , p_source_54 IN VARCHAR2
136998 , p_source_54_meaning IN VARCHAR2
136999 --Accounting Reversal Indicator
137000 , p_source_58 IN VARCHAR2
137001 --Distribution Link Type
137002 , p_source_60 IN VARCHAR2
137003 --Allocation to Main Distribution Identifier
137004 , p_source_62 IN NUMBER
137005 --Invoice Identifier
137006 , p_source_63 IN NUMBER
137007 --Invoice Distribution Identifier
137008 , p_source_69 IN NUMBER
137009 --Payables Encumbrance Upgrade Credit Account
137010 , p_source_70 IN NUMBER
137011 --Payables Encumbrance Upgrade Credit Amount
137012 , p_source_71 IN NUMBER
137013 --Invoice Currency Code
137014 , p_source_72 IN VARCHAR2
137015 --Payables Encumbrance Upgrade Credit Base Amount
137016 , p_source_73 IN NUMBER
137017 --Payables Encumbrance Upgrade Debit Account
137018 , p_source_74 IN NUMBER
137019 --Payables Encumbrance Upgrade Debit Amount
137020 , p_source_75 IN NUMBER
137021 --Payables Encumbrance Upgrade Debit Base Amount
137022 , p_source_76 IN NUMBER
137026 , p_source_78 IN NUMBER
137023 --Payables Encumbrance Upgrade Option
137024 , p_source_77 IN VARCHAR2
137025 --Invoice Distribution Amount
137027 --Deferred Accounting End Date
137028 , p_source_82 IN DATE
137029 --Deferred Accounting Option
137030 , p_source_83 IN VARCHAR2
137031 --Deferred Accounting Start Date
137032 , p_source_84 IN DATE
137033 --Override Accounted Amount Indicator
137034 , p_source_85 IN VARCHAR2
137035 , p_source_85_meaning IN VARCHAR2
137036 --Invoice Supplier Identifier
137037 , p_source_86 IN NUMBER
137038 --Invoice Supplier Site Identifier
137039 , p_source_87 IN NUMBER
137040 --Third Party Type
137041 , p_source_88 IN VARCHAR2
137042 --Parent Reversal Identifier
137043 , p_source_89 IN NUMBER
137044 --Invoice Distribution Statistical Amount
137045 , p_source_90 IN NUMBER
137046 --Invoice Distribution Tax Line Identifier
137047 , p_source_91 IN NUMBER
137048 --Invoice Distribution Tax Distribution Identifier from Tax
137049 , p_source_92 IN NUMBER
137050 --Invoice Distribution Summary Tax Line Identifier
137051 , p_source_93 IN NUMBER
137052 --Payables Upgrade Credit Encumbrance Type Identifier
137053 , p_source_94 IN NUMBER
137054 --Payables Upgrade Debit Encumbrance Type Identifier
137055 , p_source_95 IN NUMBER
137056 --Business Flow Accounts Payable Application Identifier
137057 , p_source_96 IN NUMBER
137058 --Business Flow Invoice Distribution Type
137059 , p_source_97 IN VARCHAR2
137060 --Business Flow Invoice Entity Code
137061 , p_source_98 IN VARCHAR2
137062 --Business Flow Invoice Distribution Identifier
137063 , p_source_99 IN NUMBER
137064 --Business Flow Invoice Identifier
137065 , p_source_100 IN NUMBER
137066 --Invoice Exchange Date
137067 , p_source_146 IN DATE
137068 --Invoice Exchange Rate
137069 , p_source_147 IN NUMBER
137070 --Invoice Exchange Rate Type
137071 , p_source_148 IN VARCHAR2
137072 )
137073 IS
137074
137075 l_component_type VARCHAR2(80);
137076 l_component_code VARCHAR2(30);
137077 l_component_type_code VARCHAR2(1);
137078 l_component_appl_id INTEGER;
137079 l_amb_context_code VARCHAR2(30);
137080 l_entity_code VARCHAR2(30);
137081 l_event_class_code VARCHAR2(30);
137082 l_ae_header_id NUMBER;
137083 l_event_type_code VARCHAR2(30);
137084 l_line_definition_code VARCHAR2(30);
137085 l_line_definition_owner_code VARCHAR2(1);
137086 --
137087 -- adr variables
137088 l_segment VARCHAR2(30);
137089 l_ccid NUMBER;
137090 l_adr_transaction_coa_id NUMBER;
137091 l_adr_accounting_coa_id NUMBER;
137092 l_adr_flexfield_segment_code VARCHAR2(30);
137093 l_adr_flex_value_set_id NUMBER;
137094 l_adr_value_type_code VARCHAR2(30);
137095 l_adr_value_combination_id NUMBER;
137096 l_adr_value_segment_code VARCHAR2(30);
137097
137098 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
137099 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
137100 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
137101 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
137102
137103 -- 4262811 Variables ------------------------------------------------------------------------------------------
137104 l_entered_amt_idx NUMBER;
137105 l_accted_amt_idx NUMBER;
137106 l_acc_rev_flag VARCHAR2(1);
137107 l_accrual_line_num NUMBER;
137108 l_tmp_amt NUMBER;
137109 l_acc_rev_natural_side_code VARCHAR2(1);
137110
137111 l_num_entries NUMBER;
137112 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
137113 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
137114 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
137115 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
137116 l_recog_line_1 NUMBER;
137117 l_recog_line_2 NUMBER;
137118
137119 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
137120 l_bflow_applied_to_amt NUMBER; -- 5132302
137121 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
137122
137123 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
137124
137125 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
137126 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
137127
137128 ---------------------------------------------------------------------------------------------------------------
137129
137130
137131 --
137132 -- bulk performance
137133 --
137134 l_balance_type_code VARCHAR2(1);
137135 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
137136 l_log_module VARCHAR2(240);
137137
137138 --
137139 -- Upgrade strategy
137140 --
137141 l_actual_upg_option VARCHAR2(1);
137142 l_enc_upg_option VARCHAR2(1);
137143
137144 --
137145 BEGIN
137146 --
137147 IF g_log_enabled THEN
137148 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_229';
137149 END IF;
137150 --
137151 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
137152
137153 trace
137154 (p_msg => 'BEGIN of AcctLineType_229'
137155 ,p_level => C_LEVEL_PROCEDURE
137156 ,p_module => l_log_module);
137157
137158 END IF;
137159 --
137160 l_component_type := 'AMB_JLT';
137161 l_component_code := 'AP_TAX_RATE_VAR_CM';
137165 l_entity_code := 'AP_INVOICES';
137162 l_component_type_code := 'S';
137163 l_component_appl_id := 200;
137164 l_amb_context_code := 'DEFAULT';
137166 l_event_class_code := 'CREDIT MEMOS';
137167 l_event_type_code := 'CREDIT MEMOS_ALL';
137168 l_line_definition_owner_code := 'S';
137169 l_line_definition_code := 'ACCRUAL_CREDIT MEMOS_ALL';
137170 --
137171 l_balance_type_code := 'A';
137172 l_segment := NULL;
137173 l_ccid := NULL;
137174 l_adr_transaction_coa_id := NULL;
137175 l_adr_accounting_coa_id := NULL;
137176 l_adr_flexfield_segment_code := NULL;
137177 l_adr_flex_value_set_id := NULL;
137178 l_adr_value_type_code := NULL;
137179 l_adr_value_combination_id := NULL;
137180 l_adr_value_segment_code := NULL;
137181
137182 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
137183 l_bflow_class_code := ''; -- 4219869 Business Flow
137184 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
137185 l_budgetary_control_flag := 'N';
137186
137187 l_bflow_applied_to_amt_idx := NULL; -- 5132302
137188 l_bflow_applied_to_amt := NULL; -- 5132302
137189 l_entered_amt_idx := NULL; -- 4262811
137190 l_accted_amt_idx := NULL; -- 4262811
137191 l_acc_rev_flag := NULL; -- 4262811
137192 l_accrual_line_num := NULL; -- 4262811
137193 l_tmp_amt := NULL; -- 4262811
137194 --
137195
137196 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
137197 l_balance_type_code <> 'B' THEN
137198 IF NVL(p_source_28,'
137199 ') = 'TRV' AND
137200 NVL(p_source_54,'
137201 ') = 'Y'
137202 THEN
137203
137204 --
137205 XLA_AE_LINES_PKG.SetNewLine;
137206
137207 p_balance_type_code := l_balance_type_code;
137208 -- set the flag so later we will know whether the gain loss line needs to be created
137209
137210 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
137211 p_actual_flag :='A';
137212 END IF;
137213
137214 --
137215 -- bulk performance
137216 --
137217 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
137218 p_header_num => 0); -- 4262811
137219 --
137220 -- set accounting line options
137221 --
137222 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
137223 p_natural_side_code => 'D'
137224 , p_gain_or_loss_flag => 'N'
137225 , p_gl_transfer_mode_code => 'S'
137226 , p_acct_entry_type_code => 'A'
137227 , p_switch_side_flag => 'Y'
137228 , p_merge_duplicate_code => 'A'
137229 );
137230 --
137231 l_acc_rev_natural_side_code := 'C'; -- 4262811
137232 --
137233 --
137234 -- set accounting line type info
137235 --
137236 xla_ae_lines_pkg.SetAcctLineType
137237 (p_component_type => l_component_type
137238 ,p_event_type_code => l_event_type_code
137239 ,p_line_definition_owner_code => l_line_definition_owner_code
137240 ,p_line_definition_code => l_line_definition_code
137241 ,p_accounting_line_code => l_component_code
137242 ,p_accounting_line_type_code => l_component_type_code
137243 ,p_accounting_line_appl_id => l_component_appl_id
137244 ,p_amb_context_code => l_amb_context_code
137245 ,p_entity_code => l_entity_code
137246 ,p_event_class_code => l_event_class_code);
137247 --
137248 -- set accounting class
137249 --
137250 xla_ae_lines_pkg.SetAcctClass(
137251 p_accounting_class_code => 'TRV'
137252 , p_ae_header_id => l_ae_header_id
137253 );
137254
137255 --
137256 -- set rounding class
137257 --
137258 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
137259 'TRV';
137260
137261 --
137262 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
137263 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
137264 --
137265 -- bulk performance
137266 --
137267 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
137268
137269 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
137270 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
137271
137272 -- 4955764
137273 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
137274 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
137275
137276 -- 4458381 Public Sector Enh
137277
137278 --
137279 -- set accounting attributes for the line type
137280 --
137281 l_entered_amt_idx := 23;
137282 l_accted_amt_idx := 28;
137283 l_bflow_applied_to_amt_idx := NULL; -- 5132302
137284 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
137285 l_rec_acct_attrs.array_char_value(1) := p_source_58;
137286 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
137287 l_rec_acct_attrs.array_num_value(2) :=
137288 xla_ae_sources_pkg.GetSystemSourceNum(
137289 p_source_code => 'XLA_EVENT_APPL_ID'
137290 , p_source_type_code => 'Y'
137291 , p_source_application_id => 602
137292 );
137293 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
137294 l_rec_acct_attrs.array_char_value(3) := p_source_60;
137295 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
137299 , p_source_type_code => 'Y'
137296 l_rec_acct_attrs.array_char_value(4) :=
137297 xla_ae_sources_pkg.GetSystemSourceChar(
137298 p_source_code => 'XLA_ENTITY_CODE'
137300 , p_source_application_id => 602
137301 );
137302 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
137303 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_62);
137304 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
137305 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_63);
137306 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
137307 l_rec_acct_attrs.array_num_value(7) := p_source_96;
137308 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
137309 l_rec_acct_attrs.array_char_value(8) := p_source_97;
137310 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
137311 l_rec_acct_attrs.array_char_value(9) := p_source_98;
137312 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
137313 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_99);
137314 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
137315 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_100);
137316 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
137317 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_69);
137318 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
137319 l_rec_acct_attrs.array_char_value(13) := p_source_60;
137320 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
137321 l_rec_acct_attrs.array_num_value(14) := p_source_70;
137322 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
137323 l_rec_acct_attrs.array_num_value(15) := p_source_71;
137324 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
137325 l_rec_acct_attrs.array_char_value(16) := p_source_72;
137326 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
137327 l_rec_acct_attrs.array_num_value(17) := p_source_73;
137328 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
137329 l_rec_acct_attrs.array_num_value(18) := p_source_74;
137330 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
137331 l_rec_acct_attrs.array_num_value(19) := p_source_75;
137332 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
137333 l_rec_acct_attrs.array_char_value(20) := p_source_72;
137334 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
137335 l_rec_acct_attrs.array_num_value(21) := p_source_76;
137336 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
137337 l_rec_acct_attrs.array_char_value(22) := p_source_77;
137338 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
137339 l_rec_acct_attrs.array_num_value(23) := p_source_78;
137340 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
137341 l_rec_acct_attrs.array_char_value(24) := p_source_72;
137342 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
137343 l_rec_acct_attrs.array_date_value(25) := p_source_146;
137344 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
137345 l_rec_acct_attrs.array_num_value(26) := p_source_147;
137346 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
137347 l_rec_acct_attrs.array_char_value(27) := p_source_148;
137348 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
137349 l_rec_acct_attrs.array_num_value(28) := p_source_16;
137350 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
137351 l_rec_acct_attrs.array_date_value(29) := p_source_82;
137352 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
137353 l_rec_acct_attrs.array_char_value(30) := p_source_83;
137354 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
137355 l_rec_acct_attrs.array_date_value(31) := p_source_84;
137356 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
137357 l_rec_acct_attrs.array_char_value(32) := p_source_85;
137358 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
137359 l_rec_acct_attrs.array_num_value(33) := p_source_86;
137360 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
137361 l_rec_acct_attrs.array_num_value(34) := p_source_87;
137362 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
137363 l_rec_acct_attrs.array_char_value(35) := p_source_88;
137364 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
137365 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_89);
137366 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
137367 l_rec_acct_attrs.array_char_value(37) := p_source_60;
137368 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
137369 l_rec_acct_attrs.array_num_value(38) := p_source_90;
137370 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
137371 l_rec_acct_attrs.array_num_value(39) := p_source_91;
137372 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
137373 l_rec_acct_attrs.array_num_value(40) := p_source_92;
137374 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
137375 l_rec_acct_attrs.array_num_value(41) := p_source_93;
137376 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
137377 l_rec_acct_attrs.array_num_value(42) := p_source_94;
137378 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
137379 l_rec_acct_attrs.array_num_value(43) := p_source_95;
137380
137381 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
137382 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
137383
137384 ---------------------------------------------------------------------------------------------------------------
137385 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
137386 ---------------------------------------------------------------------------------------------------------------
137390 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
137387 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
137388
137389 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
137391
137392 IF xla_accounting_cache_pkg.GetValueChar
137393 (p_source_code => 'LEDGER_CATEGORY_CODE'
137394 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
137395 AND l_bflow_method_code = 'PRIOR_ENTRY'
137396 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
137397 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
137398 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
137399 )
137400 THEN
137401 xla_ae_lines_pkg.BflowUpgEntry
137402 (p_business_method_code => l_bflow_method_code
137403 ,p_business_class_code => l_bflow_class_code
137404 ,p_balance_type => l_balance_type_code);
137405 ELSE
137406 NULL;
137407 -- No business flow processing for business flow method of NONE.
137408 END IF;
137409
137410 --
137411 -- call analytical criteria
137412 --
137413
137414 --
137415 -- call description
137416 --
137417
137418 xla_ae_lines_pkg.SetLineDescription(
137419 p_ae_header_id => l_ae_header_id
137420 ,p_description => Description_2 (
137421 p_application_id => p_application_id
137422 , p_ae_header_id => l_ae_header_id
137423 , p_source_1 => p_source_1
137424 )
137425 );
137426
137427
137428 --
137429 -- call ADRs
137430 -- Bug 4922099
137431 --
137432 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
137433 (NVL(l_actual_upg_option, 'N') = 'O') OR
137434 (NVL(l_enc_upg_option, 'N') = 'O')
137435 )
137436 THEN
137437 NULL;
137438 --
137439 --
137440
137441 l_ccid := AcctDerRule_35(
137442 p_application_id => p_application_id
137443 , p_ae_header_id => l_ae_header_id
137444 , p_source_25 => p_source_25
137445 , x_transaction_coa_id => l_adr_transaction_coa_id
137446 , x_accounting_coa_id => l_adr_accounting_coa_id
137447 , x_value_type_code => l_adr_value_type_code
137448 , p_side => 'NA'
137449 );
137450
137451 xla_ae_lines_pkg.set_ccid(
137452 p_code_combination_id => l_ccid
137453 , p_value_type_code => l_adr_value_type_code
137454 , p_transaction_coa_id => l_adr_transaction_coa_id
137455 , p_accounting_coa_id => l_adr_accounting_coa_id
137456 , p_adr_code => 'AP_INVOICE_DIST'
137457 , p_adr_type_code => 'S'
137458 , p_component_type => l_component_type
137459 , p_component_code => l_component_code
137460 , p_component_type_code => l_component_type_code
137461 , p_component_appl_id => l_component_appl_id
137462 , p_amb_context_code => l_amb_context_code
137463 , p_side => 'NA'
137464 );
137465
137466
137467 --
137468 --
137469 END IF;
137470 --
137471 -- Bug 4922099
137472 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
137473 (NVL(l_enc_upg_option, 'N') = 'O')
137474 ) AND
137475 (l_bflow_method_code = 'PRIOR_ENTRY')
137476 )
137477 THEN
137478 IF
137479 --
137480 1 = 2
137481 --
137482 THEN
137483 xla_accounting_err_pkg.build_message
137484 (p_appli_s_name => 'XLA'
137485 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
137486 ,p_token_1 => 'LINE_NUMBER'
137487 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
137488 ,p_token_2 => 'LINE_TYPE_NAME'
137489 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
137490 l_component_type
137491 ,l_component_code
137492 ,l_component_type_code
137493 ,l_component_appl_id
137494 ,l_amb_context_code
137495 ,l_entity_code
137496 ,l_event_class_code
137497 )
137498 ,p_token_3 => 'OWNER'
137499 ,p_value_3 => xla_lookups_pkg.get_meaning(
137500 p_lookup_type => 'XLA_OWNER_TYPE'
137501 ,p_lookup_code => l_component_type_code
137502 )
137503 ,p_token_4 => 'PRODUCT_NAME'
137504 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
137505 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
137506 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
137510
137507 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
137508 ,p_ae_header_id => NULL
137509 );
137511 IF (C_LEVEL_ERROR>= g_log_level) THEN
137512 trace
137513 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
137514 ,p_level => C_LEVEL_ERROR
137515 ,p_module => l_log_module);
137516 END IF;
137517 END IF;
137518 END IF;
137519 --
137520 --
137521 ------------------------------------------------------------------------------------------------
137522 -- 4219869 Business Flow
137523 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
137524 -- Prior Entry. Currently, the following code is always generated.
137525 ------------------------------------------------------------------------------------------------
137526 XLA_AE_LINES_PKG.ValidateCurrentLine;
137527
137528 ------------------------------------------------------------------------------------
137529 -- 4219869 Business Flow
137530 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
137531 ------------------------------------------------------------------------------------
137532 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
137533
137534 ----------------------------------------------------------------------------------
137535 -- 4219869 Business Flow
137536 -- Update journal entry status -- Need to generate this within IF <condition>
137537 ----------------------------------------------------------------------------------
137538 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
137539 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
137540 ,p_balance_type_code => l_balance_type_code
137541 );
137542
137543 -------------------------------------------------------------------------------------------
137544 -- 4262811 - Generate the Accrual Reversal lines
137545 -------------------------------------------------------------------------------------------
137546 BEGIN
137547 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
137548 (g_array_event(p_event_id).array_value_num('header_index'));
137549 IF l_acc_rev_flag IS NULL THEN
137550 l_acc_rev_flag := 'N';
137551 END IF;
137552 EXCEPTION
137553 WHEN OTHERS THEN
137554 l_acc_rev_flag := 'N';
137555 END;
137556 --
137557 IF (l_acc_rev_flag = 'Y') THEN
137558
137559 -- 4645092 ------------------------------------------------------------------------------
137560 -- To allow MPA report to determine if it should generate report process
137561 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
137562 ------------------------------------------------------------------------------------------
137563
137564 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
137565 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
137566 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
137567 -- call ADRs
137568 -- Bug 4922099
137569 --
137570 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
137571 (NVL(l_actual_upg_option, 'N') = 'O') OR
137572 (NVL(l_enc_upg_option, 'N') = 'O')
137573 )
137574 THEN
137575 NULL;
137576 --
137577 --
137578
137579 l_ccid := AcctDerRule_35(
137580 p_application_id => p_application_id
137581 , p_ae_header_id => l_ae_header_id
137582 , p_source_25 => p_source_25
137583 , x_transaction_coa_id => l_adr_transaction_coa_id
137584 , x_accounting_coa_id => l_adr_accounting_coa_id
137585 , x_value_type_code => l_adr_value_type_code
137586 , p_side => 'NA'
137587 );
137588
137589 xla_ae_lines_pkg.set_ccid(
137590 p_code_combination_id => l_ccid
137591 , p_value_type_code => l_adr_value_type_code
137592 , p_transaction_coa_id => l_adr_transaction_coa_id
137593 , p_accounting_coa_id => l_adr_accounting_coa_id
137594 , p_adr_code => 'AP_INVOICE_DIST'
137595 , p_adr_type_code => 'S'
137596 , p_component_type => l_component_type
137597 , p_component_code => l_component_code
137598 , p_component_type_code => l_component_type_code
137599 , p_component_appl_id => l_component_appl_id
137600 , p_amb_context_code => l_amb_context_code
137601 , p_side => 'NA'
137602 );
137603
137604
137605 --
137606 --
137607 END IF;
137608
137609 --
137610 -- Update the line information that should be overwritten
137611 --
137612 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
137613 p_header_num => 1);
137614 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
137615
137616 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
137617
137618 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
137619 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
137620 END IF;
137621
137622 --
137623 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
137624 --
137625 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
137626 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
137627 ELSE
137631 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
137628 ---------------------------------------------------------------------------------------------------
137629 -- 4262811a Switch Sign
137630 ---------------------------------------------------------------------------------------------------
137632 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
137633 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
137634 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
137635 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
137636 -- 5132302
137637 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
137638 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
137639
137640 END IF;
137641
137642 -- 4955764
137643 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
137644 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
137645
137646
137647 XLA_AE_LINES_PKG.ValidateCurrentLine;
137648 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
137649
137650 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
137651 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
137652 ,p_balance_type_code => l_balance_type_code);
137653
137654 END IF;
137655
137656 -----------------------------------------------------------------------------------------
137657 -- 4262811 Multiperiod Accounting
137658 -----------------------------------------------------------------------------------------
137659 -- No MPA option is assigned.
137660
137661
137662 END IF;
137663 END IF;
137664 --
137665
137666 --
137667 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
137668 trace
137669 (p_msg => 'END of AcctLineType_229'
137670 ,p_level => C_LEVEL_PROCEDURE
137671 ,p_module => l_log_module);
137672 END IF;
137673 --
137674 EXCEPTION
137675 WHEN xla_exceptions_pkg.application_exception THEN
137676 RAISE;
137677 WHEN OTHERS THEN
137678 xla_exceptions_pkg.raise_message
137679 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_229');
137680 END AcctLineType_229;
137681 --
137682
137683 ---------------------------------------
137684 --
137685 -- PRIVATE FUNCTION
137686 -- AcctLineType_230
137687 --
137688 ---------------------------------------
137689 PROCEDURE AcctLineType_230 (
137690 p_application_id IN NUMBER
137691 ,p_event_id IN NUMBER
137692 ,p_calculate_acctd_flag IN VARCHAR2
137693 ,p_calculate_g_l_flag IN VARCHAR2
137694 ,p_actual_flag IN OUT VARCHAR2
137695 ,p_balance_type_code OUT VARCHAR2
137696 ,p_gain_or_loss_ref OUT VARCHAR2
137697
137698 --Invoice Distribution Description
137699 , p_source_1 IN VARCHAR2
137700 --Invoice Distribution Ledger Amount
137701 , p_source_16 IN NUMBER
137702 --Invoice Distribution Account
137703 , p_source_25 IN NUMBER
137704 --Invoice Distribution Type
137705 , p_source_28 IN VARCHAR2
137706 , p_source_28_meaning IN VARCHAR2
137707 --Accrue on Receipt Option
137708 , p_source_54 IN VARCHAR2
137709 , p_source_54_meaning IN VARCHAR2
137710 --Accounting Reversal Indicator
137711 , p_source_58 IN VARCHAR2
137712 --Distribution Link Type
137713 , p_source_60 IN VARCHAR2
137714 --Allocation to Main Distribution Identifier
137715 , p_source_62 IN NUMBER
137716 --Invoice Identifier
137717 , p_source_63 IN NUMBER
137718 --Invoice Distribution Identifier
137719 , p_source_69 IN NUMBER
137720 --Payables Encumbrance Upgrade Credit Account
137721 , p_source_70 IN NUMBER
137722 --Payables Encumbrance Upgrade Credit Amount
137723 , p_source_71 IN NUMBER
137724 --Invoice Currency Code
137725 , p_source_72 IN VARCHAR2
137726 --Payables Encumbrance Upgrade Credit Base Amount
137727 , p_source_73 IN NUMBER
137728 --Payables Encumbrance Upgrade Debit Account
137729 , p_source_74 IN NUMBER
137730 --Payables Encumbrance Upgrade Debit Amount
137731 , p_source_75 IN NUMBER
137732 --Payables Encumbrance Upgrade Debit Base Amount
137733 , p_source_76 IN NUMBER
137734 --Payables Encumbrance Upgrade Option
137735 , p_source_77 IN VARCHAR2
137736 --Invoice Distribution Amount
137737 , p_source_78 IN NUMBER
137738 --Deferred Accounting End Date
137739 , p_source_82 IN DATE
137740 --Deferred Accounting Option
137741 , p_source_83 IN VARCHAR2
137742 --Deferred Accounting Start Date
137743 , p_source_84 IN DATE
137744 --Override Accounted Amount Indicator
137745 , p_source_85 IN VARCHAR2
137746 , p_source_85_meaning IN VARCHAR2
137747 --Invoice Supplier Identifier
137748 , p_source_86 IN NUMBER
137749 --Invoice Supplier Site Identifier
137750 , p_source_87 IN NUMBER
137751 --Third Party Type
137752 , p_source_88 IN VARCHAR2
137753 --Parent Reversal Identifier
137754 , p_source_89 IN NUMBER
137755 --Invoice Distribution Tax Line Identifier
137756 , p_source_91 IN NUMBER
137757 --Invoice Distribution Tax Distribution Identifier from Tax
137758 , p_source_92 IN NUMBER
137759 --Invoice Distribution Summary Tax Line Identifier
137760 , p_source_93 IN NUMBER
137761 --Payables Upgrade Credit Encumbrance Type Identifier
137762 , p_source_94 IN NUMBER
137766 , p_source_96 IN NUMBER
137763 --Payables Upgrade Debit Encumbrance Type Identifier
137764 , p_source_95 IN NUMBER
137765 --Business Flow Accounts Payable Application Identifier
137767 --Business Flow Invoice Distribution Type
137768 , p_source_97 IN VARCHAR2
137769 --Business Flow Invoice Entity Code
137770 , p_source_98 IN VARCHAR2
137771 --Business Flow Invoice Distribution Identifier
137772 , p_source_99 IN NUMBER
137773 --Business Flow Invoice Identifier
137774 , p_source_100 IN NUMBER
137775 --Invoice Exchange Date
137776 , p_source_146 IN DATE
137777 --Invoice Exchange Rate
137778 , p_source_147 IN NUMBER
137779 --Invoice Exchange Rate Type
137780 , p_source_148 IN VARCHAR2
137781 )
137782 IS
137783
137784 l_component_type VARCHAR2(80);
137785 l_component_code VARCHAR2(30);
137786 l_component_type_code VARCHAR2(1);
137787 l_component_appl_id INTEGER;
137788 l_amb_context_code VARCHAR2(30);
137789 l_entity_code VARCHAR2(30);
137790 l_event_class_code VARCHAR2(30);
137791 l_ae_header_id NUMBER;
137792 l_event_type_code VARCHAR2(30);
137793 l_line_definition_code VARCHAR2(30);
137794 l_line_definition_owner_code VARCHAR2(1);
137795 --
137796 -- adr variables
137797 l_segment VARCHAR2(30);
137798 l_ccid NUMBER;
137799 l_adr_transaction_coa_id NUMBER;
137800 l_adr_accounting_coa_id NUMBER;
137801 l_adr_flexfield_segment_code VARCHAR2(30);
137802 l_adr_flex_value_set_id NUMBER;
137803 l_adr_value_type_code VARCHAR2(30);
137804 l_adr_value_combination_id NUMBER;
137805 l_adr_value_segment_code VARCHAR2(30);
137806
137807 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
137808 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
137809 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
137810 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
137811
137812 -- 4262811 Variables ------------------------------------------------------------------------------------------
137813 l_entered_amt_idx NUMBER;
137814 l_accted_amt_idx NUMBER;
137815 l_acc_rev_flag VARCHAR2(1);
137816 l_accrual_line_num NUMBER;
137817 l_tmp_amt NUMBER;
137818 l_acc_rev_natural_side_code VARCHAR2(1);
137819
137820 l_num_entries NUMBER;
137821 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
137822 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
137823 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
137824 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
137825 l_recog_line_1 NUMBER;
137826 l_recog_line_2 NUMBER;
137827
137828 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
137829 l_bflow_applied_to_amt NUMBER; -- 5132302
137830 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
137831
137832 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
137833
137834 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
137835 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
137836
137837 ---------------------------------------------------------------------------------------------------------------
137838
137839
137840 --
137841 -- bulk performance
137842 --
137843 l_balance_type_code VARCHAR2(1);
137844 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
137845 l_log_module VARCHAR2(240);
137846
137847 --
137848 -- Upgrade strategy
137849 --
137850 l_actual_upg_option VARCHAR2(1);
137851 l_enc_upg_option VARCHAR2(1);
137852
137853 --
137854 BEGIN
137855 --
137856 IF g_log_enabled THEN
137857 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_230';
137858 END IF;
137859 --
137860 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
137861
137862 trace
137863 (p_msg => 'BEGIN of AcctLineType_230'
137864 ,p_level => C_LEVEL_PROCEDURE
137865 ,p_module => l_log_module);
137866
137867 END IF;
137868 --
137869 l_component_type := 'AMB_JLT';
137870 l_component_code := 'AP_TAX_RATE_VAR_DM';
137871 l_component_type_code := 'S';
137872 l_component_appl_id := 200;
137873 l_amb_context_code := 'DEFAULT';
137874 l_entity_code := 'AP_INVOICES';
137875 l_event_class_code := 'DEBIT MEMOS';
137876 l_event_type_code := 'DEBIT MEMOS_ALL';
137877 l_line_definition_owner_code := 'S';
137878 l_line_definition_code := 'ACCRUAL_DEBIT MEMOS_ALL';
137879 --
137880 l_balance_type_code := 'A';
137881 l_segment := NULL;
137882 l_ccid := NULL;
137883 l_adr_transaction_coa_id := NULL;
137884 l_adr_accounting_coa_id := NULL;
137885 l_adr_flexfield_segment_code := NULL;
137886 l_adr_flex_value_set_id := NULL;
137887 l_adr_value_type_code := NULL;
137888 l_adr_value_combination_id := NULL;
137889 l_adr_value_segment_code := NULL;
137890
137891 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
137892 l_bflow_class_code := ''; -- 4219869 Business Flow
137893 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
137894 l_budgetary_control_flag := 'N';
137895
137896 l_bflow_applied_to_amt_idx := NULL; -- 5132302
137897 l_bflow_applied_to_amt := NULL; -- 5132302
137898 l_entered_amt_idx := NULL; -- 4262811
137899 l_accted_amt_idx := NULL; -- 4262811
137903 --
137900 l_acc_rev_flag := NULL; -- 4262811
137901 l_accrual_line_num := NULL; -- 4262811
137902 l_tmp_amt := NULL; -- 4262811
137904
137905 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
137906 l_balance_type_code <> 'B' THEN
137907 IF NVL(p_source_28,'
137908 ') = 'TRV' AND
137909 NVL(p_source_54,'
137910 ') = 'Y'
137911 THEN
137912
137913 --
137914 XLA_AE_LINES_PKG.SetNewLine;
137915
137916 p_balance_type_code := l_balance_type_code;
137917 -- set the flag so later we will know whether the gain loss line needs to be created
137918
137919 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
137920 p_actual_flag :='A';
137921 END IF;
137922
137923 --
137924 -- bulk performance
137925 --
137926 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
137927 p_header_num => 0); -- 4262811
137928 --
137929 -- set accounting line options
137930 --
137931 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
137932 p_natural_side_code => 'D'
137933 , p_gain_or_loss_flag => 'N'
137934 , p_gl_transfer_mode_code => 'S'
137935 , p_acct_entry_type_code => 'A'
137936 , p_switch_side_flag => 'Y'
137937 , p_merge_duplicate_code => 'A'
137938 );
137939 --
137940 l_acc_rev_natural_side_code := 'C'; -- 4262811
137941 --
137942 --
137943 -- set accounting line type info
137944 --
137945 xla_ae_lines_pkg.SetAcctLineType
137946 (p_component_type => l_component_type
137947 ,p_event_type_code => l_event_type_code
137948 ,p_line_definition_owner_code => l_line_definition_owner_code
137949 ,p_line_definition_code => l_line_definition_code
137950 ,p_accounting_line_code => l_component_code
137951 ,p_accounting_line_type_code => l_component_type_code
137952 ,p_accounting_line_appl_id => l_component_appl_id
137953 ,p_amb_context_code => l_amb_context_code
137954 ,p_entity_code => l_entity_code
137955 ,p_event_class_code => l_event_class_code);
137956 --
137957 -- set accounting class
137958 --
137959 xla_ae_lines_pkg.SetAcctClass(
137960 p_accounting_class_code => 'TRV'
137961 , p_ae_header_id => l_ae_header_id
137962 );
137963
137964 --
137965 -- set rounding class
137966 --
137967 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
137968 'TRV';
137969
137970 --
137971 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
137972 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
137973 --
137974 -- bulk performance
137975 --
137976 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
137977
137978 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
137979 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
137980
137981 -- 4955764
137982 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
137983 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
137984
137985 -- 4458381 Public Sector Enh
137986
137987 --
137988 -- set accounting attributes for the line type
137989 --
137990 l_entered_amt_idx := 23;
137991 l_accted_amt_idx := 28;
137992 l_bflow_applied_to_amt_idx := NULL; -- 5132302
137993 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
137994 l_rec_acct_attrs.array_char_value(1) := p_source_58;
137995 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
137996 l_rec_acct_attrs.array_num_value(2) :=
137997 xla_ae_sources_pkg.GetSystemSourceNum(
137998 p_source_code => 'XLA_EVENT_APPL_ID'
137999 , p_source_type_code => 'Y'
138000 , p_source_application_id => 602
138001 );
138002 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
138003 l_rec_acct_attrs.array_char_value(3) := p_source_60;
138004 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
138005 l_rec_acct_attrs.array_char_value(4) :=
138006 xla_ae_sources_pkg.GetSystemSourceChar(
138007 p_source_code => 'XLA_ENTITY_CODE'
138008 , p_source_type_code => 'Y'
138009 , p_source_application_id => 602
138010 );
138011 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
138012 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_62);
138013 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
138014 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_63);
138015 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
138016 l_rec_acct_attrs.array_num_value(7) := p_source_96;
138017 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
138018 l_rec_acct_attrs.array_char_value(8) := p_source_97;
138019 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
138020 l_rec_acct_attrs.array_char_value(9) := p_source_98;
138021 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
138022 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_99);
138023 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
138024 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_100);
138025 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
138026 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_69);
138030 l_rec_acct_attrs.array_num_value(14) := p_source_70;
138027 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
138028 l_rec_acct_attrs.array_char_value(13) := p_source_60;
138029 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
138031 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
138032 l_rec_acct_attrs.array_num_value(15) := p_source_71;
138033 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
138034 l_rec_acct_attrs.array_char_value(16) := p_source_72;
138035 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
138036 l_rec_acct_attrs.array_num_value(17) := p_source_73;
138037 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
138038 l_rec_acct_attrs.array_num_value(18) := p_source_74;
138039 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
138040 l_rec_acct_attrs.array_num_value(19) := p_source_75;
138041 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
138042 l_rec_acct_attrs.array_char_value(20) := p_source_72;
138043 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
138044 l_rec_acct_attrs.array_num_value(21) := p_source_76;
138045 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
138046 l_rec_acct_attrs.array_char_value(22) := p_source_77;
138047 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
138048 l_rec_acct_attrs.array_num_value(23) := p_source_78;
138049 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
138050 l_rec_acct_attrs.array_char_value(24) := p_source_72;
138051 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
138052 l_rec_acct_attrs.array_date_value(25) := p_source_146;
138053 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
138054 l_rec_acct_attrs.array_num_value(26) := p_source_147;
138055 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
138056 l_rec_acct_attrs.array_char_value(27) := p_source_148;
138057 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
138058 l_rec_acct_attrs.array_num_value(28) := p_source_16;
138059 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
138060 l_rec_acct_attrs.array_date_value(29) := p_source_82;
138061 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
138062 l_rec_acct_attrs.array_char_value(30) := p_source_83;
138063 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
138064 l_rec_acct_attrs.array_date_value(31) := p_source_84;
138065 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
138066 l_rec_acct_attrs.array_char_value(32) := p_source_85;
138067 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
138068 l_rec_acct_attrs.array_num_value(33) := p_source_86;
138069 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
138070 l_rec_acct_attrs.array_num_value(34) := p_source_87;
138071 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
138072 l_rec_acct_attrs.array_char_value(35) := p_source_88;
138073 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
138074 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_89);
138075 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
138076 l_rec_acct_attrs.array_char_value(37) := p_source_60;
138077 l_rec_acct_attrs.array_acct_attr_code(38) := 'TAX_LINE_REF_ID';
138078 l_rec_acct_attrs.array_num_value(38) := p_source_91;
138079 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_REC_NREC_DIST_REF_ID';
138080 l_rec_acct_attrs.array_num_value(39) := p_source_92;
138081 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_SUMMARY_LINE_REF_ID';
138082 l_rec_acct_attrs.array_num_value(40) := p_source_93;
138083 l_rec_acct_attrs.array_acct_attr_code(41) := 'UPG_CR_ENC_TYPE_ID';
138084 l_rec_acct_attrs.array_num_value(41) := p_source_94;
138085 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_DR_ENC_TYPE_ID';
138086 l_rec_acct_attrs.array_num_value(42) := p_source_95;
138087
138088 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
138089 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
138090
138091 ---------------------------------------------------------------------------------------------------------------
138092 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
138093 ---------------------------------------------------------------------------------------------------------------
138094 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
138095
138096 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
138097 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
138098
138099 IF xla_accounting_cache_pkg.GetValueChar
138100 (p_source_code => 'LEDGER_CATEGORY_CODE'
138101 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
138102 AND l_bflow_method_code = 'PRIOR_ENTRY'
138103 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
138104 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
138105 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
138106 )
138107 THEN
138108 xla_ae_lines_pkg.BflowUpgEntry
138109 (p_business_method_code => l_bflow_method_code
138110 ,p_business_class_code => l_bflow_class_code
138111 ,p_balance_type => l_balance_type_code);
138112 ELSE
138113 NULL;
138114 -- No business flow processing for business flow method of NONE.
138115 END IF;
138116
138117 --
138118 -- call analytical criteria
138119 --
138120
138121 --
138122 -- call description
138123 --
138124
138125 xla_ae_lines_pkg.SetLineDescription(
138126 p_ae_header_id => l_ae_header_id
138127 ,p_description => Description_2 (
138131 )
138128 p_application_id => p_application_id
138129 , p_ae_header_id => l_ae_header_id
138130 , p_source_1 => p_source_1
138132 );
138133
138134
138135 --
138136 -- call ADRs
138137 -- Bug 4922099
138138 --
138139 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
138140 (NVL(l_actual_upg_option, 'N') = 'O') OR
138141 (NVL(l_enc_upg_option, 'N') = 'O')
138142 )
138143 THEN
138144 NULL;
138145 --
138146 --
138147
138148 l_ccid := AcctDerRule_35(
138149 p_application_id => p_application_id
138150 , p_ae_header_id => l_ae_header_id
138151 , p_source_25 => p_source_25
138152 , x_transaction_coa_id => l_adr_transaction_coa_id
138153 , x_accounting_coa_id => l_adr_accounting_coa_id
138154 , x_value_type_code => l_adr_value_type_code
138155 , p_side => 'NA'
138156 );
138157
138158 xla_ae_lines_pkg.set_ccid(
138159 p_code_combination_id => l_ccid
138160 , p_value_type_code => l_adr_value_type_code
138161 , p_transaction_coa_id => l_adr_transaction_coa_id
138162 , p_accounting_coa_id => l_adr_accounting_coa_id
138163 , p_adr_code => 'AP_INVOICE_DIST'
138164 , p_adr_type_code => 'S'
138165 , p_component_type => l_component_type
138166 , p_component_code => l_component_code
138167 , p_component_type_code => l_component_type_code
138168 , p_component_appl_id => l_component_appl_id
138169 , p_amb_context_code => l_amb_context_code
138170 , p_side => 'NA'
138171 );
138172
138173
138174 --
138175 --
138176 END IF;
138177 --
138178 -- Bug 4922099
138179 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
138180 (NVL(l_enc_upg_option, 'N') = 'O')
138181 ) AND
138182 (l_bflow_method_code = 'PRIOR_ENTRY')
138183 )
138184 THEN
138185 IF
138186 --
138187 1 = 2
138188 --
138189 THEN
138190 xla_accounting_err_pkg.build_message
138191 (p_appli_s_name => 'XLA'
138192 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
138193 ,p_token_1 => 'LINE_NUMBER'
138194 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
138195 ,p_token_2 => 'LINE_TYPE_NAME'
138196 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
138197 l_component_type
138198 ,l_component_code
138199 ,l_component_type_code
138200 ,l_component_appl_id
138201 ,l_amb_context_code
138202 ,l_entity_code
138203 ,l_event_class_code
138204 )
138205 ,p_token_3 => 'OWNER'
138206 ,p_value_3 => xla_lookups_pkg.get_meaning(
138207 p_lookup_type => 'XLA_OWNER_TYPE'
138208 ,p_lookup_code => l_component_type_code
138209 )
138210 ,p_token_4 => 'PRODUCT_NAME'
138211 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
138212 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
138213 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
138214 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
138215 ,p_ae_header_id => NULL
138216 );
138217
138218 IF (C_LEVEL_ERROR>= g_log_level) THEN
138219 trace
138220 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
138221 ,p_level => C_LEVEL_ERROR
138222 ,p_module => l_log_module);
138223 END IF;
138224 END IF;
138225 END IF;
138226 --
138227 --
138228 ------------------------------------------------------------------------------------------------
138229 -- 4219869 Business Flow
138230 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
138231 -- Prior Entry. Currently, the following code is always generated.
138232 ------------------------------------------------------------------------------------------------
138233 XLA_AE_LINES_PKG.ValidateCurrentLine;
138234
138235 ------------------------------------------------------------------------------------
138236 -- 4219869 Business Flow
138237 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
138238 ------------------------------------------------------------------------------------
138239 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
138240
138241 ----------------------------------------------------------------------------------
138242 -- 4219869 Business Flow
138246 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
138243 -- Update journal entry status -- Need to generate this within IF <condition>
138244 ----------------------------------------------------------------------------------
138245 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
138247 ,p_balance_type_code => l_balance_type_code
138248 );
138249
138250 -------------------------------------------------------------------------------------------
138251 -- 4262811 - Generate the Accrual Reversal lines
138252 -------------------------------------------------------------------------------------------
138253 BEGIN
138254 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
138255 (g_array_event(p_event_id).array_value_num('header_index'));
138256 IF l_acc_rev_flag IS NULL THEN
138257 l_acc_rev_flag := 'N';
138258 END IF;
138259 EXCEPTION
138260 WHEN OTHERS THEN
138261 l_acc_rev_flag := 'N';
138262 END;
138263 --
138264 IF (l_acc_rev_flag = 'Y') THEN
138265
138266 -- 4645092 ------------------------------------------------------------------------------
138267 -- To allow MPA report to determine if it should generate report process
138268 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
138269 ------------------------------------------------------------------------------------------
138270
138271 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
138272 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
138273 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
138274 -- call ADRs
138275 -- Bug 4922099
138276 --
138277 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
138278 (NVL(l_actual_upg_option, 'N') = 'O') OR
138279 (NVL(l_enc_upg_option, 'N') = 'O')
138280 )
138281 THEN
138282 NULL;
138283 --
138284 --
138285
138286 l_ccid := AcctDerRule_35(
138287 p_application_id => p_application_id
138288 , p_ae_header_id => l_ae_header_id
138289 , p_source_25 => p_source_25
138290 , x_transaction_coa_id => l_adr_transaction_coa_id
138291 , x_accounting_coa_id => l_adr_accounting_coa_id
138292 , x_value_type_code => l_adr_value_type_code
138293 , p_side => 'NA'
138294 );
138295
138296 xla_ae_lines_pkg.set_ccid(
138297 p_code_combination_id => l_ccid
138298 , p_value_type_code => l_adr_value_type_code
138299 , p_transaction_coa_id => l_adr_transaction_coa_id
138300 , p_accounting_coa_id => l_adr_accounting_coa_id
138301 , p_adr_code => 'AP_INVOICE_DIST'
138302 , p_adr_type_code => 'S'
138303 , p_component_type => l_component_type
138304 , p_component_code => l_component_code
138305 , p_component_type_code => l_component_type_code
138306 , p_component_appl_id => l_component_appl_id
138307 , p_amb_context_code => l_amb_context_code
138308 , p_side => 'NA'
138309 );
138310
138311
138312 --
138313 --
138314 END IF;
138315
138316 --
138317 -- Update the line information that should be overwritten
138318 --
138319 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
138320 p_header_num => 1);
138321 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
138322
138323 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
138324
138325 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
138326 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
138327 END IF;
138328
138329 --
138330 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
138331 --
138332 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
138333 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
138334 ELSE
138335 ---------------------------------------------------------------------------------------------------
138336 -- 4262811a Switch Sign
138337 ---------------------------------------------------------------------------------------------------
138338 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
138339 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
138340 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
138341 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
138342 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
138343 -- 5132302
138344 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
138345 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
138346
138347 END IF;
138348
138349 -- 4955764
138350 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
138351 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
138352
138353
138354 XLA_AE_LINES_PKG.ValidateCurrentLine;
138355 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
138356
138357 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
138358 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
138362
138359 ,p_balance_type_code => l_balance_type_code);
138360
138361 END IF;
138363 -----------------------------------------------------------------------------------------
138364 -- 4262811 Multiperiod Accounting
138365 -----------------------------------------------------------------------------------------
138366 -- No MPA option is assigned.
138367
138368
138369 END IF;
138370 END IF;
138371 --
138372
138373 --
138374 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
138375 trace
138376 (p_msg => 'END of AcctLineType_230'
138377 ,p_level => C_LEVEL_PROCEDURE
138378 ,p_module => l_log_module);
138379 END IF;
138380 --
138381 EXCEPTION
138382 WHEN xla_exceptions_pkg.application_exception THEN
138383 RAISE;
138384 WHEN OTHERS THEN
138385 xla_exceptions_pkg.raise_message
138386 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_230');
138387 END AcctLineType_230;
138388 --
138389
138390 ---------------------------------------
138391 --
138392 -- PRIVATE FUNCTION
138393 -- AcctLineType_231
138394 --
138395 ---------------------------------------
138396 PROCEDURE AcctLineType_231 (
138397 p_application_id IN NUMBER
138398 ,p_event_id IN NUMBER
138399 ,p_calculate_acctd_flag IN VARCHAR2
138400 ,p_calculate_g_l_flag IN VARCHAR2
138401 ,p_actual_flag IN OUT VARCHAR2
138402 ,p_balance_type_code OUT VARCHAR2
138403 ,p_gain_or_loss_ref OUT VARCHAR2
138404
138405 --Invoice Distribution Description
138406 , p_source_1 IN VARCHAR2
138407 --Invoice Distribution Ledger Amount
138408 , p_source_16 IN NUMBER
138409 --Invoice Distribution Account
138410 , p_source_25 IN NUMBER
138411 --Invoice Distribution Type
138412 , p_source_28 IN VARCHAR2
138413 , p_source_28_meaning IN VARCHAR2
138414 --Accrue on Receipt Option
138415 , p_source_54 IN VARCHAR2
138416 , p_source_54_meaning IN VARCHAR2
138417 --Accounting Reversal Indicator
138418 , p_source_58 IN VARCHAR2
138419 --Distribution Link Type
138420 , p_source_60 IN VARCHAR2
138421 --Allocation to Main Distribution Identifier
138422 , p_source_62 IN NUMBER
138423 --Invoice Identifier
138424 , p_source_63 IN NUMBER
138425 --Invoice Distribution Identifier
138426 , p_source_69 IN NUMBER
138427 --Payables Encumbrance Upgrade Credit Account
138428 , p_source_70 IN NUMBER
138429 --Payables Encumbrance Upgrade Credit Amount
138430 , p_source_71 IN NUMBER
138431 --Invoice Currency Code
138432 , p_source_72 IN VARCHAR2
138433 --Payables Encumbrance Upgrade Credit Base Amount
138434 , p_source_73 IN NUMBER
138435 --Payables Encumbrance Upgrade Debit Account
138436 , p_source_74 IN NUMBER
138437 --Payables Encumbrance Upgrade Debit Amount
138438 , p_source_75 IN NUMBER
138439 --Payables Encumbrance Upgrade Debit Base Amount
138440 , p_source_76 IN NUMBER
138441 --Payables Encumbrance Upgrade Option
138442 , p_source_77 IN VARCHAR2
138443 --Invoice Distribution Amount
138444 , p_source_78 IN NUMBER
138445 --Deferred Accounting End Date
138446 , p_source_82 IN DATE
138447 --Deferred Accounting Option
138448 , p_source_83 IN VARCHAR2
138449 --Deferred Accounting Start Date
138450 , p_source_84 IN DATE
138451 --Override Accounted Amount Indicator
138452 , p_source_85 IN VARCHAR2
138453 , p_source_85_meaning IN VARCHAR2
138454 --Invoice Supplier Identifier
138455 , p_source_86 IN NUMBER
138456 --Invoice Supplier Site Identifier
138457 , p_source_87 IN NUMBER
138458 --Third Party Type
138459 , p_source_88 IN VARCHAR2
138460 --Parent Reversal Identifier
138461 , p_source_89 IN NUMBER
138462 --Invoice Distribution Statistical Amount
138463 , p_source_90 IN NUMBER
138464 --Invoice Distribution Tax Line Identifier
138465 , p_source_91 IN NUMBER
138466 --Invoice Distribution Tax Distribution Identifier from Tax
138467 , p_source_92 IN NUMBER
138468 --Invoice Distribution Summary Tax Line Identifier
138469 , p_source_93 IN NUMBER
138470 --Payables Upgrade Credit Encumbrance Type Identifier
138471 , p_source_94 IN NUMBER
138472 --Payables Upgrade Debit Encumbrance Type Identifier
138473 , p_source_95 IN NUMBER
138474 --Business Flow Accounts Payable Application Identifier
138475 , p_source_96 IN NUMBER
138476 --Business Flow Invoice Distribution Type
138477 , p_source_97 IN VARCHAR2
138478 --Business Flow Invoice Entity Code
138479 , p_source_98 IN VARCHAR2
138480 --Business Flow Invoice Distribution Identifier
138481 , p_source_99 IN NUMBER
138482 --Business Flow Invoice Identifier
138483 , p_source_100 IN NUMBER
138484 --Invoice Exchange Date
138485 , p_source_146 IN DATE
138486 --Invoice Exchange Rate
138487 , p_source_147 IN NUMBER
138488 --Invoice Exchange Rate Type
138489 , p_source_148 IN VARCHAR2
138490 )
138491 IS
138492
138493 l_component_type VARCHAR2(80);
138494 l_component_code VARCHAR2(30);
138495 l_component_type_code VARCHAR2(1);
138496 l_component_appl_id INTEGER;
138497 l_amb_context_code VARCHAR2(30);
138498 l_entity_code VARCHAR2(30);
138499 l_event_class_code VARCHAR2(30);
138500 l_ae_header_id NUMBER;
138501 l_event_type_code VARCHAR2(30);
138502 l_line_definition_code VARCHAR2(30);
138503 l_line_definition_owner_code VARCHAR2(1);
138504 --
138505 -- adr variables
138506 l_segment VARCHAR2(30);
138510 l_adr_flexfield_segment_code VARCHAR2(30);
138507 l_ccid NUMBER;
138508 l_adr_transaction_coa_id NUMBER;
138509 l_adr_accounting_coa_id NUMBER;
138511 l_adr_flex_value_set_id NUMBER;
138512 l_adr_value_type_code VARCHAR2(30);
138513 l_adr_value_combination_id NUMBER;
138514 l_adr_value_segment_code VARCHAR2(30);
138515
138516 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
138517 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
138518 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
138519 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
138520
138521 -- 4262811 Variables ------------------------------------------------------------------------------------------
138522 l_entered_amt_idx NUMBER;
138523 l_accted_amt_idx NUMBER;
138524 l_acc_rev_flag VARCHAR2(1);
138525 l_accrual_line_num NUMBER;
138526 l_tmp_amt NUMBER;
138527 l_acc_rev_natural_side_code VARCHAR2(1);
138528
138529 l_num_entries NUMBER;
138530 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
138531 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
138532 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
138533 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
138534 l_recog_line_1 NUMBER;
138535 l_recog_line_2 NUMBER;
138536
138537 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
138538 l_bflow_applied_to_amt NUMBER; -- 5132302
138539 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
138540
138541 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
138542
138543 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
138544 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
138545
138546 ---------------------------------------------------------------------------------------------------------------
138547
138548
138549 --
138550 -- bulk performance
138551 --
138552 l_balance_type_code VARCHAR2(1);
138553 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
138554 l_log_module VARCHAR2(240);
138555
138556 --
138557 -- Upgrade strategy
138558 --
138559 l_actual_upg_option VARCHAR2(1);
138560 l_enc_upg_option VARCHAR2(1);
138561
138562 --
138563 BEGIN
138564 --
138565 IF g_log_enabled THEN
138566 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_231';
138567 END IF;
138568 --
138569 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
138570
138571 trace
138572 (p_msg => 'BEGIN of AcctLineType_231'
138573 ,p_level => C_LEVEL_PROCEDURE
138574 ,p_module => l_log_module);
138575
138576 END IF;
138577 --
138578 l_component_type := 'AMB_JLT';
138579 l_component_code := 'AP_TAX_RATE_VAR_INV';
138580 l_component_type_code := 'S';
138581 l_component_appl_id := 200;
138582 l_amb_context_code := 'DEFAULT';
138583 l_entity_code := 'AP_INVOICES';
138584 l_event_class_code := 'INVOICES';
138585 l_event_type_code := 'INVOICES_ALL';
138586 l_line_definition_owner_code := 'S';
138587 l_line_definition_code := 'ACCRUAL_INVOICES_ALL';
138588 --
138589 l_balance_type_code := 'A';
138590 l_segment := NULL;
138591 l_ccid := NULL;
138592 l_adr_transaction_coa_id := NULL;
138593 l_adr_accounting_coa_id := NULL;
138594 l_adr_flexfield_segment_code := NULL;
138595 l_adr_flex_value_set_id := NULL;
138596 l_adr_value_type_code := NULL;
138597 l_adr_value_combination_id := NULL;
138598 l_adr_value_segment_code := NULL;
138599
138600 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
138601 l_bflow_class_code := ''; -- 4219869 Business Flow
138602 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
138603 l_budgetary_control_flag := 'N';
138604
138605 l_bflow_applied_to_amt_idx := NULL; -- 5132302
138606 l_bflow_applied_to_amt := NULL; -- 5132302
138607 l_entered_amt_idx := NULL; -- 4262811
138608 l_accted_amt_idx := NULL; -- 4262811
138609 l_acc_rev_flag := NULL; -- 4262811
138610 l_accrual_line_num := NULL; -- 4262811
138611 l_tmp_amt := NULL; -- 4262811
138612 --
138613
138614 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
138615 l_balance_type_code <> 'B' THEN
138616 IF NVL(p_source_28,'
138617 ') = 'TRV' AND
138618 NVL(p_source_54,'
138619 ') = 'Y'
138620 THEN
138621
138622 --
138623 XLA_AE_LINES_PKG.SetNewLine;
138624
138625 p_balance_type_code := l_balance_type_code;
138626 -- set the flag so later we will know whether the gain loss line needs to be created
138627
138628 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
138629 p_actual_flag :='A';
138630 END IF;
138631
138632 --
138633 -- bulk performance
138634 --
138635 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
138636 p_header_num => 0); -- 4262811
138637 --
138638 -- set accounting line options
138639 --
138640 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
138641 p_natural_side_code => 'D'
138642 , p_gain_or_loss_flag => 'N'
138643 , p_gl_transfer_mode_code => 'S'
138644 , p_acct_entry_type_code => 'A'
138645 , p_switch_side_flag => 'Y'
138649 l_acc_rev_natural_side_code := 'C'; -- 4262811
138646 , p_merge_duplicate_code => 'A'
138647 );
138648 --
138650 --
138651 --
138652 -- set accounting line type info
138653 --
138654 xla_ae_lines_pkg.SetAcctLineType
138655 (p_component_type => l_component_type
138656 ,p_event_type_code => l_event_type_code
138657 ,p_line_definition_owner_code => l_line_definition_owner_code
138658 ,p_line_definition_code => l_line_definition_code
138659 ,p_accounting_line_code => l_component_code
138660 ,p_accounting_line_type_code => l_component_type_code
138661 ,p_accounting_line_appl_id => l_component_appl_id
138662 ,p_amb_context_code => l_amb_context_code
138663 ,p_entity_code => l_entity_code
138664 ,p_event_class_code => l_event_class_code);
138665 --
138666 -- set accounting class
138667 --
138668 xla_ae_lines_pkg.SetAcctClass(
138669 p_accounting_class_code => 'TRV'
138670 , p_ae_header_id => l_ae_header_id
138671 );
138672
138673 --
138674 -- set rounding class
138675 --
138676 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
138677 'TRV';
138678
138679 --
138680 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
138681 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
138682 --
138683 -- bulk performance
138684 --
138685 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
138686
138687 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
138688 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
138689
138690 -- 4955764
138691 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
138692 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
138693
138694 -- 4458381 Public Sector Enh
138695
138696 --
138697 -- set accounting attributes for the line type
138698 --
138699 l_entered_amt_idx := 24;
138700 l_accted_amt_idx := 29;
138701 l_bflow_applied_to_amt_idx := 7; -- 5132302
138702 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
138703 l_rec_acct_attrs.array_char_value(1) := p_source_58;
138704 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
138705 l_rec_acct_attrs.array_num_value(2) :=
138706 xla_ae_sources_pkg.GetSystemSourceNum(
138707 p_source_code => 'XLA_EVENT_APPL_ID'
138708 , p_source_type_code => 'Y'
138709 , p_source_application_id => 602
138710 );
138711 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
138712 l_rec_acct_attrs.array_char_value(3) := p_source_60;
138713 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
138714 l_rec_acct_attrs.array_char_value(4) :=
138715 xla_ae_sources_pkg.GetSystemSourceChar(
138716 p_source_code => 'XLA_ENTITY_CODE'
138717 , p_source_type_code => 'Y'
138718 , p_source_application_id => 602
138719 );
138720 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
138721 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_62);
138722 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
138723 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_63);
138724 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
138725 l_rec_acct_attrs.array_num_value(7) := p_source_78;
138726 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
138727 l_rec_acct_attrs.array_num_value(8) := p_source_96;
138728 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
138729 l_rec_acct_attrs.array_char_value(9) := p_source_97;
138730 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
138731 l_rec_acct_attrs.array_char_value(10) := p_source_98;
138732 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
138733 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_99);
138734 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
138735 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_100);
138736 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
138737 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_69);
138738 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
138739 l_rec_acct_attrs.array_char_value(14) := p_source_60;
138740 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
138741 l_rec_acct_attrs.array_num_value(15) := p_source_70;
138742 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
138743 l_rec_acct_attrs.array_num_value(16) := p_source_71;
138744 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
138745 l_rec_acct_attrs.array_char_value(17) := p_source_72;
138746 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
138747 l_rec_acct_attrs.array_num_value(18) := p_source_73;
138748 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
138749 l_rec_acct_attrs.array_num_value(19) := p_source_74;
138750 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
138751 l_rec_acct_attrs.array_num_value(20) := p_source_75;
138752 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
138753 l_rec_acct_attrs.array_char_value(21) := p_source_72;
138754 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
138755 l_rec_acct_attrs.array_num_value(22) := p_source_76;
138756 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
138757 l_rec_acct_attrs.array_char_value(23) := p_source_77;
138761 l_rec_acct_attrs.array_char_value(25) := p_source_72;
138758 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_AMOUNT';
138759 l_rec_acct_attrs.array_num_value(24) := p_source_78;
138760 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_CODE';
138762 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_DATE';
138763 l_rec_acct_attrs.array_date_value(26) := p_source_146;
138764 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE';
138765 l_rec_acct_attrs.array_num_value(27) := p_source_147;
138766 l_rec_acct_attrs.array_acct_attr_code(28) := 'EXCHANGE_RATE_TYPE';
138767 l_rec_acct_attrs.array_char_value(28) := p_source_148;
138768 l_rec_acct_attrs.array_acct_attr_code(29) := 'LEDGER_AMOUNT';
138769 l_rec_acct_attrs.array_num_value(29) := p_source_16;
138770 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_END_DATE';
138771 l_rec_acct_attrs.array_date_value(30) := p_source_82;
138772 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_OPTION';
138773 l_rec_acct_attrs.array_char_value(31) := p_source_83;
138774 l_rec_acct_attrs.array_acct_attr_code(32) := 'MULTIPERIOD_START_DATE';
138775 l_rec_acct_attrs.array_date_value(32) := p_source_84;
138776 l_rec_acct_attrs.array_acct_attr_code(33) := 'OVERRIDE_ACCTD_AMT_FLAG';
138777 l_rec_acct_attrs.array_char_value(33) := p_source_85;
138778 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_ID';
138779 l_rec_acct_attrs.array_num_value(34) := p_source_86;
138780 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_SITE_ID';
138781 l_rec_acct_attrs.array_num_value(35) := p_source_87;
138782 l_rec_acct_attrs.array_acct_attr_code(36) := 'PARTY_TYPE';
138783 l_rec_acct_attrs.array_char_value(36) := p_source_88;
138784 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_ID1';
138785 l_rec_acct_attrs.array_num_value(37) := to_char(p_source_89);
138786 l_rec_acct_attrs.array_acct_attr_code(38) := 'REVERSED_DISTRIBUTION_TYPE';
138787 l_rec_acct_attrs.array_char_value(38) := p_source_60;
138788 l_rec_acct_attrs.array_acct_attr_code(39) := 'STATISTICAL_AMOUNT';
138789 l_rec_acct_attrs.array_num_value(39) := p_source_90;
138790 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_LINE_REF_ID';
138791 l_rec_acct_attrs.array_num_value(40) := p_source_91;
138792 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_REC_NREC_DIST_REF_ID';
138793 l_rec_acct_attrs.array_num_value(41) := p_source_92;
138794 l_rec_acct_attrs.array_acct_attr_code(42) := 'TAX_SUMMARY_LINE_REF_ID';
138795 l_rec_acct_attrs.array_num_value(42) := p_source_93;
138796 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_CR_ENC_TYPE_ID';
138797 l_rec_acct_attrs.array_num_value(43) := p_source_94;
138798 l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
138799 l_rec_acct_attrs.array_num_value(44) := p_source_95;
138800
138801 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
138802 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
138803
138804 ---------------------------------------------------------------------------------------------------------------
138805 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
138806 ---------------------------------------------------------------------------------------------------------------
138807 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
138808
138809 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
138810 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
138811
138812 IF xla_accounting_cache_pkg.GetValueChar
138813 (p_source_code => 'LEDGER_CATEGORY_CODE'
138814 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
138815 AND l_bflow_method_code = 'PRIOR_ENTRY'
138816 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
138817 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
138818 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
138819 )
138820 THEN
138821 xla_ae_lines_pkg.BflowUpgEntry
138822 (p_business_method_code => l_bflow_method_code
138823 ,p_business_class_code => l_bflow_class_code
138824 ,p_balance_type => l_balance_type_code);
138825 ELSE
138826 NULL;
138827 -- No business flow processing for business flow method of NONE.
138828 END IF;
138829
138830 --
138831 -- call analytical criteria
138832 --
138833
138834 --
138835 -- call description
138836 --
138837
138838 xla_ae_lines_pkg.SetLineDescription(
138839 p_ae_header_id => l_ae_header_id
138840 ,p_description => Description_2 (
138841 p_application_id => p_application_id
138842 , p_ae_header_id => l_ae_header_id
138843 , p_source_1 => p_source_1
138844 )
138845 );
138846
138847
138848 --
138849 -- call ADRs
138850 -- Bug 4922099
138851 --
138852 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
138853 (NVL(l_actual_upg_option, 'N') = 'O') OR
138854 (NVL(l_enc_upg_option, 'N') = 'O')
138855 )
138856 THEN
138857 NULL;
138858 --
138859 --
138860
138861 l_ccid := AcctDerRule_35(
138862 p_application_id => p_application_id
138863 , p_ae_header_id => l_ae_header_id
138864 , p_source_25 => p_source_25
138865 , x_transaction_coa_id => l_adr_transaction_coa_id
138866 , x_accounting_coa_id => l_adr_accounting_coa_id
138867 , x_value_type_code => l_adr_value_type_code
138868 , p_side => 'NA'
138869 );
138870
138871 xla_ae_lines_pkg.set_ccid(
138872 p_code_combination_id => l_ccid
138873 , p_value_type_code => l_adr_value_type_code
138877 , p_adr_type_code => 'S'
138874 , p_transaction_coa_id => l_adr_transaction_coa_id
138875 , p_accounting_coa_id => l_adr_accounting_coa_id
138876 , p_adr_code => 'AP_INVOICE_DIST'
138878 , p_component_type => l_component_type
138879 , p_component_code => l_component_code
138880 , p_component_type_code => l_component_type_code
138881 , p_component_appl_id => l_component_appl_id
138882 , p_amb_context_code => l_amb_context_code
138883 , p_side => 'NA'
138884 );
138885
138886
138887 --
138888 --
138889 END IF;
138890 --
138891 -- Bug 4922099
138892 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
138893 (NVL(l_enc_upg_option, 'N') = 'O')
138894 ) AND
138895 (l_bflow_method_code = 'PRIOR_ENTRY')
138896 )
138897 THEN
138898 IF
138899 --
138900 1 = 2
138901 --
138902 THEN
138903 xla_accounting_err_pkg.build_message
138904 (p_appli_s_name => 'XLA'
138905 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
138906 ,p_token_1 => 'LINE_NUMBER'
138907 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
138908 ,p_token_2 => 'LINE_TYPE_NAME'
138909 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
138910 l_component_type
138911 ,l_component_code
138912 ,l_component_type_code
138913 ,l_component_appl_id
138914 ,l_amb_context_code
138915 ,l_entity_code
138916 ,l_event_class_code
138917 )
138918 ,p_token_3 => 'OWNER'
138919 ,p_value_3 => xla_lookups_pkg.get_meaning(
138920 p_lookup_type => 'XLA_OWNER_TYPE'
138921 ,p_lookup_code => l_component_type_code
138922 )
138923 ,p_token_4 => 'PRODUCT_NAME'
138924 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
138925 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
138926 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
138927 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
138928 ,p_ae_header_id => NULL
138929 );
138930
138931 IF (C_LEVEL_ERROR>= g_log_level) THEN
138932 trace
138933 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
138934 ,p_level => C_LEVEL_ERROR
138935 ,p_module => l_log_module);
138936 END IF;
138937 END IF;
138938 END IF;
138939 --
138940 --
138941 ------------------------------------------------------------------------------------------------
138942 -- 4219869 Business Flow
138943 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
138944 -- Prior Entry. Currently, the following code is always generated.
138945 ------------------------------------------------------------------------------------------------
138946 XLA_AE_LINES_PKG.ValidateCurrentLine;
138947
138948 ------------------------------------------------------------------------------------
138949 -- 4219869 Business Flow
138950 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
138951 ------------------------------------------------------------------------------------
138952 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
138953
138954 ----------------------------------------------------------------------------------
138955 -- 4219869 Business Flow
138956 -- Update journal entry status -- Need to generate this within IF <condition>
138957 ----------------------------------------------------------------------------------
138958 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
138959 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
138960 ,p_balance_type_code => l_balance_type_code
138961 );
138962
138963 -------------------------------------------------------------------------------------------
138964 -- 4262811 - Generate the Accrual Reversal lines
138965 -------------------------------------------------------------------------------------------
138966 BEGIN
138967 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
138968 (g_array_event(p_event_id).array_value_num('header_index'));
138969 IF l_acc_rev_flag IS NULL THEN
138970 l_acc_rev_flag := 'N';
138971 END IF;
138972 EXCEPTION
138973 WHEN OTHERS THEN
138974 l_acc_rev_flag := 'N';
138975 END;
138976 --
138977 IF (l_acc_rev_flag = 'Y') THEN
138978
138979 -- 4645092 ------------------------------------------------------------------------------
138983
138980 -- To allow MPA report to determine if it should generate report process
138981 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
138982 ------------------------------------------------------------------------------------------
138984 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
138985 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
138986 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
138987 -- call ADRs
138988 -- Bug 4922099
138989 --
138990 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
138991 (NVL(l_actual_upg_option, 'N') = 'O') OR
138992 (NVL(l_enc_upg_option, 'N') = 'O')
138993 )
138994 THEN
138995 NULL;
138996 --
138997 --
138998
138999 l_ccid := AcctDerRule_35(
139000 p_application_id => p_application_id
139001 , p_ae_header_id => l_ae_header_id
139002 , p_source_25 => p_source_25
139003 , x_transaction_coa_id => l_adr_transaction_coa_id
139004 , x_accounting_coa_id => l_adr_accounting_coa_id
139005 , x_value_type_code => l_adr_value_type_code
139006 , p_side => 'NA'
139007 );
139008
139009 xla_ae_lines_pkg.set_ccid(
139010 p_code_combination_id => l_ccid
139011 , p_value_type_code => l_adr_value_type_code
139012 , p_transaction_coa_id => l_adr_transaction_coa_id
139013 , p_accounting_coa_id => l_adr_accounting_coa_id
139014 , p_adr_code => 'AP_INVOICE_DIST'
139015 , p_adr_type_code => 'S'
139016 , p_component_type => l_component_type
139017 , p_component_code => l_component_code
139018 , p_component_type_code => l_component_type_code
139019 , p_component_appl_id => l_component_appl_id
139020 , p_amb_context_code => l_amb_context_code
139021 , p_side => 'NA'
139022 );
139023
139024
139025 --
139026 --
139027 END IF;
139028
139029 --
139030 -- Update the line information that should be overwritten
139031 --
139032 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
139033 p_header_num => 1);
139034 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
139035
139036 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
139037
139038 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
139039 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
139040 END IF;
139041
139042 --
139043 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
139044 --
139045 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
139046 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
139047 ELSE
139048 ---------------------------------------------------------------------------------------------------
139049 -- 4262811a Switch Sign
139050 ---------------------------------------------------------------------------------------------------
139051 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
139052 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
139053 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
139054 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
139055 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
139056 -- 5132302
139057 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
139058 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
139059
139060 END IF;
139061
139062 -- 4955764
139063 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
139064 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
139065
139066
139067 XLA_AE_LINES_PKG.ValidateCurrentLine;
139068 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
139069
139070 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
139071 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
139072 ,p_balance_type_code => l_balance_type_code);
139073
139074 END IF;
139075
139076 -----------------------------------------------------------------------------------------
139077 -- 4262811 Multiperiod Accounting
139078 -----------------------------------------------------------------------------------------
139079 -- No MPA option is assigned.
139080
139081
139082 END IF;
139083 END IF;
139084 --
139085
139086 --
139087 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
139088 trace
139089 (p_msg => 'END of AcctLineType_231'
139090 ,p_level => C_LEVEL_PROCEDURE
139091 ,p_module => l_log_module);
139092 END IF;
139093 --
139094 EXCEPTION
139095 WHEN xla_exceptions_pkg.application_exception THEN
139096 RAISE;
139097 WHEN OTHERS THEN
139098 xla_exceptions_pkg.raise_message
139099 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_231');
139100 END AcctLineType_231;
139101 --
139102
139103 ---------------------------------------
139104 --
139105 -- PRIVATE FUNCTION
139106 -- AcctLineType_232
139107 --
139108 ---------------------------------------
139112 ,p_calculate_acctd_flag IN VARCHAR2
139109 PROCEDURE AcctLineType_232 (
139110 p_application_id IN NUMBER
139111 ,p_event_id IN NUMBER
139113 ,p_calculate_g_l_flag IN VARCHAR2
139114 ,p_actual_flag IN OUT VARCHAR2
139115 ,p_balance_type_code OUT VARCHAR2
139116 ,p_gain_or_loss_ref OUT VARCHAR2
139117
139118 --Invoice Distribution Description
139119 , p_source_1 IN VARCHAR2
139120 --Invoice Distribution Ledger Amount
139121 , p_source_16 IN NUMBER
139122 --Invoice Distribution Account
139123 , p_source_25 IN NUMBER
139124 --Invoice Distribution Type
139125 , p_source_28 IN VARCHAR2
139126 , p_source_28_meaning IN VARCHAR2
139127 --Accrue on Receipt Option
139128 , p_source_54 IN VARCHAR2
139129 , p_source_54_meaning IN VARCHAR2
139130 --Accounting Reversal Indicator
139131 , p_source_58 IN VARCHAR2
139132 --Distribution Link Type
139133 , p_source_60 IN VARCHAR2
139134 --Allocation to Main Distribution Identifier
139135 , p_source_62 IN NUMBER
139136 --Invoice Identifier
139137 , p_source_63 IN NUMBER
139138 --Invoice Distribution Identifier
139139 , p_source_69 IN NUMBER
139140 --Payables Encumbrance Upgrade Credit Account
139141 , p_source_70 IN NUMBER
139142 --Payables Encumbrance Upgrade Credit Amount
139143 , p_source_71 IN NUMBER
139144 --Invoice Currency Code
139145 , p_source_72 IN VARCHAR2
139146 --Payables Encumbrance Upgrade Credit Base Amount
139147 , p_source_73 IN NUMBER
139148 --Payables Encumbrance Upgrade Debit Account
139149 , p_source_74 IN NUMBER
139150 --Payables Encumbrance Upgrade Debit Amount
139151 , p_source_75 IN NUMBER
139152 --Payables Encumbrance Upgrade Debit Base Amount
139153 , p_source_76 IN NUMBER
139154 --Payables Encumbrance Upgrade Option
139155 , p_source_77 IN VARCHAR2
139156 --Invoice Distribution Amount
139157 , p_source_78 IN NUMBER
139158 --Deferred Accounting End Date
139159 , p_source_82 IN DATE
139160 --Deferred Accounting Option
139161 , p_source_83 IN VARCHAR2
139162 --Deferred Accounting Start Date
139163 , p_source_84 IN DATE
139164 --Override Accounted Amount Indicator
139165 , p_source_85 IN VARCHAR2
139166 , p_source_85_meaning IN VARCHAR2
139167 --Invoice Supplier Identifier
139168 , p_source_86 IN NUMBER
139169 --Invoice Supplier Site Identifier
139170 , p_source_87 IN NUMBER
139171 --Third Party Type
139172 , p_source_88 IN VARCHAR2
139173 --Parent Reversal Identifier
139174 , p_source_89 IN NUMBER
139175 --Invoice Distribution Statistical Amount
139176 , p_source_90 IN NUMBER
139177 --Invoice Distribution Tax Line Identifier
139178 , p_source_91 IN NUMBER
139179 --Invoice Distribution Tax Distribution Identifier from Tax
139180 , p_source_92 IN NUMBER
139181 --Invoice Distribution Summary Tax Line Identifier
139182 , p_source_93 IN NUMBER
139183 --Payables Upgrade Credit Encumbrance Type Identifier
139184 , p_source_94 IN NUMBER
139185 --Payables Upgrade Debit Encumbrance Type Identifier
139186 , p_source_95 IN NUMBER
139187 --Business Flow Accounts Payable Application Identifier
139188 , p_source_96 IN NUMBER
139189 --Business Flow Invoice Distribution Type
139190 , p_source_97 IN VARCHAR2
139191 --Business Flow Invoice Entity Code
139192 , p_source_98 IN VARCHAR2
139193 --Business Flow Invoice Distribution Identifier
139194 , p_source_99 IN NUMBER
139195 --Business Flow Invoice Identifier
139196 , p_source_100 IN NUMBER
139197 --Invoice Exchange Date
139198 , p_source_146 IN DATE
139199 --Invoice Exchange Rate
139200 , p_source_147 IN NUMBER
139201 --Invoice Exchange Rate Type
139202 , p_source_148 IN VARCHAR2
139203 )
139204 IS
139205
139206 l_component_type VARCHAR2(80);
139207 l_component_code VARCHAR2(30);
139208 l_component_type_code VARCHAR2(1);
139209 l_component_appl_id INTEGER;
139210 l_amb_context_code VARCHAR2(30);
139211 l_entity_code VARCHAR2(30);
139212 l_event_class_code VARCHAR2(30);
139213 l_ae_header_id NUMBER;
139214 l_event_type_code VARCHAR2(30);
139215 l_line_definition_code VARCHAR2(30);
139216 l_line_definition_owner_code VARCHAR2(1);
139217 --
139218 -- adr variables
139219 l_segment VARCHAR2(30);
139220 l_ccid NUMBER;
139221 l_adr_transaction_coa_id NUMBER;
139222 l_adr_accounting_coa_id NUMBER;
139223 l_adr_flexfield_segment_code VARCHAR2(30);
139224 l_adr_flex_value_set_id NUMBER;
139225 l_adr_value_type_code VARCHAR2(30);
139226 l_adr_value_combination_id NUMBER;
139227 l_adr_value_segment_code VARCHAR2(30);
139228
139229 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
139230 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
139231 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
139232 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
139233
139234 -- 4262811 Variables ------------------------------------------------------------------------------------------
139235 l_entered_amt_idx NUMBER;
139236 l_accted_amt_idx NUMBER;
139237 l_acc_rev_flag VARCHAR2(1);
139238 l_accrual_line_num NUMBER;
139239 l_tmp_amt NUMBER;
139240 l_acc_rev_natural_side_code VARCHAR2(1);
139241
139242 l_num_entries NUMBER;
139243 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
139244 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
139248 l_recog_line_2 NUMBER;
139245 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
139246 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
139247 l_recog_line_1 NUMBER;
139249
139250 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
139251 l_bflow_applied_to_amt NUMBER; -- 5132302
139252 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
139253
139254 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
139255
139256 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
139257 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
139258
139259 ---------------------------------------------------------------------------------------------------------------
139260
139261
139262 --
139263 -- bulk performance
139264 --
139265 l_balance_type_code VARCHAR2(1);
139266 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
139267 l_log_module VARCHAR2(240);
139268
139269 --
139270 -- Upgrade strategy
139271 --
139272 l_actual_upg_option VARCHAR2(1);
139273 l_enc_upg_option VARCHAR2(1);
139274
139275 --
139276 BEGIN
139277 --
139278 IF g_log_enabled THEN
139279 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_232';
139280 END IF;
139281 --
139282 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
139283
139284 trace
139285 (p_msg => 'BEGIN of AcctLineType_232'
139286 ,p_level => C_LEVEL_PROCEDURE
139287 ,p_module => l_log_module);
139288
139289 END IF;
139290 --
139291 l_component_type := 'AMB_JLT';
139292 l_component_code := 'AP_TAX_RATE_VAR_PREPAY';
139293 l_component_type_code := 'S';
139294 l_component_appl_id := 200;
139295 l_amb_context_code := 'DEFAULT';
139296 l_entity_code := 'AP_INVOICES';
139297 l_event_class_code := 'PREPAYMENTS';
139298 l_event_type_code := 'PREPAYMENTS_ALL';
139299 l_line_definition_owner_code := 'S';
139300 l_line_definition_code := 'ACCRUAL_PREPAYMENTS_ALL';
139301 --
139302 l_balance_type_code := 'A';
139303 l_segment := NULL;
139304 l_ccid := NULL;
139305 l_adr_transaction_coa_id := NULL;
139306 l_adr_accounting_coa_id := NULL;
139307 l_adr_flexfield_segment_code := NULL;
139308 l_adr_flex_value_set_id := NULL;
139309 l_adr_value_type_code := NULL;
139310 l_adr_value_combination_id := NULL;
139311 l_adr_value_segment_code := NULL;
139312
139313 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
139314 l_bflow_class_code := 'AP_PREPAY'; -- 4219869 Business Flow
139315 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
139316 l_budgetary_control_flag := 'N';
139317
139318 l_bflow_applied_to_amt_idx := NULL; -- 5132302
139319 l_bflow_applied_to_amt := NULL; -- 5132302
139320 l_entered_amt_idx := NULL; -- 4262811
139321 l_accted_amt_idx := NULL; -- 4262811
139322 l_acc_rev_flag := NULL; -- 4262811
139323 l_accrual_line_num := NULL; -- 4262811
139324 l_tmp_amt := NULL; -- 4262811
139325 --
139326
139327 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
139328 l_balance_type_code <> 'B' THEN
139329 IF NVL(p_source_28,'
139330 ') = 'TRV' AND
139331 NVL(p_source_54,'
139332 ') = 'Y'
139333 THEN
139334
139335 --
139336 XLA_AE_LINES_PKG.SetNewLine;
139337
139338 p_balance_type_code := l_balance_type_code;
139339 -- set the flag so later we will know whether the gain loss line needs to be created
139340
139341 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
139342 p_actual_flag :='A';
139343 END IF;
139344
139345 --
139346 -- bulk performance
139347 --
139348 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
139349 p_header_num => 0); -- 4262811
139350 --
139351 -- set accounting line options
139352 --
139353 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
139354 p_natural_side_code => 'D'
139355 , p_gain_or_loss_flag => 'N'
139356 , p_gl_transfer_mode_code => 'S'
139357 , p_acct_entry_type_code => 'A'
139358 , p_switch_side_flag => 'Y'
139359 , p_merge_duplicate_code => 'A'
139360 );
139361 --
139362 l_acc_rev_natural_side_code := 'C'; -- 4262811
139363 --
139364 --
139365 -- set accounting line type info
139366 --
139367 xla_ae_lines_pkg.SetAcctLineType
139368 (p_component_type => l_component_type
139369 ,p_event_type_code => l_event_type_code
139370 ,p_line_definition_owner_code => l_line_definition_owner_code
139371 ,p_line_definition_code => l_line_definition_code
139372 ,p_accounting_line_code => l_component_code
139373 ,p_accounting_line_type_code => l_component_type_code
139374 ,p_accounting_line_appl_id => l_component_appl_id
139375 ,p_amb_context_code => l_amb_context_code
139376 ,p_entity_code => l_entity_code
139377 ,p_event_class_code => l_event_class_code);
139378 --
139379 -- set accounting class
139380 --
139381 xla_ae_lines_pkg.SetAcctClass(
139382 p_accounting_class_code => 'TRV'
139383 , p_ae_header_id => l_ae_header_id
139384 );
139385
139386 --
139387 -- set rounding class
139388 --
139392 --
139389 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
139390 'TRV';
139391
139393 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
139394 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
139395 --
139396 -- bulk performance
139397 --
139398 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
139399
139400 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
139401 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
139402
139403 -- 4955764
139404 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
139405 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
139406
139407 -- 4458381 Public Sector Enh
139408
139409 --
139410 -- set accounting attributes for the line type
139411 --
139412 l_entered_amt_idx := 23;
139413 l_accted_amt_idx := 28;
139414 l_bflow_applied_to_amt_idx := NULL; -- 5132302
139415 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
139416 l_rec_acct_attrs.array_char_value(1) := p_source_58;
139417 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
139418 l_rec_acct_attrs.array_num_value(2) :=
139419 xla_ae_sources_pkg.GetSystemSourceNum(
139420 p_source_code => 'XLA_EVENT_APPL_ID'
139421 , p_source_type_code => 'Y'
139422 , p_source_application_id => 602
139423 );
139424 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
139425 l_rec_acct_attrs.array_char_value(3) := p_source_60;
139426 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
139427 l_rec_acct_attrs.array_char_value(4) :=
139428 xla_ae_sources_pkg.GetSystemSourceChar(
139429 p_source_code => 'XLA_ENTITY_CODE'
139430 , p_source_type_code => 'Y'
139431 , p_source_application_id => 602
139432 );
139433 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
139434 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_62);
139435 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
139436 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_63);
139437 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
139438 l_rec_acct_attrs.array_num_value(7) := p_source_96;
139439 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
139440 l_rec_acct_attrs.array_char_value(8) := p_source_97;
139441 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
139442 l_rec_acct_attrs.array_char_value(9) := p_source_98;
139443 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
139444 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_99);
139445 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
139446 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_100);
139447 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
139448 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_69);
139449 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
139450 l_rec_acct_attrs.array_char_value(13) := p_source_60;
139451 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
139452 l_rec_acct_attrs.array_num_value(14) := p_source_70;
139453 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
139454 l_rec_acct_attrs.array_num_value(15) := p_source_71;
139455 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
139456 l_rec_acct_attrs.array_char_value(16) := p_source_72;
139457 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
139458 l_rec_acct_attrs.array_num_value(17) := p_source_73;
139459 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
139460 l_rec_acct_attrs.array_num_value(18) := p_source_74;
139461 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
139462 l_rec_acct_attrs.array_num_value(19) := p_source_75;
139463 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
139464 l_rec_acct_attrs.array_char_value(20) := p_source_72;
139465 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
139466 l_rec_acct_attrs.array_num_value(21) := p_source_76;
139467 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
139468 l_rec_acct_attrs.array_char_value(22) := p_source_77;
139469 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
139470 l_rec_acct_attrs.array_num_value(23) := p_source_78;
139471 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
139472 l_rec_acct_attrs.array_char_value(24) := p_source_72;
139473 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
139474 l_rec_acct_attrs.array_date_value(25) := p_source_146;
139475 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
139476 l_rec_acct_attrs.array_num_value(26) := p_source_147;
139477 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
139478 l_rec_acct_attrs.array_char_value(27) := p_source_148;
139479 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
139480 l_rec_acct_attrs.array_num_value(28) := p_source_16;
139481 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
139482 l_rec_acct_attrs.array_date_value(29) := p_source_82;
139483 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
139484 l_rec_acct_attrs.array_char_value(30) := p_source_83;
139485 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
139486 l_rec_acct_attrs.array_date_value(31) := p_source_84;
139487 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
139488 l_rec_acct_attrs.array_char_value(32) := p_source_85;
139489 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
139493 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
139490 l_rec_acct_attrs.array_num_value(33) := p_source_86;
139491 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
139492 l_rec_acct_attrs.array_num_value(34) := p_source_87;
139494 l_rec_acct_attrs.array_char_value(35) := p_source_88;
139495 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
139496 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_89);
139497 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
139498 l_rec_acct_attrs.array_char_value(37) := p_source_60;
139499 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
139500 l_rec_acct_attrs.array_num_value(38) := p_source_90;
139501 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
139502 l_rec_acct_attrs.array_num_value(39) := p_source_91;
139503 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
139504 l_rec_acct_attrs.array_num_value(40) := p_source_92;
139505 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
139506 l_rec_acct_attrs.array_num_value(41) := p_source_93;
139507 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
139508 l_rec_acct_attrs.array_num_value(42) := p_source_94;
139509 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
139510 l_rec_acct_attrs.array_num_value(43) := p_source_95;
139511
139512 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
139513 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
139514
139515 ---------------------------------------------------------------------------------------------------------------
139516 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
139517 ---------------------------------------------------------------------------------------------------------------
139518 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
139519
139520 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
139521 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
139522
139523 IF xla_accounting_cache_pkg.GetValueChar
139524 (p_source_code => 'LEDGER_CATEGORY_CODE'
139525 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
139526 AND l_bflow_method_code = 'PRIOR_ENTRY'
139527 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
139528 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
139529 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
139530 )
139531 THEN
139532 xla_ae_lines_pkg.BflowUpgEntry
139533 (p_business_method_code => l_bflow_method_code
139534 ,p_business_class_code => l_bflow_class_code
139535 ,p_balance_type => l_balance_type_code);
139536 ELSE
139537 NULL;
139538 -- No business flow processing for business flow method of NONE.
139539 END IF;
139540
139541 --
139542 -- call analytical criteria
139543 --
139544
139545 --
139546 -- call description
139547 --
139548
139549 xla_ae_lines_pkg.SetLineDescription(
139550 p_ae_header_id => l_ae_header_id
139551 ,p_description => Description_2 (
139552 p_application_id => p_application_id
139553 , p_ae_header_id => l_ae_header_id
139554 , p_source_1 => p_source_1
139555 )
139556 );
139557
139558
139559 --
139560 -- call ADRs
139561 -- Bug 4922099
139562 --
139563 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
139564 (NVL(l_actual_upg_option, 'N') = 'O') OR
139565 (NVL(l_enc_upg_option, 'N') = 'O')
139566 )
139567 THEN
139568 NULL;
139569 --
139570 --
139571
139572 l_ccid := AcctDerRule_35(
139573 p_application_id => p_application_id
139574 , p_ae_header_id => l_ae_header_id
139575 , p_source_25 => p_source_25
139576 , x_transaction_coa_id => l_adr_transaction_coa_id
139577 , x_accounting_coa_id => l_adr_accounting_coa_id
139578 , x_value_type_code => l_adr_value_type_code
139579 , p_side => 'NA'
139580 );
139581
139582 xla_ae_lines_pkg.set_ccid(
139583 p_code_combination_id => l_ccid
139584 , p_value_type_code => l_adr_value_type_code
139585 , p_transaction_coa_id => l_adr_transaction_coa_id
139586 , p_accounting_coa_id => l_adr_accounting_coa_id
139587 , p_adr_code => 'AP_INVOICE_DIST'
139588 , p_adr_type_code => 'S'
139589 , p_component_type => l_component_type
139590 , p_component_code => l_component_code
139591 , p_component_type_code => l_component_type_code
139592 , p_component_appl_id => l_component_appl_id
139593 , p_amb_context_code => l_amb_context_code
139594 , p_side => 'NA'
139595 );
139596
139597
139598 --
139599 --
139600 END IF;
139601 --
139602 -- Bug 4922099
139603 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
139604 (NVL(l_enc_upg_option, 'N') = 'O')
139605 ) AND
139606 (l_bflow_method_code = 'PRIOR_ENTRY')
139607 )
139608 THEN
139609 IF
139610 --
139611 1 = 2
139612 --
139613 THEN
139614 xla_accounting_err_pkg.build_message
139615 (p_appli_s_name => 'XLA'
139616 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
139617 ,p_token_1 => 'LINE_NUMBER'
139621 l_component_type
139618 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
139619 ,p_token_2 => 'LINE_TYPE_NAME'
139620 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
139622 ,l_component_code
139623 ,l_component_type_code
139624 ,l_component_appl_id
139625 ,l_amb_context_code
139626 ,l_entity_code
139627 ,l_event_class_code
139628 )
139629 ,p_token_3 => 'OWNER'
139630 ,p_value_3 => xla_lookups_pkg.get_meaning(
139631 p_lookup_type => 'XLA_OWNER_TYPE'
139632 ,p_lookup_code => l_component_type_code
139633 )
139634 ,p_token_4 => 'PRODUCT_NAME'
139635 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
139636 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
139637 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
139638 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
139639 ,p_ae_header_id => NULL
139640 );
139641
139642 IF (C_LEVEL_ERROR>= g_log_level) THEN
139643 trace
139644 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
139645 ,p_level => C_LEVEL_ERROR
139646 ,p_module => l_log_module);
139647 END IF;
139648 END IF;
139649 END IF;
139650 --
139651 --
139652 ------------------------------------------------------------------------------------------------
139653 -- 4219869 Business Flow
139654 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
139655 -- Prior Entry. Currently, the following code is always generated.
139656 ------------------------------------------------------------------------------------------------
139657 XLA_AE_LINES_PKG.ValidateCurrentLine;
139658
139659 ------------------------------------------------------------------------------------
139660 -- 4219869 Business Flow
139661 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
139662 ------------------------------------------------------------------------------------
139663 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
139664
139665 ----------------------------------------------------------------------------------
139666 -- 4219869 Business Flow
139667 -- Update journal entry status -- Need to generate this within IF <condition>
139668 ----------------------------------------------------------------------------------
139669 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
139670 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
139671 ,p_balance_type_code => l_balance_type_code
139672 );
139673
139674 -------------------------------------------------------------------------------------------
139675 -- 4262811 - Generate the Accrual Reversal lines
139676 -------------------------------------------------------------------------------------------
139677 BEGIN
139678 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
139679 (g_array_event(p_event_id).array_value_num('header_index'));
139680 IF l_acc_rev_flag IS NULL THEN
139681 l_acc_rev_flag := 'N';
139682 END IF;
139683 EXCEPTION
139684 WHEN OTHERS THEN
139685 l_acc_rev_flag := 'N';
139686 END;
139687 --
139688 IF (l_acc_rev_flag = 'Y') THEN
139689
139690 -- 4645092 ------------------------------------------------------------------------------
139691 -- To allow MPA report to determine if it should generate report process
139692 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
139693 ------------------------------------------------------------------------------------------
139694
139695 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
139696 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
139697 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
139698 -- call ADRs
139699 -- Bug 4922099
139700 --
139701 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
139702 (NVL(l_actual_upg_option, 'N') = 'O') OR
139703 (NVL(l_enc_upg_option, 'N') = 'O')
139704 )
139705 THEN
139706 NULL;
139707 --
139708 --
139709
139710 l_ccid := AcctDerRule_35(
139711 p_application_id => p_application_id
139712 , p_ae_header_id => l_ae_header_id
139713 , p_source_25 => p_source_25
139714 , x_transaction_coa_id => l_adr_transaction_coa_id
139715 , x_accounting_coa_id => l_adr_accounting_coa_id
139716 , x_value_type_code => l_adr_value_type_code
139717 , p_side => 'NA'
139718 );
139719
139720 xla_ae_lines_pkg.set_ccid(
139721 p_code_combination_id => l_ccid
139725 , p_adr_code => 'AP_INVOICE_DIST'
139722 , p_value_type_code => l_adr_value_type_code
139723 , p_transaction_coa_id => l_adr_transaction_coa_id
139724 , p_accounting_coa_id => l_adr_accounting_coa_id
139726 , p_adr_type_code => 'S'
139727 , p_component_type => l_component_type
139728 , p_component_code => l_component_code
139729 , p_component_type_code => l_component_type_code
139730 , p_component_appl_id => l_component_appl_id
139731 , p_amb_context_code => l_amb_context_code
139732 , p_side => 'NA'
139733 );
139734
139735
139736 --
139737 --
139738 END IF;
139739
139740 --
139741 -- Update the line information that should be overwritten
139742 --
139743 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
139744 p_header_num => 1);
139745 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
139746
139747 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
139748
139749 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
139750 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
139751 END IF;
139752
139753 --
139754 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
139755 --
139756 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
139757 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
139758 ELSE
139759 ---------------------------------------------------------------------------------------------------
139760 -- 4262811a Switch Sign
139761 ---------------------------------------------------------------------------------------------------
139762 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
139763 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
139764 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
139765 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
139766 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
139767 -- 5132302
139768 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
139769 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
139770
139771 END IF;
139772
139773 -- 4955764
139774 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
139775 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
139776
139777
139778 XLA_AE_LINES_PKG.ValidateCurrentLine;
139779 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
139780
139781 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
139782 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
139783 ,p_balance_type_code => l_balance_type_code);
139784
139785 END IF;
139786
139787 -----------------------------------------------------------------------------------------
139788 -- 4262811 Multiperiod Accounting
139789 -----------------------------------------------------------------------------------------
139790 -- No MPA option is assigned.
139791
139792
139793 END IF;
139794 END IF;
139795 --
139796
139797 --
139798 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
139799 trace
139800 (p_msg => 'END of AcctLineType_232'
139801 ,p_level => C_LEVEL_PROCEDURE
139802 ,p_module => l_log_module);
139803 END IF;
139804 --
139805 EXCEPTION
139806 WHEN xla_exceptions_pkg.application_exception THEN
139807 RAISE;
139808 WHEN OTHERS THEN
139809 xla_exceptions_pkg.raise_message
139810 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_232');
139811 END AcctLineType_232;
139812 --
139813
139814 ---------------------------------------
139815 --
139816 -- PRIVATE FUNCTION
139817 -- AcctLineType_233
139818 --
139819 ---------------------------------------
139820 PROCEDURE AcctLineType_233 (
139821 p_application_id IN NUMBER
139822 ,p_event_id IN NUMBER
139823 ,p_calculate_acctd_flag IN VARCHAR2
139824 ,p_calculate_g_l_flag IN VARCHAR2
139825 ,p_actual_flag IN OUT VARCHAR2
139826 ,p_balance_type_code OUT VARCHAR2
139827 ,p_gain_or_loss_ref OUT VARCHAR2
139828
139829 --Payment Currency Code
139830 , p_source_8 IN VARCHAR2
139831 --Automatic Offsets Value
139832 , p_source_10 IN VARCHAR2
139833 , p_source_10_meaning IN VARCHAR2
139834 --Invoice Distribution Account
139835 , p_source_25 IN NUMBER
139836 --Withholding Related Distribution Account
139837 , p_source_39 IN NUMBER
139838 --When to Account for Payment Option
139839 , p_source_57 IN VARCHAR2
139840 --Accounting Reversal Indicator
139841 , p_source_58 IN VARCHAR2
139842 --Distribution Link Type
139843 , p_source_60 IN VARCHAR2
139844 --Override Accounted Amount Indicator
139845 , p_source_85 IN VARCHAR2
139846 , p_source_85_meaning IN VARCHAR2
139847 --Third Party Type
139848 , p_source_88 IN VARCHAR2
139849 --Invoice Distribution Tax Line Identifier
139850 , p_source_91 IN NUMBER
139851 --Invoice Distribution Summary Tax Line Identifier
139852 , p_source_93 IN NUMBER
139856 , p_source_101 IN VARCHAR2
139853 --Business Flow Accounts Payable Application Identifier
139854 , p_source_96 IN NUMBER
139855 --Payment Distribution Type
139857 , p_source_101_meaning IN VARCHAR2
139858 --Payment Distribution Amount
139859 , p_source_102 IN NUMBER
139860 --Business Flow Payment Distribution Type
139861 , p_source_103 IN VARCHAR2
139862 --Business Flow Payment Entity Code
139863 , p_source_104 IN VARCHAR2
139864 --Business Flow Payment Distribution Identifier
139865 , p_source_105 IN NUMBER
139866 --Business Flow Payment Identifier
139867 , p_source_106 IN NUMBER
139868 --Payment Distribution Identifier
139869 , p_source_107 IN NUMBER
139870 --Payment Supplier Identifier
139871 , p_source_113 IN NUMBER
139872 --Payment Supplier Site Identifier
139873 , p_source_114 IN NUMBER
139874 --Payment Distribution Reversed Identifier
139875 , p_source_115 IN NUMBER
139876 --Payment Distribution (Invoice Rate) Ledger Amount
139877 , p_source_119 IN NUMBER
139878 --Invoice Exchange Date
139879 , p_source_146 IN DATE
139880 --Invoice Exchange Rate
139881 , p_source_147 IN NUMBER
139882 --Invoice Exchange Rate Type
139883 , p_source_148 IN VARCHAR2
139884 --Withholding at Payment Indicator
139885 , p_source_166 IN VARCHAR2
139886 , p_source_166_meaning IN VARCHAR2
139887 )
139888 IS
139889
139890 l_component_type VARCHAR2(80);
139891 l_component_code VARCHAR2(30);
139892 l_component_type_code VARCHAR2(1);
139893 l_component_appl_id INTEGER;
139894 l_amb_context_code VARCHAR2(30);
139895 l_entity_code VARCHAR2(30);
139896 l_event_class_code VARCHAR2(30);
139897 l_ae_header_id NUMBER;
139898 l_event_type_code VARCHAR2(30);
139899 l_line_definition_code VARCHAR2(30);
139900 l_line_definition_owner_code VARCHAR2(1);
139901 --
139902 -- adr variables
139903 l_segment VARCHAR2(30);
139904 l_ccid NUMBER;
139905 l_adr_transaction_coa_id NUMBER;
139906 l_adr_accounting_coa_id NUMBER;
139907 l_adr_flexfield_segment_code VARCHAR2(30);
139908 l_adr_flex_value_set_id NUMBER;
139909 l_adr_value_type_code VARCHAR2(30);
139910 l_adr_value_combination_id NUMBER;
139911 l_adr_value_segment_code VARCHAR2(30);
139912
139913 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
139914 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
139915 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
139916 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
139917
139918 -- 4262811 Variables ------------------------------------------------------------------------------------------
139919 l_entered_amt_idx NUMBER;
139920 l_accted_amt_idx NUMBER;
139921 l_acc_rev_flag VARCHAR2(1);
139922 l_accrual_line_num NUMBER;
139923 l_tmp_amt NUMBER;
139924 l_acc_rev_natural_side_code VARCHAR2(1);
139925
139926 l_num_entries NUMBER;
139927 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
139928 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
139929 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
139930 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
139931 l_recog_line_1 NUMBER;
139932 l_recog_line_2 NUMBER;
139933
139934 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
139935 l_bflow_applied_to_amt NUMBER; -- 5132302
139936 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
139937
139938 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
139939
139940 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
139941 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
139942
139943 ---------------------------------------------------------------------------------------------------------------
139944
139945
139946 --
139947 -- bulk performance
139948 --
139949 l_balance_type_code VARCHAR2(1);
139950 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
139951 l_log_module VARCHAR2(240);
139952
139953 --
139954 -- Upgrade strategy
139955 --
139956 l_actual_upg_option VARCHAR2(1);
139957 l_enc_upg_option VARCHAR2(1);
139958
139959 --
139960 BEGIN
139961 --
139962 IF g_log_enabled THEN
139963 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_233';
139964 END IF;
139965 --
139966 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
139967
139968 trace
139969 (p_msg => 'BEGIN of AcctLineType_233'
139970 ,p_level => C_LEVEL_PROCEDURE
139971 ,p_module => l_log_module);
139972
139973 END IF;
139974 --
139975 l_component_type := 'AMB_JLT';
139976 l_component_code := 'AP_WITHHOLD_TAX_ACCR_CLEAR';
139977 l_component_type_code := 'S';
139978 l_component_appl_id := 200;
139979 l_amb_context_code := 'DEFAULT';
139980 l_entity_code := 'AP_PAYMENTS';
139981 l_event_class_code := 'RECONCILED PAYMENTS';
139982 l_event_type_code := 'RECONCILED PAYMENTS_ALL';
139983 l_line_definition_owner_code := 'S';
139984 l_line_definition_code := 'ACCRUAL_RECONCILED PAYMENTS_A4';
139985 --
139986 l_balance_type_code := 'A';
139987 l_segment := NULL;
139988 l_ccid := NULL;
139989 l_adr_transaction_coa_id := NULL;
139990 l_adr_accounting_coa_id := NULL;
139994 l_adr_value_combination_id := NULL;
139991 l_adr_flexfield_segment_code := NULL;
139992 l_adr_flex_value_set_id := NULL;
139993 l_adr_value_type_code := NULL;
139995 l_adr_value_segment_code := NULL;
139996
139997 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
139998 l_bflow_class_code := ''; -- 4219869 Business Flow
139999 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
140000 l_budgetary_control_flag := 'N';
140001
140002 l_bflow_applied_to_amt_idx := NULL; -- 5132302
140003 l_bflow_applied_to_amt := NULL; -- 5132302
140004 l_entered_amt_idx := NULL; -- 4262811
140005 l_accted_amt_idx := NULL; -- 4262811
140006 l_acc_rev_flag := NULL; -- 4262811
140007 l_accrual_line_num := NULL; -- 4262811
140008 l_tmp_amt := NULL; -- 4262811
140009 --
140010
140011 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
140012 l_balance_type_code <> 'B' THEN
140013 IF NVL(p_source_57,'
140014 ') = 'CLEAR_CLEAR' AND
140015 NVL(p_source_101,'
140016 ') = 'AWT' AND
140017 NVL(p_source_166,'
140018 ') = 'Y'
140019 THEN
140020
140021 --
140022 XLA_AE_LINES_PKG.SetNewLine;
140023
140024 p_balance_type_code := l_balance_type_code;
140025 -- set the flag so later we will know whether the gain loss line needs to be created
140026
140027 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
140028 p_actual_flag :='A';
140029 END IF;
140030
140031 --
140032 -- bulk performance
140033 --
140034 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
140035 p_header_num => 0); -- 4262811
140036 --
140037 -- set accounting line options
140038 --
140039 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
140040 p_natural_side_code => 'C'
140041 , p_gain_or_loss_flag => 'N'
140042 , p_gl_transfer_mode_code => 'S'
140043 , p_acct_entry_type_code => 'A'
140044 , p_switch_side_flag => 'Y'
140045 , p_merge_duplicate_code => 'A'
140046 );
140047 --
140048 l_acc_rev_natural_side_code := 'D'; -- 4262811
140049 --
140050 --
140051 -- set accounting line type info
140052 --
140053 xla_ae_lines_pkg.SetAcctLineType
140054 (p_component_type => l_component_type
140055 ,p_event_type_code => l_event_type_code
140056 ,p_line_definition_owner_code => l_line_definition_owner_code
140057 ,p_line_definition_code => l_line_definition_code
140058 ,p_accounting_line_code => l_component_code
140059 ,p_accounting_line_type_code => l_component_type_code
140060 ,p_accounting_line_appl_id => l_component_appl_id
140061 ,p_amb_context_code => l_amb_context_code
140062 ,p_entity_code => l_entity_code
140063 ,p_event_class_code => l_event_class_code);
140064 --
140065 -- set accounting class
140066 --
140067 xla_ae_lines_pkg.SetAcctClass(
140068 p_accounting_class_code => 'AWT'
140069 , p_ae_header_id => l_ae_header_id
140070 );
140071
140072 --
140073 -- set rounding class
140074 --
140075 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
140076 'AWT';
140077
140078 --
140079 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
140080 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
140081 --
140082 -- bulk performance
140083 --
140084 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
140085
140086 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
140087 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
140088
140089 -- 4955764
140090 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
140091 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
140092
140093 -- 4458381 Public Sector Enh
140094
140095 --
140096 -- set accounting attributes for the line type
140097 --
140098 l_entered_amt_idx := 10;
140099 l_accted_amt_idx := 15;
140100 l_bflow_applied_to_amt_idx := 2; -- 5132302
140101 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
140102 l_rec_acct_attrs.array_char_value(1) := p_source_58;
140103 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
140104 l_rec_acct_attrs.array_num_value(2) := p_source_102;
140105 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
140106 l_rec_acct_attrs.array_num_value(3) := p_source_96;
140107 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
140108 l_rec_acct_attrs.array_char_value(4) := p_source_103;
140109 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
140110 l_rec_acct_attrs.array_char_value(5) := p_source_104;
140111 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
140112 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_105);
140113 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
140114 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_106);
140115 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
140116 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_107);
140117 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
140118 l_rec_acct_attrs.array_char_value(9) := p_source_60;
140122 l_rec_acct_attrs.array_char_value(11) := p_source_8;
140119 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
140120 l_rec_acct_attrs.array_num_value(10) := p_source_102;
140121 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
140123 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
140124 l_rec_acct_attrs.array_date_value(12) := p_source_146;
140125 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
140126 l_rec_acct_attrs.array_num_value(13) := p_source_147;
140127 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
140128 l_rec_acct_attrs.array_char_value(14) := p_source_148;
140129 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
140130 l_rec_acct_attrs.array_num_value(15) := p_source_119;
140131 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
140132 l_rec_acct_attrs.array_char_value(16) := p_source_85;
140133 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
140134 l_rec_acct_attrs.array_num_value(17) := p_source_113;
140135 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
140136 l_rec_acct_attrs.array_num_value(18) := p_source_114;
140137 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
140138 l_rec_acct_attrs.array_char_value(19) := p_source_88;
140139 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
140140 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_115);
140141 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
140142 l_rec_acct_attrs.array_char_value(21) := p_source_60;
140143 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
140144 l_rec_acct_attrs.array_num_value(22) := p_source_91;
140145 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
140146 l_rec_acct_attrs.array_num_value(23) := p_source_91;
140147 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
140148 l_rec_acct_attrs.array_num_value(24) := p_source_93;
140149
140150 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
140151 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
140152
140153 ---------------------------------------------------------------------------------------------------------------
140154 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
140155 ---------------------------------------------------------------------------------------------------------------
140156 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
140157
140158 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
140159 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
140160
140161 IF xla_accounting_cache_pkg.GetValueChar
140162 (p_source_code => 'LEDGER_CATEGORY_CODE'
140163 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
140164 AND l_bflow_method_code = 'PRIOR_ENTRY'
140165 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
140166 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
140167 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
140168 )
140169 THEN
140170 xla_ae_lines_pkg.BflowUpgEntry
140171 (p_business_method_code => l_bflow_method_code
140172 ,p_business_class_code => l_bflow_class_code
140173 ,p_balance_type => l_balance_type_code);
140174 ELSE
140175 NULL;
140176 -- No business flow processing for business flow method of NONE.
140177 END IF;
140178
140179 --
140180 -- call analytical criteria
140181 --
140182
140183 --
140184 -- call description
140185 --
140186 -- No description or it is inherited.
140187 --
140188 -- call ADRs
140189 -- Bug 4922099
140190 --
140191 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
140192 (NVL(l_actual_upg_option, 'N') = 'O') OR
140193 (NVL(l_enc_upg_option, 'N') = 'O')
140194 )
140195 THEN
140196 NULL;
140197 --
140198 --
140199
140200 l_ccid := AcctDerRule_48(
140201 p_application_id => p_application_id
140202 , p_ae_header_id => l_ae_header_id
140203 , p_source_10 => p_source_10
140204 , p_source_10_meaning => p_source_10_meaning
140205 , p_source_25 => p_source_25
140206 , p_source_39 => p_source_39
140207 , x_transaction_coa_id => l_adr_transaction_coa_id
140208 , x_accounting_coa_id => l_adr_accounting_coa_id
140209 , x_value_type_code => l_adr_value_type_code
140210 , p_side => 'NA'
140211 );
140212
140213 xla_ae_lines_pkg.set_ccid(
140214 p_code_combination_id => l_ccid
140215 , p_value_type_code => l_adr_value_type_code
140216 , p_transaction_coa_id => l_adr_transaction_coa_id
140217 , p_accounting_coa_id => l_adr_accounting_coa_id
140218 , p_adr_code => 'AP_WH_DIST_ACCT'
140219 , p_adr_type_code => 'S'
140220 , p_component_type => l_component_type
140221 , p_component_code => l_component_code
140222 , p_component_type_code => l_component_type_code
140223 , p_component_appl_id => l_component_appl_id
140224 , p_amb_context_code => l_amb_context_code
140225 , p_side => 'NA'
140226 );
140227
140228
140229 l_segment := AcctDerRule_14(
140230 p_application_id => p_application_id
140231 , p_ae_header_id => l_ae_header_id
140232 , p_source_10 => p_source_10
140233 , p_source_10_meaning => p_source_10_meaning
140234 , p_source_25 => p_source_25
140238 , x_flex_value_set_id => l_adr_flex_value_set_id
140235 , x_transaction_coa_id => l_adr_transaction_coa_id
140236 , x_accounting_coa_id => l_adr_accounting_coa_id
140237 , x_flexfield_segment_code => l_adr_flexfield_segment_code
140239 , x_value_type_code => l_adr_value_type_code
140240 , x_value_combination_id => l_adr_value_combination_id
140241 , x_value_segment_code => l_adr_value_segment_code
140242 , p_side => 'NA'
140243 , p_override_seg_flag => 'Y'
140244 );
140245
140246 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
140247
140248 xla_ae_lines_pkg.set_segment(
140249 p_to_segment_code => 'GL_ACCOUNT'
140250 , p_segment_value => l_segment
140251 , p_from_segment_code => l_adr_value_segment_code
140252 , p_from_combination_id => l_adr_value_combination_id
140253 , p_value_type_code => l_adr_value_type_code
140254 , p_transaction_coa_id => l_adr_transaction_coa_id
140255 , p_accounting_coa_id => l_adr_accounting_coa_id
140256 , p_flexfield_segment_code => l_adr_flexfield_segment_code
140257 , p_flex_value_set_id => l_adr_flex_value_set_id
140258 , p_adr_code => 'AP_INVOICE_DIST_NAT_ACCT_SEG'
140259 , p_adr_type_code => 'S'
140260 , p_component_type => l_component_type
140261 , p_component_code => l_component_code
140262 , p_component_type_code => l_component_type_code
140263 , p_component_appl_id => l_component_appl_id
140264 , p_amb_context_code => l_amb_context_code
140265 , p_entity_code => 'AP_PAYMENTS'
140266 , p_event_class_code => 'RECONCILED PAYMENTS'
140267 , p_side => 'NA'
140268 );
140269
140270 END IF;
140271
140272 l_segment := AcctDerRule_26(
140273 p_application_id => p_application_id
140274 , p_ae_header_id => l_ae_header_id
140275 , p_source_10 => p_source_10
140276 , p_source_10_meaning => p_source_10_meaning
140277 , p_source_39 => p_source_39
140278 , x_transaction_coa_id => l_adr_transaction_coa_id
140279 , x_accounting_coa_id => l_adr_accounting_coa_id
140280 , x_flexfield_segment_code => l_adr_flexfield_segment_code
140281 , x_flex_value_set_id => l_adr_flex_value_set_id
140282 , x_value_type_code => l_adr_value_type_code
140283 , x_value_combination_id => l_adr_value_combination_id
140284 , x_value_segment_code => l_adr_value_segment_code
140285 , p_side => 'NA'
140286 , p_override_seg_flag => 'Y'
140287 );
140288
140289 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
140290
140291 xla_ae_lines_pkg.set_segment(
140292 p_to_segment_code => 'GL_BALANCING'
140293 , p_segment_value => l_segment
140294 , p_from_segment_code => l_adr_value_segment_code
140295 , p_from_combination_id => l_adr_value_combination_id
140296 , p_value_type_code => l_adr_value_type_code
140297 , p_transaction_coa_id => l_adr_transaction_coa_id
140298 , p_accounting_coa_id => l_adr_accounting_coa_id
140299 , p_flexfield_segment_code => l_adr_flexfield_segment_code
140300 , p_flex_value_set_id => l_adr_flex_value_set_id
140301 , p_adr_code => 'AP_WH_RELATED_DIST_BAL_SEG'
140302 , p_adr_type_code => 'S'
140303 , p_component_type => l_component_type
140304 , p_component_code => l_component_code
140305 , p_component_type_code => l_component_type_code
140306 , p_component_appl_id => l_component_appl_id
140307 , p_amb_context_code => l_amb_context_code
140308 , p_entity_code => 'AP_PAYMENTS'
140309 , p_event_class_code => 'RECONCILED PAYMENTS'
140310 , p_side => 'NA'
140311 );
140312
140313 END IF;
140314
140315 --
140316 --
140317 END IF;
140318 --
140319 -- Bug 4922099
140320 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
140321 (NVL(l_enc_upg_option, 'N') = 'O')
140322 ) AND
140323 (l_bflow_method_code = 'PRIOR_ENTRY')
140324 )
140325 THEN
140326 IF
140327 --
140328 1 = 2
140329 --
140330 THEN
140331 xla_accounting_err_pkg.build_message
140332 (p_appli_s_name => 'XLA'
140333 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
140334 ,p_token_1 => 'LINE_NUMBER'
140335 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
140336 ,p_token_2 => 'LINE_TYPE_NAME'
140337 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
140338 l_component_type
140339 ,l_component_code
140340 ,l_component_type_code
140341 ,l_component_appl_id
140342 ,l_amb_context_code
140343 ,l_entity_code
140344 ,l_event_class_code
140345 )
140349 ,p_lookup_code => l_component_type_code
140346 ,p_token_3 => 'OWNER'
140347 ,p_value_3 => xla_lookups_pkg.get_meaning(
140348 p_lookup_type => 'XLA_OWNER_TYPE'
140350 )
140351 ,p_token_4 => 'PRODUCT_NAME'
140352 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
140353 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
140354 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
140355 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
140356 ,p_ae_header_id => NULL
140357 );
140358
140359 IF (C_LEVEL_ERROR>= g_log_level) THEN
140360 trace
140361 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
140362 ,p_level => C_LEVEL_ERROR
140363 ,p_module => l_log_module);
140364 END IF;
140365 END IF;
140366 END IF;
140367 --
140368 --
140369 ------------------------------------------------------------------------------------------------
140370 -- 4219869 Business Flow
140371 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
140372 -- Prior Entry. Currently, the following code is always generated.
140373 ------------------------------------------------------------------------------------------------
140374 XLA_AE_LINES_PKG.ValidateCurrentLine;
140375
140376 ------------------------------------------------------------------------------------
140377 -- 4219869 Business Flow
140378 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
140379 ------------------------------------------------------------------------------------
140380 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
140381
140382 ----------------------------------------------------------------------------------
140383 -- 4219869 Business Flow
140384 -- Update journal entry status -- Need to generate this within IF <condition>
140385 ----------------------------------------------------------------------------------
140386 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
140387 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
140388 ,p_balance_type_code => l_balance_type_code
140389 );
140390
140391 -------------------------------------------------------------------------------------------
140392 -- 4262811 - Generate the Accrual Reversal lines
140393 -------------------------------------------------------------------------------------------
140394 BEGIN
140395 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
140396 (g_array_event(p_event_id).array_value_num('header_index'));
140397 IF l_acc_rev_flag IS NULL THEN
140398 l_acc_rev_flag := 'N';
140399 END IF;
140400 EXCEPTION
140401 WHEN OTHERS THEN
140402 l_acc_rev_flag := 'N';
140403 END;
140404 --
140405 IF (l_acc_rev_flag = 'Y') THEN
140406
140407 -- 4645092 ------------------------------------------------------------------------------
140408 -- To allow MPA report to determine if it should generate report process
140409 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
140410 ------------------------------------------------------------------------------------------
140411
140412 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
140413 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
140414 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
140415 -- call ADRs
140416 -- Bug 4922099
140417 --
140418 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
140419 (NVL(l_actual_upg_option, 'N') = 'O') OR
140420 (NVL(l_enc_upg_option, 'N') = 'O')
140421 )
140422 THEN
140423 NULL;
140424 --
140425 --
140426
140427 l_ccid := AcctDerRule_48(
140428 p_application_id => p_application_id
140429 , p_ae_header_id => l_ae_header_id
140430 , p_source_10 => p_source_10
140431 , p_source_10_meaning => p_source_10_meaning
140432 , p_source_25 => p_source_25
140433 , p_source_39 => p_source_39
140434 , x_transaction_coa_id => l_adr_transaction_coa_id
140435 , x_accounting_coa_id => l_adr_accounting_coa_id
140436 , x_value_type_code => l_adr_value_type_code
140437 , p_side => 'NA'
140438 );
140439
140440 xla_ae_lines_pkg.set_ccid(
140441 p_code_combination_id => l_ccid
140442 , p_value_type_code => l_adr_value_type_code
140443 , p_transaction_coa_id => l_adr_transaction_coa_id
140444 , p_accounting_coa_id => l_adr_accounting_coa_id
140445 , p_adr_code => 'AP_WH_DIST_ACCT'
140446 , p_adr_type_code => 'S'
140447 , p_component_type => l_component_type
140448 , p_component_code => l_component_code
140449 , p_component_type_code => l_component_type_code
140450 , p_component_appl_id => l_component_appl_id
140451 , p_amb_context_code => l_amb_context_code
140452 , p_side => 'NA'
140453 );
140454
140455
140456 l_segment := AcctDerRule_14(
140457 p_application_id => p_application_id
140458 , p_ae_header_id => l_ae_header_id
140462 , x_transaction_coa_id => l_adr_transaction_coa_id
140459 , p_source_10 => p_source_10
140460 , p_source_10_meaning => p_source_10_meaning
140461 , p_source_25 => p_source_25
140463 , x_accounting_coa_id => l_adr_accounting_coa_id
140464 , x_flexfield_segment_code => l_adr_flexfield_segment_code
140465 , x_flex_value_set_id => l_adr_flex_value_set_id
140466 , x_value_type_code => l_adr_value_type_code
140467 , x_value_combination_id => l_adr_value_combination_id
140468 , x_value_segment_code => l_adr_value_segment_code
140469 , p_side => 'NA'
140470 , p_override_seg_flag => 'Y'
140471 );
140472
140473 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
140474
140475 xla_ae_lines_pkg.set_segment(
140476 p_to_segment_code => 'GL_ACCOUNT'
140477 , p_segment_value => l_segment
140478 , p_from_segment_code => l_adr_value_segment_code
140479 , p_from_combination_id => l_adr_value_combination_id
140480 , p_value_type_code => l_adr_value_type_code
140481 , p_transaction_coa_id => l_adr_transaction_coa_id
140482 , p_accounting_coa_id => l_adr_accounting_coa_id
140483 , p_flexfield_segment_code => l_adr_flexfield_segment_code
140484 , p_flex_value_set_id => l_adr_flex_value_set_id
140485 , p_adr_code => 'AP_INVOICE_DIST_NAT_ACCT_SEG'
140486 , p_adr_type_code => 'S'
140487 , p_component_type => l_component_type
140488 , p_component_code => l_component_code
140489 , p_component_type_code => l_component_type_code
140490 , p_component_appl_id => l_component_appl_id
140491 , p_amb_context_code => l_amb_context_code
140492 , p_entity_code => 'AP_PAYMENTS'
140493 , p_event_class_code => 'RECONCILED PAYMENTS'
140494 , p_side => 'NA'
140495 );
140496
140497 END IF;
140498
140499 l_segment := AcctDerRule_26(
140500 p_application_id => p_application_id
140501 , p_ae_header_id => l_ae_header_id
140502 , p_source_10 => p_source_10
140503 , p_source_10_meaning => p_source_10_meaning
140504 , p_source_39 => p_source_39
140505 , x_transaction_coa_id => l_adr_transaction_coa_id
140506 , x_accounting_coa_id => l_adr_accounting_coa_id
140507 , x_flexfield_segment_code => l_adr_flexfield_segment_code
140508 , x_flex_value_set_id => l_adr_flex_value_set_id
140509 , x_value_type_code => l_adr_value_type_code
140510 , x_value_combination_id => l_adr_value_combination_id
140511 , x_value_segment_code => l_adr_value_segment_code
140512 , p_side => 'NA'
140513 , p_override_seg_flag => 'Y'
140514 );
140515
140516 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
140517
140518 xla_ae_lines_pkg.set_segment(
140519 p_to_segment_code => 'GL_BALANCING'
140520 , p_segment_value => l_segment
140521 , p_from_segment_code => l_adr_value_segment_code
140522 , p_from_combination_id => l_adr_value_combination_id
140523 , p_value_type_code => l_adr_value_type_code
140524 , p_transaction_coa_id => l_adr_transaction_coa_id
140525 , p_accounting_coa_id => l_adr_accounting_coa_id
140526 , p_flexfield_segment_code => l_adr_flexfield_segment_code
140527 , p_flex_value_set_id => l_adr_flex_value_set_id
140528 , p_adr_code => 'AP_WH_RELATED_DIST_BAL_SEG'
140529 , p_adr_type_code => 'S'
140530 , p_component_type => l_component_type
140531 , p_component_code => l_component_code
140532 , p_component_type_code => l_component_type_code
140533 , p_component_appl_id => l_component_appl_id
140534 , p_amb_context_code => l_amb_context_code
140535 , p_entity_code => 'AP_PAYMENTS'
140536 , p_event_class_code => 'RECONCILED PAYMENTS'
140537 , p_side => 'NA'
140538 );
140539
140540 END IF;
140541
140542 --
140543 --
140544 END IF;
140545
140546 --
140547 -- Update the line information that should be overwritten
140548 --
140549 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
140550 p_header_num => 1);
140551 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
140552
140553 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
140554
140555 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
140556 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
140557 END IF;
140558
140559 --
140560 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
140561 --
140562 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
140563 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
140564 ELSE
140565 ---------------------------------------------------------------------------------------------------
140566 -- 4262811a Switch Sign
140567 ---------------------------------------------------------------------------------------------------
140568 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
140569 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
140573 -- 5132302
140570 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
140571 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
140572 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
140574 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
140575 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
140576
140577 END IF;
140578
140579 -- 4955764
140580 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
140581 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
140582
140583
140584 XLA_AE_LINES_PKG.ValidateCurrentLine;
140585 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
140586
140587 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
140588 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
140589 ,p_balance_type_code => l_balance_type_code);
140590
140591 END IF;
140592
140593 -----------------------------------------------------------------------------------------
140594 -- 4262811 Multiperiod Accounting
140595 -----------------------------------------------------------------------------------------
140596 -- No MPA option is assigned.
140597
140598
140599 END IF;
140600 END IF;
140601 --
140602
140603 --
140604 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
140605 trace
140606 (p_msg => 'END of AcctLineType_233'
140607 ,p_level => C_LEVEL_PROCEDURE
140608 ,p_module => l_log_module);
140609 END IF;
140610 --
140611 EXCEPTION
140612 WHEN xla_exceptions_pkg.application_exception THEN
140613 RAISE;
140614 WHEN OTHERS THEN
140615 xla_exceptions_pkg.raise_message
140616 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_233');
140617 END AcctLineType_233;
140618 --
140619
140620 ---------------------------------------
140621 --
140622 -- PRIVATE FUNCTION
140623 -- AcctLineType_234
140624 --
140625 ---------------------------------------
140626 PROCEDURE AcctLineType_234 (
140627 p_application_id IN NUMBER
140628 ,p_event_id IN NUMBER
140629 ,p_calculate_acctd_flag IN VARCHAR2
140630 ,p_calculate_g_l_flag IN VARCHAR2
140631 ,p_actual_flag IN OUT VARCHAR2
140632 ,p_balance_type_code OUT VARCHAR2
140633 ,p_gain_or_loss_ref OUT VARCHAR2
140634
140635 --Payment Currency Code
140636 , p_source_8 IN VARCHAR2
140637 --Automatic Offsets Value
140638 , p_source_10 IN VARCHAR2
140639 , p_source_10_meaning IN VARCHAR2
140640 --Invoice Distribution Account
140641 , p_source_25 IN NUMBER
140642 --Withholding Related Distribution Account
140643 , p_source_39 IN NUMBER
140644 --When to Account for Payment Option
140645 , p_source_57 IN VARCHAR2
140646 --Accounting Reversal Indicator
140647 , p_source_58 IN VARCHAR2
140648 --Distribution Link Type
140649 , p_source_60 IN VARCHAR2
140650 --Override Accounted Amount Indicator
140651 , p_source_85 IN VARCHAR2
140652 , p_source_85_meaning IN VARCHAR2
140653 --Third Party Type
140654 , p_source_88 IN VARCHAR2
140655 --Invoice Distribution Tax Line Identifier
140656 , p_source_91 IN NUMBER
140657 --Invoice Distribution Tax Distribution Identifier from Tax
140658 , p_source_92 IN NUMBER
140659 --Invoice Distribution Summary Tax Line Identifier
140660 , p_source_93 IN NUMBER
140661 --Business Flow Accounts Payable Application Identifier
140662 , p_source_96 IN NUMBER
140663 --Business Flow Invoice Distribution Type
140664 , p_source_97 IN VARCHAR2
140665 --Business Flow Invoice Entity Code
140666 , p_source_98 IN VARCHAR2
140667 --Business Flow Invoice Distribution Identifier
140668 , p_source_99 IN NUMBER
140669 --Business Flow Invoice Identifier
140670 , p_source_100 IN NUMBER
140671 --Payment Distribution Type
140672 , p_source_101 IN VARCHAR2
140673 , p_source_101_meaning IN VARCHAR2
140674 --Payment Distribution Amount
140675 , p_source_102 IN NUMBER
140676 --Payment Distribution Identifier
140677 , p_source_107 IN NUMBER
140678 --Payment Supplier Identifier
140679 , p_source_113 IN NUMBER
140680 --Payment Supplier Site Identifier
140681 , p_source_114 IN NUMBER
140682 --Payment Distribution Reversed Identifier
140683 , p_source_115 IN NUMBER
140684 --Payment Distribution (Invoice Rate) Ledger Amount
140685 , p_source_119 IN NUMBER
140686 --Payment Type
140687 , p_source_125 IN VARCHAR2
140688 , p_source_125_meaning IN VARCHAR2
140689 --Payment Processing Type
140690 , p_source_126 IN VARCHAR2
140691 --Invoice Distribution Amount of the Payment Distribution
140692 , p_source_127 IN NUMBER
140693 --Invoice Exchange Date
140694 , p_source_146 IN DATE
140695 --Invoice Exchange Rate
140696 , p_source_147 IN NUMBER
140697 --Invoice Exchange Rate Type
140698 , p_source_148 IN VARCHAR2
140699 --Withholding at Payment Indicator
140700 , p_source_166 IN VARCHAR2
140701 , p_source_166_meaning IN VARCHAR2
140702 )
140703 IS
140704
140705 l_component_type VARCHAR2(80);
140706 l_component_code VARCHAR2(30);
140707 l_component_type_code VARCHAR2(1);
140708 l_component_appl_id INTEGER;
140709 l_amb_context_code VARCHAR2(30);
140710 l_entity_code VARCHAR2(30);
140711 l_event_class_code VARCHAR2(30);
140715 l_line_definition_owner_code VARCHAR2(1);
140712 l_ae_header_id NUMBER;
140713 l_event_type_code VARCHAR2(30);
140714 l_line_definition_code VARCHAR2(30);
140716 --
140717 -- adr variables
140718 l_segment VARCHAR2(30);
140719 l_ccid NUMBER;
140720 l_adr_transaction_coa_id NUMBER;
140721 l_adr_accounting_coa_id NUMBER;
140722 l_adr_flexfield_segment_code VARCHAR2(30);
140723 l_adr_flex_value_set_id NUMBER;
140724 l_adr_value_type_code VARCHAR2(30);
140725 l_adr_value_combination_id NUMBER;
140726 l_adr_value_segment_code VARCHAR2(30);
140727
140728 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
140729 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
140730 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
140731 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
140732
140733 -- 4262811 Variables ------------------------------------------------------------------------------------------
140734 l_entered_amt_idx NUMBER;
140735 l_accted_amt_idx NUMBER;
140736 l_acc_rev_flag VARCHAR2(1);
140737 l_accrual_line_num NUMBER;
140738 l_tmp_amt NUMBER;
140739 l_acc_rev_natural_side_code VARCHAR2(1);
140740
140741 l_num_entries NUMBER;
140742 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
140743 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
140744 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
140745 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
140746 l_recog_line_1 NUMBER;
140747 l_recog_line_2 NUMBER;
140748
140749 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
140750 l_bflow_applied_to_amt NUMBER; -- 5132302
140751 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
140752
140753 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
140754
140755 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
140756 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
140757
140758 ---------------------------------------------------------------------------------------------------------------
140759
140760
140761 --
140762 -- bulk performance
140763 --
140764 l_balance_type_code VARCHAR2(1);
140765 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
140766 l_log_module VARCHAR2(240);
140767
140768 --
140769 -- Upgrade strategy
140770 --
140771 l_actual_upg_option VARCHAR2(1);
140772 l_enc_upg_option VARCHAR2(1);
140773
140774 --
140775 BEGIN
140776 --
140777 IF g_log_enabled THEN
140778 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_234';
140779 END IF;
140780 --
140781 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
140782
140783 trace
140784 (p_msg => 'BEGIN of AcctLineType_234'
140785 ,p_level => C_LEVEL_PROCEDURE
140786 ,p_module => l_log_module);
140787
140788 END IF;
140789 --
140790 l_component_type := 'AMB_JLT';
140791 l_component_code := 'AP_WITHHOLD_TAX_ACCR_PMT';
140792 l_component_type_code := 'S';
140793 l_component_appl_id := 200;
140794 l_amb_context_code := 'DEFAULT';
140795 l_entity_code := 'AP_PAYMENTS';
140796 l_event_class_code := 'PAYMENTS';
140797 l_event_type_code := 'PAYMENTS_ALL';
140798 l_line_definition_owner_code := 'S';
140799 l_line_definition_code := 'ACCRUAL_PAYMENTS_ALL';
140800 --
140801 l_balance_type_code := 'A';
140802 l_segment := NULL;
140803 l_ccid := NULL;
140804 l_adr_transaction_coa_id := NULL;
140805 l_adr_accounting_coa_id := NULL;
140806 l_adr_flexfield_segment_code := NULL;
140807 l_adr_flex_value_set_id := NULL;
140808 l_adr_value_type_code := NULL;
140809 l_adr_value_combination_id := NULL;
140810 l_adr_value_segment_code := NULL;
140811
140812 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
140813 l_bflow_class_code := ''; -- 4219869 Business Flow
140814 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
140815 l_budgetary_control_flag := 'N';
140816
140817 l_bflow_applied_to_amt_idx := NULL; -- 5132302
140818 l_bflow_applied_to_amt := NULL; -- 5132302
140819 l_entered_amt_idx := NULL; -- 4262811
140820 l_accted_amt_idx := NULL; -- 4262811
140821 l_acc_rev_flag := NULL; -- 4262811
140822 l_accrual_line_num := NULL; -- 4262811
140823 l_tmp_amt := NULL; -- 4262811
140824 --
140825
140826 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
140827 l_balance_type_code <> 'B' THEN
140828 IF NVL(p_source_57,'
140829 ') <> 'CLEAR_CLEAR' AND
140830 NVL(p_source_101,'
140831 ') = 'AWT' AND
140832 NVL(p_source_166,'
140833 ') = 'Y' AND
140834 NVL(p_source_125,'
140835 ') <> 'R' AND
140836 NVL(p_source_126,'
140837 ') <> 'PAYMENTCARD'
140838 THEN
140839
140840 --
140841 XLA_AE_LINES_PKG.SetNewLine;
140842
140843 p_balance_type_code := l_balance_type_code;
140844 -- set the flag so later we will know whether the gain loss line needs to be created
140845
140846 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
140847 p_actual_flag :='A';
140848 END IF;
140849
140850 --
140851 -- bulk performance
140852 --
140856 -- set accounting line options
140853 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
140854 p_header_num => 0); -- 4262811
140855 --
140857 --
140858 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
140859 p_natural_side_code => 'C'
140860 , p_gain_or_loss_flag => 'N'
140861 , p_gl_transfer_mode_code => 'S'
140862 , p_acct_entry_type_code => 'A'
140863 , p_switch_side_flag => 'Y'
140864 , p_merge_duplicate_code => 'A'
140865 );
140866 --
140867 l_acc_rev_natural_side_code := 'D'; -- 4262811
140868 --
140869 --
140870 -- set accounting line type info
140871 --
140872 xla_ae_lines_pkg.SetAcctLineType
140873 (p_component_type => l_component_type
140874 ,p_event_type_code => l_event_type_code
140875 ,p_line_definition_owner_code => l_line_definition_owner_code
140876 ,p_line_definition_code => l_line_definition_code
140877 ,p_accounting_line_code => l_component_code
140878 ,p_accounting_line_type_code => l_component_type_code
140879 ,p_accounting_line_appl_id => l_component_appl_id
140880 ,p_amb_context_code => l_amb_context_code
140881 ,p_entity_code => l_entity_code
140882 ,p_event_class_code => l_event_class_code);
140883 --
140884 -- set accounting class
140885 --
140886 xla_ae_lines_pkg.SetAcctClass(
140887 p_accounting_class_code => 'AWT'
140888 , p_ae_header_id => l_ae_header_id
140889 );
140890
140891 --
140892 -- set rounding class
140893 --
140894 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
140895 'AWT';
140896
140897 --
140898 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
140899 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
140900 --
140901 -- bulk performance
140902 --
140903 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
140904
140905 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
140906 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
140907
140908 -- 4955764
140909 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
140910 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
140911
140912 -- 4458381 Public Sector Enh
140913
140914 --
140915 -- set accounting attributes for the line type
140916 --
140917 l_entered_amt_idx := 10;
140918 l_accted_amt_idx := 15;
140919 l_bflow_applied_to_amt_idx := 2; -- 5132302
140920 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
140921 l_rec_acct_attrs.array_char_value(1) := p_source_58;
140922 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
140923 l_rec_acct_attrs.array_num_value(2) := p_source_127;
140924 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
140925 l_rec_acct_attrs.array_num_value(3) := p_source_96;
140926 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
140927 l_rec_acct_attrs.array_char_value(4) := p_source_97;
140928 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
140929 l_rec_acct_attrs.array_char_value(5) := p_source_98;
140930 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
140931 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_99);
140932 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
140933 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_100);
140934 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
140935 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_107);
140936 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
140937 l_rec_acct_attrs.array_char_value(9) := p_source_60;
140938 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
140939 l_rec_acct_attrs.array_num_value(10) := p_source_102;
140940 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
140941 l_rec_acct_attrs.array_char_value(11) := p_source_8;
140942 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
140943 l_rec_acct_attrs.array_date_value(12) := p_source_146;
140944 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
140945 l_rec_acct_attrs.array_num_value(13) := p_source_147;
140946 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
140947 l_rec_acct_attrs.array_char_value(14) := p_source_148;
140948 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
140949 l_rec_acct_attrs.array_num_value(15) := p_source_119;
140950 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
140951 l_rec_acct_attrs.array_char_value(16) := p_source_85;
140952 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
140953 l_rec_acct_attrs.array_num_value(17) := p_source_113;
140954 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
140955 l_rec_acct_attrs.array_num_value(18) := p_source_114;
140956 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
140957 l_rec_acct_attrs.array_char_value(19) := p_source_88;
140958 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
140959 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_115);
140960 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
140961 l_rec_acct_attrs.array_char_value(21) := p_source_60;
140962 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
140963 l_rec_acct_attrs.array_num_value(22) := p_source_91;
140967 l_rec_acct_attrs.array_num_value(24) := p_source_93;
140964 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
140965 l_rec_acct_attrs.array_num_value(23) := p_source_92;
140966 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
140968
140969 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
140970 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
140971
140972 ---------------------------------------------------------------------------------------------------------------
140973 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
140974 ---------------------------------------------------------------------------------------------------------------
140975 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
140976
140977 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
140978 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
140979
140980 IF xla_accounting_cache_pkg.GetValueChar
140981 (p_source_code => 'LEDGER_CATEGORY_CODE'
140982 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
140983 AND l_bflow_method_code = 'PRIOR_ENTRY'
140984 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
140985 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
140986 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
140987 )
140988 THEN
140989 xla_ae_lines_pkg.BflowUpgEntry
140990 (p_business_method_code => l_bflow_method_code
140991 ,p_business_class_code => l_bflow_class_code
140992 ,p_balance_type => l_balance_type_code);
140993 ELSE
140994 NULL;
140995 -- No business flow processing for business flow method of NONE.
140996 END IF;
140997
140998 --
140999 -- call analytical criteria
141000 --
141001
141002 --
141003 -- call description
141004 --
141005 -- No description or it is inherited.
141006 --
141007 -- call ADRs
141008 -- Bug 4922099
141009 --
141010 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
141011 (NVL(l_actual_upg_option, 'N') = 'O') OR
141012 (NVL(l_enc_upg_option, 'N') = 'O')
141013 )
141014 THEN
141015 NULL;
141016 --
141017 --
141018
141019 l_ccid := AcctDerRule_48(
141020 p_application_id => p_application_id
141021 , p_ae_header_id => l_ae_header_id
141022 , p_source_10 => p_source_10
141023 , p_source_10_meaning => p_source_10_meaning
141024 , p_source_25 => p_source_25
141025 , p_source_39 => p_source_39
141026 , x_transaction_coa_id => l_adr_transaction_coa_id
141027 , x_accounting_coa_id => l_adr_accounting_coa_id
141028 , x_value_type_code => l_adr_value_type_code
141029 , p_side => 'NA'
141030 );
141031
141032 xla_ae_lines_pkg.set_ccid(
141033 p_code_combination_id => l_ccid
141034 , p_value_type_code => l_adr_value_type_code
141035 , p_transaction_coa_id => l_adr_transaction_coa_id
141036 , p_accounting_coa_id => l_adr_accounting_coa_id
141037 , p_adr_code => 'AP_WH_DIST_ACCT'
141038 , p_adr_type_code => 'S'
141039 , p_component_type => l_component_type
141040 , p_component_code => l_component_code
141041 , p_component_type_code => l_component_type_code
141042 , p_component_appl_id => l_component_appl_id
141043 , p_amb_context_code => l_amb_context_code
141044 , p_side => 'NA'
141045 );
141046
141047
141048 l_segment := AcctDerRule_14(
141049 p_application_id => p_application_id
141050 , p_ae_header_id => l_ae_header_id
141051 , p_source_10 => p_source_10
141052 , p_source_10_meaning => p_source_10_meaning
141053 , p_source_25 => p_source_25
141054 , x_transaction_coa_id => l_adr_transaction_coa_id
141055 , x_accounting_coa_id => l_adr_accounting_coa_id
141056 , x_flexfield_segment_code => l_adr_flexfield_segment_code
141057 , x_flex_value_set_id => l_adr_flex_value_set_id
141058 , x_value_type_code => l_adr_value_type_code
141059 , x_value_combination_id => l_adr_value_combination_id
141060 , x_value_segment_code => l_adr_value_segment_code
141061 , p_side => 'NA'
141062 , p_override_seg_flag => 'Y'
141063 );
141064
141065 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
141066
141067 xla_ae_lines_pkg.set_segment(
141068 p_to_segment_code => 'GL_ACCOUNT'
141069 , p_segment_value => l_segment
141070 , p_from_segment_code => l_adr_value_segment_code
141071 , p_from_combination_id => l_adr_value_combination_id
141072 , p_value_type_code => l_adr_value_type_code
141073 , p_transaction_coa_id => l_adr_transaction_coa_id
141074 , p_accounting_coa_id => l_adr_accounting_coa_id
141075 , p_flexfield_segment_code => l_adr_flexfield_segment_code
141076 , p_flex_value_set_id => l_adr_flex_value_set_id
141077 , p_adr_code => 'AP_INVOICE_DIST_NAT_ACCT_SEG'
141078 , p_adr_type_code => 'S'
141079 , p_component_type => l_component_type
141080 , p_component_code => l_component_code
141081 , p_component_type_code => l_component_type_code
141082 , p_component_appl_id => l_component_appl_id
141083 , p_amb_context_code => l_amb_context_code
141087 );
141084 , p_entity_code => 'AP_PAYMENTS'
141085 , p_event_class_code => 'PAYMENTS'
141086 , p_side => 'NA'
141088
141089 END IF;
141090
141091 l_segment := AcctDerRule_26(
141092 p_application_id => p_application_id
141093 , p_ae_header_id => l_ae_header_id
141094 , p_source_10 => p_source_10
141095 , p_source_10_meaning => p_source_10_meaning
141096 , p_source_39 => p_source_39
141097 , x_transaction_coa_id => l_adr_transaction_coa_id
141098 , x_accounting_coa_id => l_adr_accounting_coa_id
141099 , x_flexfield_segment_code => l_adr_flexfield_segment_code
141100 , x_flex_value_set_id => l_adr_flex_value_set_id
141101 , x_value_type_code => l_adr_value_type_code
141102 , x_value_combination_id => l_adr_value_combination_id
141103 , x_value_segment_code => l_adr_value_segment_code
141104 , p_side => 'NA'
141105 , p_override_seg_flag => 'Y'
141106 );
141107
141108 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
141109
141110 xla_ae_lines_pkg.set_segment(
141111 p_to_segment_code => 'GL_BALANCING'
141112 , p_segment_value => l_segment
141113 , p_from_segment_code => l_adr_value_segment_code
141114 , p_from_combination_id => l_adr_value_combination_id
141115 , p_value_type_code => l_adr_value_type_code
141116 , p_transaction_coa_id => l_adr_transaction_coa_id
141117 , p_accounting_coa_id => l_adr_accounting_coa_id
141118 , p_flexfield_segment_code => l_adr_flexfield_segment_code
141119 , p_flex_value_set_id => l_adr_flex_value_set_id
141120 , p_adr_code => 'AP_WH_RELATED_DIST_BAL_SEG'
141121 , p_adr_type_code => 'S'
141122 , p_component_type => l_component_type
141123 , p_component_code => l_component_code
141124 , p_component_type_code => l_component_type_code
141125 , p_component_appl_id => l_component_appl_id
141126 , p_amb_context_code => l_amb_context_code
141127 , p_entity_code => 'AP_PAYMENTS'
141128 , p_event_class_code => 'PAYMENTS'
141129 , p_side => 'NA'
141130 );
141131
141132 END IF;
141133
141134 --
141135 --
141136 END IF;
141137 --
141138 -- Bug 4922099
141139 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
141140 (NVL(l_enc_upg_option, 'N') = 'O')
141141 ) AND
141142 (l_bflow_method_code = 'PRIOR_ENTRY')
141143 )
141144 THEN
141145 IF
141146 --
141147 1 = 2
141148 --
141149 THEN
141150 xla_accounting_err_pkg.build_message
141151 (p_appli_s_name => 'XLA'
141152 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
141153 ,p_token_1 => 'LINE_NUMBER'
141154 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
141155 ,p_token_2 => 'LINE_TYPE_NAME'
141156 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
141157 l_component_type
141158 ,l_component_code
141159 ,l_component_type_code
141160 ,l_component_appl_id
141161 ,l_amb_context_code
141162 ,l_entity_code
141163 ,l_event_class_code
141164 )
141165 ,p_token_3 => 'OWNER'
141166 ,p_value_3 => xla_lookups_pkg.get_meaning(
141167 p_lookup_type => 'XLA_OWNER_TYPE'
141168 ,p_lookup_code => l_component_type_code
141169 )
141170 ,p_token_4 => 'PRODUCT_NAME'
141171 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
141172 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
141173 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
141174 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
141175 ,p_ae_header_id => NULL
141176 );
141177
141178 IF (C_LEVEL_ERROR>= g_log_level) THEN
141179 trace
141180 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
141181 ,p_level => C_LEVEL_ERROR
141182 ,p_module => l_log_module);
141183 END IF;
141184 END IF;
141185 END IF;
141186 --
141187 --
141188 ------------------------------------------------------------------------------------------------
141189 -- 4219869 Business Flow
141190 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
141191 -- Prior Entry. Currently, the following code is always generated.
141195 ------------------------------------------------------------------------------------
141192 ------------------------------------------------------------------------------------------------
141193 XLA_AE_LINES_PKG.ValidateCurrentLine;
141194
141196 -- 4219869 Business Flow
141197 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
141198 ------------------------------------------------------------------------------------
141199 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
141200
141201 ----------------------------------------------------------------------------------
141202 -- 4219869 Business Flow
141203 -- Update journal entry status -- Need to generate this within IF <condition>
141204 ----------------------------------------------------------------------------------
141205 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
141206 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
141207 ,p_balance_type_code => l_balance_type_code
141208 );
141209
141210 -------------------------------------------------------------------------------------------
141211 -- 4262811 - Generate the Accrual Reversal lines
141212 -------------------------------------------------------------------------------------------
141213 BEGIN
141214 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
141215 (g_array_event(p_event_id).array_value_num('header_index'));
141216 IF l_acc_rev_flag IS NULL THEN
141217 l_acc_rev_flag := 'N';
141218 END IF;
141219 EXCEPTION
141220 WHEN OTHERS THEN
141221 l_acc_rev_flag := 'N';
141222 END;
141223 --
141224 IF (l_acc_rev_flag = 'Y') THEN
141225
141226 -- 4645092 ------------------------------------------------------------------------------
141227 -- To allow MPA report to determine if it should generate report process
141228 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
141229 ------------------------------------------------------------------------------------------
141230
141231 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
141232 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
141233 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
141234 -- call ADRs
141235 -- Bug 4922099
141236 --
141237 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
141238 (NVL(l_actual_upg_option, 'N') = 'O') OR
141239 (NVL(l_enc_upg_option, 'N') = 'O')
141240 )
141241 THEN
141242 NULL;
141243 --
141244 --
141245
141246 l_ccid := AcctDerRule_48(
141247 p_application_id => p_application_id
141248 , p_ae_header_id => l_ae_header_id
141249 , p_source_10 => p_source_10
141250 , p_source_10_meaning => p_source_10_meaning
141251 , p_source_25 => p_source_25
141252 , p_source_39 => p_source_39
141253 , x_transaction_coa_id => l_adr_transaction_coa_id
141254 , x_accounting_coa_id => l_adr_accounting_coa_id
141255 , x_value_type_code => l_adr_value_type_code
141256 , p_side => 'NA'
141257 );
141258
141259 xla_ae_lines_pkg.set_ccid(
141260 p_code_combination_id => l_ccid
141261 , p_value_type_code => l_adr_value_type_code
141262 , p_transaction_coa_id => l_adr_transaction_coa_id
141263 , p_accounting_coa_id => l_adr_accounting_coa_id
141264 , p_adr_code => 'AP_WH_DIST_ACCT'
141265 , p_adr_type_code => 'S'
141266 , p_component_type => l_component_type
141267 , p_component_code => l_component_code
141268 , p_component_type_code => l_component_type_code
141269 , p_component_appl_id => l_component_appl_id
141270 , p_amb_context_code => l_amb_context_code
141271 , p_side => 'NA'
141272 );
141273
141274
141275 l_segment := AcctDerRule_14(
141276 p_application_id => p_application_id
141277 , p_ae_header_id => l_ae_header_id
141278 , p_source_10 => p_source_10
141279 , p_source_10_meaning => p_source_10_meaning
141280 , p_source_25 => p_source_25
141281 , x_transaction_coa_id => l_adr_transaction_coa_id
141282 , x_accounting_coa_id => l_adr_accounting_coa_id
141283 , x_flexfield_segment_code => l_adr_flexfield_segment_code
141284 , x_flex_value_set_id => l_adr_flex_value_set_id
141285 , x_value_type_code => l_adr_value_type_code
141286 , x_value_combination_id => l_adr_value_combination_id
141287 , x_value_segment_code => l_adr_value_segment_code
141288 , p_side => 'NA'
141289 , p_override_seg_flag => 'Y'
141290 );
141291
141292 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
141293
141294 xla_ae_lines_pkg.set_segment(
141295 p_to_segment_code => 'GL_ACCOUNT'
141296 , p_segment_value => l_segment
141297 , p_from_segment_code => l_adr_value_segment_code
141298 , p_from_combination_id => l_adr_value_combination_id
141299 , p_value_type_code => l_adr_value_type_code
141300 , p_transaction_coa_id => l_adr_transaction_coa_id
141301 , p_accounting_coa_id => l_adr_accounting_coa_id
141302 , p_flexfield_segment_code => l_adr_flexfield_segment_code
141303 , p_flex_value_set_id => l_adr_flex_value_set_id
141304 , p_adr_code => 'AP_INVOICE_DIST_NAT_ACCT_SEG'
141305 , p_adr_type_code => 'S'
141306 , p_component_type => l_component_type
141307 , p_component_code => l_component_code
141308 , p_component_type_code => l_component_type_code
141309 , p_component_appl_id => l_component_appl_id
141313 , p_side => 'NA'
141310 , p_amb_context_code => l_amb_context_code
141311 , p_entity_code => 'AP_PAYMENTS'
141312 , p_event_class_code => 'PAYMENTS'
141314 );
141315
141316 END IF;
141317
141318 l_segment := AcctDerRule_26(
141319 p_application_id => p_application_id
141320 , p_ae_header_id => l_ae_header_id
141321 , p_source_10 => p_source_10
141322 , p_source_10_meaning => p_source_10_meaning
141323 , p_source_39 => p_source_39
141324 , x_transaction_coa_id => l_adr_transaction_coa_id
141325 , x_accounting_coa_id => l_adr_accounting_coa_id
141326 , x_flexfield_segment_code => l_adr_flexfield_segment_code
141327 , x_flex_value_set_id => l_adr_flex_value_set_id
141328 , x_value_type_code => l_adr_value_type_code
141329 , x_value_combination_id => l_adr_value_combination_id
141330 , x_value_segment_code => l_adr_value_segment_code
141331 , p_side => 'NA'
141332 , p_override_seg_flag => 'Y'
141333 );
141334
141335 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
141336
141337 xla_ae_lines_pkg.set_segment(
141338 p_to_segment_code => 'GL_BALANCING'
141339 , p_segment_value => l_segment
141340 , p_from_segment_code => l_adr_value_segment_code
141341 , p_from_combination_id => l_adr_value_combination_id
141342 , p_value_type_code => l_adr_value_type_code
141343 , p_transaction_coa_id => l_adr_transaction_coa_id
141344 , p_accounting_coa_id => l_adr_accounting_coa_id
141345 , p_flexfield_segment_code => l_adr_flexfield_segment_code
141346 , p_flex_value_set_id => l_adr_flex_value_set_id
141347 , p_adr_code => 'AP_WH_RELATED_DIST_BAL_SEG'
141348 , p_adr_type_code => 'S'
141349 , p_component_type => l_component_type
141350 , p_component_code => l_component_code
141351 , p_component_type_code => l_component_type_code
141352 , p_component_appl_id => l_component_appl_id
141353 , p_amb_context_code => l_amb_context_code
141354 , p_entity_code => 'AP_PAYMENTS'
141355 , p_event_class_code => 'PAYMENTS'
141356 , p_side => 'NA'
141357 );
141358
141359 END IF;
141360
141361 --
141362 --
141363 END IF;
141364
141365 --
141366 -- Update the line information that should be overwritten
141367 --
141368 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
141369 p_header_num => 1);
141370 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
141371
141372 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
141373
141374 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
141375 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
141376 END IF;
141377
141378 --
141379 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
141380 --
141381 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
141382 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
141383 ELSE
141384 ---------------------------------------------------------------------------------------------------
141385 -- 4262811a Switch Sign
141386 ---------------------------------------------------------------------------------------------------
141387 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
141388 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
141389 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
141390 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
141391 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
141392 -- 5132302
141393 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
141394 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
141395
141396 END IF;
141397
141398 -- 4955764
141399 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
141400 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
141401
141402
141403 XLA_AE_LINES_PKG.ValidateCurrentLine;
141404 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
141405
141406 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
141407 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
141408 ,p_balance_type_code => l_balance_type_code);
141409
141410 END IF;
141411
141412 -----------------------------------------------------------------------------------------
141413 -- 4262811 Multiperiod Accounting
141414 -----------------------------------------------------------------------------------------
141415 -- No MPA option is assigned.
141416
141417
141418 END IF;
141419 END IF;
141420 --
141421
141422 --
141423 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
141424 trace
141425 (p_msg => 'END of AcctLineType_234'
141426 ,p_level => C_LEVEL_PROCEDURE
141427 ,p_module => l_log_module);
141428 END IF;
141429 --
141430 EXCEPTION
141434 xla_exceptions_pkg.raise_message
141431 WHEN xla_exceptions_pkg.application_exception THEN
141432 RAISE;
141433 WHEN OTHERS THEN
141435 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_234');
141436 END AcctLineType_234;
141437 --
141438
141439 ---------------------------------------
141440 --
141441 -- PRIVATE FUNCTION
141442 -- AcctLineType_235
141443 --
141444 ---------------------------------------
141445 PROCEDURE AcctLineType_235 (
141446 p_application_id IN NUMBER
141447 ,p_event_id IN NUMBER
141448 ,p_calculate_acctd_flag IN VARCHAR2
141449 ,p_calculate_g_l_flag IN VARCHAR2
141450 ,p_actual_flag IN OUT VARCHAR2
141451 ,p_balance_type_code OUT VARCHAR2
141452 ,p_gain_or_loss_ref OUT VARCHAR2
141453
141454 --Invoice Distribution Description
141455 , p_source_1 IN VARCHAR2
141456 --Automatic Offsets Value
141457 , p_source_10 IN VARCHAR2
141458 , p_source_10_meaning IN VARCHAR2
141459 --Invoice Distribution Ledger Amount
141460 , p_source_16 IN NUMBER
141461 --Invoice Distribution Account
141462 , p_source_25 IN NUMBER
141463 --Invoice Distribution Type
141464 , p_source_28 IN VARCHAR2
141465 , p_source_28_meaning IN VARCHAR2
141466 --Withholding Related Distribution Account
141467 , p_source_39 IN NUMBER
141468 --Accounting Reversal Indicator
141469 , p_source_58 IN VARCHAR2
141470 --Distribution Link Type
141471 , p_source_60 IN VARCHAR2
141472 --Allocation to Main Distribution Identifier
141473 , p_source_62 IN NUMBER
141474 --Invoice Identifier
141475 , p_source_63 IN NUMBER
141476 --Invoice Distribution Identifier
141477 , p_source_69 IN NUMBER
141478 --Payables Encumbrance Upgrade Credit Account
141479 , p_source_70 IN NUMBER
141480 --Payables Encumbrance Upgrade Credit Amount
141481 , p_source_71 IN NUMBER
141482 --Invoice Currency Code
141483 , p_source_72 IN VARCHAR2
141484 --Payables Encumbrance Upgrade Credit Base Amount
141485 , p_source_73 IN NUMBER
141486 --Payables Encumbrance Upgrade Debit Account
141487 , p_source_74 IN NUMBER
141488 --Payables Encumbrance Upgrade Debit Amount
141489 , p_source_75 IN NUMBER
141490 --Payables Encumbrance Upgrade Debit Base Amount
141491 , p_source_76 IN NUMBER
141492 --Payables Encumbrance Upgrade Option
141493 , p_source_77 IN VARCHAR2
141494 --Invoice Distribution Amount
141495 , p_source_78 IN NUMBER
141496 --Deferred Accounting End Date
141497 , p_source_82 IN DATE
141498 --Deferred Accounting Option
141499 , p_source_83 IN VARCHAR2
141500 --Deferred Accounting Start Date
141501 , p_source_84 IN DATE
141502 --Override Accounted Amount Indicator
141503 , p_source_85 IN VARCHAR2
141504 , p_source_85_meaning IN VARCHAR2
141505 --Invoice Supplier Identifier
141506 , p_source_86 IN NUMBER
141507 --Invoice Supplier Site Identifier
141508 , p_source_87 IN NUMBER
141509 --Third Party Type
141510 , p_source_88 IN VARCHAR2
141511 --Parent Reversal Identifier
141512 , p_source_89 IN NUMBER
141513 --Invoice Distribution Statistical Amount
141514 , p_source_90 IN NUMBER
141515 --Invoice Distribution Tax Line Identifier
141516 , p_source_91 IN NUMBER
141517 --Invoice Distribution Tax Distribution Identifier from Tax
141518 , p_source_92 IN NUMBER
141519 --Invoice Distribution Summary Tax Line Identifier
141520 , p_source_93 IN NUMBER
141521 --Payables Upgrade Credit Encumbrance Type Identifier
141522 , p_source_94 IN NUMBER
141523 --Payables Upgrade Debit Encumbrance Type Identifier
141524 , p_source_95 IN NUMBER
141525 --Business Flow Accounts Payable Application Identifier
141526 , p_source_96 IN NUMBER
141527 --Business Flow Invoice Distribution Type
141528 , p_source_97 IN VARCHAR2
141529 --Business Flow Invoice Entity Code
141530 , p_source_98 IN VARCHAR2
141531 --Business Flow Invoice Distribution Identifier
141532 , p_source_99 IN NUMBER
141533 --Business Flow Invoice Identifier
141534 , p_source_100 IN NUMBER
141535 --Invoice Exchange Date
141536 , p_source_146 IN DATE
141537 --Invoice Exchange Rate
141538 , p_source_147 IN NUMBER
141539 --Invoice Exchange Rate Type
141540 , p_source_148 IN VARCHAR2
141541 )
141542 IS
141543
141544 l_component_type VARCHAR2(80);
141545 l_component_code VARCHAR2(30);
141546 l_component_type_code VARCHAR2(1);
141547 l_component_appl_id INTEGER;
141548 l_amb_context_code VARCHAR2(30);
141549 l_entity_code VARCHAR2(30);
141550 l_event_class_code VARCHAR2(30);
141551 l_ae_header_id NUMBER;
141552 l_event_type_code VARCHAR2(30);
141553 l_line_definition_code VARCHAR2(30);
141554 l_line_definition_owner_code VARCHAR2(1);
141555 --
141556 -- adr variables
141557 l_segment VARCHAR2(30);
141558 l_ccid NUMBER;
141559 l_adr_transaction_coa_id NUMBER;
141560 l_adr_accounting_coa_id NUMBER;
141561 l_adr_flexfield_segment_code VARCHAR2(30);
141562 l_adr_flex_value_set_id NUMBER;
141563 l_adr_value_type_code VARCHAR2(30);
141564 l_adr_value_combination_id NUMBER;
141565 l_adr_value_segment_code VARCHAR2(30);
141566
141567 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
141568 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
141569 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
141570 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
141571
141575 l_acc_rev_flag VARCHAR2(1);
141572 -- 4262811 Variables ------------------------------------------------------------------------------------------
141573 l_entered_amt_idx NUMBER;
141574 l_accted_amt_idx NUMBER;
141576 l_accrual_line_num NUMBER;
141577 l_tmp_amt NUMBER;
141578 l_acc_rev_natural_side_code VARCHAR2(1);
141579
141580 l_num_entries NUMBER;
141581 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
141582 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
141583 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
141584 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
141585 l_recog_line_1 NUMBER;
141586 l_recog_line_2 NUMBER;
141587
141588 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
141589 l_bflow_applied_to_amt NUMBER; -- 5132302
141590 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
141591
141592 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
141593
141594 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
141595 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
141596
141597 ---------------------------------------------------------------------------------------------------------------
141598
141599
141600 --
141601 -- bulk performance
141602 --
141603 l_balance_type_code VARCHAR2(1);
141604 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
141605 l_log_module VARCHAR2(240);
141606
141607 --
141608 -- Upgrade strategy
141609 --
141610 l_actual_upg_option VARCHAR2(1);
141611 l_enc_upg_option VARCHAR2(1);
141612
141613 --
141614 BEGIN
141615 --
141616 IF g_log_enabled THEN
141617 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_235';
141618 END IF;
141619 --
141620 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
141621
141622 trace
141623 (p_msg => 'BEGIN of AcctLineType_235'
141624 ,p_level => C_LEVEL_PROCEDURE
141625 ,p_module => l_log_module);
141626
141627 END IF;
141628 --
141629 l_component_type := 'AMB_JLT';
141630 l_component_code := 'AP_WITHHOLD_TAX_CM';
141631 l_component_type_code := 'S';
141632 l_component_appl_id := 200;
141633 l_amb_context_code := 'DEFAULT';
141634 l_entity_code := 'AP_INVOICES';
141635 l_event_class_code := 'CREDIT MEMOS';
141636 l_event_type_code := 'CREDIT MEMOS_ALL';
141637 l_line_definition_owner_code := 'S';
141638 l_line_definition_code := 'ACCRUAL_CREDIT MEMOS_ALL';
141639 --
141640 l_balance_type_code := 'A';
141641 l_segment := NULL;
141642 l_ccid := NULL;
141643 l_adr_transaction_coa_id := NULL;
141644 l_adr_accounting_coa_id := NULL;
141645 l_adr_flexfield_segment_code := NULL;
141646 l_adr_flex_value_set_id := NULL;
141647 l_adr_value_type_code := NULL;
141648 l_adr_value_combination_id := NULL;
141649 l_adr_value_segment_code := NULL;
141650
141651 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
141652 l_bflow_class_code := ''; -- 4219869 Business Flow
141653 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
141654 l_budgetary_control_flag := 'N';
141655
141656 l_bflow_applied_to_amt_idx := NULL; -- 5132302
141657 l_bflow_applied_to_amt := NULL; -- 5132302
141658 l_entered_amt_idx := NULL; -- 4262811
141659 l_accted_amt_idx := NULL; -- 4262811
141660 l_acc_rev_flag := NULL; -- 4262811
141661 l_accrual_line_num := NULL; -- 4262811
141662 l_tmp_amt := NULL; -- 4262811
141663 --
141664
141665 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
141666 l_balance_type_code <> 'B' THEN
141667 IF NVL(p_source_28,'
141668 ') = 'AWT'
141669 THEN
141670
141671 --
141672 XLA_AE_LINES_PKG.SetNewLine;
141673
141674 p_balance_type_code := l_balance_type_code;
141675 -- set the flag so later we will know whether the gain loss line needs to be created
141676
141677 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
141678 p_actual_flag :='A';
141679 END IF;
141680
141681 --
141682 -- bulk performance
141683 --
141684 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
141685 p_header_num => 0); -- 4262811
141686 --
141687 -- set accounting line options
141688 --
141689 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
141690 p_natural_side_code => 'D'
141691 , p_gain_or_loss_flag => 'N'
141692 , p_gl_transfer_mode_code => 'S'
141693 , p_acct_entry_type_code => 'A'
141694 , p_switch_side_flag => 'Y'
141695 , p_merge_duplicate_code => 'A'
141696 );
141697 --
141698 l_acc_rev_natural_side_code := 'C'; -- 4262811
141699 --
141700 --
141701 -- set accounting line type info
141702 --
141703 xla_ae_lines_pkg.SetAcctLineType
141704 (p_component_type => l_component_type
141705 ,p_event_type_code => l_event_type_code
141706 ,p_line_definition_owner_code => l_line_definition_owner_code
141707 ,p_line_definition_code => l_line_definition_code
141708 ,p_accounting_line_code => l_component_code
141709 ,p_accounting_line_type_code => l_component_type_code
141710 ,p_accounting_line_appl_id => l_component_appl_id
141714 --
141711 ,p_amb_context_code => l_amb_context_code
141712 ,p_entity_code => l_entity_code
141713 ,p_event_class_code => l_event_class_code);
141715 -- set accounting class
141716 --
141717 xla_ae_lines_pkg.SetAcctClass(
141718 p_accounting_class_code => 'AWT'
141719 , p_ae_header_id => l_ae_header_id
141720 );
141721
141722 --
141723 -- set rounding class
141724 --
141725 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
141726 'AWT';
141727
141728 --
141729 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
141730 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
141731 --
141732 -- bulk performance
141733 --
141734 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
141735
141736 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
141737 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
141738
141739 -- 4955764
141740 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
141741 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
141742
141743 -- 4458381 Public Sector Enh
141744
141745 --
141746 -- set accounting attributes for the line type
141747 --
141748 l_entered_amt_idx := 23;
141749 l_accted_amt_idx := 28;
141750 l_bflow_applied_to_amt_idx := NULL; -- 5132302
141751 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
141752 l_rec_acct_attrs.array_char_value(1) := p_source_58;
141753 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
141754 l_rec_acct_attrs.array_num_value(2) :=
141755 xla_ae_sources_pkg.GetSystemSourceNum(
141756 p_source_code => 'XLA_EVENT_APPL_ID'
141757 , p_source_type_code => 'Y'
141758 , p_source_application_id => 602
141759 );
141760 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
141761 l_rec_acct_attrs.array_char_value(3) := p_source_60;
141762 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
141763 l_rec_acct_attrs.array_char_value(4) :=
141764 xla_ae_sources_pkg.GetSystemSourceChar(
141765 p_source_code => 'XLA_ENTITY_CODE'
141766 , p_source_type_code => 'Y'
141767 , p_source_application_id => 602
141768 );
141769 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
141770 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_62);
141771 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
141772 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_63);
141773 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
141774 l_rec_acct_attrs.array_num_value(7) := p_source_96;
141775 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
141776 l_rec_acct_attrs.array_char_value(8) := p_source_97;
141777 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
141778 l_rec_acct_attrs.array_char_value(9) := p_source_98;
141779 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
141780 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_99);
141781 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
141782 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_100);
141783 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
141784 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_69);
141785 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
141786 l_rec_acct_attrs.array_char_value(13) := p_source_60;
141787 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
141788 l_rec_acct_attrs.array_num_value(14) := p_source_70;
141789 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
141790 l_rec_acct_attrs.array_num_value(15) := p_source_71;
141791 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
141792 l_rec_acct_attrs.array_char_value(16) := p_source_72;
141793 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
141794 l_rec_acct_attrs.array_num_value(17) := p_source_73;
141795 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
141796 l_rec_acct_attrs.array_num_value(18) := p_source_74;
141797 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
141798 l_rec_acct_attrs.array_num_value(19) := p_source_75;
141799 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
141800 l_rec_acct_attrs.array_char_value(20) := p_source_72;
141801 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
141802 l_rec_acct_attrs.array_num_value(21) := p_source_76;
141803 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
141804 l_rec_acct_attrs.array_char_value(22) := p_source_77;
141805 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
141806 l_rec_acct_attrs.array_num_value(23) := p_source_78;
141807 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
141808 l_rec_acct_attrs.array_char_value(24) := p_source_72;
141809 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
141810 l_rec_acct_attrs.array_date_value(25) := p_source_146;
141811 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
141812 l_rec_acct_attrs.array_num_value(26) := p_source_147;
141813 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
141814 l_rec_acct_attrs.array_char_value(27) := p_source_148;
141815 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
141816 l_rec_acct_attrs.array_num_value(28) := p_source_16;
141817 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
141821 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
141818 l_rec_acct_attrs.array_date_value(29) := p_source_82;
141819 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
141820 l_rec_acct_attrs.array_char_value(30) := p_source_83;
141822 l_rec_acct_attrs.array_date_value(31) := p_source_84;
141823 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
141824 l_rec_acct_attrs.array_char_value(32) := p_source_85;
141825 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
141826 l_rec_acct_attrs.array_num_value(33) := p_source_86;
141827 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
141828 l_rec_acct_attrs.array_num_value(34) := p_source_87;
141829 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
141830 l_rec_acct_attrs.array_char_value(35) := p_source_88;
141831 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
141832 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_89);
141833 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
141834 l_rec_acct_attrs.array_char_value(37) := p_source_60;
141835 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
141836 l_rec_acct_attrs.array_num_value(38) := p_source_90;
141837 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
141838 l_rec_acct_attrs.array_num_value(39) := p_source_91;
141839 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
141840 l_rec_acct_attrs.array_num_value(40) := p_source_92;
141841 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
141842 l_rec_acct_attrs.array_num_value(41) := p_source_93;
141843 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
141844 l_rec_acct_attrs.array_num_value(42) := p_source_94;
141845 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
141846 l_rec_acct_attrs.array_num_value(43) := p_source_95;
141847
141848 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
141849 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
141850
141851 ---------------------------------------------------------------------------------------------------------------
141852 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
141853 ---------------------------------------------------------------------------------------------------------------
141854 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
141855
141856 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
141857 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
141858
141859 IF xla_accounting_cache_pkg.GetValueChar
141860 (p_source_code => 'LEDGER_CATEGORY_CODE'
141861 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
141862 AND l_bflow_method_code = 'PRIOR_ENTRY'
141863 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
141864 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
141865 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
141866 )
141867 THEN
141868 xla_ae_lines_pkg.BflowUpgEntry
141869 (p_business_method_code => l_bflow_method_code
141870 ,p_business_class_code => l_bflow_class_code
141871 ,p_balance_type => l_balance_type_code);
141872 ELSE
141873 NULL;
141874 -- No business flow processing for business flow method of NONE.
141875 END IF;
141876
141877 --
141878 -- call analytical criteria
141879 --
141880
141881 --
141882 -- call description
141883 --
141884
141885 xla_ae_lines_pkg.SetLineDescription(
141886 p_ae_header_id => l_ae_header_id
141887 ,p_description => Description_2 (
141888 p_application_id => p_application_id
141889 , p_ae_header_id => l_ae_header_id
141890 , p_source_1 => p_source_1
141891 )
141892 );
141893
141894
141895 --
141896 -- call ADRs
141897 -- Bug 4922099
141898 --
141899 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
141900 (NVL(l_actual_upg_option, 'N') = 'O') OR
141901 (NVL(l_enc_upg_option, 'N') = 'O')
141902 )
141903 THEN
141904 NULL;
141905 --
141906 --
141907
141908 l_ccid := AcctDerRule_48(
141909 p_application_id => p_application_id
141910 , p_ae_header_id => l_ae_header_id
141911 , p_source_10 => p_source_10
141912 , p_source_10_meaning => p_source_10_meaning
141913 , p_source_25 => p_source_25
141914 , p_source_39 => p_source_39
141915 , x_transaction_coa_id => l_adr_transaction_coa_id
141916 , x_accounting_coa_id => l_adr_accounting_coa_id
141917 , x_value_type_code => l_adr_value_type_code
141918 , p_side => 'NA'
141919 );
141920
141921 xla_ae_lines_pkg.set_ccid(
141922 p_code_combination_id => l_ccid
141923 , p_value_type_code => l_adr_value_type_code
141924 , p_transaction_coa_id => l_adr_transaction_coa_id
141925 , p_accounting_coa_id => l_adr_accounting_coa_id
141926 , p_adr_code => 'AP_WH_DIST_ACCT'
141927 , p_adr_type_code => 'S'
141928 , p_component_type => l_component_type
141929 , p_component_code => l_component_code
141930 , p_component_type_code => l_component_type_code
141931 , p_component_appl_id => l_component_appl_id
141932 , p_amb_context_code => l_amb_context_code
141933 , p_side => 'NA'
141934 );
141935
141936
141937 l_segment := AcctDerRule_14(
141938 p_application_id => p_application_id
141942 , p_source_25 => p_source_25
141939 , p_ae_header_id => l_ae_header_id
141940 , p_source_10 => p_source_10
141941 , p_source_10_meaning => p_source_10_meaning
141943 , x_transaction_coa_id => l_adr_transaction_coa_id
141944 , x_accounting_coa_id => l_adr_accounting_coa_id
141945 , x_flexfield_segment_code => l_adr_flexfield_segment_code
141946 , x_flex_value_set_id => l_adr_flex_value_set_id
141947 , x_value_type_code => l_adr_value_type_code
141948 , x_value_combination_id => l_adr_value_combination_id
141949 , x_value_segment_code => l_adr_value_segment_code
141950 , p_side => 'NA'
141951 , p_override_seg_flag => 'Y'
141952 );
141953
141954 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
141955
141956 xla_ae_lines_pkg.set_segment(
141957 p_to_segment_code => 'GL_ACCOUNT'
141958 , p_segment_value => l_segment
141959 , p_from_segment_code => l_adr_value_segment_code
141960 , p_from_combination_id => l_adr_value_combination_id
141961 , p_value_type_code => l_adr_value_type_code
141962 , p_transaction_coa_id => l_adr_transaction_coa_id
141963 , p_accounting_coa_id => l_adr_accounting_coa_id
141964 , p_flexfield_segment_code => l_adr_flexfield_segment_code
141965 , p_flex_value_set_id => l_adr_flex_value_set_id
141966 , p_adr_code => 'AP_INVOICE_DIST_NAT_ACCT_SEG'
141967 , p_adr_type_code => 'S'
141968 , p_component_type => l_component_type
141969 , p_component_code => l_component_code
141970 , p_component_type_code => l_component_type_code
141971 , p_component_appl_id => l_component_appl_id
141972 , p_amb_context_code => l_amb_context_code
141973 , p_entity_code => 'AP_INVOICES'
141974 , p_event_class_code => 'CREDIT MEMOS'
141975 , p_side => 'NA'
141976 );
141977
141978 END IF;
141979
141980 l_segment := AcctDerRule_26(
141981 p_application_id => p_application_id
141982 , p_ae_header_id => l_ae_header_id
141983 , p_source_10 => p_source_10
141984 , p_source_10_meaning => p_source_10_meaning
141985 , p_source_39 => p_source_39
141986 , x_transaction_coa_id => l_adr_transaction_coa_id
141987 , x_accounting_coa_id => l_adr_accounting_coa_id
141988 , x_flexfield_segment_code => l_adr_flexfield_segment_code
141989 , x_flex_value_set_id => l_adr_flex_value_set_id
141990 , x_value_type_code => l_adr_value_type_code
141991 , x_value_combination_id => l_adr_value_combination_id
141992 , x_value_segment_code => l_adr_value_segment_code
141993 , p_side => 'NA'
141994 , p_override_seg_flag => 'Y'
141995 );
141996
141997 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
141998
141999 xla_ae_lines_pkg.set_segment(
142000 p_to_segment_code => 'GL_BALANCING'
142001 , p_segment_value => l_segment
142002 , p_from_segment_code => l_adr_value_segment_code
142003 , p_from_combination_id => l_adr_value_combination_id
142004 , p_value_type_code => l_adr_value_type_code
142005 , p_transaction_coa_id => l_adr_transaction_coa_id
142006 , p_accounting_coa_id => l_adr_accounting_coa_id
142007 , p_flexfield_segment_code => l_adr_flexfield_segment_code
142008 , p_flex_value_set_id => l_adr_flex_value_set_id
142009 , p_adr_code => 'AP_WH_RELATED_DIST_BAL_SEG'
142010 , p_adr_type_code => 'S'
142011 , p_component_type => l_component_type
142012 , p_component_code => l_component_code
142013 , p_component_type_code => l_component_type_code
142014 , p_component_appl_id => l_component_appl_id
142015 , p_amb_context_code => l_amb_context_code
142016 , p_entity_code => 'AP_INVOICES'
142017 , p_event_class_code => 'CREDIT MEMOS'
142018 , p_side => 'NA'
142019 );
142020
142021 END IF;
142022
142023 --
142024 --
142025 END IF;
142026 --
142027 -- Bug 4922099
142028 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
142029 (NVL(l_enc_upg_option, 'N') = 'O')
142030 ) AND
142031 (l_bflow_method_code = 'PRIOR_ENTRY')
142032 )
142033 THEN
142034 IF
142035 --
142036 1 = 2
142037 --
142038 THEN
142039 xla_accounting_err_pkg.build_message
142040 (p_appli_s_name => 'XLA'
142041 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
142042 ,p_token_1 => 'LINE_NUMBER'
142043 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
142044 ,p_token_2 => 'LINE_TYPE_NAME'
142045 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
142046 l_component_type
142047 ,l_component_code
142048 ,l_component_type_code
142049 ,l_component_appl_id
142050 ,l_amb_context_code
142051 ,l_entity_code
142055 ,p_value_3 => xla_lookups_pkg.get_meaning(
142052 ,l_event_class_code
142053 )
142054 ,p_token_3 => 'OWNER'
142056 p_lookup_type => 'XLA_OWNER_TYPE'
142057 ,p_lookup_code => l_component_type_code
142058 )
142059 ,p_token_4 => 'PRODUCT_NAME'
142060 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
142061 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
142062 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
142063 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
142064 ,p_ae_header_id => NULL
142065 );
142066
142067 IF (C_LEVEL_ERROR>= g_log_level) THEN
142068 trace
142069 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
142070 ,p_level => C_LEVEL_ERROR
142071 ,p_module => l_log_module);
142072 END IF;
142073 END IF;
142074 END IF;
142075 --
142076 --
142077 ------------------------------------------------------------------------------------------------
142078 -- 4219869 Business Flow
142079 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
142080 -- Prior Entry. Currently, the following code is always generated.
142081 ------------------------------------------------------------------------------------------------
142082 XLA_AE_LINES_PKG.ValidateCurrentLine;
142083
142084 ------------------------------------------------------------------------------------
142085 -- 4219869 Business Flow
142086 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
142087 ------------------------------------------------------------------------------------
142088 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
142089
142090 ----------------------------------------------------------------------------------
142091 -- 4219869 Business Flow
142092 -- Update journal entry status -- Need to generate this within IF <condition>
142093 ----------------------------------------------------------------------------------
142094 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
142095 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
142096 ,p_balance_type_code => l_balance_type_code
142097 );
142098
142099 -------------------------------------------------------------------------------------------
142100 -- 4262811 - Generate the Accrual Reversal lines
142101 -------------------------------------------------------------------------------------------
142102 BEGIN
142103 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
142104 (g_array_event(p_event_id).array_value_num('header_index'));
142105 IF l_acc_rev_flag IS NULL THEN
142106 l_acc_rev_flag := 'N';
142107 END IF;
142108 EXCEPTION
142109 WHEN OTHERS THEN
142110 l_acc_rev_flag := 'N';
142111 END;
142112 --
142113 IF (l_acc_rev_flag = 'Y') THEN
142114
142115 -- 4645092 ------------------------------------------------------------------------------
142116 -- To allow MPA report to determine if it should generate report process
142117 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
142118 ------------------------------------------------------------------------------------------
142119
142120 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
142121 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
142122 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
142123 -- call ADRs
142124 -- Bug 4922099
142125 --
142126 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
142127 (NVL(l_actual_upg_option, 'N') = 'O') OR
142128 (NVL(l_enc_upg_option, 'N') = 'O')
142129 )
142130 THEN
142131 NULL;
142132 --
142133 --
142134
142135 l_ccid := AcctDerRule_48(
142136 p_application_id => p_application_id
142137 , p_ae_header_id => l_ae_header_id
142138 , p_source_10 => p_source_10
142139 , p_source_10_meaning => p_source_10_meaning
142140 , p_source_25 => p_source_25
142141 , p_source_39 => p_source_39
142142 , x_transaction_coa_id => l_adr_transaction_coa_id
142143 , x_accounting_coa_id => l_adr_accounting_coa_id
142144 , x_value_type_code => l_adr_value_type_code
142145 , p_side => 'NA'
142146 );
142147
142148 xla_ae_lines_pkg.set_ccid(
142149 p_code_combination_id => l_ccid
142150 , p_value_type_code => l_adr_value_type_code
142151 , p_transaction_coa_id => l_adr_transaction_coa_id
142152 , p_accounting_coa_id => l_adr_accounting_coa_id
142153 , p_adr_code => 'AP_WH_DIST_ACCT'
142154 , p_adr_type_code => 'S'
142155 , p_component_type => l_component_type
142156 , p_component_code => l_component_code
142157 , p_component_type_code => l_component_type_code
142158 , p_component_appl_id => l_component_appl_id
142159 , p_amb_context_code => l_amb_context_code
142160 , p_side => 'NA'
142161 );
142162
142163
142167 , p_source_10 => p_source_10
142164 l_segment := AcctDerRule_14(
142165 p_application_id => p_application_id
142166 , p_ae_header_id => l_ae_header_id
142168 , p_source_10_meaning => p_source_10_meaning
142169 , p_source_25 => p_source_25
142170 , x_transaction_coa_id => l_adr_transaction_coa_id
142171 , x_accounting_coa_id => l_adr_accounting_coa_id
142172 , x_flexfield_segment_code => l_adr_flexfield_segment_code
142173 , x_flex_value_set_id => l_adr_flex_value_set_id
142174 , x_value_type_code => l_adr_value_type_code
142175 , x_value_combination_id => l_adr_value_combination_id
142176 , x_value_segment_code => l_adr_value_segment_code
142177 , p_side => 'NA'
142178 , p_override_seg_flag => 'Y'
142179 );
142180
142181 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
142182
142183 xla_ae_lines_pkg.set_segment(
142184 p_to_segment_code => 'GL_ACCOUNT'
142185 , p_segment_value => l_segment
142186 , p_from_segment_code => l_adr_value_segment_code
142187 , p_from_combination_id => l_adr_value_combination_id
142188 , p_value_type_code => l_adr_value_type_code
142189 , p_transaction_coa_id => l_adr_transaction_coa_id
142190 , p_accounting_coa_id => l_adr_accounting_coa_id
142191 , p_flexfield_segment_code => l_adr_flexfield_segment_code
142192 , p_flex_value_set_id => l_adr_flex_value_set_id
142193 , p_adr_code => 'AP_INVOICE_DIST_NAT_ACCT_SEG'
142194 , p_adr_type_code => 'S'
142195 , p_component_type => l_component_type
142196 , p_component_code => l_component_code
142197 , p_component_type_code => l_component_type_code
142198 , p_component_appl_id => l_component_appl_id
142199 , p_amb_context_code => l_amb_context_code
142200 , p_entity_code => 'AP_INVOICES'
142201 , p_event_class_code => 'CREDIT MEMOS'
142202 , p_side => 'NA'
142203 );
142204
142205 END IF;
142206
142207 l_segment := AcctDerRule_26(
142208 p_application_id => p_application_id
142209 , p_ae_header_id => l_ae_header_id
142210 , p_source_10 => p_source_10
142211 , p_source_10_meaning => p_source_10_meaning
142212 , p_source_39 => p_source_39
142213 , x_transaction_coa_id => l_adr_transaction_coa_id
142214 , x_accounting_coa_id => l_adr_accounting_coa_id
142215 , x_flexfield_segment_code => l_adr_flexfield_segment_code
142216 , x_flex_value_set_id => l_adr_flex_value_set_id
142217 , x_value_type_code => l_adr_value_type_code
142218 , x_value_combination_id => l_adr_value_combination_id
142219 , x_value_segment_code => l_adr_value_segment_code
142220 , p_side => 'NA'
142221 , p_override_seg_flag => 'Y'
142222 );
142223
142224 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
142225
142226 xla_ae_lines_pkg.set_segment(
142227 p_to_segment_code => 'GL_BALANCING'
142228 , p_segment_value => l_segment
142229 , p_from_segment_code => l_adr_value_segment_code
142230 , p_from_combination_id => l_adr_value_combination_id
142231 , p_value_type_code => l_adr_value_type_code
142232 , p_transaction_coa_id => l_adr_transaction_coa_id
142233 , p_accounting_coa_id => l_adr_accounting_coa_id
142234 , p_flexfield_segment_code => l_adr_flexfield_segment_code
142235 , p_flex_value_set_id => l_adr_flex_value_set_id
142236 , p_adr_code => 'AP_WH_RELATED_DIST_BAL_SEG'
142237 , p_adr_type_code => 'S'
142238 , p_component_type => l_component_type
142239 , p_component_code => l_component_code
142240 , p_component_type_code => l_component_type_code
142241 , p_component_appl_id => l_component_appl_id
142242 , p_amb_context_code => l_amb_context_code
142243 , p_entity_code => 'AP_INVOICES'
142244 , p_event_class_code => 'CREDIT MEMOS'
142245 , p_side => 'NA'
142246 );
142247
142248 END IF;
142249
142250 --
142251 --
142252 END IF;
142253
142254 --
142255 -- Update the line information that should be overwritten
142256 --
142257 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
142258 p_header_num => 1);
142259 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
142260
142261 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
142262
142263 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
142264 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
142265 END IF;
142266
142267 --
142268 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
142269 --
142270 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
142271 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
142272 ELSE
142273 ---------------------------------------------------------------------------------------------------
142274 -- 4262811a Switch Sign
142275 ---------------------------------------------------------------------------------------------------
142276 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
142280 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
142277 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
142278 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
142279 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
142281 -- 5132302
142282 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
142283 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
142284
142285 END IF;
142286
142287 -- 4955764
142288 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
142289 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
142290
142291
142292 XLA_AE_LINES_PKG.ValidateCurrentLine;
142293 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
142294
142295 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
142296 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
142297 ,p_balance_type_code => l_balance_type_code);
142298
142299 END IF;
142300
142301 -----------------------------------------------------------------------------------------
142302 -- 4262811 Multiperiod Accounting
142303 -----------------------------------------------------------------------------------------
142304 -- No MPA option is assigned.
142305
142306
142307 END IF;
142308 END IF;
142309 --
142310
142311 --
142312 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
142313 trace
142314 (p_msg => 'END of AcctLineType_235'
142315 ,p_level => C_LEVEL_PROCEDURE
142316 ,p_module => l_log_module);
142317 END IF;
142318 --
142319 EXCEPTION
142320 WHEN xla_exceptions_pkg.application_exception THEN
142321 RAISE;
142322 WHEN OTHERS THEN
142323 xla_exceptions_pkg.raise_message
142324 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_235');
142325 END AcctLineType_235;
142326 --
142327
142328 ---------------------------------------
142329 --
142330 -- PRIVATE FUNCTION
142331 -- AcctLineType_236
142332 --
142333 ---------------------------------------
142334 PROCEDURE AcctLineType_236 (
142335 p_application_id IN NUMBER
142336 ,p_event_id IN NUMBER
142337 ,p_calculate_acctd_flag IN VARCHAR2
142338 ,p_calculate_g_l_flag IN VARCHAR2
142339 ,p_actual_flag IN OUT VARCHAR2
142340 ,p_balance_type_code OUT VARCHAR2
142341 ,p_gain_or_loss_ref OUT VARCHAR2
142342
142343 --Invoice Distribution Description
142344 , p_source_1 IN VARCHAR2
142345 --Automatic Offsets Value
142346 , p_source_10 IN VARCHAR2
142347 , p_source_10_meaning IN VARCHAR2
142348 --Invoice Distribution Ledger Amount
142349 , p_source_16 IN NUMBER
142350 --Invoice Distribution Account
142351 , p_source_25 IN NUMBER
142352 --Invoice Distribution Type
142353 , p_source_28 IN VARCHAR2
142354 , p_source_28_meaning IN VARCHAR2
142355 --Withholding Related Distribution Account
142356 , p_source_39 IN NUMBER
142357 --Accounting Reversal Indicator
142358 , p_source_58 IN VARCHAR2
142359 --Distribution Link Type
142360 , p_source_60 IN VARCHAR2
142361 --Allocation to Main Distribution Identifier
142362 , p_source_62 IN NUMBER
142363 --Invoice Identifier
142364 , p_source_63 IN NUMBER
142365 --Invoice Distribution Identifier
142366 , p_source_69 IN NUMBER
142367 --Payables Encumbrance Upgrade Credit Account
142368 , p_source_70 IN NUMBER
142369 --Payables Encumbrance Upgrade Credit Amount
142370 , p_source_71 IN NUMBER
142371 --Invoice Currency Code
142372 , p_source_72 IN VARCHAR2
142373 --Payables Encumbrance Upgrade Credit Base Amount
142374 , p_source_73 IN NUMBER
142375 --Payables Encumbrance Upgrade Debit Account
142376 , p_source_74 IN NUMBER
142377 --Payables Encumbrance Upgrade Debit Amount
142378 , p_source_75 IN NUMBER
142379 --Payables Encumbrance Upgrade Debit Base Amount
142380 , p_source_76 IN NUMBER
142381 --Payables Encumbrance Upgrade Option
142382 , p_source_77 IN VARCHAR2
142383 --Invoice Distribution Amount
142384 , p_source_78 IN NUMBER
142385 --Deferred Accounting End Date
142386 , p_source_82 IN DATE
142387 --Deferred Accounting Option
142388 , p_source_83 IN VARCHAR2
142389 --Deferred Accounting Start Date
142390 , p_source_84 IN DATE
142391 --Override Accounted Amount Indicator
142392 , p_source_85 IN VARCHAR2
142393 , p_source_85_meaning IN VARCHAR2
142394 --Invoice Supplier Identifier
142395 , p_source_86 IN NUMBER
142396 --Invoice Supplier Site Identifier
142397 , p_source_87 IN NUMBER
142398 --Third Party Type
142399 , p_source_88 IN VARCHAR2
142400 --Parent Reversal Identifier
142401 , p_source_89 IN NUMBER
142402 --Invoice Distribution Tax Line Identifier
142403 , p_source_91 IN NUMBER
142404 --Invoice Distribution Tax Distribution Identifier from Tax
142405 , p_source_92 IN NUMBER
142406 --Invoice Distribution Summary Tax Line Identifier
142407 , p_source_93 IN NUMBER
142408 --Payables Upgrade Credit Encumbrance Type Identifier
142409 , p_source_94 IN NUMBER
142410 --Payables Upgrade Debit Encumbrance Type Identifier
142411 , p_source_95 IN NUMBER
142412 --Business Flow Accounts Payable Application Identifier
142413 , p_source_96 IN NUMBER
142414 --Business Flow Invoice Distribution Type
142415 , p_source_97 IN VARCHAR2
142419 , p_source_99 IN NUMBER
142416 --Business Flow Invoice Entity Code
142417 , p_source_98 IN VARCHAR2
142418 --Business Flow Invoice Distribution Identifier
142420 --Business Flow Invoice Identifier
142421 , p_source_100 IN NUMBER
142422 --Invoice Exchange Date
142423 , p_source_146 IN DATE
142424 --Invoice Exchange Rate
142425 , p_source_147 IN NUMBER
142426 --Invoice Exchange Rate Type
142427 , p_source_148 IN VARCHAR2
142428 )
142429 IS
142430
142431 l_component_type VARCHAR2(80);
142432 l_component_code VARCHAR2(30);
142433 l_component_type_code VARCHAR2(1);
142434 l_component_appl_id INTEGER;
142435 l_amb_context_code VARCHAR2(30);
142436 l_entity_code VARCHAR2(30);
142437 l_event_class_code VARCHAR2(30);
142438 l_ae_header_id NUMBER;
142439 l_event_type_code VARCHAR2(30);
142440 l_line_definition_code VARCHAR2(30);
142441 l_line_definition_owner_code VARCHAR2(1);
142442 --
142443 -- adr variables
142444 l_segment VARCHAR2(30);
142445 l_ccid NUMBER;
142446 l_adr_transaction_coa_id NUMBER;
142447 l_adr_accounting_coa_id NUMBER;
142448 l_adr_flexfield_segment_code VARCHAR2(30);
142449 l_adr_flex_value_set_id NUMBER;
142450 l_adr_value_type_code VARCHAR2(30);
142451 l_adr_value_combination_id NUMBER;
142452 l_adr_value_segment_code VARCHAR2(30);
142453
142454 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
142455 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
142456 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
142457 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
142458
142459 -- 4262811 Variables ------------------------------------------------------------------------------------------
142460 l_entered_amt_idx NUMBER;
142461 l_accted_amt_idx NUMBER;
142462 l_acc_rev_flag VARCHAR2(1);
142463 l_accrual_line_num NUMBER;
142464 l_tmp_amt NUMBER;
142465 l_acc_rev_natural_side_code VARCHAR2(1);
142466
142467 l_num_entries NUMBER;
142468 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
142469 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
142470 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
142471 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
142472 l_recog_line_1 NUMBER;
142473 l_recog_line_2 NUMBER;
142474
142475 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
142476 l_bflow_applied_to_amt NUMBER; -- 5132302
142477 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
142478
142479 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
142480
142481 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
142482 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
142483
142484 ---------------------------------------------------------------------------------------------------------------
142485
142486
142487 --
142488 -- bulk performance
142489 --
142490 l_balance_type_code VARCHAR2(1);
142491 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
142492 l_log_module VARCHAR2(240);
142493
142494 --
142495 -- Upgrade strategy
142496 --
142497 l_actual_upg_option VARCHAR2(1);
142498 l_enc_upg_option VARCHAR2(1);
142499
142500 --
142501 BEGIN
142502 --
142503 IF g_log_enabled THEN
142504 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_236';
142505 END IF;
142506 --
142507 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
142508
142509 trace
142510 (p_msg => 'BEGIN of AcctLineType_236'
142511 ,p_level => C_LEVEL_PROCEDURE
142512 ,p_module => l_log_module);
142513
142514 END IF;
142515 --
142516 l_component_type := 'AMB_JLT';
142517 l_component_code := 'AP_WITHHOLD_TAX_DM';
142518 l_component_type_code := 'S';
142519 l_component_appl_id := 200;
142520 l_amb_context_code := 'DEFAULT';
142521 l_entity_code := 'AP_INVOICES';
142522 l_event_class_code := 'DEBIT MEMOS';
142523 l_event_type_code := 'DEBIT MEMOS_ALL';
142524 l_line_definition_owner_code := 'S';
142525 l_line_definition_code := 'ACCRUAL_DEBIT MEMOS_ALL';
142526 --
142527 l_balance_type_code := 'A';
142528 l_segment := NULL;
142529 l_ccid := NULL;
142530 l_adr_transaction_coa_id := NULL;
142531 l_adr_accounting_coa_id := NULL;
142532 l_adr_flexfield_segment_code := NULL;
142533 l_adr_flex_value_set_id := NULL;
142534 l_adr_value_type_code := NULL;
142535 l_adr_value_combination_id := NULL;
142536 l_adr_value_segment_code := NULL;
142537
142538 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
142539 l_bflow_class_code := ''; -- 4219869 Business Flow
142540 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
142541 l_budgetary_control_flag := 'N';
142542
142543 l_bflow_applied_to_amt_idx := NULL; -- 5132302
142544 l_bflow_applied_to_amt := NULL; -- 5132302
142545 l_entered_amt_idx := NULL; -- 4262811
142546 l_accted_amt_idx := NULL; -- 4262811
142547 l_acc_rev_flag := NULL; -- 4262811
142548 l_accrual_line_num := NULL; -- 4262811
142549 l_tmp_amt := NULL; -- 4262811
142550 --
142551
142555 ') = 'AWT'
142552 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
142553 l_balance_type_code <> 'B' THEN
142554 IF NVL(p_source_28,'
142556 THEN
142557
142558 --
142559 XLA_AE_LINES_PKG.SetNewLine;
142560
142561 p_balance_type_code := l_balance_type_code;
142562 -- set the flag so later we will know whether the gain loss line needs to be created
142563
142564 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
142565 p_actual_flag :='A';
142566 END IF;
142567
142568 --
142569 -- bulk performance
142570 --
142571 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
142572 p_header_num => 0); -- 4262811
142573 --
142574 -- set accounting line options
142575 --
142576 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
142577 p_natural_side_code => 'D'
142578 , p_gain_or_loss_flag => 'N'
142579 , p_gl_transfer_mode_code => 'S'
142580 , p_acct_entry_type_code => 'A'
142581 , p_switch_side_flag => 'Y'
142582 , p_merge_duplicate_code => 'A'
142583 );
142584 --
142585 l_acc_rev_natural_side_code := 'C'; -- 4262811
142586 --
142587 --
142588 -- set accounting line type info
142589 --
142590 xla_ae_lines_pkg.SetAcctLineType
142591 (p_component_type => l_component_type
142592 ,p_event_type_code => l_event_type_code
142593 ,p_line_definition_owner_code => l_line_definition_owner_code
142594 ,p_line_definition_code => l_line_definition_code
142595 ,p_accounting_line_code => l_component_code
142596 ,p_accounting_line_type_code => l_component_type_code
142597 ,p_accounting_line_appl_id => l_component_appl_id
142598 ,p_amb_context_code => l_amb_context_code
142599 ,p_entity_code => l_entity_code
142600 ,p_event_class_code => l_event_class_code);
142601 --
142602 -- set accounting class
142603 --
142604 xla_ae_lines_pkg.SetAcctClass(
142605 p_accounting_class_code => 'AWT'
142606 , p_ae_header_id => l_ae_header_id
142607 );
142608
142609 --
142610 -- set rounding class
142611 --
142612 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
142613 'AWT';
142614
142615 --
142616 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
142617 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
142618 --
142619 -- bulk performance
142620 --
142621 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
142622
142623 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
142624 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
142625
142626 -- 4955764
142627 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
142628 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
142629
142630 -- 4458381 Public Sector Enh
142631
142632 --
142633 -- set accounting attributes for the line type
142634 --
142635 l_entered_amt_idx := 23;
142636 l_accted_amt_idx := 28;
142637 l_bflow_applied_to_amt_idx := NULL; -- 5132302
142638 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
142639 l_rec_acct_attrs.array_char_value(1) := p_source_58;
142640 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
142641 l_rec_acct_attrs.array_num_value(2) :=
142642 xla_ae_sources_pkg.GetSystemSourceNum(
142643 p_source_code => 'XLA_EVENT_APPL_ID'
142644 , p_source_type_code => 'Y'
142645 , p_source_application_id => 602
142646 );
142647 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
142648 l_rec_acct_attrs.array_char_value(3) := p_source_60;
142649 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
142650 l_rec_acct_attrs.array_char_value(4) :=
142651 xla_ae_sources_pkg.GetSystemSourceChar(
142652 p_source_code => 'XLA_ENTITY_CODE'
142653 , p_source_type_code => 'Y'
142654 , p_source_application_id => 602
142655 );
142656 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
142657 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_62);
142658 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
142659 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_63);
142660 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
142661 l_rec_acct_attrs.array_num_value(7) := p_source_96;
142662 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
142663 l_rec_acct_attrs.array_char_value(8) := p_source_97;
142664 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
142665 l_rec_acct_attrs.array_char_value(9) := p_source_98;
142666 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
142667 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_99);
142668 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
142669 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_100);
142670 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
142671 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_69);
142672 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
142673 l_rec_acct_attrs.array_char_value(13) := p_source_60;
142674 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
142675 l_rec_acct_attrs.array_num_value(14) := p_source_70;
142679 l_rec_acct_attrs.array_char_value(16) := p_source_72;
142676 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
142677 l_rec_acct_attrs.array_num_value(15) := p_source_71;
142678 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
142680 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
142681 l_rec_acct_attrs.array_num_value(17) := p_source_73;
142682 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
142683 l_rec_acct_attrs.array_num_value(18) := p_source_74;
142684 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
142685 l_rec_acct_attrs.array_num_value(19) := p_source_75;
142686 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
142687 l_rec_acct_attrs.array_char_value(20) := p_source_72;
142688 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
142689 l_rec_acct_attrs.array_num_value(21) := p_source_76;
142690 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
142691 l_rec_acct_attrs.array_char_value(22) := p_source_77;
142692 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
142693 l_rec_acct_attrs.array_num_value(23) := p_source_78;
142694 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
142695 l_rec_acct_attrs.array_char_value(24) := p_source_72;
142696 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
142697 l_rec_acct_attrs.array_date_value(25) := p_source_146;
142698 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
142699 l_rec_acct_attrs.array_num_value(26) := p_source_147;
142700 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
142701 l_rec_acct_attrs.array_char_value(27) := p_source_148;
142702 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
142703 l_rec_acct_attrs.array_num_value(28) := p_source_16;
142704 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
142705 l_rec_acct_attrs.array_date_value(29) := p_source_82;
142706 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
142707 l_rec_acct_attrs.array_char_value(30) := p_source_83;
142708 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
142709 l_rec_acct_attrs.array_date_value(31) := p_source_84;
142710 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
142711 l_rec_acct_attrs.array_char_value(32) := p_source_85;
142712 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
142713 l_rec_acct_attrs.array_num_value(33) := p_source_86;
142714 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
142715 l_rec_acct_attrs.array_num_value(34) := p_source_87;
142716 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
142717 l_rec_acct_attrs.array_char_value(35) := p_source_88;
142718 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
142719 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_89);
142720 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
142721 l_rec_acct_attrs.array_char_value(37) := p_source_60;
142722 l_rec_acct_attrs.array_acct_attr_code(38) := 'TAX_LINE_REF_ID';
142723 l_rec_acct_attrs.array_num_value(38) := p_source_91;
142724 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_REC_NREC_DIST_REF_ID';
142725 l_rec_acct_attrs.array_num_value(39) := p_source_92;
142726 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_SUMMARY_LINE_REF_ID';
142727 l_rec_acct_attrs.array_num_value(40) := p_source_93;
142728 l_rec_acct_attrs.array_acct_attr_code(41) := 'UPG_CR_ENC_TYPE_ID';
142729 l_rec_acct_attrs.array_num_value(41) := p_source_94;
142730 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_DR_ENC_TYPE_ID';
142731 l_rec_acct_attrs.array_num_value(42) := p_source_95;
142732
142733 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
142734 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
142735
142736 ---------------------------------------------------------------------------------------------------------------
142737 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
142738 ---------------------------------------------------------------------------------------------------------------
142739 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
142740
142741 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
142742 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
142743
142744 IF xla_accounting_cache_pkg.GetValueChar
142745 (p_source_code => 'LEDGER_CATEGORY_CODE'
142746 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
142747 AND l_bflow_method_code = 'PRIOR_ENTRY'
142748 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
142749 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
142750 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
142751 )
142752 THEN
142753 xla_ae_lines_pkg.BflowUpgEntry
142754 (p_business_method_code => l_bflow_method_code
142755 ,p_business_class_code => l_bflow_class_code
142756 ,p_balance_type => l_balance_type_code);
142757 ELSE
142758 NULL;
142759 -- No business flow processing for business flow method of NONE.
142760 END IF;
142761
142762 --
142763 -- call analytical criteria
142764 --
142765
142766 --
142767 -- call description
142768 --
142769
142770 xla_ae_lines_pkg.SetLineDescription(
142771 p_ae_header_id => l_ae_header_id
142772 ,p_description => Description_2 (
142773 p_application_id => p_application_id
142774 , p_ae_header_id => l_ae_header_id
142775 , p_source_1 => p_source_1
142776 )
142777 );
142778
142779
142780 --
142781 -- call ADRs
142785 (NVL(l_actual_upg_option, 'N') = 'O') OR
142782 -- Bug 4922099
142783 --
142784 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
142786 (NVL(l_enc_upg_option, 'N') = 'O')
142787 )
142788 THEN
142789 NULL;
142790 --
142791 --
142792
142793 l_ccid := AcctDerRule_48(
142794 p_application_id => p_application_id
142795 , p_ae_header_id => l_ae_header_id
142796 , p_source_10 => p_source_10
142797 , p_source_10_meaning => p_source_10_meaning
142798 , p_source_25 => p_source_25
142799 , p_source_39 => p_source_39
142800 , x_transaction_coa_id => l_adr_transaction_coa_id
142801 , x_accounting_coa_id => l_adr_accounting_coa_id
142802 , x_value_type_code => l_adr_value_type_code
142803 , p_side => 'NA'
142804 );
142805
142806 xla_ae_lines_pkg.set_ccid(
142807 p_code_combination_id => l_ccid
142808 , p_value_type_code => l_adr_value_type_code
142809 , p_transaction_coa_id => l_adr_transaction_coa_id
142810 , p_accounting_coa_id => l_adr_accounting_coa_id
142811 , p_adr_code => 'AP_WH_DIST_ACCT'
142812 , p_adr_type_code => 'S'
142813 , p_component_type => l_component_type
142814 , p_component_code => l_component_code
142815 , p_component_type_code => l_component_type_code
142816 , p_component_appl_id => l_component_appl_id
142817 , p_amb_context_code => l_amb_context_code
142818 , p_side => 'NA'
142819 );
142820
142821
142822 l_segment := AcctDerRule_14(
142823 p_application_id => p_application_id
142824 , p_ae_header_id => l_ae_header_id
142825 , p_source_10 => p_source_10
142826 , p_source_10_meaning => p_source_10_meaning
142827 , p_source_25 => p_source_25
142828 , x_transaction_coa_id => l_adr_transaction_coa_id
142829 , x_accounting_coa_id => l_adr_accounting_coa_id
142830 , x_flexfield_segment_code => l_adr_flexfield_segment_code
142831 , x_flex_value_set_id => l_adr_flex_value_set_id
142832 , x_value_type_code => l_adr_value_type_code
142833 , x_value_combination_id => l_adr_value_combination_id
142834 , x_value_segment_code => l_adr_value_segment_code
142835 , p_side => 'NA'
142836 , p_override_seg_flag => 'Y'
142837 );
142838
142839 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
142840
142841 xla_ae_lines_pkg.set_segment(
142842 p_to_segment_code => 'GL_ACCOUNT'
142843 , p_segment_value => l_segment
142844 , p_from_segment_code => l_adr_value_segment_code
142845 , p_from_combination_id => l_adr_value_combination_id
142846 , p_value_type_code => l_adr_value_type_code
142847 , p_transaction_coa_id => l_adr_transaction_coa_id
142848 , p_accounting_coa_id => l_adr_accounting_coa_id
142849 , p_flexfield_segment_code => l_adr_flexfield_segment_code
142850 , p_flex_value_set_id => l_adr_flex_value_set_id
142851 , p_adr_code => 'AP_INVOICE_DIST_NAT_ACCT_SEG'
142852 , p_adr_type_code => 'S'
142853 , p_component_type => l_component_type
142854 , p_component_code => l_component_code
142855 , p_component_type_code => l_component_type_code
142856 , p_component_appl_id => l_component_appl_id
142857 , p_amb_context_code => l_amb_context_code
142858 , p_entity_code => 'AP_INVOICES'
142859 , p_event_class_code => 'DEBIT MEMOS'
142860 , p_side => 'NA'
142861 );
142862
142863 END IF;
142864
142865 l_segment := AcctDerRule_26(
142866 p_application_id => p_application_id
142867 , p_ae_header_id => l_ae_header_id
142868 , p_source_10 => p_source_10
142869 , p_source_10_meaning => p_source_10_meaning
142870 , p_source_39 => p_source_39
142871 , x_transaction_coa_id => l_adr_transaction_coa_id
142872 , x_accounting_coa_id => l_adr_accounting_coa_id
142873 , x_flexfield_segment_code => l_adr_flexfield_segment_code
142874 , x_flex_value_set_id => l_adr_flex_value_set_id
142875 , x_value_type_code => l_adr_value_type_code
142876 , x_value_combination_id => l_adr_value_combination_id
142877 , x_value_segment_code => l_adr_value_segment_code
142878 , p_side => 'NA'
142879 , p_override_seg_flag => 'Y'
142880 );
142881
142882 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
142883
142884 xla_ae_lines_pkg.set_segment(
142885 p_to_segment_code => 'GL_BALANCING'
142886 , p_segment_value => l_segment
142887 , p_from_segment_code => l_adr_value_segment_code
142888 , p_from_combination_id => l_adr_value_combination_id
142889 , p_value_type_code => l_adr_value_type_code
142890 , p_transaction_coa_id => l_adr_transaction_coa_id
142891 , p_accounting_coa_id => l_adr_accounting_coa_id
142892 , p_flexfield_segment_code => l_adr_flexfield_segment_code
142893 , p_flex_value_set_id => l_adr_flex_value_set_id
142894 , p_adr_code => 'AP_WH_RELATED_DIST_BAL_SEG'
142895 , p_adr_type_code => 'S'
142896 , p_component_type => l_component_type
142897 , p_component_code => l_component_code
142898 , p_component_type_code => l_component_type_code
142899 , p_component_appl_id => l_component_appl_id
142900 , p_amb_context_code => l_amb_context_code
142904 );
142901 , p_entity_code => 'AP_INVOICES'
142902 , p_event_class_code => 'DEBIT MEMOS'
142903 , p_side => 'NA'
142905
142906 END IF;
142907
142908 --
142909 --
142910 END IF;
142911 --
142912 -- Bug 4922099
142913 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
142914 (NVL(l_enc_upg_option, 'N') = 'O')
142915 ) AND
142916 (l_bflow_method_code = 'PRIOR_ENTRY')
142917 )
142918 THEN
142919 IF
142920 --
142921 1 = 2
142922 --
142923 THEN
142924 xla_accounting_err_pkg.build_message
142925 (p_appli_s_name => 'XLA'
142926 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
142927 ,p_token_1 => 'LINE_NUMBER'
142928 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
142929 ,p_token_2 => 'LINE_TYPE_NAME'
142930 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
142931 l_component_type
142932 ,l_component_code
142933 ,l_component_type_code
142934 ,l_component_appl_id
142935 ,l_amb_context_code
142936 ,l_entity_code
142937 ,l_event_class_code
142938 )
142939 ,p_token_3 => 'OWNER'
142940 ,p_value_3 => xla_lookups_pkg.get_meaning(
142941 p_lookup_type => 'XLA_OWNER_TYPE'
142942 ,p_lookup_code => l_component_type_code
142943 )
142944 ,p_token_4 => 'PRODUCT_NAME'
142945 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
142946 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
142947 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
142948 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
142949 ,p_ae_header_id => NULL
142950 );
142951
142952 IF (C_LEVEL_ERROR>= g_log_level) THEN
142953 trace
142954 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
142955 ,p_level => C_LEVEL_ERROR
142956 ,p_module => l_log_module);
142957 END IF;
142958 END IF;
142959 END IF;
142960 --
142961 --
142962 ------------------------------------------------------------------------------------------------
142963 -- 4219869 Business Flow
142964 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
142965 -- Prior Entry. Currently, the following code is always generated.
142966 ------------------------------------------------------------------------------------------------
142967 XLA_AE_LINES_PKG.ValidateCurrentLine;
142968
142969 ------------------------------------------------------------------------------------
142970 -- 4219869 Business Flow
142971 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
142972 ------------------------------------------------------------------------------------
142973 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
142974
142975 ----------------------------------------------------------------------------------
142976 -- 4219869 Business Flow
142977 -- Update journal entry status -- Need to generate this within IF <condition>
142978 ----------------------------------------------------------------------------------
142979 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
142980 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
142981 ,p_balance_type_code => l_balance_type_code
142982 );
142983
142984 -------------------------------------------------------------------------------------------
142985 -- 4262811 - Generate the Accrual Reversal lines
142986 -------------------------------------------------------------------------------------------
142987 BEGIN
142988 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
142989 (g_array_event(p_event_id).array_value_num('header_index'));
142990 IF l_acc_rev_flag IS NULL THEN
142991 l_acc_rev_flag := 'N';
142992 END IF;
142993 EXCEPTION
142994 WHEN OTHERS THEN
142995 l_acc_rev_flag := 'N';
142996 END;
142997 --
142998 IF (l_acc_rev_flag = 'Y') THEN
142999
143000 -- 4645092 ------------------------------------------------------------------------------
143001 -- To allow MPA report to determine if it should generate report process
143002 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
143003 ------------------------------------------------------------------------------------------
143004
143005 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
143006 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
143010 --
143007 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
143008 -- call ADRs
143009 -- Bug 4922099
143011 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
143012 (NVL(l_actual_upg_option, 'N') = 'O') OR
143013 (NVL(l_enc_upg_option, 'N') = 'O')
143014 )
143015 THEN
143016 NULL;
143017 --
143018 --
143019
143020 l_ccid := AcctDerRule_48(
143021 p_application_id => p_application_id
143022 , p_ae_header_id => l_ae_header_id
143023 , p_source_10 => p_source_10
143024 , p_source_10_meaning => p_source_10_meaning
143025 , p_source_25 => p_source_25
143026 , p_source_39 => p_source_39
143027 , x_transaction_coa_id => l_adr_transaction_coa_id
143028 , x_accounting_coa_id => l_adr_accounting_coa_id
143029 , x_value_type_code => l_adr_value_type_code
143030 , p_side => 'NA'
143031 );
143032
143033 xla_ae_lines_pkg.set_ccid(
143034 p_code_combination_id => l_ccid
143035 , p_value_type_code => l_adr_value_type_code
143036 , p_transaction_coa_id => l_adr_transaction_coa_id
143037 , p_accounting_coa_id => l_adr_accounting_coa_id
143038 , p_adr_code => 'AP_WH_DIST_ACCT'
143039 , p_adr_type_code => 'S'
143040 , p_component_type => l_component_type
143041 , p_component_code => l_component_code
143042 , p_component_type_code => l_component_type_code
143043 , p_component_appl_id => l_component_appl_id
143044 , p_amb_context_code => l_amb_context_code
143045 , p_side => 'NA'
143046 );
143047
143048
143049 l_segment := AcctDerRule_14(
143050 p_application_id => p_application_id
143051 , p_ae_header_id => l_ae_header_id
143052 , p_source_10 => p_source_10
143053 , p_source_10_meaning => p_source_10_meaning
143054 , p_source_25 => p_source_25
143055 , x_transaction_coa_id => l_adr_transaction_coa_id
143056 , x_accounting_coa_id => l_adr_accounting_coa_id
143057 , x_flexfield_segment_code => l_adr_flexfield_segment_code
143058 , x_flex_value_set_id => l_adr_flex_value_set_id
143059 , x_value_type_code => l_adr_value_type_code
143060 , x_value_combination_id => l_adr_value_combination_id
143061 , x_value_segment_code => l_adr_value_segment_code
143062 , p_side => 'NA'
143063 , p_override_seg_flag => 'Y'
143064 );
143065
143066 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
143067
143068 xla_ae_lines_pkg.set_segment(
143069 p_to_segment_code => 'GL_ACCOUNT'
143070 , p_segment_value => l_segment
143071 , p_from_segment_code => l_adr_value_segment_code
143072 , p_from_combination_id => l_adr_value_combination_id
143073 , p_value_type_code => l_adr_value_type_code
143074 , p_transaction_coa_id => l_adr_transaction_coa_id
143075 , p_accounting_coa_id => l_adr_accounting_coa_id
143076 , p_flexfield_segment_code => l_adr_flexfield_segment_code
143077 , p_flex_value_set_id => l_adr_flex_value_set_id
143078 , p_adr_code => 'AP_INVOICE_DIST_NAT_ACCT_SEG'
143079 , p_adr_type_code => 'S'
143080 , p_component_type => l_component_type
143081 , p_component_code => l_component_code
143082 , p_component_type_code => l_component_type_code
143083 , p_component_appl_id => l_component_appl_id
143084 , p_amb_context_code => l_amb_context_code
143085 , p_entity_code => 'AP_INVOICES'
143086 , p_event_class_code => 'DEBIT MEMOS'
143087 , p_side => 'NA'
143088 );
143089
143090 END IF;
143091
143092 l_segment := AcctDerRule_26(
143093 p_application_id => p_application_id
143094 , p_ae_header_id => l_ae_header_id
143095 , p_source_10 => p_source_10
143096 , p_source_10_meaning => p_source_10_meaning
143097 , p_source_39 => p_source_39
143098 , x_transaction_coa_id => l_adr_transaction_coa_id
143099 , x_accounting_coa_id => l_adr_accounting_coa_id
143100 , x_flexfield_segment_code => l_adr_flexfield_segment_code
143101 , x_flex_value_set_id => l_adr_flex_value_set_id
143102 , x_value_type_code => l_adr_value_type_code
143103 , x_value_combination_id => l_adr_value_combination_id
143104 , x_value_segment_code => l_adr_value_segment_code
143105 , p_side => 'NA'
143106 , p_override_seg_flag => 'Y'
143107 );
143108
143109 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
143110
143111 xla_ae_lines_pkg.set_segment(
143112 p_to_segment_code => 'GL_BALANCING'
143113 , p_segment_value => l_segment
143114 , p_from_segment_code => l_adr_value_segment_code
143115 , p_from_combination_id => l_adr_value_combination_id
143116 , p_value_type_code => l_adr_value_type_code
143117 , p_transaction_coa_id => l_adr_transaction_coa_id
143118 , p_accounting_coa_id => l_adr_accounting_coa_id
143119 , p_flexfield_segment_code => l_adr_flexfield_segment_code
143120 , p_flex_value_set_id => l_adr_flex_value_set_id
143121 , p_adr_code => 'AP_WH_RELATED_DIST_BAL_SEG'
143122 , p_adr_type_code => 'S'
143123 , p_component_type => l_component_type
143124 , p_component_code => l_component_code
143125 , p_component_type_code => l_component_type_code
143129 , p_event_class_code => 'DEBIT MEMOS'
143126 , p_component_appl_id => l_component_appl_id
143127 , p_amb_context_code => l_amb_context_code
143128 , p_entity_code => 'AP_INVOICES'
143130 , p_side => 'NA'
143131 );
143132
143133 END IF;
143134
143135 --
143136 --
143137 END IF;
143138
143139 --
143140 -- Update the line information that should be overwritten
143141 --
143142 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
143143 p_header_num => 1);
143144 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
143145
143146 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
143147
143148 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
143149 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
143150 END IF;
143151
143152 --
143153 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
143154 --
143155 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
143156 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
143157 ELSE
143158 ---------------------------------------------------------------------------------------------------
143159 -- 4262811a Switch Sign
143160 ---------------------------------------------------------------------------------------------------
143161 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
143162 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
143163 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
143164 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
143165 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
143166 -- 5132302
143167 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
143168 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
143169
143170 END IF;
143171
143172 -- 4955764
143173 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
143174 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
143175
143176
143177 XLA_AE_LINES_PKG.ValidateCurrentLine;
143178 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
143179
143180 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
143181 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
143182 ,p_balance_type_code => l_balance_type_code);
143183
143184 END IF;
143185
143186 -----------------------------------------------------------------------------------------
143187 -- 4262811 Multiperiod Accounting
143188 -----------------------------------------------------------------------------------------
143189 -- No MPA option is assigned.
143190
143191
143192 END IF;
143193 END IF;
143194 --
143195
143196 --
143197 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
143198 trace
143199 (p_msg => 'END of AcctLineType_236'
143200 ,p_level => C_LEVEL_PROCEDURE
143201 ,p_module => l_log_module);
143202 END IF;
143203 --
143204 EXCEPTION
143205 WHEN xla_exceptions_pkg.application_exception THEN
143206 RAISE;
143207 WHEN OTHERS THEN
143208 xla_exceptions_pkg.raise_message
143209 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_236');
143210 END AcctLineType_236;
143211 --
143212
143213 ---------------------------------------
143214 --
143215 -- PRIVATE FUNCTION
143216 -- AcctLineType_237
143217 --
143218 ---------------------------------------
143219 PROCEDURE AcctLineType_237 (
143220 p_application_id IN NUMBER
143221 ,p_event_id IN NUMBER
143222 ,p_calculate_acctd_flag IN VARCHAR2
143223 ,p_calculate_g_l_flag IN VARCHAR2
143224 ,p_actual_flag IN OUT VARCHAR2
143225 ,p_balance_type_code OUT VARCHAR2
143226 ,p_gain_or_loss_ref OUT VARCHAR2
143227
143228 --Invoice Distribution Description
143229 , p_source_1 IN VARCHAR2
143230 --Automatic Offsets Value
143231 , p_source_10 IN VARCHAR2
143232 , p_source_10_meaning IN VARCHAR2
143233 --Invoice Distribution Ledger Amount
143234 , p_source_16 IN NUMBER
143235 --Invoice Distribution Account
143236 , p_source_25 IN NUMBER
143237 --Invoice Distribution Type
143238 , p_source_28 IN VARCHAR2
143239 , p_source_28_meaning IN VARCHAR2
143240 --Withholding Related Distribution Account
143241 , p_source_39 IN NUMBER
143242 --Accounting Reversal Indicator
143243 , p_source_58 IN VARCHAR2
143244 --Distribution Link Type
143245 , p_source_60 IN VARCHAR2
143246 --Allocation to Main Distribution Identifier
143247 , p_source_62 IN NUMBER
143248 --Invoice Identifier
143249 , p_source_63 IN NUMBER
143250 --Invoice Distribution Identifier
143251 , p_source_69 IN NUMBER
143252 --Payables Encumbrance Upgrade Credit Account
143253 , p_source_70 IN NUMBER
143254 --Payables Encumbrance Upgrade Credit Amount
143255 , p_source_71 IN NUMBER
143256 --Invoice Currency Code
143257 , p_source_72 IN VARCHAR2
143258 --Payables Encumbrance Upgrade Credit Base Amount
143259 , p_source_73 IN NUMBER
143263 , p_source_75 IN NUMBER
143260 --Payables Encumbrance Upgrade Debit Account
143261 , p_source_74 IN NUMBER
143262 --Payables Encumbrance Upgrade Debit Amount
143264 --Payables Encumbrance Upgrade Debit Base Amount
143265 , p_source_76 IN NUMBER
143266 --Payables Encumbrance Upgrade Option
143267 , p_source_77 IN VARCHAR2
143268 --Invoice Distribution Amount
143269 , p_source_78 IN NUMBER
143270 --Deferred Accounting End Date
143271 , p_source_82 IN DATE
143272 --Deferred Accounting Option
143273 , p_source_83 IN VARCHAR2
143274 --Deferred Accounting Start Date
143275 , p_source_84 IN DATE
143276 --Override Accounted Amount Indicator
143277 , p_source_85 IN VARCHAR2
143278 , p_source_85_meaning IN VARCHAR2
143279 --Invoice Supplier Identifier
143280 , p_source_86 IN NUMBER
143281 --Invoice Supplier Site Identifier
143282 , p_source_87 IN NUMBER
143283 --Third Party Type
143284 , p_source_88 IN VARCHAR2
143285 --Parent Reversal Identifier
143286 , p_source_89 IN NUMBER
143287 --Invoice Distribution Statistical Amount
143288 , p_source_90 IN NUMBER
143289 --Invoice Distribution Tax Line Identifier
143290 , p_source_91 IN NUMBER
143291 --Invoice Distribution Tax Distribution Identifier from Tax
143292 , p_source_92 IN NUMBER
143293 --Invoice Distribution Summary Tax Line Identifier
143294 , p_source_93 IN NUMBER
143295 --Payables Upgrade Credit Encumbrance Type Identifier
143296 , p_source_94 IN NUMBER
143297 --Payables Upgrade Debit Encumbrance Type Identifier
143298 , p_source_95 IN NUMBER
143299 --Business Flow Accounts Payable Application Identifier
143300 , p_source_96 IN NUMBER
143301 --Business Flow Invoice Distribution Type
143302 , p_source_97 IN VARCHAR2
143303 --Business Flow Invoice Entity Code
143304 , p_source_98 IN VARCHAR2
143305 --Business Flow Invoice Distribution Identifier
143306 , p_source_99 IN NUMBER
143307 --Business Flow Invoice Identifier
143308 , p_source_100 IN NUMBER
143309 --Invoice Exchange Date
143310 , p_source_146 IN DATE
143311 --Invoice Exchange Rate
143312 , p_source_147 IN NUMBER
143313 --Invoice Exchange Rate Type
143314 , p_source_148 IN VARCHAR2
143315 )
143316 IS
143317
143318 l_component_type VARCHAR2(80);
143319 l_component_code VARCHAR2(30);
143320 l_component_type_code VARCHAR2(1);
143321 l_component_appl_id INTEGER;
143322 l_amb_context_code VARCHAR2(30);
143323 l_entity_code VARCHAR2(30);
143324 l_event_class_code VARCHAR2(30);
143325 l_ae_header_id NUMBER;
143326 l_event_type_code VARCHAR2(30);
143327 l_line_definition_code VARCHAR2(30);
143328 l_line_definition_owner_code VARCHAR2(1);
143329 --
143330 -- adr variables
143331 l_segment VARCHAR2(30);
143332 l_ccid NUMBER;
143333 l_adr_transaction_coa_id NUMBER;
143334 l_adr_accounting_coa_id NUMBER;
143335 l_adr_flexfield_segment_code VARCHAR2(30);
143336 l_adr_flex_value_set_id NUMBER;
143337 l_adr_value_type_code VARCHAR2(30);
143338 l_adr_value_combination_id NUMBER;
143339 l_adr_value_segment_code VARCHAR2(30);
143340
143341 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
143342 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
143343 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
143344 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
143345
143346 -- 4262811 Variables ------------------------------------------------------------------------------------------
143347 l_entered_amt_idx NUMBER;
143348 l_accted_amt_idx NUMBER;
143349 l_acc_rev_flag VARCHAR2(1);
143350 l_accrual_line_num NUMBER;
143351 l_tmp_amt NUMBER;
143352 l_acc_rev_natural_side_code VARCHAR2(1);
143353
143354 l_num_entries NUMBER;
143355 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
143356 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
143357 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
143358 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
143359 l_recog_line_1 NUMBER;
143360 l_recog_line_2 NUMBER;
143361
143362 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
143363 l_bflow_applied_to_amt NUMBER; -- 5132302
143364 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
143365
143366 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
143367
143368 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
143369 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
143370
143371 ---------------------------------------------------------------------------------------------------------------
143372
143373
143374 --
143375 -- bulk performance
143376 --
143377 l_balance_type_code VARCHAR2(1);
143378 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
143379 l_log_module VARCHAR2(240);
143380
143381 --
143382 -- Upgrade strategy
143383 --
143384 l_actual_upg_option VARCHAR2(1);
143385 l_enc_upg_option VARCHAR2(1);
143386
143387 --
143388 BEGIN
143389 --
143390 IF g_log_enabled THEN
143391 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_237';
143392 END IF;
143393 --
143394 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
143395
143396 trace
143400
143397 (p_msg => 'BEGIN of AcctLineType_237'
143398 ,p_level => C_LEVEL_PROCEDURE
143399 ,p_module => l_log_module);
143401 END IF;
143402 --
143403 l_component_type := 'AMB_JLT';
143404 l_component_code := 'AP_WITHHOLD_TAX_INV';
143405 l_component_type_code := 'S';
143406 l_component_appl_id := 200;
143407 l_amb_context_code := 'DEFAULT';
143408 l_entity_code := 'AP_INVOICES';
143409 l_event_class_code := 'INVOICES';
143410 l_event_type_code := 'INVOICES_ALL';
143411 l_line_definition_owner_code := 'S';
143412 l_line_definition_code := 'ACCRUAL_INVOICES_ALL';
143413 --
143414 l_balance_type_code := 'A';
143415 l_segment := NULL;
143416 l_ccid := NULL;
143417 l_adr_transaction_coa_id := NULL;
143418 l_adr_accounting_coa_id := NULL;
143419 l_adr_flexfield_segment_code := NULL;
143420 l_adr_flex_value_set_id := NULL;
143421 l_adr_value_type_code := NULL;
143422 l_adr_value_combination_id := NULL;
143423 l_adr_value_segment_code := NULL;
143424
143425 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
143426 l_bflow_class_code := ''; -- 4219869 Business Flow
143427 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
143428 l_budgetary_control_flag := 'N';
143429
143430 l_bflow_applied_to_amt_idx := NULL; -- 5132302
143431 l_bflow_applied_to_amt := NULL; -- 5132302
143432 l_entered_amt_idx := NULL; -- 4262811
143433 l_accted_amt_idx := NULL; -- 4262811
143434 l_acc_rev_flag := NULL; -- 4262811
143435 l_accrual_line_num := NULL; -- 4262811
143436 l_tmp_amt := NULL; -- 4262811
143437 --
143438
143439 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
143440 l_balance_type_code <> 'B' THEN
143441 IF NVL(p_source_28,'
143442 ') = 'AWT'
143443 THEN
143444
143445 --
143446 XLA_AE_LINES_PKG.SetNewLine;
143447
143448 p_balance_type_code := l_balance_type_code;
143449 -- set the flag so later we will know whether the gain loss line needs to be created
143450
143451 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
143452 p_actual_flag :='A';
143453 END IF;
143454
143455 --
143456 -- bulk performance
143457 --
143458 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
143459 p_header_num => 0); -- 4262811
143460 --
143461 -- set accounting line options
143462 --
143463 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
143464 p_natural_side_code => 'D'
143465 , p_gain_or_loss_flag => 'N'
143466 , p_gl_transfer_mode_code => 'S'
143467 , p_acct_entry_type_code => 'A'
143468 , p_switch_side_flag => 'Y'
143469 , p_merge_duplicate_code => 'A'
143470 );
143471 --
143472 l_acc_rev_natural_side_code := 'C'; -- 4262811
143473 --
143474 --
143475 -- set accounting line type info
143476 --
143477 xla_ae_lines_pkg.SetAcctLineType
143478 (p_component_type => l_component_type
143479 ,p_event_type_code => l_event_type_code
143480 ,p_line_definition_owner_code => l_line_definition_owner_code
143481 ,p_line_definition_code => l_line_definition_code
143482 ,p_accounting_line_code => l_component_code
143483 ,p_accounting_line_type_code => l_component_type_code
143484 ,p_accounting_line_appl_id => l_component_appl_id
143485 ,p_amb_context_code => l_amb_context_code
143486 ,p_entity_code => l_entity_code
143487 ,p_event_class_code => l_event_class_code);
143488 --
143489 -- set accounting class
143490 --
143491 xla_ae_lines_pkg.SetAcctClass(
143492 p_accounting_class_code => 'AWT'
143493 , p_ae_header_id => l_ae_header_id
143494 );
143495
143496 --
143497 -- set rounding class
143498 --
143499 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
143500 'AWT';
143501
143502 --
143503 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
143504 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
143505 --
143506 -- bulk performance
143507 --
143508 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
143509
143510 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
143511 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
143512
143513 -- 4955764
143514 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
143515 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
143516
143517 -- 4458381 Public Sector Enh
143518
143519 --
143520 -- set accounting attributes for the line type
143521 --
143522 l_entered_amt_idx := 24;
143523 l_accted_amt_idx := 29;
143524 l_bflow_applied_to_amt_idx := 7; -- 5132302
143525 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
143526 l_rec_acct_attrs.array_char_value(1) := p_source_58;
143527 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
143528 l_rec_acct_attrs.array_num_value(2) :=
143529 xla_ae_sources_pkg.GetSystemSourceNum(
143530 p_source_code => 'XLA_EVENT_APPL_ID'
143531 , p_source_type_code => 'Y'
143532 , p_source_application_id => 602
143533 );
143537 l_rec_acct_attrs.array_char_value(4) :=
143534 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
143535 l_rec_acct_attrs.array_char_value(3) := p_source_60;
143536 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
143538 xla_ae_sources_pkg.GetSystemSourceChar(
143539 p_source_code => 'XLA_ENTITY_CODE'
143540 , p_source_type_code => 'Y'
143541 , p_source_application_id => 602
143542 );
143543 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
143544 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_62);
143545 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
143546 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_63);
143547 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
143548 l_rec_acct_attrs.array_num_value(7) := p_source_78;
143549 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
143550 l_rec_acct_attrs.array_num_value(8) := p_source_96;
143551 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
143552 l_rec_acct_attrs.array_char_value(9) := p_source_97;
143553 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
143554 l_rec_acct_attrs.array_char_value(10) := p_source_98;
143555 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
143556 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_99);
143557 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
143558 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_100);
143559 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
143560 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_69);
143561 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
143562 l_rec_acct_attrs.array_char_value(14) := p_source_60;
143563 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
143564 l_rec_acct_attrs.array_num_value(15) := p_source_70;
143565 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
143566 l_rec_acct_attrs.array_num_value(16) := p_source_71;
143567 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
143568 l_rec_acct_attrs.array_char_value(17) := p_source_72;
143569 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
143570 l_rec_acct_attrs.array_num_value(18) := p_source_73;
143571 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
143572 l_rec_acct_attrs.array_num_value(19) := p_source_74;
143573 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
143574 l_rec_acct_attrs.array_num_value(20) := p_source_75;
143575 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
143576 l_rec_acct_attrs.array_char_value(21) := p_source_72;
143577 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
143578 l_rec_acct_attrs.array_num_value(22) := p_source_76;
143579 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
143580 l_rec_acct_attrs.array_char_value(23) := p_source_77;
143581 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_AMOUNT';
143582 l_rec_acct_attrs.array_num_value(24) := p_source_78;
143583 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_CODE';
143584 l_rec_acct_attrs.array_char_value(25) := p_source_72;
143585 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_DATE';
143586 l_rec_acct_attrs.array_date_value(26) := p_source_146;
143587 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE';
143588 l_rec_acct_attrs.array_num_value(27) := p_source_147;
143589 l_rec_acct_attrs.array_acct_attr_code(28) := 'EXCHANGE_RATE_TYPE';
143590 l_rec_acct_attrs.array_char_value(28) := p_source_148;
143591 l_rec_acct_attrs.array_acct_attr_code(29) := 'LEDGER_AMOUNT';
143592 l_rec_acct_attrs.array_num_value(29) := p_source_16;
143593 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_END_DATE';
143594 l_rec_acct_attrs.array_date_value(30) := p_source_82;
143595 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_OPTION';
143596 l_rec_acct_attrs.array_char_value(31) := p_source_83;
143597 l_rec_acct_attrs.array_acct_attr_code(32) := 'MULTIPERIOD_START_DATE';
143598 l_rec_acct_attrs.array_date_value(32) := p_source_84;
143599 l_rec_acct_attrs.array_acct_attr_code(33) := 'OVERRIDE_ACCTD_AMT_FLAG';
143600 l_rec_acct_attrs.array_char_value(33) := p_source_85;
143601 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_ID';
143602 l_rec_acct_attrs.array_num_value(34) := p_source_86;
143603 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_SITE_ID';
143604 l_rec_acct_attrs.array_num_value(35) := p_source_87;
143605 l_rec_acct_attrs.array_acct_attr_code(36) := 'PARTY_TYPE';
143606 l_rec_acct_attrs.array_char_value(36) := p_source_88;
143607 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_ID1';
143608 l_rec_acct_attrs.array_num_value(37) := to_char(p_source_89);
143609 l_rec_acct_attrs.array_acct_attr_code(38) := 'REVERSED_DISTRIBUTION_TYPE';
143610 l_rec_acct_attrs.array_char_value(38) := p_source_60;
143611 l_rec_acct_attrs.array_acct_attr_code(39) := 'STATISTICAL_AMOUNT';
143612 l_rec_acct_attrs.array_num_value(39) := p_source_90;
143613 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_LINE_REF_ID';
143614 l_rec_acct_attrs.array_num_value(40) := p_source_91;
143615 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_REC_NREC_DIST_REF_ID';
143616 l_rec_acct_attrs.array_num_value(41) := p_source_92;
143617 l_rec_acct_attrs.array_acct_attr_code(42) := 'TAX_SUMMARY_LINE_REF_ID';
143618 l_rec_acct_attrs.array_num_value(42) := p_source_93;
143619 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_CR_ENC_TYPE_ID';
143620 l_rec_acct_attrs.array_num_value(43) := p_source_94;
143621 l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
143622 l_rec_acct_attrs.array_num_value(44) := p_source_95;
143623
143624 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
143625 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
143626
143630 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
143627 ---------------------------------------------------------------------------------------------------------------
143628 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
143629 ---------------------------------------------------------------------------------------------------------------
143631
143632 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
143633 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
143634
143635 IF xla_accounting_cache_pkg.GetValueChar
143636 (p_source_code => 'LEDGER_CATEGORY_CODE'
143637 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
143638 AND l_bflow_method_code = 'PRIOR_ENTRY'
143639 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
143640 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
143641 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
143642 )
143643 THEN
143644 xla_ae_lines_pkg.BflowUpgEntry
143645 (p_business_method_code => l_bflow_method_code
143646 ,p_business_class_code => l_bflow_class_code
143647 ,p_balance_type => l_balance_type_code);
143648 ELSE
143649 NULL;
143650 -- No business flow processing for business flow method of NONE.
143651 END IF;
143652
143653 --
143654 -- call analytical criteria
143655 --
143656
143657 --
143658 -- call description
143659 --
143660
143661 xla_ae_lines_pkg.SetLineDescription(
143662 p_ae_header_id => l_ae_header_id
143663 ,p_description => Description_2 (
143664 p_application_id => p_application_id
143665 , p_ae_header_id => l_ae_header_id
143666 , p_source_1 => p_source_1
143667 )
143668 );
143669
143670
143671 --
143672 -- call ADRs
143673 -- Bug 4922099
143674 --
143675 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
143676 (NVL(l_actual_upg_option, 'N') = 'O') OR
143677 (NVL(l_enc_upg_option, 'N') = 'O')
143678 )
143679 THEN
143680 NULL;
143681 --
143682 --
143683
143684 l_ccid := AcctDerRule_48(
143685 p_application_id => p_application_id
143686 , p_ae_header_id => l_ae_header_id
143687 , p_source_10 => p_source_10
143688 , p_source_10_meaning => p_source_10_meaning
143689 , p_source_25 => p_source_25
143690 , p_source_39 => p_source_39
143691 , x_transaction_coa_id => l_adr_transaction_coa_id
143692 , x_accounting_coa_id => l_adr_accounting_coa_id
143693 , x_value_type_code => l_adr_value_type_code
143694 , p_side => 'NA'
143695 );
143696
143697 xla_ae_lines_pkg.set_ccid(
143698 p_code_combination_id => l_ccid
143699 , p_value_type_code => l_adr_value_type_code
143700 , p_transaction_coa_id => l_adr_transaction_coa_id
143701 , p_accounting_coa_id => l_adr_accounting_coa_id
143702 , p_adr_code => 'AP_WH_DIST_ACCT'
143703 , p_adr_type_code => 'S'
143704 , p_component_type => l_component_type
143705 , p_component_code => l_component_code
143706 , p_component_type_code => l_component_type_code
143707 , p_component_appl_id => l_component_appl_id
143708 , p_amb_context_code => l_amb_context_code
143709 , p_side => 'NA'
143710 );
143711
143712
143713 l_segment := AcctDerRule_14(
143714 p_application_id => p_application_id
143715 , p_ae_header_id => l_ae_header_id
143716 , p_source_10 => p_source_10
143717 , p_source_10_meaning => p_source_10_meaning
143718 , p_source_25 => p_source_25
143719 , x_transaction_coa_id => l_adr_transaction_coa_id
143720 , x_accounting_coa_id => l_adr_accounting_coa_id
143721 , x_flexfield_segment_code => l_adr_flexfield_segment_code
143722 , x_flex_value_set_id => l_adr_flex_value_set_id
143723 , x_value_type_code => l_adr_value_type_code
143724 , x_value_combination_id => l_adr_value_combination_id
143725 , x_value_segment_code => l_adr_value_segment_code
143726 , p_side => 'NA'
143727 , p_override_seg_flag => 'Y'
143728 );
143729
143730 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
143731
143732 xla_ae_lines_pkg.set_segment(
143733 p_to_segment_code => 'GL_ACCOUNT'
143734 , p_segment_value => l_segment
143735 , p_from_segment_code => l_adr_value_segment_code
143736 , p_from_combination_id => l_adr_value_combination_id
143737 , p_value_type_code => l_adr_value_type_code
143738 , p_transaction_coa_id => l_adr_transaction_coa_id
143739 , p_accounting_coa_id => l_adr_accounting_coa_id
143740 , p_flexfield_segment_code => l_adr_flexfield_segment_code
143741 , p_flex_value_set_id => l_adr_flex_value_set_id
143742 , p_adr_code => 'AP_INVOICE_DIST_NAT_ACCT_SEG'
143743 , p_adr_type_code => 'S'
143744 , p_component_type => l_component_type
143745 , p_component_code => l_component_code
143746 , p_component_type_code => l_component_type_code
143747 , p_component_appl_id => l_component_appl_id
143748 , p_amb_context_code => l_amb_context_code
143749 , p_entity_code => 'AP_INVOICES'
143750 , p_event_class_code => 'INVOICES'
143751 , p_side => 'NA'
143752 );
143753
143757 p_application_id => p_application_id
143754 END IF;
143755
143756 l_segment := AcctDerRule_26(
143758 , p_ae_header_id => l_ae_header_id
143759 , p_source_10 => p_source_10
143760 , p_source_10_meaning => p_source_10_meaning
143761 , p_source_39 => p_source_39
143762 , x_transaction_coa_id => l_adr_transaction_coa_id
143763 , x_accounting_coa_id => l_adr_accounting_coa_id
143764 , x_flexfield_segment_code => l_adr_flexfield_segment_code
143765 , x_flex_value_set_id => l_adr_flex_value_set_id
143766 , x_value_type_code => l_adr_value_type_code
143767 , x_value_combination_id => l_adr_value_combination_id
143768 , x_value_segment_code => l_adr_value_segment_code
143769 , p_side => 'NA'
143770 , p_override_seg_flag => 'Y'
143771 );
143772
143773 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
143774
143775 xla_ae_lines_pkg.set_segment(
143776 p_to_segment_code => 'GL_BALANCING'
143777 , p_segment_value => l_segment
143778 , p_from_segment_code => l_adr_value_segment_code
143779 , p_from_combination_id => l_adr_value_combination_id
143780 , p_value_type_code => l_adr_value_type_code
143781 , p_transaction_coa_id => l_adr_transaction_coa_id
143782 , p_accounting_coa_id => l_adr_accounting_coa_id
143783 , p_flexfield_segment_code => l_adr_flexfield_segment_code
143784 , p_flex_value_set_id => l_adr_flex_value_set_id
143785 , p_adr_code => 'AP_WH_RELATED_DIST_BAL_SEG'
143786 , p_adr_type_code => 'S'
143787 , p_component_type => l_component_type
143788 , p_component_code => l_component_code
143789 , p_component_type_code => l_component_type_code
143790 , p_component_appl_id => l_component_appl_id
143791 , p_amb_context_code => l_amb_context_code
143792 , p_entity_code => 'AP_INVOICES'
143793 , p_event_class_code => 'INVOICES'
143794 , p_side => 'NA'
143795 );
143796
143797 END IF;
143798
143799 --
143800 --
143801 END IF;
143802 --
143803 -- Bug 4922099
143804 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
143805 (NVL(l_enc_upg_option, 'N') = 'O')
143806 ) AND
143807 (l_bflow_method_code = 'PRIOR_ENTRY')
143808 )
143809 THEN
143810 IF
143811 --
143812 1 = 2
143813 --
143814 THEN
143815 xla_accounting_err_pkg.build_message
143816 (p_appli_s_name => 'XLA'
143817 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
143818 ,p_token_1 => 'LINE_NUMBER'
143819 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
143820 ,p_token_2 => 'LINE_TYPE_NAME'
143821 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
143822 l_component_type
143823 ,l_component_code
143824 ,l_component_type_code
143825 ,l_component_appl_id
143826 ,l_amb_context_code
143827 ,l_entity_code
143828 ,l_event_class_code
143829 )
143830 ,p_token_3 => 'OWNER'
143831 ,p_value_3 => xla_lookups_pkg.get_meaning(
143832 p_lookup_type => 'XLA_OWNER_TYPE'
143833 ,p_lookup_code => l_component_type_code
143834 )
143835 ,p_token_4 => 'PRODUCT_NAME'
143836 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
143837 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
143838 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
143839 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
143840 ,p_ae_header_id => NULL
143841 );
143842
143843 IF (C_LEVEL_ERROR>= g_log_level) THEN
143844 trace
143845 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
143846 ,p_level => C_LEVEL_ERROR
143847 ,p_module => l_log_module);
143848 END IF;
143849 END IF;
143850 END IF;
143851 --
143852 --
143853 ------------------------------------------------------------------------------------------------
143854 -- 4219869 Business Flow
143855 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
143856 -- Prior Entry. Currently, the following code is always generated.
143857 ------------------------------------------------------------------------------------------------
143858 XLA_AE_LINES_PKG.ValidateCurrentLine;
143859
143863 ------------------------------------------------------------------------------------
143860 ------------------------------------------------------------------------------------
143861 -- 4219869 Business Flow
143862 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
143864 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
143865
143866 ----------------------------------------------------------------------------------
143867 -- 4219869 Business Flow
143868 -- Update journal entry status -- Need to generate this within IF <condition>
143869 ----------------------------------------------------------------------------------
143870 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
143871 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
143872 ,p_balance_type_code => l_balance_type_code
143873 );
143874
143875 -------------------------------------------------------------------------------------------
143876 -- 4262811 - Generate the Accrual Reversal lines
143877 -------------------------------------------------------------------------------------------
143878 BEGIN
143879 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
143880 (g_array_event(p_event_id).array_value_num('header_index'));
143881 IF l_acc_rev_flag IS NULL THEN
143882 l_acc_rev_flag := 'N';
143883 END IF;
143884 EXCEPTION
143885 WHEN OTHERS THEN
143886 l_acc_rev_flag := 'N';
143887 END;
143888 --
143889 IF (l_acc_rev_flag = 'Y') THEN
143890
143891 -- 4645092 ------------------------------------------------------------------------------
143892 -- To allow MPA report to determine if it should generate report process
143893 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
143894 ------------------------------------------------------------------------------------------
143895
143896 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
143897 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
143898 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
143899 -- call ADRs
143900 -- Bug 4922099
143901 --
143902 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
143903 (NVL(l_actual_upg_option, 'N') = 'O') OR
143904 (NVL(l_enc_upg_option, 'N') = 'O')
143905 )
143906 THEN
143907 NULL;
143908 --
143909 --
143910
143911 l_ccid := AcctDerRule_48(
143912 p_application_id => p_application_id
143913 , p_ae_header_id => l_ae_header_id
143914 , p_source_10 => p_source_10
143915 , p_source_10_meaning => p_source_10_meaning
143916 , p_source_25 => p_source_25
143917 , p_source_39 => p_source_39
143918 , x_transaction_coa_id => l_adr_transaction_coa_id
143919 , x_accounting_coa_id => l_adr_accounting_coa_id
143920 , x_value_type_code => l_adr_value_type_code
143921 , p_side => 'NA'
143922 );
143923
143924 xla_ae_lines_pkg.set_ccid(
143925 p_code_combination_id => l_ccid
143926 , p_value_type_code => l_adr_value_type_code
143927 , p_transaction_coa_id => l_adr_transaction_coa_id
143928 , p_accounting_coa_id => l_adr_accounting_coa_id
143929 , p_adr_code => 'AP_WH_DIST_ACCT'
143930 , p_adr_type_code => 'S'
143931 , p_component_type => l_component_type
143932 , p_component_code => l_component_code
143933 , p_component_type_code => l_component_type_code
143934 , p_component_appl_id => l_component_appl_id
143935 , p_amb_context_code => l_amb_context_code
143936 , p_side => 'NA'
143937 );
143938
143939
143940 l_segment := AcctDerRule_14(
143941 p_application_id => p_application_id
143942 , p_ae_header_id => l_ae_header_id
143943 , p_source_10 => p_source_10
143944 , p_source_10_meaning => p_source_10_meaning
143945 , p_source_25 => p_source_25
143946 , x_transaction_coa_id => l_adr_transaction_coa_id
143947 , x_accounting_coa_id => l_adr_accounting_coa_id
143948 , x_flexfield_segment_code => l_adr_flexfield_segment_code
143949 , x_flex_value_set_id => l_adr_flex_value_set_id
143950 , x_value_type_code => l_adr_value_type_code
143951 , x_value_combination_id => l_adr_value_combination_id
143952 , x_value_segment_code => l_adr_value_segment_code
143953 , p_side => 'NA'
143954 , p_override_seg_flag => 'Y'
143955 );
143956
143957 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
143958
143959 xla_ae_lines_pkg.set_segment(
143960 p_to_segment_code => 'GL_ACCOUNT'
143961 , p_segment_value => l_segment
143962 , p_from_segment_code => l_adr_value_segment_code
143963 , p_from_combination_id => l_adr_value_combination_id
143964 , p_value_type_code => l_adr_value_type_code
143965 , p_transaction_coa_id => l_adr_transaction_coa_id
143966 , p_accounting_coa_id => l_adr_accounting_coa_id
143967 , p_flexfield_segment_code => l_adr_flexfield_segment_code
143968 , p_flex_value_set_id => l_adr_flex_value_set_id
143969 , p_adr_code => 'AP_INVOICE_DIST_NAT_ACCT_SEG'
143970 , p_adr_type_code => 'S'
143971 , p_component_type => l_component_type
143972 , p_component_code => l_component_code
143973 , p_component_type_code => l_component_type_code
143974 , p_component_appl_id => l_component_appl_id
143975 , p_amb_context_code => l_amb_context_code
143976 , p_entity_code => 'AP_INVOICES'
143977 , p_event_class_code => 'INVOICES'
143981 END IF;
143978 , p_side => 'NA'
143979 );
143980
143982
143983 l_segment := AcctDerRule_26(
143984 p_application_id => p_application_id
143985 , p_ae_header_id => l_ae_header_id
143986 , p_source_10 => p_source_10
143987 , p_source_10_meaning => p_source_10_meaning
143988 , p_source_39 => p_source_39
143989 , x_transaction_coa_id => l_adr_transaction_coa_id
143990 , x_accounting_coa_id => l_adr_accounting_coa_id
143991 , x_flexfield_segment_code => l_adr_flexfield_segment_code
143992 , x_flex_value_set_id => l_adr_flex_value_set_id
143993 , x_value_type_code => l_adr_value_type_code
143994 , x_value_combination_id => l_adr_value_combination_id
143995 , x_value_segment_code => l_adr_value_segment_code
143996 , p_side => 'NA'
143997 , p_override_seg_flag => 'Y'
143998 );
143999
144000 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
144001
144002 xla_ae_lines_pkg.set_segment(
144003 p_to_segment_code => 'GL_BALANCING'
144004 , p_segment_value => l_segment
144005 , p_from_segment_code => l_adr_value_segment_code
144006 , p_from_combination_id => l_adr_value_combination_id
144007 , p_value_type_code => l_adr_value_type_code
144008 , p_transaction_coa_id => l_adr_transaction_coa_id
144009 , p_accounting_coa_id => l_adr_accounting_coa_id
144010 , p_flexfield_segment_code => l_adr_flexfield_segment_code
144011 , p_flex_value_set_id => l_adr_flex_value_set_id
144012 , p_adr_code => 'AP_WH_RELATED_DIST_BAL_SEG'
144013 , p_adr_type_code => 'S'
144014 , p_component_type => l_component_type
144015 , p_component_code => l_component_code
144016 , p_component_type_code => l_component_type_code
144017 , p_component_appl_id => l_component_appl_id
144018 , p_amb_context_code => l_amb_context_code
144019 , p_entity_code => 'AP_INVOICES'
144020 , p_event_class_code => 'INVOICES'
144021 , p_side => 'NA'
144022 );
144023
144024 END IF;
144025
144026 --
144027 --
144028 END IF;
144029
144030 --
144031 -- Update the line information that should be overwritten
144032 --
144033 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
144034 p_header_num => 1);
144035 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
144036
144037 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
144038
144039 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
144040 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
144041 END IF;
144042
144043 --
144044 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
144045 --
144046 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
144047 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
144048 ELSE
144049 ---------------------------------------------------------------------------------------------------
144050 -- 4262811a Switch Sign
144051 ---------------------------------------------------------------------------------------------------
144052 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
144053 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
144054 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
144055 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
144056 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
144057 -- 5132302
144058 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
144059 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
144060
144061 END IF;
144062
144063 -- 4955764
144064 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
144065 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
144066
144067
144068 XLA_AE_LINES_PKG.ValidateCurrentLine;
144069 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
144070
144071 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
144072 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
144073 ,p_balance_type_code => l_balance_type_code);
144074
144075 END IF;
144076
144077 -----------------------------------------------------------------------------------------
144078 -- 4262811 Multiperiod Accounting
144079 -----------------------------------------------------------------------------------------
144080 -- No MPA option is assigned.
144081
144082
144083 END IF;
144084 END IF;
144085 --
144086
144087 --
144088 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
144089 trace
144090 (p_msg => 'END of AcctLineType_237'
144091 ,p_level => C_LEVEL_PROCEDURE
144092 ,p_module => l_log_module);
144093 END IF;
144094 --
144095 EXCEPTION
144096 WHEN xla_exceptions_pkg.application_exception THEN
144097 RAISE;
144098 WHEN OTHERS THEN
144099 xla_exceptions_pkg.raise_message
144103
144100 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_237');
144101 END AcctLineType_237;
144102 --
144104 ---------------------------------------
144105 --
144106 -- PRIVATE FUNCTION
144107 -- AcctLineType_238
144108 --
144109 ---------------------------------------
144110 PROCEDURE AcctLineType_238 (
144111 p_application_id IN NUMBER
144112 ,p_event_id IN NUMBER
144113 ,p_calculate_acctd_flag IN VARCHAR2
144114 ,p_calculate_g_l_flag IN VARCHAR2
144115 ,p_actual_flag IN OUT VARCHAR2
144116 ,p_balance_type_code OUT VARCHAR2
144117 ,p_gain_or_loss_ref OUT VARCHAR2
144118
144119 --Invoice Distribution Description
144120 , p_source_1 IN VARCHAR2
144121 --Automatic Offsets Value
144122 , p_source_10 IN VARCHAR2
144123 , p_source_10_meaning IN VARCHAR2
144124 --Invoice Distribution Ledger Amount
144125 , p_source_16 IN NUMBER
144126 --Invoice Distribution Account
144127 , p_source_25 IN NUMBER
144128 --Invoice Distribution Type
144129 , p_source_28 IN VARCHAR2
144130 , p_source_28_meaning IN VARCHAR2
144131 --Withholding Related Distribution Account
144132 , p_source_39 IN NUMBER
144133 --Accounting Reversal Indicator
144134 , p_source_58 IN VARCHAR2
144135 --Distribution Link Type
144136 , p_source_60 IN VARCHAR2
144137 --Allocation to Main Distribution Identifier
144138 , p_source_62 IN NUMBER
144139 --Invoice Identifier
144140 , p_source_63 IN NUMBER
144141 --Invoice Distribution Identifier
144142 , p_source_69 IN NUMBER
144143 --Payables Encumbrance Upgrade Credit Account
144144 , p_source_70 IN NUMBER
144145 --Payables Encumbrance Upgrade Credit Amount
144146 , p_source_71 IN NUMBER
144147 --Invoice Currency Code
144148 , p_source_72 IN VARCHAR2
144149 --Payables Encumbrance Upgrade Credit Base Amount
144150 , p_source_73 IN NUMBER
144151 --Payables Encumbrance Upgrade Debit Account
144152 , p_source_74 IN NUMBER
144153 --Payables Encumbrance Upgrade Debit Amount
144154 , p_source_75 IN NUMBER
144155 --Payables Encumbrance Upgrade Debit Base Amount
144156 , p_source_76 IN NUMBER
144157 --Payables Encumbrance Upgrade Option
144158 , p_source_77 IN VARCHAR2
144159 --Invoice Distribution Amount
144160 , p_source_78 IN NUMBER
144161 --Deferred Accounting End Date
144162 , p_source_82 IN DATE
144163 --Deferred Accounting Option
144164 , p_source_83 IN VARCHAR2
144165 --Deferred Accounting Start Date
144166 , p_source_84 IN DATE
144167 --Override Accounted Amount Indicator
144168 , p_source_85 IN VARCHAR2
144169 , p_source_85_meaning IN VARCHAR2
144170 --Invoice Supplier Identifier
144171 , p_source_86 IN NUMBER
144172 --Invoice Supplier Site Identifier
144173 , p_source_87 IN NUMBER
144174 --Third Party Type
144175 , p_source_88 IN VARCHAR2
144176 --Parent Reversal Identifier
144177 , p_source_89 IN NUMBER
144178 --Invoice Distribution Statistical Amount
144179 , p_source_90 IN NUMBER
144180 --Invoice Distribution Tax Line Identifier
144181 , p_source_91 IN NUMBER
144182 --Invoice Distribution Tax Distribution Identifier from Tax
144183 , p_source_92 IN NUMBER
144184 --Invoice Distribution Summary Tax Line Identifier
144185 , p_source_93 IN NUMBER
144186 --Payables Upgrade Credit Encumbrance Type Identifier
144187 , p_source_94 IN NUMBER
144188 --Payables Upgrade Debit Encumbrance Type Identifier
144189 , p_source_95 IN NUMBER
144190 --Business Flow Accounts Payable Application Identifier
144191 , p_source_96 IN NUMBER
144192 --Business Flow Invoice Distribution Type
144193 , p_source_97 IN VARCHAR2
144194 --Business Flow Invoice Entity Code
144195 , p_source_98 IN VARCHAR2
144196 --Business Flow Invoice Distribution Identifier
144197 , p_source_99 IN NUMBER
144198 --Business Flow Invoice Identifier
144199 , p_source_100 IN NUMBER
144200 --Invoice Exchange Date
144201 , p_source_146 IN DATE
144202 --Invoice Exchange Rate
144203 , p_source_147 IN NUMBER
144204 --Invoice Exchange Rate Type
144205 , p_source_148 IN VARCHAR2
144206 )
144207 IS
144208
144209 l_component_type VARCHAR2(80);
144210 l_component_code VARCHAR2(30);
144211 l_component_type_code VARCHAR2(1);
144212 l_component_appl_id INTEGER;
144213 l_amb_context_code VARCHAR2(30);
144214 l_entity_code VARCHAR2(30);
144215 l_event_class_code VARCHAR2(30);
144216 l_ae_header_id NUMBER;
144217 l_event_type_code VARCHAR2(30);
144218 l_line_definition_code VARCHAR2(30);
144219 l_line_definition_owner_code VARCHAR2(1);
144220 --
144221 -- adr variables
144222 l_segment VARCHAR2(30);
144223 l_ccid NUMBER;
144224 l_adr_transaction_coa_id NUMBER;
144225 l_adr_accounting_coa_id NUMBER;
144226 l_adr_flexfield_segment_code VARCHAR2(30);
144227 l_adr_flex_value_set_id NUMBER;
144228 l_adr_value_type_code VARCHAR2(30);
144229 l_adr_value_combination_id NUMBER;
144230 l_adr_value_segment_code VARCHAR2(30);
144231
144232 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
144233 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
144234 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
144235 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
144236
144237 -- 4262811 Variables ------------------------------------------------------------------------------------------
144238 l_entered_amt_idx NUMBER;
144242 l_tmp_amt NUMBER;
144239 l_accted_amt_idx NUMBER;
144240 l_acc_rev_flag VARCHAR2(1);
144241 l_accrual_line_num NUMBER;
144243 l_acc_rev_natural_side_code VARCHAR2(1);
144244
144245 l_num_entries NUMBER;
144246 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
144247 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
144248 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
144249 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
144250 l_recog_line_1 NUMBER;
144251 l_recog_line_2 NUMBER;
144252
144253 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
144254 l_bflow_applied_to_amt NUMBER; -- 5132302
144255 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
144256
144257 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
144258
144259 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
144260 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
144261
144262 ---------------------------------------------------------------------------------------------------------------
144263
144264
144265 --
144266 -- bulk performance
144267 --
144268 l_balance_type_code VARCHAR2(1);
144269 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
144270 l_log_module VARCHAR2(240);
144271
144272 --
144273 -- Upgrade strategy
144274 --
144275 l_actual_upg_option VARCHAR2(1);
144276 l_enc_upg_option VARCHAR2(1);
144277
144278 --
144279 BEGIN
144280 --
144281 IF g_log_enabled THEN
144282 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_238';
144283 END IF;
144284 --
144285 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
144286
144287 trace
144288 (p_msg => 'BEGIN of AcctLineType_238'
144289 ,p_level => C_LEVEL_PROCEDURE
144290 ,p_module => l_log_module);
144291
144292 END IF;
144293 --
144294 l_component_type := 'AMB_JLT';
144295 l_component_code := 'AP_WITHHOLD_TAX_PREPAY';
144296 l_component_type_code := 'S';
144297 l_component_appl_id := 200;
144298 l_amb_context_code := 'DEFAULT';
144299 l_entity_code := 'AP_INVOICES';
144300 l_event_class_code := 'PREPAYMENTS';
144301 l_event_type_code := 'PREPAYMENTS_ALL';
144302 l_line_definition_owner_code := 'S';
144303 l_line_definition_code := 'ACCRUAL_PREPAYMENTS_ALL';
144304 --
144305 l_balance_type_code := 'A';
144306 l_segment := NULL;
144307 l_ccid := NULL;
144308 l_adr_transaction_coa_id := NULL;
144309 l_adr_accounting_coa_id := NULL;
144310 l_adr_flexfield_segment_code := NULL;
144311 l_adr_flex_value_set_id := NULL;
144312 l_adr_value_type_code := NULL;
144313 l_adr_value_combination_id := NULL;
144314 l_adr_value_segment_code := NULL;
144315
144316 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
144317 l_bflow_class_code := ''; -- 4219869 Business Flow
144318 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
144319 l_budgetary_control_flag := 'N';
144320
144321 l_bflow_applied_to_amt_idx := NULL; -- 5132302
144322 l_bflow_applied_to_amt := NULL; -- 5132302
144323 l_entered_amt_idx := NULL; -- 4262811
144324 l_accted_amt_idx := NULL; -- 4262811
144325 l_acc_rev_flag := NULL; -- 4262811
144326 l_accrual_line_num := NULL; -- 4262811
144327 l_tmp_amt := NULL; -- 4262811
144328 --
144329
144330 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
144331 l_balance_type_code <> 'B' THEN
144332 IF NVL(p_source_28,'
144333 ') = 'AWT'
144334 THEN
144335
144336 --
144337 XLA_AE_LINES_PKG.SetNewLine;
144338
144339 p_balance_type_code := l_balance_type_code;
144340 -- set the flag so later we will know whether the gain loss line needs to be created
144341
144342 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
144343 p_actual_flag :='A';
144344 END IF;
144345
144346 --
144347 -- bulk performance
144348 --
144349 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
144350 p_header_num => 0); -- 4262811
144351 --
144352 -- set accounting line options
144353 --
144354 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
144355 p_natural_side_code => 'D'
144356 , p_gain_or_loss_flag => 'N'
144357 , p_gl_transfer_mode_code => 'S'
144358 , p_acct_entry_type_code => 'A'
144359 , p_switch_side_flag => 'Y'
144360 , p_merge_duplicate_code => 'A'
144361 );
144362 --
144363 l_acc_rev_natural_side_code := 'C'; -- 4262811
144364 --
144365 --
144366 -- set accounting line type info
144367 --
144368 xla_ae_lines_pkg.SetAcctLineType
144369 (p_component_type => l_component_type
144370 ,p_event_type_code => l_event_type_code
144371 ,p_line_definition_owner_code => l_line_definition_owner_code
144372 ,p_line_definition_code => l_line_definition_code
144373 ,p_accounting_line_code => l_component_code
144374 ,p_accounting_line_type_code => l_component_type_code
144375 ,p_accounting_line_appl_id => l_component_appl_id
144376 ,p_amb_context_code => l_amb_context_code
144377 ,p_entity_code => l_entity_code
144381 --
144378 ,p_event_class_code => l_event_class_code);
144379 --
144380 -- set accounting class
144382 xla_ae_lines_pkg.SetAcctClass(
144383 p_accounting_class_code => 'AWT'
144384 , p_ae_header_id => l_ae_header_id
144385 );
144386
144387 --
144388 -- set rounding class
144389 --
144390 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
144391 'AWT';
144392
144393 --
144394 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
144395 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
144396 --
144397 -- bulk performance
144398 --
144399 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
144400
144401 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
144402 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
144403
144404 -- 4955764
144405 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
144406 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
144407
144408 -- 4458381 Public Sector Enh
144409
144410 --
144411 -- set accounting attributes for the line type
144412 --
144413 l_entered_amt_idx := 23;
144414 l_accted_amt_idx := 28;
144415 l_bflow_applied_to_amt_idx := NULL; -- 5132302
144416 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
144417 l_rec_acct_attrs.array_char_value(1) := p_source_58;
144418 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
144419 l_rec_acct_attrs.array_num_value(2) :=
144420 xla_ae_sources_pkg.GetSystemSourceNum(
144421 p_source_code => 'XLA_EVENT_APPL_ID'
144422 , p_source_type_code => 'Y'
144423 , p_source_application_id => 602
144424 );
144425 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
144426 l_rec_acct_attrs.array_char_value(3) := p_source_60;
144427 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
144428 l_rec_acct_attrs.array_char_value(4) :=
144429 xla_ae_sources_pkg.GetSystemSourceChar(
144430 p_source_code => 'XLA_ENTITY_CODE'
144431 , p_source_type_code => 'Y'
144432 , p_source_application_id => 602
144433 );
144434 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
144435 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_62);
144436 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
144437 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_63);
144438 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
144439 l_rec_acct_attrs.array_num_value(7) := p_source_96;
144440 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
144441 l_rec_acct_attrs.array_char_value(8) := p_source_97;
144442 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
144443 l_rec_acct_attrs.array_char_value(9) := p_source_98;
144444 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
144445 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_99);
144446 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
144447 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_100);
144448 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
144449 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_69);
144450 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
144451 l_rec_acct_attrs.array_char_value(13) := p_source_60;
144452 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
144453 l_rec_acct_attrs.array_num_value(14) := p_source_70;
144454 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
144455 l_rec_acct_attrs.array_num_value(15) := p_source_71;
144456 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
144457 l_rec_acct_attrs.array_char_value(16) := p_source_72;
144458 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
144459 l_rec_acct_attrs.array_num_value(17) := p_source_73;
144460 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
144461 l_rec_acct_attrs.array_num_value(18) := p_source_74;
144462 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
144463 l_rec_acct_attrs.array_num_value(19) := p_source_75;
144464 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
144465 l_rec_acct_attrs.array_char_value(20) := p_source_72;
144466 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
144467 l_rec_acct_attrs.array_num_value(21) := p_source_76;
144468 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
144469 l_rec_acct_attrs.array_char_value(22) := p_source_77;
144470 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
144471 l_rec_acct_attrs.array_num_value(23) := p_source_78;
144472 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
144473 l_rec_acct_attrs.array_char_value(24) := p_source_72;
144474 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
144475 l_rec_acct_attrs.array_date_value(25) := p_source_146;
144476 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
144477 l_rec_acct_attrs.array_num_value(26) := p_source_147;
144478 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
144479 l_rec_acct_attrs.array_char_value(27) := p_source_148;
144480 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
144481 l_rec_acct_attrs.array_num_value(28) := p_source_16;
144482 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
144483 l_rec_acct_attrs.array_date_value(29) := p_source_82;
144484 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
144488 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
144485 l_rec_acct_attrs.array_char_value(30) := p_source_83;
144486 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
144487 l_rec_acct_attrs.array_date_value(31) := p_source_84;
144489 l_rec_acct_attrs.array_char_value(32) := p_source_85;
144490 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
144491 l_rec_acct_attrs.array_num_value(33) := p_source_86;
144492 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
144493 l_rec_acct_attrs.array_num_value(34) := p_source_87;
144494 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
144495 l_rec_acct_attrs.array_char_value(35) := p_source_88;
144496 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
144497 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_89);
144498 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
144499 l_rec_acct_attrs.array_char_value(37) := p_source_60;
144500 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
144501 l_rec_acct_attrs.array_num_value(38) := p_source_90;
144502 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
144503 l_rec_acct_attrs.array_num_value(39) := p_source_91;
144504 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
144505 l_rec_acct_attrs.array_num_value(40) := p_source_92;
144506 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
144507 l_rec_acct_attrs.array_num_value(41) := p_source_93;
144508 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
144509 l_rec_acct_attrs.array_num_value(42) := p_source_94;
144510 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
144511 l_rec_acct_attrs.array_num_value(43) := p_source_95;
144512
144513 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
144514 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
144515
144516 ---------------------------------------------------------------------------------------------------------------
144517 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
144518 ---------------------------------------------------------------------------------------------------------------
144519 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
144520
144521 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
144522 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
144523
144524 IF xla_accounting_cache_pkg.GetValueChar
144525 (p_source_code => 'LEDGER_CATEGORY_CODE'
144526 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
144527 AND l_bflow_method_code = 'PRIOR_ENTRY'
144528 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
144529 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
144530 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
144531 )
144532 THEN
144533 xla_ae_lines_pkg.BflowUpgEntry
144534 (p_business_method_code => l_bflow_method_code
144535 ,p_business_class_code => l_bflow_class_code
144536 ,p_balance_type => l_balance_type_code);
144537 ELSE
144538 NULL;
144539 -- No business flow processing for business flow method of NONE.
144540 END IF;
144541
144542 --
144543 -- call analytical criteria
144544 --
144545
144546 --
144547 -- call description
144548 --
144549
144550 xla_ae_lines_pkg.SetLineDescription(
144551 p_ae_header_id => l_ae_header_id
144552 ,p_description => Description_2 (
144553 p_application_id => p_application_id
144554 , p_ae_header_id => l_ae_header_id
144555 , p_source_1 => p_source_1
144556 )
144557 );
144558
144559
144560 --
144561 -- call ADRs
144562 -- Bug 4922099
144563 --
144564 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
144565 (NVL(l_actual_upg_option, 'N') = 'O') OR
144566 (NVL(l_enc_upg_option, 'N') = 'O')
144567 )
144568 THEN
144569 NULL;
144570 --
144571 --
144572
144573 l_ccid := AcctDerRule_48(
144574 p_application_id => p_application_id
144575 , p_ae_header_id => l_ae_header_id
144576 , p_source_10 => p_source_10
144577 , p_source_10_meaning => p_source_10_meaning
144578 , p_source_25 => p_source_25
144579 , p_source_39 => p_source_39
144580 , x_transaction_coa_id => l_adr_transaction_coa_id
144581 , x_accounting_coa_id => l_adr_accounting_coa_id
144582 , x_value_type_code => l_adr_value_type_code
144583 , p_side => 'NA'
144584 );
144585
144586 xla_ae_lines_pkg.set_ccid(
144587 p_code_combination_id => l_ccid
144588 , p_value_type_code => l_adr_value_type_code
144589 , p_transaction_coa_id => l_adr_transaction_coa_id
144590 , p_accounting_coa_id => l_adr_accounting_coa_id
144591 , p_adr_code => 'AP_WH_DIST_ACCT'
144592 , p_adr_type_code => 'S'
144593 , p_component_type => l_component_type
144594 , p_component_code => l_component_code
144595 , p_component_type_code => l_component_type_code
144596 , p_component_appl_id => l_component_appl_id
144597 , p_amb_context_code => l_amb_context_code
144598 , p_side => 'NA'
144599 );
144600
144601
144602 l_segment := AcctDerRule_14(
144603 p_application_id => p_application_id
144604 , p_ae_header_id => l_ae_header_id
144605 , p_source_10 => p_source_10
144609 , x_accounting_coa_id => l_adr_accounting_coa_id
144606 , p_source_10_meaning => p_source_10_meaning
144607 , p_source_25 => p_source_25
144608 , x_transaction_coa_id => l_adr_transaction_coa_id
144610 , x_flexfield_segment_code => l_adr_flexfield_segment_code
144611 , x_flex_value_set_id => l_adr_flex_value_set_id
144612 , x_value_type_code => l_adr_value_type_code
144613 , x_value_combination_id => l_adr_value_combination_id
144614 , x_value_segment_code => l_adr_value_segment_code
144615 , p_side => 'NA'
144616 , p_override_seg_flag => 'Y'
144617 );
144618
144619 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
144620
144621 xla_ae_lines_pkg.set_segment(
144622 p_to_segment_code => 'GL_ACCOUNT'
144623 , p_segment_value => l_segment
144624 , p_from_segment_code => l_adr_value_segment_code
144625 , p_from_combination_id => l_adr_value_combination_id
144626 , p_value_type_code => l_adr_value_type_code
144627 , p_transaction_coa_id => l_adr_transaction_coa_id
144628 , p_accounting_coa_id => l_adr_accounting_coa_id
144629 , p_flexfield_segment_code => l_adr_flexfield_segment_code
144630 , p_flex_value_set_id => l_adr_flex_value_set_id
144631 , p_adr_code => 'AP_INVOICE_DIST_NAT_ACCT_SEG'
144632 , p_adr_type_code => 'S'
144633 , p_component_type => l_component_type
144634 , p_component_code => l_component_code
144635 , p_component_type_code => l_component_type_code
144636 , p_component_appl_id => l_component_appl_id
144637 , p_amb_context_code => l_amb_context_code
144638 , p_entity_code => 'AP_INVOICES'
144639 , p_event_class_code => 'PREPAYMENTS'
144640 , p_side => 'NA'
144641 );
144642
144643 END IF;
144644
144645 l_segment := AcctDerRule_26(
144646 p_application_id => p_application_id
144647 , p_ae_header_id => l_ae_header_id
144648 , p_source_10 => p_source_10
144649 , p_source_10_meaning => p_source_10_meaning
144650 , p_source_39 => p_source_39
144651 , x_transaction_coa_id => l_adr_transaction_coa_id
144652 , x_accounting_coa_id => l_adr_accounting_coa_id
144653 , x_flexfield_segment_code => l_adr_flexfield_segment_code
144654 , x_flex_value_set_id => l_adr_flex_value_set_id
144655 , x_value_type_code => l_adr_value_type_code
144656 , x_value_combination_id => l_adr_value_combination_id
144657 , x_value_segment_code => l_adr_value_segment_code
144658 , p_side => 'NA'
144659 , p_override_seg_flag => 'Y'
144660 );
144661
144662 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
144663
144664 xla_ae_lines_pkg.set_segment(
144665 p_to_segment_code => 'GL_BALANCING'
144666 , p_segment_value => l_segment
144667 , p_from_segment_code => l_adr_value_segment_code
144668 , p_from_combination_id => l_adr_value_combination_id
144669 , p_value_type_code => l_adr_value_type_code
144670 , p_transaction_coa_id => l_adr_transaction_coa_id
144671 , p_accounting_coa_id => l_adr_accounting_coa_id
144672 , p_flexfield_segment_code => l_adr_flexfield_segment_code
144673 , p_flex_value_set_id => l_adr_flex_value_set_id
144674 , p_adr_code => 'AP_WH_RELATED_DIST_BAL_SEG'
144675 , p_adr_type_code => 'S'
144676 , p_component_type => l_component_type
144677 , p_component_code => l_component_code
144678 , p_component_type_code => l_component_type_code
144679 , p_component_appl_id => l_component_appl_id
144680 , p_amb_context_code => l_amb_context_code
144681 , p_entity_code => 'AP_INVOICES'
144682 , p_event_class_code => 'PREPAYMENTS'
144683 , p_side => 'NA'
144684 );
144685
144686 END IF;
144687
144688 --
144689 --
144690 END IF;
144691 --
144692 -- Bug 4922099
144693 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
144694 (NVL(l_enc_upg_option, 'N') = 'O')
144695 ) AND
144696 (l_bflow_method_code = 'PRIOR_ENTRY')
144697 )
144698 THEN
144699 IF
144700 --
144701 1 = 2
144702 --
144703 THEN
144704 xla_accounting_err_pkg.build_message
144705 (p_appli_s_name => 'XLA'
144706 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
144707 ,p_token_1 => 'LINE_NUMBER'
144708 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
144709 ,p_token_2 => 'LINE_TYPE_NAME'
144710 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
144711 l_component_type
144712 ,l_component_code
144713 ,l_component_type_code
144714 ,l_component_appl_id
144715 ,l_amb_context_code
144716 ,l_entity_code
144717 ,l_event_class_code
144721 p_lookup_type => 'XLA_OWNER_TYPE'
144718 )
144719 ,p_token_3 => 'OWNER'
144720 ,p_value_3 => xla_lookups_pkg.get_meaning(
144722 ,p_lookup_code => l_component_type_code
144723 )
144724 ,p_token_4 => 'PRODUCT_NAME'
144725 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
144726 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
144727 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
144728 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
144729 ,p_ae_header_id => NULL
144730 );
144731
144732 IF (C_LEVEL_ERROR>= g_log_level) THEN
144733 trace
144734 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
144735 ,p_level => C_LEVEL_ERROR
144736 ,p_module => l_log_module);
144737 END IF;
144738 END IF;
144739 END IF;
144740 --
144741 --
144742 ------------------------------------------------------------------------------------------------
144743 -- 4219869 Business Flow
144744 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
144745 -- Prior Entry. Currently, the following code is always generated.
144746 ------------------------------------------------------------------------------------------------
144747 XLA_AE_LINES_PKG.ValidateCurrentLine;
144748
144749 ------------------------------------------------------------------------------------
144750 -- 4219869 Business Flow
144751 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
144752 ------------------------------------------------------------------------------------
144753 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
144754
144755 ----------------------------------------------------------------------------------
144756 -- 4219869 Business Flow
144757 -- Update journal entry status -- Need to generate this within IF <condition>
144758 ----------------------------------------------------------------------------------
144759 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
144760 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
144761 ,p_balance_type_code => l_balance_type_code
144762 );
144763
144764 -------------------------------------------------------------------------------------------
144765 -- 4262811 - Generate the Accrual Reversal lines
144766 -------------------------------------------------------------------------------------------
144767 BEGIN
144768 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
144769 (g_array_event(p_event_id).array_value_num('header_index'));
144770 IF l_acc_rev_flag IS NULL THEN
144771 l_acc_rev_flag := 'N';
144772 END IF;
144773 EXCEPTION
144774 WHEN OTHERS THEN
144775 l_acc_rev_flag := 'N';
144776 END;
144777 --
144778 IF (l_acc_rev_flag = 'Y') THEN
144779
144780 -- 4645092 ------------------------------------------------------------------------------
144781 -- To allow MPA report to determine if it should generate report process
144782 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
144783 ------------------------------------------------------------------------------------------
144784
144785 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
144786 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
144787 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
144788 -- call ADRs
144789 -- Bug 4922099
144790 --
144791 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
144792 (NVL(l_actual_upg_option, 'N') = 'O') OR
144793 (NVL(l_enc_upg_option, 'N') = 'O')
144794 )
144795 THEN
144796 NULL;
144797 --
144798 --
144799
144800 l_ccid := AcctDerRule_48(
144801 p_application_id => p_application_id
144802 , p_ae_header_id => l_ae_header_id
144803 , p_source_10 => p_source_10
144804 , p_source_10_meaning => p_source_10_meaning
144805 , p_source_25 => p_source_25
144806 , p_source_39 => p_source_39
144807 , x_transaction_coa_id => l_adr_transaction_coa_id
144808 , x_accounting_coa_id => l_adr_accounting_coa_id
144809 , x_value_type_code => l_adr_value_type_code
144810 , p_side => 'NA'
144811 );
144812
144813 xla_ae_lines_pkg.set_ccid(
144814 p_code_combination_id => l_ccid
144815 , p_value_type_code => l_adr_value_type_code
144816 , p_transaction_coa_id => l_adr_transaction_coa_id
144817 , p_accounting_coa_id => l_adr_accounting_coa_id
144818 , p_adr_code => 'AP_WH_DIST_ACCT'
144819 , p_adr_type_code => 'S'
144820 , p_component_type => l_component_type
144821 , p_component_code => l_component_code
144822 , p_component_type_code => l_component_type_code
144823 , p_component_appl_id => l_component_appl_id
144824 , p_amb_context_code => l_amb_context_code
144825 , p_side => 'NA'
144826 );
144827
144828
144829 l_segment := AcctDerRule_14(
144833 , p_source_10_meaning => p_source_10_meaning
144830 p_application_id => p_application_id
144831 , p_ae_header_id => l_ae_header_id
144832 , p_source_10 => p_source_10
144834 , p_source_25 => p_source_25
144835 , x_transaction_coa_id => l_adr_transaction_coa_id
144836 , x_accounting_coa_id => l_adr_accounting_coa_id
144837 , x_flexfield_segment_code => l_adr_flexfield_segment_code
144838 , x_flex_value_set_id => l_adr_flex_value_set_id
144839 , x_value_type_code => l_adr_value_type_code
144840 , x_value_combination_id => l_adr_value_combination_id
144841 , x_value_segment_code => l_adr_value_segment_code
144842 , p_side => 'NA'
144843 , p_override_seg_flag => 'Y'
144844 );
144845
144846 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
144847
144848 xla_ae_lines_pkg.set_segment(
144849 p_to_segment_code => 'GL_ACCOUNT'
144850 , p_segment_value => l_segment
144851 , p_from_segment_code => l_adr_value_segment_code
144852 , p_from_combination_id => l_adr_value_combination_id
144853 , p_value_type_code => l_adr_value_type_code
144854 , p_transaction_coa_id => l_adr_transaction_coa_id
144855 , p_accounting_coa_id => l_adr_accounting_coa_id
144856 , p_flexfield_segment_code => l_adr_flexfield_segment_code
144857 , p_flex_value_set_id => l_adr_flex_value_set_id
144858 , p_adr_code => 'AP_INVOICE_DIST_NAT_ACCT_SEG'
144859 , p_adr_type_code => 'S'
144860 , p_component_type => l_component_type
144861 , p_component_code => l_component_code
144862 , p_component_type_code => l_component_type_code
144863 , p_component_appl_id => l_component_appl_id
144864 , p_amb_context_code => l_amb_context_code
144865 , p_entity_code => 'AP_INVOICES'
144866 , p_event_class_code => 'PREPAYMENTS'
144867 , p_side => 'NA'
144868 );
144869
144870 END IF;
144871
144872 l_segment := AcctDerRule_26(
144873 p_application_id => p_application_id
144874 , p_ae_header_id => l_ae_header_id
144875 , p_source_10 => p_source_10
144876 , p_source_10_meaning => p_source_10_meaning
144877 , p_source_39 => p_source_39
144878 , x_transaction_coa_id => l_adr_transaction_coa_id
144879 , x_accounting_coa_id => l_adr_accounting_coa_id
144880 , x_flexfield_segment_code => l_adr_flexfield_segment_code
144881 , x_flex_value_set_id => l_adr_flex_value_set_id
144882 , x_value_type_code => l_adr_value_type_code
144883 , x_value_combination_id => l_adr_value_combination_id
144884 , x_value_segment_code => l_adr_value_segment_code
144885 , p_side => 'NA'
144886 , p_override_seg_flag => 'Y'
144887 );
144888
144889 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
144890
144891 xla_ae_lines_pkg.set_segment(
144892 p_to_segment_code => 'GL_BALANCING'
144893 , p_segment_value => l_segment
144894 , p_from_segment_code => l_adr_value_segment_code
144895 , p_from_combination_id => l_adr_value_combination_id
144896 , p_value_type_code => l_adr_value_type_code
144897 , p_transaction_coa_id => l_adr_transaction_coa_id
144898 , p_accounting_coa_id => l_adr_accounting_coa_id
144899 , p_flexfield_segment_code => l_adr_flexfield_segment_code
144900 , p_flex_value_set_id => l_adr_flex_value_set_id
144901 , p_adr_code => 'AP_WH_RELATED_DIST_BAL_SEG'
144902 , p_adr_type_code => 'S'
144903 , p_component_type => l_component_type
144904 , p_component_code => l_component_code
144905 , p_component_type_code => l_component_type_code
144906 , p_component_appl_id => l_component_appl_id
144907 , p_amb_context_code => l_amb_context_code
144908 , p_entity_code => 'AP_INVOICES'
144909 , p_event_class_code => 'PREPAYMENTS'
144910 , p_side => 'NA'
144911 );
144912
144913 END IF;
144914
144915 --
144916 --
144917 END IF;
144918
144919 --
144920 -- Update the line information that should be overwritten
144921 --
144922 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
144923 p_header_num => 1);
144924 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
144925
144926 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
144927
144928 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
144929 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
144930 END IF;
144931
144932 --
144933 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
144934 --
144935 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
144936 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
144937 ELSE
144938 ---------------------------------------------------------------------------------------------------
144939 -- 4262811a Switch Sign
144940 ---------------------------------------------------------------------------------------------------
144941 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
144945 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
144942 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
144943 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
144944 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
144946 -- 5132302
144947 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
144948 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
144949
144950 END IF;
144951
144952 -- 4955764
144953 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
144954 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
144955
144956
144957 XLA_AE_LINES_PKG.ValidateCurrentLine;
144958 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
144959
144960 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
144961 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
144962 ,p_balance_type_code => l_balance_type_code);
144963
144964 END IF;
144965
144966 -----------------------------------------------------------------------------------------
144967 -- 4262811 Multiperiod Accounting
144968 -----------------------------------------------------------------------------------------
144969 -- No MPA option is assigned.
144970
144971
144972 END IF;
144973 END IF;
144974 --
144975
144976 --
144977 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
144978 trace
144979 (p_msg => 'END of AcctLineType_238'
144980 ,p_level => C_LEVEL_PROCEDURE
144981 ,p_module => l_log_module);
144982 END IF;
144983 --
144984 EXCEPTION
144985 WHEN xla_exceptions_pkg.application_exception THEN
144986 RAISE;
144987 WHEN OTHERS THEN
144988 xla_exceptions_pkg.raise_message
144989 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_238');
144990 END AcctLineType_238;
144991 --
144992
144993 ---------------------------------------
144994 --
144995 -- PRIVATE FUNCTION
144996 -- AcctLineType_239
144997 --
144998 ---------------------------------------
144999 PROCEDURE AcctLineType_239 (
145000 p_application_id IN NUMBER
145001 ,p_event_id IN NUMBER
145002 ,p_calculate_acctd_flag IN VARCHAR2
145003 ,p_calculate_g_l_flag IN VARCHAR2
145004 ,p_actual_flag IN OUT VARCHAR2
145005 ,p_balance_type_code OUT VARCHAR2
145006 ,p_gain_or_loss_ref OUT VARCHAR2
145007
145008 --Document Sequence Name
145009 , p_source_3 IN VARCHAR2
145010 --Payment Document Voucher Number
145011 , p_source_4 IN NUMBER
145012 --Payment Transaction Number
145013 , p_source_5 IN NUMBER
145014 --Payment Document Date
145015 , p_source_6 IN DATE
145016 --Bank Account Name
145017 , p_source_7 IN VARCHAR2
145018 --Payment Currency Code
145019 , p_source_8 IN VARCHAR2
145020 --Automatic Offsets Value
145021 , p_source_10 IN VARCHAR2
145022 , p_source_10_meaning IN VARCHAR2
145023 --Bank Cash Account
145024 , p_source_12 IN NUMBER
145025 --Invoice Distribution Account
145026 , p_source_25 IN NUMBER
145027 --Invoice Distribution Type
145028 , p_source_28 IN VARCHAR2
145029 , p_source_28_meaning IN VARCHAR2
145030 --Invoice Liability Account
145031 , p_source_29 IN NUMBER
145032 --Bank Cash Clearing Account
145033 , p_source_30 IN NUMBER
145034 --Federal Prior Year Flag
145035 , p_source_52 IN VARCHAR2
145036 --Invoice Distribution Encumbrance Amount
145037 , p_source_53 IN NUMBER
145038 --Accrue on Receipt Option
145039 , p_source_54 IN VARCHAR2
145040 , p_source_54_meaning IN VARCHAR2
145041 --Payment Status Flag of the Invoice
145042 , p_source_55 IN VARCHAR2
145043 --Invoice Type Paid
145044 , p_source_56 IN VARCHAR2
145045 , p_source_56_meaning IN VARCHAR2
145046 --When to Account for Payment Option
145047 , p_source_57 IN VARCHAR2
145048 --Accounting Reversal Indicator
145049 , p_source_58 IN VARCHAR2
145050 --Distribution Link Type
145051 , p_source_60 IN VARCHAR2
145052 --Override Accounted Amount Indicator
145053 , p_source_85 IN VARCHAR2
145054 , p_source_85_meaning IN VARCHAR2
145055 --Third Party Type
145056 , p_source_88 IN VARCHAR2
145057 --Invoice Distribution Tax Line Identifier
145058 , p_source_91 IN NUMBER
145059 --Invoice Distribution Tax Distribution Identifier from Tax
145060 , p_source_92 IN NUMBER
145061 --Invoice Distribution Summary Tax Line Identifier
145062 , p_source_93 IN NUMBER
145063 --Business Flow Accounts Payable Application Identifier
145064 , p_source_96 IN NUMBER
145065 --Business Flow Invoice Distribution Type
145066 , p_source_97 IN VARCHAR2
145067 --Business Flow Invoice Entity Code
145068 , p_source_98 IN VARCHAR2
145069 --Business Flow Invoice Distribution Identifier
145070 , p_source_99 IN NUMBER
145071 --Business Flow Invoice Identifier
145072 , p_source_100 IN NUMBER
145073 --Payment Distribution Amount
145074 , p_source_102 IN NUMBER
145075 --Payment Distribution Identifier
145076 , p_source_107 IN NUMBER
145077 --Payment Supplier Identifier
145078 , p_source_113 IN NUMBER
145079 --Payment Supplier Site Identifier
145080 , p_source_114 IN NUMBER
145081 --Payment Distribution Reversed Identifier
145082 , p_source_115 IN NUMBER
145086 , p_source_120 IN DATE
145083 --Payment Distribution (Payment Rate) Ledger Amount
145084 , p_source_118 IN NUMBER
145085 --Payment Exchange Date
145087 --Payment Exchange Rate
145088 , p_source_121 IN NUMBER
145089 --Payment Exchange Rate Type
145090 , p_source_122 IN VARCHAR2
145091 --Invoice Distribution Amount of the Payment Distribution
145092 , p_source_127 IN NUMBER
145093 )
145094 IS
145095
145096 l_component_type VARCHAR2(80);
145097 l_component_code VARCHAR2(30);
145098 l_component_type_code VARCHAR2(1);
145099 l_component_appl_id INTEGER;
145100 l_amb_context_code VARCHAR2(30);
145101 l_entity_code VARCHAR2(30);
145102 l_event_class_code VARCHAR2(30);
145103 l_ae_header_id NUMBER;
145104 l_event_type_code VARCHAR2(30);
145105 l_line_definition_code VARCHAR2(30);
145106 l_line_definition_owner_code VARCHAR2(1);
145107 --
145108 -- adr variables
145109 l_segment VARCHAR2(30);
145110 l_ccid NUMBER;
145111 l_adr_transaction_coa_id NUMBER;
145112 l_adr_accounting_coa_id NUMBER;
145113 l_adr_flexfield_segment_code VARCHAR2(30);
145114 l_adr_flex_value_set_id NUMBER;
145115 l_adr_value_type_code VARCHAR2(30);
145116 l_adr_value_combination_id NUMBER;
145117 l_adr_value_segment_code VARCHAR2(30);
145118
145119 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
145120 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
145121 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
145122 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
145123
145124 -- 4262811 Variables ------------------------------------------------------------------------------------------
145125 l_entered_amt_idx NUMBER;
145126 l_accted_amt_idx NUMBER;
145127 l_acc_rev_flag VARCHAR2(1);
145128 l_accrual_line_num NUMBER;
145129 l_tmp_amt NUMBER;
145130 l_acc_rev_natural_side_code VARCHAR2(1);
145131
145132 l_num_entries NUMBER;
145133 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
145134 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
145135 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
145136 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
145137 l_recog_line_1 NUMBER;
145138 l_recog_line_2 NUMBER;
145139
145140 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
145141 l_bflow_applied_to_amt NUMBER; -- 5132302
145142 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
145143
145144 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
145145
145146 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
145147 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
145148
145149 ---------------------------------------------------------------------------------------------------------------
145150
145151
145152 --
145153 -- bulk performance
145154 --
145155 l_balance_type_code VARCHAR2(1);
145156 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
145157 l_log_module VARCHAR2(240);
145158
145159 --
145160 -- Upgrade strategy
145161 --
145162 l_actual_upg_option VARCHAR2(1);
145163 l_enc_upg_option VARCHAR2(1);
145164
145165 --
145166 BEGIN
145167 --
145168 IF g_log_enabled THEN
145169 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_239';
145170 END IF;
145171 --
145172 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
145173
145174 trace
145175 (p_msg => 'BEGIN of AcctLineType_239'
145176 ,p_level => C_LEVEL_PROCEDURE
145177 ,p_module => l_log_module);
145178
145179 END IF;
145180 --
145181 l_component_type := 'AMB_JLT';
145182 l_component_code := 'FV_AP_DIRECT_EXP_PAYMENT_CR';
145183 l_component_type_code := 'S';
145184 l_component_appl_id := 200;
145185 l_amb_context_code := 'DEFAULT';
145186 l_entity_code := 'AP_PAYMENTS';
145187 l_event_class_code := 'PAYMENTS';
145188 l_event_type_code := 'PAYMENTS_ALL';
145189 l_line_definition_owner_code := 'S';
145190 l_line_definition_code := 'FV_AP_ACCRUAL_PAYMENTS_ALL';
145191 --
145192 l_balance_type_code := 'A';
145193 l_segment := NULL;
145194 l_ccid := NULL;
145195 l_adr_transaction_coa_id := NULL;
145196 l_adr_accounting_coa_id := NULL;
145197 l_adr_flexfield_segment_code := NULL;
145198 l_adr_flex_value_set_id := NULL;
145199 l_adr_value_type_code := NULL;
145200 l_adr_value_combination_id := NULL;
145201 l_adr_value_segment_code := NULL;
145202
145203 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
145204 l_bflow_class_code := ''; -- 4219869 Business Flow
145205 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
145206 l_budgetary_control_flag := 'N';
145207
145208 l_bflow_applied_to_amt_idx := NULL; -- 5132302
145209 l_bflow_applied_to_amt := NULL; -- 5132302
145210 l_entered_amt_idx := NULL; -- 4262811
145211 l_accted_amt_idx := NULL; -- 4262811
145212 l_acc_rev_flag := NULL; -- 4262811
145213 l_accrual_line_num := NULL; -- 4262811
145214 l_tmp_amt := NULL; -- 4262811
145215 --
145216
145217 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
145221 THEN
145218 l_balance_type_code <> 'B' THEN
145219 IF NVL(p_source_56,'
145220 ') = 'INTEREST'
145222
145223 --
145224 XLA_AE_LINES_PKG.SetNewLine;
145225
145226 p_balance_type_code := l_balance_type_code;
145227 -- set the flag so later we will know whether the gain loss line needs to be created
145228
145229 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
145230 p_actual_flag :='A';
145231 END IF;
145232
145233 --
145234 -- bulk performance
145235 --
145236 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
145237 p_header_num => 0); -- 4262811
145238 --
145239 -- set accounting line options
145240 --
145241 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
145242 p_natural_side_code => 'C'
145243 , p_gain_or_loss_flag => 'N'
145244 , p_gl_transfer_mode_code => 'S'
145245 , p_acct_entry_type_code => 'A'
145246 , p_switch_side_flag => 'N'
145247 , p_merge_duplicate_code => 'N'
145248 );
145249 --
145250 l_acc_rev_natural_side_code := 'D'; -- 4262811
145251 --
145252 --
145253 -- set accounting line type info
145254 --
145255 xla_ae_lines_pkg.SetAcctLineType
145256 (p_component_type => l_component_type
145257 ,p_event_type_code => l_event_type_code
145258 ,p_line_definition_owner_code => l_line_definition_owner_code
145259 ,p_line_definition_code => l_line_definition_code
145260 ,p_accounting_line_code => l_component_code
145261 ,p_accounting_line_type_code => l_component_type_code
145262 ,p_accounting_line_appl_id => l_component_appl_id
145263 ,p_amb_context_code => l_amb_context_code
145264 ,p_entity_code => l_entity_code
145265 ,p_event_class_code => l_event_class_code);
145266 --
145267 -- set accounting class
145268 --
145269 xla_ae_lines_pkg.SetAcctClass(
145270 p_accounting_class_code => 'ACCOUNTSPAYABLE'
145271 , p_ae_header_id => l_ae_header_id
145272 );
145273
145274 --
145275 -- set rounding class
145276 --
145277 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
145278 'ACCOUNTSPAYABLE';
145279
145280 --
145281 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
145282 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
145283 --
145284 -- bulk performance
145285 --
145286 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
145287
145288 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
145289 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
145290
145291 -- 4955764
145292 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
145293 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
145294
145295 -- 4458381 Public Sector Enh
145296
145297 --
145298 -- set accounting attributes for the line type
145299 --
145300 l_entered_amt_idx := 10;
145301 l_accted_amt_idx := 15;
145302 l_bflow_applied_to_amt_idx := 2; -- 5132302
145303 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
145304 l_rec_acct_attrs.array_char_value(1) := p_source_58;
145305 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
145306 l_rec_acct_attrs.array_num_value(2) := p_source_127;
145307 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
145308 l_rec_acct_attrs.array_num_value(3) := p_source_96;
145309 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
145310 l_rec_acct_attrs.array_char_value(4) := p_source_97;
145311 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
145312 l_rec_acct_attrs.array_char_value(5) := p_source_98;
145313 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
145314 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_99);
145315 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
145316 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_100);
145317 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
145318 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_107);
145319 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
145320 l_rec_acct_attrs.array_char_value(9) := p_source_60;
145321 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
145322 l_rec_acct_attrs.array_num_value(10) := p_source_102;
145323 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
145324 l_rec_acct_attrs.array_char_value(11) := p_source_8;
145325 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
145326 l_rec_acct_attrs.array_date_value(12) := p_source_120;
145327 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
145328 l_rec_acct_attrs.array_num_value(13) := p_source_121;
145329 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
145330 l_rec_acct_attrs.array_char_value(14) := p_source_122;
145331 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
145332 l_rec_acct_attrs.array_num_value(15) := p_source_118;
145333 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
145334 l_rec_acct_attrs.array_char_value(16) := p_source_85;
145335 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
145336 l_rec_acct_attrs.array_num_value(17) := p_source_113;
145337 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
145338 l_rec_acct_attrs.array_num_value(18) := p_source_114;
145342 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_115);
145339 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
145340 l_rec_acct_attrs.array_char_value(19) := p_source_88;
145341 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
145343 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
145344 l_rec_acct_attrs.array_char_value(21) := p_source_60;
145345 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
145346 l_rec_acct_attrs.array_num_value(22) := p_source_91;
145347 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
145348 l_rec_acct_attrs.array_num_value(23) := p_source_92;
145349 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
145350 l_rec_acct_attrs.array_num_value(24) := p_source_93;
145351
145352 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
145353 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
145354
145355 ---------------------------------------------------------------------------------------------------------------
145356 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
145357 ---------------------------------------------------------------------------------------------------------------
145358 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
145359
145360 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
145361 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
145362
145363 IF xla_accounting_cache_pkg.GetValueChar
145364 (p_source_code => 'LEDGER_CATEGORY_CODE'
145365 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
145366 AND l_bflow_method_code = 'PRIOR_ENTRY'
145367 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
145368 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
145369 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
145370 )
145371 THEN
145372 xla_ae_lines_pkg.BflowUpgEntry
145373 (p_business_method_code => l_bflow_method_code
145374 ,p_business_class_code => l_bflow_class_code
145375 ,p_balance_type => l_balance_type_code);
145376 ELSE
145377 NULL;
145378 -- No business flow processing for business flow method of NONE.
145379 END IF;
145380
145381 --
145382 -- call analytical criteria
145383 --
145384
145385 --
145386 -- call description
145387 --
145388
145389 xla_ae_lines_pkg.SetLineDescription(
145390 p_ae_header_id => l_ae_header_id
145391 ,p_description => Description_3 (
145392 p_application_id => p_application_id
145393 , p_ae_header_id => l_ae_header_id
145394 , p_source_3 => p_source_3
145395 , p_source_4 => p_source_4
145396 , p_source_5 => p_source_5
145397 , p_source_6 => p_source_6
145398 , p_source_7 => p_source_7
145399 , p_source_8 => p_source_8
145400 )
145401 );
145402
145403
145404 --
145405 -- call ADRs
145406 -- Bug 4922099
145407 --
145408 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
145409 (NVL(l_actual_upg_option, 'N') = 'O') OR
145410 (NVL(l_enc_upg_option, 'N') = 'O')
145411 )
145412 THEN
145413 NULL;
145414 --
145415 --
145416
145417 l_ccid := AcctDerRule_55(
145418 p_application_id => p_application_id
145419 , p_ae_header_id => l_ae_header_id
145420 , p_source_12 => p_source_12
145421 , p_source_30 => p_source_30
145422 , p_source_57 => p_source_57
145423 , x_transaction_coa_id => l_adr_transaction_coa_id
145424 , x_accounting_coa_id => l_adr_accounting_coa_id
145425 , x_value_type_code => l_adr_value_type_code
145426 , p_side => 'NA'
145427 );
145428
145429 xla_ae_lines_pkg.set_ccid(
145430 p_code_combination_id => l_ccid
145431 , p_value_type_code => l_adr_value_type_code
145432 , p_transaction_coa_id => l_adr_transaction_coa_id
145433 , p_accounting_coa_id => l_adr_accounting_coa_id
145434 , p_adr_code => 'FV_INV_PMT_ACCOUNT'
145435 , p_adr_type_code => 'S'
145436 , p_component_type => l_component_type
145437 , p_component_code => l_component_code
145438 , p_component_type_code => l_component_type_code
145439 , p_component_appl_id => l_component_appl_id
145440 , p_amb_context_code => l_amb_context_code
145441 , p_side => 'NA'
145442 );
145443
145444
145445 l_segment := AcctDerRule_51(
145446 p_application_id => p_application_id
145447 , p_ae_header_id => l_ae_header_id
145448 , p_source_28 => p_source_28
145449 , p_source_28_meaning => p_source_28_meaning
145450 , p_source_52 => p_source_52
145451 , p_source_53 => p_source_53
145452 , p_source_54 => p_source_54
145453 , p_source_54_meaning => p_source_54_meaning
145454 , p_source_55 => p_source_55
145455 , x_transaction_coa_id => l_adr_transaction_coa_id
145456 , x_accounting_coa_id => l_adr_accounting_coa_id
145457 , x_flexfield_segment_code => l_adr_flexfield_segment_code
145458 , x_flex_value_set_id => l_adr_flex_value_set_id
145459 , x_value_type_code => l_adr_value_type_code
145460 , x_value_combination_id => l_adr_value_combination_id
145461 , x_value_segment_code => l_adr_value_segment_code
145462 , p_side => 'NA'
145463 , p_override_seg_flag => 'Y'
145464 );
145465
145469 p_to_segment_code => 'GL_ACCOUNT'
145466 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
145467
145468 xla_ae_lines_pkg.set_segment(
145470 , p_segment_value => l_segment
145471 , p_from_segment_code => l_adr_value_segment_code
145472 , p_from_combination_id => l_adr_value_combination_id
145473 , p_value_type_code => l_adr_value_type_code
145474 , p_transaction_coa_id => l_adr_transaction_coa_id
145475 , p_accounting_coa_id => l_adr_accounting_coa_id
145476 , p_flexfield_segment_code => l_adr_flexfield_segment_code
145477 , p_flex_value_set_id => l_adr_flex_value_set_id
145478 , p_adr_code => 'FV_490X01_OBL_ACCOUNT'
145479 , p_adr_type_code => 'S'
145480 , p_component_type => l_component_type
145481 , p_component_code => l_component_code
145482 , p_component_type_code => l_component_type_code
145483 , p_component_appl_id => l_component_appl_id
145484 , p_amb_context_code => l_amb_context_code
145485 , p_entity_code => 'AP_PAYMENTS'
145486 , p_event_class_code => 'PAYMENTS'
145487 , p_side => 'NA'
145488 );
145489
145490 END IF;
145491
145492 l_segment := AcctDerRule_27(
145493 p_application_id => p_application_id
145494 , p_ae_header_id => l_ae_header_id
145495 , p_source_10 => p_source_10
145496 , p_source_10_meaning => p_source_10_meaning
145497 , p_source_25 => p_source_25
145498 , p_source_29 => p_source_29
145499 , x_transaction_coa_id => l_adr_transaction_coa_id
145500 , x_accounting_coa_id => l_adr_accounting_coa_id
145501 , x_flexfield_segment_code => l_adr_flexfield_segment_code
145502 , x_flex_value_set_id => l_adr_flex_value_set_id
145503 , x_value_type_code => l_adr_value_type_code
145504 , x_value_combination_id => l_adr_value_combination_id
145505 , x_value_segment_code => l_adr_value_segment_code
145506 , p_side => 'NA'
145507 , p_override_seg_flag => 'Y'
145508 );
145509
145510 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
145511
145512 xla_ae_lines_pkg.set_segment(
145513 p_to_segment_code => 'GL_BALANCING'
145514 , p_segment_value => l_segment
145515 , p_from_segment_code => l_adr_value_segment_code
145516 , p_from_combination_id => l_adr_value_combination_id
145517 , p_value_type_code => l_adr_value_type_code
145518 , p_transaction_coa_id => l_adr_transaction_coa_id
145519 , p_accounting_coa_id => l_adr_accounting_coa_id
145520 , p_flexfield_segment_code => l_adr_flexfield_segment_code
145521 , p_flex_value_set_id => l_adr_flex_value_set_id
145522 , p_adr_code => 'FV_INV_PMT_BAL_SEG'
145523 , p_adr_type_code => 'S'
145524 , p_component_type => l_component_type
145525 , p_component_code => l_component_code
145526 , p_component_type_code => l_component_type_code
145527 , p_component_appl_id => l_component_appl_id
145528 , p_amb_context_code => l_amb_context_code
145529 , p_entity_code => 'AP_PAYMENTS'
145530 , p_event_class_code => 'PAYMENTS'
145531 , p_side => 'NA'
145532 );
145533
145534 END IF;
145535
145536 --
145537 --
145538 END IF;
145539 --
145540 -- Bug 4922099
145541 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
145542 (NVL(l_enc_upg_option, 'N') = 'O')
145543 ) AND
145544 (l_bflow_method_code = 'PRIOR_ENTRY')
145545 )
145546 THEN
145547 IF
145548 --
145549 1 = 2
145550 --
145551 THEN
145552 xla_accounting_err_pkg.build_message
145553 (p_appli_s_name => 'XLA'
145554 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
145555 ,p_token_1 => 'LINE_NUMBER'
145556 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
145557 ,p_token_2 => 'LINE_TYPE_NAME'
145558 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
145559 l_component_type
145560 ,l_component_code
145561 ,l_component_type_code
145562 ,l_component_appl_id
145563 ,l_amb_context_code
145564 ,l_entity_code
145565 ,l_event_class_code
145566 )
145567 ,p_token_3 => 'OWNER'
145568 ,p_value_3 => xla_lookups_pkg.get_meaning(
145569 p_lookup_type => 'XLA_OWNER_TYPE'
145570 ,p_lookup_code => l_component_type_code
145571 )
145572 ,p_token_4 => 'PRODUCT_NAME'
145573 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
145577 ,p_ae_header_id => NULL
145574 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
145575 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
145576 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
145578 );
145579
145580 IF (C_LEVEL_ERROR>= g_log_level) THEN
145581 trace
145582 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
145583 ,p_level => C_LEVEL_ERROR
145584 ,p_module => l_log_module);
145585 END IF;
145586 END IF;
145587 END IF;
145588 --
145589 --
145590 ------------------------------------------------------------------------------------------------
145591 -- 4219869 Business Flow
145592 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
145593 -- Prior Entry. Currently, the following code is always generated.
145594 ------------------------------------------------------------------------------------------------
145595 XLA_AE_LINES_PKG.ValidateCurrentLine;
145596
145597 ------------------------------------------------------------------------------------
145598 -- 4219869 Business Flow
145599 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
145600 ------------------------------------------------------------------------------------
145601 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
145602
145603 ----------------------------------------------------------------------------------
145604 -- 4219869 Business Flow
145605 -- Update journal entry status -- Need to generate this within IF <condition>
145606 ----------------------------------------------------------------------------------
145607 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
145608 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
145609 ,p_balance_type_code => l_balance_type_code
145610 );
145611
145612 -------------------------------------------------------------------------------------------
145613 -- 4262811 - Generate the Accrual Reversal lines
145614 -------------------------------------------------------------------------------------------
145615 BEGIN
145616 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
145617 (g_array_event(p_event_id).array_value_num('header_index'));
145618 IF l_acc_rev_flag IS NULL THEN
145619 l_acc_rev_flag := 'N';
145620 END IF;
145621 EXCEPTION
145622 WHEN OTHERS THEN
145623 l_acc_rev_flag := 'N';
145624 END;
145625 --
145626 IF (l_acc_rev_flag = 'Y') THEN
145627
145628 -- 4645092 ------------------------------------------------------------------------------
145629 -- To allow MPA report to determine if it should generate report process
145630 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
145631 ------------------------------------------------------------------------------------------
145632
145633 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
145634 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
145635 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
145636 -- call ADRs
145637 -- Bug 4922099
145638 --
145639 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
145640 (NVL(l_actual_upg_option, 'N') = 'O') OR
145641 (NVL(l_enc_upg_option, 'N') = 'O')
145642 )
145643 THEN
145644 NULL;
145645 --
145646 --
145647
145648 l_ccid := AcctDerRule_55(
145649 p_application_id => p_application_id
145650 , p_ae_header_id => l_ae_header_id
145651 , p_source_12 => p_source_12
145652 , p_source_30 => p_source_30
145653 , p_source_57 => p_source_57
145654 , x_transaction_coa_id => l_adr_transaction_coa_id
145655 , x_accounting_coa_id => l_adr_accounting_coa_id
145656 , x_value_type_code => l_adr_value_type_code
145657 , p_side => 'NA'
145658 );
145659
145660 xla_ae_lines_pkg.set_ccid(
145661 p_code_combination_id => l_ccid
145662 , p_value_type_code => l_adr_value_type_code
145663 , p_transaction_coa_id => l_adr_transaction_coa_id
145664 , p_accounting_coa_id => l_adr_accounting_coa_id
145665 , p_adr_code => 'FV_INV_PMT_ACCOUNT'
145666 , p_adr_type_code => 'S'
145667 , p_component_type => l_component_type
145668 , p_component_code => l_component_code
145669 , p_component_type_code => l_component_type_code
145670 , p_component_appl_id => l_component_appl_id
145671 , p_amb_context_code => l_amb_context_code
145672 , p_side => 'NA'
145673 );
145674
145675
145676 l_segment := AcctDerRule_51(
145677 p_application_id => p_application_id
145678 , p_ae_header_id => l_ae_header_id
145679 , p_source_28 => p_source_28
145680 , p_source_28_meaning => p_source_28_meaning
145681 , p_source_52 => p_source_52
145682 , p_source_53 => p_source_53
145683 , p_source_54 => p_source_54
145684 , p_source_54_meaning => p_source_54_meaning
145685 , p_source_55 => p_source_55
145686 , x_transaction_coa_id => l_adr_transaction_coa_id
145687 , x_accounting_coa_id => l_adr_accounting_coa_id
145688 , x_flexfield_segment_code => l_adr_flexfield_segment_code
145689 , x_flex_value_set_id => l_adr_flex_value_set_id
145690 , x_value_type_code => l_adr_value_type_code
145691 , x_value_combination_id => l_adr_value_combination_id
145695 );
145692 , x_value_segment_code => l_adr_value_segment_code
145693 , p_side => 'NA'
145694 , p_override_seg_flag => 'Y'
145696
145697 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
145698
145699 xla_ae_lines_pkg.set_segment(
145700 p_to_segment_code => 'GL_ACCOUNT'
145701 , p_segment_value => l_segment
145702 , p_from_segment_code => l_adr_value_segment_code
145703 , p_from_combination_id => l_adr_value_combination_id
145704 , p_value_type_code => l_adr_value_type_code
145705 , p_transaction_coa_id => l_adr_transaction_coa_id
145706 , p_accounting_coa_id => l_adr_accounting_coa_id
145707 , p_flexfield_segment_code => l_adr_flexfield_segment_code
145708 , p_flex_value_set_id => l_adr_flex_value_set_id
145709 , p_adr_code => 'FV_490X01_OBL_ACCOUNT'
145710 , p_adr_type_code => 'S'
145711 , p_component_type => l_component_type
145712 , p_component_code => l_component_code
145713 , p_component_type_code => l_component_type_code
145714 , p_component_appl_id => l_component_appl_id
145715 , p_amb_context_code => l_amb_context_code
145716 , p_entity_code => 'AP_PAYMENTS'
145717 , p_event_class_code => 'PAYMENTS'
145718 , p_side => 'NA'
145719 );
145720
145721 END IF;
145722
145723 l_segment := AcctDerRule_27(
145724 p_application_id => p_application_id
145725 , p_ae_header_id => l_ae_header_id
145726 , p_source_10 => p_source_10
145727 , p_source_10_meaning => p_source_10_meaning
145728 , p_source_25 => p_source_25
145729 , p_source_29 => p_source_29
145730 , x_transaction_coa_id => l_adr_transaction_coa_id
145731 , x_accounting_coa_id => l_adr_accounting_coa_id
145732 , x_flexfield_segment_code => l_adr_flexfield_segment_code
145733 , x_flex_value_set_id => l_adr_flex_value_set_id
145734 , x_value_type_code => l_adr_value_type_code
145735 , x_value_combination_id => l_adr_value_combination_id
145736 , x_value_segment_code => l_adr_value_segment_code
145737 , p_side => 'NA'
145738 , p_override_seg_flag => 'Y'
145739 );
145740
145741 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
145742
145743 xla_ae_lines_pkg.set_segment(
145744 p_to_segment_code => 'GL_BALANCING'
145745 , p_segment_value => l_segment
145746 , p_from_segment_code => l_adr_value_segment_code
145747 , p_from_combination_id => l_adr_value_combination_id
145748 , p_value_type_code => l_adr_value_type_code
145749 , p_transaction_coa_id => l_adr_transaction_coa_id
145750 , p_accounting_coa_id => l_adr_accounting_coa_id
145751 , p_flexfield_segment_code => l_adr_flexfield_segment_code
145752 , p_flex_value_set_id => l_adr_flex_value_set_id
145753 , p_adr_code => 'FV_INV_PMT_BAL_SEG'
145754 , p_adr_type_code => 'S'
145755 , p_component_type => l_component_type
145756 , p_component_code => l_component_code
145757 , p_component_type_code => l_component_type_code
145758 , p_component_appl_id => l_component_appl_id
145759 , p_amb_context_code => l_amb_context_code
145760 , p_entity_code => 'AP_PAYMENTS'
145761 , p_event_class_code => 'PAYMENTS'
145762 , p_side => 'NA'
145763 );
145764
145765 END IF;
145766
145767 --
145768 --
145769 END IF;
145770
145771 --
145772 -- Update the line information that should be overwritten
145773 --
145774 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
145775 p_header_num => 1);
145776 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
145777
145778 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
145779
145780 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
145781 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
145782 END IF;
145783
145784 --
145785 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
145786 --
145787 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
145788 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
145789 ELSE
145790 ---------------------------------------------------------------------------------------------------
145791 -- 4262811a Switch Sign
145792 ---------------------------------------------------------------------------------------------------
145793 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
145794 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
145795 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
145796 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
145797 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
145798 -- 5132302
145799 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
145800 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
145801
145802 END IF;
145803
145804 -- 4955764
145808
145805 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
145806 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
145807
145809 XLA_AE_LINES_PKG.ValidateCurrentLine;
145810 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
145811
145812 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
145813 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
145814 ,p_balance_type_code => l_balance_type_code);
145815
145816 END IF;
145817
145818 -----------------------------------------------------------------------------------------
145819 -- 4262811 Multiperiod Accounting
145820 -----------------------------------------------------------------------------------------
145821 -- No MPA option is assigned.
145822
145823
145824 END IF;
145825 END IF;
145826 --
145827
145828 --
145829 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
145830 trace
145831 (p_msg => 'END of AcctLineType_239'
145832 ,p_level => C_LEVEL_PROCEDURE
145833 ,p_module => l_log_module);
145834 END IF;
145835 --
145836 EXCEPTION
145837 WHEN xla_exceptions_pkg.application_exception THEN
145838 RAISE;
145839 WHEN OTHERS THEN
145840 xla_exceptions_pkg.raise_message
145841 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_239');
145842 END AcctLineType_239;
145843 --
145844
145845 ---------------------------------------
145846 --
145847 -- PRIVATE FUNCTION
145848 -- AcctLineType_240
145849 --
145850 ---------------------------------------
145851 PROCEDURE AcctLineType_240 (
145852 p_application_id IN NUMBER
145853 ,p_event_id IN NUMBER
145854 ,p_calculate_acctd_flag IN VARCHAR2
145855 ,p_calculate_g_l_flag IN VARCHAR2
145856 ,p_actual_flag IN OUT VARCHAR2
145857 ,p_balance_type_code OUT VARCHAR2
145858 ,p_gain_or_loss_ref OUT VARCHAR2
145859
145860 --Document Sequence Name
145861 , p_source_3 IN VARCHAR2
145862 --Payment Document Voucher Number
145863 , p_source_4 IN NUMBER
145864 --Payment Transaction Number
145865 , p_source_5 IN NUMBER
145866 --Payment Document Date
145867 , p_source_6 IN DATE
145868 --Bank Account Name
145869 , p_source_7 IN VARCHAR2
145870 --Payment Currency Code
145871 , p_source_8 IN VARCHAR2
145872 --Automatic Offsets Value
145873 , p_source_10 IN VARCHAR2
145874 , p_source_10_meaning IN VARCHAR2
145875 --Bank Cash Account
145876 , p_source_12 IN NUMBER
145877 --Invoice Distribution Account
145878 , p_source_25 IN NUMBER
145879 --Invoice Liability Account
145880 , p_source_29 IN NUMBER
145881 --Bank Cash Clearing Account
145882 , p_source_30 IN NUMBER
145883 --Federal Fund Category
145884 , p_source_49 IN VARCHAR2
145885 --Federal Fund Expired Status
145886 , p_source_50 IN VARCHAR2
145887 --Federal Fund Category Description
145888 , p_source_51 IN VARCHAR2
145889 --Invoice Type Paid
145890 , p_source_56 IN VARCHAR2
145891 , p_source_56_meaning IN VARCHAR2
145892 --When to Account for Payment Option
145893 , p_source_57 IN VARCHAR2
145894 --Accounting Reversal Indicator
145895 , p_source_58 IN VARCHAR2
145896 --Distribution Link Type
145897 , p_source_60 IN VARCHAR2
145898 --Override Accounted Amount Indicator
145899 , p_source_85 IN VARCHAR2
145900 , p_source_85_meaning IN VARCHAR2
145901 --Third Party Type
145902 , p_source_88 IN VARCHAR2
145903 --Invoice Distribution Tax Line Identifier
145904 , p_source_91 IN NUMBER
145905 --Invoice Distribution Tax Distribution Identifier from Tax
145906 , p_source_92 IN NUMBER
145907 --Invoice Distribution Summary Tax Line Identifier
145908 , p_source_93 IN NUMBER
145909 --Business Flow Accounts Payable Application Identifier
145910 , p_source_96 IN NUMBER
145911 --Business Flow Invoice Distribution Type
145912 , p_source_97 IN VARCHAR2
145913 --Business Flow Invoice Entity Code
145914 , p_source_98 IN VARCHAR2
145915 --Business Flow Invoice Distribution Identifier
145916 , p_source_99 IN NUMBER
145917 --Business Flow Invoice Identifier
145918 , p_source_100 IN NUMBER
145919 --Payment Distribution Amount
145920 , p_source_102 IN NUMBER
145921 --Payment Distribution Identifier
145922 , p_source_107 IN NUMBER
145923 --Payment Supplier Identifier
145924 , p_source_113 IN NUMBER
145925 --Payment Supplier Site Identifier
145926 , p_source_114 IN NUMBER
145927 --Payment Distribution Reversed Identifier
145928 , p_source_115 IN NUMBER
145929 --Payment Distribution (Payment Rate) Ledger Amount
145930 , p_source_118 IN NUMBER
145931 --Payment Exchange Date
145932 , p_source_120 IN DATE
145933 --Payment Exchange Rate
145934 , p_source_121 IN NUMBER
145935 --Payment Exchange Rate Type
145936 , p_source_122 IN VARCHAR2
145937 --Invoice Distribution Amount of the Payment Distribution
145938 , p_source_127 IN NUMBER
145939 )
145940 IS
145941
145942 l_component_type VARCHAR2(80);
145943 l_component_code VARCHAR2(30);
145944 l_component_type_code VARCHAR2(1);
145945 l_component_appl_id INTEGER;
145946 l_amb_context_code VARCHAR2(30);
145947 l_entity_code VARCHAR2(30);
145948 l_event_class_code VARCHAR2(30);
145949 l_ae_header_id NUMBER;
145950 l_event_type_code VARCHAR2(30);
145951 l_line_definition_code VARCHAR2(30);
145955 l_segment VARCHAR2(30);
145952 l_line_definition_owner_code VARCHAR2(1);
145953 --
145954 -- adr variables
145956 l_ccid NUMBER;
145957 l_adr_transaction_coa_id NUMBER;
145958 l_adr_accounting_coa_id NUMBER;
145959 l_adr_flexfield_segment_code VARCHAR2(30);
145960 l_adr_flex_value_set_id NUMBER;
145961 l_adr_value_type_code VARCHAR2(30);
145962 l_adr_value_combination_id NUMBER;
145963 l_adr_value_segment_code VARCHAR2(30);
145964
145965 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
145966 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
145967 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
145968 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
145969
145970 -- 4262811 Variables ------------------------------------------------------------------------------------------
145971 l_entered_amt_idx NUMBER;
145972 l_accted_amt_idx NUMBER;
145973 l_acc_rev_flag VARCHAR2(1);
145974 l_accrual_line_num NUMBER;
145975 l_tmp_amt NUMBER;
145976 l_acc_rev_natural_side_code VARCHAR2(1);
145977
145978 l_num_entries NUMBER;
145979 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
145980 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
145981 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
145982 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
145983 l_recog_line_1 NUMBER;
145984 l_recog_line_2 NUMBER;
145985
145986 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
145987 l_bflow_applied_to_amt NUMBER; -- 5132302
145988 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
145989
145990 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
145991
145992 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
145993 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
145994
145995 ---------------------------------------------------------------------------------------------------------------
145996
145997
145998 --
145999 -- bulk performance
146000 --
146001 l_balance_type_code VARCHAR2(1);
146002 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
146003 l_log_module VARCHAR2(240);
146004
146005 --
146006 -- Upgrade strategy
146007 --
146008 l_actual_upg_option VARCHAR2(1);
146009 l_enc_upg_option VARCHAR2(1);
146010
146011 --
146012 BEGIN
146013 --
146014 IF g_log_enabled THEN
146015 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_240';
146016 END IF;
146017 --
146018 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
146019
146020 trace
146021 (p_msg => 'BEGIN of AcctLineType_240'
146022 ,p_level => C_LEVEL_PROCEDURE
146023 ,p_module => l_log_module);
146024
146025 END IF;
146026 --
146027 l_component_type := 'AMB_JLT';
146028 l_component_code := 'FV_AP_DIRECT_EXP_PAYMENT_DR';
146029 l_component_type_code := 'S';
146030 l_component_appl_id := 200;
146031 l_amb_context_code := 'DEFAULT';
146032 l_entity_code := 'AP_PAYMENTS';
146033 l_event_class_code := 'PAYMENTS';
146034 l_event_type_code := 'PAYMENTS_ALL';
146035 l_line_definition_owner_code := 'S';
146036 l_line_definition_code := 'FV_AP_ACCRUAL_PAYMENTS_ALL';
146037 --
146038 l_balance_type_code := 'A';
146039 l_segment := NULL;
146040 l_ccid := NULL;
146041 l_adr_transaction_coa_id := NULL;
146042 l_adr_accounting_coa_id := NULL;
146043 l_adr_flexfield_segment_code := NULL;
146044 l_adr_flex_value_set_id := NULL;
146045 l_adr_value_type_code := NULL;
146046 l_adr_value_combination_id := NULL;
146047 l_adr_value_segment_code := NULL;
146048
146049 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
146050 l_bflow_class_code := ''; -- 4219869 Business Flow
146051 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
146052 l_budgetary_control_flag := 'N';
146053
146054 l_bflow_applied_to_amt_idx := NULL; -- 5132302
146055 l_bflow_applied_to_amt := NULL; -- 5132302
146056 l_entered_amt_idx := NULL; -- 4262811
146057 l_accted_amt_idx := NULL; -- 4262811
146058 l_acc_rev_flag := NULL; -- 4262811
146059 l_accrual_line_num := NULL; -- 4262811
146060 l_tmp_amt := NULL; -- 4262811
146061 --
146062
146063 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
146064 l_balance_type_code <> 'B' THEN
146065 IF NVL(p_source_56,'
146066 ') = 'INTEREST'
146067 THEN
146068
146069 --
146070 XLA_AE_LINES_PKG.SetNewLine;
146071
146072 p_balance_type_code := l_balance_type_code;
146073 -- set the flag so later we will know whether the gain loss line needs to be created
146074
146075 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
146076 p_actual_flag :='A';
146077 END IF;
146078
146079 --
146080 -- bulk performance
146081 --
146082 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
146083 p_header_num => 0); -- 4262811
146084 --
146085 -- set accounting line options
146086 --
146087 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
146088 p_natural_side_code => 'D'
146089 , p_gain_or_loss_flag => 'N'
146090 , p_gl_transfer_mode_code => 'S'
146094 );
146091 , p_acct_entry_type_code => 'A'
146092 , p_switch_side_flag => 'N'
146093 , p_merge_duplicate_code => 'N'
146095 --
146096 l_acc_rev_natural_side_code := 'C'; -- 4262811
146097 --
146098 --
146099 -- set accounting line type info
146100 --
146101 xla_ae_lines_pkg.SetAcctLineType
146102 (p_component_type => l_component_type
146103 ,p_event_type_code => l_event_type_code
146104 ,p_line_definition_owner_code => l_line_definition_owner_code
146105 ,p_line_definition_code => l_line_definition_code
146106 ,p_accounting_line_code => l_component_code
146107 ,p_accounting_line_type_code => l_component_type_code
146108 ,p_accounting_line_appl_id => l_component_appl_id
146109 ,p_amb_context_code => l_amb_context_code
146110 ,p_entity_code => l_entity_code
146111 ,p_event_class_code => l_event_class_code);
146112 --
146113 -- set accounting class
146114 --
146115 xla_ae_lines_pkg.SetAcctClass(
146116 p_accounting_class_code => 'ACCOUNTSPAYABLE'
146117 , p_ae_header_id => l_ae_header_id
146118 );
146119
146120 --
146121 -- set rounding class
146122 --
146123 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
146124 'ACCOUNTSPAYABLE';
146125
146126 --
146127 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
146128 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
146129 --
146130 -- bulk performance
146131 --
146132 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
146133
146134 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
146135 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
146136
146137 -- 4955764
146138 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
146139 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
146140
146141 -- 4458381 Public Sector Enh
146142
146143 --
146144 -- set accounting attributes for the line type
146145 --
146146 l_entered_amt_idx := 10;
146147 l_accted_amt_idx := 15;
146148 l_bflow_applied_to_amt_idx := 2; -- 5132302
146149 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
146150 l_rec_acct_attrs.array_char_value(1) := p_source_58;
146151 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
146152 l_rec_acct_attrs.array_num_value(2) := p_source_127;
146153 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
146154 l_rec_acct_attrs.array_num_value(3) := p_source_96;
146155 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
146156 l_rec_acct_attrs.array_char_value(4) := p_source_97;
146157 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
146158 l_rec_acct_attrs.array_char_value(5) := p_source_98;
146159 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
146160 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_99);
146161 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
146162 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_100);
146163 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
146164 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_107);
146165 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
146166 l_rec_acct_attrs.array_char_value(9) := p_source_60;
146167 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
146168 l_rec_acct_attrs.array_num_value(10) := p_source_102;
146169 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
146170 l_rec_acct_attrs.array_char_value(11) := p_source_8;
146171 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
146172 l_rec_acct_attrs.array_date_value(12) := p_source_120;
146173 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
146174 l_rec_acct_attrs.array_num_value(13) := p_source_121;
146175 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
146176 l_rec_acct_attrs.array_char_value(14) := p_source_122;
146177 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
146178 l_rec_acct_attrs.array_num_value(15) := p_source_118;
146179 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
146180 l_rec_acct_attrs.array_char_value(16) := p_source_85;
146181 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
146182 l_rec_acct_attrs.array_num_value(17) := p_source_113;
146183 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
146184 l_rec_acct_attrs.array_num_value(18) := p_source_114;
146185 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
146186 l_rec_acct_attrs.array_char_value(19) := p_source_88;
146187 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
146188 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_115);
146189 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
146190 l_rec_acct_attrs.array_char_value(21) := p_source_60;
146191 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
146192 l_rec_acct_attrs.array_num_value(22) := p_source_91;
146193 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
146194 l_rec_acct_attrs.array_num_value(23) := p_source_92;
146195 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
146196 l_rec_acct_attrs.array_num_value(24) := p_source_93;
146197
146198 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
146199 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
146200
146204 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
146201 ---------------------------------------------------------------------------------------------------------------
146202 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
146203 ---------------------------------------------------------------------------------------------------------------
146205
146206 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
146207 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
146208
146209 IF xla_accounting_cache_pkg.GetValueChar
146210 (p_source_code => 'LEDGER_CATEGORY_CODE'
146211 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
146212 AND l_bflow_method_code = 'PRIOR_ENTRY'
146213 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
146214 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
146215 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
146216 )
146217 THEN
146218 xla_ae_lines_pkg.BflowUpgEntry
146219 (p_business_method_code => l_bflow_method_code
146220 ,p_business_class_code => l_bflow_class_code
146221 ,p_balance_type => l_balance_type_code);
146222 ELSE
146223 NULL;
146224 -- No business flow processing for business flow method of NONE.
146225 END IF;
146226
146227 --
146228 -- call analytical criteria
146229 --
146230
146231 --
146232 -- call description
146233 --
146234
146235 xla_ae_lines_pkg.SetLineDescription(
146236 p_ae_header_id => l_ae_header_id
146237 ,p_description => Description_3 (
146238 p_application_id => p_application_id
146239 , p_ae_header_id => l_ae_header_id
146240 , p_source_3 => p_source_3
146241 , p_source_4 => p_source_4
146242 , p_source_5 => p_source_5
146243 , p_source_6 => p_source_6
146244 , p_source_7 => p_source_7
146245 , p_source_8 => p_source_8
146246 )
146247 );
146248
146249
146250 --
146251 -- call ADRs
146252 -- Bug 4922099
146253 --
146254 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
146255 (NVL(l_actual_upg_option, 'N') = 'O') OR
146256 (NVL(l_enc_upg_option, 'N') = 'O')
146257 )
146258 THEN
146259 NULL;
146260 --
146261 --
146262
146263 l_ccid := AcctDerRule_55(
146264 p_application_id => p_application_id
146265 , p_ae_header_id => l_ae_header_id
146266 , p_source_12 => p_source_12
146267 , p_source_30 => p_source_30
146268 , p_source_57 => p_source_57
146269 , x_transaction_coa_id => l_adr_transaction_coa_id
146270 , x_accounting_coa_id => l_adr_accounting_coa_id
146271 , x_value_type_code => l_adr_value_type_code
146272 , p_side => 'NA'
146273 );
146274
146275 xla_ae_lines_pkg.set_ccid(
146276 p_code_combination_id => l_ccid
146277 , p_value_type_code => l_adr_value_type_code
146278 , p_transaction_coa_id => l_adr_transaction_coa_id
146279 , p_accounting_coa_id => l_adr_accounting_coa_id
146280 , p_adr_code => 'FV_INV_PMT_ACCOUNT'
146281 , p_adr_type_code => 'S'
146282 , p_component_type => l_component_type
146283 , p_component_code => l_component_code
146284 , p_component_type_code => l_component_type_code
146285 , p_component_appl_id => l_component_appl_id
146286 , p_amb_context_code => l_amb_context_code
146287 , p_side => 'NA'
146288 );
146289
146290
146291 l_segment := AcctDerRule_50(
146292 p_application_id => p_application_id
146293 , p_ae_header_id => l_ae_header_id
146294 , p_source_49 => p_source_49
146295 , p_source_50 => p_source_50
146296 , p_source_51 => p_source_51
146297 , x_transaction_coa_id => l_adr_transaction_coa_id
146298 , x_accounting_coa_id => l_adr_accounting_coa_id
146299 , x_flexfield_segment_code => l_adr_flexfield_segment_code
146300 , x_flex_value_set_id => l_adr_flex_value_set_id
146301 , x_value_type_code => l_adr_value_type_code
146302 , x_value_combination_id => l_adr_value_combination_id
146303 , x_value_segment_code => l_adr_value_segment_code
146304 , p_side => 'NA'
146305 , p_override_seg_flag => 'Y'
146306 );
146307
146308 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
146309
146310 xla_ae_lines_pkg.set_segment(
146311 p_to_segment_code => 'GL_ACCOUNT'
146312 , p_segment_value => l_segment
146313 , p_from_segment_code => l_adr_value_segment_code
146314 , p_from_combination_id => l_adr_value_combination_id
146315 , p_value_type_code => l_adr_value_type_code
146316 , p_transaction_coa_id => l_adr_transaction_coa_id
146317 , p_accounting_coa_id => l_adr_accounting_coa_id
146318 , p_flexfield_segment_code => l_adr_flexfield_segment_code
146319 , p_flex_value_set_id => l_adr_flex_value_set_id
146320 , p_adr_code => 'FV_46X002_ALLOTMENT_RES_ACCT'
146321 , p_adr_type_code => 'S'
146322 , p_component_type => l_component_type
146323 , p_component_code => l_component_code
146324 , p_component_type_code => l_component_type_code
146325 , p_component_appl_id => l_component_appl_id
146326 , p_amb_context_code => l_amb_context_code
146327 , p_entity_code => 'AP_PAYMENTS'
146331
146328 , p_event_class_code => 'PAYMENTS'
146329 , p_side => 'NA'
146330 );
146332 END IF;
146333
146334 l_segment := AcctDerRule_27(
146335 p_application_id => p_application_id
146336 , p_ae_header_id => l_ae_header_id
146337 , p_source_10 => p_source_10
146338 , p_source_10_meaning => p_source_10_meaning
146339 , p_source_25 => p_source_25
146340 , p_source_29 => p_source_29
146341 , x_transaction_coa_id => l_adr_transaction_coa_id
146342 , x_accounting_coa_id => l_adr_accounting_coa_id
146343 , x_flexfield_segment_code => l_adr_flexfield_segment_code
146344 , x_flex_value_set_id => l_adr_flex_value_set_id
146345 , x_value_type_code => l_adr_value_type_code
146346 , x_value_combination_id => l_adr_value_combination_id
146347 , x_value_segment_code => l_adr_value_segment_code
146348 , p_side => 'NA'
146349 , p_override_seg_flag => 'Y'
146350 );
146351
146352 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
146353
146354 xla_ae_lines_pkg.set_segment(
146355 p_to_segment_code => 'GL_BALANCING'
146356 , p_segment_value => l_segment
146357 , p_from_segment_code => l_adr_value_segment_code
146358 , p_from_combination_id => l_adr_value_combination_id
146359 , p_value_type_code => l_adr_value_type_code
146360 , p_transaction_coa_id => l_adr_transaction_coa_id
146361 , p_accounting_coa_id => l_adr_accounting_coa_id
146362 , p_flexfield_segment_code => l_adr_flexfield_segment_code
146363 , p_flex_value_set_id => l_adr_flex_value_set_id
146364 , p_adr_code => 'FV_INV_PMT_BAL_SEG'
146365 , p_adr_type_code => 'S'
146366 , p_component_type => l_component_type
146367 , p_component_code => l_component_code
146368 , p_component_type_code => l_component_type_code
146369 , p_component_appl_id => l_component_appl_id
146370 , p_amb_context_code => l_amb_context_code
146371 , p_entity_code => 'AP_PAYMENTS'
146372 , p_event_class_code => 'PAYMENTS'
146373 , p_side => 'NA'
146374 );
146375
146376 END IF;
146377
146378 --
146379 --
146380 END IF;
146381 --
146382 -- Bug 4922099
146383 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
146384 (NVL(l_enc_upg_option, 'N') = 'O')
146385 ) AND
146386 (l_bflow_method_code = 'PRIOR_ENTRY')
146387 )
146388 THEN
146389 IF
146390 --
146391 1 = 2
146392 --
146393 THEN
146394 xla_accounting_err_pkg.build_message
146395 (p_appli_s_name => 'XLA'
146396 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
146397 ,p_token_1 => 'LINE_NUMBER'
146398 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
146399 ,p_token_2 => 'LINE_TYPE_NAME'
146400 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
146401 l_component_type
146402 ,l_component_code
146403 ,l_component_type_code
146404 ,l_component_appl_id
146405 ,l_amb_context_code
146406 ,l_entity_code
146407 ,l_event_class_code
146408 )
146409 ,p_token_3 => 'OWNER'
146410 ,p_value_3 => xla_lookups_pkg.get_meaning(
146411 p_lookup_type => 'XLA_OWNER_TYPE'
146412 ,p_lookup_code => l_component_type_code
146413 )
146414 ,p_token_4 => 'PRODUCT_NAME'
146415 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
146416 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
146417 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
146418 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
146419 ,p_ae_header_id => NULL
146420 );
146421
146422 IF (C_LEVEL_ERROR>= g_log_level) THEN
146423 trace
146424 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
146425 ,p_level => C_LEVEL_ERROR
146426 ,p_module => l_log_module);
146427 END IF;
146428 END IF;
146429 END IF;
146430 --
146431 --
146432 ------------------------------------------------------------------------------------------------
146433 -- 4219869 Business Flow
146434 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
146435 -- Prior Entry. Currently, the following code is always generated.
146439 ------------------------------------------------------------------------------------
146436 ------------------------------------------------------------------------------------------------
146437 XLA_AE_LINES_PKG.ValidateCurrentLine;
146438
146440 -- 4219869 Business Flow
146441 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
146442 ------------------------------------------------------------------------------------
146443 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
146444
146445 ----------------------------------------------------------------------------------
146446 -- 4219869 Business Flow
146447 -- Update journal entry status -- Need to generate this within IF <condition>
146448 ----------------------------------------------------------------------------------
146449 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
146450 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
146451 ,p_balance_type_code => l_balance_type_code
146452 );
146453
146454 -------------------------------------------------------------------------------------------
146455 -- 4262811 - Generate the Accrual Reversal lines
146456 -------------------------------------------------------------------------------------------
146457 BEGIN
146458 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
146459 (g_array_event(p_event_id).array_value_num('header_index'));
146460 IF l_acc_rev_flag IS NULL THEN
146461 l_acc_rev_flag := 'N';
146462 END IF;
146463 EXCEPTION
146464 WHEN OTHERS THEN
146465 l_acc_rev_flag := 'N';
146466 END;
146467 --
146468 IF (l_acc_rev_flag = 'Y') THEN
146469
146470 -- 4645092 ------------------------------------------------------------------------------
146471 -- To allow MPA report to determine if it should generate report process
146472 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
146473 ------------------------------------------------------------------------------------------
146474
146475 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
146476 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
146477 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
146478 -- call ADRs
146479 -- Bug 4922099
146480 --
146481 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
146482 (NVL(l_actual_upg_option, 'N') = 'O') OR
146483 (NVL(l_enc_upg_option, 'N') = 'O')
146484 )
146485 THEN
146486 NULL;
146487 --
146488 --
146489
146490 l_ccid := AcctDerRule_55(
146491 p_application_id => p_application_id
146492 , p_ae_header_id => l_ae_header_id
146493 , p_source_12 => p_source_12
146494 , p_source_30 => p_source_30
146495 , p_source_57 => p_source_57
146496 , x_transaction_coa_id => l_adr_transaction_coa_id
146497 , x_accounting_coa_id => l_adr_accounting_coa_id
146498 , x_value_type_code => l_adr_value_type_code
146499 , p_side => 'NA'
146500 );
146501
146502 xla_ae_lines_pkg.set_ccid(
146503 p_code_combination_id => l_ccid
146504 , p_value_type_code => l_adr_value_type_code
146505 , p_transaction_coa_id => l_adr_transaction_coa_id
146506 , p_accounting_coa_id => l_adr_accounting_coa_id
146507 , p_adr_code => 'FV_INV_PMT_ACCOUNT'
146508 , p_adr_type_code => 'S'
146509 , p_component_type => l_component_type
146510 , p_component_code => l_component_code
146511 , p_component_type_code => l_component_type_code
146512 , p_component_appl_id => l_component_appl_id
146513 , p_amb_context_code => l_amb_context_code
146514 , p_side => 'NA'
146515 );
146516
146517
146518 l_segment := AcctDerRule_50(
146519 p_application_id => p_application_id
146520 , p_ae_header_id => l_ae_header_id
146521 , p_source_49 => p_source_49
146522 , p_source_50 => p_source_50
146523 , p_source_51 => p_source_51
146524 , x_transaction_coa_id => l_adr_transaction_coa_id
146525 , x_accounting_coa_id => l_adr_accounting_coa_id
146526 , x_flexfield_segment_code => l_adr_flexfield_segment_code
146527 , x_flex_value_set_id => l_adr_flex_value_set_id
146528 , x_value_type_code => l_adr_value_type_code
146529 , x_value_combination_id => l_adr_value_combination_id
146530 , x_value_segment_code => l_adr_value_segment_code
146531 , p_side => 'NA'
146532 , p_override_seg_flag => 'Y'
146533 );
146534
146535 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
146536
146537 xla_ae_lines_pkg.set_segment(
146538 p_to_segment_code => 'GL_ACCOUNT'
146539 , p_segment_value => l_segment
146540 , p_from_segment_code => l_adr_value_segment_code
146541 , p_from_combination_id => l_adr_value_combination_id
146542 , p_value_type_code => l_adr_value_type_code
146543 , p_transaction_coa_id => l_adr_transaction_coa_id
146544 , p_accounting_coa_id => l_adr_accounting_coa_id
146545 , p_flexfield_segment_code => l_adr_flexfield_segment_code
146546 , p_flex_value_set_id => l_adr_flex_value_set_id
146547 , p_adr_code => 'FV_46X002_ALLOTMENT_RES_ACCT'
146548 , p_adr_type_code => 'S'
146549 , p_component_type => l_component_type
146550 , p_component_code => l_component_code
146551 , p_component_type_code => l_component_type_code
146552 , p_component_appl_id => l_component_appl_id
146553 , p_amb_context_code => l_amb_context_code
146557 );
146554 , p_entity_code => 'AP_PAYMENTS'
146555 , p_event_class_code => 'PAYMENTS'
146556 , p_side => 'NA'
146558
146559 END IF;
146560
146561 l_segment := AcctDerRule_27(
146562 p_application_id => p_application_id
146563 , p_ae_header_id => l_ae_header_id
146564 , p_source_10 => p_source_10
146565 , p_source_10_meaning => p_source_10_meaning
146566 , p_source_25 => p_source_25
146567 , p_source_29 => p_source_29
146568 , x_transaction_coa_id => l_adr_transaction_coa_id
146569 , x_accounting_coa_id => l_adr_accounting_coa_id
146570 , x_flexfield_segment_code => l_adr_flexfield_segment_code
146571 , x_flex_value_set_id => l_adr_flex_value_set_id
146572 , x_value_type_code => l_adr_value_type_code
146573 , x_value_combination_id => l_adr_value_combination_id
146574 , x_value_segment_code => l_adr_value_segment_code
146575 , p_side => 'NA'
146576 , p_override_seg_flag => 'Y'
146577 );
146578
146579 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
146580
146581 xla_ae_lines_pkg.set_segment(
146582 p_to_segment_code => 'GL_BALANCING'
146583 , p_segment_value => l_segment
146584 , p_from_segment_code => l_adr_value_segment_code
146585 , p_from_combination_id => l_adr_value_combination_id
146586 , p_value_type_code => l_adr_value_type_code
146587 , p_transaction_coa_id => l_adr_transaction_coa_id
146588 , p_accounting_coa_id => l_adr_accounting_coa_id
146589 , p_flexfield_segment_code => l_adr_flexfield_segment_code
146590 , p_flex_value_set_id => l_adr_flex_value_set_id
146591 , p_adr_code => 'FV_INV_PMT_BAL_SEG'
146592 , p_adr_type_code => 'S'
146593 , p_component_type => l_component_type
146594 , p_component_code => l_component_code
146595 , p_component_type_code => l_component_type_code
146596 , p_component_appl_id => l_component_appl_id
146597 , p_amb_context_code => l_amb_context_code
146598 , p_entity_code => 'AP_PAYMENTS'
146599 , p_event_class_code => 'PAYMENTS'
146600 , p_side => 'NA'
146601 );
146602
146603 END IF;
146604
146605 --
146606 --
146607 END IF;
146608
146609 --
146610 -- Update the line information that should be overwritten
146611 --
146612 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
146613 p_header_num => 1);
146614 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
146615
146616 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
146617
146618 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
146619 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
146620 END IF;
146621
146622 --
146623 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
146624 --
146625 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
146626 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
146627 ELSE
146628 ---------------------------------------------------------------------------------------------------
146629 -- 4262811a Switch Sign
146630 ---------------------------------------------------------------------------------------------------
146631 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
146632 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
146633 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
146634 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
146635 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
146636 -- 5132302
146637 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
146638 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
146639
146640 END IF;
146641
146642 -- 4955764
146643 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
146644 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
146645
146646
146647 XLA_AE_LINES_PKG.ValidateCurrentLine;
146648 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
146649
146650 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
146651 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
146652 ,p_balance_type_code => l_balance_type_code);
146653
146654 END IF;
146655
146656 -----------------------------------------------------------------------------------------
146657 -- 4262811 Multiperiod Accounting
146658 -----------------------------------------------------------------------------------------
146659 -- No MPA option is assigned.
146660
146661
146662 END IF;
146663 END IF;
146664 --
146665
146666 --
146667 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
146668 trace
146669 (p_msg => 'END of AcctLineType_240'
146670 ,p_level => C_LEVEL_PROCEDURE
146671 ,p_module => l_log_module);
146672 END IF;
146673 --
146674 EXCEPTION
146675 WHEN xla_exceptions_pkg.application_exception THEN
146679 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_240');
146676 RAISE;
146677 WHEN OTHERS THEN
146678 xla_exceptions_pkg.raise_message
146680 END AcctLineType_240;
146681 --
146682
146683 ---------------------------------------
146684 --
146685 -- PRIVATE FUNCTION
146686 -- AcctLineType_241
146687 --
146688 ---------------------------------------
146689 PROCEDURE AcctLineType_241 (
146690 p_application_id IN NUMBER
146691 ,p_event_id IN NUMBER
146692 ,p_calculate_acctd_flag IN VARCHAR2
146693 ,p_calculate_g_l_flag IN VARCHAR2
146694 ,p_actual_flag IN OUT VARCHAR2
146695 ,p_balance_type_code OUT VARCHAR2
146696 ,p_gain_or_loss_ref OUT VARCHAR2
146697
146698 --Document Sequence Name
146699 , p_source_3 IN VARCHAR2
146700 --Payment Document Voucher Number
146701 , p_source_4 IN NUMBER
146702 --Payment Transaction Number
146703 , p_source_5 IN NUMBER
146704 --Payment Document Date
146705 , p_source_6 IN DATE
146706 --Bank Account Name
146707 , p_source_7 IN VARCHAR2
146708 --Payment Currency Code
146709 , p_source_8 IN VARCHAR2
146710 --Automatic Offsets Value
146711 , p_source_10 IN VARCHAR2
146712 , p_source_10_meaning IN VARCHAR2
146713 --Bank Cash Account
146714 , p_source_12 IN NUMBER
146715 --Invoice Distribution Account
146716 , p_source_25 IN NUMBER
146717 --Invoice Liability Account
146718 , p_source_29 IN NUMBER
146719 --Bank Cash Clearing Account
146720 , p_source_30 IN NUMBER
146721 --Federal Fund Category
146722 , p_source_49 IN VARCHAR2
146723 --Federal Fund Expired Status
146724 , p_source_50 IN VARCHAR2
146725 --Federal Fund Category Description
146726 , p_source_51 IN VARCHAR2
146727 --When to Account for Payment Option
146728 , p_source_57 IN VARCHAR2
146729 --Accounting Reversal Indicator
146730 , p_source_58 IN VARCHAR2
146731 --Distribution Link Type
146732 , p_source_60 IN VARCHAR2
146733 --Override Accounted Amount Indicator
146734 , p_source_85 IN VARCHAR2
146735 , p_source_85_meaning IN VARCHAR2
146736 --Third Party Type
146737 , p_source_88 IN VARCHAR2
146738 --Invoice Distribution Tax Line Identifier
146739 , p_source_91 IN NUMBER
146740 --Invoice Distribution Tax Distribution Identifier from Tax
146741 , p_source_92 IN NUMBER
146742 --Invoice Distribution Summary Tax Line Identifier
146743 , p_source_93 IN NUMBER
146744 --Business Flow Accounts Payable Application Identifier
146745 , p_source_96 IN NUMBER
146746 --Business Flow Invoice Distribution Type
146747 , p_source_97 IN VARCHAR2
146748 --Business Flow Invoice Entity Code
146749 , p_source_98 IN VARCHAR2
146750 --Business Flow Invoice Distribution Identifier
146751 , p_source_99 IN NUMBER
146752 --Business Flow Invoice Identifier
146753 , p_source_100 IN NUMBER
146754 --Payment Distribution Type
146755 , p_source_101 IN VARCHAR2
146756 , p_source_101_meaning IN VARCHAR2
146757 --Payment Distribution Amount
146758 , p_source_102 IN NUMBER
146759 --Payment Distribution Identifier
146760 , p_source_107 IN NUMBER
146761 --Payment Supplier Identifier
146762 , p_source_113 IN NUMBER
146763 --Payment Supplier Site Identifier
146764 , p_source_114 IN NUMBER
146765 --Payment Distribution Reversed Identifier
146766 , p_source_115 IN NUMBER
146767 --Payment Distribution (Payment Rate) Ledger Amount
146768 , p_source_118 IN NUMBER
146769 --Payment Exchange Date
146770 , p_source_120 IN DATE
146771 --Payment Exchange Rate
146772 , p_source_121 IN NUMBER
146773 --Payment Exchange Rate Type
146774 , p_source_122 IN VARCHAR2
146775 --Invoice Distribution Amount of the Payment Distribution
146776 , p_source_127 IN NUMBER
146777 )
146778 IS
146779
146780 l_component_type VARCHAR2(80);
146781 l_component_code VARCHAR2(30);
146782 l_component_type_code VARCHAR2(1);
146783 l_component_appl_id INTEGER;
146784 l_amb_context_code VARCHAR2(30);
146785 l_entity_code VARCHAR2(30);
146786 l_event_class_code VARCHAR2(30);
146787 l_ae_header_id NUMBER;
146788 l_event_type_code VARCHAR2(30);
146789 l_line_definition_code VARCHAR2(30);
146790 l_line_definition_owner_code VARCHAR2(1);
146791 --
146792 -- adr variables
146793 l_segment VARCHAR2(30);
146794 l_ccid NUMBER;
146795 l_adr_transaction_coa_id NUMBER;
146796 l_adr_accounting_coa_id NUMBER;
146797 l_adr_flexfield_segment_code VARCHAR2(30);
146798 l_adr_flex_value_set_id NUMBER;
146799 l_adr_value_type_code VARCHAR2(30);
146800 l_adr_value_combination_id NUMBER;
146801 l_adr_value_segment_code VARCHAR2(30);
146802
146803 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
146804 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
146805 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
146806 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
146807
146808 -- 4262811 Variables ------------------------------------------------------------------------------------------
146809 l_entered_amt_idx NUMBER;
146810 l_accted_amt_idx NUMBER;
146811 l_acc_rev_flag VARCHAR2(1);
146812 l_accrual_line_num NUMBER;
146813 l_tmp_amt NUMBER;
146814 l_acc_rev_natural_side_code VARCHAR2(1);
146815
146816 l_num_entries NUMBER;
146817 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
146821 l_recog_line_1 NUMBER;
146818 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
146819 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
146820 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
146822 l_recog_line_2 NUMBER;
146823
146824 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
146825 l_bflow_applied_to_amt NUMBER; -- 5132302
146826 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
146827
146828 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
146829
146830 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
146831 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
146832
146833 ---------------------------------------------------------------------------------------------------------------
146834
146835
146836 --
146837 -- bulk performance
146838 --
146839 l_balance_type_code VARCHAR2(1);
146840 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
146841 l_log_module VARCHAR2(240);
146842
146843 --
146844 -- Upgrade strategy
146845 --
146846 l_actual_upg_option VARCHAR2(1);
146847 l_enc_upg_option VARCHAR2(1);
146848
146849 --
146850 BEGIN
146851 --
146852 IF g_log_enabled THEN
146853 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_241';
146854 END IF;
146855 --
146856 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
146857
146858 trace
146859 (p_msg => 'BEGIN of AcctLineType_241'
146860 ,p_level => C_LEVEL_PROCEDURE
146861 ,p_module => l_log_module);
146862
146863 END IF;
146864 --
146865 l_component_type := 'AMB_JLT';
146866 l_component_code := 'FV_AP_DISCOUNT_CR';
146867 l_component_type_code := 'S';
146868 l_component_appl_id := 200;
146869 l_amb_context_code := 'DEFAULT';
146870 l_entity_code := 'AP_PAYMENTS';
146871 l_event_class_code := 'PAYMENTS';
146872 l_event_type_code := 'PAYMENTS_ALL';
146873 l_line_definition_owner_code := 'S';
146874 l_line_definition_code := 'FV_AP_ACCRUAL_PAYMENTS_ALL';
146875 --
146876 l_balance_type_code := 'A';
146877 l_segment := NULL;
146878 l_ccid := NULL;
146879 l_adr_transaction_coa_id := NULL;
146880 l_adr_accounting_coa_id := NULL;
146881 l_adr_flexfield_segment_code := NULL;
146882 l_adr_flex_value_set_id := NULL;
146883 l_adr_value_type_code := NULL;
146884 l_adr_value_combination_id := NULL;
146885 l_adr_value_segment_code := NULL;
146886
146887 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
146888 l_bflow_class_code := ''; -- 4219869 Business Flow
146889 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
146890 l_budgetary_control_flag := 'N';
146891
146892 l_bflow_applied_to_amt_idx := NULL; -- 5132302
146893 l_bflow_applied_to_amt := NULL; -- 5132302
146894 l_entered_amt_idx := NULL; -- 4262811
146895 l_accted_amt_idx := NULL; -- 4262811
146896 l_acc_rev_flag := NULL; -- 4262811
146897 l_accrual_line_num := NULL; -- 4262811
146898 l_tmp_amt := NULL; -- 4262811
146899 --
146900
146901 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
146902 l_balance_type_code <> 'B' THEN
146903 IF NVL(p_source_101,'
146904 ') = 'DISCOUNT'
146905 THEN
146906
146907 --
146908 XLA_AE_LINES_PKG.SetNewLine;
146909
146910 p_balance_type_code := l_balance_type_code;
146911 -- set the flag so later we will know whether the gain loss line needs to be created
146912
146913 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
146914 p_actual_flag :='A';
146915 END IF;
146916
146917 --
146918 -- bulk performance
146919 --
146920 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
146921 p_header_num => 0); -- 4262811
146922 --
146923 -- set accounting line options
146924 --
146925 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
146926 p_natural_side_code => 'C'
146927 , p_gain_or_loss_flag => 'N'
146928 , p_gl_transfer_mode_code => 'S'
146929 , p_acct_entry_type_code => 'A'
146930 , p_switch_side_flag => 'N'
146931 , p_merge_duplicate_code => 'N'
146932 );
146933 --
146934 l_acc_rev_natural_side_code := 'D'; -- 4262811
146935 --
146936 --
146937 -- set accounting line type info
146938 --
146939 xla_ae_lines_pkg.SetAcctLineType
146940 (p_component_type => l_component_type
146941 ,p_event_type_code => l_event_type_code
146942 ,p_line_definition_owner_code => l_line_definition_owner_code
146943 ,p_line_definition_code => l_line_definition_code
146944 ,p_accounting_line_code => l_component_code
146945 ,p_accounting_line_type_code => l_component_type_code
146946 ,p_accounting_line_appl_id => l_component_appl_id
146947 ,p_amb_context_code => l_amb_context_code
146948 ,p_entity_code => l_entity_code
146949 ,p_event_class_code => l_event_class_code);
146950 --
146951 -- set accounting class
146952 --
146953 xla_ae_lines_pkg.SetAcctClass(
146954 p_accounting_class_code => 'ACCOUNTSPAYABLE'
146955 , p_ae_header_id => l_ae_header_id
146956 );
146957
146958 --
146959 -- set rounding class
146963
146960 --
146961 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
146962 'ACCOUNTSPAYABLE';
146964 --
146965 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
146966 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
146967 --
146968 -- bulk performance
146969 --
146970 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
146971
146972 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
146973 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
146974
146975 -- 4955764
146976 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
146977 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
146978
146979 -- 4458381 Public Sector Enh
146980
146981 --
146982 -- set accounting attributes for the line type
146983 --
146984 l_entered_amt_idx := 10;
146985 l_accted_amt_idx := 15;
146986 l_bflow_applied_to_amt_idx := 2; -- 5132302
146987 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
146988 l_rec_acct_attrs.array_char_value(1) := p_source_58;
146989 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
146990 l_rec_acct_attrs.array_num_value(2) := p_source_127;
146991 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
146992 l_rec_acct_attrs.array_num_value(3) := p_source_96;
146993 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
146994 l_rec_acct_attrs.array_char_value(4) := p_source_97;
146995 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
146996 l_rec_acct_attrs.array_char_value(5) := p_source_98;
146997 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
146998 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_99);
146999 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
147000 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_100);
147001 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
147002 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_107);
147003 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
147004 l_rec_acct_attrs.array_char_value(9) := p_source_60;
147005 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
147006 l_rec_acct_attrs.array_num_value(10) := p_source_102;
147007 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
147008 l_rec_acct_attrs.array_char_value(11) := p_source_8;
147009 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
147010 l_rec_acct_attrs.array_date_value(12) := p_source_120;
147011 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
147012 l_rec_acct_attrs.array_num_value(13) := p_source_121;
147013 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
147014 l_rec_acct_attrs.array_char_value(14) := p_source_122;
147015 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
147016 l_rec_acct_attrs.array_num_value(15) := p_source_118;
147017 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
147018 l_rec_acct_attrs.array_char_value(16) := p_source_85;
147019 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
147020 l_rec_acct_attrs.array_num_value(17) := p_source_113;
147021 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
147022 l_rec_acct_attrs.array_num_value(18) := p_source_114;
147023 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
147024 l_rec_acct_attrs.array_char_value(19) := p_source_88;
147025 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
147026 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_115);
147027 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
147028 l_rec_acct_attrs.array_char_value(21) := p_source_60;
147029 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
147030 l_rec_acct_attrs.array_num_value(22) := p_source_91;
147031 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
147032 l_rec_acct_attrs.array_num_value(23) := p_source_92;
147033 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
147034 l_rec_acct_attrs.array_num_value(24) := p_source_93;
147035
147036 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
147037 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
147038
147039 ---------------------------------------------------------------------------------------------------------------
147040 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
147041 ---------------------------------------------------------------------------------------------------------------
147042 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
147043
147044 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
147045 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
147046
147047 IF xla_accounting_cache_pkg.GetValueChar
147048 (p_source_code => 'LEDGER_CATEGORY_CODE'
147049 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
147050 AND l_bflow_method_code = 'PRIOR_ENTRY'
147051 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
147052 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
147053 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
147054 )
147055 THEN
147056 xla_ae_lines_pkg.BflowUpgEntry
147057 (p_business_method_code => l_bflow_method_code
147058 ,p_business_class_code => l_bflow_class_code
147062 -- No business flow processing for business flow method of NONE.
147059 ,p_balance_type => l_balance_type_code);
147060 ELSE
147061 NULL;
147063 END IF;
147064
147065 --
147066 -- call analytical criteria
147067 --
147068
147069 --
147070 -- call description
147071 --
147072
147073 xla_ae_lines_pkg.SetLineDescription(
147074 p_ae_header_id => l_ae_header_id
147075 ,p_description => Description_3 (
147076 p_application_id => p_application_id
147077 , p_ae_header_id => l_ae_header_id
147078 , p_source_3 => p_source_3
147079 , p_source_4 => p_source_4
147080 , p_source_5 => p_source_5
147081 , p_source_6 => p_source_6
147082 , p_source_7 => p_source_7
147083 , p_source_8 => p_source_8
147084 )
147085 );
147086
147087
147088 --
147089 -- call ADRs
147090 -- Bug 4922099
147091 --
147092 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
147093 (NVL(l_actual_upg_option, 'N') = 'O') OR
147094 (NVL(l_enc_upg_option, 'N') = 'O')
147095 )
147096 THEN
147097 NULL;
147098 --
147099 --
147100
147101 l_ccid := AcctDerRule_55(
147102 p_application_id => p_application_id
147103 , p_ae_header_id => l_ae_header_id
147104 , p_source_12 => p_source_12
147105 , p_source_30 => p_source_30
147106 , p_source_57 => p_source_57
147107 , x_transaction_coa_id => l_adr_transaction_coa_id
147108 , x_accounting_coa_id => l_adr_accounting_coa_id
147109 , x_value_type_code => l_adr_value_type_code
147110 , p_side => 'NA'
147111 );
147112
147113 xla_ae_lines_pkg.set_ccid(
147114 p_code_combination_id => l_ccid
147115 , p_value_type_code => l_adr_value_type_code
147116 , p_transaction_coa_id => l_adr_transaction_coa_id
147117 , p_accounting_coa_id => l_adr_accounting_coa_id
147118 , p_adr_code => 'FV_INV_PMT_ACCOUNT'
147119 , p_adr_type_code => 'S'
147120 , p_component_type => l_component_type
147121 , p_component_code => l_component_code
147122 , p_component_type_code => l_component_type_code
147123 , p_component_appl_id => l_component_appl_id
147124 , p_amb_context_code => l_amb_context_code
147125 , p_side => 'NA'
147126 );
147127
147128
147129 l_segment := AcctDerRule_50(
147130 p_application_id => p_application_id
147131 , p_ae_header_id => l_ae_header_id
147132 , p_source_49 => p_source_49
147133 , p_source_50 => p_source_50
147134 , p_source_51 => p_source_51
147135 , x_transaction_coa_id => l_adr_transaction_coa_id
147136 , x_accounting_coa_id => l_adr_accounting_coa_id
147137 , x_flexfield_segment_code => l_adr_flexfield_segment_code
147138 , x_flex_value_set_id => l_adr_flex_value_set_id
147139 , x_value_type_code => l_adr_value_type_code
147140 , x_value_combination_id => l_adr_value_combination_id
147141 , x_value_segment_code => l_adr_value_segment_code
147142 , p_side => 'NA'
147143 , p_override_seg_flag => 'Y'
147144 );
147145
147146 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
147147
147148 xla_ae_lines_pkg.set_segment(
147149 p_to_segment_code => 'GL_ACCOUNT'
147150 , p_segment_value => l_segment
147151 , p_from_segment_code => l_adr_value_segment_code
147152 , p_from_combination_id => l_adr_value_combination_id
147153 , p_value_type_code => l_adr_value_type_code
147154 , p_transaction_coa_id => l_adr_transaction_coa_id
147155 , p_accounting_coa_id => l_adr_accounting_coa_id
147156 , p_flexfield_segment_code => l_adr_flexfield_segment_code
147157 , p_flex_value_set_id => l_adr_flex_value_set_id
147158 , p_adr_code => 'FV_46X002_ALLOTMENT_RES_ACCT'
147159 , p_adr_type_code => 'S'
147160 , p_component_type => l_component_type
147161 , p_component_code => l_component_code
147162 , p_component_type_code => l_component_type_code
147163 , p_component_appl_id => l_component_appl_id
147164 , p_amb_context_code => l_amb_context_code
147165 , p_entity_code => 'AP_PAYMENTS'
147166 , p_event_class_code => 'PAYMENTS'
147167 , p_side => 'NA'
147168 );
147169
147170 END IF;
147171
147172 l_segment := AcctDerRule_27(
147173 p_application_id => p_application_id
147174 , p_ae_header_id => l_ae_header_id
147175 , p_source_10 => p_source_10
147176 , p_source_10_meaning => p_source_10_meaning
147177 , p_source_25 => p_source_25
147178 , p_source_29 => p_source_29
147179 , x_transaction_coa_id => l_adr_transaction_coa_id
147180 , x_accounting_coa_id => l_adr_accounting_coa_id
147181 , x_flexfield_segment_code => l_adr_flexfield_segment_code
147182 , x_flex_value_set_id => l_adr_flex_value_set_id
147183 , x_value_type_code => l_adr_value_type_code
147184 , x_value_combination_id => l_adr_value_combination_id
147185 , x_value_segment_code => l_adr_value_segment_code
147186 , p_side => 'NA'
147187 , p_override_seg_flag => 'Y'
147188 );
147189
147190 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
147191
147192 xla_ae_lines_pkg.set_segment(
147193 p_to_segment_code => 'GL_BALANCING'
147194 , p_segment_value => l_segment
147198 , p_transaction_coa_id => l_adr_transaction_coa_id
147195 , p_from_segment_code => l_adr_value_segment_code
147196 , p_from_combination_id => l_adr_value_combination_id
147197 , p_value_type_code => l_adr_value_type_code
147199 , p_accounting_coa_id => l_adr_accounting_coa_id
147200 , p_flexfield_segment_code => l_adr_flexfield_segment_code
147201 , p_flex_value_set_id => l_adr_flex_value_set_id
147202 , p_adr_code => 'FV_INV_PMT_BAL_SEG'
147203 , p_adr_type_code => 'S'
147204 , p_component_type => l_component_type
147205 , p_component_code => l_component_code
147206 , p_component_type_code => l_component_type_code
147207 , p_component_appl_id => l_component_appl_id
147208 , p_amb_context_code => l_amb_context_code
147209 , p_entity_code => 'AP_PAYMENTS'
147210 , p_event_class_code => 'PAYMENTS'
147211 , p_side => 'NA'
147212 );
147213
147214 END IF;
147215
147216 --
147217 --
147218 END IF;
147219 --
147220 -- Bug 4922099
147221 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
147222 (NVL(l_enc_upg_option, 'N') = 'O')
147223 ) AND
147224 (l_bflow_method_code = 'PRIOR_ENTRY')
147225 )
147226 THEN
147227 IF
147228 --
147229 1 = 2
147230 --
147231 THEN
147232 xla_accounting_err_pkg.build_message
147233 (p_appli_s_name => 'XLA'
147234 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
147235 ,p_token_1 => 'LINE_NUMBER'
147236 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
147237 ,p_token_2 => 'LINE_TYPE_NAME'
147238 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
147239 l_component_type
147240 ,l_component_code
147241 ,l_component_type_code
147242 ,l_component_appl_id
147243 ,l_amb_context_code
147244 ,l_entity_code
147245 ,l_event_class_code
147246 )
147247 ,p_token_3 => 'OWNER'
147248 ,p_value_3 => xla_lookups_pkg.get_meaning(
147249 p_lookup_type => 'XLA_OWNER_TYPE'
147250 ,p_lookup_code => l_component_type_code
147251 )
147252 ,p_token_4 => 'PRODUCT_NAME'
147253 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
147254 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
147255 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
147256 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
147257 ,p_ae_header_id => NULL
147258 );
147259
147260 IF (C_LEVEL_ERROR>= g_log_level) THEN
147261 trace
147262 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
147263 ,p_level => C_LEVEL_ERROR
147264 ,p_module => l_log_module);
147265 END IF;
147266 END IF;
147267 END IF;
147268 --
147269 --
147270 ------------------------------------------------------------------------------------------------
147271 -- 4219869 Business Flow
147272 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
147273 -- Prior Entry. Currently, the following code is always generated.
147274 ------------------------------------------------------------------------------------------------
147275 XLA_AE_LINES_PKG.ValidateCurrentLine;
147276
147277 ------------------------------------------------------------------------------------
147278 -- 4219869 Business Flow
147279 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
147280 ------------------------------------------------------------------------------------
147281 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
147282
147283 ----------------------------------------------------------------------------------
147284 -- 4219869 Business Flow
147285 -- Update journal entry status -- Need to generate this within IF <condition>
147286 ----------------------------------------------------------------------------------
147287 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
147288 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
147289 ,p_balance_type_code => l_balance_type_code
147290 );
147291
147292 -------------------------------------------------------------------------------------------
147293 -- 4262811 - Generate the Accrual Reversal lines
147294 -------------------------------------------------------------------------------------------
147295 BEGIN
147296 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
147300 END IF;
147297 (g_array_event(p_event_id).array_value_num('header_index'));
147298 IF l_acc_rev_flag IS NULL THEN
147299 l_acc_rev_flag := 'N';
147301 EXCEPTION
147302 WHEN OTHERS THEN
147303 l_acc_rev_flag := 'N';
147304 END;
147305 --
147306 IF (l_acc_rev_flag = 'Y') THEN
147307
147308 -- 4645092 ------------------------------------------------------------------------------
147309 -- To allow MPA report to determine if it should generate report process
147310 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
147311 ------------------------------------------------------------------------------------------
147312
147313 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
147314 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
147315 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
147316 -- call ADRs
147317 -- Bug 4922099
147318 --
147319 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
147320 (NVL(l_actual_upg_option, 'N') = 'O') OR
147321 (NVL(l_enc_upg_option, 'N') = 'O')
147322 )
147323 THEN
147324 NULL;
147325 --
147326 --
147327
147328 l_ccid := AcctDerRule_55(
147329 p_application_id => p_application_id
147330 , p_ae_header_id => l_ae_header_id
147331 , p_source_12 => p_source_12
147332 , p_source_30 => p_source_30
147333 , p_source_57 => p_source_57
147334 , x_transaction_coa_id => l_adr_transaction_coa_id
147335 , x_accounting_coa_id => l_adr_accounting_coa_id
147336 , x_value_type_code => l_adr_value_type_code
147337 , p_side => 'NA'
147338 );
147339
147340 xla_ae_lines_pkg.set_ccid(
147341 p_code_combination_id => l_ccid
147342 , p_value_type_code => l_adr_value_type_code
147343 , p_transaction_coa_id => l_adr_transaction_coa_id
147344 , p_accounting_coa_id => l_adr_accounting_coa_id
147345 , p_adr_code => 'FV_INV_PMT_ACCOUNT'
147346 , p_adr_type_code => 'S'
147347 , p_component_type => l_component_type
147348 , p_component_code => l_component_code
147349 , p_component_type_code => l_component_type_code
147350 , p_component_appl_id => l_component_appl_id
147351 , p_amb_context_code => l_amb_context_code
147352 , p_side => 'NA'
147353 );
147354
147355
147356 l_segment := AcctDerRule_50(
147357 p_application_id => p_application_id
147358 , p_ae_header_id => l_ae_header_id
147359 , p_source_49 => p_source_49
147360 , p_source_50 => p_source_50
147361 , p_source_51 => p_source_51
147362 , x_transaction_coa_id => l_adr_transaction_coa_id
147363 , x_accounting_coa_id => l_adr_accounting_coa_id
147364 , x_flexfield_segment_code => l_adr_flexfield_segment_code
147365 , x_flex_value_set_id => l_adr_flex_value_set_id
147366 , x_value_type_code => l_adr_value_type_code
147367 , x_value_combination_id => l_adr_value_combination_id
147368 , x_value_segment_code => l_adr_value_segment_code
147369 , p_side => 'NA'
147370 , p_override_seg_flag => 'Y'
147371 );
147372
147373 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
147374
147375 xla_ae_lines_pkg.set_segment(
147376 p_to_segment_code => 'GL_ACCOUNT'
147377 , p_segment_value => l_segment
147378 , p_from_segment_code => l_adr_value_segment_code
147379 , p_from_combination_id => l_adr_value_combination_id
147380 , p_value_type_code => l_adr_value_type_code
147381 , p_transaction_coa_id => l_adr_transaction_coa_id
147382 , p_accounting_coa_id => l_adr_accounting_coa_id
147383 , p_flexfield_segment_code => l_adr_flexfield_segment_code
147384 , p_flex_value_set_id => l_adr_flex_value_set_id
147385 , p_adr_code => 'FV_46X002_ALLOTMENT_RES_ACCT'
147386 , p_adr_type_code => 'S'
147387 , p_component_type => l_component_type
147388 , p_component_code => l_component_code
147389 , p_component_type_code => l_component_type_code
147390 , p_component_appl_id => l_component_appl_id
147391 , p_amb_context_code => l_amb_context_code
147392 , p_entity_code => 'AP_PAYMENTS'
147393 , p_event_class_code => 'PAYMENTS'
147394 , p_side => 'NA'
147395 );
147396
147397 END IF;
147398
147399 l_segment := AcctDerRule_27(
147400 p_application_id => p_application_id
147401 , p_ae_header_id => l_ae_header_id
147402 , p_source_10 => p_source_10
147403 , p_source_10_meaning => p_source_10_meaning
147404 , p_source_25 => p_source_25
147405 , p_source_29 => p_source_29
147406 , x_transaction_coa_id => l_adr_transaction_coa_id
147407 , x_accounting_coa_id => l_adr_accounting_coa_id
147408 , x_flexfield_segment_code => l_adr_flexfield_segment_code
147409 , x_flex_value_set_id => l_adr_flex_value_set_id
147410 , x_value_type_code => l_adr_value_type_code
147411 , x_value_combination_id => l_adr_value_combination_id
147412 , x_value_segment_code => l_adr_value_segment_code
147413 , p_side => 'NA'
147414 , p_override_seg_flag => 'Y'
147415 );
147416
147417 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
147418
147419 xla_ae_lines_pkg.set_segment(
147420 p_to_segment_code => 'GL_BALANCING'
147424 , p_value_type_code => l_adr_value_type_code
147421 , p_segment_value => l_segment
147422 , p_from_segment_code => l_adr_value_segment_code
147423 , p_from_combination_id => l_adr_value_combination_id
147425 , p_transaction_coa_id => l_adr_transaction_coa_id
147426 , p_accounting_coa_id => l_adr_accounting_coa_id
147427 , p_flexfield_segment_code => l_adr_flexfield_segment_code
147428 , p_flex_value_set_id => l_adr_flex_value_set_id
147429 , p_adr_code => 'FV_INV_PMT_BAL_SEG'
147430 , p_adr_type_code => 'S'
147431 , p_component_type => l_component_type
147432 , p_component_code => l_component_code
147433 , p_component_type_code => l_component_type_code
147434 , p_component_appl_id => l_component_appl_id
147435 , p_amb_context_code => l_amb_context_code
147436 , p_entity_code => 'AP_PAYMENTS'
147437 , p_event_class_code => 'PAYMENTS'
147438 , p_side => 'NA'
147439 );
147440
147441 END IF;
147442
147443 --
147444 --
147445 END IF;
147446
147447 --
147448 -- Update the line information that should be overwritten
147449 --
147450 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
147451 p_header_num => 1);
147452 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
147453
147454 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
147455
147456 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
147457 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
147458 END IF;
147459
147460 --
147461 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
147462 --
147463 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
147464 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
147465 ELSE
147466 ---------------------------------------------------------------------------------------------------
147467 -- 4262811a Switch Sign
147468 ---------------------------------------------------------------------------------------------------
147469 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
147470 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
147471 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
147472 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
147473 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
147474 -- 5132302
147475 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
147476 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
147477
147478 END IF;
147479
147480 -- 4955764
147481 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
147482 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
147483
147484
147485 XLA_AE_LINES_PKG.ValidateCurrentLine;
147486 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
147487
147488 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
147489 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
147490 ,p_balance_type_code => l_balance_type_code);
147491
147492 END IF;
147493
147494 -----------------------------------------------------------------------------------------
147495 -- 4262811 Multiperiod Accounting
147496 -----------------------------------------------------------------------------------------
147497 -- No MPA option is assigned.
147498
147499
147500 END IF;
147501 END IF;
147502 --
147503
147504 --
147505 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
147506 trace
147507 (p_msg => 'END of AcctLineType_241'
147508 ,p_level => C_LEVEL_PROCEDURE
147509 ,p_module => l_log_module);
147510 END IF;
147511 --
147512 EXCEPTION
147513 WHEN xla_exceptions_pkg.application_exception THEN
147514 RAISE;
147515 WHEN OTHERS THEN
147516 xla_exceptions_pkg.raise_message
147517 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_241');
147518 END AcctLineType_241;
147519 --
147520
147521 ---------------------------------------
147522 --
147523 -- PRIVATE FUNCTION
147524 -- AcctLineType_242
147525 --
147526 ---------------------------------------
147527 PROCEDURE AcctLineType_242 (
147528 p_application_id IN NUMBER
147529 ,p_event_id IN NUMBER
147530 ,p_calculate_acctd_flag IN VARCHAR2
147531 ,p_calculate_g_l_flag IN VARCHAR2
147532 ,p_actual_flag IN OUT VARCHAR2
147533 ,p_balance_type_code OUT VARCHAR2
147534 ,p_gain_or_loss_ref OUT VARCHAR2
147535
147536 --Document Sequence Name
147537 , p_source_3 IN VARCHAR2
147538 --Payment Document Voucher Number
147539 , p_source_4 IN NUMBER
147540 --Payment Transaction Number
147541 , p_source_5 IN NUMBER
147542 --Payment Document Date
147543 , p_source_6 IN DATE
147544 --Bank Account Name
147545 , p_source_7 IN VARCHAR2
147546 --Payment Currency Code
147547 , p_source_8 IN VARCHAR2
147548 --Automatic Offsets Value
147549 , p_source_10 IN VARCHAR2
147553 --Invoice Distribution Account
147550 , p_source_10_meaning IN VARCHAR2
147551 --Bank Cash Account
147552 , p_source_12 IN NUMBER
147554 , p_source_25 IN NUMBER
147555 --Invoice Liability Account
147556 , p_source_29 IN NUMBER
147557 --Bank Cash Clearing Account
147558 , p_source_30 IN NUMBER
147559 --Federal Fund Category Description
147560 , p_source_51 IN VARCHAR2
147561 --Invoice Type Paid
147562 , p_source_56 IN VARCHAR2
147563 , p_source_56_meaning IN VARCHAR2
147564 --When to Account for Payment Option
147565 , p_source_57 IN VARCHAR2
147566 --Accounting Reversal Indicator
147567 , p_source_58 IN VARCHAR2
147568 --Distribution Link Type
147569 , p_source_60 IN VARCHAR2
147570 --Override Accounted Amount Indicator
147571 , p_source_85 IN VARCHAR2
147572 , p_source_85_meaning IN VARCHAR2
147573 --Third Party Type
147574 , p_source_88 IN VARCHAR2
147575 --Invoice Distribution Tax Line Identifier
147576 , p_source_91 IN NUMBER
147577 --Invoice Distribution Tax Distribution Identifier from Tax
147578 , p_source_92 IN NUMBER
147579 --Invoice Distribution Summary Tax Line Identifier
147580 , p_source_93 IN NUMBER
147581 --Business Flow Accounts Payable Application Identifier
147582 , p_source_96 IN NUMBER
147583 --Business Flow Invoice Distribution Type
147584 , p_source_97 IN VARCHAR2
147585 --Business Flow Invoice Entity Code
147586 , p_source_98 IN VARCHAR2
147587 --Business Flow Invoice Distribution Identifier
147588 , p_source_99 IN NUMBER
147589 --Business Flow Invoice Identifier
147590 , p_source_100 IN NUMBER
147591 --Payment Distribution Type
147592 , p_source_101 IN VARCHAR2
147593 , p_source_101_meaning IN VARCHAR2
147594 --Payment Distribution Amount
147595 , p_source_102 IN NUMBER
147596 --Payment Distribution Identifier
147597 , p_source_107 IN NUMBER
147598 --Payment Supplier Identifier
147599 , p_source_113 IN NUMBER
147600 --Payment Supplier Site Identifier
147601 , p_source_114 IN NUMBER
147602 --Payment Distribution Reversed Identifier
147603 , p_source_115 IN NUMBER
147604 --Payment Distribution (Payment Rate) Ledger Amount
147605 , p_source_118 IN NUMBER
147606 --Payment Exchange Date
147607 , p_source_120 IN DATE
147608 --Payment Exchange Rate
147609 , p_source_121 IN NUMBER
147610 --Payment Exchange Rate Type
147611 , p_source_122 IN VARCHAR2
147612 --Invoice Distribution Amount of the Payment Distribution
147613 , p_source_127 IN NUMBER
147614 )
147615 IS
147616
147617 l_component_type VARCHAR2(80);
147618 l_component_code VARCHAR2(30);
147619 l_component_type_code VARCHAR2(1);
147620 l_component_appl_id INTEGER;
147621 l_amb_context_code VARCHAR2(30);
147622 l_entity_code VARCHAR2(30);
147623 l_event_class_code VARCHAR2(30);
147624 l_ae_header_id NUMBER;
147625 l_event_type_code VARCHAR2(30);
147626 l_line_definition_code VARCHAR2(30);
147627 l_line_definition_owner_code VARCHAR2(1);
147628 --
147629 -- adr variables
147630 l_segment VARCHAR2(30);
147631 l_ccid NUMBER;
147632 l_adr_transaction_coa_id NUMBER;
147633 l_adr_accounting_coa_id NUMBER;
147634 l_adr_flexfield_segment_code VARCHAR2(30);
147635 l_adr_flex_value_set_id NUMBER;
147636 l_adr_value_type_code VARCHAR2(30);
147637 l_adr_value_combination_id NUMBER;
147638 l_adr_value_segment_code VARCHAR2(30);
147639
147640 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
147641 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
147642 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
147643 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
147644
147645 -- 4262811 Variables ------------------------------------------------------------------------------------------
147646 l_entered_amt_idx NUMBER;
147647 l_accted_amt_idx NUMBER;
147648 l_acc_rev_flag VARCHAR2(1);
147649 l_accrual_line_num NUMBER;
147650 l_tmp_amt NUMBER;
147651 l_acc_rev_natural_side_code VARCHAR2(1);
147652
147653 l_num_entries NUMBER;
147654 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
147655 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
147656 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
147657 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
147658 l_recog_line_1 NUMBER;
147659 l_recog_line_2 NUMBER;
147660
147661 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
147662 l_bflow_applied_to_amt NUMBER; -- 5132302
147663 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
147664
147665 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
147666
147667 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
147668 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
147669
147670 ---------------------------------------------------------------------------------------------------------------
147671
147672
147673 --
147674 -- bulk performance
147675 --
147676 l_balance_type_code VARCHAR2(1);
147677 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
147678 l_log_module VARCHAR2(240);
147679
147680 --
147681 -- Upgrade strategy
147682 --
147683 l_actual_upg_option VARCHAR2(1);
147687 BEGIN
147684 l_enc_upg_option VARCHAR2(1);
147685
147686 --
147688 --
147689 IF g_log_enabled THEN
147690 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_242';
147691 END IF;
147692 --
147693 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
147694
147695 trace
147696 (p_msg => 'BEGIN of AcctLineType_242'
147697 ,p_level => C_LEVEL_PROCEDURE
147698 ,p_module => l_log_module);
147699
147700 END IF;
147701 --
147702 l_component_type := 'AMB_JLT';
147703 l_component_code := 'FV_AP_PAY_DIRECT_FUND_CR';
147704 l_component_type_code := 'S';
147705 l_component_appl_id := 200;
147706 l_amb_context_code := 'DEFAULT';
147707 l_entity_code := 'AP_PAYMENTS';
147708 l_event_class_code := 'PAYMENTS';
147709 l_event_type_code := 'PAYMENTS_ALL';
147710 l_line_definition_owner_code := 'S';
147711 l_line_definition_code := 'FV_AP_ACCRUAL_PAYMENTS_ALL';
147712 --
147713 l_balance_type_code := 'A';
147714 l_segment := NULL;
147715 l_ccid := NULL;
147716 l_adr_transaction_coa_id := NULL;
147717 l_adr_accounting_coa_id := NULL;
147718 l_adr_flexfield_segment_code := NULL;
147719 l_adr_flex_value_set_id := NULL;
147720 l_adr_value_type_code := NULL;
147721 l_adr_value_combination_id := NULL;
147722 l_adr_value_segment_code := NULL;
147723
147724 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
147725 l_bflow_class_code := ''; -- 4219869 Business Flow
147726 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
147727 l_budgetary_control_flag := 'N';
147728
147729 l_bflow_applied_to_amt_idx := NULL; -- 5132302
147730 l_bflow_applied_to_amt := NULL; -- 5132302
147731 l_entered_amt_idx := NULL; -- 4262811
147732 l_accted_amt_idx := NULL; -- 4262811
147733 l_acc_rev_flag := NULL; -- 4262811
147734 l_accrual_line_num := NULL; -- 4262811
147735 l_tmp_amt := NULL; -- 4262811
147736 --
147737
147738 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
147739 l_balance_type_code <> 'B' THEN
147740 IF (NVL(p_source_56,'
147741 ') = 'INTEREST' OR
147742 NVL(p_source_101,'
147743 ') = 'DISCOUNT') AND
147744 NVL(p_source_51,'
147745 ') = 'Direct'
147746 THEN
147747
147748 --
147749 XLA_AE_LINES_PKG.SetNewLine;
147750
147751 p_balance_type_code := l_balance_type_code;
147752 -- set the flag so later we will know whether the gain loss line needs to be created
147753
147754 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
147755 p_actual_flag :='A';
147756 END IF;
147757
147758 --
147759 -- bulk performance
147760 --
147761 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
147762 p_header_num => 0); -- 4262811
147763 --
147764 -- set accounting line options
147765 --
147766 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
147767 p_natural_side_code => 'C'
147768 , p_gain_or_loss_flag => 'N'
147769 , p_gl_transfer_mode_code => 'S'
147770 , p_acct_entry_type_code => 'A'
147771 , p_switch_side_flag => 'N'
147772 , p_merge_duplicate_code => 'N'
147773 );
147774 --
147775 l_acc_rev_natural_side_code := 'D'; -- 4262811
147776 --
147777 --
147778 -- set accounting line type info
147779 --
147780 xla_ae_lines_pkg.SetAcctLineType
147781 (p_component_type => l_component_type
147782 ,p_event_type_code => l_event_type_code
147783 ,p_line_definition_owner_code => l_line_definition_owner_code
147784 ,p_line_definition_code => l_line_definition_code
147785 ,p_accounting_line_code => l_component_code
147786 ,p_accounting_line_type_code => l_component_type_code
147787 ,p_accounting_line_appl_id => l_component_appl_id
147788 ,p_amb_context_code => l_amb_context_code
147789 ,p_entity_code => l_entity_code
147790 ,p_event_class_code => l_event_class_code);
147791 --
147792 -- set accounting class
147793 --
147794 xla_ae_lines_pkg.SetAcctClass(
147795 p_accounting_class_code => 'ACCOUNTSPAYABLE'
147796 , p_ae_header_id => l_ae_header_id
147797 );
147798
147799 --
147800 -- set rounding class
147801 --
147802 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
147803 'ACCOUNTSPAYABLE';
147804
147805 --
147806 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
147807 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
147808 --
147809 -- bulk performance
147810 --
147811 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
147812
147813 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
147814 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
147815
147816 -- 4955764
147817 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
147818 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
147819
147820 -- 4458381 Public Sector Enh
147821
147822 --
147823 -- set accounting attributes for the line type
147824 --
147825 l_entered_amt_idx := 10;
147826 l_accted_amt_idx := 15;
147830 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
147827 l_bflow_applied_to_amt_idx := 2; -- 5132302
147828 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
147829 l_rec_acct_attrs.array_char_value(1) := p_source_58;
147831 l_rec_acct_attrs.array_num_value(2) := p_source_127;
147832 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
147833 l_rec_acct_attrs.array_num_value(3) := p_source_96;
147834 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
147835 l_rec_acct_attrs.array_char_value(4) := p_source_97;
147836 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
147837 l_rec_acct_attrs.array_char_value(5) := p_source_98;
147838 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
147839 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_99);
147840 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
147841 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_100);
147842 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
147843 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_107);
147844 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
147845 l_rec_acct_attrs.array_char_value(9) := p_source_60;
147846 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
147847 l_rec_acct_attrs.array_num_value(10) := p_source_102;
147848 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
147849 l_rec_acct_attrs.array_char_value(11) := p_source_8;
147850 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
147851 l_rec_acct_attrs.array_date_value(12) := p_source_120;
147852 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
147853 l_rec_acct_attrs.array_num_value(13) := p_source_121;
147854 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
147855 l_rec_acct_attrs.array_char_value(14) := p_source_122;
147856 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
147857 l_rec_acct_attrs.array_num_value(15) := p_source_118;
147858 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
147859 l_rec_acct_attrs.array_char_value(16) := p_source_85;
147860 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
147861 l_rec_acct_attrs.array_num_value(17) := p_source_113;
147862 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
147863 l_rec_acct_attrs.array_num_value(18) := p_source_114;
147864 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
147865 l_rec_acct_attrs.array_char_value(19) := p_source_88;
147866 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
147867 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_115);
147868 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
147869 l_rec_acct_attrs.array_char_value(21) := p_source_60;
147870 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
147871 l_rec_acct_attrs.array_num_value(22) := p_source_91;
147872 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
147873 l_rec_acct_attrs.array_num_value(23) := p_source_92;
147874 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
147875 l_rec_acct_attrs.array_num_value(24) := p_source_93;
147876
147877 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
147878 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
147879
147880 ---------------------------------------------------------------------------------------------------------------
147881 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
147882 ---------------------------------------------------------------------------------------------------------------
147883 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
147884
147885 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
147886 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
147887
147888 IF xla_accounting_cache_pkg.GetValueChar
147889 (p_source_code => 'LEDGER_CATEGORY_CODE'
147890 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
147891 AND l_bflow_method_code = 'PRIOR_ENTRY'
147892 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
147893 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
147894 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
147895 )
147896 THEN
147897 xla_ae_lines_pkg.BflowUpgEntry
147898 (p_business_method_code => l_bflow_method_code
147899 ,p_business_class_code => l_bflow_class_code
147900 ,p_balance_type => l_balance_type_code);
147901 ELSE
147902 NULL;
147903 -- No business flow processing for business flow method of NONE.
147904 END IF;
147905
147906 --
147907 -- call analytical criteria
147908 --
147909
147910 --
147911 -- call description
147912 --
147913
147914 xla_ae_lines_pkg.SetLineDescription(
147915 p_ae_header_id => l_ae_header_id
147916 ,p_description => Description_3 (
147917 p_application_id => p_application_id
147918 , p_ae_header_id => l_ae_header_id
147919 , p_source_3 => p_source_3
147920 , p_source_4 => p_source_4
147921 , p_source_5 => p_source_5
147922 , p_source_6 => p_source_6
147923 , p_source_7 => p_source_7
147924 , p_source_8 => p_source_8
147925 )
147926 );
147927
147928
147929 --
147930 -- call ADRs
147931 -- Bug 4922099
147932 --
147933 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
147934 (NVL(l_actual_upg_option, 'N') = 'O') OR
147935 (NVL(l_enc_upg_option, 'N') = 'O')
147936 )
147937 THEN
147938 NULL;
147942 l_ccid := AcctDerRule_55(
147939 --
147940 --
147941
147943 p_application_id => p_application_id
147944 , p_ae_header_id => l_ae_header_id
147945 , p_source_12 => p_source_12
147946 , p_source_30 => p_source_30
147947 , p_source_57 => p_source_57
147948 , x_transaction_coa_id => l_adr_transaction_coa_id
147949 , x_accounting_coa_id => l_adr_accounting_coa_id
147950 , x_value_type_code => l_adr_value_type_code
147951 , p_side => 'NA'
147952 );
147953
147954 xla_ae_lines_pkg.set_ccid(
147955 p_code_combination_id => l_ccid
147956 , p_value_type_code => l_adr_value_type_code
147957 , p_transaction_coa_id => l_adr_transaction_coa_id
147958 , p_accounting_coa_id => l_adr_accounting_coa_id
147959 , p_adr_code => 'FV_INV_PMT_ACCOUNT'
147960 , p_adr_type_code => 'S'
147961 , p_component_type => l_component_type
147962 , p_component_code => l_component_code
147963 , p_component_type_code => l_component_type_code
147964 , p_component_appl_id => l_component_appl_id
147965 , p_amb_context_code => l_amb_context_code
147966 , p_side => 'NA'
147967 );
147968
147969
147970 l_segment := AcctDerRule_54(
147971 p_application_id => p_application_id
147972 , p_ae_header_id => l_ae_header_id
147973 , x_transaction_coa_id => l_adr_transaction_coa_id
147974 , x_accounting_coa_id => l_adr_accounting_coa_id
147975 , x_flexfield_segment_code => l_adr_flexfield_segment_code
147976 , x_flex_value_set_id => l_adr_flex_value_set_id
147977 , x_value_type_code => l_adr_value_type_code
147978 , x_value_combination_id => l_adr_value_combination_id
147979 , x_value_segment_code => l_adr_value_segment_code
147980 , p_side => 'NA'
147981 , p_override_seg_flag => 'Y'
147982 );
147983
147984 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
147985
147986 xla_ae_lines_pkg.set_segment(
147987 p_to_segment_code => 'GL_ACCOUNT'
147988 , p_segment_value => l_segment
147989 , p_from_segment_code => l_adr_value_segment_code
147990 , p_from_combination_id => l_adr_value_combination_id
147991 , p_value_type_code => l_adr_value_type_code
147992 , p_transaction_coa_id => l_adr_transaction_coa_id
147993 , p_accounting_coa_id => l_adr_accounting_coa_id
147994 , p_flexfield_segment_code => l_adr_flexfield_segment_code
147995 , p_flex_value_set_id => l_adr_flex_value_set_id
147996 , p_adr_code => 'FV_570001_UNEXP_APPR_ACCT'
147997 , p_adr_type_code => 'S'
147998 , p_component_type => l_component_type
147999 , p_component_code => l_component_code
148000 , p_component_type_code => l_component_type_code
148001 , p_component_appl_id => l_component_appl_id
148002 , p_amb_context_code => l_amb_context_code
148003 , p_entity_code => 'AP_PAYMENTS'
148004 , p_event_class_code => 'PAYMENTS'
148005 , p_side => 'NA'
148006 );
148007
148008 END IF;
148009
148010 l_segment := AcctDerRule_27(
148011 p_application_id => p_application_id
148012 , p_ae_header_id => l_ae_header_id
148013 , p_source_10 => p_source_10
148014 , p_source_10_meaning => p_source_10_meaning
148015 , p_source_25 => p_source_25
148016 , p_source_29 => p_source_29
148017 , x_transaction_coa_id => l_adr_transaction_coa_id
148018 , x_accounting_coa_id => l_adr_accounting_coa_id
148019 , x_flexfield_segment_code => l_adr_flexfield_segment_code
148020 , x_flex_value_set_id => l_adr_flex_value_set_id
148021 , x_value_type_code => l_adr_value_type_code
148022 , x_value_combination_id => l_adr_value_combination_id
148023 , x_value_segment_code => l_adr_value_segment_code
148024 , p_side => 'NA'
148025 , p_override_seg_flag => 'Y'
148026 );
148027
148028 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
148029
148030 xla_ae_lines_pkg.set_segment(
148031 p_to_segment_code => 'GL_BALANCING'
148032 , p_segment_value => l_segment
148033 , p_from_segment_code => l_adr_value_segment_code
148034 , p_from_combination_id => l_adr_value_combination_id
148035 , p_value_type_code => l_adr_value_type_code
148036 , p_transaction_coa_id => l_adr_transaction_coa_id
148037 , p_accounting_coa_id => l_adr_accounting_coa_id
148038 , p_flexfield_segment_code => l_adr_flexfield_segment_code
148039 , p_flex_value_set_id => l_adr_flex_value_set_id
148040 , p_adr_code => 'FV_INV_PMT_BAL_SEG'
148041 , p_adr_type_code => 'S'
148042 , p_component_type => l_component_type
148043 , p_component_code => l_component_code
148044 , p_component_type_code => l_component_type_code
148045 , p_component_appl_id => l_component_appl_id
148046 , p_amb_context_code => l_amb_context_code
148047 , p_entity_code => 'AP_PAYMENTS'
148048 , p_event_class_code => 'PAYMENTS'
148049 , p_side => 'NA'
148050 );
148051
148052 END IF;
148053
148054 --
148055 --
148056 END IF;
148057 --
148058 -- Bug 4922099
148059 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
148060 (NVL(l_enc_upg_option, 'N') = 'O')
148064 THEN
148061 ) AND
148062 (l_bflow_method_code = 'PRIOR_ENTRY')
148063 )
148065 IF
148066 --
148067 1 = 2
148068 --
148069 THEN
148070 xla_accounting_err_pkg.build_message
148071 (p_appli_s_name => 'XLA'
148072 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
148073 ,p_token_1 => 'LINE_NUMBER'
148074 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
148075 ,p_token_2 => 'LINE_TYPE_NAME'
148076 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
148077 l_component_type
148078 ,l_component_code
148079 ,l_component_type_code
148080 ,l_component_appl_id
148081 ,l_amb_context_code
148082 ,l_entity_code
148083 ,l_event_class_code
148084 )
148085 ,p_token_3 => 'OWNER'
148086 ,p_value_3 => xla_lookups_pkg.get_meaning(
148087 p_lookup_type => 'XLA_OWNER_TYPE'
148088 ,p_lookup_code => l_component_type_code
148089 )
148090 ,p_token_4 => 'PRODUCT_NAME'
148091 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
148092 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
148093 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
148094 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
148095 ,p_ae_header_id => NULL
148096 );
148097
148098 IF (C_LEVEL_ERROR>= g_log_level) THEN
148099 trace
148100 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
148101 ,p_level => C_LEVEL_ERROR
148102 ,p_module => l_log_module);
148103 END IF;
148104 END IF;
148105 END IF;
148106 --
148107 --
148108 ------------------------------------------------------------------------------------------------
148109 -- 4219869 Business Flow
148110 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
148111 -- Prior Entry. Currently, the following code is always generated.
148112 ------------------------------------------------------------------------------------------------
148113 XLA_AE_LINES_PKG.ValidateCurrentLine;
148114
148115 ------------------------------------------------------------------------------------
148116 -- 4219869 Business Flow
148117 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
148118 ------------------------------------------------------------------------------------
148119 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
148120
148121 ----------------------------------------------------------------------------------
148122 -- 4219869 Business Flow
148123 -- Update journal entry status -- Need to generate this within IF <condition>
148124 ----------------------------------------------------------------------------------
148125 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
148126 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
148127 ,p_balance_type_code => l_balance_type_code
148128 );
148129
148130 -------------------------------------------------------------------------------------------
148131 -- 4262811 - Generate the Accrual Reversal lines
148132 -------------------------------------------------------------------------------------------
148133 BEGIN
148134 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
148135 (g_array_event(p_event_id).array_value_num('header_index'));
148136 IF l_acc_rev_flag IS NULL THEN
148137 l_acc_rev_flag := 'N';
148138 END IF;
148139 EXCEPTION
148140 WHEN OTHERS THEN
148141 l_acc_rev_flag := 'N';
148142 END;
148143 --
148144 IF (l_acc_rev_flag = 'Y') THEN
148145
148146 -- 4645092 ------------------------------------------------------------------------------
148147 -- To allow MPA report to determine if it should generate report process
148148 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
148149 ------------------------------------------------------------------------------------------
148150
148151 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
148152 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
148153 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
148154 -- call ADRs
148155 -- Bug 4922099
148156 --
148157 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
148158 (NVL(l_actual_upg_option, 'N') = 'O') OR
148159 (NVL(l_enc_upg_option, 'N') = 'O')
148160 )
148161 THEN
148162 NULL;
148163 --
148164 --
148165
148166 l_ccid := AcctDerRule_55(
148170 , p_source_30 => p_source_30
148167 p_application_id => p_application_id
148168 , p_ae_header_id => l_ae_header_id
148169 , p_source_12 => p_source_12
148171 , p_source_57 => p_source_57
148172 , x_transaction_coa_id => l_adr_transaction_coa_id
148173 , x_accounting_coa_id => l_adr_accounting_coa_id
148174 , x_value_type_code => l_adr_value_type_code
148175 , p_side => 'NA'
148176 );
148177
148178 xla_ae_lines_pkg.set_ccid(
148179 p_code_combination_id => l_ccid
148180 , p_value_type_code => l_adr_value_type_code
148181 , p_transaction_coa_id => l_adr_transaction_coa_id
148182 , p_accounting_coa_id => l_adr_accounting_coa_id
148183 , p_adr_code => 'FV_INV_PMT_ACCOUNT'
148184 , p_adr_type_code => 'S'
148185 , p_component_type => l_component_type
148186 , p_component_code => l_component_code
148187 , p_component_type_code => l_component_type_code
148188 , p_component_appl_id => l_component_appl_id
148189 , p_amb_context_code => l_amb_context_code
148190 , p_side => 'NA'
148191 );
148192
148193
148194 l_segment := AcctDerRule_54(
148195 p_application_id => p_application_id
148196 , p_ae_header_id => l_ae_header_id
148197 , x_transaction_coa_id => l_adr_transaction_coa_id
148198 , x_accounting_coa_id => l_adr_accounting_coa_id
148199 , x_flexfield_segment_code => l_adr_flexfield_segment_code
148200 , x_flex_value_set_id => l_adr_flex_value_set_id
148201 , x_value_type_code => l_adr_value_type_code
148202 , x_value_combination_id => l_adr_value_combination_id
148203 , x_value_segment_code => l_adr_value_segment_code
148204 , p_side => 'NA'
148205 , p_override_seg_flag => 'Y'
148206 );
148207
148208 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
148209
148210 xla_ae_lines_pkg.set_segment(
148211 p_to_segment_code => 'GL_ACCOUNT'
148212 , p_segment_value => l_segment
148213 , p_from_segment_code => l_adr_value_segment_code
148214 , p_from_combination_id => l_adr_value_combination_id
148215 , p_value_type_code => l_adr_value_type_code
148216 , p_transaction_coa_id => l_adr_transaction_coa_id
148217 , p_accounting_coa_id => l_adr_accounting_coa_id
148218 , p_flexfield_segment_code => l_adr_flexfield_segment_code
148219 , p_flex_value_set_id => l_adr_flex_value_set_id
148220 , p_adr_code => 'FV_570001_UNEXP_APPR_ACCT'
148221 , p_adr_type_code => 'S'
148222 , p_component_type => l_component_type
148223 , p_component_code => l_component_code
148224 , p_component_type_code => l_component_type_code
148225 , p_component_appl_id => l_component_appl_id
148226 , p_amb_context_code => l_amb_context_code
148227 , p_entity_code => 'AP_PAYMENTS'
148228 , p_event_class_code => 'PAYMENTS'
148229 , p_side => 'NA'
148230 );
148231
148232 END IF;
148233
148234 l_segment := AcctDerRule_27(
148235 p_application_id => p_application_id
148236 , p_ae_header_id => l_ae_header_id
148237 , p_source_10 => p_source_10
148238 , p_source_10_meaning => p_source_10_meaning
148239 , p_source_25 => p_source_25
148240 , p_source_29 => p_source_29
148241 , x_transaction_coa_id => l_adr_transaction_coa_id
148242 , x_accounting_coa_id => l_adr_accounting_coa_id
148243 , x_flexfield_segment_code => l_adr_flexfield_segment_code
148244 , x_flex_value_set_id => l_adr_flex_value_set_id
148245 , x_value_type_code => l_adr_value_type_code
148246 , x_value_combination_id => l_adr_value_combination_id
148247 , x_value_segment_code => l_adr_value_segment_code
148248 , p_side => 'NA'
148249 , p_override_seg_flag => 'Y'
148250 );
148251
148252 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
148253
148254 xla_ae_lines_pkg.set_segment(
148255 p_to_segment_code => 'GL_BALANCING'
148256 , p_segment_value => l_segment
148257 , p_from_segment_code => l_adr_value_segment_code
148258 , p_from_combination_id => l_adr_value_combination_id
148259 , p_value_type_code => l_adr_value_type_code
148260 , p_transaction_coa_id => l_adr_transaction_coa_id
148261 , p_accounting_coa_id => l_adr_accounting_coa_id
148262 , p_flexfield_segment_code => l_adr_flexfield_segment_code
148263 , p_flex_value_set_id => l_adr_flex_value_set_id
148264 , p_adr_code => 'FV_INV_PMT_BAL_SEG'
148265 , p_adr_type_code => 'S'
148266 , p_component_type => l_component_type
148267 , p_component_code => l_component_code
148268 , p_component_type_code => l_component_type_code
148269 , p_component_appl_id => l_component_appl_id
148270 , p_amb_context_code => l_amb_context_code
148271 , p_entity_code => 'AP_PAYMENTS'
148272 , p_event_class_code => 'PAYMENTS'
148273 , p_side => 'NA'
148274 );
148275
148276 END IF;
148277
148278 --
148279 --
148280 END IF;
148281
148282 --
148283 -- Update the line information that should be overwritten
148284 --
148285 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
148289 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
148286 p_header_num => 1);
148287 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
148288
148290
148291 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
148292 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
148293 END IF;
148294
148295 --
148296 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
148297 --
148298 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
148299 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
148300 ELSE
148301 ---------------------------------------------------------------------------------------------------
148302 -- 4262811a Switch Sign
148303 ---------------------------------------------------------------------------------------------------
148304 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
148305 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
148306 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
148307 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
148308 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
148309 -- 5132302
148310 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
148311 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
148312
148313 END IF;
148314
148315 -- 4955764
148316 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
148317 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
148318
148319
148320 XLA_AE_LINES_PKG.ValidateCurrentLine;
148321 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
148322
148323 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
148324 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
148325 ,p_balance_type_code => l_balance_type_code);
148326
148327 END IF;
148328
148329 -----------------------------------------------------------------------------------------
148330 -- 4262811 Multiperiod Accounting
148331 -----------------------------------------------------------------------------------------
148332 -- No MPA option is assigned.
148333
148334
148335 END IF;
148336 END IF;
148337 --
148338
148339 --
148340 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
148341 trace
148342 (p_msg => 'END of AcctLineType_242'
148343 ,p_level => C_LEVEL_PROCEDURE
148344 ,p_module => l_log_module);
148345 END IF;
148346 --
148347 EXCEPTION
148348 WHEN xla_exceptions_pkg.application_exception THEN
148349 RAISE;
148350 WHEN OTHERS THEN
148351 xla_exceptions_pkg.raise_message
148352 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_242');
148353 END AcctLineType_242;
148354 --
148355
148356 ---------------------------------------
148357 --
148358 -- PRIVATE FUNCTION
148359 -- AcctLineType_243
148360 --
148361 ---------------------------------------
148362 PROCEDURE AcctLineType_243 (
148363 p_application_id IN NUMBER
148364 ,p_event_id IN NUMBER
148365 ,p_calculate_acctd_flag IN VARCHAR2
148366 ,p_calculate_g_l_flag IN VARCHAR2
148367 ,p_actual_flag IN OUT VARCHAR2
148368 ,p_balance_type_code OUT VARCHAR2
148369 ,p_gain_or_loss_ref OUT VARCHAR2
148370
148371 --Document Sequence Name
148372 , p_source_3 IN VARCHAR2
148373 --Payment Document Voucher Number
148374 , p_source_4 IN NUMBER
148375 --Payment Transaction Number
148376 , p_source_5 IN NUMBER
148377 --Payment Document Date
148378 , p_source_6 IN DATE
148379 --Bank Account Name
148380 , p_source_7 IN VARCHAR2
148381 --Payment Currency Code
148382 , p_source_8 IN VARCHAR2
148383 --Automatic Offsets Value
148384 , p_source_10 IN VARCHAR2
148385 , p_source_10_meaning IN VARCHAR2
148386 --Bank Cash Account
148387 , p_source_12 IN NUMBER
148388 --Invoice Distribution Account
148389 , p_source_25 IN NUMBER
148390 --Invoice Liability Account
148391 , p_source_29 IN NUMBER
148392 --Bank Cash Clearing Account
148393 , p_source_30 IN NUMBER
148394 --Federal Fund Category Description
148395 , p_source_51 IN VARCHAR2
148396 --Invoice Type Paid
148397 , p_source_56 IN VARCHAR2
148398 , p_source_56_meaning IN VARCHAR2
148399 --When to Account for Payment Option
148400 , p_source_57 IN VARCHAR2
148401 --Accounting Reversal Indicator
148402 , p_source_58 IN VARCHAR2
148403 --Distribution Link Type
148404 , p_source_60 IN VARCHAR2
148405 --Override Accounted Amount Indicator
148406 , p_source_85 IN VARCHAR2
148407 , p_source_85_meaning IN VARCHAR2
148408 --Third Party Type
148409 , p_source_88 IN VARCHAR2
148410 --Invoice Distribution Tax Line Identifier
148411 , p_source_91 IN NUMBER
148412 --Invoice Distribution Tax Distribution Identifier from Tax
148413 , p_source_92 IN NUMBER
148414 --Invoice Distribution Summary Tax Line Identifier
148415 , p_source_93 IN NUMBER
148416 --Business Flow Accounts Payable Application Identifier
148417 , p_source_96 IN NUMBER
148421 , p_source_98 IN VARCHAR2
148418 --Business Flow Invoice Distribution Type
148419 , p_source_97 IN VARCHAR2
148420 --Business Flow Invoice Entity Code
148422 --Business Flow Invoice Distribution Identifier
148423 , p_source_99 IN NUMBER
148424 --Business Flow Invoice Identifier
148425 , p_source_100 IN NUMBER
148426 --Payment Distribution Type
148427 , p_source_101 IN VARCHAR2
148428 , p_source_101_meaning IN VARCHAR2
148429 --Payment Distribution Amount
148430 , p_source_102 IN NUMBER
148431 --Payment Distribution Identifier
148432 , p_source_107 IN NUMBER
148433 --Payment Supplier Identifier
148434 , p_source_113 IN NUMBER
148435 --Payment Supplier Site Identifier
148436 , p_source_114 IN NUMBER
148437 --Payment Distribution Reversed Identifier
148438 , p_source_115 IN NUMBER
148439 --Payment Distribution (Payment Rate) Ledger Amount
148440 , p_source_118 IN NUMBER
148441 --Payment Exchange Date
148442 , p_source_120 IN DATE
148443 --Payment Exchange Rate
148444 , p_source_121 IN NUMBER
148445 --Payment Exchange Rate Type
148446 , p_source_122 IN VARCHAR2
148447 --Invoice Distribution Amount of the Payment Distribution
148448 , p_source_127 IN NUMBER
148449 )
148450 IS
148451
148452 l_component_type VARCHAR2(80);
148453 l_component_code VARCHAR2(30);
148454 l_component_type_code VARCHAR2(1);
148455 l_component_appl_id INTEGER;
148456 l_amb_context_code VARCHAR2(30);
148457 l_entity_code VARCHAR2(30);
148458 l_event_class_code VARCHAR2(30);
148459 l_ae_header_id NUMBER;
148460 l_event_type_code VARCHAR2(30);
148461 l_line_definition_code VARCHAR2(30);
148462 l_line_definition_owner_code VARCHAR2(1);
148463 --
148464 -- adr variables
148465 l_segment VARCHAR2(30);
148466 l_ccid NUMBER;
148467 l_adr_transaction_coa_id NUMBER;
148468 l_adr_accounting_coa_id NUMBER;
148469 l_adr_flexfield_segment_code VARCHAR2(30);
148470 l_adr_flex_value_set_id NUMBER;
148471 l_adr_value_type_code VARCHAR2(30);
148472 l_adr_value_combination_id NUMBER;
148473 l_adr_value_segment_code VARCHAR2(30);
148474
148475 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
148476 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
148477 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
148478 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
148479
148480 -- 4262811 Variables ------------------------------------------------------------------------------------------
148481 l_entered_amt_idx NUMBER;
148482 l_accted_amt_idx NUMBER;
148483 l_acc_rev_flag VARCHAR2(1);
148484 l_accrual_line_num NUMBER;
148485 l_tmp_amt NUMBER;
148486 l_acc_rev_natural_side_code VARCHAR2(1);
148487
148488 l_num_entries NUMBER;
148489 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
148490 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
148491 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
148492 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
148493 l_recog_line_1 NUMBER;
148494 l_recog_line_2 NUMBER;
148495
148496 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
148497 l_bflow_applied_to_amt NUMBER; -- 5132302
148498 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
148499
148500 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
148501
148502 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
148503 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
148504
148505 ---------------------------------------------------------------------------------------------------------------
148506
148507
148508 --
148509 -- bulk performance
148510 --
148511 l_balance_type_code VARCHAR2(1);
148512 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
148513 l_log_module VARCHAR2(240);
148514
148515 --
148516 -- Upgrade strategy
148517 --
148518 l_actual_upg_option VARCHAR2(1);
148519 l_enc_upg_option VARCHAR2(1);
148520
148521 --
148522 BEGIN
148523 --
148524 IF g_log_enabled THEN
148525 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_243';
148526 END IF;
148527 --
148528 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
148529
148530 trace
148531 (p_msg => 'BEGIN of AcctLineType_243'
148532 ,p_level => C_LEVEL_PROCEDURE
148533 ,p_module => l_log_module);
148534
148535 END IF;
148536 --
148537 l_component_type := 'AMB_JLT';
148538 l_component_code := 'FV_AP_PAY_DIRECT_FUND_DR';
148539 l_component_type_code := 'S';
148540 l_component_appl_id := 200;
148541 l_amb_context_code := 'DEFAULT';
148542 l_entity_code := 'AP_PAYMENTS';
148543 l_event_class_code := 'PAYMENTS';
148544 l_event_type_code := 'PAYMENTS_ALL';
148545 l_line_definition_owner_code := 'S';
148546 l_line_definition_code := 'FV_AP_ACCRUAL_PAYMENTS_ALL';
148547 --
148548 l_balance_type_code := 'A';
148549 l_segment := NULL;
148550 l_ccid := NULL;
148551 l_adr_transaction_coa_id := NULL;
148552 l_adr_accounting_coa_id := NULL;
148553 l_adr_flexfield_segment_code := NULL;
148554 l_adr_flex_value_set_id := NULL;
148555 l_adr_value_type_code := NULL;
148559 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
148556 l_adr_value_combination_id := NULL;
148557 l_adr_value_segment_code := NULL;
148558
148560 l_bflow_class_code := ''; -- 4219869 Business Flow
148561 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
148562 l_budgetary_control_flag := 'N';
148563
148564 l_bflow_applied_to_amt_idx := NULL; -- 5132302
148565 l_bflow_applied_to_amt := NULL; -- 5132302
148566 l_entered_amt_idx := NULL; -- 4262811
148567 l_accted_amt_idx := NULL; -- 4262811
148568 l_acc_rev_flag := NULL; -- 4262811
148569 l_accrual_line_num := NULL; -- 4262811
148570 l_tmp_amt := NULL; -- 4262811
148571 --
148572
148573 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
148574 l_balance_type_code <> 'B' THEN
148575 IF (NVL(p_source_56,'
148576 ') = 'INTEREST' OR
148577 NVL(p_source_101,'
148578 ') = 'DISCOUNT') AND
148579 NVL(p_source_51,'
148580 ') = 'Direct'
148581 THEN
148582
148583 --
148584 XLA_AE_LINES_PKG.SetNewLine;
148585
148586 p_balance_type_code := l_balance_type_code;
148587 -- set the flag so later we will know whether the gain loss line needs to be created
148588
148589 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
148590 p_actual_flag :='A';
148591 END IF;
148592
148593 --
148594 -- bulk performance
148595 --
148596 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
148597 p_header_num => 0); -- 4262811
148598 --
148599 -- set accounting line options
148600 --
148601 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
148602 p_natural_side_code => 'D'
148603 , p_gain_or_loss_flag => 'N'
148604 , p_gl_transfer_mode_code => 'S'
148605 , p_acct_entry_type_code => 'A'
148606 , p_switch_side_flag => 'N'
148607 , p_merge_duplicate_code => 'N'
148608 );
148609 --
148610 l_acc_rev_natural_side_code := 'C'; -- 4262811
148611 --
148612 --
148613 -- set accounting line type info
148614 --
148615 xla_ae_lines_pkg.SetAcctLineType
148616 (p_component_type => l_component_type
148617 ,p_event_type_code => l_event_type_code
148618 ,p_line_definition_owner_code => l_line_definition_owner_code
148619 ,p_line_definition_code => l_line_definition_code
148620 ,p_accounting_line_code => l_component_code
148621 ,p_accounting_line_type_code => l_component_type_code
148622 ,p_accounting_line_appl_id => l_component_appl_id
148623 ,p_amb_context_code => l_amb_context_code
148624 ,p_entity_code => l_entity_code
148625 ,p_event_class_code => l_event_class_code);
148626 --
148627 -- set accounting class
148628 --
148629 xla_ae_lines_pkg.SetAcctClass(
148630 p_accounting_class_code => 'ACCOUNTSPAYABLE'
148631 , p_ae_header_id => l_ae_header_id
148632 );
148633
148634 --
148635 -- set rounding class
148636 --
148637 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
148638 'ACCOUNTSPAYABLE';
148639
148640 --
148641 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
148642 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
148643 --
148644 -- bulk performance
148645 --
148646 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
148647
148648 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
148649 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
148650
148651 -- 4955764
148652 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
148653 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
148654
148655 -- 4458381 Public Sector Enh
148656
148657 --
148658 -- set accounting attributes for the line type
148659 --
148660 l_entered_amt_idx := 10;
148661 l_accted_amt_idx := 15;
148662 l_bflow_applied_to_amt_idx := 2; -- 5132302
148663 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
148664 l_rec_acct_attrs.array_char_value(1) := p_source_58;
148665 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
148666 l_rec_acct_attrs.array_num_value(2) := p_source_127;
148667 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
148668 l_rec_acct_attrs.array_num_value(3) := p_source_96;
148669 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
148670 l_rec_acct_attrs.array_char_value(4) := p_source_97;
148671 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
148672 l_rec_acct_attrs.array_char_value(5) := p_source_98;
148673 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
148674 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_99);
148675 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
148676 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_100);
148677 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
148678 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_107);
148679 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
148680 l_rec_acct_attrs.array_char_value(9) := p_source_60;
148681 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
148682 l_rec_acct_attrs.array_num_value(10) := p_source_102;
148686 l_rec_acct_attrs.array_date_value(12) := p_source_120;
148683 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
148684 l_rec_acct_attrs.array_char_value(11) := p_source_8;
148685 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
148687 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
148688 l_rec_acct_attrs.array_num_value(13) := p_source_121;
148689 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
148690 l_rec_acct_attrs.array_char_value(14) := p_source_122;
148691 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
148692 l_rec_acct_attrs.array_num_value(15) := p_source_118;
148693 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
148694 l_rec_acct_attrs.array_char_value(16) := p_source_85;
148695 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
148696 l_rec_acct_attrs.array_num_value(17) := p_source_113;
148697 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
148698 l_rec_acct_attrs.array_num_value(18) := p_source_114;
148699 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
148700 l_rec_acct_attrs.array_char_value(19) := p_source_88;
148701 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
148702 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_115);
148703 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
148704 l_rec_acct_attrs.array_char_value(21) := p_source_60;
148705 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
148706 l_rec_acct_attrs.array_num_value(22) := p_source_91;
148707 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
148708 l_rec_acct_attrs.array_num_value(23) := p_source_92;
148709 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
148710 l_rec_acct_attrs.array_num_value(24) := p_source_93;
148711
148712 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
148713 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
148714
148715 ---------------------------------------------------------------------------------------------------------------
148716 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
148717 ---------------------------------------------------------------------------------------------------------------
148718 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
148719
148720 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
148721 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
148722
148723 IF xla_accounting_cache_pkg.GetValueChar
148724 (p_source_code => 'LEDGER_CATEGORY_CODE'
148725 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
148726 AND l_bflow_method_code = 'PRIOR_ENTRY'
148727 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
148728 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
148729 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
148730 )
148731 THEN
148732 xla_ae_lines_pkg.BflowUpgEntry
148733 (p_business_method_code => l_bflow_method_code
148734 ,p_business_class_code => l_bflow_class_code
148735 ,p_balance_type => l_balance_type_code);
148736 ELSE
148737 NULL;
148738 -- No business flow processing for business flow method of NONE.
148739 END IF;
148740
148741 --
148742 -- call analytical criteria
148743 --
148744
148745 --
148746 -- call description
148747 --
148748
148749 xla_ae_lines_pkg.SetLineDescription(
148750 p_ae_header_id => l_ae_header_id
148751 ,p_description => Description_3 (
148752 p_application_id => p_application_id
148753 , p_ae_header_id => l_ae_header_id
148754 , p_source_3 => p_source_3
148755 , p_source_4 => p_source_4
148756 , p_source_5 => p_source_5
148757 , p_source_6 => p_source_6
148758 , p_source_7 => p_source_7
148759 , p_source_8 => p_source_8
148760 )
148761 );
148762
148763
148764 --
148765 -- call ADRs
148766 -- Bug 4922099
148767 --
148768 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
148769 (NVL(l_actual_upg_option, 'N') = 'O') OR
148770 (NVL(l_enc_upg_option, 'N') = 'O')
148771 )
148772 THEN
148773 NULL;
148774 --
148775 --
148776
148777 l_ccid := AcctDerRule_55(
148778 p_application_id => p_application_id
148779 , p_ae_header_id => l_ae_header_id
148780 , p_source_12 => p_source_12
148781 , p_source_30 => p_source_30
148782 , p_source_57 => p_source_57
148783 , x_transaction_coa_id => l_adr_transaction_coa_id
148784 , x_accounting_coa_id => l_adr_accounting_coa_id
148785 , x_value_type_code => l_adr_value_type_code
148786 , p_side => 'NA'
148787 );
148788
148789 xla_ae_lines_pkg.set_ccid(
148790 p_code_combination_id => l_ccid
148791 , p_value_type_code => l_adr_value_type_code
148792 , p_transaction_coa_id => l_adr_transaction_coa_id
148793 , p_accounting_coa_id => l_adr_accounting_coa_id
148794 , p_adr_code => 'FV_INV_PMT_ACCOUNT'
148795 , p_adr_type_code => 'S'
148796 , p_component_type => l_component_type
148797 , p_component_code => l_component_code
148798 , p_component_type_code => l_component_type_code
148799 , p_component_appl_id => l_component_appl_id
148800 , p_amb_context_code => l_amb_context_code
148801 , p_side => 'NA'
148802 );
148803
148804
148805 l_segment := AcctDerRule_49(
148809 , x_accounting_coa_id => l_adr_accounting_coa_id
148806 p_application_id => p_application_id
148807 , p_ae_header_id => l_ae_header_id
148808 , x_transaction_coa_id => l_adr_transaction_coa_id
148810 , x_flexfield_segment_code => l_adr_flexfield_segment_code
148811 , x_flex_value_set_id => l_adr_flex_value_set_id
148812 , x_value_type_code => l_adr_value_type_code
148813 , x_value_combination_id => l_adr_value_combination_id
148814 , x_value_segment_code => l_adr_value_segment_code
148815 , p_side => 'NA'
148816 , p_override_seg_flag => 'Y'
148817 );
148818
148819 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
148820
148821 xla_ae_lines_pkg.set_segment(
148822 p_to_segment_code => 'GL_ACCOUNT'
148823 , p_segment_value => l_segment
148824 , p_from_segment_code => l_adr_value_segment_code
148825 , p_from_combination_id => l_adr_value_combination_id
148826 , p_value_type_code => l_adr_value_type_code
148827 , p_transaction_coa_id => l_adr_transaction_coa_id
148828 , p_accounting_coa_id => l_adr_accounting_coa_id
148829 , p_flexfield_segment_code => l_adr_flexfield_segment_code
148830 , p_flex_value_set_id => l_adr_flex_value_set_id
148831 , p_adr_code => 'FV_310701_UNEXP_APPR_ACCT'
148832 , p_adr_type_code => 'S'
148833 , p_component_type => l_component_type
148834 , p_component_code => l_component_code
148835 , p_component_type_code => l_component_type_code
148836 , p_component_appl_id => l_component_appl_id
148837 , p_amb_context_code => l_amb_context_code
148838 , p_entity_code => 'AP_PAYMENTS'
148839 , p_event_class_code => 'PAYMENTS'
148840 , p_side => 'NA'
148841 );
148842
148843 END IF;
148844
148845 l_segment := AcctDerRule_27(
148846 p_application_id => p_application_id
148847 , p_ae_header_id => l_ae_header_id
148848 , p_source_10 => p_source_10
148849 , p_source_10_meaning => p_source_10_meaning
148850 , p_source_25 => p_source_25
148851 , p_source_29 => p_source_29
148852 , x_transaction_coa_id => l_adr_transaction_coa_id
148853 , x_accounting_coa_id => l_adr_accounting_coa_id
148854 , x_flexfield_segment_code => l_adr_flexfield_segment_code
148855 , x_flex_value_set_id => l_adr_flex_value_set_id
148856 , x_value_type_code => l_adr_value_type_code
148857 , x_value_combination_id => l_adr_value_combination_id
148858 , x_value_segment_code => l_adr_value_segment_code
148859 , p_side => 'NA'
148860 , p_override_seg_flag => 'Y'
148861 );
148862
148863 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
148864
148865 xla_ae_lines_pkg.set_segment(
148866 p_to_segment_code => 'GL_BALANCING'
148867 , p_segment_value => l_segment
148868 , p_from_segment_code => l_adr_value_segment_code
148869 , p_from_combination_id => l_adr_value_combination_id
148870 , p_value_type_code => l_adr_value_type_code
148871 , p_transaction_coa_id => l_adr_transaction_coa_id
148872 , p_accounting_coa_id => l_adr_accounting_coa_id
148873 , p_flexfield_segment_code => l_adr_flexfield_segment_code
148874 , p_flex_value_set_id => l_adr_flex_value_set_id
148875 , p_adr_code => 'FV_INV_PMT_BAL_SEG'
148876 , p_adr_type_code => 'S'
148877 , p_component_type => l_component_type
148878 , p_component_code => l_component_code
148879 , p_component_type_code => l_component_type_code
148880 , p_component_appl_id => l_component_appl_id
148881 , p_amb_context_code => l_amb_context_code
148882 , p_entity_code => 'AP_PAYMENTS'
148883 , p_event_class_code => 'PAYMENTS'
148884 , p_side => 'NA'
148885 );
148886
148887 END IF;
148888
148889 --
148890 --
148891 END IF;
148892 --
148893 -- Bug 4922099
148894 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
148895 (NVL(l_enc_upg_option, 'N') = 'O')
148896 ) AND
148897 (l_bflow_method_code = 'PRIOR_ENTRY')
148898 )
148899 THEN
148900 IF
148901 --
148902 1 = 2
148903 --
148904 THEN
148905 xla_accounting_err_pkg.build_message
148906 (p_appli_s_name => 'XLA'
148907 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
148908 ,p_token_1 => 'LINE_NUMBER'
148909 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
148910 ,p_token_2 => 'LINE_TYPE_NAME'
148911 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
148912 l_component_type
148913 ,l_component_code
148914 ,l_component_type_code
148915 ,l_component_appl_id
148916 ,l_amb_context_code
148917 ,l_entity_code
148918 ,l_event_class_code
148922 p_lookup_type => 'XLA_OWNER_TYPE'
148919 )
148920 ,p_token_3 => 'OWNER'
148921 ,p_value_3 => xla_lookups_pkg.get_meaning(
148923 ,p_lookup_code => l_component_type_code
148924 )
148925 ,p_token_4 => 'PRODUCT_NAME'
148926 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
148927 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
148928 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
148929 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
148930 ,p_ae_header_id => NULL
148931 );
148932
148933 IF (C_LEVEL_ERROR>= g_log_level) THEN
148934 trace
148935 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
148936 ,p_level => C_LEVEL_ERROR
148937 ,p_module => l_log_module);
148938 END IF;
148939 END IF;
148940 END IF;
148941 --
148942 --
148943 ------------------------------------------------------------------------------------------------
148944 -- 4219869 Business Flow
148945 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
148946 -- Prior Entry. Currently, the following code is always generated.
148947 ------------------------------------------------------------------------------------------------
148948 XLA_AE_LINES_PKG.ValidateCurrentLine;
148949
148950 ------------------------------------------------------------------------------------
148951 -- 4219869 Business Flow
148952 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
148953 ------------------------------------------------------------------------------------
148954 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
148955
148956 ----------------------------------------------------------------------------------
148957 -- 4219869 Business Flow
148958 -- Update journal entry status -- Need to generate this within IF <condition>
148959 ----------------------------------------------------------------------------------
148960 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
148961 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
148962 ,p_balance_type_code => l_balance_type_code
148963 );
148964
148965 -------------------------------------------------------------------------------------------
148966 -- 4262811 - Generate the Accrual Reversal lines
148967 -------------------------------------------------------------------------------------------
148968 BEGIN
148969 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
148970 (g_array_event(p_event_id).array_value_num('header_index'));
148971 IF l_acc_rev_flag IS NULL THEN
148972 l_acc_rev_flag := 'N';
148973 END IF;
148974 EXCEPTION
148975 WHEN OTHERS THEN
148976 l_acc_rev_flag := 'N';
148977 END;
148978 --
148979 IF (l_acc_rev_flag = 'Y') THEN
148980
148981 -- 4645092 ------------------------------------------------------------------------------
148982 -- To allow MPA report to determine if it should generate report process
148983 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
148984 ------------------------------------------------------------------------------------------
148985
148986 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
148987 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
148988 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
148989 -- call ADRs
148990 -- Bug 4922099
148991 --
148992 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
148993 (NVL(l_actual_upg_option, 'N') = 'O') OR
148994 (NVL(l_enc_upg_option, 'N') = 'O')
148995 )
148996 THEN
148997 NULL;
148998 --
148999 --
149000
149001 l_ccid := AcctDerRule_55(
149002 p_application_id => p_application_id
149003 , p_ae_header_id => l_ae_header_id
149004 , p_source_12 => p_source_12
149005 , p_source_30 => p_source_30
149006 , p_source_57 => p_source_57
149007 , x_transaction_coa_id => l_adr_transaction_coa_id
149008 , x_accounting_coa_id => l_adr_accounting_coa_id
149009 , x_value_type_code => l_adr_value_type_code
149010 , p_side => 'NA'
149011 );
149012
149013 xla_ae_lines_pkg.set_ccid(
149014 p_code_combination_id => l_ccid
149015 , p_value_type_code => l_adr_value_type_code
149016 , p_transaction_coa_id => l_adr_transaction_coa_id
149017 , p_accounting_coa_id => l_adr_accounting_coa_id
149018 , p_adr_code => 'FV_INV_PMT_ACCOUNT'
149019 , p_adr_type_code => 'S'
149020 , p_component_type => l_component_type
149021 , p_component_code => l_component_code
149022 , p_component_type_code => l_component_type_code
149023 , p_component_appl_id => l_component_appl_id
149024 , p_amb_context_code => l_amb_context_code
149025 , p_side => 'NA'
149026 );
149027
149028
149029 l_segment := AcctDerRule_49(
149030 p_application_id => p_application_id
149034 , x_flexfield_segment_code => l_adr_flexfield_segment_code
149031 , p_ae_header_id => l_ae_header_id
149032 , x_transaction_coa_id => l_adr_transaction_coa_id
149033 , x_accounting_coa_id => l_adr_accounting_coa_id
149035 , x_flex_value_set_id => l_adr_flex_value_set_id
149036 , x_value_type_code => l_adr_value_type_code
149037 , x_value_combination_id => l_adr_value_combination_id
149038 , x_value_segment_code => l_adr_value_segment_code
149039 , p_side => 'NA'
149040 , p_override_seg_flag => 'Y'
149041 );
149042
149043 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
149044
149045 xla_ae_lines_pkg.set_segment(
149046 p_to_segment_code => 'GL_ACCOUNT'
149047 , p_segment_value => l_segment
149048 , p_from_segment_code => l_adr_value_segment_code
149049 , p_from_combination_id => l_adr_value_combination_id
149050 , p_value_type_code => l_adr_value_type_code
149051 , p_transaction_coa_id => l_adr_transaction_coa_id
149052 , p_accounting_coa_id => l_adr_accounting_coa_id
149053 , p_flexfield_segment_code => l_adr_flexfield_segment_code
149054 , p_flex_value_set_id => l_adr_flex_value_set_id
149055 , p_adr_code => 'FV_310701_UNEXP_APPR_ACCT'
149056 , p_adr_type_code => 'S'
149057 , p_component_type => l_component_type
149058 , p_component_code => l_component_code
149059 , p_component_type_code => l_component_type_code
149060 , p_component_appl_id => l_component_appl_id
149061 , p_amb_context_code => l_amb_context_code
149062 , p_entity_code => 'AP_PAYMENTS'
149063 , p_event_class_code => 'PAYMENTS'
149064 , p_side => 'NA'
149065 );
149066
149067 END IF;
149068
149069 l_segment := AcctDerRule_27(
149070 p_application_id => p_application_id
149071 , p_ae_header_id => l_ae_header_id
149072 , p_source_10 => p_source_10
149073 , p_source_10_meaning => p_source_10_meaning
149074 , p_source_25 => p_source_25
149075 , p_source_29 => p_source_29
149076 , x_transaction_coa_id => l_adr_transaction_coa_id
149077 , x_accounting_coa_id => l_adr_accounting_coa_id
149078 , x_flexfield_segment_code => l_adr_flexfield_segment_code
149079 , x_flex_value_set_id => l_adr_flex_value_set_id
149080 , x_value_type_code => l_adr_value_type_code
149081 , x_value_combination_id => l_adr_value_combination_id
149082 , x_value_segment_code => l_adr_value_segment_code
149083 , p_side => 'NA'
149084 , p_override_seg_flag => 'Y'
149085 );
149086
149087 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
149088
149089 xla_ae_lines_pkg.set_segment(
149090 p_to_segment_code => 'GL_BALANCING'
149091 , p_segment_value => l_segment
149092 , p_from_segment_code => l_adr_value_segment_code
149093 , p_from_combination_id => l_adr_value_combination_id
149094 , p_value_type_code => l_adr_value_type_code
149095 , p_transaction_coa_id => l_adr_transaction_coa_id
149096 , p_accounting_coa_id => l_adr_accounting_coa_id
149097 , p_flexfield_segment_code => l_adr_flexfield_segment_code
149098 , p_flex_value_set_id => l_adr_flex_value_set_id
149099 , p_adr_code => 'FV_INV_PMT_BAL_SEG'
149100 , p_adr_type_code => 'S'
149101 , p_component_type => l_component_type
149102 , p_component_code => l_component_code
149103 , p_component_type_code => l_component_type_code
149104 , p_component_appl_id => l_component_appl_id
149105 , p_amb_context_code => l_amb_context_code
149106 , p_entity_code => 'AP_PAYMENTS'
149107 , p_event_class_code => 'PAYMENTS'
149108 , p_side => 'NA'
149109 );
149110
149111 END IF;
149112
149113 --
149114 --
149115 END IF;
149116
149117 --
149118 -- Update the line information that should be overwritten
149119 --
149120 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
149121 p_header_num => 1);
149122 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
149123
149124 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
149125
149126 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
149127 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
149128 END IF;
149129
149130 --
149131 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
149132 --
149133 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
149134 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
149135 ELSE
149136 ---------------------------------------------------------------------------------------------------
149137 -- 4262811a Switch Sign
149138 ---------------------------------------------------------------------------------------------------
149139 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
149140 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
149141 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
149145 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
149142 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
149143 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
149144 -- 5132302
149146 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
149147
149148 END IF;
149149
149150 -- 4955764
149151 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
149152 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
149153
149154
149155 XLA_AE_LINES_PKG.ValidateCurrentLine;
149156 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
149157
149158 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
149159 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
149160 ,p_balance_type_code => l_balance_type_code);
149161
149162 END IF;
149163
149164 -----------------------------------------------------------------------------------------
149165 -- 4262811 Multiperiod Accounting
149166 -----------------------------------------------------------------------------------------
149167 -- No MPA option is assigned.
149168
149169
149170 END IF;
149171 END IF;
149172 --
149173
149174 --
149175 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
149176 trace
149177 (p_msg => 'END of AcctLineType_243'
149178 ,p_level => C_LEVEL_PROCEDURE
149179 ,p_module => l_log_module);
149180 END IF;
149181 --
149182 EXCEPTION
149183 WHEN xla_exceptions_pkg.application_exception THEN
149184 RAISE;
149185 WHEN OTHERS THEN
149186 xla_exceptions_pkg.raise_message
149187 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_243');
149188 END AcctLineType_243;
149189 --
149190
149191 ---------------------------------------
149192 --
149193 -- PRIVATE FUNCTION
149194 -- AcctLineType_244
149195 --
149196 ---------------------------------------
149197 PROCEDURE AcctLineType_244 (
149198 p_application_id IN NUMBER
149199 ,p_event_id IN NUMBER
149200 ,p_calculate_acctd_flag IN VARCHAR2
149201 ,p_calculate_g_l_flag IN VARCHAR2
149202 ,p_actual_flag IN OUT VARCHAR2
149203 ,p_balance_type_code OUT VARCHAR2
149204 ,p_gain_or_loss_ref OUT VARCHAR2
149205
149206 --Document Sequence Name
149207 , p_source_3 IN VARCHAR2
149208 --Payment Document Voucher Number
149209 , p_source_4 IN NUMBER
149210 --Payment Transaction Number
149211 , p_source_5 IN NUMBER
149212 --Payment Document Date
149213 , p_source_6 IN DATE
149214 --Bank Account Name
149215 , p_source_7 IN VARCHAR2
149216 --Payment Currency Code
149217 , p_source_8 IN VARCHAR2
149218 --Automatic Offsets Value
149219 , p_source_10 IN VARCHAR2
149220 , p_source_10_meaning IN VARCHAR2
149221 --Bank Cash Account
149222 , p_source_12 IN NUMBER
149223 --Invoice Distribution Account
149224 , p_source_25 IN NUMBER
149225 --Invoice Liability Account
149226 , p_source_29 IN NUMBER
149227 --Bank Cash Clearing Account
149228 , p_source_30 IN NUMBER
149229 --When to Account for Payment Option
149230 , p_source_57 IN VARCHAR2
149231 --Accounting Reversal Indicator
149232 , p_source_58 IN VARCHAR2
149233 --Distribution Link Type
149234 , p_source_60 IN VARCHAR2
149235 --Override Accounted Amount Indicator
149236 , p_source_85 IN VARCHAR2
149237 , p_source_85_meaning IN VARCHAR2
149238 --Third Party Type
149239 , p_source_88 IN VARCHAR2
149240 --Invoice Distribution Tax Line Identifier
149241 , p_source_91 IN NUMBER
149242 --Invoice Distribution Tax Distribution Identifier from Tax
149243 , p_source_92 IN NUMBER
149244 --Invoice Distribution Summary Tax Line Identifier
149245 , p_source_93 IN NUMBER
149246 --Business Flow Accounts Payable Application Identifier
149247 , p_source_96 IN NUMBER
149248 --Business Flow Invoice Distribution Type
149249 , p_source_97 IN VARCHAR2
149250 --Business Flow Invoice Entity Code
149251 , p_source_98 IN VARCHAR2
149252 --Business Flow Invoice Distribution Identifier
149253 , p_source_99 IN NUMBER
149254 --Business Flow Invoice Identifier
149255 , p_source_100 IN NUMBER
149256 --Payment Distribution Type
149257 , p_source_101 IN VARCHAR2
149258 , p_source_101_meaning IN VARCHAR2
149259 --Payment Distribution Amount
149260 , p_source_102 IN NUMBER
149261 --Payment Distribution Identifier
149262 , p_source_107 IN NUMBER
149263 --Payment Supplier Identifier
149264 , p_source_113 IN NUMBER
149265 --Payment Supplier Site Identifier
149266 , p_source_114 IN NUMBER
149267 --Payment Distribution Reversed Identifier
149268 , p_source_115 IN NUMBER
149269 --Payment Distribution (Payment Rate) Ledger Amount
149270 , p_source_118 IN NUMBER
149271 --Payment Exchange Date
149272 , p_source_120 IN DATE
149273 --Payment Exchange Rate
149274 , p_source_121 IN NUMBER
149275 --Payment Exchange Rate Type
149276 , p_source_122 IN VARCHAR2
149277 --Payment Type
149278 , p_source_125 IN VARCHAR2
149279 , p_source_125_meaning IN VARCHAR2
149280 --Invoice Distribution Amount of the Payment Distribution
149281 , p_source_127 IN NUMBER
149282 --Federal DIT Flag
149283 , p_source_170 IN VARCHAR2
149284 )
149285 IS
149286
149287 l_component_type VARCHAR2(80);
149291 l_amb_context_code VARCHAR2(30);
149288 l_component_code VARCHAR2(30);
149289 l_component_type_code VARCHAR2(1);
149290 l_component_appl_id INTEGER;
149292 l_entity_code VARCHAR2(30);
149293 l_event_class_code VARCHAR2(30);
149294 l_ae_header_id NUMBER;
149295 l_event_type_code VARCHAR2(30);
149296 l_line_definition_code VARCHAR2(30);
149297 l_line_definition_owner_code VARCHAR2(1);
149298 --
149299 -- adr variables
149300 l_segment VARCHAR2(30);
149301 l_ccid NUMBER;
149302 l_adr_transaction_coa_id NUMBER;
149303 l_adr_accounting_coa_id NUMBER;
149304 l_adr_flexfield_segment_code VARCHAR2(30);
149305 l_adr_flex_value_set_id NUMBER;
149306 l_adr_value_type_code VARCHAR2(30);
149307 l_adr_value_combination_id NUMBER;
149308 l_adr_value_segment_code VARCHAR2(30);
149309
149310 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
149311 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
149312 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
149313 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
149314
149315 -- 4262811 Variables ------------------------------------------------------------------------------------------
149316 l_entered_amt_idx NUMBER;
149317 l_accted_amt_idx NUMBER;
149318 l_acc_rev_flag VARCHAR2(1);
149319 l_accrual_line_num NUMBER;
149320 l_tmp_amt NUMBER;
149321 l_acc_rev_natural_side_code VARCHAR2(1);
149322
149323 l_num_entries NUMBER;
149324 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
149325 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
149326 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
149327 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
149328 l_recog_line_1 NUMBER;
149329 l_recog_line_2 NUMBER;
149330
149331 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
149332 l_bflow_applied_to_amt NUMBER; -- 5132302
149333 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
149334
149335 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
149336
149337 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
149338 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
149339
149340 ---------------------------------------------------------------------------------------------------------------
149341
149342
149343 --
149344 -- bulk performance
149345 --
149346 l_balance_type_code VARCHAR2(1);
149347 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
149348 l_log_module VARCHAR2(240);
149349
149350 --
149351 -- Upgrade strategy
149352 --
149353 l_actual_upg_option VARCHAR2(1);
149354 l_enc_upg_option VARCHAR2(1);
149355
149356 --
149357 BEGIN
149358 --
149359 IF g_log_enabled THEN
149360 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_244';
149361 END IF;
149362 --
149363 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
149364
149365 trace
149366 (p_msg => 'BEGIN of AcctLineType_244'
149367 ,p_level => C_LEVEL_PROCEDURE
149368 ,p_module => l_log_module);
149369
149370 END IF;
149371 --
149372 l_component_type := 'AMB_JLT';
149373 l_component_code := 'FV_TC_CASH_ACCT_DR';
149374 l_component_type_code := 'S';
149375 l_component_appl_id := 200;
149376 l_amb_context_code := 'DEFAULT';
149377 l_entity_code := 'AP_PAYMENTS';
149378 l_event_class_code := 'PAYMENTS';
149379 l_event_type_code := 'PAYMENTS_ALL';
149380 l_line_definition_owner_code := 'S';
149381 l_line_definition_code := 'FV_AP_ACCRUAL_PAYMENTS_ALL';
149382 --
149383 l_balance_type_code := 'A';
149384 l_segment := NULL;
149385 l_ccid := NULL;
149386 l_adr_transaction_coa_id := NULL;
149387 l_adr_accounting_coa_id := NULL;
149388 l_adr_flexfield_segment_code := NULL;
149389 l_adr_flex_value_set_id := NULL;
149390 l_adr_value_type_code := NULL;
149391 l_adr_value_combination_id := NULL;
149392 l_adr_value_segment_code := NULL;
149393
149394 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
149395 l_bflow_class_code := ''; -- 4219869 Business Flow
149396 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
149397 l_budgetary_control_flag := 'N';
149398
149399 l_bflow_applied_to_amt_idx := NULL; -- 5132302
149400 l_bflow_applied_to_amt := NULL; -- 5132302
149401 l_entered_amt_idx := NULL; -- 4262811
149402 l_accted_amt_idx := NULL; -- 4262811
149403 l_acc_rev_flag := NULL; -- 4262811
149404 l_accrual_line_num := NULL; -- 4262811
149405 l_tmp_amt := NULL; -- 4262811
149406 --
149407
149408 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
149409 l_balance_type_code <> 'B' THEN
149410 IF NVL(p_source_170,'
149411 ') = 'Y' AND
149412 (NVL(p_source_125,'
149413 ') = 'M' OR
149414 NVL(p_source_125,'
149415 ') = 'Q' OR
149416 NVL(p_source_125,'
149417 ') = 'R') AND
149418 NVL(p_source_101,'
149419 ') <> 'DISCOUNT'
149420 THEN
149421
149422 --
149423 XLA_AE_LINES_PKG.SetNewLine;
149424
149425 p_balance_type_code := l_balance_type_code;
149426 -- set the flag so later we will know whether the gain loss line needs to be created
149430 END IF;
149427
149428 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
149429 p_actual_flag :='A';
149431
149432 --
149433 -- bulk performance
149434 --
149435 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
149436 p_header_num => 0); -- 4262811
149437 --
149438 -- set accounting line options
149439 --
149440 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
149441 p_natural_side_code => 'D'
149442 , p_gain_or_loss_flag => 'N'
149443 , p_gl_transfer_mode_code => 'S'
149444 , p_acct_entry_type_code => 'A'
149445 , p_switch_side_flag => 'N'
149446 , p_merge_duplicate_code => 'N'
149447 );
149448 --
149449 l_acc_rev_natural_side_code := 'C'; -- 4262811
149450 --
149451 --
149452 -- set accounting line type info
149453 --
149454 xla_ae_lines_pkg.SetAcctLineType
149455 (p_component_type => l_component_type
149456 ,p_event_type_code => l_event_type_code
149457 ,p_line_definition_owner_code => l_line_definition_owner_code
149458 ,p_line_definition_code => l_line_definition_code
149459 ,p_accounting_line_code => l_component_code
149460 ,p_accounting_line_type_code => l_component_type_code
149461 ,p_accounting_line_appl_id => l_component_appl_id
149462 ,p_amb_context_code => l_amb_context_code
149463 ,p_entity_code => l_entity_code
149464 ,p_event_class_code => l_event_class_code);
149465 --
149466 -- set accounting class
149467 --
149468 xla_ae_lines_pkg.SetAcctClass(
149469 p_accounting_class_code => 'ACCOUNTSPAYABLE'
149470 , p_ae_header_id => l_ae_header_id
149471 );
149472
149473 --
149474 -- set rounding class
149475 --
149476 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
149477 'ACCOUNTSPAYABLE';
149478
149479 --
149480 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
149481 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
149482 --
149483 -- bulk performance
149484 --
149485 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
149486
149487 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
149488 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
149489
149490 -- 4955764
149491 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
149492 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
149493
149494 -- 4458381 Public Sector Enh
149495
149496 --
149497 -- set accounting attributes for the line type
149498 --
149499 l_entered_amt_idx := 10;
149500 l_accted_amt_idx := 15;
149501 l_bflow_applied_to_amt_idx := 2; -- 5132302
149502 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
149503 l_rec_acct_attrs.array_char_value(1) := p_source_58;
149504 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
149505 l_rec_acct_attrs.array_num_value(2) := p_source_127;
149506 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
149507 l_rec_acct_attrs.array_num_value(3) := p_source_96;
149508 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
149509 l_rec_acct_attrs.array_char_value(4) := p_source_97;
149510 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
149511 l_rec_acct_attrs.array_char_value(5) := p_source_98;
149512 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
149513 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_99);
149514 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
149515 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_100);
149516 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
149517 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_107);
149518 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
149519 l_rec_acct_attrs.array_char_value(9) := p_source_60;
149520 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
149521 l_rec_acct_attrs.array_num_value(10) := p_source_102;
149522 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
149523 l_rec_acct_attrs.array_char_value(11) := p_source_8;
149524 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
149525 l_rec_acct_attrs.array_date_value(12) := p_source_120;
149526 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
149527 l_rec_acct_attrs.array_num_value(13) := p_source_121;
149528 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
149529 l_rec_acct_attrs.array_char_value(14) := p_source_122;
149530 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
149531 l_rec_acct_attrs.array_num_value(15) := p_source_118;
149532 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
149533 l_rec_acct_attrs.array_char_value(16) := p_source_85;
149534 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
149535 l_rec_acct_attrs.array_num_value(17) := p_source_113;
149536 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
149537 l_rec_acct_attrs.array_num_value(18) := p_source_114;
149538 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
149539 l_rec_acct_attrs.array_char_value(19) := p_source_88;
149540 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
149541 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_115);
149542 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
149546 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
149543 l_rec_acct_attrs.array_char_value(21) := p_source_60;
149544 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
149545 l_rec_acct_attrs.array_num_value(22) := p_source_91;
149547 l_rec_acct_attrs.array_num_value(23) := p_source_92;
149548 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
149549 l_rec_acct_attrs.array_num_value(24) := p_source_93;
149550
149551 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
149552 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
149553
149554 ---------------------------------------------------------------------------------------------------------------
149555 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
149556 ---------------------------------------------------------------------------------------------------------------
149557 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
149558
149559 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
149560 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
149561
149562 IF xla_accounting_cache_pkg.GetValueChar
149563 (p_source_code => 'LEDGER_CATEGORY_CODE'
149564 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
149565 AND l_bflow_method_code = 'PRIOR_ENTRY'
149566 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
149567 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
149568 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
149569 )
149570 THEN
149571 xla_ae_lines_pkg.BflowUpgEntry
149572 (p_business_method_code => l_bflow_method_code
149573 ,p_business_class_code => l_bflow_class_code
149574 ,p_balance_type => l_balance_type_code);
149575 ELSE
149576 NULL;
149577 -- No business flow processing for business flow method of NONE.
149578 END IF;
149579
149580 --
149581 -- call analytical criteria
149582 --
149583
149584 --
149585 -- call description
149586 --
149587
149588 xla_ae_lines_pkg.SetLineDescription(
149589 p_ae_header_id => l_ae_header_id
149590 ,p_description => Description_3 (
149591 p_application_id => p_application_id
149592 , p_ae_header_id => l_ae_header_id
149593 , p_source_3 => p_source_3
149594 , p_source_4 => p_source_4
149595 , p_source_5 => p_source_5
149596 , p_source_6 => p_source_6
149597 , p_source_7 => p_source_7
149598 , p_source_8 => p_source_8
149599 )
149600 );
149601
149602
149603 --
149604 -- call ADRs
149605 -- Bug 4922099
149606 --
149607 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
149608 (NVL(l_actual_upg_option, 'N') = 'O') OR
149609 (NVL(l_enc_upg_option, 'N') = 'O')
149610 )
149611 THEN
149612 NULL;
149613 --
149614 --
149615
149616 l_ccid := AcctDerRule_55(
149617 p_application_id => p_application_id
149618 , p_ae_header_id => l_ae_header_id
149619 , p_source_12 => p_source_12
149620 , p_source_30 => p_source_30
149621 , p_source_57 => p_source_57
149622 , x_transaction_coa_id => l_adr_transaction_coa_id
149623 , x_accounting_coa_id => l_adr_accounting_coa_id
149624 , x_value_type_code => l_adr_value_type_code
149625 , p_side => 'NA'
149626 );
149627
149628 xla_ae_lines_pkg.set_ccid(
149629 p_code_combination_id => l_ccid
149630 , p_value_type_code => l_adr_value_type_code
149631 , p_transaction_coa_id => l_adr_transaction_coa_id
149632 , p_accounting_coa_id => l_adr_accounting_coa_id
149633 , p_adr_code => 'FV_INV_PMT_ACCOUNT'
149634 , p_adr_type_code => 'S'
149635 , p_component_type => l_component_type
149636 , p_component_code => l_component_code
149637 , p_component_type_code => l_component_type_code
149638 , p_component_appl_id => l_component_appl_id
149639 , p_amb_context_code => l_amb_context_code
149640 , p_side => 'NA'
149641 );
149642
149643
149644 l_segment := AcctDerRule_27(
149645 p_application_id => p_application_id
149646 , p_ae_header_id => l_ae_header_id
149647 , p_source_10 => p_source_10
149648 , p_source_10_meaning => p_source_10_meaning
149649 , p_source_25 => p_source_25
149650 , p_source_29 => p_source_29
149651 , x_transaction_coa_id => l_adr_transaction_coa_id
149652 , x_accounting_coa_id => l_adr_accounting_coa_id
149653 , x_flexfield_segment_code => l_adr_flexfield_segment_code
149654 , x_flex_value_set_id => l_adr_flex_value_set_id
149655 , x_value_type_code => l_adr_value_type_code
149656 , x_value_combination_id => l_adr_value_combination_id
149657 , x_value_segment_code => l_adr_value_segment_code
149658 , p_side => 'NA'
149659 , p_override_seg_flag => 'Y'
149660 );
149661
149662 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
149663
149664 xla_ae_lines_pkg.set_segment(
149665 p_to_segment_code => 'GL_BALANCING'
149666 , p_segment_value => l_segment
149667 , p_from_segment_code => l_adr_value_segment_code
149668 , p_from_combination_id => l_adr_value_combination_id
149669 , p_value_type_code => l_adr_value_type_code
149670 , p_transaction_coa_id => l_adr_transaction_coa_id
149674 , p_adr_code => 'FV_INV_PMT_BAL_SEG'
149671 , p_accounting_coa_id => l_adr_accounting_coa_id
149672 , p_flexfield_segment_code => l_adr_flexfield_segment_code
149673 , p_flex_value_set_id => l_adr_flex_value_set_id
149675 , p_adr_type_code => 'S'
149676 , p_component_type => l_component_type
149677 , p_component_code => l_component_code
149678 , p_component_type_code => l_component_type_code
149679 , p_component_appl_id => l_component_appl_id
149680 , p_amb_context_code => l_amb_context_code
149681 , p_entity_code => 'AP_PAYMENTS'
149682 , p_event_class_code => 'PAYMENTS'
149683 , p_side => 'NA'
149684 );
149685
149686 END IF;
149687
149688 --
149689 --
149690 END IF;
149691 --
149692 -- Bug 4922099
149693 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
149694 (NVL(l_enc_upg_option, 'N') = 'O')
149695 ) AND
149696 (l_bflow_method_code = 'PRIOR_ENTRY')
149697 )
149698 THEN
149699 IF
149700 --
149701 1 = 2
149702 --
149703 THEN
149704 xla_accounting_err_pkg.build_message
149705 (p_appli_s_name => 'XLA'
149706 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
149707 ,p_token_1 => 'LINE_NUMBER'
149708 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
149709 ,p_token_2 => 'LINE_TYPE_NAME'
149710 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
149711 l_component_type
149712 ,l_component_code
149713 ,l_component_type_code
149714 ,l_component_appl_id
149715 ,l_amb_context_code
149716 ,l_entity_code
149717 ,l_event_class_code
149718 )
149719 ,p_token_3 => 'OWNER'
149720 ,p_value_3 => xla_lookups_pkg.get_meaning(
149721 p_lookup_type => 'XLA_OWNER_TYPE'
149722 ,p_lookup_code => l_component_type_code
149723 )
149724 ,p_token_4 => 'PRODUCT_NAME'
149725 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
149726 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
149727 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
149728 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
149729 ,p_ae_header_id => NULL
149730 );
149731
149732 IF (C_LEVEL_ERROR>= g_log_level) THEN
149733 trace
149734 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
149735 ,p_level => C_LEVEL_ERROR
149736 ,p_module => l_log_module);
149737 END IF;
149738 END IF;
149739 END IF;
149740 --
149741 --
149742 ------------------------------------------------------------------------------------------------
149743 -- 4219869 Business Flow
149744 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
149745 -- Prior Entry. Currently, the following code is always generated.
149746 ------------------------------------------------------------------------------------------------
149747 XLA_AE_LINES_PKG.ValidateCurrentLine;
149748
149749 ------------------------------------------------------------------------------------
149750 -- 4219869 Business Flow
149751 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
149752 ------------------------------------------------------------------------------------
149753 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
149754
149755 ----------------------------------------------------------------------------------
149756 -- 4219869 Business Flow
149757 -- Update journal entry status -- Need to generate this within IF <condition>
149758 ----------------------------------------------------------------------------------
149759 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
149760 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
149761 ,p_balance_type_code => l_balance_type_code
149762 );
149763
149764 -------------------------------------------------------------------------------------------
149765 -- 4262811 - Generate the Accrual Reversal lines
149766 -------------------------------------------------------------------------------------------
149767 BEGIN
149768 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
149769 (g_array_event(p_event_id).array_value_num('header_index'));
149770 IF l_acc_rev_flag IS NULL THEN
149771 l_acc_rev_flag := 'N';
149772 END IF;
149773 EXCEPTION
149774 WHEN OTHERS THEN
149778 IF (l_acc_rev_flag = 'Y') THEN
149775 l_acc_rev_flag := 'N';
149776 END;
149777 --
149779
149780 -- 4645092 ------------------------------------------------------------------------------
149781 -- To allow MPA report to determine if it should generate report process
149782 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
149783 ------------------------------------------------------------------------------------------
149784
149785 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
149786 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
149787 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
149788 -- call ADRs
149789 -- Bug 4922099
149790 --
149791 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
149792 (NVL(l_actual_upg_option, 'N') = 'O') OR
149793 (NVL(l_enc_upg_option, 'N') = 'O')
149794 )
149795 THEN
149796 NULL;
149797 --
149798 --
149799
149800 l_ccid := AcctDerRule_55(
149801 p_application_id => p_application_id
149802 , p_ae_header_id => l_ae_header_id
149803 , p_source_12 => p_source_12
149804 , p_source_30 => p_source_30
149805 , p_source_57 => p_source_57
149806 , x_transaction_coa_id => l_adr_transaction_coa_id
149807 , x_accounting_coa_id => l_adr_accounting_coa_id
149808 , x_value_type_code => l_adr_value_type_code
149809 , p_side => 'NA'
149810 );
149811
149812 xla_ae_lines_pkg.set_ccid(
149813 p_code_combination_id => l_ccid
149814 , p_value_type_code => l_adr_value_type_code
149815 , p_transaction_coa_id => l_adr_transaction_coa_id
149816 , p_accounting_coa_id => l_adr_accounting_coa_id
149817 , p_adr_code => 'FV_INV_PMT_ACCOUNT'
149818 , p_adr_type_code => 'S'
149819 , p_component_type => l_component_type
149820 , p_component_code => l_component_code
149821 , p_component_type_code => l_component_type_code
149822 , p_component_appl_id => l_component_appl_id
149823 , p_amb_context_code => l_amb_context_code
149824 , p_side => 'NA'
149825 );
149826
149827
149828 l_segment := AcctDerRule_27(
149829 p_application_id => p_application_id
149830 , p_ae_header_id => l_ae_header_id
149831 , p_source_10 => p_source_10
149832 , p_source_10_meaning => p_source_10_meaning
149833 , p_source_25 => p_source_25
149834 , p_source_29 => p_source_29
149835 , x_transaction_coa_id => l_adr_transaction_coa_id
149836 , x_accounting_coa_id => l_adr_accounting_coa_id
149837 , x_flexfield_segment_code => l_adr_flexfield_segment_code
149838 , x_flex_value_set_id => l_adr_flex_value_set_id
149839 , x_value_type_code => l_adr_value_type_code
149840 , x_value_combination_id => l_adr_value_combination_id
149841 , x_value_segment_code => l_adr_value_segment_code
149842 , p_side => 'NA'
149843 , p_override_seg_flag => 'Y'
149844 );
149845
149846 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
149847
149848 xla_ae_lines_pkg.set_segment(
149849 p_to_segment_code => 'GL_BALANCING'
149850 , p_segment_value => l_segment
149851 , p_from_segment_code => l_adr_value_segment_code
149852 , p_from_combination_id => l_adr_value_combination_id
149853 , p_value_type_code => l_adr_value_type_code
149854 , p_transaction_coa_id => l_adr_transaction_coa_id
149855 , p_accounting_coa_id => l_adr_accounting_coa_id
149856 , p_flexfield_segment_code => l_adr_flexfield_segment_code
149857 , p_flex_value_set_id => l_adr_flex_value_set_id
149858 , p_adr_code => 'FV_INV_PMT_BAL_SEG'
149859 , p_adr_type_code => 'S'
149860 , p_component_type => l_component_type
149861 , p_component_code => l_component_code
149862 , p_component_type_code => l_component_type_code
149863 , p_component_appl_id => l_component_appl_id
149864 , p_amb_context_code => l_amb_context_code
149865 , p_entity_code => 'AP_PAYMENTS'
149866 , p_event_class_code => 'PAYMENTS'
149867 , p_side => 'NA'
149868 );
149869
149870 END IF;
149871
149872 --
149873 --
149874 END IF;
149875
149876 --
149877 -- Update the line information that should be overwritten
149878 --
149879 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
149880 p_header_num => 1);
149881 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
149882
149883 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
149884
149885 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
149886 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
149887 END IF;
149888
149889 --
149890 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
149891 --
149892 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
149893 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
149894 ELSE
149895 ---------------------------------------------------------------------------------------------------
149896 -- 4262811a Switch Sign
149900 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
149897 ---------------------------------------------------------------------------------------------------
149898 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
149899 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
149901 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
149902 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
149903 -- 5132302
149904 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
149905 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
149906
149907 END IF;
149908
149909 -- 4955764
149910 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
149911 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
149912
149913
149914 XLA_AE_LINES_PKG.ValidateCurrentLine;
149915 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
149916
149917 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
149918 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
149919 ,p_balance_type_code => l_balance_type_code);
149920
149921 END IF;
149922
149923 -----------------------------------------------------------------------------------------
149924 -- 4262811 Multiperiod Accounting
149925 -----------------------------------------------------------------------------------------
149926 -- No MPA option is assigned.
149927
149928
149929 END IF;
149930 END IF;
149931 --
149932
149933 --
149934 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
149935 trace
149936 (p_msg => 'END of AcctLineType_244'
149937 ,p_level => C_LEVEL_PROCEDURE
149938 ,p_module => l_log_module);
149939 END IF;
149940 --
149941 EXCEPTION
149942 WHEN xla_exceptions_pkg.application_exception THEN
149943 RAISE;
149944 WHEN OTHERS THEN
149945 xla_exceptions_pkg.raise_message
149946 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_244');
149947 END AcctLineType_244;
149948 --
149949
149950 ---------------------------------------
149951 --
149952 -- PRIVATE FUNCTION
149953 -- AcctLineType_245
149954 --
149955 ---------------------------------------
149956 PROCEDURE AcctLineType_245 (
149957 p_application_id IN NUMBER
149958 ,p_event_id IN NUMBER
149959 ,p_calculate_acctd_flag IN VARCHAR2
149960 ,p_calculate_g_l_flag IN VARCHAR2
149961 ,p_actual_flag IN OUT VARCHAR2
149962 ,p_balance_type_code OUT VARCHAR2
149963 ,p_gain_or_loss_ref OUT VARCHAR2
149964
149965 --Document Sequence Name
149966 , p_source_3 IN VARCHAR2
149967 --Payment Document Voucher Number
149968 , p_source_4 IN NUMBER
149969 --Payment Transaction Number
149970 , p_source_5 IN NUMBER
149971 --Payment Document Date
149972 , p_source_6 IN DATE
149973 --Bank Account Name
149974 , p_source_7 IN VARCHAR2
149975 --Payment Currency Code
149976 , p_source_8 IN VARCHAR2
149977 --Automatic Offsets Value
149978 , p_source_10 IN VARCHAR2
149979 , p_source_10_meaning IN VARCHAR2
149980 --Bank Cash Account
149981 , p_source_12 IN NUMBER
149982 --Invoice Distribution Account
149983 , p_source_25 IN NUMBER
149984 --Invoice Liability Account
149985 , p_source_29 IN NUMBER
149986 --Bank Cash Clearing Account
149987 , p_source_30 IN NUMBER
149988 --Federal DIT Confirm Account
149989 , p_source_37 IN VARCHAR2
149990 --When to Account for Payment Option
149991 , p_source_57 IN VARCHAR2
149992 --Accounting Reversal Indicator
149993 , p_source_58 IN VARCHAR2
149994 --Distribution Link Type
149995 , p_source_60 IN VARCHAR2
149996 --Override Accounted Amount Indicator
149997 , p_source_85 IN VARCHAR2
149998 , p_source_85_meaning IN VARCHAR2
149999 --Third Party Type
150000 , p_source_88 IN VARCHAR2
150001 --Invoice Distribution Tax Line Identifier
150002 , p_source_91 IN NUMBER
150003 --Invoice Distribution Tax Distribution Identifier from Tax
150004 , p_source_92 IN NUMBER
150005 --Invoice Distribution Summary Tax Line Identifier
150006 , p_source_93 IN NUMBER
150007 --Business Flow Accounts Payable Application Identifier
150008 , p_source_96 IN NUMBER
150009 --Business Flow Invoice Distribution Type
150010 , p_source_97 IN VARCHAR2
150011 --Business Flow Invoice Entity Code
150012 , p_source_98 IN VARCHAR2
150013 --Business Flow Invoice Distribution Identifier
150014 , p_source_99 IN NUMBER
150015 --Business Flow Invoice Identifier
150016 , p_source_100 IN NUMBER
150017 --Payment Distribution Type
150018 , p_source_101 IN VARCHAR2
150019 , p_source_101_meaning IN VARCHAR2
150020 --Payment Distribution Amount
150021 , p_source_102 IN NUMBER
150022 --Payment Distribution Identifier
150023 , p_source_107 IN NUMBER
150024 --Payment Supplier Identifier
150025 , p_source_113 IN NUMBER
150026 --Payment Supplier Site Identifier
150027 , p_source_114 IN NUMBER
150028 --Payment Distribution Reversed Identifier
150029 , p_source_115 IN NUMBER
150030 --Payment Distribution (Payment Rate) Ledger Amount
150031 , p_source_118 IN NUMBER
150032 --Payment Exchange Date
150033 , p_source_120 IN DATE
150034 --Payment Exchange Rate
150038 --Payment Type
150035 , p_source_121 IN NUMBER
150036 --Payment Exchange Rate Type
150037 , p_source_122 IN VARCHAR2
150039 , p_source_125 IN VARCHAR2
150040 , p_source_125_meaning IN VARCHAR2
150041 --Invoice Distribution Amount of the Payment Distribution
150042 , p_source_127 IN NUMBER
150043 --Federal DIT Flag
150044 , p_source_170 IN VARCHAR2
150045 )
150046 IS
150047
150048 l_component_type VARCHAR2(80);
150049 l_component_code VARCHAR2(30);
150050 l_component_type_code VARCHAR2(1);
150051 l_component_appl_id INTEGER;
150052 l_amb_context_code VARCHAR2(30);
150053 l_entity_code VARCHAR2(30);
150054 l_event_class_code VARCHAR2(30);
150055 l_ae_header_id NUMBER;
150056 l_event_type_code VARCHAR2(30);
150057 l_line_definition_code VARCHAR2(30);
150058 l_line_definition_owner_code VARCHAR2(1);
150059 --
150060 -- adr variables
150061 l_segment VARCHAR2(30);
150062 l_ccid NUMBER;
150063 l_adr_transaction_coa_id NUMBER;
150064 l_adr_accounting_coa_id NUMBER;
150065 l_adr_flexfield_segment_code VARCHAR2(30);
150066 l_adr_flex_value_set_id NUMBER;
150067 l_adr_value_type_code VARCHAR2(30);
150068 l_adr_value_combination_id NUMBER;
150069 l_adr_value_segment_code VARCHAR2(30);
150070
150071 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
150072 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
150073 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
150074 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
150075
150076 -- 4262811 Variables ------------------------------------------------------------------------------------------
150077 l_entered_amt_idx NUMBER;
150078 l_accted_amt_idx NUMBER;
150079 l_acc_rev_flag VARCHAR2(1);
150080 l_accrual_line_num NUMBER;
150081 l_tmp_amt NUMBER;
150082 l_acc_rev_natural_side_code VARCHAR2(1);
150083
150084 l_num_entries NUMBER;
150085 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
150086 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
150087 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
150088 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
150089 l_recog_line_1 NUMBER;
150090 l_recog_line_2 NUMBER;
150091
150092 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
150093 l_bflow_applied_to_amt NUMBER; -- 5132302
150094 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
150095
150096 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
150097
150098 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
150099 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
150100
150101 ---------------------------------------------------------------------------------------------------------------
150102
150103
150104 --
150105 -- bulk performance
150106 --
150107 l_balance_type_code VARCHAR2(1);
150108 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
150109 l_log_module VARCHAR2(240);
150110
150111 --
150112 -- Upgrade strategy
150113 --
150114 l_actual_upg_option VARCHAR2(1);
150115 l_enc_upg_option VARCHAR2(1);
150116
150117 --
150118 BEGIN
150119 --
150120 IF g_log_enabled THEN
150121 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_245';
150122 END IF;
150123 --
150124 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
150125
150126 trace
150127 (p_msg => 'BEGIN of AcctLineType_245'
150128 ,p_level => C_LEVEL_PROCEDURE
150129 ,p_module => l_log_module);
150130
150131 END IF;
150132 --
150133 l_component_type := 'AMB_JLT';
150134 l_component_code := 'FV_TC_DISB_TRANSIT_CR';
150135 l_component_type_code := 'S';
150136 l_component_appl_id := 200;
150137 l_amb_context_code := 'DEFAULT';
150138 l_entity_code := 'AP_PAYMENTS';
150139 l_event_class_code := 'PAYMENTS';
150140 l_event_type_code := 'PAYMENTS_ALL';
150141 l_line_definition_owner_code := 'S';
150142 l_line_definition_code := 'FV_AP_ACCRUAL_PAYMENTS_ALL';
150143 --
150144 l_balance_type_code := 'A';
150145 l_segment := NULL;
150146 l_ccid := NULL;
150147 l_adr_transaction_coa_id := NULL;
150148 l_adr_accounting_coa_id := NULL;
150149 l_adr_flexfield_segment_code := NULL;
150150 l_adr_flex_value_set_id := NULL;
150151 l_adr_value_type_code := NULL;
150152 l_adr_value_combination_id := NULL;
150153 l_adr_value_segment_code := NULL;
150154
150155 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
150156 l_bflow_class_code := ''; -- 4219869 Business Flow
150157 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
150158 l_budgetary_control_flag := 'N';
150159
150160 l_bflow_applied_to_amt_idx := NULL; -- 5132302
150161 l_bflow_applied_to_amt := NULL; -- 5132302
150162 l_entered_amt_idx := NULL; -- 4262811
150163 l_accted_amt_idx := NULL; -- 4262811
150164 l_acc_rev_flag := NULL; -- 4262811
150165 l_accrual_line_num := NULL; -- 4262811
150166 l_tmp_amt := NULL; -- 4262811
150167 --
150168
150169 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
150170 l_balance_type_code <> 'B' THEN
150174 ') = 'M' OR
150171 IF NVL(p_source_170,'
150172 ') = 'Y' AND
150173 (NVL(p_source_125,'
150175 NVL(p_source_125,'
150176 ') = 'Q' OR
150177 NVL(p_source_125,'
150178 ') = 'R') AND
150179 NVL(p_source_101,'
150180 ') <> 'DISCOUNT'
150181 THEN
150182
150183 --
150184 XLA_AE_LINES_PKG.SetNewLine;
150185
150186 p_balance_type_code := l_balance_type_code;
150187 -- set the flag so later we will know whether the gain loss line needs to be created
150188
150189 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
150190 p_actual_flag :='A';
150191 END IF;
150192
150193 --
150194 -- bulk performance
150195 --
150196 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
150197 p_header_num => 0); -- 4262811
150198 --
150199 -- set accounting line options
150200 --
150201 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
150202 p_natural_side_code => 'C'
150203 , p_gain_or_loss_flag => 'N'
150204 , p_gl_transfer_mode_code => 'S'
150205 , p_acct_entry_type_code => 'A'
150206 , p_switch_side_flag => 'N'
150207 , p_merge_duplicate_code => 'N'
150208 );
150209 --
150210 l_acc_rev_natural_side_code := 'D'; -- 4262811
150211 --
150212 --
150213 -- set accounting line type info
150214 --
150215 xla_ae_lines_pkg.SetAcctLineType
150216 (p_component_type => l_component_type
150217 ,p_event_type_code => l_event_type_code
150218 ,p_line_definition_owner_code => l_line_definition_owner_code
150219 ,p_line_definition_code => l_line_definition_code
150220 ,p_accounting_line_code => l_component_code
150221 ,p_accounting_line_type_code => l_component_type_code
150222 ,p_accounting_line_appl_id => l_component_appl_id
150223 ,p_amb_context_code => l_amb_context_code
150224 ,p_entity_code => l_entity_code
150225 ,p_event_class_code => l_event_class_code);
150226 --
150227 -- set accounting class
150228 --
150229 xla_ae_lines_pkg.SetAcctClass(
150230 p_accounting_class_code => 'ACCOUNTSPAYABLE'
150231 , p_ae_header_id => l_ae_header_id
150232 );
150233
150234 --
150235 -- set rounding class
150236 --
150237 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
150238 'ACCOUNTSPAYABLE';
150239
150240 --
150241 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
150242 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
150243 --
150244 -- bulk performance
150245 --
150246 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
150247
150248 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
150249 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
150250
150251 -- 4955764
150252 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
150253 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
150254
150255 -- 4458381 Public Sector Enh
150256
150257 --
150258 -- set accounting attributes for the line type
150259 --
150260 l_entered_amt_idx := 10;
150261 l_accted_amt_idx := 15;
150262 l_bflow_applied_to_amt_idx := 2; -- 5132302
150263 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
150264 l_rec_acct_attrs.array_char_value(1) := p_source_58;
150265 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
150266 l_rec_acct_attrs.array_num_value(2) := p_source_127;
150267 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
150268 l_rec_acct_attrs.array_num_value(3) := p_source_96;
150269 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
150270 l_rec_acct_attrs.array_char_value(4) := p_source_97;
150271 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
150272 l_rec_acct_attrs.array_char_value(5) := p_source_98;
150273 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
150274 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_99);
150275 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
150276 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_100);
150277 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
150278 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_107);
150279 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
150280 l_rec_acct_attrs.array_char_value(9) := p_source_60;
150281 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
150282 l_rec_acct_attrs.array_num_value(10) := p_source_102;
150283 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
150284 l_rec_acct_attrs.array_char_value(11) := p_source_8;
150285 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
150286 l_rec_acct_attrs.array_date_value(12) := p_source_120;
150287 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
150288 l_rec_acct_attrs.array_num_value(13) := p_source_121;
150289 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
150290 l_rec_acct_attrs.array_char_value(14) := p_source_122;
150291 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
150292 l_rec_acct_attrs.array_num_value(15) := p_source_118;
150293 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
150294 l_rec_acct_attrs.array_char_value(16) := p_source_85;
150295 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
150299 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
150296 l_rec_acct_attrs.array_num_value(17) := p_source_113;
150297 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
150298 l_rec_acct_attrs.array_num_value(18) := p_source_114;
150300 l_rec_acct_attrs.array_char_value(19) := p_source_88;
150301 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
150302 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_115);
150303 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
150304 l_rec_acct_attrs.array_char_value(21) := p_source_60;
150305 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
150306 l_rec_acct_attrs.array_num_value(22) := p_source_91;
150307 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
150308 l_rec_acct_attrs.array_num_value(23) := p_source_92;
150309 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
150310 l_rec_acct_attrs.array_num_value(24) := p_source_93;
150311
150312 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
150313 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
150314
150315 ---------------------------------------------------------------------------------------------------------------
150316 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
150317 ---------------------------------------------------------------------------------------------------------------
150318 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
150319
150320 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
150321 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
150322
150323 IF xla_accounting_cache_pkg.GetValueChar
150324 (p_source_code => 'LEDGER_CATEGORY_CODE'
150325 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
150326 AND l_bflow_method_code = 'PRIOR_ENTRY'
150327 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
150328 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
150329 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
150330 )
150331 THEN
150332 xla_ae_lines_pkg.BflowUpgEntry
150333 (p_business_method_code => l_bflow_method_code
150334 ,p_business_class_code => l_bflow_class_code
150335 ,p_balance_type => l_balance_type_code);
150336 ELSE
150337 NULL;
150338 -- No business flow processing for business flow method of NONE.
150339 END IF;
150340
150341 --
150342 -- call analytical criteria
150343 --
150344
150345 --
150346 -- call description
150347 --
150348
150349 xla_ae_lines_pkg.SetLineDescription(
150350 p_ae_header_id => l_ae_header_id
150351 ,p_description => Description_3 (
150352 p_application_id => p_application_id
150353 , p_ae_header_id => l_ae_header_id
150354 , p_source_3 => p_source_3
150355 , p_source_4 => p_source_4
150356 , p_source_5 => p_source_5
150357 , p_source_6 => p_source_6
150358 , p_source_7 => p_source_7
150359 , p_source_8 => p_source_8
150360 )
150361 );
150362
150363
150364 --
150365 -- call ADRs
150366 -- Bug 4922099
150367 --
150368 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
150369 (NVL(l_actual_upg_option, 'N') = 'O') OR
150370 (NVL(l_enc_upg_option, 'N') = 'O')
150371 )
150372 THEN
150373 NULL;
150374 --
150375 --
150376
150377 l_ccid := AcctDerRule_55(
150378 p_application_id => p_application_id
150379 , p_ae_header_id => l_ae_header_id
150380 , p_source_12 => p_source_12
150381 , p_source_30 => p_source_30
150382 , p_source_57 => p_source_57
150383 , x_transaction_coa_id => l_adr_transaction_coa_id
150384 , x_accounting_coa_id => l_adr_accounting_coa_id
150385 , x_value_type_code => l_adr_value_type_code
150386 , p_side => 'NA'
150387 );
150388
150389 xla_ae_lines_pkg.set_ccid(
150390 p_code_combination_id => l_ccid
150391 , p_value_type_code => l_adr_value_type_code
150392 , p_transaction_coa_id => l_adr_transaction_coa_id
150393 , p_accounting_coa_id => l_adr_accounting_coa_id
150394 , p_adr_code => 'FV_INV_PMT_ACCOUNT'
150395 , p_adr_type_code => 'S'
150396 , p_component_type => l_component_type
150397 , p_component_code => l_component_code
150398 , p_component_type_code => l_component_type_code
150399 , p_component_appl_id => l_component_appl_id
150400 , p_amb_context_code => l_amb_context_code
150401 , p_side => 'NA'
150402 );
150403
150404
150405 l_segment := AcctDerRule_27(
150406 p_application_id => p_application_id
150407 , p_ae_header_id => l_ae_header_id
150408 , p_source_10 => p_source_10
150409 , p_source_10_meaning => p_source_10_meaning
150410 , p_source_25 => p_source_25
150411 , p_source_29 => p_source_29
150412 , x_transaction_coa_id => l_adr_transaction_coa_id
150413 , x_accounting_coa_id => l_adr_accounting_coa_id
150414 , x_flexfield_segment_code => l_adr_flexfield_segment_code
150415 , x_flex_value_set_id => l_adr_flex_value_set_id
150416 , x_value_type_code => l_adr_value_type_code
150417 , x_value_combination_id => l_adr_value_combination_id
150418 , x_value_segment_code => l_adr_value_segment_code
150419 , p_side => 'NA'
150420 , p_override_seg_flag => 'Y'
150424
150421 );
150422
150423 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
150425 xla_ae_lines_pkg.set_segment(
150426 p_to_segment_code => 'GL_BALANCING'
150427 , p_segment_value => l_segment
150428 , p_from_segment_code => l_adr_value_segment_code
150429 , p_from_combination_id => l_adr_value_combination_id
150430 , p_value_type_code => l_adr_value_type_code
150431 , p_transaction_coa_id => l_adr_transaction_coa_id
150432 , p_accounting_coa_id => l_adr_accounting_coa_id
150433 , p_flexfield_segment_code => l_adr_flexfield_segment_code
150434 , p_flex_value_set_id => l_adr_flex_value_set_id
150435 , p_adr_code => 'FV_INV_PMT_BAL_SEG'
150436 , p_adr_type_code => 'S'
150437 , p_component_type => l_component_type
150438 , p_component_code => l_component_code
150439 , p_component_type_code => l_component_type_code
150440 , p_component_appl_id => l_component_appl_id
150441 , p_amb_context_code => l_amb_context_code
150442 , p_entity_code => 'AP_PAYMENTS'
150443 , p_event_class_code => 'PAYMENTS'
150444 , p_side => 'NA'
150445 );
150446
150447 END IF;
150448
150449 l_segment := AcctDerRule_21(
150450 p_application_id => p_application_id
150451 , p_ae_header_id => l_ae_header_id
150452 , p_source_37 => p_source_37
150453 , x_transaction_coa_id => l_adr_transaction_coa_id
150454 , x_accounting_coa_id => l_adr_accounting_coa_id
150455 , x_flexfield_segment_code => l_adr_flexfield_segment_code
150456 , x_flex_value_set_id => l_adr_flex_value_set_id
150457 , x_value_type_code => l_adr_value_type_code
150458 , x_value_combination_id => l_adr_value_combination_id
150459 , x_value_segment_code => l_adr_value_segment_code
150460 , p_side => 'NA'
150461 , p_override_seg_flag => 'Y'
150462 );
150463
150464 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
150465
150466 xla_ae_lines_pkg.set_segment(
150467 p_to_segment_code => 'GL_ACCOUNT'
150468 , p_segment_value => l_segment
150469 , p_from_segment_code => l_adr_value_segment_code
150470 , p_from_combination_id => l_adr_value_combination_id
150471 , p_value_type_code => l_adr_value_type_code
150472 , p_transaction_coa_id => l_adr_transaction_coa_id
150473 , p_accounting_coa_id => l_adr_accounting_coa_id
150474 , p_flexfield_segment_code => l_adr_flexfield_segment_code
150475 , p_flex_value_set_id => l_adr_flex_value_set_id
150476 , p_adr_code => 'FV_TREASURY_CONFIRM_CASH_ACCT'
150477 , p_adr_type_code => 'S'
150478 , p_component_type => l_component_type
150479 , p_component_code => l_component_code
150480 , p_component_type_code => l_component_type_code
150481 , p_component_appl_id => l_component_appl_id
150482 , p_amb_context_code => l_amb_context_code
150483 , p_entity_code => 'AP_PAYMENTS'
150484 , p_event_class_code => 'PAYMENTS'
150485 , p_side => 'NA'
150486 );
150487
150488 END IF;
150489
150490 --
150491 --
150492 END IF;
150493 --
150494 -- Bug 4922099
150495 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
150496 (NVL(l_enc_upg_option, 'N') = 'O')
150497 ) AND
150498 (l_bflow_method_code = 'PRIOR_ENTRY')
150499 )
150500 THEN
150501 IF
150502 --
150503 1 = 2
150504 --
150505 THEN
150506 xla_accounting_err_pkg.build_message
150507 (p_appli_s_name => 'XLA'
150508 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
150509 ,p_token_1 => 'LINE_NUMBER'
150510 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
150511 ,p_token_2 => 'LINE_TYPE_NAME'
150512 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
150513 l_component_type
150514 ,l_component_code
150515 ,l_component_type_code
150516 ,l_component_appl_id
150517 ,l_amb_context_code
150518 ,l_entity_code
150519 ,l_event_class_code
150520 )
150521 ,p_token_3 => 'OWNER'
150522 ,p_value_3 => xla_lookups_pkg.get_meaning(
150523 p_lookup_type => 'XLA_OWNER_TYPE'
150524 ,p_lookup_code => l_component_type_code
150525 )
150526 ,p_token_4 => 'PRODUCT_NAME'
150527 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
150531 ,p_ae_header_id => NULL
150528 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
150529 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
150530 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
150532 );
150533
150534 IF (C_LEVEL_ERROR>= g_log_level) THEN
150535 trace
150536 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
150537 ,p_level => C_LEVEL_ERROR
150538 ,p_module => l_log_module);
150539 END IF;
150540 END IF;
150541 END IF;
150542 --
150543 --
150544 ------------------------------------------------------------------------------------------------
150545 -- 4219869 Business Flow
150546 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
150547 -- Prior Entry. Currently, the following code is always generated.
150548 ------------------------------------------------------------------------------------------------
150549 XLA_AE_LINES_PKG.ValidateCurrentLine;
150550
150551 ------------------------------------------------------------------------------------
150552 -- 4219869 Business Flow
150553 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
150554 ------------------------------------------------------------------------------------
150555 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
150556
150557 ----------------------------------------------------------------------------------
150558 -- 4219869 Business Flow
150559 -- Update journal entry status -- Need to generate this within IF <condition>
150560 ----------------------------------------------------------------------------------
150561 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
150562 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
150563 ,p_balance_type_code => l_balance_type_code
150564 );
150565
150566 -------------------------------------------------------------------------------------------
150567 -- 4262811 - Generate the Accrual Reversal lines
150568 -------------------------------------------------------------------------------------------
150569 BEGIN
150570 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
150571 (g_array_event(p_event_id).array_value_num('header_index'));
150572 IF l_acc_rev_flag IS NULL THEN
150573 l_acc_rev_flag := 'N';
150574 END IF;
150575 EXCEPTION
150576 WHEN OTHERS THEN
150577 l_acc_rev_flag := 'N';
150578 END;
150579 --
150580 IF (l_acc_rev_flag = 'Y') THEN
150581
150582 -- 4645092 ------------------------------------------------------------------------------
150583 -- To allow MPA report to determine if it should generate report process
150584 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
150585 ------------------------------------------------------------------------------------------
150586
150587 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
150588 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
150589 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
150590 -- call ADRs
150591 -- Bug 4922099
150592 --
150593 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
150594 (NVL(l_actual_upg_option, 'N') = 'O') OR
150595 (NVL(l_enc_upg_option, 'N') = 'O')
150596 )
150597 THEN
150598 NULL;
150599 --
150600 --
150601
150602 l_ccid := AcctDerRule_55(
150603 p_application_id => p_application_id
150604 , p_ae_header_id => l_ae_header_id
150605 , p_source_12 => p_source_12
150606 , p_source_30 => p_source_30
150607 , p_source_57 => p_source_57
150608 , x_transaction_coa_id => l_adr_transaction_coa_id
150609 , x_accounting_coa_id => l_adr_accounting_coa_id
150610 , x_value_type_code => l_adr_value_type_code
150611 , p_side => 'NA'
150612 );
150613
150614 xla_ae_lines_pkg.set_ccid(
150615 p_code_combination_id => l_ccid
150616 , p_value_type_code => l_adr_value_type_code
150617 , p_transaction_coa_id => l_adr_transaction_coa_id
150618 , p_accounting_coa_id => l_adr_accounting_coa_id
150619 , p_adr_code => 'FV_INV_PMT_ACCOUNT'
150620 , p_adr_type_code => 'S'
150621 , p_component_type => l_component_type
150622 , p_component_code => l_component_code
150623 , p_component_type_code => l_component_type_code
150624 , p_component_appl_id => l_component_appl_id
150625 , p_amb_context_code => l_amb_context_code
150626 , p_side => 'NA'
150627 );
150628
150629
150630 l_segment := AcctDerRule_27(
150631 p_application_id => p_application_id
150632 , p_ae_header_id => l_ae_header_id
150633 , p_source_10 => p_source_10
150634 , p_source_10_meaning => p_source_10_meaning
150635 , p_source_25 => p_source_25
150636 , p_source_29 => p_source_29
150637 , x_transaction_coa_id => l_adr_transaction_coa_id
150638 , x_accounting_coa_id => l_adr_accounting_coa_id
150639 , x_flexfield_segment_code => l_adr_flexfield_segment_code
150640 , x_flex_value_set_id => l_adr_flex_value_set_id
150641 , x_value_type_code => l_adr_value_type_code
150642 , x_value_combination_id => l_adr_value_combination_id
150643 , x_value_segment_code => l_adr_value_segment_code
150644 , p_side => 'NA'
150648 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
150645 , p_override_seg_flag => 'Y'
150646 );
150647
150649
150650 xla_ae_lines_pkg.set_segment(
150651 p_to_segment_code => 'GL_BALANCING'
150652 , p_segment_value => l_segment
150653 , p_from_segment_code => l_adr_value_segment_code
150654 , p_from_combination_id => l_adr_value_combination_id
150655 , p_value_type_code => l_adr_value_type_code
150656 , p_transaction_coa_id => l_adr_transaction_coa_id
150657 , p_accounting_coa_id => l_adr_accounting_coa_id
150658 , p_flexfield_segment_code => l_adr_flexfield_segment_code
150659 , p_flex_value_set_id => l_adr_flex_value_set_id
150660 , p_adr_code => 'FV_INV_PMT_BAL_SEG'
150661 , p_adr_type_code => 'S'
150662 , p_component_type => l_component_type
150663 , p_component_code => l_component_code
150664 , p_component_type_code => l_component_type_code
150665 , p_component_appl_id => l_component_appl_id
150666 , p_amb_context_code => l_amb_context_code
150667 , p_entity_code => 'AP_PAYMENTS'
150668 , p_event_class_code => 'PAYMENTS'
150669 , p_side => 'NA'
150670 );
150671
150672 END IF;
150673
150674 l_segment := AcctDerRule_21(
150675 p_application_id => p_application_id
150676 , p_ae_header_id => l_ae_header_id
150677 , p_source_37 => p_source_37
150678 , x_transaction_coa_id => l_adr_transaction_coa_id
150679 , x_accounting_coa_id => l_adr_accounting_coa_id
150680 , x_flexfield_segment_code => l_adr_flexfield_segment_code
150681 , x_flex_value_set_id => l_adr_flex_value_set_id
150682 , x_value_type_code => l_adr_value_type_code
150683 , x_value_combination_id => l_adr_value_combination_id
150684 , x_value_segment_code => l_adr_value_segment_code
150685 , p_side => 'NA'
150686 , p_override_seg_flag => 'Y'
150687 );
150688
150689 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
150690
150691 xla_ae_lines_pkg.set_segment(
150692 p_to_segment_code => 'GL_ACCOUNT'
150693 , p_segment_value => l_segment
150694 , p_from_segment_code => l_adr_value_segment_code
150695 , p_from_combination_id => l_adr_value_combination_id
150696 , p_value_type_code => l_adr_value_type_code
150697 , p_transaction_coa_id => l_adr_transaction_coa_id
150698 , p_accounting_coa_id => l_adr_accounting_coa_id
150699 , p_flexfield_segment_code => l_adr_flexfield_segment_code
150700 , p_flex_value_set_id => l_adr_flex_value_set_id
150701 , p_adr_code => 'FV_TREASURY_CONFIRM_CASH_ACCT'
150702 , p_adr_type_code => 'S'
150703 , p_component_type => l_component_type
150704 , p_component_code => l_component_code
150705 , p_component_type_code => l_component_type_code
150706 , p_component_appl_id => l_component_appl_id
150707 , p_amb_context_code => l_amb_context_code
150708 , p_entity_code => 'AP_PAYMENTS'
150709 , p_event_class_code => 'PAYMENTS'
150710 , p_side => 'NA'
150711 );
150712
150713 END IF;
150714
150715 --
150716 --
150717 END IF;
150718
150719 --
150720 -- Update the line information that should be overwritten
150721 --
150722 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
150723 p_header_num => 1);
150724 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
150725
150726 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
150727
150728 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
150729 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
150730 END IF;
150731
150732 --
150733 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
150734 --
150735 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
150736 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
150737 ELSE
150738 ---------------------------------------------------------------------------------------------------
150739 -- 4262811a Switch Sign
150740 ---------------------------------------------------------------------------------------------------
150741 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
150742 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
150743 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
150744 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
150745 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
150746 -- 5132302
150747 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
150748 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
150749
150750 END IF;
150751
150752 -- 4955764
150753 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
150754 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
150755
150756
150760 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
150757 XLA_AE_LINES_PKG.ValidateCurrentLine;
150758 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
150759
150761 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
150762 ,p_balance_type_code => l_balance_type_code);
150763
150764 END IF;
150765
150766 -----------------------------------------------------------------------------------------
150767 -- 4262811 Multiperiod Accounting
150768 -----------------------------------------------------------------------------------------
150769 -- No MPA option is assigned.
150770
150771
150772 END IF;
150773 END IF;
150774 --
150775
150776 --
150777 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
150778 trace
150779 (p_msg => 'END of AcctLineType_245'
150780 ,p_level => C_LEVEL_PROCEDURE
150781 ,p_module => l_log_module);
150782 END IF;
150783 --
150784 EXCEPTION
150785 WHEN xla_exceptions_pkg.application_exception THEN
150786 RAISE;
150787 WHEN OTHERS THEN
150788 xla_exceptions_pkg.raise_message
150789 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_245');
150790 END AcctLineType_245;
150791 --
150792
150793 ---------------------------------------
150794 --
150795 -- PRIVATE FUNCTION
150796 -- AcctLineType_246
150797 --
150798 ---------------------------------------
150799 PROCEDURE AcctLineType_246 (
150800 p_application_id IN NUMBER
150801 ,p_event_id IN NUMBER
150802 ,p_calculate_acctd_flag IN VARCHAR2
150803 ,p_calculate_g_l_flag IN VARCHAR2
150804 ,p_actual_flag IN OUT VARCHAR2
150805 ,p_balance_type_code OUT VARCHAR2
150806 ,p_gain_or_loss_ref OUT VARCHAR2
150807
150808 --Document Sequence Name
150809 , p_source_3 IN VARCHAR2
150810 --Payment Document Voucher Number
150811 , p_source_4 IN NUMBER
150812 --Payment Transaction Number
150813 , p_source_5 IN NUMBER
150814 --Payment Document Date
150815 , p_source_6 IN DATE
150816 --Bank Account Name
150817 , p_source_7 IN VARCHAR2
150818 --Payment Currency Code
150819 , p_source_8 IN VARCHAR2
150820 --Automatic Offsets Value
150821 , p_source_10 IN VARCHAR2
150822 , p_source_10_meaning IN VARCHAR2
150823 --Bank Cash Account
150824 , p_source_12 IN NUMBER
150825 --Invoice Distribution Account
150826 , p_source_25 IN NUMBER
150827 --Invoice Liability Account
150828 , p_source_29 IN NUMBER
150829 --Bank Cash Clearing Account
150830 , p_source_30 IN NUMBER
150831 --Invoice Type Paid
150832 , p_source_56 IN VARCHAR2
150833 , p_source_56_meaning IN VARCHAR2
150834 --When to Account for Payment Option
150835 , p_source_57 IN VARCHAR2
150836 --Accounting Reversal Indicator
150837 , p_source_58 IN VARCHAR2
150838 --Distribution Link Type
150839 , p_source_60 IN VARCHAR2
150840 --Override Accounted Amount Indicator
150841 , p_source_85 IN VARCHAR2
150842 , p_source_85_meaning IN VARCHAR2
150843 --Third Party Type
150844 , p_source_88 IN VARCHAR2
150845 --Invoice Distribution Tax Line Identifier
150846 , p_source_91 IN NUMBER
150847 --Invoice Distribution Tax Distribution Identifier from Tax
150848 , p_source_92 IN NUMBER
150849 --Invoice Distribution Summary Tax Line Identifier
150850 , p_source_93 IN NUMBER
150851 --Business Flow Accounts Payable Application Identifier
150852 , p_source_96 IN NUMBER
150853 --Business Flow Invoice Distribution Type
150854 , p_source_97 IN VARCHAR2
150855 --Business Flow Invoice Entity Code
150856 , p_source_98 IN VARCHAR2
150857 --Business Flow Invoice Distribution Identifier
150858 , p_source_99 IN NUMBER
150859 --Business Flow Invoice Identifier
150860 , p_source_100 IN NUMBER
150861 --Payment Distribution Type
150862 , p_source_101 IN VARCHAR2
150863 , p_source_101_meaning IN VARCHAR2
150864 --Payment Distribution Amount
150865 , p_source_102 IN NUMBER
150866 --Payment Distribution Identifier
150867 , p_source_107 IN NUMBER
150868 --Payment Supplier Identifier
150869 , p_source_113 IN NUMBER
150870 --Payment Supplier Site Identifier
150871 , p_source_114 IN NUMBER
150872 --Payment Distribution Reversed Identifier
150873 , p_source_115 IN NUMBER
150874 --Payment Distribution (Payment Rate) Ledger Amount
150875 , p_source_118 IN NUMBER
150876 --Payment Exchange Date
150877 , p_source_120 IN DATE
150878 --Payment Exchange Rate
150879 , p_source_121 IN NUMBER
150880 --Payment Exchange Rate Type
150881 , p_source_122 IN VARCHAR2
150882 --Payment Type
150883 , p_source_125 IN VARCHAR2
150884 , p_source_125_meaning IN VARCHAR2
150885 --Invoice Distribution Amount of the Payment Distribution
150886 , p_source_127 IN NUMBER
150887 --Federal DIT Flag
150888 , p_source_170 IN VARCHAR2
150889 )
150890 IS
150891
150892 l_component_type VARCHAR2(80);
150893 l_component_code VARCHAR2(30);
150894 l_component_type_code VARCHAR2(1);
150895 l_component_appl_id INTEGER;
150896 l_amb_context_code VARCHAR2(30);
150897 l_entity_code VARCHAR2(30);
150898 l_event_class_code VARCHAR2(30);
150899 l_ae_header_id NUMBER;
150900 l_event_type_code VARCHAR2(30);
150901 l_line_definition_code VARCHAR2(30);
150902 l_line_definition_owner_code VARCHAR2(1);
150903 --
150904 -- adr variables
150905 l_segment VARCHAR2(30);
150906 l_ccid NUMBER;
150910 l_adr_flex_value_set_id NUMBER;
150907 l_adr_transaction_coa_id NUMBER;
150908 l_adr_accounting_coa_id NUMBER;
150909 l_adr_flexfield_segment_code VARCHAR2(30);
150911 l_adr_value_type_code VARCHAR2(30);
150912 l_adr_value_combination_id NUMBER;
150913 l_adr_value_segment_code VARCHAR2(30);
150914
150915 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
150916 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
150917 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
150918 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
150919
150920 -- 4262811 Variables ------------------------------------------------------------------------------------------
150921 l_entered_amt_idx NUMBER;
150922 l_accted_amt_idx NUMBER;
150923 l_acc_rev_flag VARCHAR2(1);
150924 l_accrual_line_num NUMBER;
150925 l_tmp_amt NUMBER;
150926 l_acc_rev_natural_side_code VARCHAR2(1);
150927
150928 l_num_entries NUMBER;
150929 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
150930 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
150931 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
150932 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
150933 l_recog_line_1 NUMBER;
150934 l_recog_line_2 NUMBER;
150935
150936 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
150937 l_bflow_applied_to_amt NUMBER; -- 5132302
150938 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
150939
150940 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
150941
150942 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
150943 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
150944
150945 ---------------------------------------------------------------------------------------------------------------
150946
150947
150948 --
150949 -- bulk performance
150950 --
150951 l_balance_type_code VARCHAR2(1);
150952 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
150953 l_log_module VARCHAR2(240);
150954
150955 --
150956 -- Upgrade strategy
150957 --
150958 l_actual_upg_option VARCHAR2(1);
150959 l_enc_upg_option VARCHAR2(1);
150960
150961 --
150962 BEGIN
150963 --
150964 IF g_log_enabled THEN
150965 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_246';
150966 END IF;
150967 --
150968 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
150969
150970 trace
150971 (p_msg => 'BEGIN of AcctLineType_246'
150972 ,p_level => C_LEVEL_PROCEDURE
150973 ,p_module => l_log_module);
150974
150975 END IF;
150976 --
150977 l_component_type := 'AMB_JLT';
150978 l_component_code := 'FV_TC_PAID_ACCT_CR';
150979 l_component_type_code := 'S';
150980 l_component_appl_id := 200;
150981 l_amb_context_code := 'DEFAULT';
150982 l_entity_code := 'AP_PAYMENTS';
150983 l_event_class_code := 'PAYMENTS';
150984 l_event_type_code := 'PAYMENTS_ALL';
150985 l_line_definition_owner_code := 'S';
150986 l_line_definition_code := 'FV_AP_ACCRUAL_PAYMENTS_ALL';
150987 --
150988 l_balance_type_code := 'A';
150989 l_segment := NULL;
150990 l_ccid := NULL;
150991 l_adr_transaction_coa_id := NULL;
150992 l_adr_accounting_coa_id := NULL;
150993 l_adr_flexfield_segment_code := NULL;
150994 l_adr_flex_value_set_id := NULL;
150995 l_adr_value_type_code := NULL;
150996 l_adr_value_combination_id := NULL;
150997 l_adr_value_segment_code := NULL;
150998
150999 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
151000 l_bflow_class_code := ''; -- 4219869 Business Flow
151001 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
151002 l_budgetary_control_flag := 'N';
151003
151004 l_bflow_applied_to_amt_idx := NULL; -- 5132302
151005 l_bflow_applied_to_amt := NULL; -- 5132302
151006 l_entered_amt_idx := NULL; -- 4262811
151007 l_accted_amt_idx := NULL; -- 4262811
151008 l_acc_rev_flag := NULL; -- 4262811
151009 l_accrual_line_num := NULL; -- 4262811
151010 l_tmp_amt := NULL; -- 4262811
151011 --
151012
151013 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
151014 l_balance_type_code <> 'B' THEN
151015 IF NVL(p_source_170,'
151016 ') = 'Y' AND
151017 (NVL(p_source_125,'
151018 ') = 'M' OR
151019 NVL(p_source_125,'
151020 ') = 'Q' OR
151021 NVL(p_source_125,'
151022 ') = 'R') AND
151023 NVL(p_source_101,'
151024 ') <> 'DISCOUNT'
151025 THEN
151026
151027 --
151028 XLA_AE_LINES_PKG.SetNewLine;
151029
151030 p_balance_type_code := l_balance_type_code;
151031 -- set the flag so later we will know whether the gain loss line needs to be created
151032
151033 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
151034 p_actual_flag :='A';
151035 END IF;
151036
151037 --
151038 -- bulk performance
151039 --
151040 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
151041 p_header_num => 0); -- 4262811
151042 --
151043 -- set accounting line options
151044 --
151045 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
151046 p_natural_side_code => 'C'
151047 , p_gain_or_loss_flag => 'N'
151051 , p_merge_duplicate_code => 'N'
151048 , p_gl_transfer_mode_code => 'S'
151049 , p_acct_entry_type_code => 'A'
151050 , p_switch_side_flag => 'N'
151052 );
151053 --
151054 l_acc_rev_natural_side_code := 'D'; -- 4262811
151055 --
151056 --
151057 -- set accounting line type info
151058 --
151059 xla_ae_lines_pkg.SetAcctLineType
151060 (p_component_type => l_component_type
151061 ,p_event_type_code => l_event_type_code
151062 ,p_line_definition_owner_code => l_line_definition_owner_code
151063 ,p_line_definition_code => l_line_definition_code
151064 ,p_accounting_line_code => l_component_code
151065 ,p_accounting_line_type_code => l_component_type_code
151066 ,p_accounting_line_appl_id => l_component_appl_id
151067 ,p_amb_context_code => l_amb_context_code
151068 ,p_entity_code => l_entity_code
151069 ,p_event_class_code => l_event_class_code);
151070 --
151071 -- set accounting class
151072 --
151073 xla_ae_lines_pkg.SetAcctClass(
151074 p_accounting_class_code => 'ACCOUNTSPAYABLE'
151075 , p_ae_header_id => l_ae_header_id
151076 );
151077
151078 --
151079 -- set rounding class
151080 --
151081 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
151082 'ACCOUNTSPAYABLE';
151083
151084 --
151085 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
151086 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
151087 --
151088 -- bulk performance
151089 --
151090 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
151091
151092 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
151093 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
151094
151095 -- 4955764
151096 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
151097 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
151098
151099 -- 4458381 Public Sector Enh
151100
151101 --
151102 -- set accounting attributes for the line type
151103 --
151104 l_entered_amt_idx := 10;
151105 l_accted_amt_idx := 15;
151106 l_bflow_applied_to_amt_idx := 2; -- 5132302
151107 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
151108 l_rec_acct_attrs.array_char_value(1) := p_source_58;
151109 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
151110 l_rec_acct_attrs.array_num_value(2) := p_source_127;
151111 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
151112 l_rec_acct_attrs.array_num_value(3) := p_source_96;
151113 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
151114 l_rec_acct_attrs.array_char_value(4) := p_source_97;
151115 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
151116 l_rec_acct_attrs.array_char_value(5) := p_source_98;
151117 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
151118 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_99);
151119 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
151120 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_100);
151121 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
151122 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_107);
151123 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
151124 l_rec_acct_attrs.array_char_value(9) := p_source_60;
151125 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
151126 l_rec_acct_attrs.array_num_value(10) := p_source_102;
151127 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
151128 l_rec_acct_attrs.array_char_value(11) := p_source_8;
151129 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
151130 l_rec_acct_attrs.array_date_value(12) := p_source_120;
151131 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
151132 l_rec_acct_attrs.array_num_value(13) := p_source_121;
151133 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
151134 l_rec_acct_attrs.array_char_value(14) := p_source_122;
151135 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
151136 l_rec_acct_attrs.array_num_value(15) := p_source_118;
151137 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
151138 l_rec_acct_attrs.array_char_value(16) := p_source_85;
151139 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
151140 l_rec_acct_attrs.array_num_value(17) := p_source_113;
151141 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
151142 l_rec_acct_attrs.array_num_value(18) := p_source_114;
151143 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
151144 l_rec_acct_attrs.array_char_value(19) := p_source_88;
151145 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
151146 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_115);
151147 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
151148 l_rec_acct_attrs.array_char_value(21) := p_source_60;
151149 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
151150 l_rec_acct_attrs.array_num_value(22) := p_source_91;
151151 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
151152 l_rec_acct_attrs.array_num_value(23) := p_source_92;
151153 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
151154 l_rec_acct_attrs.array_num_value(24) := p_source_93;
151155
151156 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
151160 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
151157 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
151158
151159 ---------------------------------------------------------------------------------------------------------------
151161 ---------------------------------------------------------------------------------------------------------------
151162 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
151163
151164 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
151165 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
151166
151167 IF xla_accounting_cache_pkg.GetValueChar
151168 (p_source_code => 'LEDGER_CATEGORY_CODE'
151169 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
151170 AND l_bflow_method_code = 'PRIOR_ENTRY'
151171 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
151172 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
151173 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
151174 )
151175 THEN
151176 xla_ae_lines_pkg.BflowUpgEntry
151177 (p_business_method_code => l_bflow_method_code
151178 ,p_business_class_code => l_bflow_class_code
151179 ,p_balance_type => l_balance_type_code);
151180 ELSE
151181 NULL;
151182 -- No business flow processing for business flow method of NONE.
151183 END IF;
151184
151185 --
151186 -- call analytical criteria
151187 --
151188
151189 --
151190 -- call description
151191 --
151192
151193 xla_ae_lines_pkg.SetLineDescription(
151194 p_ae_header_id => l_ae_header_id
151195 ,p_description => Description_3 (
151196 p_application_id => p_application_id
151197 , p_ae_header_id => l_ae_header_id
151198 , p_source_3 => p_source_3
151199 , p_source_4 => p_source_4
151200 , p_source_5 => p_source_5
151201 , p_source_6 => p_source_6
151202 , p_source_7 => p_source_7
151203 , p_source_8 => p_source_8
151204 )
151205 );
151206
151207
151208 --
151209 -- call ADRs
151210 -- Bug 4922099
151211 --
151212 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
151213 (NVL(l_actual_upg_option, 'N') = 'O') OR
151214 (NVL(l_enc_upg_option, 'N') = 'O')
151215 )
151216 THEN
151217 NULL;
151218 --
151219 --
151220
151221 l_ccid := AcctDerRule_55(
151222 p_application_id => p_application_id
151223 , p_ae_header_id => l_ae_header_id
151224 , p_source_12 => p_source_12
151225 , p_source_30 => p_source_30
151226 , p_source_57 => p_source_57
151227 , x_transaction_coa_id => l_adr_transaction_coa_id
151228 , x_accounting_coa_id => l_adr_accounting_coa_id
151229 , x_value_type_code => l_adr_value_type_code
151230 , p_side => 'NA'
151231 );
151232
151233 xla_ae_lines_pkg.set_ccid(
151234 p_code_combination_id => l_ccid
151235 , p_value_type_code => l_adr_value_type_code
151236 , p_transaction_coa_id => l_adr_transaction_coa_id
151237 , p_accounting_coa_id => l_adr_accounting_coa_id
151238 , p_adr_code => 'FV_INV_PMT_ACCOUNT'
151239 , p_adr_type_code => 'S'
151240 , p_component_type => l_component_type
151241 , p_component_code => l_component_code
151242 , p_component_type_code => l_component_type_code
151243 , p_component_appl_id => l_component_appl_id
151244 , p_amb_context_code => l_amb_context_code
151245 , p_side => 'NA'
151246 );
151247
151248
151249 l_segment := AcctDerRule_53(
151250 p_application_id => p_application_id
151251 , p_ae_header_id => l_ae_header_id
151252 , p_source_56 => p_source_56
151253 , p_source_56_meaning => p_source_56_meaning
151254 , x_transaction_coa_id => l_adr_transaction_coa_id
151255 , x_accounting_coa_id => l_adr_accounting_coa_id
151256 , x_flexfield_segment_code => l_adr_flexfield_segment_code
151257 , x_flex_value_set_id => l_adr_flex_value_set_id
151258 , x_value_type_code => l_adr_value_type_code
151259 , x_value_combination_id => l_adr_value_combination_id
151260 , x_value_segment_code => l_adr_value_segment_code
151261 , p_side => 'NA'
151262 , p_override_seg_flag => 'Y'
151263 );
151264
151265 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
151266
151267 xla_ae_lines_pkg.set_segment(
151268 p_to_segment_code => 'GL_ACCOUNT'
151269 , p_segment_value => l_segment
151270 , p_from_segment_code => l_adr_value_segment_code
151271 , p_from_combination_id => l_adr_value_combination_id
151272 , p_value_type_code => l_adr_value_type_code
151273 , p_transaction_coa_id => l_adr_transaction_coa_id
151274 , p_accounting_coa_id => l_adr_accounting_coa_id
151275 , p_flexfield_segment_code => l_adr_flexfield_segment_code
151276 , p_flex_value_set_id => l_adr_flex_value_set_id
151277 , p_adr_code => 'FV_4X0201_TREASURY_PAY_ACCT'
151278 , p_adr_type_code => 'S'
151279 , p_component_type => l_component_type
151280 , p_component_code => l_component_code
151281 , p_component_type_code => l_component_type_code
151282 , p_component_appl_id => l_component_appl_id
151286 , p_side => 'NA'
151283 , p_amb_context_code => l_amb_context_code
151284 , p_entity_code => 'AP_PAYMENTS'
151285 , p_event_class_code => 'PAYMENTS'
151287 );
151288
151289 END IF;
151290
151291 l_segment := AcctDerRule_27(
151292 p_application_id => p_application_id
151293 , p_ae_header_id => l_ae_header_id
151294 , p_source_10 => p_source_10
151295 , p_source_10_meaning => p_source_10_meaning
151296 , p_source_25 => p_source_25
151297 , p_source_29 => p_source_29
151298 , x_transaction_coa_id => l_adr_transaction_coa_id
151299 , x_accounting_coa_id => l_adr_accounting_coa_id
151300 , x_flexfield_segment_code => l_adr_flexfield_segment_code
151301 , x_flex_value_set_id => l_adr_flex_value_set_id
151302 , x_value_type_code => l_adr_value_type_code
151303 , x_value_combination_id => l_adr_value_combination_id
151304 , x_value_segment_code => l_adr_value_segment_code
151305 , p_side => 'NA'
151306 , p_override_seg_flag => 'Y'
151307 );
151308
151309 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
151310
151311 xla_ae_lines_pkg.set_segment(
151312 p_to_segment_code => 'GL_BALANCING'
151313 , p_segment_value => l_segment
151314 , p_from_segment_code => l_adr_value_segment_code
151315 , p_from_combination_id => l_adr_value_combination_id
151316 , p_value_type_code => l_adr_value_type_code
151317 , p_transaction_coa_id => l_adr_transaction_coa_id
151318 , p_accounting_coa_id => l_adr_accounting_coa_id
151319 , p_flexfield_segment_code => l_adr_flexfield_segment_code
151320 , p_flex_value_set_id => l_adr_flex_value_set_id
151321 , p_adr_code => 'FV_INV_PMT_BAL_SEG'
151322 , p_adr_type_code => 'S'
151323 , p_component_type => l_component_type
151324 , p_component_code => l_component_code
151325 , p_component_type_code => l_component_type_code
151326 , p_component_appl_id => l_component_appl_id
151327 , p_amb_context_code => l_amb_context_code
151328 , p_entity_code => 'AP_PAYMENTS'
151329 , p_event_class_code => 'PAYMENTS'
151330 , p_side => 'NA'
151331 );
151332
151333 END IF;
151334
151335 --
151336 --
151337 END IF;
151338 --
151339 -- Bug 4922099
151340 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
151341 (NVL(l_enc_upg_option, 'N') = 'O')
151342 ) AND
151343 (l_bflow_method_code = 'PRIOR_ENTRY')
151344 )
151345 THEN
151346 IF
151347 --
151348 1 = 2
151349 --
151350 THEN
151351 xla_accounting_err_pkg.build_message
151352 (p_appli_s_name => 'XLA'
151353 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
151354 ,p_token_1 => 'LINE_NUMBER'
151355 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
151356 ,p_token_2 => 'LINE_TYPE_NAME'
151357 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
151358 l_component_type
151359 ,l_component_code
151360 ,l_component_type_code
151361 ,l_component_appl_id
151362 ,l_amb_context_code
151363 ,l_entity_code
151364 ,l_event_class_code
151365 )
151366 ,p_token_3 => 'OWNER'
151367 ,p_value_3 => xla_lookups_pkg.get_meaning(
151368 p_lookup_type => 'XLA_OWNER_TYPE'
151369 ,p_lookup_code => l_component_type_code
151370 )
151371 ,p_token_4 => 'PRODUCT_NAME'
151372 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
151373 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
151374 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
151375 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
151376 ,p_ae_header_id => NULL
151377 );
151378
151379 IF (C_LEVEL_ERROR>= g_log_level) THEN
151380 trace
151381 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
151382 ,p_level => C_LEVEL_ERROR
151383 ,p_module => l_log_module);
151384 END IF;
151385 END IF;
151386 END IF;
151387 --
151388 --
151389 ------------------------------------------------------------------------------------------------
151390 -- 4219869 Business Flow
151391 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
151395
151392 -- Prior Entry. Currently, the following code is always generated.
151393 ------------------------------------------------------------------------------------------------
151394 XLA_AE_LINES_PKG.ValidateCurrentLine;
151396 ------------------------------------------------------------------------------------
151397 -- 4219869 Business Flow
151398 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
151399 ------------------------------------------------------------------------------------
151400 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
151401
151402 ----------------------------------------------------------------------------------
151403 -- 4219869 Business Flow
151404 -- Update journal entry status -- Need to generate this within IF <condition>
151405 ----------------------------------------------------------------------------------
151406 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
151407 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
151408 ,p_balance_type_code => l_balance_type_code
151409 );
151410
151411 -------------------------------------------------------------------------------------------
151412 -- 4262811 - Generate the Accrual Reversal lines
151413 -------------------------------------------------------------------------------------------
151414 BEGIN
151415 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
151416 (g_array_event(p_event_id).array_value_num('header_index'));
151417 IF l_acc_rev_flag IS NULL THEN
151418 l_acc_rev_flag := 'N';
151419 END IF;
151420 EXCEPTION
151421 WHEN OTHERS THEN
151422 l_acc_rev_flag := 'N';
151423 END;
151424 --
151425 IF (l_acc_rev_flag = 'Y') THEN
151426
151427 -- 4645092 ------------------------------------------------------------------------------
151428 -- To allow MPA report to determine if it should generate report process
151429 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
151430 ------------------------------------------------------------------------------------------
151431
151432 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
151433 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
151434 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
151435 -- call ADRs
151436 -- Bug 4922099
151437 --
151438 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
151439 (NVL(l_actual_upg_option, 'N') = 'O') OR
151440 (NVL(l_enc_upg_option, 'N') = 'O')
151441 )
151442 THEN
151443 NULL;
151444 --
151445 --
151446
151447 l_ccid := AcctDerRule_55(
151448 p_application_id => p_application_id
151449 , p_ae_header_id => l_ae_header_id
151450 , p_source_12 => p_source_12
151451 , p_source_30 => p_source_30
151452 , p_source_57 => p_source_57
151453 , x_transaction_coa_id => l_adr_transaction_coa_id
151454 , x_accounting_coa_id => l_adr_accounting_coa_id
151455 , x_value_type_code => l_adr_value_type_code
151456 , p_side => 'NA'
151457 );
151458
151459 xla_ae_lines_pkg.set_ccid(
151460 p_code_combination_id => l_ccid
151461 , p_value_type_code => l_adr_value_type_code
151462 , p_transaction_coa_id => l_adr_transaction_coa_id
151463 , p_accounting_coa_id => l_adr_accounting_coa_id
151464 , p_adr_code => 'FV_INV_PMT_ACCOUNT'
151465 , p_adr_type_code => 'S'
151466 , p_component_type => l_component_type
151467 , p_component_code => l_component_code
151468 , p_component_type_code => l_component_type_code
151469 , p_component_appl_id => l_component_appl_id
151470 , p_amb_context_code => l_amb_context_code
151471 , p_side => 'NA'
151472 );
151473
151474
151475 l_segment := AcctDerRule_53(
151476 p_application_id => p_application_id
151477 , p_ae_header_id => l_ae_header_id
151478 , p_source_56 => p_source_56
151479 , p_source_56_meaning => p_source_56_meaning
151480 , x_transaction_coa_id => l_adr_transaction_coa_id
151481 , x_accounting_coa_id => l_adr_accounting_coa_id
151482 , x_flexfield_segment_code => l_adr_flexfield_segment_code
151483 , x_flex_value_set_id => l_adr_flex_value_set_id
151484 , x_value_type_code => l_adr_value_type_code
151485 , x_value_combination_id => l_adr_value_combination_id
151486 , x_value_segment_code => l_adr_value_segment_code
151487 , p_side => 'NA'
151488 , p_override_seg_flag => 'Y'
151489 );
151490
151491 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
151492
151493 xla_ae_lines_pkg.set_segment(
151494 p_to_segment_code => 'GL_ACCOUNT'
151495 , p_segment_value => l_segment
151496 , p_from_segment_code => l_adr_value_segment_code
151497 , p_from_combination_id => l_adr_value_combination_id
151498 , p_value_type_code => l_adr_value_type_code
151499 , p_transaction_coa_id => l_adr_transaction_coa_id
151500 , p_accounting_coa_id => l_adr_accounting_coa_id
151501 , p_flexfield_segment_code => l_adr_flexfield_segment_code
151502 , p_flex_value_set_id => l_adr_flex_value_set_id
151503 , p_adr_code => 'FV_4X0201_TREASURY_PAY_ACCT'
151504 , p_adr_type_code => 'S'
151505 , p_component_type => l_component_type
151506 , p_component_code => l_component_code
151507 , p_component_type_code => l_component_type_code
151508 , p_component_appl_id => l_component_appl_id
151512 , p_side => 'NA'
151509 , p_amb_context_code => l_amb_context_code
151510 , p_entity_code => 'AP_PAYMENTS'
151511 , p_event_class_code => 'PAYMENTS'
151513 );
151514
151515 END IF;
151516
151517 l_segment := AcctDerRule_27(
151518 p_application_id => p_application_id
151519 , p_ae_header_id => l_ae_header_id
151520 , p_source_10 => p_source_10
151521 , p_source_10_meaning => p_source_10_meaning
151522 , p_source_25 => p_source_25
151523 , p_source_29 => p_source_29
151524 , x_transaction_coa_id => l_adr_transaction_coa_id
151525 , x_accounting_coa_id => l_adr_accounting_coa_id
151526 , x_flexfield_segment_code => l_adr_flexfield_segment_code
151527 , x_flex_value_set_id => l_adr_flex_value_set_id
151528 , x_value_type_code => l_adr_value_type_code
151529 , x_value_combination_id => l_adr_value_combination_id
151530 , x_value_segment_code => l_adr_value_segment_code
151531 , p_side => 'NA'
151532 , p_override_seg_flag => 'Y'
151533 );
151534
151535 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
151536
151537 xla_ae_lines_pkg.set_segment(
151538 p_to_segment_code => 'GL_BALANCING'
151539 , p_segment_value => l_segment
151540 , p_from_segment_code => l_adr_value_segment_code
151541 , p_from_combination_id => l_adr_value_combination_id
151542 , p_value_type_code => l_adr_value_type_code
151543 , p_transaction_coa_id => l_adr_transaction_coa_id
151544 , p_accounting_coa_id => l_adr_accounting_coa_id
151545 , p_flexfield_segment_code => l_adr_flexfield_segment_code
151546 , p_flex_value_set_id => l_adr_flex_value_set_id
151547 , p_adr_code => 'FV_INV_PMT_BAL_SEG'
151548 , p_adr_type_code => 'S'
151549 , p_component_type => l_component_type
151550 , p_component_code => l_component_code
151551 , p_component_type_code => l_component_type_code
151552 , p_component_appl_id => l_component_appl_id
151553 , p_amb_context_code => l_amb_context_code
151554 , p_entity_code => 'AP_PAYMENTS'
151555 , p_event_class_code => 'PAYMENTS'
151556 , p_side => 'NA'
151557 );
151558
151559 END IF;
151560
151561 --
151562 --
151563 END IF;
151564
151565 --
151566 -- Update the line information that should be overwritten
151567 --
151568 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
151569 p_header_num => 1);
151570 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
151571
151572 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
151573
151574 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
151575 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
151576 END IF;
151577
151578 --
151579 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
151580 --
151581 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
151582 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
151583 ELSE
151584 ---------------------------------------------------------------------------------------------------
151585 -- 4262811a Switch Sign
151586 ---------------------------------------------------------------------------------------------------
151587 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
151588 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
151589 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
151590 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
151591 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
151592 -- 5132302
151593 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
151594 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
151595
151596 END IF;
151597
151598 -- 4955764
151599 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
151600 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
151601
151602
151603 XLA_AE_LINES_PKG.ValidateCurrentLine;
151604 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
151605
151606 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
151607 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
151608 ,p_balance_type_code => l_balance_type_code);
151609
151610 END IF;
151611
151612 -----------------------------------------------------------------------------------------
151613 -- 4262811 Multiperiod Accounting
151614 -----------------------------------------------------------------------------------------
151615 -- No MPA option is assigned.
151616
151617
151618 END IF;
151619 END IF;
151620 --
151621
151622 --
151623 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
151624 trace
151625 (p_msg => 'END of AcctLineType_246'
151626 ,p_level => C_LEVEL_PROCEDURE
151627 ,p_module => l_log_module);
151628 END IF;
151629 --
151630 EXCEPTION
151634 xla_exceptions_pkg.raise_message
151631 WHEN xla_exceptions_pkg.application_exception THEN
151632 RAISE;
151633 WHEN OTHERS THEN
151635 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_246');
151636 END AcctLineType_246;
151637 --
151638
151639 ---------------------------------------
151640 --
151641 -- PRIVATE FUNCTION
151642 -- AcctLineType_247
151643 --
151644 ---------------------------------------
151645 PROCEDURE AcctLineType_247 (
151646 p_application_id IN NUMBER
151647 ,p_event_id IN NUMBER
151648 ,p_calculate_acctd_flag IN VARCHAR2
151649 ,p_calculate_g_l_flag IN VARCHAR2
151650 ,p_actual_flag IN OUT VARCHAR2
151651 ,p_balance_type_code OUT VARCHAR2
151652 ,p_gain_or_loss_ref OUT VARCHAR2
151653
151654 --Document Sequence Name
151655 , p_source_3 IN VARCHAR2
151656 --Payment Document Voucher Number
151657 , p_source_4 IN NUMBER
151658 --Payment Transaction Number
151659 , p_source_5 IN NUMBER
151660 --Payment Document Date
151661 , p_source_6 IN DATE
151662 --Bank Account Name
151663 , p_source_7 IN VARCHAR2
151664 --Payment Currency Code
151665 , p_source_8 IN VARCHAR2
151666 --Automatic Offsets Value
151667 , p_source_10 IN VARCHAR2
151668 , p_source_10_meaning IN VARCHAR2
151669 --Bank Cash Account
151670 , p_source_12 IN NUMBER
151671 --Invoice Distribution Account
151672 , p_source_25 IN NUMBER
151673 --Invoice Liability Account
151674 , p_source_29 IN NUMBER
151675 --Bank Cash Clearing Account
151676 , p_source_30 IN NUMBER
151677 --Invoice Type Paid
151678 , p_source_56 IN VARCHAR2
151679 , p_source_56_meaning IN VARCHAR2
151680 --When to Account for Payment Option
151681 , p_source_57 IN VARCHAR2
151682 --Accounting Reversal Indicator
151683 , p_source_58 IN VARCHAR2
151684 --Distribution Link Type
151685 , p_source_60 IN VARCHAR2
151686 --Override Accounted Amount Indicator
151687 , p_source_85 IN VARCHAR2
151688 , p_source_85_meaning IN VARCHAR2
151689 --Third Party Type
151690 , p_source_88 IN VARCHAR2
151691 --Invoice Distribution Tax Line Identifier
151692 , p_source_91 IN NUMBER
151693 --Invoice Distribution Tax Distribution Identifier from Tax
151694 , p_source_92 IN NUMBER
151695 --Invoice Distribution Summary Tax Line Identifier
151696 , p_source_93 IN NUMBER
151697 --Business Flow Accounts Payable Application Identifier
151698 , p_source_96 IN NUMBER
151699 --Business Flow Invoice Distribution Type
151700 , p_source_97 IN VARCHAR2
151701 --Business Flow Invoice Entity Code
151702 , p_source_98 IN VARCHAR2
151703 --Business Flow Invoice Distribution Identifier
151704 , p_source_99 IN NUMBER
151705 --Business Flow Invoice Identifier
151706 , p_source_100 IN NUMBER
151707 --Payment Distribution Amount
151708 , p_source_102 IN NUMBER
151709 --Payment Distribution Identifier
151710 , p_source_107 IN NUMBER
151711 --Payment Supplier Identifier
151712 , p_source_113 IN NUMBER
151713 --Payment Supplier Site Identifier
151714 , p_source_114 IN NUMBER
151715 --Payment Distribution Reversed Identifier
151716 , p_source_115 IN NUMBER
151717 --Payment Distribution (Payment Rate) Ledger Amount
151718 , p_source_118 IN NUMBER
151719 --Payment Exchange Date
151720 , p_source_120 IN DATE
151721 --Payment Exchange Rate
151722 , p_source_121 IN NUMBER
151723 --Payment Exchange Rate Type
151724 , p_source_122 IN VARCHAR2
151725 --Payment Type
151726 , p_source_125 IN VARCHAR2
151727 , p_source_125_meaning IN VARCHAR2
151728 --Invoice Distribution Amount of the Payment Distribution
151729 , p_source_127 IN NUMBER
151730 --Federal DIT Flag
151731 , p_source_170 IN VARCHAR2
151732 )
151733 IS
151734
151735 l_component_type VARCHAR2(80);
151736 l_component_code VARCHAR2(30);
151737 l_component_type_code VARCHAR2(1);
151738 l_component_appl_id INTEGER;
151739 l_amb_context_code VARCHAR2(30);
151740 l_entity_code VARCHAR2(30);
151741 l_event_class_code VARCHAR2(30);
151742 l_ae_header_id NUMBER;
151743 l_event_type_code VARCHAR2(30);
151744 l_line_definition_code VARCHAR2(30);
151745 l_line_definition_owner_code VARCHAR2(1);
151746 --
151747 -- adr variables
151748 l_segment VARCHAR2(30);
151749 l_ccid NUMBER;
151750 l_adr_transaction_coa_id NUMBER;
151751 l_adr_accounting_coa_id NUMBER;
151752 l_adr_flexfield_segment_code VARCHAR2(30);
151753 l_adr_flex_value_set_id NUMBER;
151754 l_adr_value_type_code VARCHAR2(30);
151755 l_adr_value_combination_id NUMBER;
151756 l_adr_value_segment_code VARCHAR2(30);
151757
151758 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
151759 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
151760 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
151761 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
151762
151763 -- 4262811 Variables ------------------------------------------------------------------------------------------
151764 l_entered_amt_idx NUMBER;
151765 l_accted_amt_idx NUMBER;
151766 l_acc_rev_flag VARCHAR2(1);
151767 l_accrual_line_num NUMBER;
151768 l_tmp_amt NUMBER;
151769 l_acc_rev_natural_side_code VARCHAR2(1);
151770
151771 l_num_entries NUMBER;
151772 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
151776 l_recog_line_1 NUMBER;
151773 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
151774 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
151775 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
151777 l_recog_line_2 NUMBER;
151778
151779 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
151780 l_bflow_applied_to_amt NUMBER; -- 5132302
151781 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
151782
151783 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
151784
151785 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
151786 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
151787
151788 ---------------------------------------------------------------------------------------------------------------
151789
151790
151791 --
151792 -- bulk performance
151793 --
151794 l_balance_type_code VARCHAR2(1);
151795 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
151796 l_log_module VARCHAR2(240);
151797
151798 --
151799 -- Upgrade strategy
151800 --
151801 l_actual_upg_option VARCHAR2(1);
151802 l_enc_upg_option VARCHAR2(1);
151803
151804 --
151805 BEGIN
151806 --
151807 IF g_log_enabled THEN
151808 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_247';
151809 END IF;
151810 --
151811 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
151812
151813 trace
151814 (p_msg => 'BEGIN of AcctLineType_247'
151815 ,p_level => C_LEVEL_PROCEDURE
151816 ,p_module => l_log_module);
151817
151818 END IF;
151819 --
151820 l_component_type := 'AMB_JLT';
151821 l_component_code := 'FV_TC_UNPAID_ACCT_DR';
151822 l_component_type_code := 'S';
151823 l_component_appl_id := 200;
151824 l_amb_context_code := 'DEFAULT';
151825 l_entity_code := 'AP_PAYMENTS';
151826 l_event_class_code := 'PAYMENTS';
151827 l_event_type_code := 'PAYMENTS_ALL';
151828 l_line_definition_owner_code := 'S';
151829 l_line_definition_code := 'FV_AP_ACCRUAL_PAYMENTS_ALL';
151830 --
151831 l_balance_type_code := 'A';
151832 l_segment := NULL;
151833 l_ccid := NULL;
151834 l_adr_transaction_coa_id := NULL;
151835 l_adr_accounting_coa_id := NULL;
151836 l_adr_flexfield_segment_code := NULL;
151837 l_adr_flex_value_set_id := NULL;
151838 l_adr_value_type_code := NULL;
151839 l_adr_value_combination_id := NULL;
151840 l_adr_value_segment_code := NULL;
151841
151842 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
151843 l_bflow_class_code := ''; -- 4219869 Business Flow
151844 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
151845 l_budgetary_control_flag := 'N';
151846
151847 l_bflow_applied_to_amt_idx := NULL; -- 5132302
151848 l_bflow_applied_to_amt := NULL; -- 5132302
151849 l_entered_amt_idx := NULL; -- 4262811
151850 l_accted_amt_idx := NULL; -- 4262811
151851 l_acc_rev_flag := NULL; -- 4262811
151852 l_accrual_line_num := NULL; -- 4262811
151853 l_tmp_amt := NULL; -- 4262811
151854 --
151855
151856 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
151857 l_balance_type_code <> 'B' THEN
151858 IF NVL(p_source_170,'
151859 ') = 'Y' AND
151860 (NVL(p_source_125,'
151861 ') = 'M' OR
151862 NVL(p_source_125,'
151863 ') = 'Q' OR
151864 NVL(p_source_125,'
151865 ') = 'R')
151866 THEN
151867
151868 --
151869 XLA_AE_LINES_PKG.SetNewLine;
151870
151871 p_balance_type_code := l_balance_type_code;
151872 -- set the flag so later we will know whether the gain loss line needs to be created
151873
151874 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
151875 p_actual_flag :='A';
151876 END IF;
151877
151878 --
151879 -- bulk performance
151880 --
151881 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
151882 p_header_num => 0); -- 4262811
151883 --
151884 -- set accounting line options
151885 --
151886 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
151887 p_natural_side_code => 'D'
151888 , p_gain_or_loss_flag => 'N'
151889 , p_gl_transfer_mode_code => 'S'
151890 , p_acct_entry_type_code => 'A'
151891 , p_switch_side_flag => 'N'
151892 , p_merge_duplicate_code => 'N'
151893 );
151894 --
151895 l_acc_rev_natural_side_code := 'C'; -- 4262811
151896 --
151897 --
151898 -- set accounting line type info
151899 --
151900 xla_ae_lines_pkg.SetAcctLineType
151901 (p_component_type => l_component_type
151902 ,p_event_type_code => l_event_type_code
151903 ,p_line_definition_owner_code => l_line_definition_owner_code
151904 ,p_line_definition_code => l_line_definition_code
151905 ,p_accounting_line_code => l_component_code
151906 ,p_accounting_line_type_code => l_component_type_code
151907 ,p_accounting_line_appl_id => l_component_appl_id
151908 ,p_amb_context_code => l_amb_context_code
151909 ,p_entity_code => l_entity_code
151910 ,p_event_class_code => l_event_class_code);
151911 --
151912 -- set accounting class
151913 --
151914 xla_ae_lines_pkg.SetAcctClass(
151915 p_accounting_class_code => 'ACCOUNTSPAYABLE'
151919 --
151916 , p_ae_header_id => l_ae_header_id
151917 );
151918
151920 -- set rounding class
151921 --
151922 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
151923 'ACCOUNTSPAYABLE';
151924
151925 --
151926 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
151927 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
151928 --
151929 -- bulk performance
151930 --
151931 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
151932
151933 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
151934 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
151935
151936 -- 4955764
151937 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
151938 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
151939
151940 -- 4458381 Public Sector Enh
151941
151942 --
151943 -- set accounting attributes for the line type
151944 --
151945 l_entered_amt_idx := 10;
151946 l_accted_amt_idx := 15;
151947 l_bflow_applied_to_amt_idx := 2; -- 5132302
151948 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
151949 l_rec_acct_attrs.array_char_value(1) := p_source_58;
151950 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
151951 l_rec_acct_attrs.array_num_value(2) := p_source_127;
151952 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
151953 l_rec_acct_attrs.array_num_value(3) := p_source_96;
151954 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
151955 l_rec_acct_attrs.array_char_value(4) := p_source_97;
151956 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
151957 l_rec_acct_attrs.array_char_value(5) := p_source_98;
151958 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
151959 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_99);
151960 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
151961 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_100);
151962 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
151963 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_107);
151964 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
151965 l_rec_acct_attrs.array_char_value(9) := p_source_60;
151966 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
151967 l_rec_acct_attrs.array_num_value(10) := p_source_102;
151968 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
151969 l_rec_acct_attrs.array_char_value(11) := p_source_8;
151970 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
151971 l_rec_acct_attrs.array_date_value(12) := p_source_120;
151972 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
151973 l_rec_acct_attrs.array_num_value(13) := p_source_121;
151974 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
151975 l_rec_acct_attrs.array_char_value(14) := p_source_122;
151976 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
151977 l_rec_acct_attrs.array_num_value(15) := p_source_118;
151978 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
151979 l_rec_acct_attrs.array_char_value(16) := p_source_85;
151980 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
151981 l_rec_acct_attrs.array_num_value(17) := p_source_113;
151982 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
151983 l_rec_acct_attrs.array_num_value(18) := p_source_114;
151984 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
151985 l_rec_acct_attrs.array_char_value(19) := p_source_88;
151986 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
151987 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_115);
151988 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
151989 l_rec_acct_attrs.array_char_value(21) := p_source_60;
151990 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
151991 l_rec_acct_attrs.array_num_value(22) := p_source_91;
151992 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
151993 l_rec_acct_attrs.array_num_value(23) := p_source_92;
151994 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
151995 l_rec_acct_attrs.array_num_value(24) := p_source_93;
151996
151997 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
151998 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
151999
152000 ---------------------------------------------------------------------------------------------------------------
152001 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
152002 ---------------------------------------------------------------------------------------------------------------
152003 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
152004
152005 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
152006 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
152007
152008 IF xla_accounting_cache_pkg.GetValueChar
152009 (p_source_code => 'LEDGER_CATEGORY_CODE'
152010 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
152011 AND l_bflow_method_code = 'PRIOR_ENTRY'
152012 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
152013 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
152014 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
152015 )
152016 THEN
152017 xla_ae_lines_pkg.BflowUpgEntry
152021 ELSE
152018 (p_business_method_code => l_bflow_method_code
152019 ,p_business_class_code => l_bflow_class_code
152020 ,p_balance_type => l_balance_type_code);
152022 NULL;
152023 -- No business flow processing for business flow method of NONE.
152024 END IF;
152025
152026 --
152027 -- call analytical criteria
152028 --
152029
152030 --
152031 -- call description
152032 --
152033
152034 xla_ae_lines_pkg.SetLineDescription(
152035 p_ae_header_id => l_ae_header_id
152036 ,p_description => Description_3 (
152037 p_application_id => p_application_id
152038 , p_ae_header_id => l_ae_header_id
152039 , p_source_3 => p_source_3
152040 , p_source_4 => p_source_4
152041 , p_source_5 => p_source_5
152042 , p_source_6 => p_source_6
152043 , p_source_7 => p_source_7
152044 , p_source_8 => p_source_8
152045 )
152046 );
152047
152048
152049 --
152050 -- call ADRs
152051 -- Bug 4922099
152052 --
152053 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
152054 (NVL(l_actual_upg_option, 'N') = 'O') OR
152055 (NVL(l_enc_upg_option, 'N') = 'O')
152056 )
152057 THEN
152058 NULL;
152059 --
152060 --
152061
152062 l_ccid := AcctDerRule_55(
152063 p_application_id => p_application_id
152064 , p_ae_header_id => l_ae_header_id
152065 , p_source_12 => p_source_12
152066 , p_source_30 => p_source_30
152067 , p_source_57 => p_source_57
152068 , x_transaction_coa_id => l_adr_transaction_coa_id
152069 , x_accounting_coa_id => l_adr_accounting_coa_id
152070 , x_value_type_code => l_adr_value_type_code
152071 , p_side => 'NA'
152072 );
152073
152074 xla_ae_lines_pkg.set_ccid(
152075 p_code_combination_id => l_ccid
152076 , p_value_type_code => l_adr_value_type_code
152077 , p_transaction_coa_id => l_adr_transaction_coa_id
152078 , p_accounting_coa_id => l_adr_accounting_coa_id
152079 , p_adr_code => 'FV_INV_PMT_ACCOUNT'
152080 , p_adr_type_code => 'S'
152081 , p_component_type => l_component_type
152082 , p_component_code => l_component_code
152083 , p_component_type_code => l_component_type_code
152084 , p_component_appl_id => l_component_appl_id
152085 , p_amb_context_code => l_amb_context_code
152086 , p_side => 'NA'
152087 );
152088
152089
152090 l_segment := AcctDerRule_52(
152091 p_application_id => p_application_id
152092 , p_ae_header_id => l_ae_header_id
152093 , p_source_56 => p_source_56
152094 , p_source_56_meaning => p_source_56_meaning
152095 , x_transaction_coa_id => l_adr_transaction_coa_id
152096 , x_accounting_coa_id => l_adr_accounting_coa_id
152097 , x_flexfield_segment_code => l_adr_flexfield_segment_code
152098 , x_flex_value_set_id => l_adr_flex_value_set_id
152099 , x_value_type_code => l_adr_value_type_code
152100 , x_value_combination_id => l_adr_value_combination_id
152101 , x_value_segment_code => l_adr_value_segment_code
152102 , p_side => 'NA'
152103 , p_override_seg_flag => 'Y'
152104 );
152105
152106 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
152107
152108 xla_ae_lines_pkg.set_segment(
152109 p_to_segment_code => 'GL_ACCOUNT'
152110 , p_segment_value => l_segment
152111 , p_from_segment_code => l_adr_value_segment_code
152112 , p_from_combination_id => l_adr_value_combination_id
152113 , p_value_type_code => l_adr_value_type_code
152114 , p_transaction_coa_id => l_adr_transaction_coa_id
152115 , p_accounting_coa_id => l_adr_accounting_coa_id
152116 , p_flexfield_segment_code => l_adr_flexfield_segment_code
152117 , p_flex_value_set_id => l_adr_flex_value_set_id
152118 , p_adr_code => 'FV_4X0101_TREASURY_PAY_ACCT'
152119 , p_adr_type_code => 'S'
152120 , p_component_type => l_component_type
152121 , p_component_code => l_component_code
152122 , p_component_type_code => l_component_type_code
152123 , p_component_appl_id => l_component_appl_id
152124 , p_amb_context_code => l_amb_context_code
152125 , p_entity_code => 'AP_PAYMENTS'
152126 , p_event_class_code => 'PAYMENTS'
152127 , p_side => 'NA'
152128 );
152129
152130 END IF;
152131
152132 l_segment := AcctDerRule_27(
152133 p_application_id => p_application_id
152134 , p_ae_header_id => l_ae_header_id
152135 , p_source_10 => p_source_10
152136 , p_source_10_meaning => p_source_10_meaning
152137 , p_source_25 => p_source_25
152138 , p_source_29 => p_source_29
152139 , x_transaction_coa_id => l_adr_transaction_coa_id
152140 , x_accounting_coa_id => l_adr_accounting_coa_id
152141 , x_flexfield_segment_code => l_adr_flexfield_segment_code
152142 , x_flex_value_set_id => l_adr_flex_value_set_id
152143 , x_value_type_code => l_adr_value_type_code
152144 , x_value_combination_id => l_adr_value_combination_id
152145 , x_value_segment_code => l_adr_value_segment_code
152146 , p_side => 'NA'
152147 , p_override_seg_flag => 'Y'
152148 );
152149
152150 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
152151
152152 xla_ae_lines_pkg.set_segment(
152156 , p_from_combination_id => l_adr_value_combination_id
152153 p_to_segment_code => 'GL_BALANCING'
152154 , p_segment_value => l_segment
152155 , p_from_segment_code => l_adr_value_segment_code
152157 , p_value_type_code => l_adr_value_type_code
152158 , p_transaction_coa_id => l_adr_transaction_coa_id
152159 , p_accounting_coa_id => l_adr_accounting_coa_id
152160 , p_flexfield_segment_code => l_adr_flexfield_segment_code
152161 , p_flex_value_set_id => l_adr_flex_value_set_id
152162 , p_adr_code => 'FV_INV_PMT_BAL_SEG'
152163 , p_adr_type_code => 'S'
152164 , p_component_type => l_component_type
152165 , p_component_code => l_component_code
152166 , p_component_type_code => l_component_type_code
152167 , p_component_appl_id => l_component_appl_id
152168 , p_amb_context_code => l_amb_context_code
152169 , p_entity_code => 'AP_PAYMENTS'
152170 , p_event_class_code => 'PAYMENTS'
152171 , p_side => 'NA'
152172 );
152173
152174 END IF;
152175
152176 --
152177 --
152178 END IF;
152179 --
152180 -- Bug 4922099
152181 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
152182 (NVL(l_enc_upg_option, 'N') = 'O')
152183 ) AND
152184 (l_bflow_method_code = 'PRIOR_ENTRY')
152185 )
152186 THEN
152187 IF
152188 --
152189 1 = 2
152190 --
152191 THEN
152192 xla_accounting_err_pkg.build_message
152193 (p_appli_s_name => 'XLA'
152194 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
152195 ,p_token_1 => 'LINE_NUMBER'
152196 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
152197 ,p_token_2 => 'LINE_TYPE_NAME'
152198 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
152199 l_component_type
152200 ,l_component_code
152201 ,l_component_type_code
152202 ,l_component_appl_id
152203 ,l_amb_context_code
152204 ,l_entity_code
152205 ,l_event_class_code
152206 )
152207 ,p_token_3 => 'OWNER'
152208 ,p_value_3 => xla_lookups_pkg.get_meaning(
152209 p_lookup_type => 'XLA_OWNER_TYPE'
152210 ,p_lookup_code => l_component_type_code
152211 )
152212 ,p_token_4 => 'PRODUCT_NAME'
152213 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
152214 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
152215 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
152216 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
152217 ,p_ae_header_id => NULL
152218 );
152219
152220 IF (C_LEVEL_ERROR>= g_log_level) THEN
152221 trace
152222 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
152223 ,p_level => C_LEVEL_ERROR
152224 ,p_module => l_log_module);
152225 END IF;
152226 END IF;
152227 END IF;
152228 --
152229 --
152230 ------------------------------------------------------------------------------------------------
152231 -- 4219869 Business Flow
152232 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
152233 -- Prior Entry. Currently, the following code is always generated.
152234 ------------------------------------------------------------------------------------------------
152235 XLA_AE_LINES_PKG.ValidateCurrentLine;
152236
152237 ------------------------------------------------------------------------------------
152238 -- 4219869 Business Flow
152239 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
152240 ------------------------------------------------------------------------------------
152241 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
152242
152243 ----------------------------------------------------------------------------------
152244 -- 4219869 Business Flow
152245 -- Update journal entry status -- Need to generate this within IF <condition>
152246 ----------------------------------------------------------------------------------
152247 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
152248 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
152249 ,p_balance_type_code => l_balance_type_code
152250 );
152251
152252 -------------------------------------------------------------------------------------------
152253 -- 4262811 - Generate the Accrual Reversal lines
152254 -------------------------------------------------------------------------------------------
152258 IF l_acc_rev_flag IS NULL THEN
152255 BEGIN
152256 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
152257 (g_array_event(p_event_id).array_value_num('header_index'));
152259 l_acc_rev_flag := 'N';
152260 END IF;
152261 EXCEPTION
152262 WHEN OTHERS THEN
152263 l_acc_rev_flag := 'N';
152264 END;
152265 --
152266 IF (l_acc_rev_flag = 'Y') THEN
152267
152268 -- 4645092 ------------------------------------------------------------------------------
152269 -- To allow MPA report to determine if it should generate report process
152270 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
152271 ------------------------------------------------------------------------------------------
152272
152273 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
152274 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
152275 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
152276 -- call ADRs
152277 -- Bug 4922099
152278 --
152279 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
152280 (NVL(l_actual_upg_option, 'N') = 'O') OR
152281 (NVL(l_enc_upg_option, 'N') = 'O')
152282 )
152283 THEN
152284 NULL;
152285 --
152286 --
152287
152288 l_ccid := AcctDerRule_55(
152289 p_application_id => p_application_id
152290 , p_ae_header_id => l_ae_header_id
152291 , p_source_12 => p_source_12
152292 , p_source_30 => p_source_30
152293 , p_source_57 => p_source_57
152294 , x_transaction_coa_id => l_adr_transaction_coa_id
152295 , x_accounting_coa_id => l_adr_accounting_coa_id
152296 , x_value_type_code => l_adr_value_type_code
152297 , p_side => 'NA'
152298 );
152299
152300 xla_ae_lines_pkg.set_ccid(
152301 p_code_combination_id => l_ccid
152302 , p_value_type_code => l_adr_value_type_code
152303 , p_transaction_coa_id => l_adr_transaction_coa_id
152304 , p_accounting_coa_id => l_adr_accounting_coa_id
152305 , p_adr_code => 'FV_INV_PMT_ACCOUNT'
152306 , p_adr_type_code => 'S'
152307 , p_component_type => l_component_type
152308 , p_component_code => l_component_code
152309 , p_component_type_code => l_component_type_code
152310 , p_component_appl_id => l_component_appl_id
152311 , p_amb_context_code => l_amb_context_code
152312 , p_side => 'NA'
152313 );
152314
152315
152316 l_segment := AcctDerRule_52(
152317 p_application_id => p_application_id
152318 , p_ae_header_id => l_ae_header_id
152319 , p_source_56 => p_source_56
152320 , p_source_56_meaning => p_source_56_meaning
152321 , x_transaction_coa_id => l_adr_transaction_coa_id
152322 , x_accounting_coa_id => l_adr_accounting_coa_id
152323 , x_flexfield_segment_code => l_adr_flexfield_segment_code
152324 , x_flex_value_set_id => l_adr_flex_value_set_id
152325 , x_value_type_code => l_adr_value_type_code
152326 , x_value_combination_id => l_adr_value_combination_id
152327 , x_value_segment_code => l_adr_value_segment_code
152328 , p_side => 'NA'
152329 , p_override_seg_flag => 'Y'
152330 );
152331
152332 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
152333
152334 xla_ae_lines_pkg.set_segment(
152335 p_to_segment_code => 'GL_ACCOUNT'
152336 , p_segment_value => l_segment
152337 , p_from_segment_code => l_adr_value_segment_code
152338 , p_from_combination_id => l_adr_value_combination_id
152339 , p_value_type_code => l_adr_value_type_code
152340 , p_transaction_coa_id => l_adr_transaction_coa_id
152341 , p_accounting_coa_id => l_adr_accounting_coa_id
152342 , p_flexfield_segment_code => l_adr_flexfield_segment_code
152343 , p_flex_value_set_id => l_adr_flex_value_set_id
152344 , p_adr_code => 'FV_4X0101_TREASURY_PAY_ACCT'
152345 , p_adr_type_code => 'S'
152346 , p_component_type => l_component_type
152347 , p_component_code => l_component_code
152348 , p_component_type_code => l_component_type_code
152349 , p_component_appl_id => l_component_appl_id
152350 , p_amb_context_code => l_amb_context_code
152351 , p_entity_code => 'AP_PAYMENTS'
152352 , p_event_class_code => 'PAYMENTS'
152353 , p_side => 'NA'
152354 );
152355
152356 END IF;
152357
152358 l_segment := AcctDerRule_27(
152359 p_application_id => p_application_id
152360 , p_ae_header_id => l_ae_header_id
152361 , p_source_10 => p_source_10
152362 , p_source_10_meaning => p_source_10_meaning
152363 , p_source_25 => p_source_25
152364 , p_source_29 => p_source_29
152365 , x_transaction_coa_id => l_adr_transaction_coa_id
152366 , x_accounting_coa_id => l_adr_accounting_coa_id
152367 , x_flexfield_segment_code => l_adr_flexfield_segment_code
152368 , x_flex_value_set_id => l_adr_flex_value_set_id
152369 , x_value_type_code => l_adr_value_type_code
152370 , x_value_combination_id => l_adr_value_combination_id
152371 , x_value_segment_code => l_adr_value_segment_code
152372 , p_side => 'NA'
152373 , p_override_seg_flag => 'Y'
152374 );
152375
152376 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
152377
152378 xla_ae_lines_pkg.set_segment(
152382 , p_from_combination_id => l_adr_value_combination_id
152379 p_to_segment_code => 'GL_BALANCING'
152380 , p_segment_value => l_segment
152381 , p_from_segment_code => l_adr_value_segment_code
152383 , p_value_type_code => l_adr_value_type_code
152384 , p_transaction_coa_id => l_adr_transaction_coa_id
152385 , p_accounting_coa_id => l_adr_accounting_coa_id
152386 , p_flexfield_segment_code => l_adr_flexfield_segment_code
152387 , p_flex_value_set_id => l_adr_flex_value_set_id
152388 , p_adr_code => 'FV_INV_PMT_BAL_SEG'
152389 , p_adr_type_code => 'S'
152390 , p_component_type => l_component_type
152391 , p_component_code => l_component_code
152392 , p_component_type_code => l_component_type_code
152393 , p_component_appl_id => l_component_appl_id
152394 , p_amb_context_code => l_amb_context_code
152395 , p_entity_code => 'AP_PAYMENTS'
152396 , p_event_class_code => 'PAYMENTS'
152397 , p_side => 'NA'
152398 );
152399
152400 END IF;
152401
152402 --
152403 --
152404 END IF;
152405
152406 --
152407 -- Update the line information that should be overwritten
152408 --
152409 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
152410 p_header_num => 1);
152411 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
152412
152413 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
152414
152415 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
152416 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
152417 END IF;
152418
152419 --
152420 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
152421 --
152422 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
152423 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
152424 ELSE
152425 ---------------------------------------------------------------------------------------------------
152426 -- 4262811a Switch Sign
152427 ---------------------------------------------------------------------------------------------------
152428 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
152429 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
152430 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
152431 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
152432 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
152433 -- 5132302
152434 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
152435 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
152436
152437 END IF;
152438
152439 -- 4955764
152440 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
152441 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
152442
152443
152444 XLA_AE_LINES_PKG.ValidateCurrentLine;
152445 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
152446
152447 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
152448 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
152449 ,p_balance_type_code => l_balance_type_code);
152450
152451 END IF;
152452
152453 -----------------------------------------------------------------------------------------
152454 -- 4262811 Multiperiod Accounting
152455 -----------------------------------------------------------------------------------------
152456 -- No MPA option is assigned.
152457
152458
152459 END IF;
152460 END IF;
152461 --
152462
152463 --
152464 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
152465 trace
152466 (p_msg => 'END of AcctLineType_247'
152467 ,p_level => C_LEVEL_PROCEDURE
152468 ,p_module => l_log_module);
152469 END IF;
152470 --
152471 EXCEPTION
152472 WHEN xla_exceptions_pkg.application_exception THEN
152473 RAISE;
152474 WHEN OTHERS THEN
152475 xla_exceptions_pkg.raise_message
152476 (p_location => 'XLA_00200_AAD_S_000012_PKG.AcctLineType_247');
152477 END AcctLineType_247;
152478 --
152479
152480 ---------------------------------------
152481 --
152482 -- PRIVATE PROCEDURE
152483 -- insert_sources_248
152484 --
152485 ----------------------------------------
152486 --
152487 PROCEDURE insert_sources_248(
152488 p_target_ledger_id IN NUMBER
152489 , p_language IN VARCHAR2
152490 , p_sla_ledger_id IN NUMBER
152491 , p_pad_start_date IN DATE
152492 , p_pad_end_date IN DATE
152493 )
152494 IS
152495
152496 C_EVENT_TYPE_CODE CONSTANT VARCHAR2(30) := 'CREDIT MEMOS_ALL';
152497 C_EVENT_CLASS_CODE CONSTANT VARCHAR2(30) := 'CREDIT MEMOS';
152498 p_apps_owner VARCHAR2(30);
152499 l_log_module VARCHAR2(240);
152500 BEGIN
152501 IF g_log_enabled THEN
152502 l_log_module := C_DEFAULT_MODULE||'.insert_sources_248';
152503 END IF;
152507 (p_msg => 'BEGIN of insert_sources_248'
152504 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
152505
152506 trace
152508 ,p_level => C_LEVEL_PROCEDURE
152509 ,p_module => l_log_module);
152510
152511 END IF;
152512
152513 -- select APPS owner
152514 SELECT oracle_username
152515 INTO p_apps_owner
152516 FROM fnd_oracle_userid
152517 WHERE read_only_flag = 'U'
152518 ;
152519
152520 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
152521 trace
152522 (p_msg => 'p_target_ledger_id = '||p_target_ledger_id||
152523 ' - p_language = '||p_language||
152524 ' - p_sla_ledger_id = '||p_sla_ledger_id ||
152525 ' - p_pad_start_date = '||TO_CHAR(p_pad_start_date)||
152526 ' - p_pad_end_date = '||TO_CHAR(p_pad_end_date)||
152527 ' - p_apps_owner = '||TO_CHAR(p_apps_owner)
152528 ,p_level => C_LEVEL_STATEMENT
152529 ,p_module => l_log_module);
152530 END IF;
152531
152532
152533 --
152534 INSERT INTO xla_diag_sources --hdr2
152535 (
152536 event_id
152537 , ledger_id
152538 , sla_ledger_id
152539 , description_language
152540 , object_name
152541 , object_type_code
152542 , line_number
152543 , source_application_id
152544 , source_type_code
152545 , source_code
152546 , source_value
152547 , source_meaning
152548 , created_by
152549 , creation_date
152550 , last_update_date
152551 , last_updated_by
152552 , last_update_login
152553 , program_update_date
152554 , program_application_id
152555 , program_id
152556 , request_id
152557 )
152558 SELECT
152559 event_id
152560 , p_target_ledger_id
152561 , p_sla_ledger_id
152562 , p_language
152563 , object_name
152564 , object_type_code
152565 , line_number
152566 , source_application_id
152567 , source_type_code
152568 , source_code
152569 , SUBSTR(source_value ,1,1996)
152570 , SUBSTR(source_meaning ,1,200)
152571 , xla_environment_pkg.g_Usr_Id
152572 , TRUNC(SYSDATE)
152573 , TRUNC(SYSDATE)
152574 , xla_environment_pkg.g_Usr_Id
152575 , xla_environment_pkg.g_Login_Id
152576 , TRUNC(SYSDATE)
152577 , xla_environment_pkg.g_Prog_Appl_Id
152578 , xla_environment_pkg.g_Prog_Id
152579 , xla_environment_pkg.g_Req_Id
152580 FROM (
152581 SELECT xet.event_id event_id
152582 , 0 line_number
152583 , CASE r
152584 WHEN 1 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
152585 WHEN 2 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
152586 WHEN 3 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
152587 WHEN 4 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
152588 WHEN 5 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
152589 WHEN 6 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
152590 WHEN 7 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
152591 WHEN 8 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
152592 WHEN 9 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
152593 WHEN 10 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
152594 WHEN 11 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
152595 WHEN 12 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
152596 WHEN 13 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
152597 WHEN 14 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
152598 WHEN 15 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
152599 WHEN 16 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
152600 WHEN 17 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
152601 WHEN 18 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
152602
152603 ELSE null
152604 END object_name
152605 , CASE r
152606 WHEN 1 THEN 'HEADER'
152607 WHEN 2 THEN 'HEADER'
152608 WHEN 3 THEN 'HEADER'
152609 WHEN 4 THEN 'HEADER'
152610 WHEN 5 THEN 'HEADER'
152611 WHEN 6 THEN 'HEADER'
152612 WHEN 7 THEN 'HEADER'
152613 WHEN 8 THEN 'HEADER'
152614 WHEN 9 THEN 'HEADER'
152615 WHEN 10 THEN 'HEADER'
152616 WHEN 11 THEN 'HEADER'
152617 WHEN 12 THEN 'HEADER'
152618 WHEN 13 THEN 'HEADER'
152619 WHEN 14 THEN 'HEADER'
152620 WHEN 15 THEN 'HEADER'
152621 WHEN 16 THEN 'HEADER'
152622 WHEN 17 THEN 'HEADER'
152623 WHEN 18 THEN 'HEADER'
152624
152625 ELSE null
152626 END object_type_code
152627 , CASE r
152628 WHEN 1 THEN '200'
152629 WHEN 2 THEN '200'
152630 WHEN 3 THEN '200'
152631 WHEN 4 THEN '200'
152632 WHEN 5 THEN '200'
152633 WHEN 6 THEN '200'
152634 WHEN 7 THEN '200'
152635 WHEN 8 THEN '200'
152636 WHEN 9 THEN '200'
152637 WHEN 10 THEN '200'
152638 WHEN 11 THEN '200'
152639 WHEN 12 THEN '200'
152640 WHEN 13 THEN '200'
152641 WHEN 14 THEN '200'
152642 WHEN 15 THEN '200'
152643 WHEN 16 THEN '200'
152644 WHEN 17 THEN '200'
152645 WHEN 18 THEN '200'
152646
152647 ELSE null
152648 END source_application_id
152652 WHEN 2 THEN 'ASP_RATE_VAR_GAIN_CCID'
152649 , 'S' source_type_code
152650 , CASE r
152651 WHEN 1 THEN 'ASP_AUTOMATIC_OFFSETS_VALUE'
152653 WHEN 3 THEN 'ASP_RATE_VAR_LOSS_CCID'
152654 WHEN 4 THEN 'AI_ACCTS_PAY_CCID'
152655 WHEN 5 THEN 'FSP_RETAINAGE_ACCOUNT'
152656 WHEN 6 THEN 'ASP_AUTO_OFFSET_FLAG'
152657 WHEN 7 THEN 'AI_INVOICE_ID'
152658 WHEN 8 THEN 'AI_INVOICE_CURRENCY_CODE'
152659 WHEN 9 THEN 'AI_VENDOR_ID'
152660 WHEN 10 THEN 'AI_VENDOR_SITE_ID'
152661 WHEN 11 THEN 'THIRD_PARTY_TYPE'
152662 WHEN 12 THEN 'INV_EXCHANGE_DATE'
152663 WHEN 13 THEN 'INV_EXCHANGE_RATE'
152664 WHEN 14 THEN 'INV_EXCHANGE_RATE_TYPE'
152665 WHEN 15 THEN 'AI_INVOICE_TYPE_LOOKUP_CODE'
152666 WHEN 16 THEN 'INV_DOC_SEQUENCE_CATEGORY'
152667 WHEN 17 THEN 'INV_DOC_SEQUENCE_IDENTIFIER'
152668 WHEN 18 THEN 'INV_DOC_SEQUENCE_VALUE'
152669
152670 ELSE null
152671 END source_code
152672 , CASE r
152673 WHEN 1 THEN TO_CHAR(h4.ASP_AUTOMATIC_OFFSETS_VALUE)
152674 WHEN 2 THEN TO_CHAR(h4.ASP_RATE_VAR_GAIN_CCID)
152675 WHEN 3 THEN TO_CHAR(h4.ASP_RATE_VAR_LOSS_CCID)
152676 WHEN 4 THEN TO_CHAR(h2.AI_ACCTS_PAY_CCID)
152677 WHEN 5 THEN TO_CHAR(h4.FSP_RETAINAGE_ACCOUNT)
152678 WHEN 6 THEN TO_CHAR(h4.ASP_AUTO_OFFSET_FLAG)
152679 WHEN 7 THEN TO_CHAR(h2.AI_INVOICE_ID)
152680 WHEN 8 THEN TO_CHAR(h2.AI_INVOICE_CURRENCY_CODE)
152681 WHEN 9 THEN TO_CHAR(h2.AI_VENDOR_ID)
152682 WHEN 10 THEN TO_CHAR(h2.AI_VENDOR_SITE_ID)
152683 WHEN 11 THEN TO_CHAR(h2.THIRD_PARTY_TYPE)
152684 WHEN 12 THEN TO_CHAR(h2.INV_EXCHANGE_DATE)
152685 WHEN 13 THEN TO_CHAR(h2.INV_EXCHANGE_RATE)
152686 WHEN 14 THEN TO_CHAR(h2.INV_EXCHANGE_RATE_TYPE)
152687 WHEN 15 THEN TO_CHAR(h2.AI_INVOICE_TYPE_LOOKUP_CODE)
152688 WHEN 16 THEN TO_CHAR(h2.INV_DOC_SEQUENCE_CATEGORY)
152689 WHEN 17 THEN TO_CHAR(h2.INV_DOC_SEQUENCE_IDENTIFIER)
152690 WHEN 18 THEN TO_CHAR(h2.INV_DOC_SEQUENCE_VALUE)
152691
152692 ELSE null
152693 END source_value
152694 , CASE r
152695 WHEN 1 THEN fvl10.meaning
152696 WHEN 6 THEN fvl43.meaning
152697 WHEN 15 THEN fvl167.meaning
152698
152699 ELSE null
152700 END source_meaning
152701 FROM xla_events_gt xet
152702 , AP_INVOICE_EXTRACT_HEADER_V h2
152703 , AP_SYSTEM_PARAMETERS_EXTRACT_V h4
152704 , fnd_lookup_values fvl10
152705 , fnd_lookup_values fvl43
152706 , fnd_lookup_values fvl167
152707 ,(select rownum r from all_objects where rownum <= 18 and owner = p_apps_owner)
152708 WHERE xet.event_date between p_pad_start_date AND p_pad_end_date
152709 AND xet.event_class_code = C_EVENT_CLASS_CODE
152710 AND h2.event_id = xet.event_id
152711 AND h4.asp_org_id = h2.ai_org_id AND fvl10.lookup_type(+) = 'LIABILITY FLEXBUILD METHOD'
152712 AND fvl10.lookup_code(+) = h4.ASP_AUTOMATIC_OFFSETS_VALUE
152713 AND fvl10.view_application_id(+) = 200
152714 AND fvl10.language(+) = USERENV('LANG')
152715 AND fvl43.lookup_type(+) = 'YES_NO'
152716 AND fvl43.lookup_code(+) = h4.ASP_AUTO_OFFSET_FLAG
152717 AND fvl43.view_application_id(+) = 0
152718 AND fvl43.language(+) = USERENV('LANG')
152719 AND fvl167.lookup_type(+) = 'INVOICE TYPE'
152720 AND fvl167.lookup_code(+) = h2.AI_INVOICE_TYPE_LOOKUP_CODE
152721 AND fvl167.view_application_id(+) = 200
152722 AND fvl167.language(+) = USERENV('LANG')
152723
152724 )
152725 ;
152726 --
152727 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
152728
152729 trace
152730 (p_msg => 'number of header sources inserted = '||SQL%ROWCOUNT
152731 ,p_level => C_LEVEL_STATEMENT
152732 ,p_module => l_log_module);
152733
152734 END IF;
152735 --
152736
152737
152738
152739 --
152740 INSERT INTO xla_diag_sources --line2
152741 (
152742 event_id
152743 , ledger_id
152744 , sla_ledger_id
152745 , description_language
152746 , object_name
152747 , object_type_code
152748 , line_number
152749 , source_application_id
152750 , source_type_code
152751 , source_code
152752 , source_value
152753 , source_meaning
152754 , created_by
152755 , creation_date
152756 , last_update_date
152757 , last_updated_by
152758 , last_update_login
152759 , program_update_date
152760 , program_application_id
152761 , program_id
152762 , request_id
152763 )
152764 SELECT event_id
152765 , p_target_ledger_id
152766 , p_sla_ledger_id
152767 , p_language
152768 , object_name
152769 , object_type_code
152770 , line_number
152771 , source_application_id
152772 , source_type_code
152773 , source_code
152774 , SUBSTR(source_value,1,1996)
152775 , SUBSTR(source_meaning ,1,200)
152776 , xla_environment_pkg.g_Usr_Id
152777 , TRUNC(SYSDATE)
152778 , TRUNC(SYSDATE)
152779 , xla_environment_pkg.g_Usr_Id
152780 , xla_environment_pkg.g_Login_Id
152781 , TRUNC(SYSDATE)
152782 , xla_environment_pkg.g_Prog_Appl_Id
152783 , xla_environment_pkg.g_Prog_Id
152787 , l1.line_number line_number
152784 , xla_environment_pkg.g_Req_Id
152785 FROM (
152786 SELECT xet.event_id event_id
152788 , CASE r
152789 WHEN 1 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
152790 WHEN 2 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
152791 WHEN 3 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
152792 WHEN 4 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
152793 WHEN 5 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
152794 WHEN 6 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
152795 WHEN 7 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
152796 WHEN 8 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
152797 WHEN 9 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
152798 WHEN 10 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
152799 WHEN 11 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
152800 WHEN 12 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
152801 WHEN 13 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
152802 WHEN 14 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
152803 WHEN 15 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
152804 WHEN 16 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
152805 WHEN 17 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
152806 WHEN 18 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
152807 WHEN 19 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
152808 WHEN 20 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
152809 WHEN 21 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
152810 WHEN 22 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
152811 WHEN 23 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
152812 WHEN 24 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
152813 WHEN 25 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
152814 WHEN 26 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
152815 WHEN 27 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
152816 WHEN 28 THEN 'AP_PO_HEADERS_EXTRACT_V'
152817 WHEN 29 THEN 'AP_PO_HEADERS_EXTRACT_V'
152818 WHEN 30 THEN 'AP_PO_HEADERS_EXTRACT_V'
152819 WHEN 31 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
152820 WHEN 32 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
152821 WHEN 33 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
152822 WHEN 34 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
152823 WHEN 35 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
152824 WHEN 36 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
152825 WHEN 37 THEN 'ZX_AP_DEF_TAX_EXTRACT_V'
152826 WHEN 38 THEN 'ZX_AP_TAX_JRNL_LINE_DESC_V'
152827 WHEN 39 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
152828 WHEN 40 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
152829 WHEN 41 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
152830 WHEN 42 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
152831 WHEN 43 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
152832 WHEN 44 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
152833 WHEN 45 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
152834 WHEN 46 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
152835 WHEN 47 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
152836
152837 ELSE null
152838 END object_name
152839 , CASE r
152840 WHEN 1 THEN 'LINE'
152841 WHEN 2 THEN 'LINE'
152842 WHEN 3 THEN 'LINE'
152843 WHEN 4 THEN 'LINE'
152844 WHEN 5 THEN 'LINE'
152845 WHEN 6 THEN 'LINE'
152846 WHEN 7 THEN 'LINE'
152847 WHEN 8 THEN 'LINE'
152848 WHEN 9 THEN 'LINE'
152849 WHEN 10 THEN 'LINE'
152850 WHEN 11 THEN 'LINE'
152851 WHEN 12 THEN 'LINE'
152852 WHEN 13 THEN 'LINE'
152853 WHEN 14 THEN 'LINE'
152854 WHEN 15 THEN 'LINE'
152855 WHEN 16 THEN 'LINE'
152856 WHEN 17 THEN 'LINE'
152857 WHEN 18 THEN 'LINE'
152858 WHEN 19 THEN 'LINE'
152859 WHEN 20 THEN 'LINE'
152860 WHEN 21 THEN 'LINE'
152861 WHEN 22 THEN 'LINE'
152862 WHEN 23 THEN 'LINE'
152863 WHEN 24 THEN 'LINE'
152864 WHEN 25 THEN 'LINE'
152865 WHEN 26 THEN 'LINE'
152866 WHEN 27 THEN 'LINE'
152867 WHEN 28 THEN 'LINE'
152868 WHEN 29 THEN 'LINE'
152869 WHEN 30 THEN 'LINE'
152870 WHEN 31 THEN 'LINE'
152871 WHEN 32 THEN 'LINE'
152872 WHEN 33 THEN 'LINE'
152873 WHEN 34 THEN 'LINE'
152874 WHEN 35 THEN 'LINE'
152875 WHEN 36 THEN 'LINE'
152876 WHEN 37 THEN 'LINE'
152877 WHEN 38 THEN 'LINE'
152878 WHEN 39 THEN 'LINE'
152879 WHEN 40 THEN 'LINE'
152880 WHEN 41 THEN 'LINE'
152881 WHEN 42 THEN 'LINE'
152882 WHEN 43 THEN 'LINE'
152883 WHEN 44 THEN 'LINE'
152884 WHEN 45 THEN 'LINE'
152885 WHEN 46 THEN 'LINE'
152886 WHEN 47 THEN 'LINE'
152887
152888 ELSE null
152889 END object_type_code
152890 , CASE r
152891 WHEN 1 THEN '200'
152892 WHEN 2 THEN '200'
152893 WHEN 3 THEN '200'
152894 WHEN 4 THEN '200'
152895 WHEN 5 THEN '200'
152896 WHEN 6 THEN '200'
152897 WHEN 7 THEN '200'
152898 WHEN 8 THEN '200'
152899 WHEN 9 THEN '200'
152900 WHEN 10 THEN '200'
152901 WHEN 11 THEN '200'
152905 WHEN 15 THEN '200'
152902 WHEN 12 THEN '200'
152903 WHEN 13 THEN '200'
152904 WHEN 14 THEN '200'
152906 WHEN 16 THEN '200'
152907 WHEN 17 THEN '200'
152908 WHEN 18 THEN '200'
152909 WHEN 19 THEN '200'
152910 WHEN 20 THEN '200'
152911 WHEN 21 THEN '200'
152912 WHEN 22 THEN '200'
152913 WHEN 23 THEN '200'
152914 WHEN 24 THEN '200'
152915 WHEN 25 THEN '200'
152916 WHEN 26 THEN '200'
152917 WHEN 27 THEN '200'
152918 WHEN 28 THEN '200'
152919 WHEN 29 THEN '200'
152920 WHEN 30 THEN '200'
152921 WHEN 31 THEN '200'
152922 WHEN 32 THEN '200'
152923 WHEN 33 THEN '200'
152924 WHEN 34 THEN '200'
152925 WHEN 35 THEN '200'
152926 WHEN 36 THEN '200'
152927 WHEN 37 THEN '200'
152928 WHEN 38 THEN '200'
152929 WHEN 39 THEN '200'
152930 WHEN 40 THEN '200'
152931 WHEN 41 THEN '200'
152932 WHEN 42 THEN '200'
152933 WHEN 43 THEN '200'
152934 WHEN 44 THEN '200'
152935 WHEN 45 THEN '200'
152936 WHEN 46 THEN '200'
152937 WHEN 47 THEN '200'
152938
152939 ELSE null
152940 END source_application_id
152941 , 'S' source_type_code
152942 , CASE r
152943 WHEN 1 THEN 'AID_DESCRIPTION'
152944 WHEN 2 THEN 'INV_DIST_BASE_AMOUNT'
152945 WHEN 3 THEN 'RELATED_INV_DIST_DEST_TYPE'
152946 WHEN 4 THEN 'AID_DIST_CCID'
152947 WHEN 5 THEN 'AID_LINE_TYPE_LOOKUP_CODE'
152948 WHEN 6 THEN 'AID_RET_RELATED_DIST_CCID'
152949 WHEN 7 THEN 'AWT_RELATED_DIST_ACCOUNT'
152950 WHEN 8 THEN 'SELF_ASSESSED_TAX_ACCOUNT'
152951 WHEN 9 THEN 'ASAT_LIAB_CCID'
152952 WHEN 10 THEN 'POD_ACCRUE_ON_RECEIPT_FLAG'
152953 WHEN 11 THEN 'DIST_ACCOUNT_REVERSAL_OPTION'
152954 WHEN 12 THEN 'DISTRIBUTION_LINK_TYPE'
152955 WHEN 13 THEN 'ALLOC_TO_MAIN_DIST_ID'
152956 WHEN 14 THEN 'BUS_FLOW_PO_APP_ID'
152957 WHEN 15 THEN 'BUS_FLOW_PO_DIST_TYPE'
152958 WHEN 16 THEN 'BUS_FLOW_PO_ENTITY_CODE'
152959 WHEN 17 THEN 'BUS_FLOW_PO_DIST_ID'
152960 WHEN 18 THEN 'BUS_FLOW_PO_DOC_ID'
152961 WHEN 19 THEN 'AID_INVOICE_DIST_ID'
152962 WHEN 20 THEN 'UPG_ENC_CR_CCID'
152963 WHEN 21 THEN 'UPG_ENC_CR_AMT'
152964 WHEN 22 THEN 'UPG_ENC_CR_BASE_AMT'
152965 WHEN 23 THEN 'UPG_ENC_DR_CCID'
152966 WHEN 24 THEN 'UPG_ENC_DR_AMT'
152967 WHEN 25 THEN 'UPG_ENC_DR_BASE_AMT'
152968 WHEN 26 THEN 'UPG_AP_ENCUM_OPTION'
152969 WHEN 27 THEN 'AID_AMOUNT'
152970 WHEN 28 THEN 'POH_RATE_DATE'
152971 WHEN 29 THEN 'POH_RATE'
152972 WHEN 30 THEN 'POH_RATE_TYPE'
152973 WHEN 31 THEN 'DEFERRED_END_DATE'
152974 WHEN 32 THEN 'DEFERRED_OPTION'
152975 WHEN 33 THEN 'DEFERRED_START_DATE'
152976 WHEN 34 THEN 'OVERRIDE_ACCTD_AMT_FLAG'
152977 WHEN 35 THEN 'AID_PARENT_REVERSAL_ID'
152978 WHEN 36 THEN 'AID_STAT_AMOUNT'
152979 WHEN 37 THEN 'TAX_LINE_ID'
152980 WHEN 38 THEN 'REC_NREC_TAX_DIST_ID'
152981 WHEN 39 THEN 'SUMMARY_TAX_LINE_ID'
152982 WHEN 40 THEN 'UPG_CR_ENC_TYPE_ID'
152983 WHEN 41 THEN 'UPG_DR_ENC_TYPE_ID'
152984 WHEN 42 THEN 'BUS_FLOW_AP_APP_ID'
152985 WHEN 43 THEN 'BUS_FLOW_INV_DIST_TYPE'
152986 WHEN 44 THEN 'BUS_FLOW_INV_ENTITY_CODE'
152987 WHEN 45 THEN 'BUS_FLOW_INV_DIST_ID'
152988 WHEN 46 THEN 'BUS_FLOW_INV_ID'
152989 WHEN 47 THEN 'SELF_ASSESSED_TAX_FLAG'
152990
152991 ELSE null
152992 END source_code
152993 , CASE r
152994 WHEN 1 THEN TO_CHAR(l1.AID_DESCRIPTION)
152995 WHEN 2 THEN TO_CHAR(l1.INV_DIST_BASE_AMOUNT)
152996 WHEN 3 THEN TO_CHAR(l1.RELATED_INV_DIST_DEST_TYPE)
152997 WHEN 4 THEN TO_CHAR(l1.AID_DIST_CCID)
152998 WHEN 5 THEN TO_CHAR(l1.AID_LINE_TYPE_LOOKUP_CODE)
152999 WHEN 6 THEN TO_CHAR(l1.AID_RET_RELATED_DIST_CCID)
153000 WHEN 7 THEN TO_CHAR(l1.AWT_RELATED_DIST_ACCOUNT)
153001 WHEN 8 THEN TO_CHAR(l1.SELF_ASSESSED_TAX_ACCOUNT)
153002 WHEN 9 THEN TO_CHAR(l1.ASAT_LIAB_CCID)
153003 WHEN 10 THEN TO_CHAR(l1.POD_ACCRUE_ON_RECEIPT_FLAG)
153004 WHEN 11 THEN TO_CHAR(l1.DIST_ACCOUNT_REVERSAL_OPTION)
153005 WHEN 12 THEN TO_CHAR(l1.DISTRIBUTION_LINK_TYPE)
153006 WHEN 13 THEN TO_CHAR(l1.ALLOC_TO_MAIN_DIST_ID)
153007 WHEN 14 THEN TO_CHAR(l1.BUS_FLOW_PO_APP_ID)
153008 WHEN 15 THEN TO_CHAR(l1.BUS_FLOW_PO_DIST_TYPE)
153009 WHEN 16 THEN TO_CHAR(l1.BUS_FLOW_PO_ENTITY_CODE)
153010 WHEN 17 THEN TO_CHAR(l1.BUS_FLOW_PO_DIST_ID)
153011 WHEN 18 THEN TO_CHAR(l1.BUS_FLOW_PO_DOC_ID)
153012 WHEN 19 THEN TO_CHAR(l1.AID_INVOICE_DIST_ID)
153013 WHEN 20 THEN TO_CHAR(l1.UPG_ENC_CR_CCID)
153014 WHEN 21 THEN TO_CHAR(l1.UPG_ENC_CR_AMT)
153015 WHEN 22 THEN TO_CHAR(l1.UPG_ENC_CR_BASE_AMT)
153016 WHEN 23 THEN TO_CHAR(l1.UPG_ENC_DR_CCID)
153020 WHEN 27 THEN TO_CHAR(l1.AID_AMOUNT)
153017 WHEN 24 THEN TO_CHAR(l1.UPG_ENC_DR_AMT)
153018 WHEN 25 THEN TO_CHAR(l1.UPG_ENC_DR_BASE_AMT)
153019 WHEN 26 THEN TO_CHAR(l1.UPG_AP_ENCUM_OPTION)
153021 WHEN 28 THEN TO_CHAR(l3.POH_RATE_DATE)
153022 WHEN 29 THEN TO_CHAR(l3.POH_RATE)
153023 WHEN 30 THEN TO_CHAR(l3.POH_RATE_TYPE)
153024 WHEN 31 THEN TO_CHAR(l1.DEFERRED_END_DATE)
153025 WHEN 32 THEN TO_CHAR(l1.DEFERRED_OPTION)
153026 WHEN 33 THEN TO_CHAR(l1.DEFERRED_START_DATE)
153027 WHEN 34 THEN TO_CHAR(l1.OVERRIDE_ACCTD_AMT_FLAG)
153028 WHEN 35 THEN TO_CHAR(l1.AID_PARENT_REVERSAL_ID)
153029 WHEN 36 THEN TO_CHAR(l1.AID_STAT_AMOUNT)
153030 WHEN 37 THEN TO_CHAR(l5.TAX_LINE_ID)
153031 WHEN 38 THEN TO_CHAR(l6.REC_NREC_TAX_DIST_ID)
153032 WHEN 39 THEN TO_CHAR(l1.SUMMARY_TAX_LINE_ID)
153033 WHEN 40 THEN TO_CHAR(l1.UPG_CR_ENC_TYPE_ID)
153034 WHEN 41 THEN TO_CHAR(l1.UPG_DR_ENC_TYPE_ID)
153035 WHEN 42 THEN TO_CHAR(l1.BUS_FLOW_AP_APP_ID)
153036 WHEN 43 THEN TO_CHAR(l1.BUS_FLOW_INV_DIST_TYPE)
153037 WHEN 44 THEN TO_CHAR(l1.BUS_FLOW_INV_ENTITY_CODE)
153038 WHEN 45 THEN TO_CHAR(l1.BUS_FLOW_INV_DIST_ID)
153039 WHEN 46 THEN TO_CHAR(l1.BUS_FLOW_INV_ID)
153040 WHEN 47 THEN TO_CHAR(l1.SELF_ASSESSED_TAX_FLAG)
153041
153042 ELSE null
153043 END source_value
153044 , CASE r
153045 WHEN 3 THEN fvl17.meaning
153046 WHEN 5 THEN fvl28.meaning
153047 WHEN 10 THEN fvl54.meaning
153048 WHEN 34 THEN fvl85.meaning
153049 WHEN 47 THEN fvl145.meaning
153050
153051 ELSE null
153052 END source_meaning
153053 FROM xla_events_gt xet
153054 , AP_INVOICE_EXTRACT_DETAILS_V l1
153055 , AP_PO_HEADERS_EXTRACT_V l3
153056 , ZX_AP_DEF_TAX_EXTRACT_V l5
153057 , ZX_AP_TAX_JRNL_LINE_DESC_V l6
153058 , fnd_lookup_values fvl17
153059 , fnd_lookup_values fvl28
153060 , fnd_lookup_values fvl54
153061 , fnd_lookup_values fvl85
153062 , fnd_lookup_values fvl145
153063 , (select rownum r from all_objects where rownum <= 47 and owner = p_apps_owner)
153064 WHERE xet.event_date between p_pad_start_date AND p_pad_end_date
153065 AND xet.event_class_code = C_EVENT_CLASS_CODE
153066 AND l1.event_id = xet.event_id
153067 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 fvl17.lookup_type(+) = 'DESTINATION TYPE'
153068 AND fvl17.lookup_code(+) = l1.RELATED_INV_DIST_DEST_TYPE
153069 AND fvl17.view_application_id(+) = 201
153070 AND fvl17.language(+) = USERENV('LANG')
153071 AND fvl28.lookup_type(+) = 'INVOICE DISTRIBUTION TYPE'
153072 AND fvl28.lookup_code(+) = l1.AID_LINE_TYPE_LOOKUP_CODE
153073 AND fvl28.view_application_id(+) = 200
153074 AND fvl28.language(+) = USERENV('LANG')
153075 AND fvl54.lookup_type(+) = 'YES_NO'
153076 AND fvl54.lookup_code(+) = l1.POD_ACCRUE_ON_RECEIPT_FLAG
153077 AND fvl54.view_application_id(+) = 0
153078 AND fvl54.language(+) = USERENV('LANG')
153079 AND fvl85.lookup_type(+) = 'YES_NO'
153080 AND fvl85.lookup_code(+) = l1.OVERRIDE_ACCTD_AMT_FLAG
153081 AND fvl85.view_application_id(+) = 0
153082 AND fvl85.language(+) = USERENV('LANG')
153083 AND fvl145.lookup_type(+) = 'YES_NO'
153084 AND fvl145.lookup_code(+) = l1.SELF_ASSESSED_TAX_FLAG
153085 AND fvl145.view_application_id(+) = 0
153086 AND fvl145.language(+) = USERENV('LANG')
153087
153088 )
153089 ;
153090 --
153091 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
153092
153093 trace
153094 (p_msg => 'number of line sources inserted = '||SQL%ROWCOUNT
153095 ,p_level => C_LEVEL_STATEMENT
153096 ,p_module => l_log_module);
153097
153098 END IF;
153099
153100
153101 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
153102 trace
153103 (p_msg => 'END of insert_sources_248'
153104 ,p_level => C_LEVEL_PROCEDURE
153105 ,p_module => l_log_module);
153106 END IF;
153107 EXCEPTION
153108 WHEN xla_exceptions_pkg.application_exception THEN
153109 IF (C_LEVEL_EXCEPTION >= g_log_level) THEN
153110 trace
153111 (p_msg => 'ERROR: XLA_CMP_COMPILER_ERROR = '||sqlerrm
153112 ,p_level => C_LEVEL_EXCEPTION
153113 ,p_module => l_log_module);
153114 END IF;
153115 RAISE;
153116 WHEN OTHERS THEN
153117 IF (C_LEVEL_EXCEPTION >= g_log_level) THEN
153118 trace
153119 (p_msg => 'ERROR: XLA_CMP_COMPILER_ERROR = '||sqlerrm
153120 ,p_level => C_LEVEL_EXCEPTION
153121 ,p_module => l_log_module);
153122 END IF;
153123 xla_exceptions_pkg.raise_message
153124 (p_location => 'XLA_00200_AAD_S_000012_PKG.insert_sources_248');
153125 END insert_sources_248;
153126 --
153127
153128 ---------------------------------------
153129 --
153130 -- PRIVATE FUNCTION
153131 -- EventClass_248
153132 --
153133 ----------------------------------------
153134 --
153135 FUNCTION EventClass_248
153136 (p_application_id IN NUMBER
153137 ,p_base_ledger_id IN NUMBER
153138 ,p_target_ledger_id IN NUMBER
153139 ,p_language IN VARCHAR2
153140 ,p_currency_code IN VARCHAR2
153141 ,p_sla_ledger_id IN NUMBER
153145 RETURN BOOLEAN IS
153142 ,p_pad_start_date IN DATE
153143 ,p_pad_end_date IN DATE
153144 ,p_primary_ledger_id IN NUMBER)
153146 --
153147 C_EVENT_TYPE_CODE CONSTANT VARCHAR2(30) := 'CREDIT MEMOS_ALL';
153148 C_EVENT_CLASS_CODE CONSTANT VARCHAR2(30) := 'CREDIT MEMOS';
153149
153150 l_calculate_acctd_flag VARCHAR2(1) :='N';
153151 l_calculate_g_l_flag VARCHAR2(1) :='N';
153152 --
153153 l_array_legal_entity_id XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
153154 l_array_entity_id XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
153155 l_array_entity_code XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
153156 l_array_transaction_num XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
153157 l_array_event_id XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
153158 l_array_class_code XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
153159 l_array_event_type XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
153160 l_array_event_number XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
153161 l_array_event_date XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
153162 l_array_transaction_date XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
153163 l_array_reference_num_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
153164 l_array_reference_num_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
153165 l_array_reference_num_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
153166 l_array_reference_num_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
153167 l_array_reference_char_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
153168 l_array_reference_char_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
153169 l_array_reference_char_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
153170 l_array_reference_char_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
153171 l_array_reference_date_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
153172 l_array_reference_date_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
153173 l_array_reference_date_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
153174 l_array_reference_date_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
153175 l_array_event_created_by XLA_AE_JOURNAL_ENTRY_PKG.t_array_V100L;
153176 l_array_budgetary_control_flag XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
153177 l_array_header_events XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num; --added
153178 l_array_duplicate_checker XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num; --added
153179
153180 l_event_id NUMBER;
153181 l_previous_event_id NUMBER;
153182 l_first_event_id NUMBER;
153183 l_last_event_id NUMBER;
153184
153185 l_rec_acct_attrs XLA_AE_HEADER_PKG.t_rec_acct_attrs;
153186 l_rec_rev_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
153187 --
153188 --
153189 l_result BOOLEAN := TRUE;
153190 l_rows NUMBER := 1000;
153191 l_event_type_name VARCHAR2(80) := 'All';
153192 l_event_class_name VARCHAR2(80) := 'Credit Memos';
153193 l_description VARCHAR2(4000);
153194 l_transaction_reversal NUMBER;
153195 l_ae_header_id NUMBER;
153196 l_array_extract_line_num xla_ae_journal_entry_pkg.t_array_Num;
153197 l_log_module VARCHAR2(240);
153198 --
153199 l_acct_reversal_source VARCHAR2(30);
153200 l_trx_reversal_source VARCHAR2(30);
153201
153202 l_continue_with_lines BOOLEAN := TRUE;
153203 --
153204 l_acc_rev_gl_date_source DATE; -- 4262811
153205 --
153206 type t_array_event_id is table of number index by binary_integer;
153207
153208 l_rec_array_event t_rec_array_event;
153209 l_null_rec_array_event t_rec_array_event;
153210 l_array_ae_header_id xla_number_array_type;
153211 l_actual_flag VARCHAR2(1) := NULL;
153212 l_actual_gain_loss_ref VARCHAR2(30) := '#####';
153213 l_balance_type_code VARCHAR2(1) :=NULL;
153214 l_gain_or_loss_ref VARCHAR2(30) :=NULL;
153215
153216 --
153217 TYPE t_array_lookup_meaning IS TABLE OF fnd_lookup_values.meaning%TYPE INDEX BY BINARY_INTEGER;
153218 --
153219
153220 TYPE t_array_source_10 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_AUTOMATIC_OFFSETS_VALUE%TYPE INDEX BY BINARY_INTEGER;
153221 TYPE t_array_source_15 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_RATE_VAR_GAIN_CCID%TYPE INDEX BY BINARY_INTEGER;
153222 TYPE t_array_source_18 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_RATE_VAR_LOSS_CCID%TYPE INDEX BY BINARY_INTEGER;
153223 TYPE t_array_source_29 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_ACCTS_PAY_CCID%TYPE INDEX BY BINARY_INTEGER;
153224 TYPE t_array_source_35 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.FSP_RETAINAGE_ACCOUNT%TYPE INDEX BY BINARY_INTEGER;
153225 TYPE t_array_source_43 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_AUTO_OFFSET_FLAG%TYPE INDEX BY BINARY_INTEGER;
153226 TYPE t_array_source_63 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_INVOICE_ID%TYPE INDEX BY BINARY_INTEGER;
153227 TYPE t_array_source_72 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_INVOICE_CURRENCY_CODE%TYPE INDEX BY BINARY_INTEGER;
153228 TYPE t_array_source_86 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_VENDOR_ID%TYPE INDEX BY BINARY_INTEGER;
153229 TYPE t_array_source_87 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_VENDOR_SITE_ID%TYPE INDEX BY BINARY_INTEGER;
153230 TYPE t_array_source_88 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.THIRD_PARTY_TYPE%TYPE INDEX BY BINARY_INTEGER;
153231 TYPE t_array_source_146 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_EXCHANGE_DATE%TYPE INDEX BY BINARY_INTEGER;
153232 TYPE t_array_source_147 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_EXCHANGE_RATE%TYPE INDEX BY BINARY_INTEGER;
153233 TYPE t_array_source_148 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_EXCHANGE_RATE_TYPE%TYPE INDEX BY BINARY_INTEGER;
153234 TYPE t_array_source_167 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_INVOICE_TYPE_LOOKUP_CODE%TYPE INDEX BY BINARY_INTEGER;
153238
153235 TYPE t_array_source_171 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_DOC_SEQUENCE_CATEGORY%TYPE INDEX BY BINARY_INTEGER;
153236 TYPE t_array_source_172 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_DOC_SEQUENCE_IDENTIFIER%TYPE INDEX BY BINARY_INTEGER;
153237 TYPE t_array_source_173 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_DOC_SEQUENCE_VALUE%TYPE INDEX BY BINARY_INTEGER;
153239 TYPE t_array_source_1 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_DESCRIPTION%TYPE INDEX BY BINARY_INTEGER;
153240 TYPE t_array_source_16 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.INV_DIST_BASE_AMOUNT%TYPE INDEX BY BINARY_INTEGER;
153241 TYPE t_array_source_17 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.RELATED_INV_DIST_DEST_TYPE%TYPE INDEX BY BINARY_INTEGER;
153242 TYPE t_array_source_25 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_DIST_CCID%TYPE INDEX BY BINARY_INTEGER;
153243 TYPE t_array_source_28 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_LINE_TYPE_LOOKUP_CODE%TYPE INDEX BY BINARY_INTEGER;
153244 TYPE t_array_source_38 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_RET_RELATED_DIST_CCID%TYPE INDEX BY BINARY_INTEGER;
153245 TYPE t_array_source_39 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AWT_RELATED_DIST_ACCOUNT%TYPE INDEX BY BINARY_INTEGER;
153246 TYPE t_array_source_46 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.SELF_ASSESSED_TAX_ACCOUNT%TYPE INDEX BY BINARY_INTEGER;
153247 TYPE t_array_source_47 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.ASAT_LIAB_CCID%TYPE INDEX BY BINARY_INTEGER;
153248 TYPE t_array_source_54 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.POD_ACCRUE_ON_RECEIPT_FLAG%TYPE INDEX BY BINARY_INTEGER;
153249 TYPE t_array_source_58 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.DIST_ACCOUNT_REVERSAL_OPTION%TYPE INDEX BY BINARY_INTEGER;
153250 TYPE t_array_source_60 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.DISTRIBUTION_LINK_TYPE%TYPE INDEX BY BINARY_INTEGER;
153251 TYPE t_array_source_62 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.ALLOC_TO_MAIN_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
153252 TYPE t_array_source_64 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_PO_APP_ID%TYPE INDEX BY BINARY_INTEGER;
153253 TYPE t_array_source_65 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_PO_DIST_TYPE%TYPE INDEX BY BINARY_INTEGER;
153254 TYPE t_array_source_66 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_PO_ENTITY_CODE%TYPE INDEX BY BINARY_INTEGER;
153255 TYPE t_array_source_67 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_PO_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
153256 TYPE t_array_source_68 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_PO_DOC_ID%TYPE INDEX BY BINARY_INTEGER;
153257 TYPE t_array_source_69 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_INVOICE_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
153258 TYPE t_array_source_70 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_ENC_CR_CCID%TYPE INDEX BY BINARY_INTEGER;
153259 TYPE t_array_source_71 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_ENC_CR_AMT%TYPE INDEX BY BINARY_INTEGER;
153260 TYPE t_array_source_73 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_ENC_CR_BASE_AMT%TYPE INDEX BY BINARY_INTEGER;
153261 TYPE t_array_source_74 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_ENC_DR_CCID%TYPE INDEX BY BINARY_INTEGER;
153262 TYPE t_array_source_75 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_ENC_DR_AMT%TYPE INDEX BY BINARY_INTEGER;
153263 TYPE t_array_source_76 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_ENC_DR_BASE_AMT%TYPE INDEX BY BINARY_INTEGER;
153264 TYPE t_array_source_77 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_AP_ENCUM_OPTION%TYPE INDEX BY BINARY_INTEGER;
153265 TYPE t_array_source_78 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_AMOUNT%TYPE INDEX BY BINARY_INTEGER;
153266 TYPE t_array_source_79 IS TABLE OF AP_PO_HEADERS_EXTRACT_V.POH_RATE_DATE%TYPE INDEX BY BINARY_INTEGER;
153267 TYPE t_array_source_80 IS TABLE OF AP_PO_HEADERS_EXTRACT_V.POH_RATE%TYPE INDEX BY BINARY_INTEGER;
153268 TYPE t_array_source_81 IS TABLE OF AP_PO_HEADERS_EXTRACT_V.POH_RATE_TYPE%TYPE INDEX BY BINARY_INTEGER;
153269 TYPE t_array_source_82 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.DEFERRED_END_DATE%TYPE INDEX BY BINARY_INTEGER;
153270 TYPE t_array_source_83 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.DEFERRED_OPTION%TYPE INDEX BY BINARY_INTEGER;
153271 TYPE t_array_source_84 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.DEFERRED_START_DATE%TYPE INDEX BY BINARY_INTEGER;
153272 TYPE t_array_source_85 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.OVERRIDE_ACCTD_AMT_FLAG%TYPE INDEX BY BINARY_INTEGER;
153273 TYPE t_array_source_89 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_PARENT_REVERSAL_ID%TYPE INDEX BY BINARY_INTEGER;
153274 TYPE t_array_source_90 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_STAT_AMOUNT%TYPE INDEX BY BINARY_INTEGER;
153275 TYPE t_array_source_91 IS TABLE OF ZX_AP_DEF_TAX_EXTRACT_V.TAX_LINE_ID%TYPE INDEX BY BINARY_INTEGER;
153276 TYPE t_array_source_92 IS TABLE OF ZX_AP_TAX_JRNL_LINE_DESC_V.REC_NREC_TAX_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
153277 TYPE t_array_source_93 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.SUMMARY_TAX_LINE_ID%TYPE INDEX BY BINARY_INTEGER;
153278 TYPE t_array_source_94 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_CR_ENC_TYPE_ID%TYPE INDEX BY BINARY_INTEGER;
153279 TYPE t_array_source_95 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_DR_ENC_TYPE_ID%TYPE INDEX BY BINARY_INTEGER;
153280 TYPE t_array_source_96 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_AP_APP_ID%TYPE INDEX BY BINARY_INTEGER;
153281 TYPE t_array_source_97 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_INV_DIST_TYPE%TYPE INDEX BY BINARY_INTEGER;
153282 TYPE t_array_source_98 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_INV_ENTITY_CODE%TYPE INDEX BY BINARY_INTEGER;
153283 TYPE t_array_source_99 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_INV_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
153284 TYPE t_array_source_100 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_INV_ID%TYPE INDEX BY BINARY_INTEGER;
153285 TYPE t_array_source_145 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.SELF_ASSESSED_TAX_FLAG%TYPE INDEX BY BINARY_INTEGER;
153286
153287 l_array_source_10 t_array_source_10;
153288 l_array_source_10_meaning t_array_lookup_meaning;
153289 l_array_source_15 t_array_source_15;
153290 l_array_source_18 t_array_source_18;
153291 l_array_source_29 t_array_source_29;
153292 l_array_source_35 t_array_source_35;
153293 l_array_source_43 t_array_source_43;
153294 l_array_source_43_meaning t_array_lookup_meaning;
153295 l_array_source_63 t_array_source_63;
153296 l_array_source_72 t_array_source_72;
153297 l_array_source_86 t_array_source_86;
153301 l_array_source_147 t_array_source_147;
153298 l_array_source_87 t_array_source_87;
153299 l_array_source_88 t_array_source_88;
153300 l_array_source_146 t_array_source_146;
153302 l_array_source_148 t_array_source_148;
153303 l_array_source_167 t_array_source_167;
153304 l_array_source_167_meaning t_array_lookup_meaning;
153305 l_array_source_171 t_array_source_171;
153306 l_array_source_172 t_array_source_172;
153307 l_array_source_173 t_array_source_173;
153308
153309 l_array_source_1 t_array_source_1;
153310 l_array_source_16 t_array_source_16;
153311 l_array_source_17 t_array_source_17;
153312 l_array_source_17_meaning t_array_lookup_meaning;
153313 l_array_source_25 t_array_source_25;
153314 l_array_source_28 t_array_source_28;
153315 l_array_source_28_meaning t_array_lookup_meaning;
153316 l_array_source_38 t_array_source_38;
153317 l_array_source_39 t_array_source_39;
153318 l_array_source_46 t_array_source_46;
153319 l_array_source_47 t_array_source_47;
153320 l_array_source_54 t_array_source_54;
153321 l_array_source_54_meaning t_array_lookup_meaning;
153322 l_array_source_58 t_array_source_58;
153323 l_array_source_60 t_array_source_60;
153324 l_array_source_62 t_array_source_62;
153325 l_array_source_64 t_array_source_64;
153326 l_array_source_65 t_array_source_65;
153327 l_array_source_66 t_array_source_66;
153328 l_array_source_67 t_array_source_67;
153329 l_array_source_68 t_array_source_68;
153330 l_array_source_69 t_array_source_69;
153331 l_array_source_70 t_array_source_70;
153332 l_array_source_71 t_array_source_71;
153333 l_array_source_73 t_array_source_73;
153334 l_array_source_74 t_array_source_74;
153335 l_array_source_75 t_array_source_75;
153336 l_array_source_76 t_array_source_76;
153337 l_array_source_77 t_array_source_77;
153338 l_array_source_78 t_array_source_78;
153339 l_array_source_79 t_array_source_79;
153340 l_array_source_80 t_array_source_80;
153341 l_array_source_81 t_array_source_81;
153342 l_array_source_82 t_array_source_82;
153343 l_array_source_83 t_array_source_83;
153344 l_array_source_84 t_array_source_84;
153345 l_array_source_85 t_array_source_85;
153346 l_array_source_85_meaning t_array_lookup_meaning;
153347 l_array_source_89 t_array_source_89;
153348 l_array_source_90 t_array_source_90;
153349 l_array_source_91 t_array_source_91;
153350 l_array_source_92 t_array_source_92;
153351 l_array_source_93 t_array_source_93;
153352 l_array_source_94 t_array_source_94;
153353 l_array_source_95 t_array_source_95;
153354 l_array_source_96 t_array_source_96;
153355 l_array_source_97 t_array_source_97;
153356 l_array_source_98 t_array_source_98;
153357 l_array_source_99 t_array_source_99;
153358 l_array_source_100 t_array_source_100;
153359 l_array_source_145 t_array_source_145;
153360 l_array_source_145_meaning t_array_lookup_meaning;
153361
153362 --
153363 CURSOR header_cur
153364 IS
153365 SELECT /*+ leading(xet) cardinality(xet,1) */
153366 -- Event Class Code: CREDIT MEMOS
153367 xet.entity_id
153368 ,xet.legal_entity_id
153369 ,xet.entity_code
153370 ,xet.transaction_number
153371 ,xet.event_id
153372 ,xet.event_class_code
153373 ,xet.event_type_code
153374 ,xet.event_number
153375 ,xet.event_date
153376 ,xet.transaction_date
153377 ,xet.reference_num_1
153378 ,xet.reference_num_2
153379 ,xet.reference_num_3
153380 ,xet.reference_num_4
153381 ,xet.reference_char_1
153382 ,xet.reference_char_2
153383 ,xet.reference_char_3
153384 ,xet.reference_char_4
153385 ,xet.reference_date_1
153386 ,xet.reference_date_2
153387 ,xet.reference_date_3
153388 ,xet.reference_date_4
153389 ,xet.event_created_by
153390 ,xet.budgetary_control_flag
153391 , h4.ASP_AUTOMATIC_OFFSETS_VALUE source_10
153392 , fvl10.meaning source_10_meaning
153393 , h4.ASP_RATE_VAR_GAIN_CCID source_15
153394 , h4.ASP_RATE_VAR_LOSS_CCID source_18
153395 , h2.AI_ACCTS_PAY_CCID source_29
153396 , h4.FSP_RETAINAGE_ACCOUNT source_35
153397 , h4.ASP_AUTO_OFFSET_FLAG source_43
153398 , fvl43.meaning source_43_meaning
153399 , h2.AI_INVOICE_ID source_63
153400 , h2.AI_INVOICE_CURRENCY_CODE source_72
153401 , h2.AI_VENDOR_ID source_86
153402 , h2.AI_VENDOR_SITE_ID source_87
153403 , h2.THIRD_PARTY_TYPE source_88
153404 , h2.INV_EXCHANGE_DATE source_146
153405 , h2.INV_EXCHANGE_RATE source_147
153406 , h2.INV_EXCHANGE_RATE_TYPE source_148
153407 , h2.AI_INVOICE_TYPE_LOOKUP_CODE source_167
153408 , fvl167.meaning source_167_meaning
153409 , h2.INV_DOC_SEQUENCE_CATEGORY source_171
153410 , h2.INV_DOC_SEQUENCE_IDENTIFIER source_172
153411 , h2.INV_DOC_SEQUENCE_VALUE source_173
153412 FROM xla_events_gt xet
153413 , AP_INVOICE_EXTRACT_HEADER_V h2
153414 , AP_SYSTEM_PARAMETERS_EXTRACT_V h4
153415 , fnd_lookup_values fvl10
153416 , fnd_lookup_values fvl43
153417 , fnd_lookup_values fvl167
153418 WHERE xet.event_date between p_pad_start_date and p_pad_end_date
153419 and xet.event_class_code = C_EVENT_CLASS_CODE
153420 and xet.event_status_code <> 'N' AND h2.event_id = xet.event_id
153421 AND h4.asp_org_id = h2.ai_org_id AND fvl10.lookup_type(+) = 'LIABILITY FLEXBUILD METHOD'
153422 AND fvl10.lookup_code(+) = h4.ASP_AUTOMATIC_OFFSETS_VALUE
153423 AND fvl10.view_application_id(+) = 200
153424 AND fvl10.language(+) = USERENV('LANG')
153425 AND fvl43.lookup_type(+) = 'YES_NO'
153426 AND fvl43.lookup_code(+) = h4.ASP_AUTO_OFFSET_FLAG
153427 AND fvl43.view_application_id(+) = 0
153428 AND fvl43.language(+) = USERENV('LANG')
153432 AND fvl167.language(+) = USERENV('LANG')
153429 AND fvl167.lookup_type(+) = 'INVOICE TYPE'
153430 AND fvl167.lookup_code(+) = h2.AI_INVOICE_TYPE_LOOKUP_CODE
153431 AND fvl167.view_application_id(+) = 200
153433
153434 ORDER BY event_id
153435 ;
153436
153437
153438 --
153439 CURSOR line_cur (x_first_event_id in number, x_last_event_id in number)
153440 IS
153441 SELECT /*+ leading(xet) cardinality(xet,1) */
153442 -- Event Class Code: CREDIT MEMOS
153443 xet.entity_id
153444 ,xet.legal_entity_id
153445 ,xet.entity_code
153446 ,xet.transaction_number
153447 ,xet.event_id
153448 ,xet.event_class_code
153449 ,xet.event_type_code
153450 ,xet.event_number
153451 ,xet.event_date
153452 ,xet.transaction_date
153453 ,xet.reference_num_1
153454 ,xet.reference_num_2
153455 ,xet.reference_num_3
153456 ,xet.reference_num_4
153457 ,xet.reference_char_1
153458 ,xet.reference_char_2
153459 ,xet.reference_char_3
153460 ,xet.reference_char_4
153461 ,xet.reference_date_1
153462 ,xet.reference_date_2
153463 ,xet.reference_date_3
153464 ,xet.reference_date_4
153465 ,xet.event_created_by
153466 ,xet.budgetary_control_flag
153467 , l1.LINE_NUMBER
153468 , l1.AID_DESCRIPTION source_1
153469 , l1.INV_DIST_BASE_AMOUNT source_16
153470 , l1.RELATED_INV_DIST_DEST_TYPE source_17
153471 , fvl17.meaning source_17_meaning
153472 , l1.AID_DIST_CCID source_25
153473 , l1.AID_LINE_TYPE_LOOKUP_CODE source_28
153474 , fvl28.meaning source_28_meaning
153475 , l1.AID_RET_RELATED_DIST_CCID source_38
153476 , l1.AWT_RELATED_DIST_ACCOUNT source_39
153477 , l1.SELF_ASSESSED_TAX_ACCOUNT source_46
153478 , l1.ASAT_LIAB_CCID source_47
153479 , l1.POD_ACCRUE_ON_RECEIPT_FLAG source_54
153480 , fvl54.meaning source_54_meaning
153481 , l1.DIST_ACCOUNT_REVERSAL_OPTION source_58
153482 , l1.DISTRIBUTION_LINK_TYPE source_60
153483 , l1.ALLOC_TO_MAIN_DIST_ID source_62
153484 , l1.BUS_FLOW_PO_APP_ID source_64
153485 , l1.BUS_FLOW_PO_DIST_TYPE source_65
153486 , l1.BUS_FLOW_PO_ENTITY_CODE source_66
153487 , l1.BUS_FLOW_PO_DIST_ID source_67
153488 , l1.BUS_FLOW_PO_DOC_ID source_68
153489 , l1.AID_INVOICE_DIST_ID source_69
153490 , l1.UPG_ENC_CR_CCID source_70
153491 , l1.UPG_ENC_CR_AMT source_71
153492 , l1.UPG_ENC_CR_BASE_AMT source_73
153493 , l1.UPG_ENC_DR_CCID source_74
153494 , l1.UPG_ENC_DR_AMT source_75
153495 , l1.UPG_ENC_DR_BASE_AMT source_76
153496 , l1.UPG_AP_ENCUM_OPTION source_77
153497 , l1.AID_AMOUNT source_78
153498 , l3.POH_RATE_DATE source_79
153499 , l3.POH_RATE source_80
153500 , l3.POH_RATE_TYPE source_81
153501 , l1.DEFERRED_END_DATE source_82
153502 , l1.DEFERRED_OPTION source_83
153503 , l1.DEFERRED_START_DATE source_84
153504 , l1.OVERRIDE_ACCTD_AMT_FLAG source_85
153505 , fvl85.meaning source_85_meaning
153506 , l1.AID_PARENT_REVERSAL_ID source_89
153507 , l1.AID_STAT_AMOUNT source_90
153508 , l5.TAX_LINE_ID source_91
153509 , l6.REC_NREC_TAX_DIST_ID source_92
153510 , l1.SUMMARY_TAX_LINE_ID source_93
153511 , l1.UPG_CR_ENC_TYPE_ID source_94
153512 , l1.UPG_DR_ENC_TYPE_ID source_95
153513 , l1.BUS_FLOW_AP_APP_ID source_96
153514 , l1.BUS_FLOW_INV_DIST_TYPE source_97
153515 , l1.BUS_FLOW_INV_ENTITY_CODE source_98
153516 , l1.BUS_FLOW_INV_DIST_ID source_99
153517 , l1.BUS_FLOW_INV_ID source_100
153518 , l1.SELF_ASSESSED_TAX_FLAG source_145
153519 , fvl145.meaning source_145_meaning
153520 FROM xla_events_gt xet
153521 , AP_INVOICE_EXTRACT_DETAILS_V l1
153522 , AP_PO_HEADERS_EXTRACT_V l3
153523 , ZX_AP_DEF_TAX_EXTRACT_V l5
153524 , ZX_AP_TAX_JRNL_LINE_DESC_V l6
153525 , fnd_lookup_values fvl17
153526 , fnd_lookup_values fvl28
153527 , fnd_lookup_values fvl54
153528 , fnd_lookup_values fvl85
153529 , fnd_lookup_values fvl145
153530 WHERE xet.event_id between x_first_event_id and x_last_event_id
153531 and xet.event_date between p_pad_start_date and p_pad_end_date
153532 and xet.event_class_code = C_EVENT_CLASS_CODE
153533 and xet.event_status_code <> 'N' AND l1.event_id = xet.event_id
153534 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 fvl17.lookup_type(+) = 'DESTINATION TYPE'
153535 AND fvl17.lookup_code(+) = l1.RELATED_INV_DIST_DEST_TYPE
153536 AND fvl17.view_application_id(+) = 201
153537 AND fvl17.language(+) = USERENV('LANG')
153538 AND fvl28.lookup_type(+) = 'INVOICE DISTRIBUTION TYPE'
153539 AND fvl28.lookup_code(+) = l1.AID_LINE_TYPE_LOOKUP_CODE
153540 AND fvl28.view_application_id(+) = 200
153541 AND fvl28.language(+) = USERENV('LANG')
153542 AND fvl54.lookup_type(+) = 'YES_NO'
153543 AND fvl54.lookup_code(+) = l1.POD_ACCRUE_ON_RECEIPT_FLAG
153544 AND fvl54.view_application_id(+) = 0
153545 AND fvl54.language(+) = USERENV('LANG')
153546 AND fvl85.lookup_type(+) = 'YES_NO'
153547 AND fvl85.lookup_code(+) = l1.OVERRIDE_ACCTD_AMT_FLAG
153548 AND fvl85.view_application_id(+) = 0
153549 AND fvl85.language(+) = USERENV('LANG')
153550 AND fvl145.lookup_type(+) = 'YES_NO'
153551 AND fvl145.lookup_code(+) = l1.SELF_ASSESSED_TAX_FLAG
153552 AND fvl145.view_application_id(+) = 0
153553 AND fvl145.language(+) = USERENV('LANG')
153554 ;
153555
153556 --
153557 BEGIN
153558 IF g_log_enabled THEN
153559 l_log_module := C_DEFAULT_MODULE||'.EventClass_248';
153560 END IF;
153561 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
153562 trace
153563 (p_msg => 'BEGIN of EventClass_248'
153564 ,p_level => C_LEVEL_PROCEDURE
153568 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
153565 ,p_module => l_log_module);
153566 END IF;
153567
153569 trace
153570 (p_msg => 'p_application_id = '||p_application_id||
153571 ' - p_base_ledger_id = '||p_base_ledger_id||
153572 ' - p_target_ledger_id = '||p_target_ledger_id||
153573 ' - p_language = '||p_language||
153574 ' - p_currency_code = '||p_currency_code||
153575 ' - p_sla_ledger_id = '||p_sla_ledger_id
153576 ,p_level => C_LEVEL_STATEMENT
153577 ,p_module => l_log_module);
153578 END IF;
153579 --
153580 -- initialze arrays
153581 --
153582 g_array_event.DELETE;
153583 l_rec_array_event := l_null_rec_array_event;
153584 --
153585 --------------------------------------
153586 -- 4262811 Initialze MPA Line Number
153587 --------------------------------------
153588 XLA_AE_HEADER_PKG.g_mpa_line_num := 0;
153589
153590 --
153591
153592 --
153593 OPEN header_cur;
153594 --
153595 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
153596 trace
153597 (p_msg => 'SQL - FETCH header_cur'
153598 ,p_level => C_LEVEL_STATEMENT
153599 ,p_module => l_log_module);
153600 END IF;
153601 --
153602 LOOP
153603 FETCH header_cur BULK COLLECT INTO
153604 l_array_entity_id
153605 , l_array_legal_entity_id
153606 , l_array_entity_code
153607 , l_array_transaction_num
153608 , l_array_event_id
153609 , l_array_class_code
153610 , l_array_event_type
153611 , l_array_event_number
153612 , l_array_event_date
153613 , l_array_transaction_date
153614 , l_array_reference_num_1
153615 , l_array_reference_num_2
153616 , l_array_reference_num_3
153617 , l_array_reference_num_4
153618 , l_array_reference_char_1
153619 , l_array_reference_char_2
153620 , l_array_reference_char_3
153621 , l_array_reference_char_4
153622 , l_array_reference_date_1
153623 , l_array_reference_date_2
153624 , l_array_reference_date_3
153625 , l_array_reference_date_4
153626 , l_array_event_created_by
153627 , l_array_budgetary_control_flag
153628 , l_array_source_10
153629 , l_array_source_10_meaning
153630 , l_array_source_15
153631 , l_array_source_18
153632 , l_array_source_29
153633 , l_array_source_35
153634 , l_array_source_43
153635 , l_array_source_43_meaning
153636 , l_array_source_63
153637 , l_array_source_72
153638 , l_array_source_86
153639 , l_array_source_87
153640 , l_array_source_88
153641 , l_array_source_146
153642 , l_array_source_147
153643 , l_array_source_148
153644 , l_array_source_167
153645 , l_array_source_167_meaning
153646 , l_array_source_171
153647 , l_array_source_172
153648 , l_array_source_173
153649 LIMIT l_rows;
153650 --
153651 IF (C_LEVEL_EVENT >= g_log_level) THEN
153652 trace
153653 (p_msg => '# rows extracted from header extract objects = '||TO_CHAR(header_cur%ROWCOUNT)
153654 ,p_level => C_LEVEL_EVENT
153655 ,p_module => l_log_module);
153656 END IF;
153657 --
153658 EXIT WHEN l_array_entity_id.COUNT = 0;
153659
153660 -- initialize arrays
153661 XLA_AE_HEADER_PKG.g_rec_header_new := NULL;
153662 XLA_AE_LINES_PKG.g_rec_lines := NULL;
153663
153664 --
153665 -- Bug 4458708
153666 --
153667 XLA_AE_LINES_PKG.g_LineNumber := 0;
153668
153669
153670 -- 4262811 - when creating Accrual Reversal or MPA, use g_last_hdr_idx to increment for next header id
153671 g_last_hdr_idx := l_array_event_id.LAST;
153672 --
153673 -- loop for the headers. Each iteration is for each header extract row
153674 -- fetched in header cursor
153675 --
153676 FOR hdr_idx IN l_array_event_id.FIRST .. l_array_event_id.LAST LOOP
153677
153678 --
153679 -- set event info as cache for other routines to refer event attributes
153680 --
153681 XLA_AE_JOURNAL_ENTRY_PKG.set_event_info
153682 (p_application_id => p_application_id
153683 ,p_primary_ledger_id => p_primary_ledger_id
153684 ,p_base_ledger_id => p_base_ledger_id
153685 ,p_target_ledger_id => p_target_ledger_id
153686 ,p_entity_id => l_array_entity_id(hdr_idx)
153687 ,p_legal_entity_id => l_array_legal_entity_id(hdr_idx)
153688 ,p_entity_code => l_array_entity_code(hdr_idx)
153689 ,p_transaction_num => l_array_transaction_num(hdr_idx)
153690 ,p_event_id => l_array_event_id(hdr_idx)
153691 ,p_event_class_code => l_array_class_code(hdr_idx)
153692 ,p_event_type_code => l_array_event_type(hdr_idx)
153693 ,p_event_number => l_array_event_number(hdr_idx)
153694 ,p_event_date => l_array_event_date(hdr_idx)
153695 ,p_transaction_date => l_array_transaction_date(hdr_idx)
153696 ,p_reference_num_1 => l_array_reference_num_1(hdr_idx)
153697 ,p_reference_num_2 => l_array_reference_num_2(hdr_idx)
153698 ,p_reference_num_3 => l_array_reference_num_3(hdr_idx)
153699 ,p_reference_num_4 => l_array_reference_num_4(hdr_idx)
153700 ,p_reference_char_1 => l_array_reference_char_1(hdr_idx)
153701 ,p_reference_char_2 => l_array_reference_char_2(hdr_idx)
153702 ,p_reference_char_3 => l_array_reference_char_3(hdr_idx)
153703 ,p_reference_char_4 => l_array_reference_char_4(hdr_idx)
153704 ,p_reference_date_1 => l_array_reference_date_1(hdr_idx)
153705 ,p_reference_date_2 => l_array_reference_date_2(hdr_idx)
153706 ,p_reference_date_3 => l_array_reference_date_3(hdr_idx)
153707 ,p_reference_date_4 => l_array_reference_date_4(hdr_idx)
153711 --
153708 ,p_event_created_by => l_array_event_created_by(hdr_idx)
153709 ,p_budgetary_control_flag => l_array_budgetary_control_flag(hdr_idx));
153710
153712 -- set the status of entry to C_VALID (0)
153713 --
153714 XLA_AE_JOURNAL_ENTRY_PKG.g_global_status := XLA_AE_JOURNAL_ENTRY_PKG.C_VALID;
153715
153716 --
153717 -- initialize a row for ae header
153718 --
153719 XLA_AE_HEADER_PKG.InitHeader(hdr_idx);
153720
153721 l_event_id := l_array_event_id(hdr_idx);
153722
153723 --
153724 -- storing the hdr_idx for event. May be used by line cursor.
153725 --
153726 g_array_event(l_event_id).array_value_num('header_index') := hdr_idx;
153727
153728 --
153729 -- store sources from header extract. This can be improved to
153730 -- store only those sources from header extract that may be used in lines
153731 --
153732
153733 g_array_event(l_event_id).array_value_char('source_10') := l_array_source_10(hdr_idx);
153734 g_array_event(l_event_id).array_value_char('source_10_meaning') := l_array_source_10_meaning(hdr_idx);
153735 g_array_event(l_event_id).array_value_num('source_15') := l_array_source_15(hdr_idx);
153736 g_array_event(l_event_id).array_value_num('source_18') := l_array_source_18(hdr_idx);
153737 g_array_event(l_event_id).array_value_num('source_29') := l_array_source_29(hdr_idx);
153738 g_array_event(l_event_id).array_value_num('source_35') := l_array_source_35(hdr_idx);
153739 g_array_event(l_event_id).array_value_char('source_43') := l_array_source_43(hdr_idx);
153740 g_array_event(l_event_id).array_value_char('source_43_meaning') := l_array_source_43_meaning(hdr_idx);
153741 g_array_event(l_event_id).array_value_num('source_63') := l_array_source_63(hdr_idx);
153742 g_array_event(l_event_id).array_value_char('source_72') := l_array_source_72(hdr_idx);
153743 g_array_event(l_event_id).array_value_num('source_86') := l_array_source_86(hdr_idx);
153744 g_array_event(l_event_id).array_value_num('source_87') := l_array_source_87(hdr_idx);
153745 g_array_event(l_event_id).array_value_char('source_88') := l_array_source_88(hdr_idx);
153746 g_array_event(l_event_id).array_value_date('source_146') := l_array_source_146(hdr_idx);
153747 g_array_event(l_event_id).array_value_num('source_147') := l_array_source_147(hdr_idx);
153748 g_array_event(l_event_id).array_value_char('source_148') := l_array_source_148(hdr_idx);
153749 g_array_event(l_event_id).array_value_char('source_167') := l_array_source_167(hdr_idx);
153750 g_array_event(l_event_id).array_value_char('source_167_meaning') := l_array_source_167_meaning(hdr_idx);
153751 g_array_event(l_event_id).array_value_char('source_171') := l_array_source_171(hdr_idx);
153752 g_array_event(l_event_id).array_value_num('source_172') := l_array_source_172(hdr_idx);
153753 g_array_event(l_event_id).array_value_num('source_173') := l_array_source_173(hdr_idx);
153754
153755 --
153756 -- initilaize the status of ae headers for diffrent balance types
153757 -- the status is initialised to C_NOT_CREATED (2)
153758 --
153759 --g_array_event(l_event_id).array_value_num('actual_je_status') := XLA_AE_JOURNAL_ENTRY_PKG.C_NOT_CREATED;
153760 --g_array_event(l_event_id).array_value_num('budget_je_status') := XLA_AE_JOURNAL_ENTRY_PKG.C_NOT_CREATED;
153761 --g_array_event(l_event_id).array_value_num('encumbrance_je_status') := XLA_AE_JOURNAL_ENTRY_PKG.C_NOT_CREATED;
153762
153763 --
153764 -- call api to validate and store accounting attributes for header
153765 --
153766
153767 ------------------------------------------------------------
153768 -- Accrual Reversal : to get date for Standard Source (NONE)
153769 ------------------------------------------------------------
153770 l_acc_rev_gl_date_source := NULL;
153771
153772 l_rec_acct_attrs.array_acct_attr_code(1) := 'DOC_CATEGORY_CODE';
153773 l_rec_acct_attrs.array_char_value(1) := g_array_event(l_event_id).array_value_char('source_171');
153774 l_rec_acct_attrs.array_acct_attr_code(2) := 'DOC_SEQUENCE_ID';
153775 l_rec_acct_attrs.array_num_value(2) := g_array_event(l_event_id).array_value_num('source_172');
153776 l_rec_acct_attrs.array_acct_attr_code(3) := 'DOC_SEQUENCE_VALUE';
153777 l_rec_acct_attrs.array_num_value(3) := g_array_event(l_event_id).array_value_num('source_173');
153778 l_rec_acct_attrs.array_acct_attr_code(4) := 'GL_DATE';
153779 l_rec_acct_attrs.array_date_value(4) :=
153780 xla_ae_sources_pkg.GetSystemSourceDate(
153781 p_source_code => 'XLA_EVENT_DATE'
153782 , p_source_type_code => 'Y'
153783 , p_source_application_id => 602
153784 );
153785
153786
153787 XLA_AE_HEADER_PKG.SetHdrAcctAttrs(l_rec_acct_attrs);
153788
153789 XLA_AE_HEADER_PKG.SetJeCategoryName;
153790
153791 XLA_AE_HEADER_PKG.g_rec_header_new.array_event_type_code(hdr_idx) := l_array_event_type(hdr_idx);
153792 XLA_AE_HEADER_PKG.g_rec_header_new.array_event_id(hdr_idx) := l_array_event_id(hdr_idx);
153793 XLA_AE_HEADER_PKG.g_rec_header_new.array_entity_id(hdr_idx) := l_array_entity_id(hdr_idx);
153794 XLA_AE_HEADER_PKG.g_rec_header_new.array_event_number(hdr_idx) := l_array_event_number(hdr_idx);
153795 XLA_AE_HEADER_PKG.g_rec_header_new.array_target_ledger_id(hdr_idx) := p_target_ledger_id;
153796
153797
153798 --
153799 xla_ae_header_pkg.SetHdrDescription(
153800 p_description => Description_1 (
153801 p_application_id => p_application_id
153802 )
153803 );
153804 --
153805
153806 -- No header level analytical criteria
153807
153808 --
153809 --accounting attribute enhancement, bug 3612931
153810 --
153811 l_trx_reversal_source := SUBSTR(NULL, 1,30);
153812
153813 IF NVL(l_trx_reversal_source, 'N') NOT IN ('N','Y') THEN
153814 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
153815
153816 xla_accounting_err_pkg.build_message
153817 (p_appli_s_name => 'XLA'
153818 ,p_msg_name => 'XLA_AP_INVALID_HDR_ATTR'
153819 ,p_token_1 => 'ACCT_ATTR_NAME'
153820 ,p_value_1 => xla_ae_sources_pkg.GetAccountingSourceName('TRX_ACCT_REVERSAL_OPTION')
153821 ,p_token_2 => 'PRODUCT_NAME'
153825 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id);
153822 ,p_value_2 => xla_ae_journal_entry_pkg.g_cache_event.application_name
153823 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
153824 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
153826
153827 ELSIF NVL(l_trx_reversal_source, 'N') = 'Y' THEN
153828 --
153829 -- following sets the accounting attributes needed to reverse
153830 -- accounting for a distributeion
153831 --
153832 xla_ae_lines_pkg.SetTrxReversalAttrs
153833 (p_event_id => l_event_id
153834 ,p_gl_date => XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(hdr_idx)
153835 ,p_trx_reversal_source => l_trx_reversal_source);
153836
153837 END IF;
153838
153839
153840 ----------------------------------------------------------------
153841 -- 4262811 - update the header statuses to invalid in need be
153842 ----------------------------------------------------------------
153843 --
153844 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus (p_hdr_idx => hdr_idx);
153845
153846
153847 -----------------------------------------------
153848 -- No accrual reversal for the event class/type
153849 -----------------------------------------------
153850 ----------------------------------------------------------------
153851
153852 --
153853 -- this ends the header loop iteration for one bulk fetch
153854 --
153855 END LOOP;
153856
153857 l_first_event_id := l_array_event_id(l_array_event_id.FIRST);
153858 l_last_event_id := l_array_event_id(l_array_event_id.LAST);
153859
153860 --
153861 -- insert dummy rows into lines gt table that were created due to
153862 -- transaction reversals
153863 --
153864 IF XLA_AE_LINES_PKG.g_rec_lines.array_ae_header_id.COUNT > 0 THEN
153865 l_result := XLA_AE_LINES_PKG.InsertLines;
153866 END IF;
153867
153868 --
153869 -- reset the temp_line_num for each set of events fetched from header
153870 -- cursor rather than doing it for each new event in line cursor
153871 -- Bug 3939231
153872 --
153873 xla_ae_lines_pkg.g_temp_line_num := 0;
153874
153875
153876
153877 --
153878 OPEN line_cur(x_first_event_id => l_first_event_id, x_last_event_id => l_last_event_id);
153879 --
153880 --
153881 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
153882
153883 trace
153884 (p_msg => 'SQL - FETCH line_cur'
153885 ,p_level => C_LEVEL_STATEMENT
153886 ,p_module => l_log_module);
153887
153888 END IF;
153889 --
153890 --
153891 LOOP
153892 --
153893 FETCH line_cur BULK COLLECT INTO
153894 l_array_entity_id
153895 , l_array_legal_entity_id
153896 , l_array_entity_code
153897 , l_array_transaction_num
153898 , l_array_event_id
153899 , l_array_class_code
153900 , l_array_event_type
153901 , l_array_event_number
153902 , l_array_event_date
153903 , l_array_transaction_date
153904 , l_array_reference_num_1
153905 , l_array_reference_num_2
153906 , l_array_reference_num_3
153907 , l_array_reference_num_4
153908 , l_array_reference_char_1
153909 , l_array_reference_char_2
153910 , l_array_reference_char_3
153911 , l_array_reference_char_4
153912 , l_array_reference_date_1
153913 , l_array_reference_date_2
153914 , l_array_reference_date_3
153915 , l_array_reference_date_4
153916 , l_array_event_created_by
153917 , l_array_budgetary_control_flag
153918 , l_array_extract_line_num
153919 , l_array_source_1
153920 , l_array_source_16
153921 , l_array_source_17
153922 , l_array_source_17_meaning
153923 , l_array_source_25
153924 , l_array_source_28
153925 , l_array_source_28_meaning
153926 , l_array_source_38
153927 , l_array_source_39
153928 , l_array_source_46
153929 , l_array_source_47
153930 , l_array_source_54
153931 , l_array_source_54_meaning
153932 , l_array_source_58
153933 , l_array_source_60
153934 , l_array_source_62
153935 , l_array_source_64
153936 , l_array_source_65
153937 , l_array_source_66
153938 , l_array_source_67
153939 , l_array_source_68
153940 , l_array_source_69
153941 , l_array_source_70
153942 , l_array_source_71
153943 , l_array_source_73
153944 , l_array_source_74
153945 , l_array_source_75
153946 , l_array_source_76
153947 , l_array_source_77
153948 , l_array_source_78
153949 , l_array_source_79
153950 , l_array_source_80
153951 , l_array_source_81
153952 , l_array_source_82
153953 , l_array_source_83
153954 , l_array_source_84
153955 , l_array_source_85
153956 , l_array_source_85_meaning
153957 , l_array_source_89
153958 , l_array_source_90
153959 , l_array_source_91
153960 , l_array_source_92
153961 , l_array_source_93
153962 , l_array_source_94
153963 , l_array_source_95
153964 , l_array_source_96
153965 , l_array_source_97
153966 , l_array_source_98
153967 , l_array_source_99
153968 , l_array_source_100
153969 , l_array_source_145
153970 , l_array_source_145_meaning
153971 LIMIT l_rows;
153972
153973 --
153974 IF (C_LEVEL_EVENT >= g_log_level) THEN
153975 trace
153976 (p_msg => '# rows extracted from line extract objects = '||TO_CHAR(line_cur%ROWCOUNT)
153977 ,p_level => C_LEVEL_EVENT
153978 ,p_module => l_log_module);
153979 END IF;
153980 --
153981 EXIT WHEN l_array_entity_id.count = 0;
153985 --
153982
153983 XLA_AE_LINES_PKG.g_rec_lines := null;
153984
153986 -- Bug 4458708
153987 --
153988 XLA_AE_LINES_PKG.g_LineNumber := 0;
153989 --
153990 --
153991
153992 FOR Idx IN 1..l_array_event_id.count LOOP
153993 --
153994 -- 5648433 (move l_event_id out of IF statement) set l_event_id to be used inside IF condition
153995 --
153996 l_event_id := l_array_event_id(idx); -- 5648433
153997
153998 --
153999 -- Bug 4872078 - Do nothing if the event is meant for transaction reversal
154000 --
154001
154002 IF NVL(xla_ae_header_pkg.g_rec_header_new.array_trx_acct_reversal_option
154003 (g_array_event(l_event_id).array_value_num('header_index'))
154004 ,'N'
154005 ) <> 'Y'
154006 THEN
154007 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
154008 trace
154009 (p_msg => 'Trancaction revesal option is not Y '
154010 ,p_level => C_LEVEL_STATEMENT
154011 ,p_module => l_log_module);
154012 END IF;
154013
154014 --
154015 -- set the XLA_AE_JOURNAL_ENTRY_PKG.g_global_status to C_VALID (0)
154016 --
154017 XLA_AE_JOURNAL_ENTRY_PKG.g_global_status := XLA_AE_JOURNAL_ENTRY_PKG.C_VALID;
154018 --
154019 -- set event info as cache for other routines to refer event attributes
154020 --
154021
154022 IF l_event_id <> NVL(l_previous_event_id, -1) THEN
154023 l_previous_event_id := l_event_id;
154024
154025 XLA_AE_JOURNAL_ENTRY_PKG.set_event_info
154026 (p_application_id => p_application_id
154027 ,p_primary_ledger_id => p_primary_ledger_id
154028 ,p_base_ledger_id => p_base_ledger_id
154029 ,p_target_ledger_id => p_target_ledger_id
154030 ,p_entity_id => l_array_entity_id(Idx)
154031 ,p_legal_entity_id => l_array_legal_entity_id(Idx)
154032 ,p_entity_code => l_array_entity_code(Idx)
154033 ,p_transaction_num => l_array_transaction_num(Idx)
154034 ,p_event_id => l_array_event_id(Idx)
154035 ,p_event_class_code => l_array_class_code(Idx)
154036 ,p_event_type_code => l_array_event_type(Idx)
154037 ,p_event_number => l_array_event_number(Idx)
154038 ,p_event_date => l_array_event_date(Idx)
154039 ,p_transaction_date => l_array_transaction_date(Idx)
154040 ,p_reference_num_1 => l_array_reference_num_1(Idx)
154041 ,p_reference_num_2 => l_array_reference_num_2(Idx)
154042 ,p_reference_num_3 => l_array_reference_num_3(Idx)
154043 ,p_reference_num_4 => l_array_reference_num_4(Idx)
154044 ,p_reference_char_1 => l_array_reference_char_1(Idx)
154045 ,p_reference_char_2 => l_array_reference_char_2(Idx)
154046 ,p_reference_char_3 => l_array_reference_char_3(Idx)
154047 ,p_reference_char_4 => l_array_reference_char_4(Idx)
154048 ,p_reference_date_1 => l_array_reference_date_1(Idx)
154049 ,p_reference_date_2 => l_array_reference_date_2(Idx)
154050 ,p_reference_date_3 => l_array_reference_date_3(Idx)
154051 ,p_reference_date_4 => l_array_reference_date_4(Idx)
154052 ,p_event_created_by => l_array_event_created_by(Idx)
154053 ,p_budgetary_control_flag => l_array_budgetary_control_flag(Idx));
154054 --
154055 END IF;
154056
154057
154058
154059 --
154060 xla_ae_lines_pkg.SetExtractLine(p_extract_line => l_array_extract_line_num(Idx));
154061
154062 l_acct_reversal_source := SUBSTR(l_array_source_58(Idx), 1,30);
154063
154064 IF l_continue_with_lines THEN
154065 IF NVL(l_acct_reversal_source, 'N') NOT IN ('N','Y','B') THEN
154066 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
154067
154068 xla_accounting_err_pkg.build_message
154069 (p_appli_s_name => 'XLA'
154070 ,p_msg_name => 'XLA_AP_INVALID_REVERSAL_OPTION'
154071 ,p_token_1 => 'LINE_NUMBER'
154072 ,p_value_1 => l_array_extract_line_num(Idx)
154073 ,p_token_2 => 'PRODUCT_NAME'
154074 ,p_value_2 => xla_ae_journal_entry_pkg.g_cache_event.application_name
154075 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
154076 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
154077 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id);
154078
154079 ELSIF NVL(l_acct_reversal_source, 'N') IN ('Y','B') THEN
154080 --
154081 -- following sets the accounting attributes needed to reverse
154082 -- accounting for a distributeion
154083 --
154084
154085 --
154086 -- 5217187
154087 --
154088 l_rec_rev_acct_attrs.array_acct_attr_code(1):= 'GL_DATE';
154089 l_rec_rev_acct_attrs.array_date_value(1) := XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(
154090 g_array_event(l_event_id).array_value_num('header_index'));
154091 --
154092 --
154093
154094 l_rec_rev_acct_attrs.array_acct_attr_code(2) := 'ACCOUNTING_REVERSAL_OPTION';
154095 l_rec_rev_acct_attrs.array_char_value(2) := l_array_source_58(Idx);
154096 l_rec_rev_acct_attrs.array_acct_attr_code(3) := 'DISTRIBUTION_IDENTIFIER_1';
154097 l_rec_rev_acct_attrs.array_num_value(3) := l_array_source_69(Idx);
154098 l_rec_rev_acct_attrs.array_acct_attr_code(4) := 'DISTRIBUTION_TYPE';
154099 l_rec_rev_acct_attrs.array_char_value(4) := l_array_source_60(Idx);
154100 l_rec_rev_acct_attrs.array_acct_attr_code(5) := 'ENC_UPG_CR_CCID';
154101 l_rec_rev_acct_attrs.array_num_value(5) := l_array_source_70(Idx);
154102 l_rec_rev_acct_attrs.array_acct_attr_code(6) := 'ENC_UPG_CR_ENTERED_AMT';
154103 l_rec_rev_acct_attrs.array_num_value(6) := l_array_source_71(Idx);
154107 l_rec_rev_acct_attrs.array_num_value(8) := l_array_source_73(Idx);
154104 l_rec_rev_acct_attrs.array_acct_attr_code(7) := 'ENC_UPG_CR_ENTERED_CURR';
154105 l_rec_rev_acct_attrs.array_char_value(7) := g_array_event(l_event_id).array_value_char('source_72');
154106 l_rec_rev_acct_attrs.array_acct_attr_code(8) := 'ENC_UPG_CR_LEDGER_AMT';
154108 l_rec_rev_acct_attrs.array_acct_attr_code(9) := 'ENC_UPG_DR_CCID';
154109 l_rec_rev_acct_attrs.array_num_value(9) := l_array_source_74(Idx);
154110 l_rec_rev_acct_attrs.array_acct_attr_code(10) := 'ENC_UPG_DR_ENTERED_AMT';
154111 l_rec_rev_acct_attrs.array_num_value(10) := l_array_source_75(Idx);
154112 l_rec_rev_acct_attrs.array_acct_attr_code(11) := 'ENC_UPG_DR_ENTERED_CURR';
154113 l_rec_rev_acct_attrs.array_char_value(11) := g_array_event(l_event_id).array_value_char('source_72');
154114 l_rec_rev_acct_attrs.array_acct_attr_code(12) := 'ENC_UPG_DR_LEDGER_AMT';
154115 l_rec_rev_acct_attrs.array_num_value(12) := l_array_source_76(Idx);
154116 l_rec_rev_acct_attrs.array_acct_attr_code(13) := 'ENC_UPG_OPTION';
154117 l_rec_rev_acct_attrs.array_char_value(13) := l_array_source_77(Idx);
154118 l_rec_rev_acct_attrs.array_acct_attr_code(14) := 'PARTY_TYPE';
154119 l_rec_rev_acct_attrs.array_char_value(14) := g_array_event(l_event_id).array_value_char('source_88');
154120 l_rec_rev_acct_attrs.array_acct_attr_code(15) := 'REVERSED_DISTRIBUTION_ID1';
154121 l_rec_rev_acct_attrs.array_num_value(15) := l_array_source_89(Idx);
154122 l_rec_rev_acct_attrs.array_acct_attr_code(16) := 'REVERSED_DISTRIBUTION_TYPE';
154123 l_rec_rev_acct_attrs.array_char_value(16) := l_array_source_60(Idx);
154124 l_rec_rev_acct_attrs.array_acct_attr_code(17) := 'TAX_LINE_REF_ID';
154125 l_rec_rev_acct_attrs.array_num_value(17) := l_array_source_91(Idx);
154126 l_rec_rev_acct_attrs.array_acct_attr_code(18) := 'TAX_REC_NREC_DIST_REF_ID';
154127 l_rec_rev_acct_attrs.array_num_value(18) := l_array_source_92(Idx);
154128 l_rec_rev_acct_attrs.array_acct_attr_code(19) := 'TAX_SUMMARY_LINE_REF_ID';
154129 l_rec_rev_acct_attrs.array_num_value(19) := l_array_source_93(Idx);
154130 l_rec_rev_acct_attrs.array_acct_attr_code(20) := 'UPG_CR_ENC_TYPE_ID';
154131 l_rec_rev_acct_attrs.array_num_value(20) := l_array_source_94(Idx);
154132 l_rec_rev_acct_attrs.array_acct_attr_code(21) := 'UPG_DR_ENC_TYPE_ID';
154133 l_rec_rev_acct_attrs.array_num_value(21) := l_array_source_95(Idx);
154134
154135
154136 xla_ae_lines_pkg.SetAcctReversalAttrs
154137 (p_event_id => l_event_id
154138 ,p_rec_acct_attrs => l_rec_rev_acct_attrs
154139 ,p_calculate_acctd_flag => l_calculate_acctd_flag
154140 ,p_calculate_g_l_flag => l_calculate_g_l_flag);
154141 END IF;
154142
154143 IF NVL(l_acct_reversal_source, 'N') IN ('N','B') THEN
154144 l_actual_flag := NULL; l_actual_gain_loss_ref := '#####';
154145
154146 --
154147 AcctLineType_56 (
154148 p_application_id => p_application_id
154149 ,p_event_id => l_event_id
154150 ,p_calculate_acctd_flag => l_calculate_acctd_flag
154151 ,p_calculate_g_l_flag => l_calculate_g_l_flag
154152 ,p_actual_flag => l_actual_flag
154153 ,p_balance_type_code => l_balance_type_code
154154 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
154155
154156 , p_source_1 => l_array_source_1(Idx)
154157 , p_source_16 => l_array_source_16(Idx)
154158 , p_source_25 => l_array_source_25(Idx)
154159 , p_source_28 => l_array_source_28(Idx)
154160 , p_source_28_meaning => l_array_source_28_meaning(Idx)
154161 , p_source_58 => l_array_source_58(Idx)
154162 , p_source_60 => l_array_source_60(Idx)
154163 , p_source_62 => l_array_source_62(Idx)
154164 , p_source_63 => g_array_event(l_event_id).array_value_num('source_63')
154165 , p_source_64 => l_array_source_64(Idx)
154166 , p_source_65 => l_array_source_65(Idx)
154167 , p_source_66 => l_array_source_66(Idx)
154168 , p_source_67 => l_array_source_67(Idx)
154169 , p_source_68 => l_array_source_68(Idx)
154170 , p_source_69 => l_array_source_69(Idx)
154171 , p_source_70 => l_array_source_70(Idx)
154172 , p_source_71 => l_array_source_71(Idx)
154173 , p_source_72 => g_array_event(l_event_id).array_value_char('source_72')
154174 , p_source_73 => l_array_source_73(Idx)
154175 , p_source_74 => l_array_source_74(Idx)
154176 , p_source_75 => l_array_source_75(Idx)
154177 , p_source_76 => l_array_source_76(Idx)
154178 , p_source_77 => l_array_source_77(Idx)
154179 , p_source_78 => l_array_source_78(Idx)
154180 , p_source_79 => l_array_source_79(Idx)
154181 , p_source_80 => l_array_source_80(Idx)
154182 , p_source_81 => l_array_source_81(Idx)
154183 , p_source_82 => l_array_source_82(Idx)
154184 , p_source_83 => l_array_source_83(Idx)
154185 , p_source_84 => l_array_source_84(Idx)
154186 , p_source_85 => l_array_source_85(Idx)
154187 , p_source_85_meaning => l_array_source_85_meaning(Idx)
154188 , p_source_86 => g_array_event(l_event_id).array_value_num('source_86')
154189 , p_source_87 => g_array_event(l_event_id).array_value_num('source_87')
154190 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
154191 , p_source_89 => l_array_source_89(Idx)
154192 , p_source_90 => l_array_source_90(Idx)
154193 , p_source_91 => l_array_source_91(Idx)
154194 , p_source_92 => l_array_source_92(Idx)
154195 , p_source_93 => l_array_source_93(Idx)
154196 , p_source_94 => l_array_source_94(Idx)
154197 , p_source_95 => l_array_source_95(Idx)
154198 );
154199 If(l_balance_type_code = 'A') THEN
154200 l_actual_gain_loss_ref := l_gain_or_loss_ref;
154201 END IF;
154202
154203 --
154204
154205
154206 --
154207 AcctLineType_60 (
154208 p_application_id => p_application_id
154209 ,p_event_id => l_event_id
154210 ,p_calculate_acctd_flag => l_calculate_acctd_flag
154211 ,p_calculate_g_l_flag => l_calculate_g_l_flag
154212 ,p_actual_flag => l_actual_flag
154213 ,p_balance_type_code => l_balance_type_code
154214 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
154215
154219 , p_source_15 => g_array_event(l_event_id).array_value_num('source_15')
154216 , p_source_1 => l_array_source_1(Idx)
154217 , p_source_10 => g_array_event(l_event_id).array_value_char('source_10')
154218 , p_source_10_meaning => g_array_event(l_event_id).array_value_char('source_10_meaning')
154220 , p_source_16 => l_array_source_16(Idx)
154221 , p_source_17 => l_array_source_17(Idx)
154222 , p_source_17_meaning => l_array_source_17_meaning(Idx)
154223 , p_source_18 => g_array_event(l_event_id).array_value_num('source_18')
154224 , p_source_25 => l_array_source_25(Idx)
154225 , p_source_28 => l_array_source_28(Idx)
154226 , p_source_28_meaning => l_array_source_28_meaning(Idx)
154227 , p_source_43 => g_array_event(l_event_id).array_value_char('source_43')
154228 , p_source_43_meaning => g_array_event(l_event_id).array_value_char('source_43_meaning')
154229 , p_source_58 => l_array_source_58(Idx)
154230 , p_source_60 => l_array_source_60(Idx)
154231 , p_source_62 => l_array_source_62(Idx)
154232 , p_source_63 => g_array_event(l_event_id).array_value_num('source_63')
154233 , p_source_69 => l_array_source_69(Idx)
154234 , p_source_70 => l_array_source_70(Idx)
154235 , p_source_71 => l_array_source_71(Idx)
154236 , p_source_72 => g_array_event(l_event_id).array_value_char('source_72')
154237 , p_source_73 => l_array_source_73(Idx)
154238 , p_source_74 => l_array_source_74(Idx)
154239 , p_source_75 => l_array_source_75(Idx)
154240 , p_source_76 => l_array_source_76(Idx)
154241 , p_source_77 => l_array_source_77(Idx)
154242 , p_source_82 => l_array_source_82(Idx)
154243 , p_source_83 => l_array_source_83(Idx)
154244 , p_source_84 => l_array_source_84(Idx)
154245 , p_source_85 => l_array_source_85(Idx)
154246 , p_source_85_meaning => l_array_source_85_meaning(Idx)
154247 , p_source_86 => g_array_event(l_event_id).array_value_num('source_86')
154248 , p_source_87 => g_array_event(l_event_id).array_value_num('source_87')
154249 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
154250 , p_source_89 => l_array_source_89(Idx)
154251 , p_source_90 => l_array_source_90(Idx)
154252 , p_source_91 => l_array_source_91(Idx)
154253 , p_source_92 => l_array_source_92(Idx)
154254 , p_source_93 => l_array_source_93(Idx)
154255 , p_source_94 => l_array_source_94(Idx)
154256 , p_source_95 => l_array_source_95(Idx)
154257 , p_source_96 => l_array_source_96(Idx)
154258 , p_source_97 => l_array_source_97(Idx)
154259 , p_source_98 => l_array_source_98(Idx)
154260 , p_source_99 => l_array_source_99(Idx)
154261 , p_source_100 => l_array_source_100(Idx)
154262 );
154263 If(l_balance_type_code = 'A') THEN
154264 l_actual_gain_loss_ref := l_gain_or_loss_ref;
154265 END IF;
154266
154267 --
154268
154269
154270 --
154271 AcctLineType_64 (
154272 p_application_id => p_application_id
154273 ,p_event_id => l_event_id
154274 ,p_calculate_acctd_flag => l_calculate_acctd_flag
154275 ,p_calculate_g_l_flag => l_calculate_g_l_flag
154276 ,p_actual_flag => l_actual_flag
154277 ,p_balance_type_code => l_balance_type_code
154278 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
154279
154280 , p_source_1 => l_array_source_1(Idx)
154281 , p_source_10 => g_array_event(l_event_id).array_value_char('source_10')
154282 , p_source_10_meaning => g_array_event(l_event_id).array_value_char('source_10_meaning')
154283 , p_source_15 => g_array_event(l_event_id).array_value_num('source_15')
154284 , p_source_16 => l_array_source_16(Idx)
154285 , p_source_17 => l_array_source_17(Idx)
154286 , p_source_17_meaning => l_array_source_17_meaning(Idx)
154287 , p_source_18 => g_array_event(l_event_id).array_value_num('source_18')
154288 , p_source_25 => l_array_source_25(Idx)
154289 , p_source_28 => l_array_source_28(Idx)
154290 , p_source_28_meaning => l_array_source_28_meaning(Idx)
154291 , p_source_43 => g_array_event(l_event_id).array_value_char('source_43')
154292 , p_source_43_meaning => g_array_event(l_event_id).array_value_char('source_43_meaning')
154293 , p_source_54 => l_array_source_54(Idx)
154294 , p_source_54_meaning => l_array_source_54_meaning(Idx)
154295 , p_source_58 => l_array_source_58(Idx)
154296 , p_source_60 => l_array_source_60(Idx)
154297 , p_source_62 => l_array_source_62(Idx)
154298 , p_source_63 => g_array_event(l_event_id).array_value_num('source_63')
154299 , p_source_69 => l_array_source_69(Idx)
154300 , p_source_70 => l_array_source_70(Idx)
154301 , p_source_71 => l_array_source_71(Idx)
154302 , p_source_72 => g_array_event(l_event_id).array_value_char('source_72')
154303 , p_source_73 => l_array_source_73(Idx)
154304 , p_source_74 => l_array_source_74(Idx)
154305 , p_source_75 => l_array_source_75(Idx)
154306 , p_source_76 => l_array_source_76(Idx)
154307 , p_source_77 => l_array_source_77(Idx)
154308 , p_source_82 => l_array_source_82(Idx)
154309 , p_source_83 => l_array_source_83(Idx)
154310 , p_source_84 => l_array_source_84(Idx)
154311 , p_source_85 => l_array_source_85(Idx)
154312 , p_source_85_meaning => l_array_source_85_meaning(Idx)
154313 , p_source_86 => g_array_event(l_event_id).array_value_num('source_86')
154314 , p_source_87 => g_array_event(l_event_id).array_value_num('source_87')
154315 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
154316 , p_source_89 => l_array_source_89(Idx)
154317 , p_source_90 => l_array_source_90(Idx)
154318 , p_source_91 => l_array_source_91(Idx)
154319 , p_source_92 => l_array_source_92(Idx)
154320 , p_source_93 => l_array_source_93(Idx)
154321 , p_source_94 => l_array_source_94(Idx)
154322 , p_source_95 => l_array_source_95(Idx)
154323 , p_source_96 => l_array_source_96(Idx)
154324 , p_source_97 => l_array_source_97(Idx)
154325 , p_source_98 => l_array_source_98(Idx)
154326 , p_source_99 => l_array_source_99(Idx)
154327 , p_source_100 => l_array_source_100(Idx)
154328 );
154329 If(l_balance_type_code = 'A') THEN
154330 l_actual_gain_loss_ref := l_gain_or_loss_ref;
154331 END IF;
154332
154333 --
154334
154335
154336 --
154337 AcctLineType_116 (
154338 p_application_id => p_application_id
154342 ,p_actual_flag => l_actual_flag
154339 ,p_event_id => l_event_id
154340 ,p_calculate_acctd_flag => l_calculate_acctd_flag
154341 ,p_calculate_g_l_flag => l_calculate_g_l_flag
154343 ,p_balance_type_code => l_balance_type_code
154344 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
154345
154346 , p_source_1 => l_array_source_1(Idx)
154347 , p_source_10 => g_array_event(l_event_id).array_value_char('source_10')
154348 , p_source_10_meaning => g_array_event(l_event_id).array_value_char('source_10_meaning')
154349 , p_source_15 => g_array_event(l_event_id).array_value_num('source_15')
154350 , p_source_16 => l_array_source_16(Idx)
154351 , p_source_17 => l_array_source_17(Idx)
154352 , p_source_17_meaning => l_array_source_17_meaning(Idx)
154353 , p_source_18 => g_array_event(l_event_id).array_value_num('source_18')
154354 , p_source_25 => l_array_source_25(Idx)
154355 , p_source_28 => l_array_source_28(Idx)
154356 , p_source_28_meaning => l_array_source_28_meaning(Idx)
154357 , p_source_43 => g_array_event(l_event_id).array_value_char('source_43')
154358 , p_source_43_meaning => g_array_event(l_event_id).array_value_char('source_43_meaning')
154359 , p_source_54 => l_array_source_54(Idx)
154360 , p_source_54_meaning => l_array_source_54_meaning(Idx)
154361 , p_source_58 => l_array_source_58(Idx)
154362 , p_source_60 => l_array_source_60(Idx)
154363 , p_source_62 => l_array_source_62(Idx)
154364 , p_source_63 => g_array_event(l_event_id).array_value_num('source_63')
154365 , p_source_69 => l_array_source_69(Idx)
154366 , p_source_70 => l_array_source_70(Idx)
154367 , p_source_71 => l_array_source_71(Idx)
154368 , p_source_72 => g_array_event(l_event_id).array_value_char('source_72')
154369 , p_source_73 => l_array_source_73(Idx)
154370 , p_source_74 => l_array_source_74(Idx)
154371 , p_source_75 => l_array_source_75(Idx)
154372 , p_source_76 => l_array_source_76(Idx)
154373 , p_source_77 => l_array_source_77(Idx)
154374 , p_source_78 => l_array_source_78(Idx)
154375 , p_source_82 => l_array_source_82(Idx)
154376 , p_source_83 => l_array_source_83(Idx)
154377 , p_source_84 => l_array_source_84(Idx)
154378 , p_source_85 => l_array_source_85(Idx)
154379 , p_source_85_meaning => l_array_source_85_meaning(Idx)
154380 , p_source_86 => g_array_event(l_event_id).array_value_num('source_86')
154381 , p_source_87 => g_array_event(l_event_id).array_value_num('source_87')
154382 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
154383 , p_source_89 => l_array_source_89(Idx)
154384 , p_source_90 => l_array_source_90(Idx)
154385 , p_source_91 => l_array_source_91(Idx)
154386 , p_source_92 => l_array_source_92(Idx)
154387 , p_source_93 => l_array_source_93(Idx)
154388 , p_source_94 => l_array_source_94(Idx)
154389 , p_source_95 => l_array_source_95(Idx)
154390 , p_source_96 => l_array_source_96(Idx)
154391 , p_source_97 => l_array_source_97(Idx)
154392 , p_source_98 => l_array_source_98(Idx)
154393 , p_source_99 => l_array_source_99(Idx)
154394 , p_source_100 => l_array_source_100(Idx)
154395 , p_source_146 => g_array_event(l_event_id).array_value_date('source_146')
154396 , p_source_147 => g_array_event(l_event_id).array_value_num('source_147')
154397 , p_source_148 => g_array_event(l_event_id).array_value_char('source_148')
154398 );
154399 If(l_balance_type_code = 'A') THEN
154400 l_actual_gain_loss_ref := l_gain_or_loss_ref;
154401 END IF;
154402
154403 --
154404
154405
154406 --
154407 AcctLineType_125 (
154408 p_application_id => p_application_id
154409 ,p_event_id => l_event_id
154410 ,p_calculate_acctd_flag => l_calculate_acctd_flag
154411 ,p_calculate_g_l_flag => l_calculate_g_l_flag
154412 ,p_actual_flag => l_actual_flag
154413 ,p_balance_type_code => l_balance_type_code
154414 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
154415
154416 , p_source_1 => l_array_source_1(Idx)
154417 , p_source_16 => l_array_source_16(Idx)
154418 , p_source_25 => l_array_source_25(Idx)
154419 , p_source_28 => l_array_source_28(Idx)
154420 , p_source_28_meaning => l_array_source_28_meaning(Idx)
154421 , p_source_58 => l_array_source_58(Idx)
154422 , p_source_60 => l_array_source_60(Idx)
154423 , p_source_62 => l_array_source_62(Idx)
154424 , p_source_63 => g_array_event(l_event_id).array_value_num('source_63')
154425 , p_source_69 => l_array_source_69(Idx)
154426 , p_source_70 => l_array_source_70(Idx)
154427 , p_source_71 => l_array_source_71(Idx)
154428 , p_source_72 => g_array_event(l_event_id).array_value_char('source_72')
154429 , p_source_73 => l_array_source_73(Idx)
154430 , p_source_74 => l_array_source_74(Idx)
154431 , p_source_75 => l_array_source_75(Idx)
154432 , p_source_76 => l_array_source_76(Idx)
154433 , p_source_77 => l_array_source_77(Idx)
154434 , p_source_78 => l_array_source_78(Idx)
154435 , p_source_82 => l_array_source_82(Idx)
154436 , p_source_83 => l_array_source_83(Idx)
154437 , p_source_84 => l_array_source_84(Idx)
154438 , p_source_85 => l_array_source_85(Idx)
154439 , p_source_85_meaning => l_array_source_85_meaning(Idx)
154440 , p_source_86 => g_array_event(l_event_id).array_value_num('source_86')
154441 , p_source_87 => g_array_event(l_event_id).array_value_num('source_87')
154442 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
154443 , p_source_89 => l_array_source_89(Idx)
154444 , p_source_90 => l_array_source_90(Idx)
154445 , p_source_91 => l_array_source_91(Idx)
154446 , p_source_92 => l_array_source_92(Idx)
154447 , p_source_93 => l_array_source_93(Idx)
154448 , p_source_94 => l_array_source_94(Idx)
154449 , p_source_95 => l_array_source_95(Idx)
154450 , p_source_96 => l_array_source_96(Idx)
154451 , p_source_97 => l_array_source_97(Idx)
154452 , p_source_98 => l_array_source_98(Idx)
154453 , p_source_99 => l_array_source_99(Idx)
154454 , p_source_100 => l_array_source_100(Idx)
154455 , p_source_146 => g_array_event(l_event_id).array_value_date('source_146')
154456 , p_source_147 => g_array_event(l_event_id).array_value_num('source_147')
154457 , p_source_148 => g_array_event(l_event_id).array_value_char('source_148')
154461 END IF;
154458 );
154459 If(l_balance_type_code = 'A') THEN
154460 l_actual_gain_loss_ref := l_gain_or_loss_ref;
154462
154463 --
154464
154465
154466 --
154467 AcctLineType_147 (
154468 p_application_id => p_application_id
154469 ,p_event_id => l_event_id
154470 ,p_calculate_acctd_flag => l_calculate_acctd_flag
154471 ,p_calculate_g_l_flag => l_calculate_g_l_flag
154472 ,p_actual_flag => l_actual_flag
154473 ,p_balance_type_code => l_balance_type_code
154474 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
154475
154476 , p_source_1 => l_array_source_1(Idx)
154477 , p_source_16 => l_array_source_16(Idx)
154478 , p_source_25 => l_array_source_25(Idx)
154479 , p_source_28 => l_array_source_28(Idx)
154480 , p_source_28_meaning => l_array_source_28_meaning(Idx)
154481 , p_source_54 => l_array_source_54(Idx)
154482 , p_source_54_meaning => l_array_source_54_meaning(Idx)
154483 , p_source_58 => l_array_source_58(Idx)
154484 , p_source_60 => l_array_source_60(Idx)
154485 , p_source_62 => l_array_source_62(Idx)
154486 , p_source_63 => g_array_event(l_event_id).array_value_num('source_63')
154487 , p_source_69 => l_array_source_69(Idx)
154488 , p_source_70 => l_array_source_70(Idx)
154489 , p_source_71 => l_array_source_71(Idx)
154490 , p_source_72 => g_array_event(l_event_id).array_value_char('source_72')
154491 , p_source_73 => l_array_source_73(Idx)
154492 , p_source_74 => l_array_source_74(Idx)
154493 , p_source_75 => l_array_source_75(Idx)
154494 , p_source_76 => l_array_source_76(Idx)
154495 , p_source_77 => l_array_source_77(Idx)
154496 , p_source_78 => l_array_source_78(Idx)
154497 , p_source_82 => l_array_source_82(Idx)
154498 , p_source_83 => l_array_source_83(Idx)
154499 , p_source_84 => l_array_source_84(Idx)
154500 , p_source_85 => l_array_source_85(Idx)
154501 , p_source_85_meaning => l_array_source_85_meaning(Idx)
154502 , p_source_86 => g_array_event(l_event_id).array_value_num('source_86')
154503 , p_source_87 => g_array_event(l_event_id).array_value_num('source_87')
154504 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
154505 , p_source_89 => l_array_source_89(Idx)
154506 , p_source_90 => l_array_source_90(Idx)
154507 , p_source_91 => l_array_source_91(Idx)
154508 , p_source_92 => l_array_source_92(Idx)
154509 , p_source_93 => l_array_source_93(Idx)
154510 , p_source_94 => l_array_source_94(Idx)
154511 , p_source_95 => l_array_source_95(Idx)
154512 , p_source_96 => l_array_source_96(Idx)
154513 , p_source_97 => l_array_source_97(Idx)
154514 , p_source_98 => l_array_source_98(Idx)
154515 , p_source_99 => l_array_source_99(Idx)
154516 , p_source_100 => l_array_source_100(Idx)
154517 , p_source_146 => g_array_event(l_event_id).array_value_date('source_146')
154518 , p_source_147 => g_array_event(l_event_id).array_value_num('source_147')
154519 , p_source_148 => g_array_event(l_event_id).array_value_char('source_148')
154520 );
154521 If(l_balance_type_code = 'A') THEN
154522 l_actual_gain_loss_ref := l_gain_or_loss_ref;
154523 END IF;
154524
154525 --
154526
154527
154528 --
154529 AcctLineType_151 (
154530 p_application_id => p_application_id
154531 ,p_event_id => l_event_id
154532 ,p_calculate_acctd_flag => l_calculate_acctd_flag
154533 ,p_calculate_g_l_flag => l_calculate_g_l_flag
154534 ,p_actual_flag => l_actual_flag
154535 ,p_balance_type_code => l_balance_type_code
154536 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
154537
154538 , p_source_1 => l_array_source_1(Idx)
154539 , p_source_16 => l_array_source_16(Idx)
154540 , p_source_25 => l_array_source_25(Idx)
154541 , p_source_28 => l_array_source_28(Idx)
154542 , p_source_28_meaning => l_array_source_28_meaning(Idx)
154543 , p_source_54 => l_array_source_54(Idx)
154544 , p_source_54_meaning => l_array_source_54_meaning(Idx)
154545 , p_source_58 => l_array_source_58(Idx)
154546 , p_source_60 => l_array_source_60(Idx)
154547 , p_source_62 => l_array_source_62(Idx)
154548 , p_source_63 => g_array_event(l_event_id).array_value_num('source_63')
154549 , p_source_69 => l_array_source_69(Idx)
154550 , p_source_70 => l_array_source_70(Idx)
154551 , p_source_71 => l_array_source_71(Idx)
154552 , p_source_72 => g_array_event(l_event_id).array_value_char('source_72')
154553 , p_source_73 => l_array_source_73(Idx)
154554 , p_source_74 => l_array_source_74(Idx)
154555 , p_source_75 => l_array_source_75(Idx)
154556 , p_source_76 => l_array_source_76(Idx)
154557 , p_source_77 => l_array_source_77(Idx)
154558 , p_source_78 => l_array_source_78(Idx)
154559 , p_source_82 => l_array_source_82(Idx)
154560 , p_source_83 => l_array_source_83(Idx)
154561 , p_source_84 => l_array_source_84(Idx)
154562 , p_source_85 => l_array_source_85(Idx)
154563 , p_source_85_meaning => l_array_source_85_meaning(Idx)
154564 , p_source_86 => g_array_event(l_event_id).array_value_num('source_86')
154565 , p_source_87 => g_array_event(l_event_id).array_value_num('source_87')
154566 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
154567 , p_source_89 => l_array_source_89(Idx)
154568 , p_source_90 => l_array_source_90(Idx)
154569 , p_source_91 => l_array_source_91(Idx)
154570 , p_source_92 => l_array_source_92(Idx)
154571 , p_source_93 => l_array_source_93(Idx)
154572 , p_source_94 => l_array_source_94(Idx)
154573 , p_source_95 => l_array_source_95(Idx)
154574 , p_source_96 => l_array_source_96(Idx)
154575 , p_source_97 => l_array_source_97(Idx)
154576 , p_source_98 => l_array_source_98(Idx)
154577 , p_source_99 => l_array_source_99(Idx)
154578 , p_source_100 => l_array_source_100(Idx)
154579 , p_source_146 => g_array_event(l_event_id).array_value_date('source_146')
154580 , p_source_147 => g_array_event(l_event_id).array_value_num('source_147')
154581 , p_source_148 => g_array_event(l_event_id).array_value_char('source_148')
154582 );
154583 If(l_balance_type_code = 'A') THEN
154584 l_actual_gain_loss_ref := l_gain_or_loss_ref;
154585 END IF;
154586
154587 --
154588
154589
154593 ,p_event_id => l_event_id
154590 --
154591 AcctLineType_157 (
154592 p_application_id => p_application_id
154594 ,p_calculate_acctd_flag => l_calculate_acctd_flag
154595 ,p_calculate_g_l_flag => l_calculate_g_l_flag
154596 ,p_actual_flag => l_actual_flag
154597 ,p_balance_type_code => l_balance_type_code
154598 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
154599
154600 , p_source_1 => l_array_source_1(Idx)
154601 , p_source_10 => g_array_event(l_event_id).array_value_char('source_10')
154602 , p_source_10_meaning => g_array_event(l_event_id).array_value_char('source_10_meaning')
154603 , p_source_16 => l_array_source_16(Idx)
154604 , p_source_29 => g_array_event(l_event_id).array_value_num('source_29')
154605 , p_source_58 => l_array_source_58(Idx)
154606 , p_source_60 => l_array_source_60(Idx)
154607 , p_source_62 => l_array_source_62(Idx)
154608 , p_source_63 => g_array_event(l_event_id).array_value_num('source_63')
154609 , p_source_69 => l_array_source_69(Idx)
154610 , p_source_70 => l_array_source_70(Idx)
154611 , p_source_71 => l_array_source_71(Idx)
154612 , p_source_72 => g_array_event(l_event_id).array_value_char('source_72')
154613 , p_source_73 => l_array_source_73(Idx)
154614 , p_source_74 => l_array_source_74(Idx)
154615 , p_source_75 => l_array_source_75(Idx)
154616 , p_source_76 => l_array_source_76(Idx)
154617 , p_source_77 => l_array_source_77(Idx)
154618 , p_source_78 => l_array_source_78(Idx)
154619 , p_source_82 => l_array_source_82(Idx)
154620 , p_source_83 => l_array_source_83(Idx)
154621 , p_source_84 => l_array_source_84(Idx)
154622 , p_source_85 => l_array_source_85(Idx)
154623 , p_source_85_meaning => l_array_source_85_meaning(Idx)
154624 , p_source_86 => g_array_event(l_event_id).array_value_num('source_86')
154625 , p_source_87 => g_array_event(l_event_id).array_value_num('source_87')
154626 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
154627 , p_source_89 => l_array_source_89(Idx)
154628 , p_source_90 => l_array_source_90(Idx)
154629 , p_source_91 => l_array_source_91(Idx)
154630 , p_source_92 => l_array_source_92(Idx)
154631 , p_source_93 => l_array_source_93(Idx)
154632 , p_source_94 => l_array_source_94(Idx)
154633 , p_source_95 => l_array_source_95(Idx)
154634 , p_source_96 => l_array_source_96(Idx)
154635 , p_source_97 => l_array_source_97(Idx)
154636 , p_source_98 => l_array_source_98(Idx)
154637 , p_source_99 => l_array_source_99(Idx)
154638 , p_source_100 => l_array_source_100(Idx)
154639 , p_source_145 => l_array_source_145(Idx)
154640 , p_source_145_meaning => l_array_source_145_meaning(Idx)
154641 , p_source_146 => g_array_event(l_event_id).array_value_date('source_146')
154642 , p_source_147 => g_array_event(l_event_id).array_value_num('source_147')
154643 , p_source_148 => g_array_event(l_event_id).array_value_char('source_148')
154644 );
154645 If(l_balance_type_code = 'A') THEN
154646 l_actual_gain_loss_ref := l_gain_or_loss_ref;
154647 END IF;
154648
154649 --
154650
154651
154652 --
154653 AcctLineType_158 (
154654 p_application_id => p_application_id
154655 ,p_event_id => l_event_id
154656 ,p_calculate_acctd_flag => l_calculate_acctd_flag
154657 ,p_calculate_g_l_flag => l_calculate_g_l_flag
154658 ,p_actual_flag => l_actual_flag
154659 ,p_balance_type_code => l_balance_type_code
154660 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
154661
154662 , p_source_1 => l_array_source_1(Idx)
154663 , p_source_10 => g_array_event(l_event_id).array_value_char('source_10')
154664 , p_source_10_meaning => g_array_event(l_event_id).array_value_char('source_10_meaning')
154665 , p_source_16 => l_array_source_16(Idx)
154666 , p_source_29 => g_array_event(l_event_id).array_value_num('source_29')
154667 , p_source_58 => l_array_source_58(Idx)
154668 , p_source_60 => l_array_source_60(Idx)
154669 , p_source_62 => l_array_source_62(Idx)
154670 , p_source_63 => g_array_event(l_event_id).array_value_num('source_63')
154671 , p_source_69 => l_array_source_69(Idx)
154672 , p_source_70 => l_array_source_70(Idx)
154673 , p_source_71 => l_array_source_71(Idx)
154674 , p_source_72 => g_array_event(l_event_id).array_value_char('source_72')
154675 , p_source_73 => l_array_source_73(Idx)
154676 , p_source_74 => l_array_source_74(Idx)
154677 , p_source_75 => l_array_source_75(Idx)
154678 , p_source_76 => l_array_source_76(Idx)
154679 , p_source_77 => l_array_source_77(Idx)
154680 , p_source_78 => l_array_source_78(Idx)
154681 , p_source_82 => l_array_source_82(Idx)
154682 , p_source_83 => l_array_source_83(Idx)
154683 , p_source_84 => l_array_source_84(Idx)
154684 , p_source_85 => l_array_source_85(Idx)
154685 , p_source_85_meaning => l_array_source_85_meaning(Idx)
154686 , p_source_86 => g_array_event(l_event_id).array_value_num('source_86')
154687 , p_source_87 => g_array_event(l_event_id).array_value_num('source_87')
154688 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
154689 , p_source_89 => l_array_source_89(Idx)
154690 , p_source_90 => l_array_source_90(Idx)
154691 , p_source_91 => l_array_source_91(Idx)
154692 , p_source_92 => l_array_source_92(Idx)
154693 , p_source_93 => l_array_source_93(Idx)
154694 , p_source_94 => l_array_source_94(Idx)
154695 , p_source_95 => l_array_source_95(Idx)
154696 , p_source_96 => l_array_source_96(Idx)
154697 , p_source_97 => l_array_source_97(Idx)
154698 , p_source_98 => l_array_source_98(Idx)
154699 , p_source_99 => l_array_source_99(Idx)
154700 , p_source_100 => l_array_source_100(Idx)
154701 , p_source_145 => l_array_source_145(Idx)
154702 , p_source_145_meaning => l_array_source_145_meaning(Idx)
154703 , p_source_146 => g_array_event(l_event_id).array_value_date('source_146')
154704 , p_source_147 => g_array_event(l_event_id).array_value_num('source_147')
154705 , p_source_148 => g_array_event(l_event_id).array_value_char('source_148')
154706 );
154707 If(l_balance_type_code = 'A') THEN
154708 l_actual_gain_loss_ref := l_gain_or_loss_ref;
154709 END IF;
154710
154711 --
154712
154713
154714 --
154718 ,p_calculate_acctd_flag => l_calculate_acctd_flag
154715 AcctLineType_159 (
154716 p_application_id => p_application_id
154717 ,p_event_id => l_event_id
154719 ,p_calculate_g_l_flag => l_calculate_g_l_flag
154720 ,p_actual_flag => l_actual_flag
154721 ,p_balance_type_code => l_balance_type_code
154722 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
154723
154724 , p_source_1 => l_array_source_1(Idx)
154725 , p_source_10 => g_array_event(l_event_id).array_value_char('source_10')
154726 , p_source_10_meaning => g_array_event(l_event_id).array_value_char('source_10_meaning')
154727 , p_source_16 => l_array_source_16(Idx)
154728 , p_source_29 => g_array_event(l_event_id).array_value_num('source_29')
154729 , p_source_58 => l_array_source_58(Idx)
154730 , p_source_60 => l_array_source_60(Idx)
154731 , p_source_62 => l_array_source_62(Idx)
154732 , p_source_63 => g_array_event(l_event_id).array_value_num('source_63')
154733 , p_source_69 => l_array_source_69(Idx)
154734 , p_source_70 => l_array_source_70(Idx)
154735 , p_source_71 => l_array_source_71(Idx)
154736 , p_source_72 => g_array_event(l_event_id).array_value_char('source_72')
154737 , p_source_73 => l_array_source_73(Idx)
154738 , p_source_74 => l_array_source_74(Idx)
154739 , p_source_75 => l_array_source_75(Idx)
154740 , p_source_76 => l_array_source_76(Idx)
154741 , p_source_77 => l_array_source_77(Idx)
154742 , p_source_78 => l_array_source_78(Idx)
154743 , p_source_82 => l_array_source_82(Idx)
154744 , p_source_83 => l_array_source_83(Idx)
154745 , p_source_84 => l_array_source_84(Idx)
154746 , p_source_85 => l_array_source_85(Idx)
154747 , p_source_85_meaning => l_array_source_85_meaning(Idx)
154748 , p_source_86 => g_array_event(l_event_id).array_value_num('source_86')
154749 , p_source_87 => g_array_event(l_event_id).array_value_num('source_87')
154750 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
154751 , p_source_89 => l_array_source_89(Idx)
154752 , p_source_90 => l_array_source_90(Idx)
154753 , p_source_91 => l_array_source_91(Idx)
154754 , p_source_92 => l_array_source_92(Idx)
154755 , p_source_93 => l_array_source_93(Idx)
154756 , p_source_94 => l_array_source_94(Idx)
154757 , p_source_95 => l_array_source_95(Idx)
154758 , p_source_96 => l_array_source_96(Idx)
154759 , p_source_97 => l_array_source_97(Idx)
154760 , p_source_98 => l_array_source_98(Idx)
154761 , p_source_99 => l_array_source_99(Idx)
154762 , p_source_100 => l_array_source_100(Idx)
154763 , p_source_145 => l_array_source_145(Idx)
154764 , p_source_145_meaning => l_array_source_145_meaning(Idx)
154765 , p_source_146 => g_array_event(l_event_id).array_value_date('source_146')
154766 , p_source_147 => g_array_event(l_event_id).array_value_num('source_147')
154767 , p_source_148 => g_array_event(l_event_id).array_value_char('source_148')
154768 );
154769 If(l_balance_type_code = 'A') THEN
154770 l_actual_gain_loss_ref := l_gain_or_loss_ref;
154771 END IF;
154772
154773 --
154774
154775
154776 --
154777 AcctLineType_180 (
154778 p_application_id => p_application_id
154779 ,p_event_id => l_event_id
154780 ,p_calculate_acctd_flag => l_calculate_acctd_flag
154781 ,p_calculate_g_l_flag => l_calculate_g_l_flag
154782 ,p_actual_flag => l_actual_flag
154783 ,p_balance_type_code => l_balance_type_code
154784 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
154785
154786 , p_source_1 => l_array_source_1(Idx)
154787 , p_source_16 => l_array_source_16(Idx)
154788 , p_source_25 => l_array_source_25(Idx)
154789 , p_source_28 => l_array_source_28(Idx)
154790 , p_source_28_meaning => l_array_source_28_meaning(Idx)
154791 , p_source_58 => l_array_source_58(Idx)
154792 , p_source_60 => l_array_source_60(Idx)
154793 , p_source_62 => l_array_source_62(Idx)
154794 , p_source_63 => g_array_event(l_event_id).array_value_num('source_63')
154795 , p_source_69 => l_array_source_69(Idx)
154796 , p_source_70 => l_array_source_70(Idx)
154797 , p_source_71 => l_array_source_71(Idx)
154798 , p_source_72 => g_array_event(l_event_id).array_value_char('source_72')
154799 , p_source_73 => l_array_source_73(Idx)
154800 , p_source_74 => l_array_source_74(Idx)
154801 , p_source_75 => l_array_source_75(Idx)
154802 , p_source_76 => l_array_source_76(Idx)
154803 , p_source_77 => l_array_source_77(Idx)
154804 , p_source_78 => l_array_source_78(Idx)
154805 , p_source_82 => l_array_source_82(Idx)
154806 , p_source_83 => l_array_source_83(Idx)
154807 , p_source_84 => l_array_source_84(Idx)
154808 , p_source_85 => l_array_source_85(Idx)
154809 , p_source_85_meaning => l_array_source_85_meaning(Idx)
154810 , p_source_86 => g_array_event(l_event_id).array_value_num('source_86')
154811 , p_source_87 => g_array_event(l_event_id).array_value_num('source_87')
154812 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
154813 , p_source_89 => l_array_source_89(Idx)
154814 , p_source_90 => l_array_source_90(Idx)
154815 , p_source_91 => l_array_source_91(Idx)
154816 , p_source_92 => l_array_source_92(Idx)
154817 , p_source_93 => l_array_source_93(Idx)
154818 , p_source_94 => l_array_source_94(Idx)
154819 , p_source_95 => l_array_source_95(Idx)
154820 , p_source_96 => l_array_source_96(Idx)
154821 , p_source_97 => l_array_source_97(Idx)
154822 , p_source_98 => l_array_source_98(Idx)
154823 , p_source_99 => l_array_source_99(Idx)
154824 , p_source_100 => l_array_source_100(Idx)
154825 , p_source_146 => g_array_event(l_event_id).array_value_date('source_146')
154826 , p_source_147 => g_array_event(l_event_id).array_value_num('source_147')
154827 , p_source_148 => g_array_event(l_event_id).array_value_char('source_148')
154828 );
154829 If(l_balance_type_code = 'A') THEN
154830 l_actual_gain_loss_ref := l_gain_or_loss_ref;
154831 END IF;
154832
154833 --
154834
154835
154836 --
154837 AcctLineType_184 (
154838 p_application_id => p_application_id
154839 ,p_event_id => l_event_id
154840 ,p_calculate_acctd_flag => l_calculate_acctd_flag
154841 ,p_calculate_g_l_flag => l_calculate_g_l_flag
154845
154842 ,p_actual_flag => l_actual_flag
154843 ,p_balance_type_code => l_balance_type_code
154844 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
154846 , p_source_1 => l_array_source_1(Idx)
154847 , p_source_16 => l_array_source_16(Idx)
154848 , p_source_25 => l_array_source_25(Idx)
154849 , p_source_28 => l_array_source_28(Idx)
154850 , p_source_28_meaning => l_array_source_28_meaning(Idx)
154851 , p_source_54 => l_array_source_54(Idx)
154852 , p_source_54_meaning => l_array_source_54_meaning(Idx)
154853 , p_source_58 => l_array_source_58(Idx)
154854 , p_source_60 => l_array_source_60(Idx)
154855 , p_source_62 => l_array_source_62(Idx)
154856 , p_source_63 => g_array_event(l_event_id).array_value_num('source_63')
154857 , p_source_69 => l_array_source_69(Idx)
154858 , p_source_70 => l_array_source_70(Idx)
154859 , p_source_71 => l_array_source_71(Idx)
154860 , p_source_72 => g_array_event(l_event_id).array_value_char('source_72')
154861 , p_source_73 => l_array_source_73(Idx)
154862 , p_source_74 => l_array_source_74(Idx)
154863 , p_source_75 => l_array_source_75(Idx)
154864 , p_source_76 => l_array_source_76(Idx)
154865 , p_source_77 => l_array_source_77(Idx)
154866 , p_source_78 => l_array_source_78(Idx)
154867 , p_source_79 => l_array_source_79(Idx)
154868 , p_source_80 => l_array_source_80(Idx)
154869 , p_source_81 => l_array_source_81(Idx)
154870 , p_source_82 => l_array_source_82(Idx)
154871 , p_source_83 => l_array_source_83(Idx)
154872 , p_source_84 => l_array_source_84(Idx)
154873 , p_source_85 => l_array_source_85(Idx)
154874 , p_source_85_meaning => l_array_source_85_meaning(Idx)
154875 , p_source_86 => g_array_event(l_event_id).array_value_num('source_86')
154876 , p_source_87 => g_array_event(l_event_id).array_value_num('source_87')
154877 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
154878 , p_source_89 => l_array_source_89(Idx)
154879 , p_source_90 => l_array_source_90(Idx)
154880 , p_source_91 => l_array_source_91(Idx)
154881 , p_source_92 => l_array_source_92(Idx)
154882 , p_source_93 => l_array_source_93(Idx)
154883 , p_source_94 => l_array_source_94(Idx)
154884 , p_source_95 => l_array_source_95(Idx)
154885 , p_source_96 => l_array_source_96(Idx)
154886 , p_source_97 => l_array_source_97(Idx)
154887 , p_source_98 => l_array_source_98(Idx)
154888 , p_source_99 => l_array_source_99(Idx)
154889 , p_source_100 => l_array_source_100(Idx)
154890 , p_source_145 => l_array_source_145(Idx)
154891 , p_source_145_meaning => l_array_source_145_meaning(Idx)
154892 );
154893 If(l_balance_type_code = 'A') THEN
154894 l_actual_gain_loss_ref := l_gain_or_loss_ref;
154895 END IF;
154896
154897 --
154898
154899
154900 --
154901 AcctLineType_187 (
154902 p_application_id => p_application_id
154903 ,p_event_id => l_event_id
154904 ,p_calculate_acctd_flag => l_calculate_acctd_flag
154905 ,p_calculate_g_l_flag => l_calculate_g_l_flag
154906 ,p_actual_flag => l_actual_flag
154907 ,p_balance_type_code => l_balance_type_code
154908 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
154909
154910 , p_source_1 => l_array_source_1(Idx)
154911 , p_source_16 => l_array_source_16(Idx)
154912 , p_source_25 => l_array_source_25(Idx)
154913 , p_source_28 => l_array_source_28(Idx)
154914 , p_source_28_meaning => l_array_source_28_meaning(Idx)
154915 , p_source_54 => l_array_source_54(Idx)
154916 , p_source_54_meaning => l_array_source_54_meaning(Idx)
154917 , p_source_58 => l_array_source_58(Idx)
154918 , p_source_60 => l_array_source_60(Idx)
154919 , p_source_62 => l_array_source_62(Idx)
154920 , p_source_63 => g_array_event(l_event_id).array_value_num('source_63')
154921 , p_source_69 => l_array_source_69(Idx)
154922 , p_source_70 => l_array_source_70(Idx)
154923 , p_source_71 => l_array_source_71(Idx)
154924 , p_source_72 => g_array_event(l_event_id).array_value_char('source_72')
154925 , p_source_73 => l_array_source_73(Idx)
154926 , p_source_74 => l_array_source_74(Idx)
154927 , p_source_75 => l_array_source_75(Idx)
154928 , p_source_76 => l_array_source_76(Idx)
154929 , p_source_77 => l_array_source_77(Idx)
154930 , p_source_78 => l_array_source_78(Idx)
154931 , p_source_82 => l_array_source_82(Idx)
154932 , p_source_83 => l_array_source_83(Idx)
154933 , p_source_84 => l_array_source_84(Idx)
154934 , p_source_85 => l_array_source_85(Idx)
154935 , p_source_85_meaning => l_array_source_85_meaning(Idx)
154936 , p_source_86 => g_array_event(l_event_id).array_value_num('source_86')
154937 , p_source_87 => g_array_event(l_event_id).array_value_num('source_87')
154938 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
154939 , p_source_89 => l_array_source_89(Idx)
154940 , p_source_90 => l_array_source_90(Idx)
154941 , p_source_91 => l_array_source_91(Idx)
154942 , p_source_92 => l_array_source_92(Idx)
154943 , p_source_93 => l_array_source_93(Idx)
154944 , p_source_94 => l_array_source_94(Idx)
154945 , p_source_95 => l_array_source_95(Idx)
154946 , p_source_96 => l_array_source_96(Idx)
154947 , p_source_97 => l_array_source_97(Idx)
154948 , p_source_98 => l_array_source_98(Idx)
154949 , p_source_99 => l_array_source_99(Idx)
154950 , p_source_100 => l_array_source_100(Idx)
154951 , p_source_145 => l_array_source_145(Idx)
154952 , p_source_145_meaning => l_array_source_145_meaning(Idx)
154953 , p_source_146 => g_array_event(l_event_id).array_value_date('source_146')
154954 , p_source_147 => g_array_event(l_event_id).array_value_num('source_147')
154955 , p_source_148 => g_array_event(l_event_id).array_value_char('source_148')
154956 );
154957 If(l_balance_type_code = 'A') THEN
154958 l_actual_gain_loss_ref := l_gain_or_loss_ref;
154959 END IF;
154960
154961 --
154962
154963
154964 --
154965 AcctLineType_196 (
154966 p_application_id => p_application_id
154967 ,p_event_id => l_event_id
154968 ,p_calculate_acctd_flag => l_calculate_acctd_flag
154969 ,p_calculate_g_l_flag => l_calculate_g_l_flag
154970 ,p_actual_flag => l_actual_flag
154974 , p_source_1 => l_array_source_1(Idx)
154971 ,p_balance_type_code => l_balance_type_code
154972 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
154973
154975 , p_source_16 => l_array_source_16(Idx)
154976 , p_source_25 => l_array_source_25(Idx)
154977 , p_source_28 => l_array_source_28(Idx)
154978 , p_source_28_meaning => l_array_source_28_meaning(Idx)
154979 , p_source_58 => l_array_source_58(Idx)
154980 , p_source_60 => l_array_source_60(Idx)
154981 , p_source_62 => l_array_source_62(Idx)
154982 , p_source_63 => g_array_event(l_event_id).array_value_num('source_63')
154983 , p_source_69 => l_array_source_69(Idx)
154984 , p_source_70 => l_array_source_70(Idx)
154985 , p_source_71 => l_array_source_71(Idx)
154986 , p_source_72 => g_array_event(l_event_id).array_value_char('source_72')
154987 , p_source_73 => l_array_source_73(Idx)
154988 , p_source_74 => l_array_source_74(Idx)
154989 , p_source_75 => l_array_source_75(Idx)
154990 , p_source_76 => l_array_source_76(Idx)
154991 , p_source_77 => l_array_source_77(Idx)
154992 , p_source_78 => l_array_source_78(Idx)
154993 , p_source_82 => l_array_source_82(Idx)
154994 , p_source_83 => l_array_source_83(Idx)
154995 , p_source_84 => l_array_source_84(Idx)
154996 , p_source_85 => l_array_source_85(Idx)
154997 , p_source_85_meaning => l_array_source_85_meaning(Idx)
154998 , p_source_86 => g_array_event(l_event_id).array_value_num('source_86')
154999 , p_source_87 => g_array_event(l_event_id).array_value_num('source_87')
155000 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
155001 , p_source_89 => l_array_source_89(Idx)
155002 , p_source_90 => l_array_source_90(Idx)
155003 , p_source_91 => l_array_source_91(Idx)
155004 , p_source_92 => l_array_source_92(Idx)
155005 , p_source_93 => l_array_source_93(Idx)
155006 , p_source_94 => l_array_source_94(Idx)
155007 , p_source_95 => l_array_source_95(Idx)
155008 , p_source_96 => l_array_source_96(Idx)
155009 , p_source_97 => l_array_source_97(Idx)
155010 , p_source_98 => l_array_source_98(Idx)
155011 , p_source_99 => l_array_source_99(Idx)
155012 , p_source_100 => l_array_source_100(Idx)
155013 , p_source_145 => l_array_source_145(Idx)
155014 , p_source_145_meaning => l_array_source_145_meaning(Idx)
155015 , p_source_146 => g_array_event(l_event_id).array_value_date('source_146')
155016 , p_source_147 => g_array_event(l_event_id).array_value_num('source_147')
155017 , p_source_148 => g_array_event(l_event_id).array_value_char('source_148')
155018 );
155019 If(l_balance_type_code = 'A') THEN
155020 l_actual_gain_loss_ref := l_gain_or_loss_ref;
155021 END IF;
155022
155023 --
155024
155025
155026 --
155027 AcctLineType_201 (
155028 p_application_id => p_application_id
155029 ,p_event_id => l_event_id
155030 ,p_calculate_acctd_flag => l_calculate_acctd_flag
155031 ,p_calculate_g_l_flag => l_calculate_g_l_flag
155032 ,p_actual_flag => l_actual_flag
155033 ,p_balance_type_code => l_balance_type_code
155034 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
155035
155036 , p_source_1 => l_array_source_1(Idx)
155037 , p_source_10 => g_array_event(l_event_id).array_value_char('source_10')
155038 , p_source_10_meaning => g_array_event(l_event_id).array_value_char('source_10_meaning')
155039 , p_source_16 => l_array_source_16(Idx)
155040 , p_source_25 => l_array_source_25(Idx)
155041 , p_source_28 => l_array_source_28(Idx)
155042 , p_source_28_meaning => l_array_source_28_meaning(Idx)
155043 , p_source_35 => g_array_event(l_event_id).array_value_num('source_35')
155044 , p_source_38 => l_array_source_38(Idx)
155045 , p_source_58 => l_array_source_58(Idx)
155046 , p_source_60 => l_array_source_60(Idx)
155047 , p_source_62 => l_array_source_62(Idx)
155048 , p_source_63 => g_array_event(l_event_id).array_value_num('source_63')
155049 , p_source_69 => l_array_source_69(Idx)
155050 , p_source_70 => l_array_source_70(Idx)
155051 , p_source_71 => l_array_source_71(Idx)
155052 , p_source_72 => g_array_event(l_event_id).array_value_char('source_72')
155053 , p_source_73 => l_array_source_73(Idx)
155054 , p_source_74 => l_array_source_74(Idx)
155055 , p_source_75 => l_array_source_75(Idx)
155056 , p_source_76 => l_array_source_76(Idx)
155057 , p_source_77 => l_array_source_77(Idx)
155058 , p_source_78 => l_array_source_78(Idx)
155059 , p_source_82 => l_array_source_82(Idx)
155060 , p_source_83 => l_array_source_83(Idx)
155061 , p_source_84 => l_array_source_84(Idx)
155062 , p_source_85 => l_array_source_85(Idx)
155063 , p_source_85_meaning => l_array_source_85_meaning(Idx)
155064 , p_source_86 => g_array_event(l_event_id).array_value_num('source_86')
155065 , p_source_87 => g_array_event(l_event_id).array_value_num('source_87')
155066 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
155067 , p_source_89 => l_array_source_89(Idx)
155068 , p_source_90 => l_array_source_90(Idx)
155069 , p_source_91 => l_array_source_91(Idx)
155070 , p_source_92 => l_array_source_92(Idx)
155071 , p_source_93 => l_array_source_93(Idx)
155072 , p_source_94 => l_array_source_94(Idx)
155073 , p_source_95 => l_array_source_95(Idx)
155074 , p_source_96 => l_array_source_96(Idx)
155075 , p_source_97 => l_array_source_97(Idx)
155076 , p_source_98 => l_array_source_98(Idx)
155077 , p_source_99 => l_array_source_99(Idx)
155078 , p_source_100 => l_array_source_100(Idx)
155079 , p_source_146 => g_array_event(l_event_id).array_value_date('source_146')
155080 , p_source_147 => g_array_event(l_event_id).array_value_num('source_147')
155081 , p_source_148 => g_array_event(l_event_id).array_value_char('source_148')
155082 , p_source_167 => g_array_event(l_event_id).array_value_char('source_167')
155083 , p_source_167_meaning => g_array_event(l_event_id).array_value_char('source_167_meaning')
155084 );
155085 If(l_balance_type_code = 'A') THEN
155086 l_actual_gain_loss_ref := l_gain_or_loss_ref;
155087 END IF;
155088
155089 --
155090
155091
155092 --
155093 AcctLineType_205 (
155094 p_application_id => p_application_id
155095 ,p_event_id => l_event_id
155099 ,p_balance_type_code => l_balance_type_code
155096 ,p_calculate_acctd_flag => l_calculate_acctd_flag
155097 ,p_calculate_g_l_flag => l_calculate_g_l_flag
155098 ,p_actual_flag => l_actual_flag
155100 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
155101
155102 , p_source_1 => l_array_source_1(Idx)
155103 , p_source_16 => l_array_source_16(Idx)
155104 , p_source_28 => l_array_source_28(Idx)
155105 , p_source_28_meaning => l_array_source_28_meaning(Idx)
155106 , p_source_46 => l_array_source_46(Idx)
155107 , p_source_54 => l_array_source_54(Idx)
155108 , p_source_54_meaning => l_array_source_54_meaning(Idx)
155109 , p_source_58 => l_array_source_58(Idx)
155110 , p_source_60 => l_array_source_60(Idx)
155111 , p_source_62 => l_array_source_62(Idx)
155112 , p_source_63 => g_array_event(l_event_id).array_value_num('source_63')
155113 , p_source_69 => l_array_source_69(Idx)
155114 , p_source_70 => l_array_source_70(Idx)
155115 , p_source_71 => l_array_source_71(Idx)
155116 , p_source_72 => g_array_event(l_event_id).array_value_char('source_72')
155117 , p_source_73 => l_array_source_73(Idx)
155118 , p_source_74 => l_array_source_74(Idx)
155119 , p_source_75 => l_array_source_75(Idx)
155120 , p_source_76 => l_array_source_76(Idx)
155121 , p_source_77 => l_array_source_77(Idx)
155122 , p_source_78 => l_array_source_78(Idx)
155123 , p_source_82 => l_array_source_82(Idx)
155124 , p_source_83 => l_array_source_83(Idx)
155125 , p_source_84 => l_array_source_84(Idx)
155126 , p_source_85 => l_array_source_85(Idx)
155127 , p_source_85_meaning => l_array_source_85_meaning(Idx)
155128 , p_source_86 => g_array_event(l_event_id).array_value_num('source_86')
155129 , p_source_87 => g_array_event(l_event_id).array_value_num('source_87')
155130 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
155131 , p_source_89 => l_array_source_89(Idx)
155132 , p_source_90 => l_array_source_90(Idx)
155133 , p_source_91 => l_array_source_91(Idx)
155134 , p_source_92 => l_array_source_92(Idx)
155135 , p_source_93 => l_array_source_93(Idx)
155136 , p_source_94 => l_array_source_94(Idx)
155137 , p_source_95 => l_array_source_95(Idx)
155138 , p_source_96 => l_array_source_96(Idx)
155139 , p_source_97 => l_array_source_97(Idx)
155140 , p_source_98 => l_array_source_98(Idx)
155141 , p_source_99 => l_array_source_99(Idx)
155142 , p_source_100 => l_array_source_100(Idx)
155143 , p_source_145 => l_array_source_145(Idx)
155144 , p_source_145_meaning => l_array_source_145_meaning(Idx)
155145 , p_source_146 => g_array_event(l_event_id).array_value_date('source_146')
155146 , p_source_147 => g_array_event(l_event_id).array_value_num('source_147')
155147 , p_source_148 => g_array_event(l_event_id).array_value_char('source_148')
155148 );
155149 If(l_balance_type_code = 'A') THEN
155150 l_actual_gain_loss_ref := l_gain_or_loss_ref;
155151 END IF;
155152
155153 --
155154
155155
155156 --
155157 AcctLineType_209 (
155158 p_application_id => p_application_id
155159 ,p_event_id => l_event_id
155160 ,p_calculate_acctd_flag => l_calculate_acctd_flag
155161 ,p_calculate_g_l_flag => l_calculate_g_l_flag
155162 ,p_actual_flag => l_actual_flag
155163 ,p_balance_type_code => l_balance_type_code
155164 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
155165
155166 , p_source_1 => l_array_source_1(Idx)
155167 , p_source_16 => l_array_source_16(Idx)
155168 , p_source_28 => l_array_source_28(Idx)
155169 , p_source_28_meaning => l_array_source_28_meaning(Idx)
155170 , p_source_46 => l_array_source_46(Idx)
155171 , p_source_58 => l_array_source_58(Idx)
155172 , p_source_60 => l_array_source_60(Idx)
155173 , p_source_62 => l_array_source_62(Idx)
155174 , p_source_63 => g_array_event(l_event_id).array_value_num('source_63')
155175 , p_source_69 => l_array_source_69(Idx)
155176 , p_source_70 => l_array_source_70(Idx)
155177 , p_source_71 => l_array_source_71(Idx)
155178 , p_source_72 => g_array_event(l_event_id).array_value_char('source_72')
155179 , p_source_73 => l_array_source_73(Idx)
155180 , p_source_74 => l_array_source_74(Idx)
155181 , p_source_75 => l_array_source_75(Idx)
155182 , p_source_76 => l_array_source_76(Idx)
155183 , p_source_77 => l_array_source_77(Idx)
155184 , p_source_78 => l_array_source_78(Idx)
155185 , p_source_82 => l_array_source_82(Idx)
155186 , p_source_83 => l_array_source_83(Idx)
155187 , p_source_84 => l_array_source_84(Idx)
155188 , p_source_85 => l_array_source_85(Idx)
155189 , p_source_85_meaning => l_array_source_85_meaning(Idx)
155190 , p_source_86 => g_array_event(l_event_id).array_value_num('source_86')
155191 , p_source_87 => g_array_event(l_event_id).array_value_num('source_87')
155192 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
155193 , p_source_89 => l_array_source_89(Idx)
155194 , p_source_90 => l_array_source_90(Idx)
155195 , p_source_91 => l_array_source_91(Idx)
155196 , p_source_92 => l_array_source_92(Idx)
155197 , p_source_93 => l_array_source_93(Idx)
155198 , p_source_94 => l_array_source_94(Idx)
155199 , p_source_95 => l_array_source_95(Idx)
155200 , p_source_96 => l_array_source_96(Idx)
155201 , p_source_97 => l_array_source_97(Idx)
155202 , p_source_98 => l_array_source_98(Idx)
155203 , p_source_99 => l_array_source_99(Idx)
155204 , p_source_100 => l_array_source_100(Idx)
155205 , p_source_145 => l_array_source_145(Idx)
155206 , p_source_145_meaning => l_array_source_145_meaning(Idx)
155207 , p_source_146 => g_array_event(l_event_id).array_value_date('source_146')
155208 , p_source_147 => g_array_event(l_event_id).array_value_num('source_147')
155209 , p_source_148 => g_array_event(l_event_id).array_value_char('source_148')
155210 );
155211 If(l_balance_type_code = 'A') THEN
155212 l_actual_gain_loss_ref := l_gain_or_loss_ref;
155213 END IF;
155214
155215 --
155216
155217
155218 --
155219 AcctLineType_212 (
155220 p_application_id => p_application_id
155221 ,p_event_id => l_event_id
155222 ,p_calculate_acctd_flag => l_calculate_acctd_flag
155226 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
155223 ,p_calculate_g_l_flag => l_calculate_g_l_flag
155224 ,p_actual_flag => l_actual_flag
155225 ,p_balance_type_code => l_balance_type_code
155227
155228 , p_source_1 => l_array_source_1(Idx)
155229 , p_source_16 => l_array_source_16(Idx)
155230 , p_source_28 => l_array_source_28(Idx)
155231 , p_source_28_meaning => l_array_source_28_meaning(Idx)
155232 , p_source_47 => l_array_source_47(Idx)
155233 , p_source_58 => l_array_source_58(Idx)
155234 , p_source_60 => l_array_source_60(Idx)
155235 , p_source_62 => l_array_source_62(Idx)
155236 , p_source_63 => g_array_event(l_event_id).array_value_num('source_63')
155237 , p_source_69 => l_array_source_69(Idx)
155238 , p_source_70 => l_array_source_70(Idx)
155239 , p_source_71 => l_array_source_71(Idx)
155240 , p_source_72 => g_array_event(l_event_id).array_value_char('source_72')
155241 , p_source_73 => l_array_source_73(Idx)
155242 , p_source_74 => l_array_source_74(Idx)
155243 , p_source_75 => l_array_source_75(Idx)
155244 , p_source_76 => l_array_source_76(Idx)
155245 , p_source_77 => l_array_source_77(Idx)
155246 , p_source_78 => l_array_source_78(Idx)
155247 , p_source_82 => l_array_source_82(Idx)
155248 , p_source_83 => l_array_source_83(Idx)
155249 , p_source_84 => l_array_source_84(Idx)
155250 , p_source_85 => l_array_source_85(Idx)
155251 , p_source_85_meaning => l_array_source_85_meaning(Idx)
155252 , p_source_86 => g_array_event(l_event_id).array_value_num('source_86')
155253 , p_source_87 => g_array_event(l_event_id).array_value_num('source_87')
155254 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
155255 , p_source_89 => l_array_source_89(Idx)
155256 , p_source_90 => l_array_source_90(Idx)
155257 , p_source_91 => l_array_source_91(Idx)
155258 , p_source_92 => l_array_source_92(Idx)
155259 , p_source_93 => l_array_source_93(Idx)
155260 , p_source_94 => l_array_source_94(Idx)
155261 , p_source_95 => l_array_source_95(Idx)
155262 , p_source_96 => l_array_source_96(Idx)
155263 , p_source_97 => l_array_source_97(Idx)
155264 , p_source_98 => l_array_source_98(Idx)
155265 , p_source_99 => l_array_source_99(Idx)
155266 , p_source_100 => l_array_source_100(Idx)
155267 , p_source_145 => l_array_source_145(Idx)
155268 , p_source_145_meaning => l_array_source_145_meaning(Idx)
155269 , p_source_146 => g_array_event(l_event_id).array_value_date('source_146')
155270 , p_source_147 => g_array_event(l_event_id).array_value_num('source_147')
155271 , p_source_148 => g_array_event(l_event_id).array_value_char('source_148')
155272 );
155273 If(l_balance_type_code = 'A') THEN
155274 l_actual_gain_loss_ref := l_gain_or_loss_ref;
155275 END IF;
155276
155277 --
155278
155279
155280 --
155281 AcctLineType_217 (
155282 p_application_id => p_application_id
155283 ,p_event_id => l_event_id
155284 ,p_calculate_acctd_flag => l_calculate_acctd_flag
155285 ,p_calculate_g_l_flag => l_calculate_g_l_flag
155286 ,p_actual_flag => l_actual_flag
155287 ,p_balance_type_code => l_balance_type_code
155288 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
155289
155290 , p_source_1 => l_array_source_1(Idx)
155291 , p_source_16 => l_array_source_16(Idx)
155292 , p_source_28 => l_array_source_28(Idx)
155293 , p_source_28_meaning => l_array_source_28_meaning(Idx)
155294 , p_source_46 => l_array_source_46(Idx)
155295 , p_source_54 => l_array_source_54(Idx)
155296 , p_source_54_meaning => l_array_source_54_meaning(Idx)
155297 , p_source_58 => l_array_source_58(Idx)
155298 , p_source_60 => l_array_source_60(Idx)
155299 , p_source_62 => l_array_source_62(Idx)
155300 , p_source_63 => g_array_event(l_event_id).array_value_num('source_63')
155301 , p_source_69 => l_array_source_69(Idx)
155302 , p_source_70 => l_array_source_70(Idx)
155303 , p_source_71 => l_array_source_71(Idx)
155304 , p_source_72 => g_array_event(l_event_id).array_value_char('source_72')
155305 , p_source_73 => l_array_source_73(Idx)
155306 , p_source_74 => l_array_source_74(Idx)
155307 , p_source_75 => l_array_source_75(Idx)
155308 , p_source_76 => l_array_source_76(Idx)
155309 , p_source_77 => l_array_source_77(Idx)
155310 , p_source_78 => l_array_source_78(Idx)
155311 , p_source_79 => l_array_source_79(Idx)
155312 , p_source_80 => l_array_source_80(Idx)
155313 , p_source_81 => l_array_source_81(Idx)
155314 , p_source_82 => l_array_source_82(Idx)
155315 , p_source_83 => l_array_source_83(Idx)
155316 , p_source_84 => l_array_source_84(Idx)
155317 , p_source_85 => l_array_source_85(Idx)
155318 , p_source_85_meaning => l_array_source_85_meaning(Idx)
155319 , p_source_86 => g_array_event(l_event_id).array_value_num('source_86')
155320 , p_source_87 => g_array_event(l_event_id).array_value_num('source_87')
155321 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
155322 , p_source_89 => l_array_source_89(Idx)
155323 , p_source_90 => l_array_source_90(Idx)
155324 , p_source_91 => l_array_source_91(Idx)
155325 , p_source_92 => l_array_source_92(Idx)
155326 , p_source_93 => l_array_source_93(Idx)
155327 , p_source_94 => l_array_source_94(Idx)
155328 , p_source_95 => l_array_source_95(Idx)
155329 , p_source_96 => l_array_source_96(Idx)
155330 , p_source_97 => l_array_source_97(Idx)
155331 , p_source_98 => l_array_source_98(Idx)
155332 , p_source_99 => l_array_source_99(Idx)
155333 , p_source_100 => l_array_source_100(Idx)
155334 , p_source_145 => l_array_source_145(Idx)
155335 , p_source_145_meaning => l_array_source_145_meaning(Idx)
155336 );
155337 If(l_balance_type_code = 'A') THEN
155338 l_actual_gain_loss_ref := l_gain_or_loss_ref;
155339 END IF;
155340
155341 --
155342
155343
155344 --
155345 AcctLineType_221 (
155346 p_application_id => p_application_id
155347 ,p_event_id => l_event_id
155348 ,p_calculate_acctd_flag => l_calculate_acctd_flag
155349 ,p_calculate_g_l_flag => l_calculate_g_l_flag
155350 ,p_actual_flag => l_actual_flag
155351 ,p_balance_type_code => l_balance_type_code
155355 , p_source_10 => g_array_event(l_event_id).array_value_char('source_10')
155352 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
155353
155354 , p_source_1 => l_array_source_1(Idx)
155356 , p_source_10_meaning => g_array_event(l_event_id).array_value_char('source_10_meaning')
155357 , p_source_15 => g_array_event(l_event_id).array_value_num('source_15')
155358 , p_source_16 => l_array_source_16(Idx)
155359 , p_source_17 => l_array_source_17(Idx)
155360 , p_source_17_meaning => l_array_source_17_meaning(Idx)
155361 , p_source_18 => g_array_event(l_event_id).array_value_num('source_18')
155362 , p_source_25 => l_array_source_25(Idx)
155363 , p_source_28 => l_array_source_28(Idx)
155364 , p_source_28_meaning => l_array_source_28_meaning(Idx)
155365 , p_source_43 => g_array_event(l_event_id).array_value_char('source_43')
155366 , p_source_43_meaning => g_array_event(l_event_id).array_value_char('source_43_meaning')
155367 , p_source_54 => l_array_source_54(Idx)
155368 , p_source_54_meaning => l_array_source_54_meaning(Idx)
155369 , p_source_58 => l_array_source_58(Idx)
155370 , p_source_60 => l_array_source_60(Idx)
155371 , p_source_62 => l_array_source_62(Idx)
155372 , p_source_63 => g_array_event(l_event_id).array_value_num('source_63')
155373 , p_source_69 => l_array_source_69(Idx)
155374 , p_source_70 => l_array_source_70(Idx)
155375 , p_source_71 => l_array_source_71(Idx)
155376 , p_source_72 => g_array_event(l_event_id).array_value_char('source_72')
155377 , p_source_73 => l_array_source_73(Idx)
155378 , p_source_74 => l_array_source_74(Idx)
155379 , p_source_75 => l_array_source_75(Idx)
155380 , p_source_76 => l_array_source_76(Idx)
155381 , p_source_77 => l_array_source_77(Idx)
155382 , p_source_78 => l_array_source_78(Idx)
155383 , p_source_82 => l_array_source_82(Idx)
155384 , p_source_83 => l_array_source_83(Idx)
155385 , p_source_84 => l_array_source_84(Idx)
155386 , p_source_85 => l_array_source_85(Idx)
155387 , p_source_85_meaning => l_array_source_85_meaning(Idx)
155388 , p_source_86 => g_array_event(l_event_id).array_value_num('source_86')
155389 , p_source_87 => g_array_event(l_event_id).array_value_num('source_87')
155390 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
155391 , p_source_89 => l_array_source_89(Idx)
155392 , p_source_90 => l_array_source_90(Idx)
155393 , p_source_91 => l_array_source_91(Idx)
155394 , p_source_92 => l_array_source_92(Idx)
155395 , p_source_93 => l_array_source_93(Idx)
155396 , p_source_94 => l_array_source_94(Idx)
155397 , p_source_95 => l_array_source_95(Idx)
155398 , p_source_96 => l_array_source_96(Idx)
155399 , p_source_97 => l_array_source_97(Idx)
155400 , p_source_98 => l_array_source_98(Idx)
155401 , p_source_99 => l_array_source_99(Idx)
155402 , p_source_100 => l_array_source_100(Idx)
155403 , p_source_146 => g_array_event(l_event_id).array_value_date('source_146')
155404 , p_source_147 => g_array_event(l_event_id).array_value_num('source_147')
155405 , p_source_148 => g_array_event(l_event_id).array_value_char('source_148')
155406 );
155407 If(l_balance_type_code = 'A') THEN
155408 l_actual_gain_loss_ref := l_gain_or_loss_ref;
155409 END IF;
155410
155411 --
155412
155413
155414 --
155415 AcctLineType_225 (
155416 p_application_id => p_application_id
155417 ,p_event_id => l_event_id
155418 ,p_calculate_acctd_flag => l_calculate_acctd_flag
155419 ,p_calculate_g_l_flag => l_calculate_g_l_flag
155420 ,p_actual_flag => l_actual_flag
155421 ,p_balance_type_code => l_balance_type_code
155422 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
155423
155424 , p_source_1 => l_array_source_1(Idx)
155425 , p_source_16 => l_array_source_16(Idx)
155426 , p_source_25 => l_array_source_25(Idx)
155427 , p_source_28 => l_array_source_28(Idx)
155428 , p_source_28_meaning => l_array_source_28_meaning(Idx)
155429 , p_source_54 => l_array_source_54(Idx)
155430 , p_source_54_meaning => l_array_source_54_meaning(Idx)
155431 , p_source_58 => l_array_source_58(Idx)
155432 , p_source_60 => l_array_source_60(Idx)
155433 , p_source_62 => l_array_source_62(Idx)
155434 , p_source_63 => g_array_event(l_event_id).array_value_num('source_63')
155435 , p_source_69 => l_array_source_69(Idx)
155436 , p_source_70 => l_array_source_70(Idx)
155437 , p_source_71 => l_array_source_71(Idx)
155438 , p_source_72 => g_array_event(l_event_id).array_value_char('source_72')
155439 , p_source_73 => l_array_source_73(Idx)
155440 , p_source_74 => l_array_source_74(Idx)
155441 , p_source_75 => l_array_source_75(Idx)
155442 , p_source_76 => l_array_source_76(Idx)
155443 , p_source_77 => l_array_source_77(Idx)
155444 , p_source_78 => l_array_source_78(Idx)
155445 , p_source_82 => l_array_source_82(Idx)
155446 , p_source_83 => l_array_source_83(Idx)
155447 , p_source_84 => l_array_source_84(Idx)
155448 , p_source_85 => l_array_source_85(Idx)
155449 , p_source_85_meaning => l_array_source_85_meaning(Idx)
155450 , p_source_86 => g_array_event(l_event_id).array_value_num('source_86')
155451 , p_source_87 => g_array_event(l_event_id).array_value_num('source_87')
155452 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
155453 , p_source_89 => l_array_source_89(Idx)
155454 , p_source_90 => l_array_source_90(Idx)
155455 , p_source_91 => l_array_source_91(Idx)
155456 , p_source_92 => l_array_source_92(Idx)
155457 , p_source_93 => l_array_source_93(Idx)
155458 , p_source_94 => l_array_source_94(Idx)
155459 , p_source_95 => l_array_source_95(Idx)
155460 , p_source_96 => l_array_source_96(Idx)
155461 , p_source_97 => l_array_source_97(Idx)
155462 , p_source_98 => l_array_source_98(Idx)
155463 , p_source_99 => l_array_source_99(Idx)
155464 , p_source_100 => l_array_source_100(Idx)
155465 , p_source_146 => g_array_event(l_event_id).array_value_date('source_146')
155466 , p_source_147 => g_array_event(l_event_id).array_value_num('source_147')
155467 , p_source_148 => g_array_event(l_event_id).array_value_char('source_148')
155468 );
155469 If(l_balance_type_code = 'A') THEN
155470 l_actual_gain_loss_ref := l_gain_or_loss_ref;
155471 END IF;
155475
155472
155473 --
155474
155476 --
155477 AcctLineType_229 (
155478 p_application_id => p_application_id
155479 ,p_event_id => l_event_id
155480 ,p_calculate_acctd_flag => l_calculate_acctd_flag
155481 ,p_calculate_g_l_flag => l_calculate_g_l_flag
155482 ,p_actual_flag => l_actual_flag
155483 ,p_balance_type_code => l_balance_type_code
155484 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
155485
155486 , p_source_1 => l_array_source_1(Idx)
155487 , p_source_16 => l_array_source_16(Idx)
155488 , p_source_25 => l_array_source_25(Idx)
155489 , p_source_28 => l_array_source_28(Idx)
155490 , p_source_28_meaning => l_array_source_28_meaning(Idx)
155491 , p_source_54 => l_array_source_54(Idx)
155492 , p_source_54_meaning => l_array_source_54_meaning(Idx)
155493 , p_source_58 => l_array_source_58(Idx)
155494 , p_source_60 => l_array_source_60(Idx)
155495 , p_source_62 => l_array_source_62(Idx)
155496 , p_source_63 => g_array_event(l_event_id).array_value_num('source_63')
155497 , p_source_69 => l_array_source_69(Idx)
155498 , p_source_70 => l_array_source_70(Idx)
155499 , p_source_71 => l_array_source_71(Idx)
155500 , p_source_72 => g_array_event(l_event_id).array_value_char('source_72')
155501 , p_source_73 => l_array_source_73(Idx)
155502 , p_source_74 => l_array_source_74(Idx)
155503 , p_source_75 => l_array_source_75(Idx)
155504 , p_source_76 => l_array_source_76(Idx)
155505 , p_source_77 => l_array_source_77(Idx)
155506 , p_source_78 => l_array_source_78(Idx)
155507 , p_source_82 => l_array_source_82(Idx)
155508 , p_source_83 => l_array_source_83(Idx)
155509 , p_source_84 => l_array_source_84(Idx)
155510 , p_source_85 => l_array_source_85(Idx)
155511 , p_source_85_meaning => l_array_source_85_meaning(Idx)
155512 , p_source_86 => g_array_event(l_event_id).array_value_num('source_86')
155513 , p_source_87 => g_array_event(l_event_id).array_value_num('source_87')
155514 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
155515 , p_source_89 => l_array_source_89(Idx)
155516 , p_source_90 => l_array_source_90(Idx)
155517 , p_source_91 => l_array_source_91(Idx)
155518 , p_source_92 => l_array_source_92(Idx)
155519 , p_source_93 => l_array_source_93(Idx)
155520 , p_source_94 => l_array_source_94(Idx)
155521 , p_source_95 => l_array_source_95(Idx)
155522 , p_source_96 => l_array_source_96(Idx)
155523 , p_source_97 => l_array_source_97(Idx)
155524 , p_source_98 => l_array_source_98(Idx)
155525 , p_source_99 => l_array_source_99(Idx)
155526 , p_source_100 => l_array_source_100(Idx)
155527 , p_source_146 => g_array_event(l_event_id).array_value_date('source_146')
155528 , p_source_147 => g_array_event(l_event_id).array_value_num('source_147')
155529 , p_source_148 => g_array_event(l_event_id).array_value_char('source_148')
155530 );
155531 If(l_balance_type_code = 'A') THEN
155532 l_actual_gain_loss_ref := l_gain_or_loss_ref;
155533 END IF;
155534
155535 --
155536
155537
155538 --
155539 AcctLineType_235 (
155540 p_application_id => p_application_id
155541 ,p_event_id => l_event_id
155542 ,p_calculate_acctd_flag => l_calculate_acctd_flag
155543 ,p_calculate_g_l_flag => l_calculate_g_l_flag
155544 ,p_actual_flag => l_actual_flag
155545 ,p_balance_type_code => l_balance_type_code
155546 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
155547
155548 , p_source_1 => l_array_source_1(Idx)
155549 , p_source_10 => g_array_event(l_event_id).array_value_char('source_10')
155550 , p_source_10_meaning => g_array_event(l_event_id).array_value_char('source_10_meaning')
155551 , p_source_16 => l_array_source_16(Idx)
155552 , p_source_25 => l_array_source_25(Idx)
155553 , p_source_28 => l_array_source_28(Idx)
155554 , p_source_28_meaning => l_array_source_28_meaning(Idx)
155555 , p_source_39 => l_array_source_39(Idx)
155556 , p_source_58 => l_array_source_58(Idx)
155557 , p_source_60 => l_array_source_60(Idx)
155558 , p_source_62 => l_array_source_62(Idx)
155559 , p_source_63 => g_array_event(l_event_id).array_value_num('source_63')
155560 , p_source_69 => l_array_source_69(Idx)
155561 , p_source_70 => l_array_source_70(Idx)
155562 , p_source_71 => l_array_source_71(Idx)
155563 , p_source_72 => g_array_event(l_event_id).array_value_char('source_72')
155564 , p_source_73 => l_array_source_73(Idx)
155565 , p_source_74 => l_array_source_74(Idx)
155566 , p_source_75 => l_array_source_75(Idx)
155567 , p_source_76 => l_array_source_76(Idx)
155568 , p_source_77 => l_array_source_77(Idx)
155569 , p_source_78 => l_array_source_78(Idx)
155570 , p_source_82 => l_array_source_82(Idx)
155571 , p_source_83 => l_array_source_83(Idx)
155572 , p_source_84 => l_array_source_84(Idx)
155573 , p_source_85 => l_array_source_85(Idx)
155574 , p_source_85_meaning => l_array_source_85_meaning(Idx)
155575 , p_source_86 => g_array_event(l_event_id).array_value_num('source_86')
155576 , p_source_87 => g_array_event(l_event_id).array_value_num('source_87')
155577 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
155578 , p_source_89 => l_array_source_89(Idx)
155579 , p_source_90 => l_array_source_90(Idx)
155580 , p_source_91 => l_array_source_91(Idx)
155581 , p_source_92 => l_array_source_92(Idx)
155582 , p_source_93 => l_array_source_93(Idx)
155583 , p_source_94 => l_array_source_94(Idx)
155584 , p_source_95 => l_array_source_95(Idx)
155585 , p_source_96 => l_array_source_96(Idx)
155586 , p_source_97 => l_array_source_97(Idx)
155587 , p_source_98 => l_array_source_98(Idx)
155588 , p_source_99 => l_array_source_99(Idx)
155589 , p_source_100 => l_array_source_100(Idx)
155590 , p_source_146 => g_array_event(l_event_id).array_value_date('source_146')
155591 , p_source_147 => g_array_event(l_event_id).array_value_num('source_147')
155592 , p_source_148 => g_array_event(l_event_id).array_value_char('source_148')
155593 );
155594 If(l_balance_type_code = 'A') THEN
155595 l_actual_gain_loss_ref := l_gain_or_loss_ref;
155596 END IF;
155597
155598 --
155599
155603 IF (((l_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
155600 -- only execute it if calculate g/l flag is yes, and primary or secondary ledger
155601 -- or secondary ledger that has different currency with primary
155602 -- or alc that is calculated by sla
155604 (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'))
155605
155606 -- IF((l_calculate_g_l_flag='Y' or XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id <>
155607 -- XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id)
155608 AND (l_actual_flag = 'A')) THEN
155609 XLA_AE_LINES_PKG.CreateGainOrLossLines(
155610 p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
155611 ,p_application_id => p_application_id
155612 ,p_amb_context_code => 'DEFAULT'
155613 ,p_entity_code => xla_ae_journal_entry_pkg.g_cache_event.entity_code
155614 ,p_event_class_code => C_EVENT_CLASS_CODE
155615 ,p_event_type_code => C_EVENT_TYPE_CODE
155616
155617 ,p_gain_ccid => -1
155618 ,p_loss_ccid => -1
155619
155620 ,p_actual_flag => l_actual_flag
155621 ,p_enc_flag => null
155622 ,p_actual_g_l_ref => l_actual_gain_loss_ref
155623 ,p_enc_g_l_ref => null
155624 );
155625 END IF;
155626 END IF;
155627 END IF;
155628
155629 ELSE
155630 --
155631 -- Bug 4872078 - Do nothing if the event is meant for transaction reversal
155632 --
155633 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
155634 trace
155635 (p_msg => 'Trancaction revesal option is Y'
155636 ,p_level => C_LEVEL_STATEMENT
155637 ,p_module => l_log_module);
155638 END IF;
155639 END IF;
155640
155641 END LOOP;
155642 l_result := XLA_AE_LINES_PKG.InsertLines ;
155643 end loop;
155644 close line_cur;
155645
155646
155647 --
155648 -- insert headers into xla_ae_headers_gt table
155649 --
155650 l_result := XLA_AE_HEADER_PKG.InsertHeaders ;
155651
155652 -- insert into errors table here.
155653
155654 END LOOP;
155655
155656 --
155657 -- 4865292
155658 --
155659 -- Compare g_hdr_extract_count with event count in
155660 -- CreateHeadersAndLines.
155661 --
155662 g_hdr_extract_count := g_hdr_extract_count + header_cur%ROWCOUNT;
155663
155664 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
155665 trace (p_msg => '# rows extracted from header extract objects '
155666 || ' (running total): '
155667 || g_hdr_extract_count
155668 ,p_level => C_LEVEL_STATEMENT
155669 ,p_module => l_log_module);
155670 END IF;
155671
155672 CLOSE header_cur;
155673 --
155674
155675 --
155676 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
155677 trace
155678 (p_msg => 'END of EventClass_248'
155679 ,p_level => C_LEVEL_PROCEDURE
155680 ,p_module => l_log_module);
155681 END IF;
155682 --
155683 RETURN l_result;
155684 EXCEPTION
155685 WHEN xla_exceptions_pkg.application_exception THEN
155686
155687 IF header_cur%ISOPEN THEN CLOSE header_cur; END IF;
155688
155689
155690 IF line_cur%ISOPEN THEN CLOSE line_cur; END IF;
155691
155692 RAISE;
155693
155694 WHEN NO_DATA_FOUND THEN
155695
155696 IF header_cur%ISOPEN THEN CLOSE header_cur; END IF;
155697 IF line_cur%ISOPEN THEN CLOSE line_cur; END IF;
155698
155699 FOR header_record IN header_cur
155700 LOOP
155701 l_array_header_events(header_record.event_id) := header_record.event_id;
155702 END LOOP;
155703
155704 l_first_event_id := l_array_header_events(l_array_header_events.FIRST);
155705 l_last_event_id := l_array_header_events(l_array_header_events.LAST);
155706
155707 fnd_file.put_line(fnd_file.LOG, ' ');
155708 fnd_file.put_line(fnd_file.LOG, '***************************************************************************');
155709 fnd_file.put_line(fnd_file.LOG, 'EVENT CLASS CODE = ' || C_EVENT_CLASS_CODE );
155710 fnd_file.put_line(fnd_file.LOG, 'The following events are present in the line extract but MISSING in the header extract: ');
155711
155712 FOR line_record IN line_cur(l_first_event_id, l_last_event_id)
155713 LOOP
155714 IF (NOT l_array_header_events.EXISTS(line_record.event_id)) AND (NOT l_array_duplicate_checker.EXISTS(line_record.event_id)) THEN
155715 fnd_file.put_line(fnd_file.log, 'Event_id = ' || line_record.event_id);
155716 l_array_duplicate_checker(line_record.event_id) := line_record.event_id;
155717 END IF;
155718 END LOOP;
155719
155720 fnd_file.put_line(fnd_file.LOG, '***************************************************************************');
155721 fnd_file.put_line(fnd_file.LOG, ' ');
155722
155723
155724 xla_exceptions_pkg.raise_message
155725 (p_location => 'XLA_00200_AAD_S_000012_PKG.EventClass_248');
155726
155727
155728 WHEN OTHERS THEN
155729 xla_exceptions_pkg.raise_message
155730 (p_location => 'XLA_00200_AAD_S_000012_PKG.EventClass_248');
155731 END EventClass_248;
155732 --
155733
155734 ---------------------------------------
155735 --
155736 -- PRIVATE PROCEDURE
155737 -- insert_sources_249
155738 --
155739 ----------------------------------------
155740 --
155741 PROCEDURE insert_sources_249(
155742 p_target_ledger_id IN NUMBER
155743 , p_language IN VARCHAR2
155744 , p_sla_ledger_id IN NUMBER
155745 , p_pad_start_date IN DATE
155746 , p_pad_end_date IN DATE
155750 C_EVENT_TYPE_CODE CONSTANT VARCHAR2(30) := 'DEBIT MEMOS_ALL';
155747 )
155748 IS
155749
155751 C_EVENT_CLASS_CODE CONSTANT VARCHAR2(30) := 'DEBIT MEMOS';
155752 p_apps_owner VARCHAR2(30);
155753 l_log_module VARCHAR2(240);
155754 BEGIN
155755 IF g_log_enabled THEN
155756 l_log_module := C_DEFAULT_MODULE||'.insert_sources_249';
155757 END IF;
155758 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
155759
155760 trace
155761 (p_msg => 'BEGIN of insert_sources_249'
155762 ,p_level => C_LEVEL_PROCEDURE
155763 ,p_module => l_log_module);
155764
155765 END IF;
155766
155767 -- select APPS owner
155768 SELECT oracle_username
155769 INTO p_apps_owner
155770 FROM fnd_oracle_userid
155771 WHERE read_only_flag = 'U'
155772 ;
155773
155774 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
155775 trace
155776 (p_msg => 'p_target_ledger_id = '||p_target_ledger_id||
155777 ' - p_language = '||p_language||
155778 ' - p_sla_ledger_id = '||p_sla_ledger_id ||
155779 ' - p_pad_start_date = '||TO_CHAR(p_pad_start_date)||
155780 ' - p_pad_end_date = '||TO_CHAR(p_pad_end_date)||
155781 ' - p_apps_owner = '||TO_CHAR(p_apps_owner)
155782 ,p_level => C_LEVEL_STATEMENT
155783 ,p_module => l_log_module);
155784 END IF;
155785
155786
155787 --
155788 INSERT INTO xla_diag_sources --hdr2
155789 (
155790 event_id
155791 , ledger_id
155792 , sla_ledger_id
155793 , description_language
155794 , object_name
155795 , object_type_code
155796 , line_number
155797 , source_application_id
155798 , source_type_code
155799 , source_code
155800 , source_value
155801 , source_meaning
155802 , created_by
155803 , creation_date
155804 , last_update_date
155805 , last_updated_by
155806 , last_update_login
155807 , program_update_date
155808 , program_application_id
155809 , program_id
155810 , request_id
155811 )
155812 SELECT
155813 event_id
155814 , p_target_ledger_id
155815 , p_sla_ledger_id
155816 , p_language
155817 , object_name
155818 , object_type_code
155819 , line_number
155820 , source_application_id
155821 , source_type_code
155822 , source_code
155823 , SUBSTR(source_value ,1,1996)
155824 , SUBSTR(source_meaning ,1,200)
155825 , xla_environment_pkg.g_Usr_Id
155826 , TRUNC(SYSDATE)
155827 , TRUNC(SYSDATE)
155828 , xla_environment_pkg.g_Usr_Id
155829 , xla_environment_pkg.g_Login_Id
155830 , TRUNC(SYSDATE)
155831 , xla_environment_pkg.g_Prog_Appl_Id
155832 , xla_environment_pkg.g_Prog_Id
155833 , xla_environment_pkg.g_Req_Id
155834 FROM (
155835 SELECT xet.event_id event_id
155836 , 0 line_number
155837 , CASE r
155838 WHEN 1 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
155839 WHEN 2 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
155840 WHEN 3 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
155841 WHEN 4 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
155842 WHEN 5 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
155843 WHEN 6 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
155844 WHEN 7 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
155845 WHEN 8 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
155846 WHEN 9 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
155847 WHEN 10 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
155848 WHEN 11 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
155849 WHEN 12 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
155850 WHEN 13 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
155851 WHEN 14 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
155852 WHEN 15 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
155853 WHEN 16 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
155854 WHEN 17 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
155855
155856 ELSE null
155857 END object_name
155858 , CASE r
155859 WHEN 1 THEN 'HEADER'
155860 WHEN 2 THEN 'HEADER'
155861 WHEN 3 THEN 'HEADER'
155862 WHEN 4 THEN 'HEADER'
155863 WHEN 5 THEN 'HEADER'
155864 WHEN 6 THEN 'HEADER'
155865 WHEN 7 THEN 'HEADER'
155866 WHEN 8 THEN 'HEADER'
155867 WHEN 9 THEN 'HEADER'
155868 WHEN 10 THEN 'HEADER'
155869 WHEN 11 THEN 'HEADER'
155870 WHEN 12 THEN 'HEADER'
155871 WHEN 13 THEN 'HEADER'
155872 WHEN 14 THEN 'HEADER'
155873 WHEN 15 THEN 'HEADER'
155874 WHEN 16 THEN 'HEADER'
155875 WHEN 17 THEN 'HEADER'
155876
155877 ELSE null
155878 END object_type_code
155879 , CASE r
155880 WHEN 1 THEN '200'
155881 WHEN 2 THEN '200'
155882 WHEN 3 THEN '200'
155883 WHEN 4 THEN '200'
155884 WHEN 5 THEN '200'
155885 WHEN 6 THEN '200'
155886 WHEN 7 THEN '200'
155887 WHEN 8 THEN '200'
155888 WHEN 9 THEN '200'
155889 WHEN 10 THEN '200'
155890 WHEN 11 THEN '200'
155891 WHEN 12 THEN '200'
155892 WHEN 13 THEN '200'
155893 WHEN 14 THEN '200'
155897
155894 WHEN 15 THEN '200'
155895 WHEN 16 THEN '200'
155896 WHEN 17 THEN '200'
155898 ELSE null
155899 END source_application_id
155900 , 'S' source_type_code
155901 , CASE r
155902 WHEN 1 THEN 'ASP_AUTOMATIC_OFFSETS_VALUE'
155903 WHEN 2 THEN 'ASP_RATE_VAR_GAIN_CCID'
155904 WHEN 3 THEN 'ASP_RATE_VAR_LOSS_CCID'
155905 WHEN 4 THEN 'AI_ACCTS_PAY_CCID'
155906 WHEN 5 THEN 'FSP_RETAINAGE_ACCOUNT'
155907 WHEN 6 THEN 'ASP_AUTO_OFFSET_FLAG'
155908 WHEN 7 THEN 'AI_INVOICE_ID'
155909 WHEN 8 THEN 'AI_INVOICE_CURRENCY_CODE'
155910 WHEN 9 THEN 'AI_VENDOR_ID'
155911 WHEN 10 THEN 'AI_VENDOR_SITE_ID'
155912 WHEN 11 THEN 'THIRD_PARTY_TYPE'
155913 WHEN 12 THEN 'INV_EXCHANGE_DATE'
155914 WHEN 13 THEN 'INV_EXCHANGE_RATE'
155915 WHEN 14 THEN 'INV_EXCHANGE_RATE_TYPE'
155916 WHEN 15 THEN 'INV_DOC_SEQUENCE_CATEGORY'
155917 WHEN 16 THEN 'INV_DOC_SEQUENCE_IDENTIFIER'
155918 WHEN 17 THEN 'INV_DOC_SEQUENCE_VALUE'
155919
155920 ELSE null
155921 END source_code
155922 , CASE r
155923 WHEN 1 THEN TO_CHAR(h4.ASP_AUTOMATIC_OFFSETS_VALUE)
155924 WHEN 2 THEN TO_CHAR(h4.ASP_RATE_VAR_GAIN_CCID)
155925 WHEN 3 THEN TO_CHAR(h4.ASP_RATE_VAR_LOSS_CCID)
155926 WHEN 4 THEN TO_CHAR(h2.AI_ACCTS_PAY_CCID)
155927 WHEN 5 THEN TO_CHAR(h4.FSP_RETAINAGE_ACCOUNT)
155928 WHEN 6 THEN TO_CHAR(h4.ASP_AUTO_OFFSET_FLAG)
155929 WHEN 7 THEN TO_CHAR(h2.AI_INVOICE_ID)
155930 WHEN 8 THEN TO_CHAR(h2.AI_INVOICE_CURRENCY_CODE)
155931 WHEN 9 THEN TO_CHAR(h2.AI_VENDOR_ID)
155932 WHEN 10 THEN TO_CHAR(h2.AI_VENDOR_SITE_ID)
155933 WHEN 11 THEN TO_CHAR(h2.THIRD_PARTY_TYPE)
155934 WHEN 12 THEN TO_CHAR(h2.INV_EXCHANGE_DATE)
155935 WHEN 13 THEN TO_CHAR(h2.INV_EXCHANGE_RATE)
155936 WHEN 14 THEN TO_CHAR(h2.INV_EXCHANGE_RATE_TYPE)
155937 WHEN 15 THEN TO_CHAR(h2.INV_DOC_SEQUENCE_CATEGORY)
155938 WHEN 16 THEN TO_CHAR(h2.INV_DOC_SEQUENCE_IDENTIFIER)
155939 WHEN 17 THEN TO_CHAR(h2.INV_DOC_SEQUENCE_VALUE)
155940
155941 ELSE null
155942 END source_value
155943 , CASE r
155944 WHEN 1 THEN fvl10.meaning
155945 WHEN 6 THEN fvl43.meaning
155946
155947 ELSE null
155948 END source_meaning
155949 FROM xla_events_gt xet
155950 , AP_INVOICE_EXTRACT_HEADER_V h2
155951 , AP_SYSTEM_PARAMETERS_EXTRACT_V h4
155952 , fnd_lookup_values fvl10
155953 , fnd_lookup_values fvl43
155954 ,(select rownum r from all_objects where rownum <= 17 and owner = p_apps_owner)
155955 WHERE xet.event_date between p_pad_start_date AND p_pad_end_date
155956 AND xet.event_class_code = C_EVENT_CLASS_CODE
155957 AND h2.event_id = xet.event_id
155958 AND h4.asp_org_id= h2.ai_org_id AND fvl10.lookup_type(+) = 'LIABILITY FLEXBUILD METHOD'
155959 AND fvl10.lookup_code(+) = h4.ASP_AUTOMATIC_OFFSETS_VALUE
155960 AND fvl10.view_application_id(+) = 200
155961 AND fvl10.language(+) = USERENV('LANG')
155962 AND fvl43.lookup_type(+) = 'YES_NO'
155963 AND fvl43.lookup_code(+) = h4.ASP_AUTO_OFFSET_FLAG
155964 AND fvl43.view_application_id(+) = 0
155965 AND fvl43.language(+) = USERENV('LANG')
155966
155967 )
155968 ;
155969 --
155970 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
155971
155972 trace
155973 (p_msg => 'number of header sources inserted = '||SQL%ROWCOUNT
155974 ,p_level => C_LEVEL_STATEMENT
155975 ,p_module => l_log_module);
155976
155977 END IF;
155978 --
155979
155980
155981
155982 --
155983 INSERT INTO xla_diag_sources --line2
155984 (
155985 event_id
155986 , ledger_id
155987 , sla_ledger_id
155988 , description_language
155989 , object_name
155990 , object_type_code
155991 , line_number
155992 , source_application_id
155993 , source_type_code
155994 , source_code
155995 , source_value
155996 , source_meaning
155997 , created_by
155998 , creation_date
155999 , last_update_date
156000 , last_updated_by
156001 , last_update_login
156002 , program_update_date
156003 , program_application_id
156004 , program_id
156005 , request_id
156006 )
156007 SELECT event_id
156008 , p_target_ledger_id
156009 , p_sla_ledger_id
156010 , p_language
156011 , object_name
156012 , object_type_code
156013 , line_number
156014 , source_application_id
156015 , source_type_code
156016 , source_code
156017 , SUBSTR(source_value,1,1996)
156018 , SUBSTR(source_meaning ,1,200)
156019 , xla_environment_pkg.g_Usr_Id
156020 , TRUNC(SYSDATE)
156021 , TRUNC(SYSDATE)
156022 , xla_environment_pkg.g_Usr_Id
156023 , xla_environment_pkg.g_Login_Id
156024 , TRUNC(SYSDATE)
156025 , xla_environment_pkg.g_Prog_Appl_Id
156026 , xla_environment_pkg.g_Prog_Id
156027 , xla_environment_pkg.g_Req_Id
156028 FROM (
156029 SELECT xet.event_id event_id
156030 , l1.line_number line_number
156031 , CASE r
156035 WHEN 4 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
156032 WHEN 1 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
156033 WHEN 2 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
156034 WHEN 3 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
156036 WHEN 5 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
156037 WHEN 6 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
156038 WHEN 7 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
156039 WHEN 8 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
156040 WHEN 9 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
156041 WHEN 10 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
156042 WHEN 11 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
156043 WHEN 12 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
156044 WHEN 13 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
156045 WHEN 14 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
156046 WHEN 15 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
156047 WHEN 16 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
156048 WHEN 17 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
156049 WHEN 18 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
156050 WHEN 19 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
156051 WHEN 20 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
156052 WHEN 21 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
156053 WHEN 22 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
156054 WHEN 23 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
156055 WHEN 24 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
156056 WHEN 25 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
156057 WHEN 26 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
156058 WHEN 27 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
156059 WHEN 28 THEN 'AP_PO_HEADERS_EXTRACT_V'
156060 WHEN 29 THEN 'AP_PO_HEADERS_EXTRACT_V'
156061 WHEN 30 THEN 'AP_PO_HEADERS_EXTRACT_V'
156062 WHEN 31 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
156063 WHEN 32 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
156064 WHEN 33 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
156065 WHEN 34 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
156066 WHEN 35 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
156067 WHEN 36 THEN 'ZX_AP_DEF_TAX_EXTRACT_V'
156068 WHEN 37 THEN 'ZX_AP_TAX_JRNL_LINE_DESC_V'
156069 WHEN 38 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
156070 WHEN 39 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
156071 WHEN 40 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
156072 WHEN 41 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
156073 WHEN 42 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
156074 WHEN 43 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
156075 WHEN 44 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
156076 WHEN 45 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
156077 WHEN 46 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
156078
156079 ELSE null
156080 END object_name
156081 , CASE r
156082 WHEN 1 THEN 'LINE'
156083 WHEN 2 THEN 'LINE'
156084 WHEN 3 THEN 'LINE'
156085 WHEN 4 THEN 'LINE'
156086 WHEN 5 THEN 'LINE'
156087 WHEN 6 THEN 'LINE'
156088 WHEN 7 THEN 'LINE'
156089 WHEN 8 THEN 'LINE'
156090 WHEN 9 THEN 'LINE'
156091 WHEN 10 THEN 'LINE'
156092 WHEN 11 THEN 'LINE'
156093 WHEN 12 THEN 'LINE'
156094 WHEN 13 THEN 'LINE'
156095 WHEN 14 THEN 'LINE'
156096 WHEN 15 THEN 'LINE'
156097 WHEN 16 THEN 'LINE'
156098 WHEN 17 THEN 'LINE'
156099 WHEN 18 THEN 'LINE'
156100 WHEN 19 THEN 'LINE'
156101 WHEN 20 THEN 'LINE'
156102 WHEN 21 THEN 'LINE'
156103 WHEN 22 THEN 'LINE'
156104 WHEN 23 THEN 'LINE'
156105 WHEN 24 THEN 'LINE'
156106 WHEN 25 THEN 'LINE'
156107 WHEN 26 THEN 'LINE'
156108 WHEN 27 THEN 'LINE'
156109 WHEN 28 THEN 'LINE'
156110 WHEN 29 THEN 'LINE'
156111 WHEN 30 THEN 'LINE'
156112 WHEN 31 THEN 'LINE'
156113 WHEN 32 THEN 'LINE'
156114 WHEN 33 THEN 'LINE'
156115 WHEN 34 THEN 'LINE'
156116 WHEN 35 THEN 'LINE'
156117 WHEN 36 THEN 'LINE'
156118 WHEN 37 THEN 'LINE'
156119 WHEN 38 THEN 'LINE'
156120 WHEN 39 THEN 'LINE'
156121 WHEN 40 THEN 'LINE'
156122 WHEN 41 THEN 'LINE'
156123 WHEN 42 THEN 'LINE'
156124 WHEN 43 THEN 'LINE'
156125 WHEN 44 THEN 'LINE'
156126 WHEN 45 THEN 'LINE'
156127 WHEN 46 THEN 'LINE'
156128
156129 ELSE null
156130 END object_type_code
156131 , CASE r
156132 WHEN 1 THEN '200'
156133 WHEN 2 THEN '200'
156134 WHEN 3 THEN '200'
156135 WHEN 4 THEN '200'
156136 WHEN 5 THEN '200'
156137 WHEN 6 THEN '200'
156138 WHEN 7 THEN '200'
156139 WHEN 8 THEN '200'
156140 WHEN 9 THEN '200'
156141 WHEN 10 THEN '200'
156142 WHEN 11 THEN '200'
156143 WHEN 12 THEN '200'
156144 WHEN 13 THEN '200'
156145 WHEN 14 THEN '200'
156146 WHEN 15 THEN '200'
156147 WHEN 16 THEN '200'
156148 WHEN 17 THEN '200'
156149 WHEN 18 THEN '200'
156150 WHEN 19 THEN '200'
156154 WHEN 23 THEN '200'
156151 WHEN 20 THEN '200'
156152 WHEN 21 THEN '200'
156153 WHEN 22 THEN '200'
156155 WHEN 24 THEN '200'
156156 WHEN 25 THEN '200'
156157 WHEN 26 THEN '200'
156158 WHEN 27 THEN '200'
156159 WHEN 28 THEN '200'
156160 WHEN 29 THEN '200'
156161 WHEN 30 THEN '200'
156162 WHEN 31 THEN '200'
156163 WHEN 32 THEN '200'
156164 WHEN 33 THEN '200'
156165 WHEN 34 THEN '200'
156166 WHEN 35 THEN '200'
156167 WHEN 36 THEN '200'
156168 WHEN 37 THEN '200'
156169 WHEN 38 THEN '200'
156170 WHEN 39 THEN '200'
156171 WHEN 40 THEN '200'
156172 WHEN 41 THEN '200'
156173 WHEN 42 THEN '200'
156174 WHEN 43 THEN '200'
156175 WHEN 44 THEN '200'
156176 WHEN 45 THEN '200'
156177 WHEN 46 THEN '200'
156178
156179 ELSE null
156180 END source_application_id
156181 , 'S' source_type_code
156182 , CASE r
156183 WHEN 1 THEN 'AID_DESCRIPTION'
156184 WHEN 2 THEN 'INV_DIST_BASE_AMOUNT'
156185 WHEN 3 THEN 'RELATED_INV_DIST_DEST_TYPE'
156186 WHEN 4 THEN 'AID_DIST_CCID'
156187 WHEN 5 THEN 'AID_LINE_TYPE_LOOKUP_CODE'
156188 WHEN 6 THEN 'AID_RET_RELATED_DIST_CCID'
156189 WHEN 7 THEN 'AWT_RELATED_DIST_ACCOUNT'
156190 WHEN 8 THEN 'SELF_ASSESSED_TAX_ACCOUNT'
156191 WHEN 9 THEN 'ASAT_LIAB_CCID'
156192 WHEN 10 THEN 'POD_ACCRUE_ON_RECEIPT_FLAG'
156193 WHEN 11 THEN 'DIST_ACCOUNT_REVERSAL_OPTION'
156194 WHEN 12 THEN 'DISTRIBUTION_LINK_TYPE'
156195 WHEN 13 THEN 'ALLOC_TO_MAIN_DIST_ID'
156196 WHEN 14 THEN 'BUS_FLOW_PO_APP_ID'
156197 WHEN 15 THEN 'BUS_FLOW_PO_DIST_TYPE'
156198 WHEN 16 THEN 'BUS_FLOW_PO_ENTITY_CODE'
156199 WHEN 17 THEN 'BUS_FLOW_PO_DIST_ID'
156200 WHEN 18 THEN 'BUS_FLOW_PO_DOC_ID'
156201 WHEN 19 THEN 'AID_INVOICE_DIST_ID'
156202 WHEN 20 THEN 'UPG_ENC_CR_CCID'
156203 WHEN 21 THEN 'UPG_ENC_CR_AMT'
156204 WHEN 22 THEN 'UPG_ENC_CR_BASE_AMT'
156205 WHEN 23 THEN 'UPG_ENC_DR_CCID'
156206 WHEN 24 THEN 'UPG_ENC_DR_AMT'
156207 WHEN 25 THEN 'UPG_ENC_DR_BASE_AMT'
156208 WHEN 26 THEN 'UPG_AP_ENCUM_OPTION'
156209 WHEN 27 THEN 'AID_AMOUNT'
156210 WHEN 28 THEN 'POH_RATE_DATE'
156211 WHEN 29 THEN 'POH_RATE'
156212 WHEN 30 THEN 'POH_RATE_TYPE'
156213 WHEN 31 THEN 'DEFERRED_END_DATE'
156214 WHEN 32 THEN 'DEFERRED_OPTION'
156215 WHEN 33 THEN 'DEFERRED_START_DATE'
156216 WHEN 34 THEN 'OVERRIDE_ACCTD_AMT_FLAG'
156217 WHEN 35 THEN 'AID_PARENT_REVERSAL_ID'
156218 WHEN 36 THEN 'TAX_LINE_ID'
156219 WHEN 37 THEN 'REC_NREC_TAX_DIST_ID'
156220 WHEN 38 THEN 'SUMMARY_TAX_LINE_ID'
156221 WHEN 39 THEN 'UPG_CR_ENC_TYPE_ID'
156222 WHEN 40 THEN 'UPG_DR_ENC_TYPE_ID'
156223 WHEN 41 THEN 'BUS_FLOW_AP_APP_ID'
156224 WHEN 42 THEN 'BUS_FLOW_INV_DIST_TYPE'
156225 WHEN 43 THEN 'BUS_FLOW_INV_ENTITY_CODE'
156226 WHEN 44 THEN 'BUS_FLOW_INV_DIST_ID'
156227 WHEN 45 THEN 'BUS_FLOW_INV_ID'
156228 WHEN 46 THEN 'SELF_ASSESSED_TAX_FLAG'
156229
156230 ELSE null
156231 END source_code
156232 , CASE r
156233 WHEN 1 THEN TO_CHAR(l1.AID_DESCRIPTION)
156234 WHEN 2 THEN TO_CHAR(l1.INV_DIST_BASE_AMOUNT)
156235 WHEN 3 THEN TO_CHAR(l1.RELATED_INV_DIST_DEST_TYPE)
156236 WHEN 4 THEN TO_CHAR(l1.AID_DIST_CCID)
156237 WHEN 5 THEN TO_CHAR(l1.AID_LINE_TYPE_LOOKUP_CODE)
156238 WHEN 6 THEN TO_CHAR(l1.AID_RET_RELATED_DIST_CCID)
156239 WHEN 7 THEN TO_CHAR(l1.AWT_RELATED_DIST_ACCOUNT)
156240 WHEN 8 THEN TO_CHAR(l1.SELF_ASSESSED_TAX_ACCOUNT)
156241 WHEN 9 THEN TO_CHAR(l1.ASAT_LIAB_CCID)
156242 WHEN 10 THEN TO_CHAR(l1.POD_ACCRUE_ON_RECEIPT_FLAG)
156243 WHEN 11 THEN TO_CHAR(l1.DIST_ACCOUNT_REVERSAL_OPTION)
156244 WHEN 12 THEN TO_CHAR(l1.DISTRIBUTION_LINK_TYPE)
156245 WHEN 13 THEN TO_CHAR(l1.ALLOC_TO_MAIN_DIST_ID)
156246 WHEN 14 THEN TO_CHAR(l1.BUS_FLOW_PO_APP_ID)
156247 WHEN 15 THEN TO_CHAR(l1.BUS_FLOW_PO_DIST_TYPE)
156248 WHEN 16 THEN TO_CHAR(l1.BUS_FLOW_PO_ENTITY_CODE)
156249 WHEN 17 THEN TO_CHAR(l1.BUS_FLOW_PO_DIST_ID)
156250 WHEN 18 THEN TO_CHAR(l1.BUS_FLOW_PO_DOC_ID)
156251 WHEN 19 THEN TO_CHAR(l1.AID_INVOICE_DIST_ID)
156252 WHEN 20 THEN TO_CHAR(l1.UPG_ENC_CR_CCID)
156253 WHEN 21 THEN TO_CHAR(l1.UPG_ENC_CR_AMT)
156254 WHEN 22 THEN TO_CHAR(l1.UPG_ENC_CR_BASE_AMT)
156255 WHEN 23 THEN TO_CHAR(l1.UPG_ENC_DR_CCID)
156256 WHEN 24 THEN TO_CHAR(l1.UPG_ENC_DR_AMT)
156257 WHEN 25 THEN TO_CHAR(l1.UPG_ENC_DR_BASE_AMT)
156258 WHEN 26 THEN TO_CHAR(l1.UPG_AP_ENCUM_OPTION)
156259 WHEN 27 THEN TO_CHAR(l1.AID_AMOUNT)
156260 WHEN 28 THEN TO_CHAR(l3.POH_RATE_DATE)
156261 WHEN 29 THEN TO_CHAR(l3.POH_RATE)
156262 WHEN 30 THEN TO_CHAR(l3.POH_RATE_TYPE)
156266 WHEN 34 THEN TO_CHAR(l1.OVERRIDE_ACCTD_AMT_FLAG)
156263 WHEN 31 THEN TO_CHAR(l1.DEFERRED_END_DATE)
156264 WHEN 32 THEN TO_CHAR(l1.DEFERRED_OPTION)
156265 WHEN 33 THEN TO_CHAR(l1.DEFERRED_START_DATE)
156267 WHEN 35 THEN TO_CHAR(l1.AID_PARENT_REVERSAL_ID)
156268 WHEN 36 THEN TO_CHAR(l5.TAX_LINE_ID)
156269 WHEN 37 THEN TO_CHAR(l6.REC_NREC_TAX_DIST_ID)
156270 WHEN 38 THEN TO_CHAR(l1.SUMMARY_TAX_LINE_ID)
156271 WHEN 39 THEN TO_CHAR(l1.UPG_CR_ENC_TYPE_ID)
156272 WHEN 40 THEN TO_CHAR(l1.UPG_DR_ENC_TYPE_ID)
156273 WHEN 41 THEN TO_CHAR(l1.BUS_FLOW_AP_APP_ID)
156274 WHEN 42 THEN TO_CHAR(l1.BUS_FLOW_INV_DIST_TYPE)
156275 WHEN 43 THEN TO_CHAR(l1.BUS_FLOW_INV_ENTITY_CODE)
156276 WHEN 44 THEN TO_CHAR(l1.BUS_FLOW_INV_DIST_ID)
156277 WHEN 45 THEN TO_CHAR(l1.BUS_FLOW_INV_ID)
156278 WHEN 46 THEN TO_CHAR(l1.SELF_ASSESSED_TAX_FLAG)
156279
156280 ELSE null
156281 END source_value
156282 , CASE r
156283 WHEN 3 THEN fvl17.meaning
156284 WHEN 5 THEN fvl28.meaning
156285 WHEN 10 THEN fvl54.meaning
156286 WHEN 34 THEN fvl85.meaning
156287 WHEN 46 THEN fvl145.meaning
156288
156289 ELSE null
156290 END source_meaning
156291 FROM xla_events_gt xet
156292 , AP_INVOICE_EXTRACT_DETAILS_V l1
156293 , AP_PO_HEADERS_EXTRACT_V l3
156294 , ZX_AP_DEF_TAX_EXTRACT_V l5
156295 , ZX_AP_TAX_JRNL_LINE_DESC_V l6
156296 , fnd_lookup_values fvl17
156297 , fnd_lookup_values fvl28
156298 , fnd_lookup_values fvl54
156299 , fnd_lookup_values fvl85
156300 , fnd_lookup_values fvl145
156301 , (select rownum r from all_objects where rownum <= 46 and owner = p_apps_owner)
156302 WHERE xet.event_date between p_pad_start_date AND p_pad_end_date
156303 AND xet.event_class_code = C_EVENT_CLASS_CODE
156304 AND l1.event_id = xet.event_id
156305 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 fvl17.lookup_type(+) = 'DESTINATION TYPE'
156306 AND fvl17.lookup_code(+) = l1.RELATED_INV_DIST_DEST_TYPE
156307 AND fvl17.view_application_id(+) = 201
156308 AND fvl17.language(+) = USERENV('LANG')
156309 AND fvl28.lookup_type(+) = 'INVOICE DISTRIBUTION TYPE'
156310 AND fvl28.lookup_code(+) = l1.AID_LINE_TYPE_LOOKUP_CODE
156311 AND fvl28.view_application_id(+) = 200
156312 AND fvl28.language(+) = USERENV('LANG')
156313 AND fvl54.lookup_type(+) = 'YES_NO'
156314 AND fvl54.lookup_code(+) = l1.POD_ACCRUE_ON_RECEIPT_FLAG
156315 AND fvl54.view_application_id(+) = 0
156316 AND fvl54.language(+) = USERENV('LANG')
156317 AND fvl85.lookup_type(+) = 'YES_NO'
156318 AND fvl85.lookup_code(+) = l1.OVERRIDE_ACCTD_AMT_FLAG
156319 AND fvl85.view_application_id(+) = 0
156320 AND fvl85.language(+) = USERENV('LANG')
156321 AND fvl145.lookup_type(+) = 'YES_NO'
156322 AND fvl145.lookup_code(+) = l1.SELF_ASSESSED_TAX_FLAG
156323 AND fvl145.view_application_id(+) = 0
156324 AND fvl145.language(+) = USERENV('LANG')
156325
156326 )
156327 ;
156328 --
156329 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
156330
156331 trace
156332 (p_msg => 'number of line sources inserted = '||SQL%ROWCOUNT
156333 ,p_level => C_LEVEL_STATEMENT
156334 ,p_module => l_log_module);
156335
156336 END IF;
156337
156338
156339 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
156340 trace
156341 (p_msg => 'END of insert_sources_249'
156342 ,p_level => C_LEVEL_PROCEDURE
156343 ,p_module => l_log_module);
156344 END IF;
156345 EXCEPTION
156346 WHEN xla_exceptions_pkg.application_exception THEN
156347 IF (C_LEVEL_EXCEPTION >= g_log_level) THEN
156348 trace
156349 (p_msg => 'ERROR: XLA_CMP_COMPILER_ERROR = '||sqlerrm
156350 ,p_level => C_LEVEL_EXCEPTION
156351 ,p_module => l_log_module);
156352 END IF;
156353 RAISE;
156354 WHEN OTHERS THEN
156355 IF (C_LEVEL_EXCEPTION >= g_log_level) THEN
156356 trace
156357 (p_msg => 'ERROR: XLA_CMP_COMPILER_ERROR = '||sqlerrm
156358 ,p_level => C_LEVEL_EXCEPTION
156359 ,p_module => l_log_module);
156360 END IF;
156361 xla_exceptions_pkg.raise_message
156362 (p_location => 'XLA_00200_AAD_S_000012_PKG.insert_sources_249');
156363 END insert_sources_249;
156364 --
156365
156366 ---------------------------------------
156367 --
156368 -- PRIVATE FUNCTION
156369 -- EventClass_249
156370 --
156371 ----------------------------------------
156372 --
156373 FUNCTION EventClass_249
156374 (p_application_id IN NUMBER
156375 ,p_base_ledger_id IN NUMBER
156376 ,p_target_ledger_id IN NUMBER
156377 ,p_language IN VARCHAR2
156378 ,p_currency_code IN VARCHAR2
156379 ,p_sla_ledger_id IN NUMBER
156380 ,p_pad_start_date IN DATE
156381 ,p_pad_end_date IN DATE
156382 ,p_primary_ledger_id IN NUMBER)
156383 RETURN BOOLEAN IS
156384 --
156385 C_EVENT_TYPE_CODE CONSTANT VARCHAR2(30) := 'DEBIT MEMOS_ALL';
156386 C_EVENT_CLASS_CODE CONSTANT VARCHAR2(30) := 'DEBIT MEMOS';
156387
156388 l_calculate_acctd_flag VARCHAR2(1) :='N';
156389 l_calculate_g_l_flag VARCHAR2(1) :='N';
156390 --
156394 l_array_transaction_num XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
156391 l_array_legal_entity_id XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
156392 l_array_entity_id XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
156393 l_array_entity_code XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
156395 l_array_event_id XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
156396 l_array_class_code XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
156397 l_array_event_type XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
156398 l_array_event_number XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
156399 l_array_event_date XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
156400 l_array_transaction_date XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
156401 l_array_reference_num_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
156402 l_array_reference_num_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
156403 l_array_reference_num_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
156404 l_array_reference_num_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
156405 l_array_reference_char_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
156406 l_array_reference_char_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
156407 l_array_reference_char_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
156408 l_array_reference_char_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
156409 l_array_reference_date_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
156410 l_array_reference_date_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
156411 l_array_reference_date_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
156412 l_array_reference_date_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
156413 l_array_event_created_by XLA_AE_JOURNAL_ENTRY_PKG.t_array_V100L;
156414 l_array_budgetary_control_flag XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
156415 l_array_header_events XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num; --added
156416 l_array_duplicate_checker XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num; --added
156417
156418 l_event_id NUMBER;
156419 l_previous_event_id NUMBER;
156420 l_first_event_id NUMBER;
156421 l_last_event_id NUMBER;
156422
156423 l_rec_acct_attrs XLA_AE_HEADER_PKG.t_rec_acct_attrs;
156424 l_rec_rev_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
156425 --
156426 --
156427 l_result BOOLEAN := TRUE;
156428 l_rows NUMBER := 1000;
156429 l_event_type_name VARCHAR2(80) := 'All';
156430 l_event_class_name VARCHAR2(80) := 'Debit Memos';
156431 l_description VARCHAR2(4000);
156432 l_transaction_reversal NUMBER;
156433 l_ae_header_id NUMBER;
156434 l_array_extract_line_num xla_ae_journal_entry_pkg.t_array_Num;
156435 l_log_module VARCHAR2(240);
156436 --
156437 l_acct_reversal_source VARCHAR2(30);
156438 l_trx_reversal_source VARCHAR2(30);
156439
156440 l_continue_with_lines BOOLEAN := TRUE;
156441 --
156442 l_acc_rev_gl_date_source DATE; -- 4262811
156443 --
156444 type t_array_event_id is table of number index by binary_integer;
156445
156446 l_rec_array_event t_rec_array_event;
156447 l_null_rec_array_event t_rec_array_event;
156448 l_array_ae_header_id xla_number_array_type;
156449 l_actual_flag VARCHAR2(1) := NULL;
156450 l_actual_gain_loss_ref VARCHAR2(30) := '#####';
156451 l_balance_type_code VARCHAR2(1) :=NULL;
156452 l_gain_or_loss_ref VARCHAR2(30) :=NULL;
156453
156454 --
156455 TYPE t_array_lookup_meaning IS TABLE OF fnd_lookup_values.meaning%TYPE INDEX BY BINARY_INTEGER;
156456 --
156457
156458 TYPE t_array_source_10 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_AUTOMATIC_OFFSETS_VALUE%TYPE INDEX BY BINARY_INTEGER;
156459 TYPE t_array_source_15 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_RATE_VAR_GAIN_CCID%TYPE INDEX BY BINARY_INTEGER;
156460 TYPE t_array_source_18 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_RATE_VAR_LOSS_CCID%TYPE INDEX BY BINARY_INTEGER;
156461 TYPE t_array_source_29 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_ACCTS_PAY_CCID%TYPE INDEX BY BINARY_INTEGER;
156462 TYPE t_array_source_35 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.FSP_RETAINAGE_ACCOUNT%TYPE INDEX BY BINARY_INTEGER;
156463 TYPE t_array_source_43 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_AUTO_OFFSET_FLAG%TYPE INDEX BY BINARY_INTEGER;
156464 TYPE t_array_source_63 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_INVOICE_ID%TYPE INDEX BY BINARY_INTEGER;
156465 TYPE t_array_source_72 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_INVOICE_CURRENCY_CODE%TYPE INDEX BY BINARY_INTEGER;
156466 TYPE t_array_source_86 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_VENDOR_ID%TYPE INDEX BY BINARY_INTEGER;
156467 TYPE t_array_source_87 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_VENDOR_SITE_ID%TYPE INDEX BY BINARY_INTEGER;
156468 TYPE t_array_source_88 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.THIRD_PARTY_TYPE%TYPE INDEX BY BINARY_INTEGER;
156469 TYPE t_array_source_146 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_EXCHANGE_DATE%TYPE INDEX BY BINARY_INTEGER;
156470 TYPE t_array_source_147 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_EXCHANGE_RATE%TYPE INDEX BY BINARY_INTEGER;
156471 TYPE t_array_source_148 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_EXCHANGE_RATE_TYPE%TYPE INDEX BY BINARY_INTEGER;
156472 TYPE t_array_source_171 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_DOC_SEQUENCE_CATEGORY%TYPE INDEX BY BINARY_INTEGER;
156473 TYPE t_array_source_172 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_DOC_SEQUENCE_IDENTIFIER%TYPE INDEX BY BINARY_INTEGER;
156474 TYPE t_array_source_173 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_DOC_SEQUENCE_VALUE%TYPE INDEX BY BINARY_INTEGER;
156475
156476 TYPE t_array_source_1 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_DESCRIPTION%TYPE INDEX BY BINARY_INTEGER;
156477 TYPE t_array_source_16 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.INV_DIST_BASE_AMOUNT%TYPE INDEX BY BINARY_INTEGER;
156481 TYPE t_array_source_38 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_RET_RELATED_DIST_CCID%TYPE INDEX BY BINARY_INTEGER;
156478 TYPE t_array_source_17 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.RELATED_INV_DIST_DEST_TYPE%TYPE INDEX BY BINARY_INTEGER;
156479 TYPE t_array_source_25 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_DIST_CCID%TYPE INDEX BY BINARY_INTEGER;
156480 TYPE t_array_source_28 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_LINE_TYPE_LOOKUP_CODE%TYPE INDEX BY BINARY_INTEGER;
156482 TYPE t_array_source_39 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AWT_RELATED_DIST_ACCOUNT%TYPE INDEX BY BINARY_INTEGER;
156483 TYPE t_array_source_46 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.SELF_ASSESSED_TAX_ACCOUNT%TYPE INDEX BY BINARY_INTEGER;
156484 TYPE t_array_source_47 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.ASAT_LIAB_CCID%TYPE INDEX BY BINARY_INTEGER;
156485 TYPE t_array_source_54 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.POD_ACCRUE_ON_RECEIPT_FLAG%TYPE INDEX BY BINARY_INTEGER;
156486 TYPE t_array_source_58 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.DIST_ACCOUNT_REVERSAL_OPTION%TYPE INDEX BY BINARY_INTEGER;
156487 TYPE t_array_source_60 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.DISTRIBUTION_LINK_TYPE%TYPE INDEX BY BINARY_INTEGER;
156488 TYPE t_array_source_62 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.ALLOC_TO_MAIN_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
156489 TYPE t_array_source_64 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_PO_APP_ID%TYPE INDEX BY BINARY_INTEGER;
156490 TYPE t_array_source_65 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_PO_DIST_TYPE%TYPE INDEX BY BINARY_INTEGER;
156491 TYPE t_array_source_66 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_PO_ENTITY_CODE%TYPE INDEX BY BINARY_INTEGER;
156492 TYPE t_array_source_67 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_PO_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
156493 TYPE t_array_source_68 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_PO_DOC_ID%TYPE INDEX BY BINARY_INTEGER;
156494 TYPE t_array_source_69 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_INVOICE_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
156495 TYPE t_array_source_70 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_ENC_CR_CCID%TYPE INDEX BY BINARY_INTEGER;
156496 TYPE t_array_source_71 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_ENC_CR_AMT%TYPE INDEX BY BINARY_INTEGER;
156497 TYPE t_array_source_73 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_ENC_CR_BASE_AMT%TYPE INDEX BY BINARY_INTEGER;
156498 TYPE t_array_source_74 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_ENC_DR_CCID%TYPE INDEX BY BINARY_INTEGER;
156499 TYPE t_array_source_75 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_ENC_DR_AMT%TYPE INDEX BY BINARY_INTEGER;
156500 TYPE t_array_source_76 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_ENC_DR_BASE_AMT%TYPE INDEX BY BINARY_INTEGER;
156501 TYPE t_array_source_77 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_AP_ENCUM_OPTION%TYPE INDEX BY BINARY_INTEGER;
156502 TYPE t_array_source_78 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_AMOUNT%TYPE INDEX BY BINARY_INTEGER;
156503 TYPE t_array_source_79 IS TABLE OF AP_PO_HEADERS_EXTRACT_V.POH_RATE_DATE%TYPE INDEX BY BINARY_INTEGER;
156504 TYPE t_array_source_80 IS TABLE OF AP_PO_HEADERS_EXTRACT_V.POH_RATE%TYPE INDEX BY BINARY_INTEGER;
156505 TYPE t_array_source_81 IS TABLE OF AP_PO_HEADERS_EXTRACT_V.POH_RATE_TYPE%TYPE INDEX BY BINARY_INTEGER;
156506 TYPE t_array_source_82 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.DEFERRED_END_DATE%TYPE INDEX BY BINARY_INTEGER;
156507 TYPE t_array_source_83 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.DEFERRED_OPTION%TYPE INDEX BY BINARY_INTEGER;
156508 TYPE t_array_source_84 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.DEFERRED_START_DATE%TYPE INDEX BY BINARY_INTEGER;
156509 TYPE t_array_source_85 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.OVERRIDE_ACCTD_AMT_FLAG%TYPE INDEX BY BINARY_INTEGER;
156510 TYPE t_array_source_89 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_PARENT_REVERSAL_ID%TYPE INDEX BY BINARY_INTEGER;
156511 TYPE t_array_source_91 IS TABLE OF ZX_AP_DEF_TAX_EXTRACT_V.TAX_LINE_ID%TYPE INDEX BY BINARY_INTEGER;
156512 TYPE t_array_source_92 IS TABLE OF ZX_AP_TAX_JRNL_LINE_DESC_V.REC_NREC_TAX_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
156513 TYPE t_array_source_93 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.SUMMARY_TAX_LINE_ID%TYPE INDEX BY BINARY_INTEGER;
156514 TYPE t_array_source_94 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_CR_ENC_TYPE_ID%TYPE INDEX BY BINARY_INTEGER;
156515 TYPE t_array_source_95 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_DR_ENC_TYPE_ID%TYPE INDEX BY BINARY_INTEGER;
156516 TYPE t_array_source_96 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_AP_APP_ID%TYPE INDEX BY BINARY_INTEGER;
156517 TYPE t_array_source_97 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_INV_DIST_TYPE%TYPE INDEX BY BINARY_INTEGER;
156518 TYPE t_array_source_98 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_INV_ENTITY_CODE%TYPE INDEX BY BINARY_INTEGER;
156519 TYPE t_array_source_99 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_INV_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
156520 TYPE t_array_source_100 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_INV_ID%TYPE INDEX BY BINARY_INTEGER;
156521 TYPE t_array_source_145 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.SELF_ASSESSED_TAX_FLAG%TYPE INDEX BY BINARY_INTEGER;
156522
156523 l_array_source_10 t_array_source_10;
156524 l_array_source_10_meaning t_array_lookup_meaning;
156525 l_array_source_15 t_array_source_15;
156526 l_array_source_18 t_array_source_18;
156527 l_array_source_29 t_array_source_29;
156528 l_array_source_35 t_array_source_35;
156529 l_array_source_43 t_array_source_43;
156530 l_array_source_43_meaning t_array_lookup_meaning;
156531 l_array_source_63 t_array_source_63;
156532 l_array_source_72 t_array_source_72;
156533 l_array_source_86 t_array_source_86;
156534 l_array_source_87 t_array_source_87;
156535 l_array_source_88 t_array_source_88;
156536 l_array_source_146 t_array_source_146;
156537 l_array_source_147 t_array_source_147;
156538 l_array_source_148 t_array_source_148;
156539 l_array_source_171 t_array_source_171;
156540 l_array_source_172 t_array_source_172;
156541 l_array_source_173 t_array_source_173;
156542
156543 l_array_source_1 t_array_source_1;
156544 l_array_source_16 t_array_source_16;
156545 l_array_source_17 t_array_source_17;
156546 l_array_source_17_meaning t_array_lookup_meaning;
156550 l_array_source_38 t_array_source_38;
156547 l_array_source_25 t_array_source_25;
156548 l_array_source_28 t_array_source_28;
156549 l_array_source_28_meaning t_array_lookup_meaning;
156551 l_array_source_39 t_array_source_39;
156552 l_array_source_46 t_array_source_46;
156553 l_array_source_47 t_array_source_47;
156554 l_array_source_54 t_array_source_54;
156555 l_array_source_54_meaning t_array_lookup_meaning;
156556 l_array_source_58 t_array_source_58;
156557 l_array_source_60 t_array_source_60;
156558 l_array_source_62 t_array_source_62;
156559 l_array_source_64 t_array_source_64;
156560 l_array_source_65 t_array_source_65;
156561 l_array_source_66 t_array_source_66;
156562 l_array_source_67 t_array_source_67;
156563 l_array_source_68 t_array_source_68;
156564 l_array_source_69 t_array_source_69;
156565 l_array_source_70 t_array_source_70;
156566 l_array_source_71 t_array_source_71;
156567 l_array_source_73 t_array_source_73;
156568 l_array_source_74 t_array_source_74;
156569 l_array_source_75 t_array_source_75;
156570 l_array_source_76 t_array_source_76;
156571 l_array_source_77 t_array_source_77;
156572 l_array_source_78 t_array_source_78;
156573 l_array_source_79 t_array_source_79;
156574 l_array_source_80 t_array_source_80;
156575 l_array_source_81 t_array_source_81;
156576 l_array_source_82 t_array_source_82;
156577 l_array_source_83 t_array_source_83;
156578 l_array_source_84 t_array_source_84;
156579 l_array_source_85 t_array_source_85;
156580 l_array_source_85_meaning t_array_lookup_meaning;
156581 l_array_source_89 t_array_source_89;
156582 l_array_source_91 t_array_source_91;
156583 l_array_source_92 t_array_source_92;
156584 l_array_source_93 t_array_source_93;
156585 l_array_source_94 t_array_source_94;
156586 l_array_source_95 t_array_source_95;
156587 l_array_source_96 t_array_source_96;
156588 l_array_source_97 t_array_source_97;
156589 l_array_source_98 t_array_source_98;
156590 l_array_source_99 t_array_source_99;
156591 l_array_source_100 t_array_source_100;
156592 l_array_source_145 t_array_source_145;
156593 l_array_source_145_meaning t_array_lookup_meaning;
156594
156595 --
156596 CURSOR header_cur
156597 IS
156598 SELECT /*+ leading(xet) cardinality(xet,1) */
156599 -- Event Class Code: DEBIT MEMOS
156600 xet.entity_id
156601 ,xet.legal_entity_id
156602 ,xet.entity_code
156603 ,xet.transaction_number
156604 ,xet.event_id
156605 ,xet.event_class_code
156606 ,xet.event_type_code
156607 ,xet.event_number
156608 ,xet.event_date
156609 ,xet.transaction_date
156610 ,xet.reference_num_1
156611 ,xet.reference_num_2
156612 ,xet.reference_num_3
156613 ,xet.reference_num_4
156614 ,xet.reference_char_1
156615 ,xet.reference_char_2
156616 ,xet.reference_char_3
156617 ,xet.reference_char_4
156618 ,xet.reference_date_1
156619 ,xet.reference_date_2
156620 ,xet.reference_date_3
156621 ,xet.reference_date_4
156622 ,xet.event_created_by
156623 ,xet.budgetary_control_flag
156624 , h4.ASP_AUTOMATIC_OFFSETS_VALUE source_10
156625 , fvl10.meaning source_10_meaning
156626 , h4.ASP_RATE_VAR_GAIN_CCID source_15
156627 , h4.ASP_RATE_VAR_LOSS_CCID source_18
156628 , h2.AI_ACCTS_PAY_CCID source_29
156629 , h4.FSP_RETAINAGE_ACCOUNT source_35
156630 , h4.ASP_AUTO_OFFSET_FLAG source_43
156631 , fvl43.meaning source_43_meaning
156632 , h2.AI_INVOICE_ID source_63
156633 , h2.AI_INVOICE_CURRENCY_CODE source_72
156634 , h2.AI_VENDOR_ID source_86
156635 , h2.AI_VENDOR_SITE_ID source_87
156636 , h2.THIRD_PARTY_TYPE source_88
156637 , h2.INV_EXCHANGE_DATE source_146
156638 , h2.INV_EXCHANGE_RATE source_147
156639 , h2.INV_EXCHANGE_RATE_TYPE source_148
156640 , h2.INV_DOC_SEQUENCE_CATEGORY source_171
156641 , h2.INV_DOC_SEQUENCE_IDENTIFIER source_172
156642 , h2.INV_DOC_SEQUENCE_VALUE source_173
156643 FROM xla_events_gt xet
156644 , AP_INVOICE_EXTRACT_HEADER_V h2
156645 , AP_SYSTEM_PARAMETERS_EXTRACT_V h4
156646 , fnd_lookup_values fvl10
156647 , fnd_lookup_values fvl43
156648 WHERE xet.event_date between p_pad_start_date and p_pad_end_date
156649 and xet.event_class_code = C_EVENT_CLASS_CODE
156650 and xet.event_status_code <> 'N' AND h2.event_id = xet.event_id
156651 AND h4.asp_org_id= h2.ai_org_id AND fvl10.lookup_type(+) = 'LIABILITY FLEXBUILD METHOD'
156652 AND fvl10.lookup_code(+) = h4.ASP_AUTOMATIC_OFFSETS_VALUE
156653 AND fvl10.view_application_id(+) = 200
156654 AND fvl10.language(+) = USERENV('LANG')
156655 AND fvl43.lookup_type(+) = 'YES_NO'
156656 AND fvl43.lookup_code(+) = h4.ASP_AUTO_OFFSET_FLAG
156657 AND fvl43.view_application_id(+) = 0
156658 AND fvl43.language(+) = USERENV('LANG')
156659
156660 ORDER BY event_id
156661 ;
156662
156663
156664 --
156665 CURSOR line_cur (x_first_event_id in number, x_last_event_id in number)
156666 IS
156667 SELECT /*+ leading(xet) cardinality(xet,1) */
156668 -- Event Class Code: DEBIT MEMOS
156669 xet.entity_id
156670 ,xet.legal_entity_id
156671 ,xet.entity_code
156672 ,xet.transaction_number
156673 ,xet.event_id
156674 ,xet.event_class_code
156675 ,xet.event_type_code
156676 ,xet.event_number
156677 ,xet.event_date
156678 ,xet.transaction_date
156679 ,xet.reference_num_1
156680 ,xet.reference_num_2
156681 ,xet.reference_num_3
156682 ,xet.reference_num_4
156683 ,xet.reference_char_1
156684 ,xet.reference_char_2
156685 ,xet.reference_char_3
156686 ,xet.reference_char_4
156687 ,xet.reference_date_1
156688 ,xet.reference_date_2
156689 ,xet.reference_date_3
156693 , l1.LINE_NUMBER
156690 ,xet.reference_date_4
156691 ,xet.event_created_by
156692 ,xet.budgetary_control_flag
156694 , l1.AID_DESCRIPTION source_1
156695 , l1.INV_DIST_BASE_AMOUNT source_16
156696 , l1.RELATED_INV_DIST_DEST_TYPE source_17
156697 , fvl17.meaning source_17_meaning
156698 , l1.AID_DIST_CCID source_25
156699 , l1.AID_LINE_TYPE_LOOKUP_CODE source_28
156700 , fvl28.meaning source_28_meaning
156701 , l1.AID_RET_RELATED_DIST_CCID source_38
156702 , l1.AWT_RELATED_DIST_ACCOUNT source_39
156703 , l1.SELF_ASSESSED_TAX_ACCOUNT source_46
156704 , l1.ASAT_LIAB_CCID source_47
156705 , l1.POD_ACCRUE_ON_RECEIPT_FLAG source_54
156706 , fvl54.meaning source_54_meaning
156707 , l1.DIST_ACCOUNT_REVERSAL_OPTION source_58
156708 , l1.DISTRIBUTION_LINK_TYPE source_60
156709 , l1.ALLOC_TO_MAIN_DIST_ID source_62
156710 , l1.BUS_FLOW_PO_APP_ID source_64
156711 , l1.BUS_FLOW_PO_DIST_TYPE source_65
156712 , l1.BUS_FLOW_PO_ENTITY_CODE source_66
156713 , l1.BUS_FLOW_PO_DIST_ID source_67
156714 , l1.BUS_FLOW_PO_DOC_ID source_68
156715 , l1.AID_INVOICE_DIST_ID source_69
156716 , l1.UPG_ENC_CR_CCID source_70
156717 , l1.UPG_ENC_CR_AMT source_71
156718 , l1.UPG_ENC_CR_BASE_AMT source_73
156719 , l1.UPG_ENC_DR_CCID source_74
156720 , l1.UPG_ENC_DR_AMT source_75
156721 , l1.UPG_ENC_DR_BASE_AMT source_76
156722 , l1.UPG_AP_ENCUM_OPTION source_77
156723 , l1.AID_AMOUNT source_78
156724 , l3.POH_RATE_DATE source_79
156725 , l3.POH_RATE source_80
156726 , l3.POH_RATE_TYPE source_81
156727 , l1.DEFERRED_END_DATE source_82
156728 , l1.DEFERRED_OPTION source_83
156729 , l1.DEFERRED_START_DATE source_84
156730 , l1.OVERRIDE_ACCTD_AMT_FLAG source_85
156731 , fvl85.meaning source_85_meaning
156732 , l1.AID_PARENT_REVERSAL_ID source_89
156733 , l5.TAX_LINE_ID source_91
156734 , l6.REC_NREC_TAX_DIST_ID source_92
156735 , l1.SUMMARY_TAX_LINE_ID source_93
156736 , l1.UPG_CR_ENC_TYPE_ID source_94
156737 , l1.UPG_DR_ENC_TYPE_ID source_95
156738 , l1.BUS_FLOW_AP_APP_ID source_96
156739 , l1.BUS_FLOW_INV_DIST_TYPE source_97
156740 , l1.BUS_FLOW_INV_ENTITY_CODE source_98
156741 , l1.BUS_FLOW_INV_DIST_ID source_99
156742 , l1.BUS_FLOW_INV_ID source_100
156743 , l1.SELF_ASSESSED_TAX_FLAG source_145
156744 , fvl145.meaning source_145_meaning
156745 FROM xla_events_gt xet
156746 , AP_INVOICE_EXTRACT_DETAILS_V l1
156747 , AP_PO_HEADERS_EXTRACT_V l3
156748 , ZX_AP_DEF_TAX_EXTRACT_V l5
156749 , ZX_AP_TAX_JRNL_LINE_DESC_V l6
156750 , fnd_lookup_values fvl17
156751 , fnd_lookup_values fvl28
156752 , fnd_lookup_values fvl54
156753 , fnd_lookup_values fvl85
156754 , fnd_lookup_values fvl145
156755 WHERE xet.event_id between x_first_event_id and x_last_event_id
156756 and xet.event_date between p_pad_start_date and p_pad_end_date
156757 and xet.event_class_code = C_EVENT_CLASS_CODE
156758 and xet.event_status_code <> 'N' AND l1.event_id = xet.event_id
156759 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 fvl17.lookup_type(+) = 'DESTINATION TYPE'
156760 AND fvl17.lookup_code(+) = l1.RELATED_INV_DIST_DEST_TYPE
156761 AND fvl17.view_application_id(+) = 201
156762 AND fvl17.language(+) = USERENV('LANG')
156763 AND fvl28.lookup_type(+) = 'INVOICE DISTRIBUTION TYPE'
156764 AND fvl28.lookup_code(+) = l1.AID_LINE_TYPE_LOOKUP_CODE
156765 AND fvl28.view_application_id(+) = 200
156766 AND fvl28.language(+) = USERENV('LANG')
156767 AND fvl54.lookup_type(+) = 'YES_NO'
156768 AND fvl54.lookup_code(+) = l1.POD_ACCRUE_ON_RECEIPT_FLAG
156769 AND fvl54.view_application_id(+) = 0
156770 AND fvl54.language(+) = USERENV('LANG')
156771 AND fvl85.lookup_type(+) = 'YES_NO'
156772 AND fvl85.lookup_code(+) = l1.OVERRIDE_ACCTD_AMT_FLAG
156773 AND fvl85.view_application_id(+) = 0
156774 AND fvl85.language(+) = USERENV('LANG')
156775 AND fvl145.lookup_type(+) = 'YES_NO'
156776 AND fvl145.lookup_code(+) = l1.SELF_ASSESSED_TAX_FLAG
156777 AND fvl145.view_application_id(+) = 0
156778 AND fvl145.language(+) = USERENV('LANG')
156779 ;
156780
156781 --
156782 BEGIN
156783 IF g_log_enabled THEN
156784 l_log_module := C_DEFAULT_MODULE||'.EventClass_249';
156785 END IF;
156786 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
156787 trace
156788 (p_msg => 'BEGIN of EventClass_249'
156789 ,p_level => C_LEVEL_PROCEDURE
156790 ,p_module => l_log_module);
156791 END IF;
156792
156793 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
156794 trace
156795 (p_msg => 'p_application_id = '||p_application_id||
156796 ' - p_base_ledger_id = '||p_base_ledger_id||
156797 ' - p_target_ledger_id = '||p_target_ledger_id||
156798 ' - p_language = '||p_language||
156799 ' - p_currency_code = '||p_currency_code||
156800 ' - p_sla_ledger_id = '||p_sla_ledger_id
156801 ,p_level => C_LEVEL_STATEMENT
156802 ,p_module => l_log_module);
156803 END IF;
156804 --
156805 -- initialze arrays
156806 --
156807 g_array_event.DELETE;
156808 l_rec_array_event := l_null_rec_array_event;
156809 --
156810 --------------------------------------
156811 -- 4262811 Initialze MPA Line Number
156812 --------------------------------------
156813 XLA_AE_HEADER_PKG.g_mpa_line_num := 0;
156814
156815 --
156816
156817 --
156818 OPEN header_cur;
156819 --
156820 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
156821 trace
156822 (p_msg => 'SQL - FETCH header_cur'
156823 ,p_level => C_LEVEL_STATEMENT
156827 LOOP
156824 ,p_module => l_log_module);
156825 END IF;
156826 --
156828 FETCH header_cur BULK COLLECT INTO
156829 l_array_entity_id
156830 , l_array_legal_entity_id
156831 , l_array_entity_code
156832 , l_array_transaction_num
156833 , l_array_event_id
156834 , l_array_class_code
156835 , l_array_event_type
156836 , l_array_event_number
156837 , l_array_event_date
156838 , l_array_transaction_date
156839 , l_array_reference_num_1
156840 , l_array_reference_num_2
156841 , l_array_reference_num_3
156842 , l_array_reference_num_4
156843 , l_array_reference_char_1
156844 , l_array_reference_char_2
156845 , l_array_reference_char_3
156846 , l_array_reference_char_4
156847 , l_array_reference_date_1
156848 , l_array_reference_date_2
156849 , l_array_reference_date_3
156850 , l_array_reference_date_4
156851 , l_array_event_created_by
156852 , l_array_budgetary_control_flag
156853 , l_array_source_10
156854 , l_array_source_10_meaning
156855 , l_array_source_15
156856 , l_array_source_18
156857 , l_array_source_29
156858 , l_array_source_35
156859 , l_array_source_43
156860 , l_array_source_43_meaning
156861 , l_array_source_63
156862 , l_array_source_72
156863 , l_array_source_86
156864 , l_array_source_87
156865 , l_array_source_88
156866 , l_array_source_146
156867 , l_array_source_147
156868 , l_array_source_148
156869 , l_array_source_171
156870 , l_array_source_172
156871 , l_array_source_173
156872 LIMIT l_rows;
156873 --
156874 IF (C_LEVEL_EVENT >= g_log_level) THEN
156875 trace
156876 (p_msg => '# rows extracted from header extract objects = '||TO_CHAR(header_cur%ROWCOUNT)
156877 ,p_level => C_LEVEL_EVENT
156878 ,p_module => l_log_module);
156879 END IF;
156880 --
156881 EXIT WHEN l_array_entity_id.COUNT = 0;
156882
156883 -- initialize arrays
156884 XLA_AE_HEADER_PKG.g_rec_header_new := NULL;
156885 XLA_AE_LINES_PKG.g_rec_lines := NULL;
156886
156887 --
156888 -- Bug 4458708
156889 --
156890 XLA_AE_LINES_PKG.g_LineNumber := 0;
156891
156892
156893 -- 4262811 - when creating Accrual Reversal or MPA, use g_last_hdr_idx to increment for next header id
156894 g_last_hdr_idx := l_array_event_id.LAST;
156895 --
156896 -- loop for the headers. Each iteration is for each header extract row
156897 -- fetched in header cursor
156898 --
156899 FOR hdr_idx IN l_array_event_id.FIRST .. l_array_event_id.LAST LOOP
156900
156901 --
156902 -- set event info as cache for other routines to refer event attributes
156903 --
156904 XLA_AE_JOURNAL_ENTRY_PKG.set_event_info
156905 (p_application_id => p_application_id
156906 ,p_primary_ledger_id => p_primary_ledger_id
156907 ,p_base_ledger_id => p_base_ledger_id
156908 ,p_target_ledger_id => p_target_ledger_id
156909 ,p_entity_id => l_array_entity_id(hdr_idx)
156910 ,p_legal_entity_id => l_array_legal_entity_id(hdr_idx)
156911 ,p_entity_code => l_array_entity_code(hdr_idx)
156912 ,p_transaction_num => l_array_transaction_num(hdr_idx)
156913 ,p_event_id => l_array_event_id(hdr_idx)
156914 ,p_event_class_code => l_array_class_code(hdr_idx)
156915 ,p_event_type_code => l_array_event_type(hdr_idx)
156916 ,p_event_number => l_array_event_number(hdr_idx)
156917 ,p_event_date => l_array_event_date(hdr_idx)
156918 ,p_transaction_date => l_array_transaction_date(hdr_idx)
156919 ,p_reference_num_1 => l_array_reference_num_1(hdr_idx)
156920 ,p_reference_num_2 => l_array_reference_num_2(hdr_idx)
156921 ,p_reference_num_3 => l_array_reference_num_3(hdr_idx)
156922 ,p_reference_num_4 => l_array_reference_num_4(hdr_idx)
156923 ,p_reference_char_1 => l_array_reference_char_1(hdr_idx)
156924 ,p_reference_char_2 => l_array_reference_char_2(hdr_idx)
156925 ,p_reference_char_3 => l_array_reference_char_3(hdr_idx)
156926 ,p_reference_char_4 => l_array_reference_char_4(hdr_idx)
156927 ,p_reference_date_1 => l_array_reference_date_1(hdr_idx)
156928 ,p_reference_date_2 => l_array_reference_date_2(hdr_idx)
156929 ,p_reference_date_3 => l_array_reference_date_3(hdr_idx)
156930 ,p_reference_date_4 => l_array_reference_date_4(hdr_idx)
156931 ,p_event_created_by => l_array_event_created_by(hdr_idx)
156932 ,p_budgetary_control_flag => l_array_budgetary_control_flag(hdr_idx));
156933
156934 --
156935 -- set the status of entry to C_VALID (0)
156936 --
156937 XLA_AE_JOURNAL_ENTRY_PKG.g_global_status := XLA_AE_JOURNAL_ENTRY_PKG.C_VALID;
156938
156939 --
156940 -- initialize a row for ae header
156941 --
156942 XLA_AE_HEADER_PKG.InitHeader(hdr_idx);
156943
156944 l_event_id := l_array_event_id(hdr_idx);
156945
156946 --
156947 -- storing the hdr_idx for event. May be used by line cursor.
156948 --
156949 g_array_event(l_event_id).array_value_num('header_index') := hdr_idx;
156950
156951 --
156952 -- store sources from header extract. This can be improved to
156953 -- store only those sources from header extract that may be used in lines
156954 --
156955
156956 g_array_event(l_event_id).array_value_char('source_10') := l_array_source_10(hdr_idx);
156957 g_array_event(l_event_id).array_value_char('source_10_meaning') := l_array_source_10_meaning(hdr_idx);
156958 g_array_event(l_event_id).array_value_num('source_15') := l_array_source_15(hdr_idx);
156959 g_array_event(l_event_id).array_value_num('source_18') := l_array_source_18(hdr_idx);
156960 g_array_event(l_event_id).array_value_num('source_29') := l_array_source_29(hdr_idx);
156964 g_array_event(l_event_id).array_value_num('source_63') := l_array_source_63(hdr_idx);
156961 g_array_event(l_event_id).array_value_num('source_35') := l_array_source_35(hdr_idx);
156962 g_array_event(l_event_id).array_value_char('source_43') := l_array_source_43(hdr_idx);
156963 g_array_event(l_event_id).array_value_char('source_43_meaning') := l_array_source_43_meaning(hdr_idx);
156965 g_array_event(l_event_id).array_value_char('source_72') := l_array_source_72(hdr_idx);
156966 g_array_event(l_event_id).array_value_num('source_86') := l_array_source_86(hdr_idx);
156967 g_array_event(l_event_id).array_value_num('source_87') := l_array_source_87(hdr_idx);
156968 g_array_event(l_event_id).array_value_char('source_88') := l_array_source_88(hdr_idx);
156969 g_array_event(l_event_id).array_value_date('source_146') := l_array_source_146(hdr_idx);
156970 g_array_event(l_event_id).array_value_num('source_147') := l_array_source_147(hdr_idx);
156971 g_array_event(l_event_id).array_value_char('source_148') := l_array_source_148(hdr_idx);
156972 g_array_event(l_event_id).array_value_char('source_171') := l_array_source_171(hdr_idx);
156973 g_array_event(l_event_id).array_value_num('source_172') := l_array_source_172(hdr_idx);
156974 g_array_event(l_event_id).array_value_num('source_173') := l_array_source_173(hdr_idx);
156975
156976 --
156977 -- initilaize the status of ae headers for diffrent balance types
156978 -- the status is initialised to C_NOT_CREATED (2)
156979 --
156980 --g_array_event(l_event_id).array_value_num('actual_je_status') := XLA_AE_JOURNAL_ENTRY_PKG.C_NOT_CREATED;
156981 --g_array_event(l_event_id).array_value_num('budget_je_status') := XLA_AE_JOURNAL_ENTRY_PKG.C_NOT_CREATED;
156982 --g_array_event(l_event_id).array_value_num('encumbrance_je_status') := XLA_AE_JOURNAL_ENTRY_PKG.C_NOT_CREATED;
156983
156984 --
156985 -- call api to validate and store accounting attributes for header
156986 --
156987
156988 ------------------------------------------------------------
156989 -- Accrual Reversal : to get date for Standard Source (NONE)
156990 ------------------------------------------------------------
156991 l_acc_rev_gl_date_source := NULL;
156992
156993 l_rec_acct_attrs.array_acct_attr_code(1) := 'DOC_CATEGORY_CODE';
156994 l_rec_acct_attrs.array_char_value(1) := g_array_event(l_event_id).array_value_char('source_171');
156995 l_rec_acct_attrs.array_acct_attr_code(2) := 'DOC_SEQUENCE_ID';
156996 l_rec_acct_attrs.array_num_value(2) := g_array_event(l_event_id).array_value_num('source_172');
156997 l_rec_acct_attrs.array_acct_attr_code(3) := 'DOC_SEQUENCE_VALUE';
156998 l_rec_acct_attrs.array_num_value(3) := g_array_event(l_event_id).array_value_num('source_173');
156999 l_rec_acct_attrs.array_acct_attr_code(4) := 'GL_DATE';
157000 l_rec_acct_attrs.array_date_value(4) :=
157001 xla_ae_sources_pkg.GetSystemSourceDate(
157002 p_source_code => 'XLA_EVENT_DATE'
157003 , p_source_type_code => 'Y'
157004 , p_source_application_id => 602
157005 );
157006
157007
157008 XLA_AE_HEADER_PKG.SetHdrAcctAttrs(l_rec_acct_attrs);
157009
157010 XLA_AE_HEADER_PKG.SetJeCategoryName;
157011
157012 XLA_AE_HEADER_PKG.g_rec_header_new.array_event_type_code(hdr_idx) := l_array_event_type(hdr_idx);
157013 XLA_AE_HEADER_PKG.g_rec_header_new.array_event_id(hdr_idx) := l_array_event_id(hdr_idx);
157014 XLA_AE_HEADER_PKG.g_rec_header_new.array_entity_id(hdr_idx) := l_array_entity_id(hdr_idx);
157015 XLA_AE_HEADER_PKG.g_rec_header_new.array_event_number(hdr_idx) := l_array_event_number(hdr_idx);
157016 XLA_AE_HEADER_PKG.g_rec_header_new.array_target_ledger_id(hdr_idx) := p_target_ledger_id;
157017
157018
157019 --
157020 xla_ae_header_pkg.SetHdrDescription(
157021 p_description => Description_1 (
157022 p_application_id => p_application_id
157023 )
157024 );
157025 --
157026
157027 -- No header level analytical criteria
157028
157029 --
157030 --accounting attribute enhancement, bug 3612931
157031 --
157032 l_trx_reversal_source := SUBSTR(NULL, 1,30);
157033
157034 IF NVL(l_trx_reversal_source, 'N') NOT IN ('N','Y') THEN
157035 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
157036
157037 xla_accounting_err_pkg.build_message
157038 (p_appli_s_name => 'XLA'
157039 ,p_msg_name => 'XLA_AP_INVALID_HDR_ATTR'
157040 ,p_token_1 => 'ACCT_ATTR_NAME'
157041 ,p_value_1 => xla_ae_sources_pkg.GetAccountingSourceName('TRX_ACCT_REVERSAL_OPTION')
157042 ,p_token_2 => 'PRODUCT_NAME'
157043 ,p_value_2 => xla_ae_journal_entry_pkg.g_cache_event.application_name
157044 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
157045 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
157046 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id);
157047
157048 ELSIF NVL(l_trx_reversal_source, 'N') = 'Y' THEN
157049 --
157050 -- following sets the accounting attributes needed to reverse
157051 -- accounting for a distributeion
157052 --
157053 xla_ae_lines_pkg.SetTrxReversalAttrs
157054 (p_event_id => l_event_id
157055 ,p_gl_date => XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(hdr_idx)
157056 ,p_trx_reversal_source => l_trx_reversal_source);
157057
157058 END IF;
157059
157060
157061 ----------------------------------------------------------------
157062 -- 4262811 - update the header statuses to invalid in need be
157063 ----------------------------------------------------------------
157064 --
157065 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus (p_hdr_idx => hdr_idx);
157066
157067
157068 -----------------------------------------------
157069 -- No accrual reversal for the event class/type
157070 -----------------------------------------------
157071 ----------------------------------------------------------------
157072
157073 --
157074 -- this ends the header loop iteration for one bulk fetch
157075 --
157079 l_last_event_id := l_array_event_id(l_array_event_id.LAST);
157076 END LOOP;
157077
157078 l_first_event_id := l_array_event_id(l_array_event_id.FIRST);
157080
157081 --
157082 -- insert dummy rows into lines gt table that were created due to
157083 -- transaction reversals
157084 --
157085 IF XLA_AE_LINES_PKG.g_rec_lines.array_ae_header_id.COUNT > 0 THEN
157086 l_result := XLA_AE_LINES_PKG.InsertLines;
157087 END IF;
157088
157089 --
157090 -- reset the temp_line_num for each set of events fetched from header
157091 -- cursor rather than doing it for each new event in line cursor
157092 -- Bug 3939231
157093 --
157094 xla_ae_lines_pkg.g_temp_line_num := 0;
157095
157096
157097
157098 --
157099 OPEN line_cur(x_first_event_id => l_first_event_id, x_last_event_id => l_last_event_id);
157100 --
157101 --
157102 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
157103
157104 trace
157105 (p_msg => 'SQL - FETCH line_cur'
157106 ,p_level => C_LEVEL_STATEMENT
157107 ,p_module => l_log_module);
157108
157109 END IF;
157110 --
157111 --
157112 LOOP
157113 --
157114 FETCH line_cur BULK COLLECT INTO
157115 l_array_entity_id
157116 , l_array_legal_entity_id
157117 , l_array_entity_code
157118 , l_array_transaction_num
157119 , l_array_event_id
157120 , l_array_class_code
157121 , l_array_event_type
157122 , l_array_event_number
157123 , l_array_event_date
157124 , l_array_transaction_date
157125 , l_array_reference_num_1
157126 , l_array_reference_num_2
157127 , l_array_reference_num_3
157128 , l_array_reference_num_4
157129 , l_array_reference_char_1
157130 , l_array_reference_char_2
157131 , l_array_reference_char_3
157132 , l_array_reference_char_4
157133 , l_array_reference_date_1
157134 , l_array_reference_date_2
157135 , l_array_reference_date_3
157136 , l_array_reference_date_4
157137 , l_array_event_created_by
157138 , l_array_budgetary_control_flag
157139 , l_array_extract_line_num
157140 , l_array_source_1
157141 , l_array_source_16
157142 , l_array_source_17
157143 , l_array_source_17_meaning
157144 , l_array_source_25
157145 , l_array_source_28
157146 , l_array_source_28_meaning
157147 , l_array_source_38
157148 , l_array_source_39
157149 , l_array_source_46
157150 , l_array_source_47
157151 , l_array_source_54
157152 , l_array_source_54_meaning
157153 , l_array_source_58
157154 , l_array_source_60
157155 , l_array_source_62
157156 , l_array_source_64
157157 , l_array_source_65
157158 , l_array_source_66
157159 , l_array_source_67
157160 , l_array_source_68
157161 , l_array_source_69
157162 , l_array_source_70
157163 , l_array_source_71
157164 , l_array_source_73
157165 , l_array_source_74
157166 , l_array_source_75
157167 , l_array_source_76
157168 , l_array_source_77
157169 , l_array_source_78
157170 , l_array_source_79
157171 , l_array_source_80
157172 , l_array_source_81
157173 , l_array_source_82
157174 , l_array_source_83
157175 , l_array_source_84
157176 , l_array_source_85
157177 , l_array_source_85_meaning
157178 , l_array_source_89
157179 , l_array_source_91
157180 , l_array_source_92
157181 , l_array_source_93
157182 , l_array_source_94
157183 , l_array_source_95
157184 , l_array_source_96
157185 , l_array_source_97
157186 , l_array_source_98
157187 , l_array_source_99
157188 , l_array_source_100
157189 , l_array_source_145
157190 , l_array_source_145_meaning
157191 LIMIT l_rows;
157192
157193 --
157194 IF (C_LEVEL_EVENT >= g_log_level) THEN
157195 trace
157196 (p_msg => '# rows extracted from line extract objects = '||TO_CHAR(line_cur%ROWCOUNT)
157197 ,p_level => C_LEVEL_EVENT
157198 ,p_module => l_log_module);
157199 END IF;
157200 --
157201 EXIT WHEN l_array_entity_id.count = 0;
157202
157203 XLA_AE_LINES_PKG.g_rec_lines := null;
157204
157205 --
157206 -- Bug 4458708
157207 --
157208 XLA_AE_LINES_PKG.g_LineNumber := 0;
157209 --
157210 --
157211
157212 FOR Idx IN 1..l_array_event_id.count LOOP
157213 --
157214 -- 5648433 (move l_event_id out of IF statement) set l_event_id to be used inside IF condition
157215 --
157216 l_event_id := l_array_event_id(idx); -- 5648433
157217
157218 --
157219 -- Bug 4872078 - Do nothing if the event is meant for transaction reversal
157220 --
157221
157222 IF NVL(xla_ae_header_pkg.g_rec_header_new.array_trx_acct_reversal_option
157223 (g_array_event(l_event_id).array_value_num('header_index'))
157224 ,'N'
157225 ) <> 'Y'
157226 THEN
157227 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
157228 trace
157229 (p_msg => 'Trancaction revesal option is not Y '
157230 ,p_level => C_LEVEL_STATEMENT
157231 ,p_module => l_log_module);
157232 END IF;
157233
157234 --
157235 -- set the XLA_AE_JOURNAL_ENTRY_PKG.g_global_status to C_VALID (0)
157236 --
157237 XLA_AE_JOURNAL_ENTRY_PKG.g_global_status := XLA_AE_JOURNAL_ENTRY_PKG.C_VALID;
157238 --
157239 -- set event info as cache for other routines to refer event attributes
157240 --
157241
157242 IF l_event_id <> NVL(l_previous_event_id, -1) THEN
157243 l_previous_event_id := l_event_id;
157244
157245 XLA_AE_JOURNAL_ENTRY_PKG.set_event_info
157249 ,p_target_ledger_id => p_target_ledger_id
157246 (p_application_id => p_application_id
157247 ,p_primary_ledger_id => p_primary_ledger_id
157248 ,p_base_ledger_id => p_base_ledger_id
157250 ,p_entity_id => l_array_entity_id(Idx)
157251 ,p_legal_entity_id => l_array_legal_entity_id(Idx)
157252 ,p_entity_code => l_array_entity_code(Idx)
157253 ,p_transaction_num => l_array_transaction_num(Idx)
157254 ,p_event_id => l_array_event_id(Idx)
157255 ,p_event_class_code => l_array_class_code(Idx)
157256 ,p_event_type_code => l_array_event_type(Idx)
157257 ,p_event_number => l_array_event_number(Idx)
157258 ,p_event_date => l_array_event_date(Idx)
157259 ,p_transaction_date => l_array_transaction_date(Idx)
157260 ,p_reference_num_1 => l_array_reference_num_1(Idx)
157261 ,p_reference_num_2 => l_array_reference_num_2(Idx)
157262 ,p_reference_num_3 => l_array_reference_num_3(Idx)
157263 ,p_reference_num_4 => l_array_reference_num_4(Idx)
157264 ,p_reference_char_1 => l_array_reference_char_1(Idx)
157265 ,p_reference_char_2 => l_array_reference_char_2(Idx)
157266 ,p_reference_char_3 => l_array_reference_char_3(Idx)
157267 ,p_reference_char_4 => l_array_reference_char_4(Idx)
157268 ,p_reference_date_1 => l_array_reference_date_1(Idx)
157269 ,p_reference_date_2 => l_array_reference_date_2(Idx)
157270 ,p_reference_date_3 => l_array_reference_date_3(Idx)
157271 ,p_reference_date_4 => l_array_reference_date_4(Idx)
157272 ,p_event_created_by => l_array_event_created_by(Idx)
157273 ,p_budgetary_control_flag => l_array_budgetary_control_flag(Idx));
157274 --
157275 END IF;
157276
157277
157278
157279 --
157280 xla_ae_lines_pkg.SetExtractLine(p_extract_line => l_array_extract_line_num(Idx));
157281
157282 l_acct_reversal_source := SUBSTR(l_array_source_58(Idx), 1,30);
157283
157284 IF l_continue_with_lines THEN
157285 IF NVL(l_acct_reversal_source, 'N') NOT IN ('N','Y','B') THEN
157286 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
157287
157288 xla_accounting_err_pkg.build_message
157289 (p_appli_s_name => 'XLA'
157290 ,p_msg_name => 'XLA_AP_INVALID_REVERSAL_OPTION'
157291 ,p_token_1 => 'LINE_NUMBER'
157292 ,p_value_1 => l_array_extract_line_num(Idx)
157293 ,p_token_2 => 'PRODUCT_NAME'
157294 ,p_value_2 => xla_ae_journal_entry_pkg.g_cache_event.application_name
157295 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
157296 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
157297 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id);
157298
157299 ELSIF NVL(l_acct_reversal_source, 'N') IN ('Y','B') THEN
157300 --
157301 -- following sets the accounting attributes needed to reverse
157302 -- accounting for a distributeion
157303 --
157304
157305 --
157306 -- 5217187
157307 --
157308 l_rec_rev_acct_attrs.array_acct_attr_code(1):= 'GL_DATE';
157309 l_rec_rev_acct_attrs.array_date_value(1) := XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(
157310 g_array_event(l_event_id).array_value_num('header_index'));
157311 --
157312 --
157313
157314 l_rec_rev_acct_attrs.array_acct_attr_code(2) := 'ACCOUNTING_REVERSAL_OPTION';
157315 l_rec_rev_acct_attrs.array_char_value(2) := l_array_source_58(Idx);
157316 l_rec_rev_acct_attrs.array_acct_attr_code(3) := 'DISTRIBUTION_IDENTIFIER_1';
157317 l_rec_rev_acct_attrs.array_num_value(3) := l_array_source_69(Idx);
157318 l_rec_rev_acct_attrs.array_acct_attr_code(4) := 'DISTRIBUTION_TYPE';
157319 l_rec_rev_acct_attrs.array_char_value(4) := l_array_source_60(Idx);
157320 l_rec_rev_acct_attrs.array_acct_attr_code(5) := 'ENC_UPG_CR_CCID';
157321 l_rec_rev_acct_attrs.array_num_value(5) := l_array_source_70(Idx);
157322 l_rec_rev_acct_attrs.array_acct_attr_code(6) := 'ENC_UPG_CR_ENTERED_AMT';
157323 l_rec_rev_acct_attrs.array_num_value(6) := l_array_source_71(Idx);
157324 l_rec_rev_acct_attrs.array_acct_attr_code(7) := 'ENC_UPG_CR_ENTERED_CURR';
157325 l_rec_rev_acct_attrs.array_char_value(7) := g_array_event(l_event_id).array_value_char('source_72');
157326 l_rec_rev_acct_attrs.array_acct_attr_code(8) := 'ENC_UPG_CR_LEDGER_AMT';
157327 l_rec_rev_acct_attrs.array_num_value(8) := l_array_source_73(Idx);
157328 l_rec_rev_acct_attrs.array_acct_attr_code(9) := 'ENC_UPG_DR_CCID';
157329 l_rec_rev_acct_attrs.array_num_value(9) := l_array_source_74(Idx);
157330 l_rec_rev_acct_attrs.array_acct_attr_code(10) := 'ENC_UPG_DR_ENTERED_AMT';
157331 l_rec_rev_acct_attrs.array_num_value(10) := l_array_source_75(Idx);
157332 l_rec_rev_acct_attrs.array_acct_attr_code(11) := 'ENC_UPG_DR_ENTERED_CURR';
157333 l_rec_rev_acct_attrs.array_char_value(11) := g_array_event(l_event_id).array_value_char('source_72');
157334 l_rec_rev_acct_attrs.array_acct_attr_code(12) := 'ENC_UPG_DR_LEDGER_AMT';
157335 l_rec_rev_acct_attrs.array_num_value(12) := l_array_source_76(Idx);
157336 l_rec_rev_acct_attrs.array_acct_attr_code(13) := 'ENC_UPG_OPTION';
157337 l_rec_rev_acct_attrs.array_char_value(13) := l_array_source_77(Idx);
157338 l_rec_rev_acct_attrs.array_acct_attr_code(14) := 'PARTY_TYPE';
157339 l_rec_rev_acct_attrs.array_char_value(14) := g_array_event(l_event_id).array_value_char('source_88');
157340 l_rec_rev_acct_attrs.array_acct_attr_code(15) := 'REVERSED_DISTRIBUTION_ID1';
157341 l_rec_rev_acct_attrs.array_num_value(15) := l_array_source_89(Idx);
157342 l_rec_rev_acct_attrs.array_acct_attr_code(16) := 'REVERSED_DISTRIBUTION_TYPE';
157346 l_rec_rev_acct_attrs.array_acct_attr_code(18) := 'TAX_REC_NREC_DIST_REF_ID';
157343 l_rec_rev_acct_attrs.array_char_value(16) := l_array_source_60(Idx);
157344 l_rec_rev_acct_attrs.array_acct_attr_code(17) := 'TAX_LINE_REF_ID';
157345 l_rec_rev_acct_attrs.array_num_value(17) := l_array_source_91(Idx);
157347 l_rec_rev_acct_attrs.array_num_value(18) := l_array_source_92(Idx);
157348 l_rec_rev_acct_attrs.array_acct_attr_code(19) := 'TAX_SUMMARY_LINE_REF_ID';
157349 l_rec_rev_acct_attrs.array_num_value(19) := l_array_source_93(Idx);
157350 l_rec_rev_acct_attrs.array_acct_attr_code(20) := 'UPG_CR_ENC_TYPE_ID';
157351 l_rec_rev_acct_attrs.array_num_value(20) := l_array_source_94(Idx);
157352 l_rec_rev_acct_attrs.array_acct_attr_code(21) := 'UPG_DR_ENC_TYPE_ID';
157353 l_rec_rev_acct_attrs.array_num_value(21) := l_array_source_95(Idx);
157354
157355
157356 xla_ae_lines_pkg.SetAcctReversalAttrs
157357 (p_event_id => l_event_id
157358 ,p_rec_acct_attrs => l_rec_rev_acct_attrs
157359 ,p_calculate_acctd_flag => l_calculate_acctd_flag
157360 ,p_calculate_g_l_flag => l_calculate_g_l_flag);
157361 END IF;
157362
157363 IF NVL(l_acct_reversal_source, 'N') IN ('N','B') THEN
157364 l_actual_flag := NULL; l_actual_gain_loss_ref := '#####';
157365
157366 --
157367 AcctLineType_57 (
157368 p_application_id => p_application_id
157369 ,p_event_id => l_event_id
157370 ,p_calculate_acctd_flag => l_calculate_acctd_flag
157371 ,p_calculate_g_l_flag => l_calculate_g_l_flag
157372 ,p_actual_flag => l_actual_flag
157373 ,p_balance_type_code => l_balance_type_code
157374 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
157375
157376 , p_source_1 => l_array_source_1(Idx)
157377 , p_source_16 => l_array_source_16(Idx)
157378 , p_source_25 => l_array_source_25(Idx)
157379 , p_source_28 => l_array_source_28(Idx)
157380 , p_source_28_meaning => l_array_source_28_meaning(Idx)
157381 , p_source_58 => l_array_source_58(Idx)
157382 , p_source_60 => l_array_source_60(Idx)
157383 , p_source_62 => l_array_source_62(Idx)
157384 , p_source_63 => g_array_event(l_event_id).array_value_num('source_63')
157385 , p_source_64 => l_array_source_64(Idx)
157386 , p_source_65 => l_array_source_65(Idx)
157387 , p_source_66 => l_array_source_66(Idx)
157388 , p_source_67 => l_array_source_67(Idx)
157389 , p_source_68 => l_array_source_68(Idx)
157390 , p_source_69 => l_array_source_69(Idx)
157391 , p_source_70 => l_array_source_70(Idx)
157392 , p_source_71 => l_array_source_71(Idx)
157393 , p_source_72 => g_array_event(l_event_id).array_value_char('source_72')
157394 , p_source_73 => l_array_source_73(Idx)
157395 , p_source_74 => l_array_source_74(Idx)
157396 , p_source_75 => l_array_source_75(Idx)
157397 , p_source_76 => l_array_source_76(Idx)
157398 , p_source_77 => l_array_source_77(Idx)
157399 , p_source_78 => l_array_source_78(Idx)
157400 , p_source_79 => l_array_source_79(Idx)
157401 , p_source_80 => l_array_source_80(Idx)
157402 , p_source_81 => l_array_source_81(Idx)
157403 , p_source_82 => l_array_source_82(Idx)
157404 , p_source_83 => l_array_source_83(Idx)
157405 , p_source_84 => l_array_source_84(Idx)
157406 , p_source_85 => l_array_source_85(Idx)
157407 , p_source_85_meaning => l_array_source_85_meaning(Idx)
157408 , p_source_86 => g_array_event(l_event_id).array_value_num('source_86')
157409 , p_source_87 => g_array_event(l_event_id).array_value_num('source_87')
157410 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
157411 , p_source_89 => l_array_source_89(Idx)
157412 , p_source_91 => l_array_source_91(Idx)
157413 , p_source_92 => l_array_source_92(Idx)
157414 , p_source_93 => l_array_source_93(Idx)
157415 , p_source_94 => l_array_source_94(Idx)
157416 , p_source_95 => l_array_source_95(Idx)
157417 );
157418 If(l_balance_type_code = 'A') THEN
157419 l_actual_gain_loss_ref := l_gain_or_loss_ref;
157420 END IF;
157421
157422 --
157423
157424
157425 --
157426 AcctLineType_61 (
157427 p_application_id => p_application_id
157428 ,p_event_id => l_event_id
157429 ,p_calculate_acctd_flag => l_calculate_acctd_flag
157430 ,p_calculate_g_l_flag => l_calculate_g_l_flag
157431 ,p_actual_flag => l_actual_flag
157432 ,p_balance_type_code => l_balance_type_code
157433 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
157434
157435 , p_source_1 => l_array_source_1(Idx)
157436 , p_source_10 => g_array_event(l_event_id).array_value_char('source_10')
157437 , p_source_10_meaning => g_array_event(l_event_id).array_value_char('source_10_meaning')
157438 , p_source_15 => g_array_event(l_event_id).array_value_num('source_15')
157439 , p_source_16 => l_array_source_16(Idx)
157440 , p_source_17 => l_array_source_17(Idx)
157441 , p_source_17_meaning => l_array_source_17_meaning(Idx)
157442 , p_source_18 => g_array_event(l_event_id).array_value_num('source_18')
157443 , p_source_25 => l_array_source_25(Idx)
157444 , p_source_28 => l_array_source_28(Idx)
157445 , p_source_28_meaning => l_array_source_28_meaning(Idx)
157446 , p_source_43 => g_array_event(l_event_id).array_value_char('source_43')
157447 , p_source_43_meaning => g_array_event(l_event_id).array_value_char('source_43_meaning')
157448 , p_source_58 => l_array_source_58(Idx)
157449 , p_source_60 => l_array_source_60(Idx)
157450 , p_source_62 => l_array_source_62(Idx)
157451 , p_source_63 => g_array_event(l_event_id).array_value_num('source_63')
157452 , p_source_69 => l_array_source_69(Idx)
157453 , p_source_70 => l_array_source_70(Idx)
157454 , p_source_71 => l_array_source_71(Idx)
157455 , p_source_72 => g_array_event(l_event_id).array_value_char('source_72')
157456 , p_source_73 => l_array_source_73(Idx)
157457 , p_source_74 => l_array_source_74(Idx)
157458 , p_source_75 => l_array_source_75(Idx)
157459 , p_source_76 => l_array_source_76(Idx)
157460 , p_source_77 => l_array_source_77(Idx)
157461 , p_source_82 => l_array_source_82(Idx)
157462 , p_source_83 => l_array_source_83(Idx)
157463 , p_source_84 => l_array_source_84(Idx)
157467 , p_source_87 => g_array_event(l_event_id).array_value_num('source_87')
157464 , p_source_85 => l_array_source_85(Idx)
157465 , p_source_85_meaning => l_array_source_85_meaning(Idx)
157466 , p_source_86 => g_array_event(l_event_id).array_value_num('source_86')
157468 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
157469 , p_source_89 => l_array_source_89(Idx)
157470 , p_source_91 => l_array_source_91(Idx)
157471 , p_source_92 => l_array_source_92(Idx)
157472 , p_source_93 => l_array_source_93(Idx)
157473 , p_source_94 => l_array_source_94(Idx)
157474 , p_source_95 => l_array_source_95(Idx)
157475 , p_source_96 => l_array_source_96(Idx)
157476 , p_source_97 => l_array_source_97(Idx)
157477 , p_source_98 => l_array_source_98(Idx)
157478 , p_source_99 => l_array_source_99(Idx)
157479 , p_source_100 => l_array_source_100(Idx)
157480 );
157481 If(l_balance_type_code = 'A') THEN
157482 l_actual_gain_loss_ref := l_gain_or_loss_ref;
157483 END IF;
157484
157485 --
157486
157487
157488 --
157489 AcctLineType_65 (
157490 p_application_id => p_application_id
157491 ,p_event_id => l_event_id
157492 ,p_calculate_acctd_flag => l_calculate_acctd_flag
157493 ,p_calculate_g_l_flag => l_calculate_g_l_flag
157494 ,p_actual_flag => l_actual_flag
157495 ,p_balance_type_code => l_balance_type_code
157496 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
157497
157498 , p_source_1 => l_array_source_1(Idx)
157499 , p_source_10 => g_array_event(l_event_id).array_value_char('source_10')
157500 , p_source_10_meaning => g_array_event(l_event_id).array_value_char('source_10_meaning')
157501 , p_source_15 => g_array_event(l_event_id).array_value_num('source_15')
157502 , p_source_16 => l_array_source_16(Idx)
157503 , p_source_17 => l_array_source_17(Idx)
157504 , p_source_17_meaning => l_array_source_17_meaning(Idx)
157505 , p_source_18 => g_array_event(l_event_id).array_value_num('source_18')
157506 , p_source_25 => l_array_source_25(Idx)
157507 , p_source_28 => l_array_source_28(Idx)
157508 , p_source_28_meaning => l_array_source_28_meaning(Idx)
157509 , p_source_43 => g_array_event(l_event_id).array_value_char('source_43')
157510 , p_source_43_meaning => g_array_event(l_event_id).array_value_char('source_43_meaning')
157511 , p_source_54 => l_array_source_54(Idx)
157512 , p_source_54_meaning => l_array_source_54_meaning(Idx)
157513 , p_source_58 => l_array_source_58(Idx)
157514 , p_source_60 => l_array_source_60(Idx)
157515 , p_source_62 => l_array_source_62(Idx)
157516 , p_source_63 => g_array_event(l_event_id).array_value_num('source_63')
157517 , p_source_69 => l_array_source_69(Idx)
157518 , p_source_70 => l_array_source_70(Idx)
157519 , p_source_71 => l_array_source_71(Idx)
157520 , p_source_72 => g_array_event(l_event_id).array_value_char('source_72')
157521 , p_source_73 => l_array_source_73(Idx)
157522 , p_source_74 => l_array_source_74(Idx)
157523 , p_source_75 => l_array_source_75(Idx)
157524 , p_source_76 => l_array_source_76(Idx)
157525 , p_source_77 => l_array_source_77(Idx)
157526 , p_source_82 => l_array_source_82(Idx)
157527 , p_source_83 => l_array_source_83(Idx)
157528 , p_source_84 => l_array_source_84(Idx)
157529 , p_source_85 => l_array_source_85(Idx)
157530 , p_source_85_meaning => l_array_source_85_meaning(Idx)
157531 , p_source_86 => g_array_event(l_event_id).array_value_num('source_86')
157532 , p_source_87 => g_array_event(l_event_id).array_value_num('source_87')
157533 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
157534 , p_source_89 => l_array_source_89(Idx)
157535 , p_source_91 => l_array_source_91(Idx)
157536 , p_source_92 => l_array_source_92(Idx)
157537 , p_source_93 => l_array_source_93(Idx)
157538 , p_source_94 => l_array_source_94(Idx)
157539 , p_source_95 => l_array_source_95(Idx)
157540 , p_source_96 => l_array_source_96(Idx)
157541 , p_source_97 => l_array_source_97(Idx)
157542 , p_source_98 => l_array_source_98(Idx)
157543 , p_source_99 => l_array_source_99(Idx)
157544 , p_source_100 => l_array_source_100(Idx)
157545 );
157546 If(l_balance_type_code = 'A') THEN
157547 l_actual_gain_loss_ref := l_gain_or_loss_ref;
157548 END IF;
157549
157550 --
157551
157552
157553 --
157554 AcctLineType_117 (
157555 p_application_id => p_application_id
157556 ,p_event_id => l_event_id
157557 ,p_calculate_acctd_flag => l_calculate_acctd_flag
157558 ,p_calculate_g_l_flag => l_calculate_g_l_flag
157559 ,p_actual_flag => l_actual_flag
157560 ,p_balance_type_code => l_balance_type_code
157561 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
157562
157563 , p_source_1 => l_array_source_1(Idx)
157564 , p_source_10 => g_array_event(l_event_id).array_value_char('source_10')
157565 , p_source_10_meaning => g_array_event(l_event_id).array_value_char('source_10_meaning')
157566 , p_source_15 => g_array_event(l_event_id).array_value_num('source_15')
157567 , p_source_16 => l_array_source_16(Idx)
157568 , p_source_17 => l_array_source_17(Idx)
157569 , p_source_17_meaning => l_array_source_17_meaning(Idx)
157570 , p_source_18 => g_array_event(l_event_id).array_value_num('source_18')
157571 , p_source_25 => l_array_source_25(Idx)
157572 , p_source_28 => l_array_source_28(Idx)
157573 , p_source_28_meaning => l_array_source_28_meaning(Idx)
157574 , p_source_43 => g_array_event(l_event_id).array_value_char('source_43')
157575 , p_source_43_meaning => g_array_event(l_event_id).array_value_char('source_43_meaning')
157576 , p_source_54 => l_array_source_54(Idx)
157577 , p_source_54_meaning => l_array_source_54_meaning(Idx)
157578 , p_source_58 => l_array_source_58(Idx)
157579 , p_source_60 => l_array_source_60(Idx)
157580 , p_source_62 => l_array_source_62(Idx)
157581 , p_source_63 => g_array_event(l_event_id).array_value_num('source_63')
157582 , p_source_69 => l_array_source_69(Idx)
157583 , p_source_70 => l_array_source_70(Idx)
157584 , p_source_71 => l_array_source_71(Idx)
157585 , p_source_72 => g_array_event(l_event_id).array_value_char('source_72')
157586 , p_source_73 => l_array_source_73(Idx)
157590 , p_source_77 => l_array_source_77(Idx)
157587 , p_source_74 => l_array_source_74(Idx)
157588 , p_source_75 => l_array_source_75(Idx)
157589 , p_source_76 => l_array_source_76(Idx)
157591 , p_source_78 => l_array_source_78(Idx)
157592 , p_source_82 => l_array_source_82(Idx)
157593 , p_source_83 => l_array_source_83(Idx)
157594 , p_source_84 => l_array_source_84(Idx)
157595 , p_source_85 => l_array_source_85(Idx)
157596 , p_source_85_meaning => l_array_source_85_meaning(Idx)
157597 , p_source_86 => g_array_event(l_event_id).array_value_num('source_86')
157598 , p_source_87 => g_array_event(l_event_id).array_value_num('source_87')
157599 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
157600 , p_source_89 => l_array_source_89(Idx)
157601 , p_source_91 => l_array_source_91(Idx)
157602 , p_source_92 => l_array_source_92(Idx)
157603 , p_source_93 => l_array_source_93(Idx)
157604 , p_source_94 => l_array_source_94(Idx)
157605 , p_source_95 => l_array_source_95(Idx)
157606 , p_source_96 => l_array_source_96(Idx)
157607 , p_source_97 => l_array_source_97(Idx)
157608 , p_source_98 => l_array_source_98(Idx)
157609 , p_source_99 => l_array_source_99(Idx)
157610 , p_source_100 => l_array_source_100(Idx)
157611 , p_source_146 => g_array_event(l_event_id).array_value_date('source_146')
157612 , p_source_147 => g_array_event(l_event_id).array_value_num('source_147')
157613 , p_source_148 => g_array_event(l_event_id).array_value_char('source_148')
157614 );
157615 If(l_balance_type_code = 'A') THEN
157616 l_actual_gain_loss_ref := l_gain_or_loss_ref;
157617 END IF;
157618
157619 --
157620
157621
157622 --
157623 AcctLineType_126 (
157624 p_application_id => p_application_id
157625 ,p_event_id => l_event_id
157626 ,p_calculate_acctd_flag => l_calculate_acctd_flag
157627 ,p_calculate_g_l_flag => l_calculate_g_l_flag
157628 ,p_actual_flag => l_actual_flag
157629 ,p_balance_type_code => l_balance_type_code
157630 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
157631
157632 , p_source_1 => l_array_source_1(Idx)
157633 , p_source_16 => l_array_source_16(Idx)
157634 , p_source_25 => l_array_source_25(Idx)
157635 , p_source_28 => l_array_source_28(Idx)
157636 , p_source_28_meaning => l_array_source_28_meaning(Idx)
157637 , p_source_58 => l_array_source_58(Idx)
157638 , p_source_60 => l_array_source_60(Idx)
157639 , p_source_62 => l_array_source_62(Idx)
157640 , p_source_63 => g_array_event(l_event_id).array_value_num('source_63')
157641 , p_source_69 => l_array_source_69(Idx)
157642 , p_source_70 => l_array_source_70(Idx)
157643 , p_source_71 => l_array_source_71(Idx)
157644 , p_source_72 => g_array_event(l_event_id).array_value_char('source_72')
157645 , p_source_73 => l_array_source_73(Idx)
157646 , p_source_74 => l_array_source_74(Idx)
157647 , p_source_75 => l_array_source_75(Idx)
157648 , p_source_76 => l_array_source_76(Idx)
157649 , p_source_77 => l_array_source_77(Idx)
157650 , p_source_78 => l_array_source_78(Idx)
157651 , p_source_82 => l_array_source_82(Idx)
157652 , p_source_83 => l_array_source_83(Idx)
157653 , p_source_84 => l_array_source_84(Idx)
157654 , p_source_85 => l_array_source_85(Idx)
157655 , p_source_85_meaning => l_array_source_85_meaning(Idx)
157656 , p_source_86 => g_array_event(l_event_id).array_value_num('source_86')
157657 , p_source_87 => g_array_event(l_event_id).array_value_num('source_87')
157658 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
157659 , p_source_89 => l_array_source_89(Idx)
157660 , p_source_91 => l_array_source_91(Idx)
157661 , p_source_92 => l_array_source_92(Idx)
157662 , p_source_93 => l_array_source_93(Idx)
157663 , p_source_94 => l_array_source_94(Idx)
157664 , p_source_95 => l_array_source_95(Idx)
157665 , p_source_96 => l_array_source_96(Idx)
157666 , p_source_97 => l_array_source_97(Idx)
157667 , p_source_98 => l_array_source_98(Idx)
157668 , p_source_99 => l_array_source_99(Idx)
157669 , p_source_100 => l_array_source_100(Idx)
157670 , p_source_146 => g_array_event(l_event_id).array_value_date('source_146')
157671 , p_source_147 => g_array_event(l_event_id).array_value_num('source_147')
157672 , p_source_148 => g_array_event(l_event_id).array_value_char('source_148')
157673 );
157674 If(l_balance_type_code = 'A') THEN
157675 l_actual_gain_loss_ref := l_gain_or_loss_ref;
157676 END IF;
157677
157678 --
157679
157680
157681 --
157682 AcctLineType_148 (
157683 p_application_id => p_application_id
157684 ,p_event_id => l_event_id
157685 ,p_calculate_acctd_flag => l_calculate_acctd_flag
157686 ,p_calculate_g_l_flag => l_calculate_g_l_flag
157687 ,p_actual_flag => l_actual_flag
157688 ,p_balance_type_code => l_balance_type_code
157689 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
157690
157691 , p_source_1 => l_array_source_1(Idx)
157692 , p_source_16 => l_array_source_16(Idx)
157693 , p_source_25 => l_array_source_25(Idx)
157694 , p_source_28 => l_array_source_28(Idx)
157695 , p_source_28_meaning => l_array_source_28_meaning(Idx)
157696 , p_source_54 => l_array_source_54(Idx)
157697 , p_source_54_meaning => l_array_source_54_meaning(Idx)
157698 , p_source_58 => l_array_source_58(Idx)
157699 , p_source_60 => l_array_source_60(Idx)
157700 , p_source_62 => l_array_source_62(Idx)
157701 , p_source_63 => g_array_event(l_event_id).array_value_num('source_63')
157702 , p_source_69 => l_array_source_69(Idx)
157703 , p_source_70 => l_array_source_70(Idx)
157704 , p_source_71 => l_array_source_71(Idx)
157705 , p_source_72 => g_array_event(l_event_id).array_value_char('source_72')
157706 , p_source_73 => l_array_source_73(Idx)
157707 , p_source_74 => l_array_source_74(Idx)
157708 , p_source_75 => l_array_source_75(Idx)
157709 , p_source_76 => l_array_source_76(Idx)
157710 , p_source_77 => l_array_source_77(Idx)
157711 , p_source_78 => l_array_source_78(Idx)
157712 , p_source_82 => l_array_source_82(Idx)
157713 , p_source_83 => l_array_source_83(Idx)
157714 , p_source_84 => l_array_source_84(Idx)
157718 , p_source_87 => g_array_event(l_event_id).array_value_num('source_87')
157715 , p_source_85 => l_array_source_85(Idx)
157716 , p_source_85_meaning => l_array_source_85_meaning(Idx)
157717 , p_source_86 => g_array_event(l_event_id).array_value_num('source_86')
157719 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
157720 , p_source_89 => l_array_source_89(Idx)
157721 , p_source_91 => l_array_source_91(Idx)
157722 , p_source_92 => l_array_source_92(Idx)
157723 , p_source_93 => l_array_source_93(Idx)
157724 , p_source_94 => l_array_source_94(Idx)
157725 , p_source_95 => l_array_source_95(Idx)
157726 , p_source_96 => l_array_source_96(Idx)
157727 , p_source_97 => l_array_source_97(Idx)
157728 , p_source_98 => l_array_source_98(Idx)
157729 , p_source_99 => l_array_source_99(Idx)
157730 , p_source_100 => l_array_source_100(Idx)
157731 , p_source_146 => g_array_event(l_event_id).array_value_date('source_146')
157732 , p_source_147 => g_array_event(l_event_id).array_value_num('source_147')
157733 , p_source_148 => g_array_event(l_event_id).array_value_char('source_148')
157734 );
157735 If(l_balance_type_code = 'A') THEN
157736 l_actual_gain_loss_ref := l_gain_or_loss_ref;
157737 END IF;
157738
157739 --
157740
157741
157742 --
157743 AcctLineType_152 (
157744 p_application_id => p_application_id
157745 ,p_event_id => l_event_id
157746 ,p_calculate_acctd_flag => l_calculate_acctd_flag
157747 ,p_calculate_g_l_flag => l_calculate_g_l_flag
157748 ,p_actual_flag => l_actual_flag
157749 ,p_balance_type_code => l_balance_type_code
157750 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
157751
157752 , p_source_1 => l_array_source_1(Idx)
157753 , p_source_16 => l_array_source_16(Idx)
157754 , p_source_25 => l_array_source_25(Idx)
157755 , p_source_28 => l_array_source_28(Idx)
157756 , p_source_28_meaning => l_array_source_28_meaning(Idx)
157757 , p_source_54 => l_array_source_54(Idx)
157758 , p_source_54_meaning => l_array_source_54_meaning(Idx)
157759 , p_source_58 => l_array_source_58(Idx)
157760 , p_source_60 => l_array_source_60(Idx)
157761 , p_source_62 => l_array_source_62(Idx)
157762 , p_source_63 => g_array_event(l_event_id).array_value_num('source_63')
157763 , p_source_69 => l_array_source_69(Idx)
157764 , p_source_70 => l_array_source_70(Idx)
157765 , p_source_71 => l_array_source_71(Idx)
157766 , p_source_72 => g_array_event(l_event_id).array_value_char('source_72')
157767 , p_source_73 => l_array_source_73(Idx)
157768 , p_source_74 => l_array_source_74(Idx)
157769 , p_source_75 => l_array_source_75(Idx)
157770 , p_source_76 => l_array_source_76(Idx)
157771 , p_source_77 => l_array_source_77(Idx)
157772 , p_source_78 => l_array_source_78(Idx)
157773 , p_source_82 => l_array_source_82(Idx)
157774 , p_source_83 => l_array_source_83(Idx)
157775 , p_source_84 => l_array_source_84(Idx)
157776 , p_source_85 => l_array_source_85(Idx)
157777 , p_source_85_meaning => l_array_source_85_meaning(Idx)
157778 , p_source_86 => g_array_event(l_event_id).array_value_num('source_86')
157779 , p_source_87 => g_array_event(l_event_id).array_value_num('source_87')
157780 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
157781 , p_source_89 => l_array_source_89(Idx)
157782 , p_source_91 => l_array_source_91(Idx)
157783 , p_source_92 => l_array_source_92(Idx)
157784 , p_source_93 => l_array_source_93(Idx)
157785 , p_source_94 => l_array_source_94(Idx)
157786 , p_source_95 => l_array_source_95(Idx)
157787 , p_source_96 => l_array_source_96(Idx)
157788 , p_source_97 => l_array_source_97(Idx)
157789 , p_source_98 => l_array_source_98(Idx)
157790 , p_source_99 => l_array_source_99(Idx)
157791 , p_source_100 => l_array_source_100(Idx)
157792 , p_source_146 => g_array_event(l_event_id).array_value_date('source_146')
157793 , p_source_147 => g_array_event(l_event_id).array_value_num('source_147')
157794 , p_source_148 => g_array_event(l_event_id).array_value_char('source_148')
157795 );
157796 If(l_balance_type_code = 'A') THEN
157797 l_actual_gain_loss_ref := l_gain_or_loss_ref;
157798 END IF;
157799
157800 --
157801
157802
157803 --
157804 AcctLineType_160 (
157805 p_application_id => p_application_id
157806 ,p_event_id => l_event_id
157807 ,p_calculate_acctd_flag => l_calculate_acctd_flag
157808 ,p_calculate_g_l_flag => l_calculate_g_l_flag
157809 ,p_actual_flag => l_actual_flag
157810 ,p_balance_type_code => l_balance_type_code
157811 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
157812
157813 , p_source_1 => l_array_source_1(Idx)
157814 , p_source_10 => g_array_event(l_event_id).array_value_char('source_10')
157815 , p_source_10_meaning => g_array_event(l_event_id).array_value_char('source_10_meaning')
157816 , p_source_16 => l_array_source_16(Idx)
157817 , p_source_29 => g_array_event(l_event_id).array_value_num('source_29')
157818 , p_source_58 => l_array_source_58(Idx)
157819 , p_source_60 => l_array_source_60(Idx)
157820 , p_source_62 => l_array_source_62(Idx)
157821 , p_source_63 => g_array_event(l_event_id).array_value_num('source_63')
157822 , p_source_69 => l_array_source_69(Idx)
157823 , p_source_70 => l_array_source_70(Idx)
157824 , p_source_71 => l_array_source_71(Idx)
157825 , p_source_72 => g_array_event(l_event_id).array_value_char('source_72')
157826 , p_source_73 => l_array_source_73(Idx)
157827 , p_source_74 => l_array_source_74(Idx)
157828 , p_source_75 => l_array_source_75(Idx)
157829 , p_source_76 => l_array_source_76(Idx)
157830 , p_source_77 => l_array_source_77(Idx)
157831 , p_source_78 => l_array_source_78(Idx)
157832 , p_source_82 => l_array_source_82(Idx)
157833 , p_source_83 => l_array_source_83(Idx)
157834 , p_source_84 => l_array_source_84(Idx)
157835 , p_source_85 => l_array_source_85(Idx)
157836 , p_source_85_meaning => l_array_source_85_meaning(Idx)
157837 , p_source_86 => g_array_event(l_event_id).array_value_num('source_86')
157838 , p_source_87 => g_array_event(l_event_id).array_value_num('source_87')
157842 , p_source_92 => l_array_source_92(Idx)
157839 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
157840 , p_source_89 => l_array_source_89(Idx)
157841 , p_source_91 => l_array_source_91(Idx)
157843 , p_source_93 => l_array_source_93(Idx)
157844 , p_source_94 => l_array_source_94(Idx)
157845 , p_source_95 => l_array_source_95(Idx)
157846 , p_source_96 => l_array_source_96(Idx)
157847 , p_source_97 => l_array_source_97(Idx)
157848 , p_source_98 => l_array_source_98(Idx)
157849 , p_source_99 => l_array_source_99(Idx)
157850 , p_source_100 => l_array_source_100(Idx)
157851 , p_source_145 => l_array_source_145(Idx)
157852 , p_source_145_meaning => l_array_source_145_meaning(Idx)
157853 , p_source_146 => g_array_event(l_event_id).array_value_date('source_146')
157854 , p_source_147 => g_array_event(l_event_id).array_value_num('source_147')
157855 , p_source_148 => g_array_event(l_event_id).array_value_char('source_148')
157856 );
157857 If(l_balance_type_code = 'A') THEN
157858 l_actual_gain_loss_ref := l_gain_or_loss_ref;
157859 END IF;
157860
157861 --
157862
157863
157864 --
157865 AcctLineType_161 (
157866 p_application_id => p_application_id
157867 ,p_event_id => l_event_id
157868 ,p_calculate_acctd_flag => l_calculate_acctd_flag
157869 ,p_calculate_g_l_flag => l_calculate_g_l_flag
157870 ,p_actual_flag => l_actual_flag
157871 ,p_balance_type_code => l_balance_type_code
157872 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
157873
157874 , p_source_1 => l_array_source_1(Idx)
157875 , p_source_10 => g_array_event(l_event_id).array_value_char('source_10')
157876 , p_source_10_meaning => g_array_event(l_event_id).array_value_char('source_10_meaning')
157877 , p_source_16 => l_array_source_16(Idx)
157878 , p_source_29 => g_array_event(l_event_id).array_value_num('source_29')
157879 , p_source_58 => l_array_source_58(Idx)
157880 , p_source_60 => l_array_source_60(Idx)
157881 , p_source_62 => l_array_source_62(Idx)
157882 , p_source_63 => g_array_event(l_event_id).array_value_num('source_63')
157883 , p_source_69 => l_array_source_69(Idx)
157884 , p_source_70 => l_array_source_70(Idx)
157885 , p_source_71 => l_array_source_71(Idx)
157886 , p_source_72 => g_array_event(l_event_id).array_value_char('source_72')
157887 , p_source_73 => l_array_source_73(Idx)
157888 , p_source_74 => l_array_source_74(Idx)
157889 , p_source_75 => l_array_source_75(Idx)
157890 , p_source_76 => l_array_source_76(Idx)
157891 , p_source_77 => l_array_source_77(Idx)
157892 , p_source_78 => l_array_source_78(Idx)
157893 , p_source_82 => l_array_source_82(Idx)
157894 , p_source_83 => l_array_source_83(Idx)
157895 , p_source_84 => l_array_source_84(Idx)
157896 , p_source_85 => l_array_source_85(Idx)
157897 , p_source_85_meaning => l_array_source_85_meaning(Idx)
157898 , p_source_86 => g_array_event(l_event_id).array_value_num('source_86')
157899 , p_source_87 => g_array_event(l_event_id).array_value_num('source_87')
157900 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
157901 , p_source_89 => l_array_source_89(Idx)
157902 , p_source_91 => l_array_source_91(Idx)
157903 , p_source_92 => l_array_source_92(Idx)
157904 , p_source_93 => l_array_source_93(Idx)
157905 , p_source_94 => l_array_source_94(Idx)
157906 , p_source_95 => l_array_source_95(Idx)
157907 , p_source_96 => l_array_source_96(Idx)
157908 , p_source_97 => l_array_source_97(Idx)
157909 , p_source_98 => l_array_source_98(Idx)
157910 , p_source_99 => l_array_source_99(Idx)
157911 , p_source_100 => l_array_source_100(Idx)
157912 , p_source_145 => l_array_source_145(Idx)
157913 , p_source_145_meaning => l_array_source_145_meaning(Idx)
157914 , p_source_146 => g_array_event(l_event_id).array_value_date('source_146')
157915 , p_source_147 => g_array_event(l_event_id).array_value_num('source_147')
157916 , p_source_148 => g_array_event(l_event_id).array_value_char('source_148')
157917 );
157918 If(l_balance_type_code = 'A') THEN
157919 l_actual_gain_loss_ref := l_gain_or_loss_ref;
157920 END IF;
157921
157922 --
157923
157924
157925 --
157926 AcctLineType_162 (
157927 p_application_id => p_application_id
157928 ,p_event_id => l_event_id
157929 ,p_calculate_acctd_flag => l_calculate_acctd_flag
157930 ,p_calculate_g_l_flag => l_calculate_g_l_flag
157931 ,p_actual_flag => l_actual_flag
157932 ,p_balance_type_code => l_balance_type_code
157933 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
157934
157935 , p_source_1 => l_array_source_1(Idx)
157936 , p_source_10 => g_array_event(l_event_id).array_value_char('source_10')
157937 , p_source_10_meaning => g_array_event(l_event_id).array_value_char('source_10_meaning')
157938 , p_source_16 => l_array_source_16(Idx)
157939 , p_source_29 => g_array_event(l_event_id).array_value_num('source_29')
157940 , p_source_58 => l_array_source_58(Idx)
157941 , p_source_60 => l_array_source_60(Idx)
157942 , p_source_62 => l_array_source_62(Idx)
157943 , p_source_63 => g_array_event(l_event_id).array_value_num('source_63')
157944 , p_source_69 => l_array_source_69(Idx)
157945 , p_source_70 => l_array_source_70(Idx)
157946 , p_source_71 => l_array_source_71(Idx)
157947 , p_source_72 => g_array_event(l_event_id).array_value_char('source_72')
157948 , p_source_73 => l_array_source_73(Idx)
157949 , p_source_74 => l_array_source_74(Idx)
157950 , p_source_75 => l_array_source_75(Idx)
157951 , p_source_76 => l_array_source_76(Idx)
157952 , p_source_77 => l_array_source_77(Idx)
157953 , p_source_78 => l_array_source_78(Idx)
157954 , p_source_82 => l_array_source_82(Idx)
157955 , p_source_83 => l_array_source_83(Idx)
157956 , p_source_84 => l_array_source_84(Idx)
157957 , p_source_85 => l_array_source_85(Idx)
157958 , p_source_85_meaning => l_array_source_85_meaning(Idx)
157959 , p_source_86 => g_array_event(l_event_id).array_value_num('source_86')
157960 , p_source_87 => g_array_event(l_event_id).array_value_num('source_87')
157961 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
157962 , p_source_89 => l_array_source_89(Idx)
157966 , p_source_94 => l_array_source_94(Idx)
157963 , p_source_91 => l_array_source_91(Idx)
157964 , p_source_92 => l_array_source_92(Idx)
157965 , p_source_93 => l_array_source_93(Idx)
157967 , p_source_95 => l_array_source_95(Idx)
157968 , p_source_96 => l_array_source_96(Idx)
157969 , p_source_97 => l_array_source_97(Idx)
157970 , p_source_98 => l_array_source_98(Idx)
157971 , p_source_99 => l_array_source_99(Idx)
157972 , p_source_100 => l_array_source_100(Idx)
157973 , p_source_145 => l_array_source_145(Idx)
157974 , p_source_145_meaning => l_array_source_145_meaning(Idx)
157975 , p_source_146 => g_array_event(l_event_id).array_value_date('source_146')
157976 , p_source_147 => g_array_event(l_event_id).array_value_num('source_147')
157977 , p_source_148 => g_array_event(l_event_id).array_value_char('source_148')
157978 );
157979 If(l_balance_type_code = 'A') THEN
157980 l_actual_gain_loss_ref := l_gain_or_loss_ref;
157981 END IF;
157982
157983 --
157984
157985
157986 --
157987 AcctLineType_181 (
157988 p_application_id => p_application_id
157989 ,p_event_id => l_event_id
157990 ,p_calculate_acctd_flag => l_calculate_acctd_flag
157991 ,p_calculate_g_l_flag => l_calculate_g_l_flag
157992 ,p_actual_flag => l_actual_flag
157993 ,p_balance_type_code => l_balance_type_code
157994 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
157995
157996 , p_source_1 => l_array_source_1(Idx)
157997 , p_source_16 => l_array_source_16(Idx)
157998 , p_source_25 => l_array_source_25(Idx)
157999 , p_source_28 => l_array_source_28(Idx)
158000 , p_source_28_meaning => l_array_source_28_meaning(Idx)
158001 , p_source_58 => l_array_source_58(Idx)
158002 , p_source_60 => l_array_source_60(Idx)
158003 , p_source_62 => l_array_source_62(Idx)
158004 , p_source_63 => g_array_event(l_event_id).array_value_num('source_63')
158005 , p_source_69 => l_array_source_69(Idx)
158006 , p_source_70 => l_array_source_70(Idx)
158007 , p_source_71 => l_array_source_71(Idx)
158008 , p_source_72 => g_array_event(l_event_id).array_value_char('source_72')
158009 , p_source_73 => l_array_source_73(Idx)
158010 , p_source_74 => l_array_source_74(Idx)
158011 , p_source_75 => l_array_source_75(Idx)
158012 , p_source_76 => l_array_source_76(Idx)
158013 , p_source_77 => l_array_source_77(Idx)
158014 , p_source_78 => l_array_source_78(Idx)
158015 , p_source_82 => l_array_source_82(Idx)
158016 , p_source_83 => l_array_source_83(Idx)
158017 , p_source_84 => l_array_source_84(Idx)
158018 , p_source_85 => l_array_source_85(Idx)
158019 , p_source_85_meaning => l_array_source_85_meaning(Idx)
158020 , p_source_86 => g_array_event(l_event_id).array_value_num('source_86')
158021 , p_source_87 => g_array_event(l_event_id).array_value_num('source_87')
158022 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
158023 , p_source_89 => l_array_source_89(Idx)
158024 , p_source_91 => l_array_source_91(Idx)
158025 , p_source_92 => l_array_source_92(Idx)
158026 , p_source_93 => l_array_source_93(Idx)
158027 , p_source_94 => l_array_source_94(Idx)
158028 , p_source_95 => l_array_source_95(Idx)
158029 , p_source_96 => l_array_source_96(Idx)
158030 , p_source_97 => l_array_source_97(Idx)
158031 , p_source_98 => l_array_source_98(Idx)
158032 , p_source_99 => l_array_source_99(Idx)
158033 , p_source_100 => l_array_source_100(Idx)
158034 , p_source_146 => g_array_event(l_event_id).array_value_date('source_146')
158035 , p_source_147 => g_array_event(l_event_id).array_value_num('source_147')
158036 , p_source_148 => g_array_event(l_event_id).array_value_char('source_148')
158037 );
158038 If(l_balance_type_code = 'A') THEN
158039 l_actual_gain_loss_ref := l_gain_or_loss_ref;
158040 END IF;
158041
158042 --
158043
158044
158045 --
158046 AcctLineType_185 (
158047 p_application_id => p_application_id
158048 ,p_event_id => l_event_id
158049 ,p_calculate_acctd_flag => l_calculate_acctd_flag
158050 ,p_calculate_g_l_flag => l_calculate_g_l_flag
158051 ,p_actual_flag => l_actual_flag
158052 ,p_balance_type_code => l_balance_type_code
158053 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
158054
158055 , p_source_1 => l_array_source_1(Idx)
158056 , p_source_16 => l_array_source_16(Idx)
158057 , p_source_25 => l_array_source_25(Idx)
158058 , p_source_28 => l_array_source_28(Idx)
158059 , p_source_28_meaning => l_array_source_28_meaning(Idx)
158060 , p_source_54 => l_array_source_54(Idx)
158061 , p_source_54_meaning => l_array_source_54_meaning(Idx)
158062 , p_source_58 => l_array_source_58(Idx)
158063 , p_source_60 => l_array_source_60(Idx)
158064 , p_source_62 => l_array_source_62(Idx)
158065 , p_source_63 => g_array_event(l_event_id).array_value_num('source_63')
158066 , p_source_69 => l_array_source_69(Idx)
158067 , p_source_70 => l_array_source_70(Idx)
158068 , p_source_71 => l_array_source_71(Idx)
158069 , p_source_72 => g_array_event(l_event_id).array_value_char('source_72')
158070 , p_source_73 => l_array_source_73(Idx)
158071 , p_source_74 => l_array_source_74(Idx)
158072 , p_source_75 => l_array_source_75(Idx)
158073 , p_source_76 => l_array_source_76(Idx)
158074 , p_source_77 => l_array_source_77(Idx)
158075 , p_source_78 => l_array_source_78(Idx)
158076 , p_source_79 => l_array_source_79(Idx)
158077 , p_source_80 => l_array_source_80(Idx)
158078 , p_source_81 => l_array_source_81(Idx)
158079 , p_source_82 => l_array_source_82(Idx)
158080 , p_source_83 => l_array_source_83(Idx)
158081 , p_source_84 => l_array_source_84(Idx)
158082 , p_source_85 => l_array_source_85(Idx)
158083 , p_source_85_meaning => l_array_source_85_meaning(Idx)
158084 , p_source_86 => g_array_event(l_event_id).array_value_num('source_86')
158085 , p_source_87 => g_array_event(l_event_id).array_value_num('source_87')
158086 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
158087 , p_source_89 => l_array_source_89(Idx)
158088 , p_source_91 => l_array_source_91(Idx)
158089 , p_source_92 => l_array_source_92(Idx)
158090 , p_source_93 => l_array_source_93(Idx)
158094 , p_source_97 => l_array_source_97(Idx)
158091 , p_source_94 => l_array_source_94(Idx)
158092 , p_source_95 => l_array_source_95(Idx)
158093 , p_source_96 => l_array_source_96(Idx)
158095 , p_source_98 => l_array_source_98(Idx)
158096 , p_source_99 => l_array_source_99(Idx)
158097 , p_source_100 => l_array_source_100(Idx)
158098 , p_source_145 => l_array_source_145(Idx)
158099 , p_source_145_meaning => l_array_source_145_meaning(Idx)
158100 );
158101 If(l_balance_type_code = 'A') THEN
158102 l_actual_gain_loss_ref := l_gain_or_loss_ref;
158103 END IF;
158104
158105 --
158106
158107
158108 --
158109 AcctLineType_188 (
158110 p_application_id => p_application_id
158111 ,p_event_id => l_event_id
158112 ,p_calculate_acctd_flag => l_calculate_acctd_flag
158113 ,p_calculate_g_l_flag => l_calculate_g_l_flag
158114 ,p_actual_flag => l_actual_flag
158115 ,p_balance_type_code => l_balance_type_code
158116 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
158117
158118 , p_source_1 => l_array_source_1(Idx)
158119 , p_source_16 => l_array_source_16(Idx)
158120 , p_source_25 => l_array_source_25(Idx)
158121 , p_source_28 => l_array_source_28(Idx)
158122 , p_source_28_meaning => l_array_source_28_meaning(Idx)
158123 , p_source_54 => l_array_source_54(Idx)
158124 , p_source_54_meaning => l_array_source_54_meaning(Idx)
158125 , p_source_58 => l_array_source_58(Idx)
158126 , p_source_60 => l_array_source_60(Idx)
158127 , p_source_62 => l_array_source_62(Idx)
158128 , p_source_63 => g_array_event(l_event_id).array_value_num('source_63')
158129 , p_source_69 => l_array_source_69(Idx)
158130 , p_source_70 => l_array_source_70(Idx)
158131 , p_source_71 => l_array_source_71(Idx)
158132 , p_source_72 => g_array_event(l_event_id).array_value_char('source_72')
158133 , p_source_73 => l_array_source_73(Idx)
158134 , p_source_74 => l_array_source_74(Idx)
158135 , p_source_75 => l_array_source_75(Idx)
158136 , p_source_76 => l_array_source_76(Idx)
158137 , p_source_77 => l_array_source_77(Idx)
158138 , p_source_78 => l_array_source_78(Idx)
158139 , p_source_82 => l_array_source_82(Idx)
158140 , p_source_83 => l_array_source_83(Idx)
158141 , p_source_84 => l_array_source_84(Idx)
158142 , p_source_85 => l_array_source_85(Idx)
158143 , p_source_85_meaning => l_array_source_85_meaning(Idx)
158144 , p_source_86 => g_array_event(l_event_id).array_value_num('source_86')
158145 , p_source_87 => g_array_event(l_event_id).array_value_num('source_87')
158146 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
158147 , p_source_89 => l_array_source_89(Idx)
158148 , p_source_91 => l_array_source_91(Idx)
158149 , p_source_92 => l_array_source_92(Idx)
158150 , p_source_93 => l_array_source_93(Idx)
158151 , p_source_94 => l_array_source_94(Idx)
158152 , p_source_95 => l_array_source_95(Idx)
158153 , p_source_96 => l_array_source_96(Idx)
158154 , p_source_97 => l_array_source_97(Idx)
158155 , p_source_98 => l_array_source_98(Idx)
158156 , p_source_99 => l_array_source_99(Idx)
158157 , p_source_100 => l_array_source_100(Idx)
158158 , p_source_145 => l_array_source_145(Idx)
158159 , p_source_145_meaning => l_array_source_145_meaning(Idx)
158160 , p_source_146 => g_array_event(l_event_id).array_value_date('source_146')
158161 , p_source_147 => g_array_event(l_event_id).array_value_num('source_147')
158162 , p_source_148 => g_array_event(l_event_id).array_value_char('source_148')
158163 );
158164 If(l_balance_type_code = 'A') THEN
158165 l_actual_gain_loss_ref := l_gain_or_loss_ref;
158166 END IF;
158167
158168 --
158169
158170
158171 --
158172 AcctLineType_197 (
158173 p_application_id => p_application_id
158174 ,p_event_id => l_event_id
158175 ,p_calculate_acctd_flag => l_calculate_acctd_flag
158176 ,p_calculate_g_l_flag => l_calculate_g_l_flag
158177 ,p_actual_flag => l_actual_flag
158178 ,p_balance_type_code => l_balance_type_code
158179 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
158180
158181 , p_source_1 => l_array_source_1(Idx)
158182 , p_source_16 => l_array_source_16(Idx)
158183 , p_source_25 => l_array_source_25(Idx)
158184 , p_source_28 => l_array_source_28(Idx)
158185 , p_source_28_meaning => l_array_source_28_meaning(Idx)
158186 , p_source_58 => l_array_source_58(Idx)
158187 , p_source_60 => l_array_source_60(Idx)
158188 , p_source_62 => l_array_source_62(Idx)
158189 , p_source_63 => g_array_event(l_event_id).array_value_num('source_63')
158190 , p_source_69 => l_array_source_69(Idx)
158191 , p_source_70 => l_array_source_70(Idx)
158192 , p_source_71 => l_array_source_71(Idx)
158193 , p_source_72 => g_array_event(l_event_id).array_value_char('source_72')
158194 , p_source_73 => l_array_source_73(Idx)
158195 , p_source_74 => l_array_source_74(Idx)
158196 , p_source_75 => l_array_source_75(Idx)
158197 , p_source_76 => l_array_source_76(Idx)
158198 , p_source_77 => l_array_source_77(Idx)
158199 , p_source_78 => l_array_source_78(Idx)
158200 , p_source_82 => l_array_source_82(Idx)
158201 , p_source_83 => l_array_source_83(Idx)
158202 , p_source_84 => l_array_source_84(Idx)
158203 , p_source_85 => l_array_source_85(Idx)
158204 , p_source_85_meaning => l_array_source_85_meaning(Idx)
158205 , p_source_86 => g_array_event(l_event_id).array_value_num('source_86')
158206 , p_source_87 => g_array_event(l_event_id).array_value_num('source_87')
158207 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
158208 , p_source_89 => l_array_source_89(Idx)
158209 , p_source_91 => l_array_source_91(Idx)
158210 , p_source_92 => l_array_source_92(Idx)
158211 , p_source_93 => l_array_source_93(Idx)
158212 , p_source_94 => l_array_source_94(Idx)
158213 , p_source_95 => l_array_source_95(Idx)
158214 , p_source_96 => l_array_source_96(Idx)
158215 , p_source_97 => l_array_source_97(Idx)
158216 , p_source_98 => l_array_source_98(Idx)
158217 , p_source_99 => l_array_source_99(Idx)
158218 , p_source_100 => l_array_source_100(Idx)
158219 , p_source_145 => l_array_source_145(Idx)
158223 , p_source_148 => g_array_event(l_event_id).array_value_char('source_148')
158220 , p_source_145_meaning => l_array_source_145_meaning(Idx)
158221 , p_source_146 => g_array_event(l_event_id).array_value_date('source_146')
158222 , p_source_147 => g_array_event(l_event_id).array_value_num('source_147')
158224 );
158225 If(l_balance_type_code = 'A') THEN
158226 l_actual_gain_loss_ref := l_gain_or_loss_ref;
158227 END IF;
158228
158229 --
158230
158231
158232 --
158233 AcctLineType_202 (
158234 p_application_id => p_application_id
158235 ,p_event_id => l_event_id
158236 ,p_calculate_acctd_flag => l_calculate_acctd_flag
158237 ,p_calculate_g_l_flag => l_calculate_g_l_flag
158238 ,p_actual_flag => l_actual_flag
158239 ,p_balance_type_code => l_balance_type_code
158240 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
158241
158242 , p_source_1 => l_array_source_1(Idx)
158243 , p_source_10 => g_array_event(l_event_id).array_value_char('source_10')
158244 , p_source_10_meaning => g_array_event(l_event_id).array_value_char('source_10_meaning')
158245 , p_source_16 => l_array_source_16(Idx)
158246 , p_source_25 => l_array_source_25(Idx)
158247 , p_source_28 => l_array_source_28(Idx)
158248 , p_source_28_meaning => l_array_source_28_meaning(Idx)
158249 , p_source_35 => g_array_event(l_event_id).array_value_num('source_35')
158250 , p_source_38 => l_array_source_38(Idx)
158251 , p_source_58 => l_array_source_58(Idx)
158252 , p_source_60 => l_array_source_60(Idx)
158253 , p_source_62 => l_array_source_62(Idx)
158254 , p_source_63 => g_array_event(l_event_id).array_value_num('source_63')
158255 , p_source_69 => l_array_source_69(Idx)
158256 , p_source_70 => l_array_source_70(Idx)
158257 , p_source_71 => l_array_source_71(Idx)
158258 , p_source_72 => g_array_event(l_event_id).array_value_char('source_72')
158259 , p_source_73 => l_array_source_73(Idx)
158260 , p_source_74 => l_array_source_74(Idx)
158261 , p_source_75 => l_array_source_75(Idx)
158262 , p_source_76 => l_array_source_76(Idx)
158263 , p_source_77 => l_array_source_77(Idx)
158264 , p_source_78 => l_array_source_78(Idx)
158265 , p_source_82 => l_array_source_82(Idx)
158266 , p_source_83 => l_array_source_83(Idx)
158267 , p_source_84 => l_array_source_84(Idx)
158268 , p_source_85 => l_array_source_85(Idx)
158269 , p_source_85_meaning => l_array_source_85_meaning(Idx)
158270 , p_source_86 => g_array_event(l_event_id).array_value_num('source_86')
158271 , p_source_87 => g_array_event(l_event_id).array_value_num('source_87')
158272 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
158273 , p_source_89 => l_array_source_89(Idx)
158274 , p_source_91 => l_array_source_91(Idx)
158275 , p_source_92 => l_array_source_92(Idx)
158276 , p_source_93 => l_array_source_93(Idx)
158277 , p_source_94 => l_array_source_94(Idx)
158278 , p_source_95 => l_array_source_95(Idx)
158279 , p_source_96 => l_array_source_96(Idx)
158280 , p_source_97 => l_array_source_97(Idx)
158281 , p_source_98 => l_array_source_98(Idx)
158282 , p_source_99 => l_array_source_99(Idx)
158283 , p_source_100 => l_array_source_100(Idx)
158284 , p_source_146 => g_array_event(l_event_id).array_value_date('source_146')
158285 , p_source_147 => g_array_event(l_event_id).array_value_num('source_147')
158286 , p_source_148 => g_array_event(l_event_id).array_value_char('source_148')
158287 );
158288 If(l_balance_type_code = 'A') THEN
158289 l_actual_gain_loss_ref := l_gain_or_loss_ref;
158290 END IF;
158291
158292 --
158293
158294
158295 --
158296 AcctLineType_206 (
158297 p_application_id => p_application_id
158298 ,p_event_id => l_event_id
158299 ,p_calculate_acctd_flag => l_calculate_acctd_flag
158300 ,p_calculate_g_l_flag => l_calculate_g_l_flag
158301 ,p_actual_flag => l_actual_flag
158302 ,p_balance_type_code => l_balance_type_code
158303 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
158304
158305 , p_source_1 => l_array_source_1(Idx)
158306 , p_source_16 => l_array_source_16(Idx)
158307 , p_source_28 => l_array_source_28(Idx)
158308 , p_source_28_meaning => l_array_source_28_meaning(Idx)
158309 , p_source_46 => l_array_source_46(Idx)
158310 , p_source_54 => l_array_source_54(Idx)
158311 , p_source_54_meaning => l_array_source_54_meaning(Idx)
158312 , p_source_58 => l_array_source_58(Idx)
158313 , p_source_60 => l_array_source_60(Idx)
158314 , p_source_62 => l_array_source_62(Idx)
158315 , p_source_63 => g_array_event(l_event_id).array_value_num('source_63')
158316 , p_source_69 => l_array_source_69(Idx)
158317 , p_source_70 => l_array_source_70(Idx)
158318 , p_source_71 => l_array_source_71(Idx)
158319 , p_source_72 => g_array_event(l_event_id).array_value_char('source_72')
158320 , p_source_73 => l_array_source_73(Idx)
158321 , p_source_74 => l_array_source_74(Idx)
158322 , p_source_75 => l_array_source_75(Idx)
158323 , p_source_76 => l_array_source_76(Idx)
158324 , p_source_77 => l_array_source_77(Idx)
158325 , p_source_78 => l_array_source_78(Idx)
158326 , p_source_82 => l_array_source_82(Idx)
158327 , p_source_83 => l_array_source_83(Idx)
158328 , p_source_84 => l_array_source_84(Idx)
158329 , p_source_85 => l_array_source_85(Idx)
158330 , p_source_85_meaning => l_array_source_85_meaning(Idx)
158331 , p_source_86 => g_array_event(l_event_id).array_value_num('source_86')
158332 , p_source_87 => g_array_event(l_event_id).array_value_num('source_87')
158333 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
158334 , p_source_89 => l_array_source_89(Idx)
158335 , p_source_91 => l_array_source_91(Idx)
158336 , p_source_92 => l_array_source_92(Idx)
158337 , p_source_93 => l_array_source_93(Idx)
158338 , p_source_94 => l_array_source_94(Idx)
158339 , p_source_95 => l_array_source_95(Idx)
158340 , p_source_96 => l_array_source_96(Idx)
158341 , p_source_97 => l_array_source_97(Idx)
158342 , p_source_98 => l_array_source_98(Idx)
158343 , p_source_99 => l_array_source_99(Idx)
158344 , p_source_100 => l_array_source_100(Idx)
158345 , p_source_145 => l_array_source_145(Idx)
158349 , p_source_148 => g_array_event(l_event_id).array_value_char('source_148')
158346 , p_source_145_meaning => l_array_source_145_meaning(Idx)
158347 , p_source_146 => g_array_event(l_event_id).array_value_date('source_146')
158348 , p_source_147 => g_array_event(l_event_id).array_value_num('source_147')
158350 );
158351 If(l_balance_type_code = 'A') THEN
158352 l_actual_gain_loss_ref := l_gain_or_loss_ref;
158353 END IF;
158354
158355 --
158356
158357
158358 --
158359 AcctLineType_210 (
158360 p_application_id => p_application_id
158361 ,p_event_id => l_event_id
158362 ,p_calculate_acctd_flag => l_calculate_acctd_flag
158363 ,p_calculate_g_l_flag => l_calculate_g_l_flag
158364 ,p_actual_flag => l_actual_flag
158365 ,p_balance_type_code => l_balance_type_code
158366 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
158367
158368 , p_source_1 => l_array_source_1(Idx)
158369 , p_source_16 => l_array_source_16(Idx)
158370 , p_source_28 => l_array_source_28(Idx)
158371 , p_source_28_meaning => l_array_source_28_meaning(Idx)
158372 , p_source_46 => l_array_source_46(Idx)
158373 , p_source_58 => l_array_source_58(Idx)
158374 , p_source_60 => l_array_source_60(Idx)
158375 , p_source_62 => l_array_source_62(Idx)
158376 , p_source_63 => g_array_event(l_event_id).array_value_num('source_63')
158377 , p_source_69 => l_array_source_69(Idx)
158378 , p_source_70 => l_array_source_70(Idx)
158379 , p_source_71 => l_array_source_71(Idx)
158380 , p_source_72 => g_array_event(l_event_id).array_value_char('source_72')
158381 , p_source_73 => l_array_source_73(Idx)
158382 , p_source_74 => l_array_source_74(Idx)
158383 , p_source_75 => l_array_source_75(Idx)
158384 , p_source_76 => l_array_source_76(Idx)
158385 , p_source_77 => l_array_source_77(Idx)
158386 , p_source_78 => l_array_source_78(Idx)
158387 , p_source_82 => l_array_source_82(Idx)
158388 , p_source_83 => l_array_source_83(Idx)
158389 , p_source_84 => l_array_source_84(Idx)
158390 , p_source_85 => l_array_source_85(Idx)
158391 , p_source_85_meaning => l_array_source_85_meaning(Idx)
158392 , p_source_86 => g_array_event(l_event_id).array_value_num('source_86')
158393 , p_source_87 => g_array_event(l_event_id).array_value_num('source_87')
158394 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
158395 , p_source_89 => l_array_source_89(Idx)
158396 , p_source_91 => l_array_source_91(Idx)
158397 , p_source_92 => l_array_source_92(Idx)
158398 , p_source_93 => l_array_source_93(Idx)
158399 , p_source_94 => l_array_source_94(Idx)
158400 , p_source_95 => l_array_source_95(Idx)
158401 , p_source_96 => l_array_source_96(Idx)
158402 , p_source_97 => l_array_source_97(Idx)
158403 , p_source_98 => l_array_source_98(Idx)
158404 , p_source_99 => l_array_source_99(Idx)
158405 , p_source_100 => l_array_source_100(Idx)
158406 , p_source_145 => l_array_source_145(Idx)
158407 , p_source_145_meaning => l_array_source_145_meaning(Idx)
158408 , p_source_146 => g_array_event(l_event_id).array_value_date('source_146')
158409 , p_source_147 => g_array_event(l_event_id).array_value_num('source_147')
158410 , p_source_148 => g_array_event(l_event_id).array_value_char('source_148')
158411 );
158412 If(l_balance_type_code = 'A') THEN
158413 l_actual_gain_loss_ref := l_gain_or_loss_ref;
158414 END IF;
158415
158416 --
158417
158418
158419 --
158420 AcctLineType_213 (
158421 p_application_id => p_application_id
158422 ,p_event_id => l_event_id
158423 ,p_calculate_acctd_flag => l_calculate_acctd_flag
158424 ,p_calculate_g_l_flag => l_calculate_g_l_flag
158425 ,p_actual_flag => l_actual_flag
158426 ,p_balance_type_code => l_balance_type_code
158427 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
158428
158429 , p_source_1 => l_array_source_1(Idx)
158430 , p_source_16 => l_array_source_16(Idx)
158431 , p_source_28 => l_array_source_28(Idx)
158432 , p_source_28_meaning => l_array_source_28_meaning(Idx)
158433 , p_source_47 => l_array_source_47(Idx)
158434 , p_source_58 => l_array_source_58(Idx)
158435 , p_source_60 => l_array_source_60(Idx)
158436 , p_source_62 => l_array_source_62(Idx)
158437 , p_source_63 => g_array_event(l_event_id).array_value_num('source_63')
158438 , p_source_69 => l_array_source_69(Idx)
158439 , p_source_70 => l_array_source_70(Idx)
158440 , p_source_71 => l_array_source_71(Idx)
158441 , p_source_72 => g_array_event(l_event_id).array_value_char('source_72')
158442 , p_source_73 => l_array_source_73(Idx)
158443 , p_source_74 => l_array_source_74(Idx)
158444 , p_source_75 => l_array_source_75(Idx)
158445 , p_source_76 => l_array_source_76(Idx)
158446 , p_source_77 => l_array_source_77(Idx)
158447 , p_source_78 => l_array_source_78(Idx)
158448 , p_source_82 => l_array_source_82(Idx)
158449 , p_source_83 => l_array_source_83(Idx)
158450 , p_source_84 => l_array_source_84(Idx)
158451 , p_source_85 => l_array_source_85(Idx)
158452 , p_source_85_meaning => l_array_source_85_meaning(Idx)
158453 , p_source_86 => g_array_event(l_event_id).array_value_num('source_86')
158454 , p_source_87 => g_array_event(l_event_id).array_value_num('source_87')
158455 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
158456 , p_source_89 => l_array_source_89(Idx)
158457 , p_source_91 => l_array_source_91(Idx)
158458 , p_source_92 => l_array_source_92(Idx)
158459 , p_source_93 => l_array_source_93(Idx)
158460 , p_source_94 => l_array_source_94(Idx)
158461 , p_source_95 => l_array_source_95(Idx)
158462 , p_source_96 => l_array_source_96(Idx)
158463 , p_source_97 => l_array_source_97(Idx)
158464 , p_source_98 => l_array_source_98(Idx)
158465 , p_source_99 => l_array_source_99(Idx)
158466 , p_source_100 => l_array_source_100(Idx)
158467 , p_source_145 => l_array_source_145(Idx)
158468 , p_source_145_meaning => l_array_source_145_meaning(Idx)
158469 , p_source_146 => g_array_event(l_event_id).array_value_date('source_146')
158470 , p_source_147 => g_array_event(l_event_id).array_value_num('source_147')
158471 , p_source_148 => g_array_event(l_event_id).array_value_char('source_148')
158475 END IF;
158472 );
158473 If(l_balance_type_code = 'A') THEN
158474 l_actual_gain_loss_ref := l_gain_or_loss_ref;
158476
158477 --
158478
158479
158480 --
158481 AcctLineType_218 (
158482 p_application_id => p_application_id
158483 ,p_event_id => l_event_id
158484 ,p_calculate_acctd_flag => l_calculate_acctd_flag
158485 ,p_calculate_g_l_flag => l_calculate_g_l_flag
158486 ,p_actual_flag => l_actual_flag
158487 ,p_balance_type_code => l_balance_type_code
158488 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
158489
158490 , p_source_1 => l_array_source_1(Idx)
158491 , p_source_16 => l_array_source_16(Idx)
158492 , p_source_28 => l_array_source_28(Idx)
158493 , p_source_28_meaning => l_array_source_28_meaning(Idx)
158494 , p_source_46 => l_array_source_46(Idx)
158495 , p_source_54 => l_array_source_54(Idx)
158496 , p_source_54_meaning => l_array_source_54_meaning(Idx)
158497 , p_source_58 => l_array_source_58(Idx)
158498 , p_source_60 => l_array_source_60(Idx)
158499 , p_source_62 => l_array_source_62(Idx)
158500 , p_source_63 => g_array_event(l_event_id).array_value_num('source_63')
158501 , p_source_69 => l_array_source_69(Idx)
158502 , p_source_70 => l_array_source_70(Idx)
158503 , p_source_71 => l_array_source_71(Idx)
158504 , p_source_72 => g_array_event(l_event_id).array_value_char('source_72')
158505 , p_source_73 => l_array_source_73(Idx)
158506 , p_source_74 => l_array_source_74(Idx)
158507 , p_source_75 => l_array_source_75(Idx)
158508 , p_source_76 => l_array_source_76(Idx)
158509 , p_source_77 => l_array_source_77(Idx)
158510 , p_source_78 => l_array_source_78(Idx)
158511 , p_source_79 => l_array_source_79(Idx)
158512 , p_source_80 => l_array_source_80(Idx)
158513 , p_source_81 => l_array_source_81(Idx)
158514 , p_source_82 => l_array_source_82(Idx)
158515 , p_source_83 => l_array_source_83(Idx)
158516 , p_source_84 => l_array_source_84(Idx)
158517 , p_source_85 => l_array_source_85(Idx)
158518 , p_source_85_meaning => l_array_source_85_meaning(Idx)
158519 , p_source_86 => g_array_event(l_event_id).array_value_num('source_86')
158520 , p_source_87 => g_array_event(l_event_id).array_value_num('source_87')
158521 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
158522 , p_source_89 => l_array_source_89(Idx)
158523 , p_source_91 => l_array_source_91(Idx)
158524 , p_source_92 => l_array_source_92(Idx)
158525 , p_source_93 => l_array_source_93(Idx)
158526 , p_source_94 => l_array_source_94(Idx)
158527 , p_source_95 => l_array_source_95(Idx)
158528 , p_source_96 => l_array_source_96(Idx)
158529 , p_source_97 => l_array_source_97(Idx)
158530 , p_source_98 => l_array_source_98(Idx)
158531 , p_source_99 => l_array_source_99(Idx)
158532 , p_source_100 => l_array_source_100(Idx)
158533 , p_source_145 => l_array_source_145(Idx)
158534 , p_source_145_meaning => l_array_source_145_meaning(Idx)
158535 );
158536 If(l_balance_type_code = 'A') THEN
158537 l_actual_gain_loss_ref := l_gain_or_loss_ref;
158538 END IF;
158539
158540 --
158541
158542
158543 --
158544 AcctLineType_222 (
158545 p_application_id => p_application_id
158546 ,p_event_id => l_event_id
158547 ,p_calculate_acctd_flag => l_calculate_acctd_flag
158548 ,p_calculate_g_l_flag => l_calculate_g_l_flag
158549 ,p_actual_flag => l_actual_flag
158550 ,p_balance_type_code => l_balance_type_code
158551 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
158552
158553 , p_source_1 => l_array_source_1(Idx)
158554 , p_source_10 => g_array_event(l_event_id).array_value_char('source_10')
158555 , p_source_10_meaning => g_array_event(l_event_id).array_value_char('source_10_meaning')
158556 , p_source_15 => g_array_event(l_event_id).array_value_num('source_15')
158557 , p_source_16 => l_array_source_16(Idx)
158558 , p_source_17 => l_array_source_17(Idx)
158559 , p_source_17_meaning => l_array_source_17_meaning(Idx)
158560 , p_source_18 => g_array_event(l_event_id).array_value_num('source_18')
158561 , p_source_25 => l_array_source_25(Idx)
158562 , p_source_28 => l_array_source_28(Idx)
158563 , p_source_28_meaning => l_array_source_28_meaning(Idx)
158564 , p_source_43 => g_array_event(l_event_id).array_value_char('source_43')
158565 , p_source_43_meaning => g_array_event(l_event_id).array_value_char('source_43_meaning')
158566 , p_source_54 => l_array_source_54(Idx)
158567 , p_source_54_meaning => l_array_source_54_meaning(Idx)
158568 , p_source_58 => l_array_source_58(Idx)
158569 , p_source_60 => l_array_source_60(Idx)
158570 , p_source_62 => l_array_source_62(Idx)
158571 , p_source_63 => g_array_event(l_event_id).array_value_num('source_63')
158572 , p_source_69 => l_array_source_69(Idx)
158573 , p_source_70 => l_array_source_70(Idx)
158574 , p_source_71 => l_array_source_71(Idx)
158575 , p_source_72 => g_array_event(l_event_id).array_value_char('source_72')
158576 , p_source_73 => l_array_source_73(Idx)
158577 , p_source_74 => l_array_source_74(Idx)
158578 , p_source_75 => l_array_source_75(Idx)
158579 , p_source_76 => l_array_source_76(Idx)
158580 , p_source_77 => l_array_source_77(Idx)
158581 , p_source_78 => l_array_source_78(Idx)
158582 , p_source_82 => l_array_source_82(Idx)
158583 , p_source_83 => l_array_source_83(Idx)
158584 , p_source_84 => l_array_source_84(Idx)
158585 , p_source_85 => l_array_source_85(Idx)
158586 , p_source_85_meaning => l_array_source_85_meaning(Idx)
158587 , p_source_86 => g_array_event(l_event_id).array_value_num('source_86')
158588 , p_source_87 => g_array_event(l_event_id).array_value_num('source_87')
158589 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
158590 , p_source_89 => l_array_source_89(Idx)
158591 , p_source_91 => l_array_source_91(Idx)
158592 , p_source_92 => l_array_source_92(Idx)
158593 , p_source_93 => l_array_source_93(Idx)
158594 , p_source_94 => l_array_source_94(Idx)
158595 , p_source_95 => l_array_source_95(Idx)
158596 , p_source_96 => l_array_source_96(Idx)
158597 , p_source_97 => l_array_source_97(Idx)
158598 , p_source_98 => l_array_source_98(Idx)
158602 , p_source_147 => g_array_event(l_event_id).array_value_num('source_147')
158599 , p_source_99 => l_array_source_99(Idx)
158600 , p_source_100 => l_array_source_100(Idx)
158601 , p_source_146 => g_array_event(l_event_id).array_value_date('source_146')
158603 , p_source_148 => g_array_event(l_event_id).array_value_char('source_148')
158604 );
158605 If(l_balance_type_code = 'A') THEN
158606 l_actual_gain_loss_ref := l_gain_or_loss_ref;
158607 END IF;
158608
158609 --
158610
158611
158612 --
158613 AcctLineType_226 (
158614 p_application_id => p_application_id
158615 ,p_event_id => l_event_id
158616 ,p_calculate_acctd_flag => l_calculate_acctd_flag
158617 ,p_calculate_g_l_flag => l_calculate_g_l_flag
158618 ,p_actual_flag => l_actual_flag
158619 ,p_balance_type_code => l_balance_type_code
158620 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
158621
158622 , p_source_1 => l_array_source_1(Idx)
158623 , p_source_16 => l_array_source_16(Idx)
158624 , p_source_25 => l_array_source_25(Idx)
158625 , p_source_28 => l_array_source_28(Idx)
158626 , p_source_28_meaning => l_array_source_28_meaning(Idx)
158627 , p_source_54 => l_array_source_54(Idx)
158628 , p_source_54_meaning => l_array_source_54_meaning(Idx)
158629 , p_source_58 => l_array_source_58(Idx)
158630 , p_source_60 => l_array_source_60(Idx)
158631 , p_source_62 => l_array_source_62(Idx)
158632 , p_source_63 => g_array_event(l_event_id).array_value_num('source_63')
158633 , p_source_69 => l_array_source_69(Idx)
158634 , p_source_70 => l_array_source_70(Idx)
158635 , p_source_71 => l_array_source_71(Idx)
158636 , p_source_72 => g_array_event(l_event_id).array_value_char('source_72')
158637 , p_source_73 => l_array_source_73(Idx)
158638 , p_source_74 => l_array_source_74(Idx)
158639 , p_source_75 => l_array_source_75(Idx)
158640 , p_source_76 => l_array_source_76(Idx)
158641 , p_source_77 => l_array_source_77(Idx)
158642 , p_source_78 => l_array_source_78(Idx)
158643 , p_source_82 => l_array_source_82(Idx)
158644 , p_source_83 => l_array_source_83(Idx)
158645 , p_source_84 => l_array_source_84(Idx)
158646 , p_source_85 => l_array_source_85(Idx)
158647 , p_source_85_meaning => l_array_source_85_meaning(Idx)
158648 , p_source_86 => g_array_event(l_event_id).array_value_num('source_86')
158649 , p_source_87 => g_array_event(l_event_id).array_value_num('source_87')
158650 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
158651 , p_source_89 => l_array_source_89(Idx)
158652 , p_source_91 => l_array_source_91(Idx)
158653 , p_source_92 => l_array_source_92(Idx)
158654 , p_source_93 => l_array_source_93(Idx)
158655 , p_source_94 => l_array_source_94(Idx)
158656 , p_source_95 => l_array_source_95(Idx)
158657 , p_source_96 => l_array_source_96(Idx)
158658 , p_source_97 => l_array_source_97(Idx)
158659 , p_source_98 => l_array_source_98(Idx)
158660 , p_source_99 => l_array_source_99(Idx)
158661 , p_source_100 => l_array_source_100(Idx)
158662 , p_source_146 => g_array_event(l_event_id).array_value_date('source_146')
158663 , p_source_147 => g_array_event(l_event_id).array_value_num('source_147')
158664 , p_source_148 => g_array_event(l_event_id).array_value_char('source_148')
158665 );
158666 If(l_balance_type_code = 'A') THEN
158667 l_actual_gain_loss_ref := l_gain_or_loss_ref;
158668 END IF;
158669
158670 --
158671
158672
158673 --
158674 AcctLineType_230 (
158675 p_application_id => p_application_id
158676 ,p_event_id => l_event_id
158677 ,p_calculate_acctd_flag => l_calculate_acctd_flag
158678 ,p_calculate_g_l_flag => l_calculate_g_l_flag
158679 ,p_actual_flag => l_actual_flag
158680 ,p_balance_type_code => l_balance_type_code
158681 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
158682
158683 , p_source_1 => l_array_source_1(Idx)
158684 , p_source_16 => l_array_source_16(Idx)
158685 , p_source_25 => l_array_source_25(Idx)
158686 , p_source_28 => l_array_source_28(Idx)
158687 , p_source_28_meaning => l_array_source_28_meaning(Idx)
158688 , p_source_54 => l_array_source_54(Idx)
158689 , p_source_54_meaning => l_array_source_54_meaning(Idx)
158690 , p_source_58 => l_array_source_58(Idx)
158691 , p_source_60 => l_array_source_60(Idx)
158692 , p_source_62 => l_array_source_62(Idx)
158693 , p_source_63 => g_array_event(l_event_id).array_value_num('source_63')
158694 , p_source_69 => l_array_source_69(Idx)
158695 , p_source_70 => l_array_source_70(Idx)
158696 , p_source_71 => l_array_source_71(Idx)
158697 , p_source_72 => g_array_event(l_event_id).array_value_char('source_72')
158698 , p_source_73 => l_array_source_73(Idx)
158699 , p_source_74 => l_array_source_74(Idx)
158700 , p_source_75 => l_array_source_75(Idx)
158701 , p_source_76 => l_array_source_76(Idx)
158702 , p_source_77 => l_array_source_77(Idx)
158703 , p_source_78 => l_array_source_78(Idx)
158704 , p_source_82 => l_array_source_82(Idx)
158705 , p_source_83 => l_array_source_83(Idx)
158706 , p_source_84 => l_array_source_84(Idx)
158707 , p_source_85 => l_array_source_85(Idx)
158708 , p_source_85_meaning => l_array_source_85_meaning(Idx)
158709 , p_source_86 => g_array_event(l_event_id).array_value_num('source_86')
158710 , p_source_87 => g_array_event(l_event_id).array_value_num('source_87')
158711 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
158712 , p_source_89 => l_array_source_89(Idx)
158713 , p_source_91 => l_array_source_91(Idx)
158714 , p_source_92 => l_array_source_92(Idx)
158715 , p_source_93 => l_array_source_93(Idx)
158716 , p_source_94 => l_array_source_94(Idx)
158717 , p_source_95 => l_array_source_95(Idx)
158718 , p_source_96 => l_array_source_96(Idx)
158719 , p_source_97 => l_array_source_97(Idx)
158720 , p_source_98 => l_array_source_98(Idx)
158721 , p_source_99 => l_array_source_99(Idx)
158722 , p_source_100 => l_array_source_100(Idx)
158723 , p_source_146 => g_array_event(l_event_id).array_value_date('source_146')
158724 , p_source_147 => g_array_event(l_event_id).array_value_num('source_147')
158728 l_actual_gain_loss_ref := l_gain_or_loss_ref;
158725 , p_source_148 => g_array_event(l_event_id).array_value_char('source_148')
158726 );
158727 If(l_balance_type_code = 'A') THEN
158729 END IF;
158730
158731 --
158732
158733
158734 --
158735 AcctLineType_236 (
158736 p_application_id => p_application_id
158737 ,p_event_id => l_event_id
158738 ,p_calculate_acctd_flag => l_calculate_acctd_flag
158739 ,p_calculate_g_l_flag => l_calculate_g_l_flag
158740 ,p_actual_flag => l_actual_flag
158741 ,p_balance_type_code => l_balance_type_code
158742 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
158743
158744 , p_source_1 => l_array_source_1(Idx)
158745 , p_source_10 => g_array_event(l_event_id).array_value_char('source_10')
158746 , p_source_10_meaning => g_array_event(l_event_id).array_value_char('source_10_meaning')
158747 , p_source_16 => l_array_source_16(Idx)
158748 , p_source_25 => l_array_source_25(Idx)
158749 , p_source_28 => l_array_source_28(Idx)
158750 , p_source_28_meaning => l_array_source_28_meaning(Idx)
158751 , p_source_39 => l_array_source_39(Idx)
158752 , p_source_58 => l_array_source_58(Idx)
158753 , p_source_60 => l_array_source_60(Idx)
158754 , p_source_62 => l_array_source_62(Idx)
158755 , p_source_63 => g_array_event(l_event_id).array_value_num('source_63')
158756 , p_source_69 => l_array_source_69(Idx)
158757 , p_source_70 => l_array_source_70(Idx)
158758 , p_source_71 => l_array_source_71(Idx)
158759 , p_source_72 => g_array_event(l_event_id).array_value_char('source_72')
158760 , p_source_73 => l_array_source_73(Idx)
158761 , p_source_74 => l_array_source_74(Idx)
158762 , p_source_75 => l_array_source_75(Idx)
158763 , p_source_76 => l_array_source_76(Idx)
158764 , p_source_77 => l_array_source_77(Idx)
158765 , p_source_78 => l_array_source_78(Idx)
158766 , p_source_82 => l_array_source_82(Idx)
158767 , p_source_83 => l_array_source_83(Idx)
158768 , p_source_84 => l_array_source_84(Idx)
158769 , p_source_85 => l_array_source_85(Idx)
158770 , p_source_85_meaning => l_array_source_85_meaning(Idx)
158771 , p_source_86 => g_array_event(l_event_id).array_value_num('source_86')
158772 , p_source_87 => g_array_event(l_event_id).array_value_num('source_87')
158773 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
158774 , p_source_89 => l_array_source_89(Idx)
158775 , p_source_91 => l_array_source_91(Idx)
158776 , p_source_92 => l_array_source_92(Idx)
158777 , p_source_93 => l_array_source_93(Idx)
158778 , p_source_94 => l_array_source_94(Idx)
158779 , p_source_95 => l_array_source_95(Idx)
158780 , p_source_96 => l_array_source_96(Idx)
158781 , p_source_97 => l_array_source_97(Idx)
158782 , p_source_98 => l_array_source_98(Idx)
158783 , p_source_99 => l_array_source_99(Idx)
158784 , p_source_100 => l_array_source_100(Idx)
158785 , p_source_146 => g_array_event(l_event_id).array_value_date('source_146')
158786 , p_source_147 => g_array_event(l_event_id).array_value_num('source_147')
158787 , p_source_148 => g_array_event(l_event_id).array_value_char('source_148')
158788 );
158789 If(l_balance_type_code = 'A') THEN
158790 l_actual_gain_loss_ref := l_gain_or_loss_ref;
158791 END IF;
158792
158793 --
158794
158795 -- only execute it if calculate g/l flag is yes, and primary or secondary ledger
158796 -- or secondary ledger that has different currency with primary
158797 -- or alc that is calculated by sla
158798 IF (((l_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
158799 (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'))
158800
158801 -- IF((l_calculate_g_l_flag='Y' or XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id <>
158802 -- XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id)
158803 AND (l_actual_flag = 'A')) THEN
158804 XLA_AE_LINES_PKG.CreateGainOrLossLines(
158805 p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
158806 ,p_application_id => p_application_id
158807 ,p_amb_context_code => 'DEFAULT'
158808 ,p_entity_code => xla_ae_journal_entry_pkg.g_cache_event.entity_code
158809 ,p_event_class_code => C_EVENT_CLASS_CODE
158810 ,p_event_type_code => C_EVENT_TYPE_CODE
158811
158812 ,p_gain_ccid => -1
158813 ,p_loss_ccid => -1
158814
158815 ,p_actual_flag => l_actual_flag
158816 ,p_enc_flag => null
158817 ,p_actual_g_l_ref => l_actual_gain_loss_ref
158818 ,p_enc_g_l_ref => null
158819 );
158820 END IF;
158821 END IF;
158822 END IF;
158823
158824 ELSE
158825 --
158826 -- Bug 4872078 - Do nothing if the event is meant for transaction reversal
158827 --
158828 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
158829 trace
158830 (p_msg => 'Trancaction revesal option is Y'
158831 ,p_level => C_LEVEL_STATEMENT
158832 ,p_module => l_log_module);
158833 END IF;
158834 END IF;
158835
158836 END LOOP;
158837 l_result := XLA_AE_LINES_PKG.InsertLines ;
158838 end loop;
158839 close line_cur;
158840
158841
158842 --
158843 -- insert headers into xla_ae_headers_gt table
158844 --
158845 l_result := XLA_AE_HEADER_PKG.InsertHeaders ;
158846
158847 -- insert into errors table here.
158848
158849 END LOOP;
158850
158851 --
158852 -- 4865292
158853 --
158854 -- Compare g_hdr_extract_count with event count in
158855 -- CreateHeadersAndLines.
158856 --
158857 g_hdr_extract_count := g_hdr_extract_count + header_cur%ROWCOUNT;
158858
158859 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
158860 trace (p_msg => '# rows extracted from header extract objects '
158861 || ' (running total): '
158865 END IF;
158862 || g_hdr_extract_count
158863 ,p_level => C_LEVEL_STATEMENT
158864 ,p_module => l_log_module);
158866
158867 CLOSE header_cur;
158868 --
158869
158870 --
158871 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
158872 trace
158873 (p_msg => 'END of EventClass_249'
158874 ,p_level => C_LEVEL_PROCEDURE
158875 ,p_module => l_log_module);
158876 END IF;
158877 --
158878 RETURN l_result;
158879 EXCEPTION
158880 WHEN xla_exceptions_pkg.application_exception THEN
158881
158882 IF header_cur%ISOPEN THEN CLOSE header_cur; END IF;
158883
158884
158885 IF line_cur%ISOPEN THEN CLOSE line_cur; END IF;
158886
158887 RAISE;
158888
158889 WHEN NO_DATA_FOUND THEN
158890
158891 IF header_cur%ISOPEN THEN CLOSE header_cur; END IF;
158892 IF line_cur%ISOPEN THEN CLOSE line_cur; END IF;
158893
158894 FOR header_record IN header_cur
158895 LOOP
158896 l_array_header_events(header_record.event_id) := header_record.event_id;
158897 END LOOP;
158898
158899 l_first_event_id := l_array_header_events(l_array_header_events.FIRST);
158900 l_last_event_id := l_array_header_events(l_array_header_events.LAST);
158901
158902 fnd_file.put_line(fnd_file.LOG, ' ');
158903 fnd_file.put_line(fnd_file.LOG, '***************************************************************************');
158904 fnd_file.put_line(fnd_file.LOG, 'EVENT CLASS CODE = ' || C_EVENT_CLASS_CODE );
158905 fnd_file.put_line(fnd_file.LOG, 'The following events are present in the line extract but MISSING in the header extract: ');
158906
158907 FOR line_record IN line_cur(l_first_event_id, l_last_event_id)
158908 LOOP
158909 IF (NOT l_array_header_events.EXISTS(line_record.event_id)) AND (NOT l_array_duplicate_checker.EXISTS(line_record.event_id)) THEN
158910 fnd_file.put_line(fnd_file.log, 'Event_id = ' || line_record.event_id);
158911 l_array_duplicate_checker(line_record.event_id) := line_record.event_id;
158912 END IF;
158913 END LOOP;
158914
158915 fnd_file.put_line(fnd_file.LOG, '***************************************************************************');
158916 fnd_file.put_line(fnd_file.LOG, ' ');
158917
158918
158919 xla_exceptions_pkg.raise_message
158920 (p_location => 'XLA_00200_AAD_S_000012_PKG.EventClass_249');
158921
158922
158923 WHEN OTHERS THEN
158924 xla_exceptions_pkg.raise_message
158925 (p_location => 'XLA_00200_AAD_S_000012_PKG.EventClass_249');
158926 END EventClass_249;
158927 --
158928
158929 ---------------------------------------
158930 --
158931 -- PRIVATE PROCEDURE
158932 -- insert_sources_250
158933 --
158934 ----------------------------------------
158935 --
158936 PROCEDURE insert_sources_250(
158937 p_target_ledger_id IN NUMBER
158938 , p_language IN VARCHAR2
158939 , p_sla_ledger_id IN NUMBER
158940 , p_pad_start_date IN DATE
158941 , p_pad_end_date IN DATE
158942 )
158943 IS
158944
158945 C_EVENT_TYPE_CODE CONSTANT VARCHAR2(30) := 'FUTURE DATED PAYMENTS_ALL';
158946 C_EVENT_CLASS_CODE CONSTANT VARCHAR2(30) := 'FUTURE DATED PAYMENTS';
158947 p_apps_owner VARCHAR2(30);
158948 l_log_module VARCHAR2(240);
158949 BEGIN
158950 IF g_log_enabled THEN
158951 l_log_module := C_DEFAULT_MODULE||'.insert_sources_250';
158952 END IF;
158953 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
158954
158955 trace
158956 (p_msg => 'BEGIN of insert_sources_250'
158957 ,p_level => C_LEVEL_PROCEDURE
158958 ,p_module => l_log_module);
158959
158960 END IF;
158961
158962 -- select APPS owner
158963 SELECT oracle_username
158964 INTO p_apps_owner
158965 FROM fnd_oracle_userid
158966 WHERE read_only_flag = 'U'
158967 ;
158968
158969 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
158970 trace
158971 (p_msg => 'p_target_ledger_id = '||p_target_ledger_id||
158972 ' - p_language = '||p_language||
158973 ' - p_sla_ledger_id = '||p_sla_ledger_id ||
158974 ' - p_pad_start_date = '||TO_CHAR(p_pad_start_date)||
158975 ' - p_pad_end_date = '||TO_CHAR(p_pad_end_date)||
158976 ' - p_apps_owner = '||TO_CHAR(p_apps_owner)
158977 ,p_level => C_LEVEL_STATEMENT
158978 ,p_module => l_log_module);
158979 END IF;
158980
158981
158982 --
158983 INSERT INTO xla_diag_sources --hdr2
158984 (
158985 event_id
158986 , ledger_id
158987 , sla_ledger_id
158988 , description_language
158989 , object_name
158990 , object_type_code
158991 , line_number
158992 , source_application_id
158993 , source_type_code
158994 , source_code
158995 , source_value
158996 , source_meaning
158997 , created_by
158998 , creation_date
158999 , last_update_date
159000 , last_updated_by
159001 , last_update_login
159002 , program_update_date
159003 , program_application_id
159004 , program_id
159005 , request_id
159006 )
159007 SELECT
159008 event_id
159009 , p_target_ledger_id
159010 , p_sla_ledger_id
159011 , p_language
159012 , object_name
159013 , object_type_code
159014 , line_number
159015 , source_application_id
159016 , source_type_code
159017 , source_code
159018 , SUBSTR(source_value ,1,1996)
159019 , SUBSTR(source_meaning ,1,200)
159020 , xla_environment_pkg.g_Usr_Id
159024 , xla_environment_pkg.g_Login_Id
159021 , TRUNC(SYSDATE)
159022 , TRUNC(SYSDATE)
159023 , xla_environment_pkg.g_Usr_Id
159025 , TRUNC(SYSDATE)
159026 , xla_environment_pkg.g_Prog_Appl_Id
159027 , xla_environment_pkg.g_Prog_Id
159028 , xla_environment_pkg.g_Req_Id
159029 FROM (
159030 SELECT xet.event_id event_id
159031 , 0 line_number
159032 , CASE r
159033 WHEN 1 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
159034 WHEN 2 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
159035 WHEN 3 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
159036 WHEN 4 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
159037 WHEN 5 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
159038 WHEN 6 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
159039 WHEN 7 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
159040 WHEN 8 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
159041 WHEN 9 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
159042 WHEN 10 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
159043 WHEN 11 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
159044 WHEN 12 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
159045 WHEN 13 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
159046 WHEN 14 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
159047 WHEN 15 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
159048 WHEN 16 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
159049 WHEN 17 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
159050 WHEN 18 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
159051 WHEN 19 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
159052 WHEN 20 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
159053 WHEN 21 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
159054 WHEN 22 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
159055
159056 ELSE null
159057 END object_name
159058 , CASE r
159059 WHEN 1 THEN 'HEADER'
159060 WHEN 2 THEN 'HEADER'
159061 WHEN 3 THEN 'HEADER'
159062 WHEN 4 THEN 'HEADER'
159063 WHEN 5 THEN 'HEADER'
159064 WHEN 6 THEN 'HEADER'
159065 WHEN 7 THEN 'HEADER'
159066 WHEN 8 THEN 'HEADER'
159067 WHEN 9 THEN 'HEADER'
159068 WHEN 10 THEN 'HEADER'
159069 WHEN 11 THEN 'HEADER'
159070 WHEN 12 THEN 'HEADER'
159071 WHEN 13 THEN 'HEADER'
159072 WHEN 14 THEN 'HEADER'
159073 WHEN 15 THEN 'HEADER'
159074 WHEN 16 THEN 'HEADER'
159075 WHEN 17 THEN 'HEADER'
159076 WHEN 18 THEN 'HEADER'
159077 WHEN 19 THEN 'HEADER'
159078 WHEN 20 THEN 'HEADER'
159079 WHEN 21 THEN 'HEADER'
159080 WHEN 22 THEN 'HEADER'
159081
159082 ELSE null
159083 END object_type_code
159084 , CASE r
159085 WHEN 1 THEN '200'
159086 WHEN 2 THEN '200'
159087 WHEN 3 THEN '200'
159088 WHEN 4 THEN '200'
159089 WHEN 5 THEN '200'
159090 WHEN 6 THEN '200'
159091 WHEN 7 THEN '200'
159092 WHEN 8 THEN '200'
159093 WHEN 9 THEN '200'
159094 WHEN 10 THEN '200'
159095 WHEN 11 THEN '200'
159096 WHEN 12 THEN '200'
159097 WHEN 13 THEN '200'
159098 WHEN 14 THEN '200'
159099 WHEN 15 THEN '200'
159100 WHEN 16 THEN '200'
159101 WHEN 17 THEN '200'
159102 WHEN 18 THEN '200'
159103 WHEN 19 THEN '200'
159104 WHEN 20 THEN '200'
159105 WHEN 21 THEN '200'
159106 WHEN 22 THEN '200'
159107
159108 ELSE null
159109 END source_application_id
159110 , 'S' source_type_code
159111 , CASE r
159112 WHEN 1 THEN 'AC_DOC_SEQUENCE_VALUE'
159113 WHEN 2 THEN 'AC_CURRENCY_CODE'
159114 WHEN 3 THEN 'ASP_AUTOMATIC_OFFSETS_VALUE'
159115 WHEN 4 THEN 'CGAC_AP_ASSET_CCID'
159116 WHEN 5 THEN 'CGAC_CASH_CLEARING_CCID'
159117 WHEN 6 THEN 'CGAC_GAIN_CCID'
159118 WHEN 7 THEN 'ASP_GAIN_CCID'
159119 WHEN 8 THEN 'CGAC_LOSS_CCID'
159120 WHEN 9 THEN 'ASP_LOSS_CCID'
159121 WHEN 10 THEN 'ASP_AUTO_OFFSET_FLAG'
159122 WHEN 11 THEN 'ASP_ROUNDING_ERROR_CCID'
159123 WHEN 12 THEN 'ASP_WHEN_TO_ACCOUNT_PMT'
159124 WHEN 13 THEN 'THIRD_PARTY_TYPE'
159125 WHEN 14 THEN 'AC_VENDOR_ID'
159126 WHEN 15 THEN 'AC_VENDOR_SITE_ID'
159127 WHEN 16 THEN 'CBA_POOLED_BANK_ACOUNT_FLAG'
159128 WHEN 17 THEN 'AC_FUTURE_PAY_DUE_DATE'
159129 WHEN 18 THEN 'AC_EXCHANGE_DATE'
159130 WHEN 19 THEN 'AC_EXCHANGE_RATE'
159131 WHEN 20 THEN 'AC_EXCHANGE_RATE_TYPE'
159132 WHEN 21 THEN 'AC_DOC_CATEGORY_CODE'
159133 WHEN 22 THEN 'PAYMENT_DOCUMENT_SEQUENCE_ID'
159134
159135 ELSE null
159136 END source_code
159137 , CASE r
159138 WHEN 1 THEN TO_CHAR(h2.AC_DOC_SEQUENCE_VALUE)
159139 WHEN 2 THEN TO_CHAR(h2.AC_CURRENCY_CODE)
159140 WHEN 3 THEN TO_CHAR(h3.ASP_AUTOMATIC_OFFSETS_VALUE)
159141 WHEN 4 THEN TO_CHAR(h2.CGAC_AP_ASSET_CCID)
159145 WHEN 8 THEN TO_CHAR(h2.CGAC_LOSS_CCID)
159142 WHEN 5 THEN TO_CHAR(h2.CGAC_CASH_CLEARING_CCID)
159143 WHEN 6 THEN TO_CHAR(h2.CGAC_GAIN_CCID)
159144 WHEN 7 THEN TO_CHAR(h3.ASP_GAIN_CCID)
159146 WHEN 9 THEN TO_CHAR(h3.ASP_LOSS_CCID)
159147 WHEN 10 THEN TO_CHAR(h3.ASP_AUTO_OFFSET_FLAG)
159148 WHEN 11 THEN TO_CHAR(h3.ASP_ROUNDING_ERROR_CCID)
159149 WHEN 12 THEN TO_CHAR(h3.ASP_WHEN_TO_ACCOUNT_PMT)
159150 WHEN 13 THEN TO_CHAR(h2.THIRD_PARTY_TYPE)
159151 WHEN 14 THEN TO_CHAR(h2.AC_VENDOR_ID)
159152 WHEN 15 THEN TO_CHAR(h2.AC_VENDOR_SITE_ID)
159153 WHEN 16 THEN TO_CHAR(h2.CBA_POOLED_BANK_ACOUNT_FLAG)
159154 WHEN 17 THEN TO_CHAR(h2.AC_FUTURE_PAY_DUE_DATE)
159155 WHEN 18 THEN TO_CHAR(h2.AC_EXCHANGE_DATE)
159156 WHEN 19 THEN TO_CHAR(h2.AC_EXCHANGE_RATE)
159157 WHEN 20 THEN TO_CHAR(h2.AC_EXCHANGE_RATE_TYPE)
159158 WHEN 21 THEN TO_CHAR(h2.AC_DOC_CATEGORY_CODE)
159159 WHEN 22 THEN TO_CHAR(h2.PAYMENT_DOCUMENT_SEQUENCE_ID)
159160
159161 ELSE null
159162 END source_value
159163 , CASE r
159164 WHEN 3 THEN fvl10.meaning
159165 WHEN 10 THEN fvl43.meaning
159166 WHEN 16 THEN fvl116.meaning
159167
159168 ELSE null
159169 END source_meaning
159170 FROM xla_events_gt xet
159171 , AP_PAYMENT_EXTRACT_HEADER_V h2
159172 , AP_SYSTEM_PARAMETERS_EXTRACT_V h3
159173 , fnd_lookup_values fvl10
159174 , fnd_lookup_values fvl43
159175 , fnd_lookup_values fvl116
159176 ,(select rownum r from all_objects where rownum <= 22 and owner = p_apps_owner)
159177 WHERE xet.event_date between p_pad_start_date AND p_pad_end_date
159178 AND xet.event_class_code = C_EVENT_CLASS_CODE
159179 AND h2.event_id = xet.event_id
159180 AND h3.asp_org_id = h2.ac_org_id AND fvl10.lookup_type(+) = 'LIABILITY FLEXBUILD METHOD'
159181 AND fvl10.lookup_code(+) = h3.ASP_AUTOMATIC_OFFSETS_VALUE
159182 AND fvl10.view_application_id(+) = 200
159183 AND fvl10.language(+) = USERENV('LANG')
159184 AND fvl43.lookup_type(+) = 'YES_NO'
159185 AND fvl43.lookup_code(+) = h3.ASP_AUTO_OFFSET_FLAG
159186 AND fvl43.view_application_id(+) = 0
159187 AND fvl43.language(+) = USERENV('LANG')
159188 AND fvl116.lookup_type(+) = 'YES_NO'
159189 AND fvl116.lookup_code(+) = h2.CBA_POOLED_BANK_ACOUNT_FLAG
159190 AND fvl116.view_application_id(+) = 0
159191 AND fvl116.language(+) = USERENV('LANG')
159192
159193 )
159194 ;
159195 --
159196 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
159197
159198 trace
159199 (p_msg => 'number of header sources inserted = '||SQL%ROWCOUNT
159200 ,p_level => C_LEVEL_STATEMENT
159201 ,p_module => l_log_module);
159202
159203 END IF;
159204 --
159205
159206
159207
159208 --
159209 INSERT INTO xla_diag_sources --line2
159210 (
159211 event_id
159212 , ledger_id
159213 , sla_ledger_id
159214 , description_language
159215 , object_name
159216 , object_type_code
159217 , line_number
159218 , source_application_id
159219 , source_type_code
159220 , source_code
159221 , source_value
159222 , source_meaning
159223 , created_by
159224 , creation_date
159225 , last_update_date
159226 , last_updated_by
159227 , last_update_login
159228 , program_update_date
159229 , program_application_id
159230 , program_id
159231 , request_id
159232 )
159233 SELECT event_id
159234 , p_target_ledger_id
159235 , p_sla_ledger_id
159236 , p_language
159237 , object_name
159238 , object_type_code
159239 , line_number
159240 , source_application_id
159241 , source_type_code
159242 , source_code
159243 , SUBSTR(source_value,1,1996)
159244 , SUBSTR(source_meaning ,1,200)
159245 , xla_environment_pkg.g_Usr_Id
159246 , TRUNC(SYSDATE)
159247 , TRUNC(SYSDATE)
159248 , xla_environment_pkg.g_Usr_Id
159249 , xla_environment_pkg.g_Login_Id
159250 , TRUNC(SYSDATE)
159251 , xla_environment_pkg.g_Prog_Appl_Id
159252 , xla_environment_pkg.g_Prog_Id
159253 , xla_environment_pkg.g_Req_Id
159254 FROM (
159255 SELECT xet.event_id event_id
159256 , l1.line_number line_number
159257 , CASE r
159258 WHEN 1 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
159259 WHEN 2 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
159260 WHEN 3 THEN 'ZX_AP_DEF_TAX_EXTRACT_V'
159261 WHEN 4 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
159262 WHEN 5 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
159263 WHEN 6 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
159264 WHEN 7 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
159265 WHEN 8 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
159266 WHEN 9 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
159267 WHEN 10 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
159268 WHEN 11 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
159269 WHEN 12 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
159270 WHEN 13 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
159271 WHEN 14 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
159272 WHEN 15 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
159273 WHEN 16 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
159274 WHEN 17 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
159278 WHEN 21 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
159275 WHEN 18 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
159276 WHEN 19 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
159277 WHEN 20 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
159279 WHEN 22 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
159280 WHEN 23 THEN 'ZX_AP_DEF_TAX_EXTRACT_V'
159281 WHEN 24 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
159282 WHEN 25 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
159283
159284 ELSE null
159285 END object_name
159286 , CASE r
159287 WHEN 1 THEN 'LINE'
159288 WHEN 2 THEN 'LINE'
159289 WHEN 3 THEN 'LINE'
159290 WHEN 4 THEN 'LINE'
159291 WHEN 5 THEN 'LINE'
159292 WHEN 6 THEN 'LINE'
159293 WHEN 7 THEN 'LINE'
159294 WHEN 8 THEN 'LINE'
159295 WHEN 9 THEN 'LINE'
159296 WHEN 10 THEN 'LINE'
159297 WHEN 11 THEN 'LINE'
159298 WHEN 12 THEN 'LINE'
159299 WHEN 13 THEN 'LINE'
159300 WHEN 14 THEN 'LINE'
159301 WHEN 15 THEN 'LINE'
159302 WHEN 16 THEN 'LINE'
159303 WHEN 17 THEN 'LINE'
159304 WHEN 18 THEN 'LINE'
159305 WHEN 19 THEN 'LINE'
159306 WHEN 20 THEN 'LINE'
159307 WHEN 21 THEN 'LINE'
159308 WHEN 22 THEN 'LINE'
159309 WHEN 23 THEN 'LINE'
159310 WHEN 24 THEN 'LINE'
159311 WHEN 25 THEN 'LINE'
159312
159313 ELSE null
159314 END object_type_code
159315 , CASE r
159316 WHEN 1 THEN '200'
159317 WHEN 2 THEN '200'
159318 WHEN 3 THEN '200'
159319 WHEN 4 THEN '200'
159320 WHEN 5 THEN '200'
159321 WHEN 6 THEN '200'
159322 WHEN 7 THEN '200'
159323 WHEN 8 THEN '200'
159324 WHEN 9 THEN '200'
159325 WHEN 10 THEN '200'
159326 WHEN 11 THEN '200'
159327 WHEN 12 THEN '200'
159328 WHEN 13 THEN '200'
159329 WHEN 14 THEN '200'
159330 WHEN 15 THEN '200'
159331 WHEN 16 THEN '200'
159332 WHEN 17 THEN '200'
159333 WHEN 18 THEN '200'
159334 WHEN 19 THEN '200'
159335 WHEN 20 THEN '200'
159336 WHEN 21 THEN '200'
159337 WHEN 22 THEN '200'
159338 WHEN 23 THEN '200'
159339 WHEN 24 THEN '200'
159340 WHEN 25 THEN '200'
159341
159342 ELSE null
159343 END source_application_id
159344 , 'S' source_type_code
159345 , CASE r
159346 WHEN 1 THEN 'AID_DIST_CCID'
159347 WHEN 2 THEN 'AID_LINE_TYPE_LOOKUP_CODE'
159348 WHEN 3 THEN 'TAX_ACCOUNT_CCID'
159349 WHEN 4 THEN 'DIST_ACCOUNT_REVERSAL_OPTION'
159350 WHEN 5 THEN 'DISTRIBUTION_LINK_TYPE'
159351 WHEN 6 THEN 'OVERRIDE_ACCTD_AMT_FLAG'
159352 WHEN 7 THEN 'BUS_FLOW_AP_APP_ID'
159353 WHEN 8 THEN 'BUS_FLOW_INV_DIST_TYPE'
159354 WHEN 9 THEN 'BUS_FLOW_INV_ENTITY_CODE'
159355 WHEN 10 THEN 'BUS_FLOW_INV_DIST_ID'
159356 WHEN 11 THEN 'BUS_FLOW_INV_ID'
159357 WHEN 12 THEN 'APHD_PAY_DIST_LOOKUP_CODE'
159358 WHEN 13 THEN 'APHD_AMOUNT'
159359 WHEN 14 THEN 'BUS_FLOW_PAYMENT_DIST_TYPE'
159360 WHEN 15 THEN 'BUS_FLOW_PAYMENT_ENTITY_CODE'
159361 WHEN 16 THEN 'BUS_FLOW_PAYMENT_DIST_ID'
159362 WHEN 17 THEN 'BUS_FLOW_PAYMENT_ID'
159363 WHEN 18 THEN 'APHD_PAYMENT_HIST_DIST_ID'
159364 WHEN 19 THEN 'APHD_REV_PAY_HIST_DIST_ID'
159365 WHEN 20 THEN 'APHD_PAYMENT_BASE_AMT'
159366 WHEN 21 THEN 'APHD_INVOICE_BASE_AMT'
159367 WHEN 22 THEN 'APHD_MATURED_BASE_AMOUNT'
159368 WHEN 23 THEN 'DEF_REC_SETTLEMENT_OPTION_CODE'
159369 WHEN 24 THEN 'PMT_MAT_BASE_AMT_DIFF'
159370 WHEN 25 THEN 'PMT_MAT_GAIN_LOSS_INDICATOR'
159371
159372 ELSE null
159373 END source_code
159374 , CASE r
159375 WHEN 1 THEN TO_CHAR(l1.AID_DIST_CCID)
159376 WHEN 2 THEN TO_CHAR(l1.AID_LINE_TYPE_LOOKUP_CODE)
159377 WHEN 3 THEN TO_CHAR(l4.TAX_ACCOUNT_CCID)
159378 WHEN 4 THEN TO_CHAR(l1.DIST_ACCOUNT_REVERSAL_OPTION)
159379 WHEN 5 THEN TO_CHAR(l1.DISTRIBUTION_LINK_TYPE)
159380 WHEN 6 THEN TO_CHAR(l1.OVERRIDE_ACCTD_AMT_FLAG)
159381 WHEN 7 THEN TO_CHAR(l1.BUS_FLOW_AP_APP_ID)
159382 WHEN 8 THEN TO_CHAR(l1.BUS_FLOW_INV_DIST_TYPE)
159383 WHEN 9 THEN TO_CHAR(l1.BUS_FLOW_INV_ENTITY_CODE)
159384 WHEN 10 THEN TO_CHAR(l1.BUS_FLOW_INV_DIST_ID)
159385 WHEN 11 THEN TO_CHAR(l1.BUS_FLOW_INV_ID)
159386 WHEN 12 THEN TO_CHAR(l1.APHD_PAY_DIST_LOOKUP_CODE)
159387 WHEN 13 THEN TO_CHAR(l1.APHD_AMOUNT)
159388 WHEN 14 THEN TO_CHAR(l1.BUS_FLOW_PAYMENT_DIST_TYPE)
159389 WHEN 15 THEN TO_CHAR(l1.BUS_FLOW_PAYMENT_ENTITY_CODE)
159390 WHEN 16 THEN TO_CHAR(l1.BUS_FLOW_PAYMENT_DIST_ID)
159391 WHEN 17 THEN TO_CHAR(l1.BUS_FLOW_PAYMENT_ID)
159392 WHEN 18 THEN TO_CHAR(l1.APHD_PAYMENT_HIST_DIST_ID)
159396 WHEN 22 THEN TO_CHAR(l1.APHD_MATURED_BASE_AMOUNT)
159393 WHEN 19 THEN TO_CHAR(l1.APHD_REV_PAY_HIST_DIST_ID)
159394 WHEN 20 THEN TO_CHAR(l1.APHD_PAYMENT_BASE_AMT)
159395 WHEN 21 THEN TO_CHAR(l1.APHD_INVOICE_BASE_AMT)
159397 WHEN 23 THEN TO_CHAR(l4.DEF_REC_SETTLEMENT_OPTION_CODE)
159398 WHEN 24 THEN TO_CHAR(l1.PMT_MAT_BASE_AMT_DIFF)
159399 WHEN 25 THEN TO_CHAR(l1.PMT_MAT_GAIN_LOSS_INDICATOR)
159400
159401 ELSE null
159402 END source_value
159403 , CASE r
159404 WHEN 2 THEN fvl28.meaning
159405 WHEN 6 THEN fvl85.meaning
159406 WHEN 12 THEN fvl101.meaning
159407 WHEN 23 THEN fvl140.meaning
159408
159409 ELSE null
159410 END source_meaning
159411 FROM xla_events_gt xet
159412 , AP_PAYMENT_EXTRACT_DETAILS_V l1
159413 , ZX_AP_DEF_TAX_EXTRACT_V l4
159414 , fnd_lookup_values fvl28
159415 , fnd_lookup_values fvl85
159416 , fnd_lookup_values fvl101
159417 , fnd_lookup_values fvl140
159418 , (select rownum r from all_objects where rownum <= 25 and owner = p_apps_owner)
159419 WHERE xet.event_date between p_pad_start_date AND p_pad_end_date
159420 AND xet.event_class_code = C_EVENT_CLASS_CODE
159421 AND l1.event_id = xet.event_id
159422 AND l1.aid_detail_tax_dist_id = l4.rec_nrec_tax_dist_id (+) AND fvl28.lookup_type(+) = 'INVOICE DISTRIBUTION TYPE'
159423 AND fvl28.lookup_code(+) = l1.AID_LINE_TYPE_LOOKUP_CODE
159424 AND fvl28.view_application_id(+) = 200
159425 AND fvl28.language(+) = USERENV('LANG')
159426 AND fvl85.lookup_type(+) = 'YES_NO'
159427 AND fvl85.lookup_code(+) = l1.OVERRIDE_ACCTD_AMT_FLAG
159428 AND fvl85.view_application_id(+) = 0
159429 AND fvl85.language(+) = USERENV('LANG')
159430 AND fvl101.lookup_type(+) = 'PAY_DIST_TYPES'
159431 AND fvl101.lookup_code(+) = l1.APHD_PAY_DIST_LOOKUP_CODE
159432 AND fvl101.view_application_id(+) = 200
159433 AND fvl101.language(+) = USERENV('LANG')
159434 AND fvl140.lookup_type(+) = 'ZX_REC_SETTLEMENT_OPTION'
159435 AND fvl140.lookup_code(+) = l4.DEF_REC_SETTLEMENT_OPTION_CODE
159436 AND fvl140.view_application_id(+) = 0
159437 AND fvl140.language(+) = USERENV('LANG')
159438
159439 )
159440 ;
159441 --
159442 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
159443
159444 trace
159445 (p_msg => 'number of line sources inserted = '||SQL%ROWCOUNT
159446 ,p_level => C_LEVEL_STATEMENT
159447 ,p_module => l_log_module);
159448
159449 END IF;
159450
159451
159452 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
159453 trace
159454 (p_msg => 'END of insert_sources_250'
159455 ,p_level => C_LEVEL_PROCEDURE
159456 ,p_module => l_log_module);
159457 END IF;
159458 EXCEPTION
159459 WHEN xla_exceptions_pkg.application_exception THEN
159460 IF (C_LEVEL_EXCEPTION >= g_log_level) THEN
159461 trace
159462 (p_msg => 'ERROR: XLA_CMP_COMPILER_ERROR = '||sqlerrm
159463 ,p_level => C_LEVEL_EXCEPTION
159464 ,p_module => l_log_module);
159465 END IF;
159466 RAISE;
159467 WHEN OTHERS THEN
159468 IF (C_LEVEL_EXCEPTION >= g_log_level) THEN
159469 trace
159470 (p_msg => 'ERROR: XLA_CMP_COMPILER_ERROR = '||sqlerrm
159471 ,p_level => C_LEVEL_EXCEPTION
159472 ,p_module => l_log_module);
159473 END IF;
159474 xla_exceptions_pkg.raise_message
159475 (p_location => 'XLA_00200_AAD_S_000012_PKG.insert_sources_250');
159476 END insert_sources_250;
159477 --
159478
159479 ---------------------------------------
159480 --
159481 -- PRIVATE FUNCTION
159482 -- EventClass_250
159483 --
159484 ----------------------------------------
159485 --
159486 FUNCTION EventClass_250
159487 (p_application_id IN NUMBER
159488 ,p_base_ledger_id IN NUMBER
159489 ,p_target_ledger_id IN NUMBER
159490 ,p_language IN VARCHAR2
159491 ,p_currency_code IN VARCHAR2
159492 ,p_sla_ledger_id IN NUMBER
159493 ,p_pad_start_date IN DATE
159494 ,p_pad_end_date IN DATE
159495 ,p_primary_ledger_id IN NUMBER)
159496 RETURN BOOLEAN IS
159497 --
159498 C_EVENT_TYPE_CODE CONSTANT VARCHAR2(30) := 'FUTURE DATED PAYMENTS_ALL';
159499 C_EVENT_CLASS_CODE CONSTANT VARCHAR2(30) := 'FUTURE DATED PAYMENTS';
159500
159501 l_calculate_acctd_flag VARCHAR2(1) :='N';
159502 l_calculate_g_l_flag VARCHAR2(1) :='N';
159503 --
159504 l_array_legal_entity_id XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
159505 l_array_entity_id XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
159506 l_array_entity_code XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
159507 l_array_transaction_num XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
159508 l_array_event_id XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
159509 l_array_class_code XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
159510 l_array_event_type XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
159511 l_array_event_number XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
159512 l_array_event_date XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
159513 l_array_transaction_date XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
159514 l_array_reference_num_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
159515 l_array_reference_num_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
159516 l_array_reference_num_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
159520 l_array_reference_char_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
159517 l_array_reference_num_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
159518 l_array_reference_char_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
159519 l_array_reference_char_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
159521 l_array_reference_char_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
159522 l_array_reference_date_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
159523 l_array_reference_date_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
159524 l_array_reference_date_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
159525 l_array_reference_date_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
159526 l_array_event_created_by XLA_AE_JOURNAL_ENTRY_PKG.t_array_V100L;
159527 l_array_budgetary_control_flag XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
159528 l_array_header_events XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num; --added
159529 l_array_duplicate_checker XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num; --added
159530
159531 l_event_id NUMBER;
159532 l_previous_event_id NUMBER;
159533 l_first_event_id NUMBER;
159534 l_last_event_id NUMBER;
159535
159536 l_rec_acct_attrs XLA_AE_HEADER_PKG.t_rec_acct_attrs;
159537 l_rec_rev_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
159538 --
159539 --
159540 l_result BOOLEAN := TRUE;
159541 l_rows NUMBER := 1000;
159542 l_event_type_name VARCHAR2(80) := 'All';
159543 l_event_class_name VARCHAR2(80) := 'Future Dated Payments';
159544 l_description VARCHAR2(4000);
159545 l_transaction_reversal NUMBER;
159546 l_ae_header_id NUMBER;
159547 l_array_extract_line_num xla_ae_journal_entry_pkg.t_array_Num;
159548 l_log_module VARCHAR2(240);
159549 --
159550 l_acct_reversal_source VARCHAR2(30);
159551 l_trx_reversal_source VARCHAR2(30);
159552
159553 l_continue_with_lines BOOLEAN := TRUE;
159554 --
159555 l_acc_rev_gl_date_source DATE; -- 4262811
159556 --
159557 type t_array_event_id is table of number index by binary_integer;
159558
159559 l_rec_array_event t_rec_array_event;
159560 l_null_rec_array_event t_rec_array_event;
159561 l_array_ae_header_id xla_number_array_type;
159562 l_actual_flag VARCHAR2(1) := NULL;
159563 l_actual_gain_loss_ref VARCHAR2(30) := '#####';
159564 l_balance_type_code VARCHAR2(1) :=NULL;
159565 l_gain_or_loss_ref VARCHAR2(30) :=NULL;
159566
159567 --
159568 TYPE t_array_lookup_meaning IS TABLE OF fnd_lookup_values.meaning%TYPE INDEX BY BINARY_INTEGER;
159569 --
159570
159571 TYPE t_array_source_4 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_DOC_SEQUENCE_VALUE%TYPE INDEX BY BINARY_INTEGER;
159572 TYPE t_array_source_8 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_CURRENCY_CODE%TYPE INDEX BY BINARY_INTEGER;
159573 TYPE t_array_source_10 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_AUTOMATIC_OFFSETS_VALUE%TYPE INDEX BY BINARY_INTEGER;
159574 TYPE t_array_source_12 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.CGAC_AP_ASSET_CCID%TYPE INDEX BY BINARY_INTEGER;
159575 TYPE t_array_source_30 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.CGAC_CASH_CLEARING_CCID%TYPE INDEX BY BINARY_INTEGER;
159576 TYPE t_array_source_31 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.CGAC_GAIN_CCID%TYPE INDEX BY BINARY_INTEGER;
159577 TYPE t_array_source_32 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_GAIN_CCID%TYPE INDEX BY BINARY_INTEGER;
159578 TYPE t_array_source_33 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.CGAC_LOSS_CCID%TYPE INDEX BY BINARY_INTEGER;
159579 TYPE t_array_source_34 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_LOSS_CCID%TYPE INDEX BY BINARY_INTEGER;
159580 TYPE t_array_source_43 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_AUTO_OFFSET_FLAG%TYPE INDEX BY BINARY_INTEGER;
159581 TYPE t_array_source_45 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_ROUNDING_ERROR_CCID%TYPE INDEX BY BINARY_INTEGER;
159582 TYPE t_array_source_57 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_WHEN_TO_ACCOUNT_PMT%TYPE INDEX BY BINARY_INTEGER;
159583 TYPE t_array_source_88 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.THIRD_PARTY_TYPE%TYPE INDEX BY BINARY_INTEGER;
159584 TYPE t_array_source_113 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_VENDOR_ID%TYPE INDEX BY BINARY_INTEGER;
159585 TYPE t_array_source_114 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_VENDOR_SITE_ID%TYPE INDEX BY BINARY_INTEGER;
159586 TYPE t_array_source_116 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.CBA_POOLED_BANK_ACOUNT_FLAG%TYPE INDEX BY BINARY_INTEGER;
159587 TYPE t_array_source_117 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_FUTURE_PAY_DUE_DATE%TYPE INDEX BY BINARY_INTEGER;
159588 TYPE t_array_source_120 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_EXCHANGE_DATE%TYPE INDEX BY BINARY_INTEGER;
159589 TYPE t_array_source_121 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_EXCHANGE_RATE%TYPE INDEX BY BINARY_INTEGER;
159590 TYPE t_array_source_122 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_EXCHANGE_RATE_TYPE%TYPE INDEX BY BINARY_INTEGER;
159591 TYPE t_array_source_175 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_DOC_CATEGORY_CODE%TYPE INDEX BY BINARY_INTEGER;
159592 TYPE t_array_source_176 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.PAYMENT_DOCUMENT_SEQUENCE_ID%TYPE INDEX BY BINARY_INTEGER;
159593
159594 TYPE t_array_source_25 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.AID_DIST_CCID%TYPE INDEX BY BINARY_INTEGER;
159595 TYPE t_array_source_28 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.AID_LINE_TYPE_LOOKUP_CODE%TYPE INDEX BY BINARY_INTEGER;
159596 TYPE t_array_source_48 IS TABLE OF ZX_AP_DEF_TAX_EXTRACT_V.TAX_ACCOUNT_CCID%TYPE INDEX BY BINARY_INTEGER;
159597 TYPE t_array_source_58 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.DIST_ACCOUNT_REVERSAL_OPTION%TYPE INDEX BY BINARY_INTEGER;
159598 TYPE t_array_source_60 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.DISTRIBUTION_LINK_TYPE%TYPE INDEX BY BINARY_INTEGER;
159599 TYPE t_array_source_85 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.OVERRIDE_ACCTD_AMT_FLAG%TYPE INDEX BY BINARY_INTEGER;
159600 TYPE t_array_source_96 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.BUS_FLOW_AP_APP_ID%TYPE INDEX BY BINARY_INTEGER;
159604 TYPE t_array_source_100 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.BUS_FLOW_INV_ID%TYPE INDEX BY BINARY_INTEGER;
159601 TYPE t_array_source_97 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.BUS_FLOW_INV_DIST_TYPE%TYPE INDEX BY BINARY_INTEGER;
159602 TYPE t_array_source_98 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.BUS_FLOW_INV_ENTITY_CODE%TYPE INDEX BY BINARY_INTEGER;
159603 TYPE t_array_source_99 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.BUS_FLOW_INV_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
159605 TYPE t_array_source_101 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.APHD_PAY_DIST_LOOKUP_CODE%TYPE INDEX BY BINARY_INTEGER;
159606 TYPE t_array_source_102 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.APHD_AMOUNT%TYPE INDEX BY BINARY_INTEGER;
159607 TYPE t_array_source_103 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.BUS_FLOW_PAYMENT_DIST_TYPE%TYPE INDEX BY BINARY_INTEGER;
159608 TYPE t_array_source_104 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.BUS_FLOW_PAYMENT_ENTITY_CODE%TYPE INDEX BY BINARY_INTEGER;
159609 TYPE t_array_source_105 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.BUS_FLOW_PAYMENT_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
159610 TYPE t_array_source_106 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.BUS_FLOW_PAYMENT_ID%TYPE INDEX BY BINARY_INTEGER;
159611 TYPE t_array_source_107 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.APHD_PAYMENT_HIST_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
159612 TYPE t_array_source_115 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.APHD_REV_PAY_HIST_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
159613 TYPE t_array_source_118 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.APHD_PAYMENT_BASE_AMT%TYPE INDEX BY BINARY_INTEGER;
159614 TYPE t_array_source_119 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.APHD_INVOICE_BASE_AMT%TYPE INDEX BY BINARY_INTEGER;
159615 TYPE t_array_source_124 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.APHD_MATURED_BASE_AMOUNT%TYPE INDEX BY BINARY_INTEGER;
159616 TYPE t_array_source_140 IS TABLE OF ZX_AP_DEF_TAX_EXTRACT_V.DEF_REC_SETTLEMENT_OPTION_CODE%TYPE INDEX BY BINARY_INTEGER;
159617 TYPE t_array_source_157 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.PMT_MAT_BASE_AMT_DIFF%TYPE INDEX BY BINARY_INTEGER;
159618 TYPE t_array_source_164 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.PMT_MAT_GAIN_LOSS_INDICATOR%TYPE INDEX BY BINARY_INTEGER;
159619
159620 l_array_source_4 t_array_source_4;
159621 l_array_source_8 t_array_source_8;
159622 l_array_source_10 t_array_source_10;
159623 l_array_source_10_meaning t_array_lookup_meaning;
159624 l_array_source_12 t_array_source_12;
159625 l_array_source_30 t_array_source_30;
159626 l_array_source_31 t_array_source_31;
159627 l_array_source_32 t_array_source_32;
159628 l_array_source_33 t_array_source_33;
159629 l_array_source_34 t_array_source_34;
159630 l_array_source_43 t_array_source_43;
159631 l_array_source_43_meaning t_array_lookup_meaning;
159632 l_array_source_45 t_array_source_45;
159633 l_array_source_57 t_array_source_57;
159634 l_array_source_88 t_array_source_88;
159635 l_array_source_113 t_array_source_113;
159636 l_array_source_114 t_array_source_114;
159637 l_array_source_116 t_array_source_116;
159638 l_array_source_116_meaning t_array_lookup_meaning;
159639 l_array_source_117 t_array_source_117;
159640 l_array_source_120 t_array_source_120;
159641 l_array_source_121 t_array_source_121;
159642 l_array_source_122 t_array_source_122;
159643 l_array_source_175 t_array_source_175;
159644 l_array_source_176 t_array_source_176;
159645
159646 l_array_source_25 t_array_source_25;
159647 l_array_source_28 t_array_source_28;
159648 l_array_source_28_meaning t_array_lookup_meaning;
159649 l_array_source_48 t_array_source_48;
159650 l_array_source_58 t_array_source_58;
159651 l_array_source_60 t_array_source_60;
159652 l_array_source_85 t_array_source_85;
159653 l_array_source_85_meaning t_array_lookup_meaning;
159654 l_array_source_96 t_array_source_96;
159655 l_array_source_97 t_array_source_97;
159656 l_array_source_98 t_array_source_98;
159657 l_array_source_99 t_array_source_99;
159658 l_array_source_100 t_array_source_100;
159659 l_array_source_101 t_array_source_101;
159660 l_array_source_101_meaning t_array_lookup_meaning;
159661 l_array_source_102 t_array_source_102;
159662 l_array_source_103 t_array_source_103;
159663 l_array_source_104 t_array_source_104;
159664 l_array_source_105 t_array_source_105;
159665 l_array_source_106 t_array_source_106;
159666 l_array_source_107 t_array_source_107;
159667 l_array_source_115 t_array_source_115;
159668 l_array_source_118 t_array_source_118;
159669 l_array_source_119 t_array_source_119;
159670 l_array_source_124 t_array_source_124;
159671 l_array_source_140 t_array_source_140;
159672 l_array_source_140_meaning t_array_lookup_meaning;
159673 l_array_source_157 t_array_source_157;
159674 l_array_source_164 t_array_source_164;
159675
159676 --
159677 CURSOR header_cur
159678 IS
159679 SELECT /*+ leading(xet) cardinality(xet,1) */
159680 -- Event Class Code: FUTURE DATED PAYMENTS
159681 xet.entity_id
159682 ,xet.legal_entity_id
159683 ,xet.entity_code
159684 ,xet.transaction_number
159685 ,xet.event_id
159686 ,xet.event_class_code
159687 ,xet.event_type_code
159688 ,xet.event_number
159689 ,xet.event_date
159690 ,xet.transaction_date
159691 ,xet.reference_num_1
159692 ,xet.reference_num_2
159693 ,xet.reference_num_3
159694 ,xet.reference_num_4
159695 ,xet.reference_char_1
159696 ,xet.reference_char_2
159697 ,xet.reference_char_3
159698 ,xet.reference_char_4
159699 ,xet.reference_date_1
159700 ,xet.reference_date_2
159701 ,xet.reference_date_3
159702 ,xet.reference_date_4
159703 ,xet.event_created_by
159704 ,xet.budgetary_control_flag
159705 , h2.AC_DOC_SEQUENCE_VALUE source_4
159706 , h2.AC_CURRENCY_CODE source_8
159707 , h3.ASP_AUTOMATIC_OFFSETS_VALUE source_10
159708 , fvl10.meaning source_10_meaning
159712 , h3.ASP_GAIN_CCID source_32
159709 , h2.CGAC_AP_ASSET_CCID source_12
159710 , h2.CGAC_CASH_CLEARING_CCID source_30
159711 , h2.CGAC_GAIN_CCID source_31
159713 , h2.CGAC_LOSS_CCID source_33
159714 , h3.ASP_LOSS_CCID source_34
159715 , h3.ASP_AUTO_OFFSET_FLAG source_43
159716 , fvl43.meaning source_43_meaning
159717 , h3.ASP_ROUNDING_ERROR_CCID source_45
159718 , h3.ASP_WHEN_TO_ACCOUNT_PMT source_57
159719 , h2.THIRD_PARTY_TYPE source_88
159720 , h2.AC_VENDOR_ID source_113
159721 , h2.AC_VENDOR_SITE_ID source_114
159722 , h2.CBA_POOLED_BANK_ACOUNT_FLAG source_116
159723 , fvl116.meaning source_116_meaning
159724 , h2.AC_FUTURE_PAY_DUE_DATE source_117
159725 , h2.AC_EXCHANGE_DATE source_120
159726 , h2.AC_EXCHANGE_RATE source_121
159727 , h2.AC_EXCHANGE_RATE_TYPE source_122
159728 , h2.AC_DOC_CATEGORY_CODE source_175
159729 , h2.PAYMENT_DOCUMENT_SEQUENCE_ID source_176
159730 FROM xla_events_gt xet
159731 , AP_PAYMENT_EXTRACT_HEADER_V h2
159732 , AP_SYSTEM_PARAMETERS_EXTRACT_V h3
159733 , fnd_lookup_values fvl10
159734 , fnd_lookup_values fvl43
159735 , fnd_lookup_values fvl116
159736 WHERE xet.event_date between p_pad_start_date and p_pad_end_date
159737 and xet.event_class_code = C_EVENT_CLASS_CODE
159738 and xet.event_status_code <> 'N' AND h2.event_id = xet.event_id
159739 AND h3.asp_org_id = h2.ac_org_id AND fvl10.lookup_type(+) = 'LIABILITY FLEXBUILD METHOD'
159740 AND fvl10.lookup_code(+) = h3.ASP_AUTOMATIC_OFFSETS_VALUE
159741 AND fvl10.view_application_id(+) = 200
159742 AND fvl10.language(+) = USERENV('LANG')
159743 AND fvl43.lookup_type(+) = 'YES_NO'
159744 AND fvl43.lookup_code(+) = h3.ASP_AUTO_OFFSET_FLAG
159745 AND fvl43.view_application_id(+) = 0
159746 AND fvl43.language(+) = USERENV('LANG')
159747 AND fvl116.lookup_type(+) = 'YES_NO'
159748 AND fvl116.lookup_code(+) = h2.CBA_POOLED_BANK_ACOUNT_FLAG
159749 AND fvl116.view_application_id(+) = 0
159750 AND fvl116.language(+) = USERENV('LANG')
159751
159752 ORDER BY event_id
159753 ;
159754
159755
159756 --
159757 CURSOR line_cur (x_first_event_id in number, x_last_event_id in number)
159758 IS
159759 SELECT /*+ leading(xet) cardinality(xet,1) */
159760 -- Event Class Code: FUTURE DATED PAYMENTS
159761 xet.entity_id
159762 ,xet.legal_entity_id
159763 ,xet.entity_code
159764 ,xet.transaction_number
159765 ,xet.event_id
159766 ,xet.event_class_code
159767 ,xet.event_type_code
159768 ,xet.event_number
159769 ,xet.event_date
159770 ,xet.transaction_date
159771 ,xet.reference_num_1
159772 ,xet.reference_num_2
159773 ,xet.reference_num_3
159774 ,xet.reference_num_4
159775 ,xet.reference_char_1
159776 ,xet.reference_char_2
159777 ,xet.reference_char_3
159778 ,xet.reference_char_4
159779 ,xet.reference_date_1
159780 ,xet.reference_date_2
159781 ,xet.reference_date_3
159782 ,xet.reference_date_4
159783 ,xet.event_created_by
159784 ,xet.budgetary_control_flag
159785 , l1.LINE_NUMBER
159786 , l1.AID_DIST_CCID source_25
159787 , l1.AID_LINE_TYPE_LOOKUP_CODE source_28
159788 , fvl28.meaning source_28_meaning
159789 , l4.TAX_ACCOUNT_CCID source_48
159790 , l1.DIST_ACCOUNT_REVERSAL_OPTION source_58
159791 , l1.DISTRIBUTION_LINK_TYPE source_60
159792 , l1.OVERRIDE_ACCTD_AMT_FLAG source_85
159793 , fvl85.meaning source_85_meaning
159794 , l1.BUS_FLOW_AP_APP_ID source_96
159795 , l1.BUS_FLOW_INV_DIST_TYPE source_97
159796 , l1.BUS_FLOW_INV_ENTITY_CODE source_98
159797 , l1.BUS_FLOW_INV_DIST_ID source_99
159798 , l1.BUS_FLOW_INV_ID source_100
159799 , l1.APHD_PAY_DIST_LOOKUP_CODE source_101
159800 , fvl101.meaning source_101_meaning
159801 , l1.APHD_AMOUNT source_102
159802 , l1.BUS_FLOW_PAYMENT_DIST_TYPE source_103
159803 , l1.BUS_FLOW_PAYMENT_ENTITY_CODE source_104
159804 , l1.BUS_FLOW_PAYMENT_DIST_ID source_105
159805 , l1.BUS_FLOW_PAYMENT_ID source_106
159806 , l1.APHD_PAYMENT_HIST_DIST_ID source_107
159807 , l1.APHD_REV_PAY_HIST_DIST_ID source_115
159808 , l1.APHD_PAYMENT_BASE_AMT source_118
159809 , l1.APHD_INVOICE_BASE_AMT source_119
159810 , l1.APHD_MATURED_BASE_AMOUNT source_124
159811 , l4.DEF_REC_SETTLEMENT_OPTION_CODE source_140
159812 , fvl140.meaning source_140_meaning
159813 , l1.PMT_MAT_BASE_AMT_DIFF source_157
159814 , l1.PMT_MAT_GAIN_LOSS_INDICATOR source_164
159815 FROM xla_events_gt xet
159816 , AP_PAYMENT_EXTRACT_DETAILS_V l1
159817 , ZX_AP_DEF_TAX_EXTRACT_V l4
159818 , fnd_lookup_values fvl28
159819 , fnd_lookup_values fvl85
159820 , fnd_lookup_values fvl101
159821 , fnd_lookup_values fvl140
159822 WHERE xet.event_id between x_first_event_id and x_last_event_id
159823 and xet.event_date between p_pad_start_date and p_pad_end_date
159824 and xet.event_class_code = C_EVENT_CLASS_CODE
159825 and xet.event_status_code <> 'N' AND l1.event_id = xet.event_id
159826 AND l1.AID_DETAIL_TAX_DIST_ID = l4.REC_NREC_TAX_DIST_ID (+) AND fvl28.lookup_type(+) = 'INVOICE DISTRIBUTION TYPE'
159827 AND fvl28.lookup_code(+) = l1.AID_LINE_TYPE_LOOKUP_CODE
159828 AND fvl28.view_application_id(+) = 200
159829 AND fvl28.language(+) = USERENV('LANG')
159830 AND fvl85.lookup_type(+) = 'YES_NO'
159831 AND fvl85.lookup_code(+) = l1.OVERRIDE_ACCTD_AMT_FLAG
159832 AND fvl85.view_application_id(+) = 0
159833 AND fvl85.language(+) = USERENV('LANG')
159834 AND fvl101.lookup_type(+) = 'PAY_DIST_TYPES'
159835 AND fvl101.lookup_code(+) = l1.APHD_PAY_DIST_LOOKUP_CODE
159836 AND fvl101.view_application_id(+) = 200
159837 AND fvl101.language(+) = USERENV('LANG')
159838 AND fvl140.lookup_type(+) = 'ZX_REC_SETTLEMENT_OPTION'
159842 ;
159839 AND fvl140.lookup_code(+) = l4.DEF_REC_SETTLEMENT_OPTION_CODE
159840 AND fvl140.view_application_id(+) = 0
159841 AND fvl140.language(+) = USERENV('LANG')
159843
159844 --
159845 BEGIN
159846 IF g_log_enabled THEN
159847 l_log_module := C_DEFAULT_MODULE||'.EventClass_250';
159848 END IF;
159849 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
159850 trace
159851 (p_msg => 'BEGIN of EventClass_250'
159852 ,p_level => C_LEVEL_PROCEDURE
159853 ,p_module => l_log_module);
159854 END IF;
159855
159856 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
159857 trace
159858 (p_msg => 'p_application_id = '||p_application_id||
159859 ' - p_base_ledger_id = '||p_base_ledger_id||
159860 ' - p_target_ledger_id = '||p_target_ledger_id||
159861 ' - p_language = '||p_language||
159862 ' - p_currency_code = '||p_currency_code||
159863 ' - p_sla_ledger_id = '||p_sla_ledger_id
159864 ,p_level => C_LEVEL_STATEMENT
159865 ,p_module => l_log_module);
159866 END IF;
159867 --
159868 -- initialze arrays
159869 --
159870 g_array_event.DELETE;
159871 l_rec_array_event := l_null_rec_array_event;
159872 --
159873 --------------------------------------
159874 -- 4262811 Initialze MPA Line Number
159875 --------------------------------------
159876 XLA_AE_HEADER_PKG.g_mpa_line_num := 0;
159877
159878 --
159879
159880 --
159881 OPEN header_cur;
159882 --
159883 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
159884 trace
159885 (p_msg => 'SQL - FETCH header_cur'
159886 ,p_level => C_LEVEL_STATEMENT
159887 ,p_module => l_log_module);
159888 END IF;
159889 --
159890 LOOP
159891 FETCH header_cur BULK COLLECT INTO
159892 l_array_entity_id
159893 , l_array_legal_entity_id
159894 , l_array_entity_code
159895 , l_array_transaction_num
159896 , l_array_event_id
159897 , l_array_class_code
159898 , l_array_event_type
159899 , l_array_event_number
159900 , l_array_event_date
159901 , l_array_transaction_date
159902 , l_array_reference_num_1
159903 , l_array_reference_num_2
159904 , l_array_reference_num_3
159905 , l_array_reference_num_4
159906 , l_array_reference_char_1
159907 , l_array_reference_char_2
159908 , l_array_reference_char_3
159909 , l_array_reference_char_4
159910 , l_array_reference_date_1
159911 , l_array_reference_date_2
159912 , l_array_reference_date_3
159913 , l_array_reference_date_4
159914 , l_array_event_created_by
159915 , l_array_budgetary_control_flag
159916 , l_array_source_4
159917 , l_array_source_8
159918 , l_array_source_10
159919 , l_array_source_10_meaning
159920 , l_array_source_12
159921 , l_array_source_30
159922 , l_array_source_31
159923 , l_array_source_32
159924 , l_array_source_33
159925 , l_array_source_34
159926 , l_array_source_43
159927 , l_array_source_43_meaning
159928 , l_array_source_45
159929 , l_array_source_57
159930 , l_array_source_88
159931 , l_array_source_113
159932 , l_array_source_114
159933 , l_array_source_116
159934 , l_array_source_116_meaning
159935 , l_array_source_117
159936 , l_array_source_120
159937 , l_array_source_121
159938 , l_array_source_122
159939 , l_array_source_175
159940 , l_array_source_176
159941 LIMIT l_rows;
159942 --
159943 IF (C_LEVEL_EVENT >= g_log_level) THEN
159944 trace
159945 (p_msg => '# rows extracted from header extract objects = '||TO_CHAR(header_cur%ROWCOUNT)
159946 ,p_level => C_LEVEL_EVENT
159947 ,p_module => l_log_module);
159948 END IF;
159949 --
159950 EXIT WHEN l_array_entity_id.COUNT = 0;
159951
159952 -- initialize arrays
159953 XLA_AE_HEADER_PKG.g_rec_header_new := NULL;
159954 XLA_AE_LINES_PKG.g_rec_lines := NULL;
159955
159956 --
159957 -- Bug 4458708
159958 --
159959 XLA_AE_LINES_PKG.g_LineNumber := 0;
159960
159961
159962 -- 4262811 - when creating Accrual Reversal or MPA, use g_last_hdr_idx to increment for next header id
159963 g_last_hdr_idx := l_array_event_id.LAST;
159964 --
159965 -- loop for the headers. Each iteration is for each header extract row
159966 -- fetched in header cursor
159967 --
159968 FOR hdr_idx IN l_array_event_id.FIRST .. l_array_event_id.LAST LOOP
159969
159970 --
159971 -- set event info as cache for other routines to refer event attributes
159972 --
159973 XLA_AE_JOURNAL_ENTRY_PKG.set_event_info
159974 (p_application_id => p_application_id
159975 ,p_primary_ledger_id => p_primary_ledger_id
159976 ,p_base_ledger_id => p_base_ledger_id
159977 ,p_target_ledger_id => p_target_ledger_id
159978 ,p_entity_id => l_array_entity_id(hdr_idx)
159979 ,p_legal_entity_id => l_array_legal_entity_id(hdr_idx)
159980 ,p_entity_code => l_array_entity_code(hdr_idx)
159981 ,p_transaction_num => l_array_transaction_num(hdr_idx)
159982 ,p_event_id => l_array_event_id(hdr_idx)
159983 ,p_event_class_code => l_array_class_code(hdr_idx)
159984 ,p_event_type_code => l_array_event_type(hdr_idx)
159985 ,p_event_number => l_array_event_number(hdr_idx)
159986 ,p_event_date => l_array_event_date(hdr_idx)
159987 ,p_transaction_date => l_array_transaction_date(hdr_idx)
159988 ,p_reference_num_1 => l_array_reference_num_1(hdr_idx)
159989 ,p_reference_num_2 => l_array_reference_num_2(hdr_idx)
159990 ,p_reference_num_3 => l_array_reference_num_3(hdr_idx)
159994 ,p_reference_char_3 => l_array_reference_char_3(hdr_idx)
159991 ,p_reference_num_4 => l_array_reference_num_4(hdr_idx)
159992 ,p_reference_char_1 => l_array_reference_char_1(hdr_idx)
159993 ,p_reference_char_2 => l_array_reference_char_2(hdr_idx)
159995 ,p_reference_char_4 => l_array_reference_char_4(hdr_idx)
159996 ,p_reference_date_1 => l_array_reference_date_1(hdr_idx)
159997 ,p_reference_date_2 => l_array_reference_date_2(hdr_idx)
159998 ,p_reference_date_3 => l_array_reference_date_3(hdr_idx)
159999 ,p_reference_date_4 => l_array_reference_date_4(hdr_idx)
160000 ,p_event_created_by => l_array_event_created_by(hdr_idx)
160001 ,p_budgetary_control_flag => l_array_budgetary_control_flag(hdr_idx));
160002
160003 --
160004 -- set the status of entry to C_VALID (0)
160005 --
160006 XLA_AE_JOURNAL_ENTRY_PKG.g_global_status := XLA_AE_JOURNAL_ENTRY_PKG.C_VALID;
160007
160008 --
160009 -- initialize a row for ae header
160010 --
160011 XLA_AE_HEADER_PKG.InitHeader(hdr_idx);
160012
160013 l_event_id := l_array_event_id(hdr_idx);
160014
160015 --
160016 -- storing the hdr_idx for event. May be used by line cursor.
160017 --
160018 g_array_event(l_event_id).array_value_num('header_index') := hdr_idx;
160019
160020 --
160021 -- store sources from header extract. This can be improved to
160022 -- store only those sources from header extract that may be used in lines
160023 --
160024
160025 g_array_event(l_event_id).array_value_num('source_4') := l_array_source_4(hdr_idx);
160026 g_array_event(l_event_id).array_value_char('source_8') := l_array_source_8(hdr_idx);
160027 g_array_event(l_event_id).array_value_char('source_10') := l_array_source_10(hdr_idx);
160028 g_array_event(l_event_id).array_value_char('source_10_meaning') := l_array_source_10_meaning(hdr_idx);
160029 g_array_event(l_event_id).array_value_num('source_12') := l_array_source_12(hdr_idx);
160030 g_array_event(l_event_id).array_value_num('source_30') := l_array_source_30(hdr_idx);
160031 g_array_event(l_event_id).array_value_num('source_31') := l_array_source_31(hdr_idx);
160032 g_array_event(l_event_id).array_value_num('source_32') := l_array_source_32(hdr_idx);
160033 g_array_event(l_event_id).array_value_num('source_33') := l_array_source_33(hdr_idx);
160034 g_array_event(l_event_id).array_value_num('source_34') := l_array_source_34(hdr_idx);
160035 g_array_event(l_event_id).array_value_char('source_43') := l_array_source_43(hdr_idx);
160036 g_array_event(l_event_id).array_value_char('source_43_meaning') := l_array_source_43_meaning(hdr_idx);
160037 g_array_event(l_event_id).array_value_num('source_45') := l_array_source_45(hdr_idx);
160038 g_array_event(l_event_id).array_value_char('source_57') := l_array_source_57(hdr_idx);
160039 g_array_event(l_event_id).array_value_char('source_88') := l_array_source_88(hdr_idx);
160040 g_array_event(l_event_id).array_value_num('source_113') := l_array_source_113(hdr_idx);
160041 g_array_event(l_event_id).array_value_num('source_114') := l_array_source_114(hdr_idx);
160042 g_array_event(l_event_id).array_value_char('source_116') := l_array_source_116(hdr_idx);
160043 g_array_event(l_event_id).array_value_char('source_116_meaning') := l_array_source_116_meaning(hdr_idx);
160044 g_array_event(l_event_id).array_value_date('source_117') := l_array_source_117(hdr_idx);
160045 g_array_event(l_event_id).array_value_date('source_120') := l_array_source_120(hdr_idx);
160046 g_array_event(l_event_id).array_value_num('source_121') := l_array_source_121(hdr_idx);
160047 g_array_event(l_event_id).array_value_char('source_122') := l_array_source_122(hdr_idx);
160048 g_array_event(l_event_id).array_value_char('source_175') := l_array_source_175(hdr_idx);
160049 g_array_event(l_event_id).array_value_num('source_176') := l_array_source_176(hdr_idx);
160050
160051 --
160052 -- initilaize the status of ae headers for diffrent balance types
160053 -- the status is initialised to C_NOT_CREATED (2)
160054 --
160055 --g_array_event(l_event_id).array_value_num('actual_je_status') := XLA_AE_JOURNAL_ENTRY_PKG.C_NOT_CREATED;
160056 --g_array_event(l_event_id).array_value_num('budget_je_status') := XLA_AE_JOURNAL_ENTRY_PKG.C_NOT_CREATED;
160057 --g_array_event(l_event_id).array_value_num('encumbrance_je_status') := XLA_AE_JOURNAL_ENTRY_PKG.C_NOT_CREATED;
160058
160059 --
160060 -- call api to validate and store accounting attributes for header
160061 --
160062
160063 ------------------------------------------------------------
160064 -- Accrual Reversal : to get date for Standard Source (NONE)
160065 ------------------------------------------------------------
160066 l_acc_rev_gl_date_source := NULL;
160067
160068 l_rec_acct_attrs.array_acct_attr_code(1) := 'DOC_CATEGORY_CODE';
160069 l_rec_acct_attrs.array_char_value(1) := g_array_event(l_event_id).array_value_char('source_175');
160070 l_rec_acct_attrs.array_acct_attr_code(2) := 'DOC_SEQUENCE_ID';
160071 l_rec_acct_attrs.array_num_value(2) := g_array_event(l_event_id).array_value_num('source_176');
160072 l_rec_acct_attrs.array_acct_attr_code(3) := 'DOC_SEQUENCE_VALUE';
160073 l_rec_acct_attrs.array_num_value(3) := g_array_event(l_event_id).array_value_num('source_4');
160074 l_rec_acct_attrs.array_acct_attr_code(4) := 'GL_DATE';
160075 l_rec_acct_attrs.array_date_value(4) :=
160076 xla_ae_sources_pkg.GetSystemSourceDate(
160077 p_source_code => 'XLA_EVENT_DATE'
160078 , p_source_type_code => 'Y'
160079 , p_source_application_id => 602
160080 );
160081
160082
160083 XLA_AE_HEADER_PKG.SetHdrAcctAttrs(l_rec_acct_attrs);
160084
160085 XLA_AE_HEADER_PKG.SetJeCategoryName;
160086
160087 XLA_AE_HEADER_PKG.g_rec_header_new.array_event_type_code(hdr_idx) := l_array_event_type(hdr_idx);
160088 XLA_AE_HEADER_PKG.g_rec_header_new.array_event_id(hdr_idx) := l_array_event_id(hdr_idx);
160089 XLA_AE_HEADER_PKG.g_rec_header_new.array_entity_id(hdr_idx) := l_array_entity_id(hdr_idx);
160090 XLA_AE_HEADER_PKG.g_rec_header_new.array_event_number(hdr_idx) := l_array_event_number(hdr_idx);
160091 XLA_AE_HEADER_PKG.g_rec_header_new.array_target_ledger_id(hdr_idx) := p_target_ledger_id;
160092
160093
160097 --accounting attribute enhancement, bug 3612931
160094 -- No header level analytical criteria
160095
160096 --
160098 --
160099 l_trx_reversal_source := SUBSTR(NULL, 1,30);
160100
160101 IF NVL(l_trx_reversal_source, 'N') NOT IN ('N','Y') THEN
160102 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
160103
160104 xla_accounting_err_pkg.build_message
160105 (p_appli_s_name => 'XLA'
160106 ,p_msg_name => 'XLA_AP_INVALID_HDR_ATTR'
160107 ,p_token_1 => 'ACCT_ATTR_NAME'
160108 ,p_value_1 => xla_ae_sources_pkg.GetAccountingSourceName('TRX_ACCT_REVERSAL_OPTION')
160109 ,p_token_2 => 'PRODUCT_NAME'
160110 ,p_value_2 => xla_ae_journal_entry_pkg.g_cache_event.application_name
160111 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
160112 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
160113 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id);
160114
160115 ELSIF NVL(l_trx_reversal_source, 'N') = 'Y' THEN
160116 --
160117 -- following sets the accounting attributes needed to reverse
160118 -- accounting for a distributeion
160119 --
160120 xla_ae_lines_pkg.SetTrxReversalAttrs
160121 (p_event_id => l_event_id
160122 ,p_gl_date => XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(hdr_idx)
160123 ,p_trx_reversal_source => l_trx_reversal_source);
160124
160125 END IF;
160126
160127
160128 ----------------------------------------------------------------
160129 -- 4262811 - update the header statuses to invalid in need be
160130 ----------------------------------------------------------------
160131 --
160132 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus (p_hdr_idx => hdr_idx);
160133
160134
160135 -----------------------------------------------
160136 -- No accrual reversal for the event class/type
160137 -----------------------------------------------
160138 ----------------------------------------------------------------
160139
160140 --
160141 -- this ends the header loop iteration for one bulk fetch
160142 --
160143 END LOOP;
160144
160145 l_first_event_id := l_array_event_id(l_array_event_id.FIRST);
160146 l_last_event_id := l_array_event_id(l_array_event_id.LAST);
160147
160148 --
160149 -- insert dummy rows into lines gt table that were created due to
160150 -- transaction reversals
160151 --
160152 IF XLA_AE_LINES_PKG.g_rec_lines.array_ae_header_id.COUNT > 0 THEN
160153 l_result := XLA_AE_LINES_PKG.InsertLines;
160154 END IF;
160155
160156 --
160157 -- reset the temp_line_num for each set of events fetched from header
160158 -- cursor rather than doing it for each new event in line cursor
160159 -- Bug 3939231
160160 --
160161 xla_ae_lines_pkg.g_temp_line_num := 0;
160162
160163
160164
160165 --
160166 OPEN line_cur(x_first_event_id => l_first_event_id, x_last_event_id => l_last_event_id);
160167 --
160168 --
160169 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
160170
160171 trace
160172 (p_msg => 'SQL - FETCH line_cur'
160173 ,p_level => C_LEVEL_STATEMENT
160174 ,p_module => l_log_module);
160175
160176 END IF;
160177 --
160178 --
160179 LOOP
160180 --
160181 FETCH line_cur BULK COLLECT INTO
160182 l_array_entity_id
160183 , l_array_legal_entity_id
160184 , l_array_entity_code
160185 , l_array_transaction_num
160186 , l_array_event_id
160187 , l_array_class_code
160188 , l_array_event_type
160189 , l_array_event_number
160190 , l_array_event_date
160191 , l_array_transaction_date
160192 , l_array_reference_num_1
160193 , l_array_reference_num_2
160194 , l_array_reference_num_3
160195 , l_array_reference_num_4
160196 , l_array_reference_char_1
160197 , l_array_reference_char_2
160198 , l_array_reference_char_3
160199 , l_array_reference_char_4
160200 , l_array_reference_date_1
160201 , l_array_reference_date_2
160202 , l_array_reference_date_3
160203 , l_array_reference_date_4
160204 , l_array_event_created_by
160205 , l_array_budgetary_control_flag
160206 , l_array_extract_line_num
160207 , l_array_source_25
160208 , l_array_source_28
160209 , l_array_source_28_meaning
160210 , l_array_source_48
160211 , l_array_source_58
160212 , l_array_source_60
160213 , l_array_source_85
160214 , l_array_source_85_meaning
160215 , l_array_source_96
160216 , l_array_source_97
160217 , l_array_source_98
160218 , l_array_source_99
160219 , l_array_source_100
160220 , l_array_source_101
160221 , l_array_source_101_meaning
160222 , l_array_source_102
160223 , l_array_source_103
160224 , l_array_source_104
160225 , l_array_source_105
160226 , l_array_source_106
160227 , l_array_source_107
160228 , l_array_source_115
160229 , l_array_source_118
160230 , l_array_source_119
160231 , l_array_source_124
160232 , l_array_source_140
160233 , l_array_source_140_meaning
160234 , l_array_source_157
160235 , l_array_source_164
160236 LIMIT l_rows;
160237
160238 --
160239 IF (C_LEVEL_EVENT >= g_log_level) THEN
160240 trace
160241 (p_msg => '# rows extracted from line extract objects = '||TO_CHAR(line_cur%ROWCOUNT)
160242 ,p_level => C_LEVEL_EVENT
160243 ,p_module => l_log_module);
160244 END IF;
160245 --
160246 EXIT WHEN l_array_entity_id.count = 0;
160247
160251 -- Bug 4458708
160248 XLA_AE_LINES_PKG.g_rec_lines := null;
160249
160250 --
160252 --
160253 XLA_AE_LINES_PKG.g_LineNumber := 0;
160254 --
160255 --
160256
160257 FOR Idx IN 1..l_array_event_id.count LOOP
160258 --
160259 -- 5648433 (move l_event_id out of IF statement) set l_event_id to be used inside IF condition
160260 --
160261 l_event_id := l_array_event_id(idx); -- 5648433
160262
160263 --
160264 -- Bug 4872078 - Do nothing if the event is meant for transaction reversal
160265 --
160266
160267 IF NVL(xla_ae_header_pkg.g_rec_header_new.array_trx_acct_reversal_option
160268 (g_array_event(l_event_id).array_value_num('header_index'))
160269 ,'N'
160270 ) <> 'Y'
160271 THEN
160272 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
160273 trace
160274 (p_msg => 'Trancaction revesal option is not Y '
160275 ,p_level => C_LEVEL_STATEMENT
160276 ,p_module => l_log_module);
160277 END IF;
160278
160279 --
160280 -- set the XLA_AE_JOURNAL_ENTRY_PKG.g_global_status to C_VALID (0)
160281 --
160282 XLA_AE_JOURNAL_ENTRY_PKG.g_global_status := XLA_AE_JOURNAL_ENTRY_PKG.C_VALID;
160283 --
160284 -- set event info as cache for other routines to refer event attributes
160285 --
160286
160287 IF l_event_id <> NVL(l_previous_event_id, -1) THEN
160288 l_previous_event_id := l_event_id;
160289
160290 XLA_AE_JOURNAL_ENTRY_PKG.set_event_info
160291 (p_application_id => p_application_id
160292 ,p_primary_ledger_id => p_primary_ledger_id
160293 ,p_base_ledger_id => p_base_ledger_id
160294 ,p_target_ledger_id => p_target_ledger_id
160295 ,p_entity_id => l_array_entity_id(Idx)
160296 ,p_legal_entity_id => l_array_legal_entity_id(Idx)
160297 ,p_entity_code => l_array_entity_code(Idx)
160298 ,p_transaction_num => l_array_transaction_num(Idx)
160299 ,p_event_id => l_array_event_id(Idx)
160300 ,p_event_class_code => l_array_class_code(Idx)
160301 ,p_event_type_code => l_array_event_type(Idx)
160302 ,p_event_number => l_array_event_number(Idx)
160303 ,p_event_date => l_array_event_date(Idx)
160304 ,p_transaction_date => l_array_transaction_date(Idx)
160305 ,p_reference_num_1 => l_array_reference_num_1(Idx)
160306 ,p_reference_num_2 => l_array_reference_num_2(Idx)
160307 ,p_reference_num_3 => l_array_reference_num_3(Idx)
160308 ,p_reference_num_4 => l_array_reference_num_4(Idx)
160309 ,p_reference_char_1 => l_array_reference_char_1(Idx)
160310 ,p_reference_char_2 => l_array_reference_char_2(Idx)
160311 ,p_reference_char_3 => l_array_reference_char_3(Idx)
160312 ,p_reference_char_4 => l_array_reference_char_4(Idx)
160313 ,p_reference_date_1 => l_array_reference_date_1(Idx)
160314 ,p_reference_date_2 => l_array_reference_date_2(Idx)
160315 ,p_reference_date_3 => l_array_reference_date_3(Idx)
160316 ,p_reference_date_4 => l_array_reference_date_4(Idx)
160317 ,p_event_created_by => l_array_event_created_by(Idx)
160318 ,p_budgetary_control_flag => l_array_budgetary_control_flag(Idx));
160319 --
160320 END IF;
160321
160322
160323
160324 --
160325 xla_ae_lines_pkg.SetExtractLine(p_extract_line => l_array_extract_line_num(Idx));
160326
160327 l_acct_reversal_source := SUBSTR(l_array_source_58(Idx), 1,30);
160328
160329 IF l_continue_with_lines THEN
160330 IF NVL(l_acct_reversal_source, 'N') NOT IN ('N','Y','B') THEN
160331 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
160332
160333 xla_accounting_err_pkg.build_message
160334 (p_appli_s_name => 'XLA'
160335 ,p_msg_name => 'XLA_AP_INVALID_REVERSAL_OPTION'
160336 ,p_token_1 => 'LINE_NUMBER'
160337 ,p_value_1 => l_array_extract_line_num(Idx)
160338 ,p_token_2 => 'PRODUCT_NAME'
160339 ,p_value_2 => xla_ae_journal_entry_pkg.g_cache_event.application_name
160340 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
160341 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
160342 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id);
160343
160344 ELSIF NVL(l_acct_reversal_source, 'N') IN ('Y','B') THEN
160345 --
160346 -- following sets the accounting attributes needed to reverse
160347 -- accounting for a distributeion
160348 --
160349
160350 --
160351 -- 5217187
160352 --
160353 l_rec_rev_acct_attrs.array_acct_attr_code(1):= 'GL_DATE';
160354 l_rec_rev_acct_attrs.array_date_value(1) := XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(
160355 g_array_event(l_event_id).array_value_num('header_index'));
160356 --
160357 --
160358
160359 l_rec_rev_acct_attrs.array_acct_attr_code(2) := 'ACCOUNTING_REVERSAL_OPTION';
160360 l_rec_rev_acct_attrs.array_char_value(2) := l_array_source_58(Idx);
160361 l_rec_rev_acct_attrs.array_acct_attr_code(3) := 'DISTRIBUTION_IDENTIFIER_1';
160362 l_rec_rev_acct_attrs.array_num_value(3) := l_array_source_107(Idx);
160363 l_rec_rev_acct_attrs.array_acct_attr_code(4) := 'DISTRIBUTION_TYPE';
160364 l_rec_rev_acct_attrs.array_char_value(4) := l_array_source_60(Idx);
160365 l_rec_rev_acct_attrs.array_acct_attr_code(5) := 'PARTY_TYPE';
160366 l_rec_rev_acct_attrs.array_char_value(5) := g_array_event(l_event_id).array_value_char('source_88');
160367 l_rec_rev_acct_attrs.array_acct_attr_code(6) := 'REVERSED_DISTRIBUTION_ID1';
160368 l_rec_rev_acct_attrs.array_num_value(6) := l_array_source_115(Idx);
160372
160369 l_rec_rev_acct_attrs.array_acct_attr_code(7) := 'REVERSED_DISTRIBUTION_TYPE';
160370 l_rec_rev_acct_attrs.array_char_value(7) := l_array_source_60(Idx);
160371
160373 xla_ae_lines_pkg.SetAcctReversalAttrs
160374 (p_event_id => l_event_id
160375 ,p_rec_acct_attrs => l_rec_rev_acct_attrs
160376 ,p_calculate_acctd_flag => l_calculate_acctd_flag
160377 ,p_calculate_g_l_flag => l_calculate_g_l_flag);
160378 END IF;
160379
160380 IF NVL(l_acct_reversal_source, 'N') IN ('N','B') THEN
160381 l_actual_flag := NULL; l_actual_gain_loss_ref := '#####';
160382
160383 --
160384 AcctLineType_75 (
160385 p_application_id => p_application_id
160386 ,p_event_id => l_event_id
160387 ,p_calculate_acctd_flag => l_calculate_acctd_flag
160388 ,p_calculate_g_l_flag => l_calculate_g_l_flag
160389 ,p_actual_flag => l_actual_flag
160390 ,p_balance_type_code => l_balance_type_code
160391 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
160392
160393 , p_source_8 => g_array_event(l_event_id).array_value_char('source_8')
160394 , p_source_10 => g_array_event(l_event_id).array_value_char('source_10')
160395 , p_source_10_meaning => g_array_event(l_event_id).array_value_char('source_10_meaning')
160396 , p_source_30 => g_array_event(l_event_id).array_value_num('source_30')
160397 , p_source_57 => g_array_event(l_event_id).array_value_char('source_57')
160398 , p_source_58 => l_array_source_58(Idx)
160399 , p_source_60 => l_array_source_60(Idx)
160400 , p_source_85 => l_array_source_85(Idx)
160401 , p_source_85_meaning => l_array_source_85_meaning(Idx)
160402 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
160403 , p_source_96 => l_array_source_96(Idx)
160404 , p_source_101 => l_array_source_101(Idx)
160405 , p_source_101_meaning => l_array_source_101_meaning(Idx)
160406 , p_source_102 => l_array_source_102(Idx)
160407 , p_source_103 => l_array_source_103(Idx)
160408 , p_source_104 => l_array_source_104(Idx)
160409 , p_source_105 => l_array_source_105(Idx)
160410 , p_source_106 => l_array_source_106(Idx)
160411 , p_source_107 => l_array_source_107(Idx)
160412 , p_source_113 => g_array_event(l_event_id).array_value_num('source_113')
160413 , p_source_114 => g_array_event(l_event_id).array_value_num('source_114')
160414 , p_source_115 => l_array_source_115(Idx)
160415 , p_source_116 => g_array_event(l_event_id).array_value_char('source_116')
160416 , p_source_116_meaning => g_array_event(l_event_id).array_value_char('source_116_meaning')
160417 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
160418 , p_source_119 => l_array_source_119(Idx)
160419 , p_source_120 => g_array_event(l_event_id).array_value_date('source_120')
160420 , p_source_121 => g_array_event(l_event_id).array_value_num('source_121')
160421 , p_source_122 => g_array_event(l_event_id).array_value_char('source_122')
160422 );
160423 If(l_balance_type_code = 'A') THEN
160424 l_actual_gain_loss_ref := l_gain_or_loss_ref;
160425 END IF;
160426
160427 --
160428
160429
160430 --
160431 AcctLineType_76 (
160432 p_application_id => p_application_id
160433 ,p_event_id => l_event_id
160434 ,p_calculate_acctd_flag => l_calculate_acctd_flag
160435 ,p_calculate_g_l_flag => l_calculate_g_l_flag
160436 ,p_actual_flag => l_actual_flag
160437 ,p_balance_type_code => l_balance_type_code
160438 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
160439
160440 , p_source_8 => g_array_event(l_event_id).array_value_char('source_8')
160441 , p_source_10 => g_array_event(l_event_id).array_value_char('source_10')
160442 , p_source_10_meaning => g_array_event(l_event_id).array_value_char('source_10_meaning')
160443 , p_source_30 => g_array_event(l_event_id).array_value_num('source_30')
160444 , p_source_57 => g_array_event(l_event_id).array_value_char('source_57')
160445 , p_source_58 => l_array_source_58(Idx)
160446 , p_source_60 => l_array_source_60(Idx)
160447 , p_source_85 => l_array_source_85(Idx)
160448 , p_source_85_meaning => l_array_source_85_meaning(Idx)
160449 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
160450 , p_source_96 => l_array_source_96(Idx)
160451 , p_source_101 => l_array_source_101(Idx)
160452 , p_source_101_meaning => l_array_source_101_meaning(Idx)
160453 , p_source_102 => l_array_source_102(Idx)
160454 , p_source_103 => l_array_source_103(Idx)
160455 , p_source_104 => l_array_source_104(Idx)
160456 , p_source_105 => l_array_source_105(Idx)
160457 , p_source_106 => l_array_source_106(Idx)
160458 , p_source_107 => l_array_source_107(Idx)
160459 , p_source_113 => g_array_event(l_event_id).array_value_num('source_113')
160460 , p_source_114 => g_array_event(l_event_id).array_value_num('source_114')
160461 , p_source_115 => l_array_source_115(Idx)
160462 , p_source_116 => g_array_event(l_event_id).array_value_char('source_116')
160463 , p_source_116_meaning => g_array_event(l_event_id).array_value_char('source_116_meaning')
160464 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
160465 , p_source_119 => l_array_source_119(Idx)
160466 , p_source_120 => g_array_event(l_event_id).array_value_date('source_120')
160467 , p_source_121 => g_array_event(l_event_id).array_value_num('source_121')
160468 , p_source_122 => g_array_event(l_event_id).array_value_char('source_122')
160469 );
160470 If(l_balance_type_code = 'A') THEN
160471 l_actual_gain_loss_ref := l_gain_or_loss_ref;
160472 END IF;
160473
160474 --
160475
160476
160477 --
160478 AcctLineType_84 (
160479 p_application_id => p_application_id
160480 ,p_event_id => l_event_id
160481 ,p_calculate_acctd_flag => l_calculate_acctd_flag
160482 ,p_calculate_g_l_flag => l_calculate_g_l_flag
160483 ,p_actual_flag => l_actual_flag
160484 ,p_balance_type_code => l_balance_type_code
160485 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
160486
160487 , p_source_8 => g_array_event(l_event_id).array_value_char('source_8')
160488 , p_source_30 => g_array_event(l_event_id).array_value_num('source_30')
160492 , p_source_58 => l_array_source_58(Idx)
160489 , p_source_43 => g_array_event(l_event_id).array_value_char('source_43')
160490 , p_source_43_meaning => g_array_event(l_event_id).array_value_char('source_43_meaning')
160491 , p_source_57 => g_array_event(l_event_id).array_value_char('source_57')
160493 , p_source_60 => l_array_source_60(Idx)
160494 , p_source_85 => l_array_source_85(Idx)
160495 , p_source_85_meaning => l_array_source_85_meaning(Idx)
160496 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
160497 , p_source_96 => l_array_source_96(Idx)
160498 , p_source_101 => l_array_source_101(Idx)
160499 , p_source_101_meaning => l_array_source_101_meaning(Idx)
160500 , p_source_102 => l_array_source_102(Idx)
160501 , p_source_103 => l_array_source_103(Idx)
160502 , p_source_104 => l_array_source_104(Idx)
160503 , p_source_105 => l_array_source_105(Idx)
160504 , p_source_106 => l_array_source_106(Idx)
160505 , p_source_107 => l_array_source_107(Idx)
160506 , p_source_113 => g_array_event(l_event_id).array_value_num('source_113')
160507 , p_source_114 => g_array_event(l_event_id).array_value_num('source_114')
160508 , p_source_115 => l_array_source_115(Idx)
160509 , p_source_116 => g_array_event(l_event_id).array_value_char('source_116')
160510 , p_source_116_meaning => g_array_event(l_event_id).array_value_char('source_116_meaning')
160511 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
160512 , p_source_120 => g_array_event(l_event_id).array_value_date('source_120')
160513 , p_source_121 => g_array_event(l_event_id).array_value_num('source_121')
160514 , p_source_122 => g_array_event(l_event_id).array_value_char('source_122')
160515 , p_source_124 => l_array_source_124(Idx)
160516 );
160517 If(l_balance_type_code = 'A') THEN
160518 l_actual_gain_loss_ref := l_gain_or_loss_ref;
160519 END IF;
160520
160521 --
160522
160523
160524 --
160525 AcctLineType_85 (
160526 p_application_id => p_application_id
160527 ,p_event_id => l_event_id
160528 ,p_calculate_acctd_flag => l_calculate_acctd_flag
160529 ,p_calculate_g_l_flag => l_calculate_g_l_flag
160530 ,p_actual_flag => l_actual_flag
160531 ,p_balance_type_code => l_balance_type_code
160532 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
160533
160534 , p_source_8 => g_array_event(l_event_id).array_value_char('source_8')
160535 , p_source_10 => g_array_event(l_event_id).array_value_char('source_10')
160536 , p_source_10_meaning => g_array_event(l_event_id).array_value_char('source_10_meaning')
160537 , p_source_30 => g_array_event(l_event_id).array_value_num('source_30')
160538 , p_source_57 => g_array_event(l_event_id).array_value_char('source_57')
160539 , p_source_58 => l_array_source_58(Idx)
160540 , p_source_60 => l_array_source_60(Idx)
160541 , p_source_85 => l_array_source_85(Idx)
160542 , p_source_85_meaning => l_array_source_85_meaning(Idx)
160543 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
160544 , p_source_96 => l_array_source_96(Idx)
160545 , p_source_101 => l_array_source_101(Idx)
160546 , p_source_101_meaning => l_array_source_101_meaning(Idx)
160547 , p_source_102 => l_array_source_102(Idx)
160548 , p_source_103 => l_array_source_103(Idx)
160549 , p_source_104 => l_array_source_104(Idx)
160550 , p_source_105 => l_array_source_105(Idx)
160551 , p_source_106 => l_array_source_106(Idx)
160552 , p_source_107 => l_array_source_107(Idx)
160553 , p_source_113 => g_array_event(l_event_id).array_value_num('source_113')
160554 , p_source_114 => g_array_event(l_event_id).array_value_num('source_114')
160555 , p_source_115 => l_array_source_115(Idx)
160556 , p_source_116 => g_array_event(l_event_id).array_value_char('source_116')
160557 , p_source_116_meaning => g_array_event(l_event_id).array_value_char('source_116_meaning')
160558 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
160559 , p_source_120 => g_array_event(l_event_id).array_value_date('source_120')
160560 , p_source_121 => g_array_event(l_event_id).array_value_num('source_121')
160561 , p_source_122 => g_array_event(l_event_id).array_value_char('source_122')
160562 , p_source_124 => l_array_source_124(Idx)
160563 );
160564 If(l_balance_type_code = 'A') THEN
160565 l_actual_gain_loss_ref := l_gain_or_loss_ref;
160566 END IF;
160567
160568 --
160569
160570
160571 --
160572 AcctLineType_86 (
160573 p_application_id => p_application_id
160574 ,p_event_id => l_event_id
160575 ,p_calculate_acctd_flag => l_calculate_acctd_flag
160576 ,p_calculate_g_l_flag => l_calculate_g_l_flag
160577 ,p_actual_flag => l_actual_flag
160578 ,p_balance_type_code => l_balance_type_code
160579 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
160580
160581 , p_source_8 => g_array_event(l_event_id).array_value_char('source_8')
160582 , p_source_10 => g_array_event(l_event_id).array_value_char('source_10')
160583 , p_source_10_meaning => g_array_event(l_event_id).array_value_char('source_10_meaning')
160584 , p_source_30 => g_array_event(l_event_id).array_value_num('source_30')
160585 , p_source_57 => g_array_event(l_event_id).array_value_char('source_57')
160586 , p_source_58 => l_array_source_58(Idx)
160587 , p_source_60 => l_array_source_60(Idx)
160588 , p_source_85 => l_array_source_85(Idx)
160589 , p_source_85_meaning => l_array_source_85_meaning(Idx)
160590 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
160591 , p_source_96 => l_array_source_96(Idx)
160592 , p_source_101 => l_array_source_101(Idx)
160593 , p_source_101_meaning => l_array_source_101_meaning(Idx)
160594 , p_source_102 => l_array_source_102(Idx)
160595 , p_source_103 => l_array_source_103(Idx)
160596 , p_source_104 => l_array_source_104(Idx)
160597 , p_source_105 => l_array_source_105(Idx)
160598 , p_source_106 => l_array_source_106(Idx)
160599 , p_source_107 => l_array_source_107(Idx)
160600 , p_source_113 => g_array_event(l_event_id).array_value_num('source_113')
160601 , p_source_114 => g_array_event(l_event_id).array_value_num('source_114')
160602 , p_source_115 => l_array_source_115(Idx)
160606 , p_source_120 => g_array_event(l_event_id).array_value_date('source_120')
160603 , p_source_116 => g_array_event(l_event_id).array_value_char('source_116')
160604 , p_source_116_meaning => g_array_event(l_event_id).array_value_char('source_116_meaning')
160605 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
160607 , p_source_121 => g_array_event(l_event_id).array_value_num('source_121')
160608 , p_source_122 => g_array_event(l_event_id).array_value_char('source_122')
160609 , p_source_124 => l_array_source_124(Idx)
160610 );
160611 If(l_balance_type_code = 'A') THEN
160612 l_actual_gain_loss_ref := l_gain_or_loss_ref;
160613 END IF;
160614
160615 --
160616
160617
160618 --
160619 AcctLineType_87 (
160620 p_application_id => p_application_id
160621 ,p_event_id => l_event_id
160622 ,p_calculate_acctd_flag => l_calculate_acctd_flag
160623 ,p_calculate_g_l_flag => l_calculate_g_l_flag
160624 ,p_actual_flag => l_actual_flag
160625 ,p_balance_type_code => l_balance_type_code
160626 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
160627
160628 , p_source_8 => g_array_event(l_event_id).array_value_char('source_8')
160629 , p_source_30 => g_array_event(l_event_id).array_value_num('source_30')
160630 , p_source_43 => g_array_event(l_event_id).array_value_char('source_43')
160631 , p_source_43_meaning => g_array_event(l_event_id).array_value_char('source_43_meaning')
160632 , p_source_57 => g_array_event(l_event_id).array_value_char('source_57')
160633 , p_source_58 => l_array_source_58(Idx)
160634 , p_source_60 => l_array_source_60(Idx)
160635 , p_source_85 => l_array_source_85(Idx)
160636 , p_source_85_meaning => l_array_source_85_meaning(Idx)
160637 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
160638 , p_source_96 => l_array_source_96(Idx)
160639 , p_source_101 => l_array_source_101(Idx)
160640 , p_source_101_meaning => l_array_source_101_meaning(Idx)
160641 , p_source_102 => l_array_source_102(Idx)
160642 , p_source_103 => l_array_source_103(Idx)
160643 , p_source_104 => l_array_source_104(Idx)
160644 , p_source_105 => l_array_source_105(Idx)
160645 , p_source_106 => l_array_source_106(Idx)
160646 , p_source_107 => l_array_source_107(Idx)
160647 , p_source_113 => g_array_event(l_event_id).array_value_num('source_113')
160648 , p_source_114 => g_array_event(l_event_id).array_value_num('source_114')
160649 , p_source_115 => l_array_source_115(Idx)
160650 , p_source_116 => g_array_event(l_event_id).array_value_char('source_116')
160651 , p_source_116_meaning => g_array_event(l_event_id).array_value_char('source_116_meaning')
160652 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
160653 , p_source_119 => l_array_source_119(Idx)
160654 , p_source_120 => g_array_event(l_event_id).array_value_date('source_120')
160655 , p_source_121 => g_array_event(l_event_id).array_value_num('source_121')
160656 , p_source_122 => g_array_event(l_event_id).array_value_char('source_122')
160657 );
160658 If(l_balance_type_code = 'A') THEN
160659 l_actual_gain_loss_ref := l_gain_or_loss_ref;
160660 END IF;
160661
160662 --
160663
160664
160665 --
160666 AcctLineType_97 (
160667 p_application_id => p_application_id
160668 ,p_event_id => l_event_id
160669 ,p_calculate_acctd_flag => l_calculate_acctd_flag
160670 ,p_calculate_g_l_flag => l_calculate_g_l_flag
160671 ,p_actual_flag => l_actual_flag
160672 ,p_balance_type_code => l_balance_type_code
160673 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
160674
160675 , p_source_8 => g_array_event(l_event_id).array_value_char('source_8')
160676 , p_source_12 => g_array_event(l_event_id).array_value_num('source_12')
160677 , p_source_43 => g_array_event(l_event_id).array_value_char('source_43')
160678 , p_source_43_meaning => g_array_event(l_event_id).array_value_char('source_43_meaning')
160679 , p_source_57 => g_array_event(l_event_id).array_value_char('source_57')
160680 , p_source_58 => l_array_source_58(Idx)
160681 , p_source_60 => l_array_source_60(Idx)
160682 , p_source_85 => l_array_source_85(Idx)
160683 , p_source_85_meaning => l_array_source_85_meaning(Idx)
160684 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
160685 , p_source_96 => l_array_source_96(Idx)
160686 , p_source_101 => l_array_source_101(Idx)
160687 , p_source_101_meaning => l_array_source_101_meaning(Idx)
160688 , p_source_102 => l_array_source_102(Idx)
160689 , p_source_103 => l_array_source_103(Idx)
160690 , p_source_104 => l_array_source_104(Idx)
160691 , p_source_105 => l_array_source_105(Idx)
160692 , p_source_106 => l_array_source_106(Idx)
160693 , p_source_107 => l_array_source_107(Idx)
160694 , p_source_113 => g_array_event(l_event_id).array_value_num('source_113')
160695 , p_source_114 => g_array_event(l_event_id).array_value_num('source_114')
160696 , p_source_115 => l_array_source_115(Idx)
160697 , p_source_116 => g_array_event(l_event_id).array_value_char('source_116')
160698 , p_source_116_meaning => g_array_event(l_event_id).array_value_char('source_116_meaning')
160699 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
160700 , p_source_120 => g_array_event(l_event_id).array_value_date('source_120')
160701 , p_source_121 => g_array_event(l_event_id).array_value_num('source_121')
160702 , p_source_122 => g_array_event(l_event_id).array_value_char('source_122')
160703 , p_source_124 => l_array_source_124(Idx)
160704 );
160705 If(l_balance_type_code = 'A') THEN
160706 l_actual_gain_loss_ref := l_gain_or_loss_ref;
160707 END IF;
160708
160709 --
160710
160711
160712 --
160713 AcctLineType_98 (
160714 p_application_id => p_application_id
160715 ,p_event_id => l_event_id
160716 ,p_calculate_acctd_flag => l_calculate_acctd_flag
160717 ,p_calculate_g_l_flag => l_calculate_g_l_flag
160718 ,p_actual_flag => l_actual_flag
160719 ,p_balance_type_code => l_balance_type_code
160720 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
160721
160722 , p_source_8 => g_array_event(l_event_id).array_value_char('source_8')
160726 , p_source_57 => g_array_event(l_event_id).array_value_char('source_57')
160723 , p_source_10 => g_array_event(l_event_id).array_value_char('source_10')
160724 , p_source_10_meaning => g_array_event(l_event_id).array_value_char('source_10_meaning')
160725 , p_source_12 => g_array_event(l_event_id).array_value_num('source_12')
160727 , p_source_58 => l_array_source_58(Idx)
160728 , p_source_60 => l_array_source_60(Idx)
160729 , p_source_85 => l_array_source_85(Idx)
160730 , p_source_85_meaning => l_array_source_85_meaning(Idx)
160731 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
160732 , p_source_96 => l_array_source_96(Idx)
160733 , p_source_101 => l_array_source_101(Idx)
160734 , p_source_101_meaning => l_array_source_101_meaning(Idx)
160735 , p_source_102 => l_array_source_102(Idx)
160736 , p_source_103 => l_array_source_103(Idx)
160737 , p_source_104 => l_array_source_104(Idx)
160738 , p_source_105 => l_array_source_105(Idx)
160739 , p_source_106 => l_array_source_106(Idx)
160740 , p_source_107 => l_array_source_107(Idx)
160741 , p_source_113 => g_array_event(l_event_id).array_value_num('source_113')
160742 , p_source_114 => g_array_event(l_event_id).array_value_num('source_114')
160743 , p_source_115 => l_array_source_115(Idx)
160744 , p_source_116 => g_array_event(l_event_id).array_value_char('source_116')
160745 , p_source_116_meaning => g_array_event(l_event_id).array_value_char('source_116_meaning')
160746 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
160747 , p_source_120 => g_array_event(l_event_id).array_value_date('source_120')
160748 , p_source_121 => g_array_event(l_event_id).array_value_num('source_121')
160749 , p_source_122 => g_array_event(l_event_id).array_value_char('source_122')
160750 , p_source_124 => l_array_source_124(Idx)
160751 );
160752 If(l_balance_type_code = 'A') THEN
160753 l_actual_gain_loss_ref := l_gain_or_loss_ref;
160754 END IF;
160755
160756 --
160757
160758
160759 --
160760 AcctLineType_99 (
160761 p_application_id => p_application_id
160762 ,p_event_id => l_event_id
160763 ,p_calculate_acctd_flag => l_calculate_acctd_flag
160764 ,p_calculate_g_l_flag => l_calculate_g_l_flag
160765 ,p_actual_flag => l_actual_flag
160766 ,p_balance_type_code => l_balance_type_code
160767 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
160768
160769 , p_source_8 => g_array_event(l_event_id).array_value_char('source_8')
160770 , p_source_10 => g_array_event(l_event_id).array_value_char('source_10')
160771 , p_source_10_meaning => g_array_event(l_event_id).array_value_char('source_10_meaning')
160772 , p_source_12 => g_array_event(l_event_id).array_value_num('source_12')
160773 , p_source_57 => g_array_event(l_event_id).array_value_char('source_57')
160774 , p_source_58 => l_array_source_58(Idx)
160775 , p_source_60 => l_array_source_60(Idx)
160776 , p_source_85 => l_array_source_85(Idx)
160777 , p_source_85_meaning => l_array_source_85_meaning(Idx)
160778 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
160779 , p_source_96 => l_array_source_96(Idx)
160780 , p_source_101 => l_array_source_101(Idx)
160781 , p_source_101_meaning => l_array_source_101_meaning(Idx)
160782 , p_source_102 => l_array_source_102(Idx)
160783 , p_source_103 => l_array_source_103(Idx)
160784 , p_source_104 => l_array_source_104(Idx)
160785 , p_source_105 => l_array_source_105(Idx)
160786 , p_source_106 => l_array_source_106(Idx)
160787 , p_source_107 => l_array_source_107(Idx)
160788 , p_source_113 => g_array_event(l_event_id).array_value_num('source_113')
160789 , p_source_114 => g_array_event(l_event_id).array_value_num('source_114')
160790 , p_source_115 => l_array_source_115(Idx)
160791 , p_source_116 => g_array_event(l_event_id).array_value_char('source_116')
160792 , p_source_116_meaning => g_array_event(l_event_id).array_value_char('source_116_meaning')
160793 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
160794 , p_source_120 => g_array_event(l_event_id).array_value_date('source_120')
160795 , p_source_121 => g_array_event(l_event_id).array_value_num('source_121')
160796 , p_source_122 => g_array_event(l_event_id).array_value_char('source_122')
160797 , p_source_124 => l_array_source_124(Idx)
160798 );
160799 If(l_balance_type_code = 'A') THEN
160800 l_actual_gain_loss_ref := l_gain_or_loss_ref;
160801 END IF;
160802
160803 --
160804
160805
160806 --
160807 AcctLineType_106 (
160808 p_application_id => p_application_id
160809 ,p_event_id => l_event_id
160810 ,p_calculate_acctd_flag => l_calculate_acctd_flag
160811 ,p_calculate_g_l_flag => l_calculate_g_l_flag
160812 ,p_actual_flag => l_actual_flag
160813 ,p_balance_type_code => l_balance_type_code
160814 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
160815
160816 , p_source_8 => g_array_event(l_event_id).array_value_char('source_8')
160817 , p_source_28 => l_array_source_28(Idx)
160818 , p_source_28_meaning => l_array_source_28_meaning(Idx)
160819 , p_source_57 => g_array_event(l_event_id).array_value_char('source_57')
160820 , p_source_58 => l_array_source_58(Idx)
160821 , p_source_60 => l_array_source_60(Idx)
160822 , p_source_85 => l_array_source_85(Idx)
160823 , p_source_85_meaning => l_array_source_85_meaning(Idx)
160824 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
160825 , p_source_96 => l_array_source_96(Idx)
160826 , p_source_97 => l_array_source_97(Idx)
160827 , p_source_98 => l_array_source_98(Idx)
160828 , p_source_99 => l_array_source_99(Idx)
160829 , p_source_100 => l_array_source_100(Idx)
160830 , p_source_101 => l_array_source_101(Idx)
160831 , p_source_101_meaning => l_array_source_101_meaning(Idx)
160832 , p_source_102 => l_array_source_102(Idx)
160833 , p_source_107 => l_array_source_107(Idx)
160834 , p_source_115 => l_array_source_115(Idx)
160835 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
160836 , p_source_124 => l_array_source_124(Idx)
160837 , p_source_140 => l_array_source_140(Idx)
160838 , p_source_140_meaning => l_array_source_140_meaning(Idx)
160839 );
160843
160840 If(l_balance_type_code = 'A') THEN
160841 l_actual_gain_loss_ref := l_gain_or_loss_ref;
160842 END IF;
160844 --
160845
160846
160847 --
160848 AcctLineType_110 (
160849 p_application_id => p_application_id
160850 ,p_event_id => l_event_id
160851 ,p_calculate_acctd_flag => l_calculate_acctd_flag
160852 ,p_calculate_g_l_flag => l_calculate_g_l_flag
160853 ,p_actual_flag => l_actual_flag
160854 ,p_balance_type_code => l_balance_type_code
160855 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
160856
160857 , p_source_8 => g_array_event(l_event_id).array_value_char('source_8')
160858 , p_source_28 => l_array_source_28(Idx)
160859 , p_source_28_meaning => l_array_source_28_meaning(Idx)
160860 , p_source_48 => l_array_source_48(Idx)
160861 , p_source_57 => g_array_event(l_event_id).array_value_char('source_57')
160862 , p_source_58 => l_array_source_58(Idx)
160863 , p_source_60 => l_array_source_60(Idx)
160864 , p_source_85 => l_array_source_85(Idx)
160865 , p_source_85_meaning => l_array_source_85_meaning(Idx)
160866 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
160867 , p_source_96 => l_array_source_96(Idx)
160868 , p_source_101 => l_array_source_101(Idx)
160869 , p_source_101_meaning => l_array_source_101_meaning(Idx)
160870 , p_source_102 => l_array_source_102(Idx)
160871 , p_source_103 => l_array_source_103(Idx)
160872 , p_source_104 => l_array_source_104(Idx)
160873 , p_source_105 => l_array_source_105(Idx)
160874 , p_source_106 => l_array_source_106(Idx)
160875 , p_source_107 => l_array_source_107(Idx)
160876 , p_source_113 => g_array_event(l_event_id).array_value_num('source_113')
160877 , p_source_114 => g_array_event(l_event_id).array_value_num('source_114')
160878 , p_source_115 => l_array_source_115(Idx)
160879 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
160880 , p_source_120 => g_array_event(l_event_id).array_value_date('source_120')
160881 , p_source_121 => g_array_event(l_event_id).array_value_num('source_121')
160882 , p_source_122 => g_array_event(l_event_id).array_value_char('source_122')
160883 , p_source_124 => l_array_source_124(Idx)
160884 , p_source_140 => l_array_source_140(Idx)
160885 , p_source_140_meaning => l_array_source_140_meaning(Idx)
160886 );
160887 If(l_balance_type_code = 'A') THEN
160888 l_actual_gain_loss_ref := l_gain_or_loss_ref;
160889 END IF;
160890
160891 --
160892
160893
160894 --
160895 AcctLineType_131 (
160896 p_application_id => p_application_id
160897 ,p_event_id => l_event_id
160898 ,p_calculate_acctd_flag => l_calculate_acctd_flag
160899 ,p_calculate_g_l_flag => l_calculate_g_l_flag
160900 ,p_actual_flag => l_actual_flag
160901 ,p_balance_type_code => l_balance_type_code
160902 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
160903
160904 , p_source_8 => g_array_event(l_event_id).array_value_char('source_8')
160905 , p_source_57 => g_array_event(l_event_id).array_value_char('source_57')
160906 , p_source_58 => l_array_source_58(Idx)
160907 , p_source_60 => l_array_source_60(Idx)
160908 , p_source_85 => l_array_source_85(Idx)
160909 , p_source_85_meaning => l_array_source_85_meaning(Idx)
160910 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
160911 , p_source_96 => l_array_source_96(Idx)
160912 , p_source_101 => l_array_source_101(Idx)
160913 , p_source_101_meaning => l_array_source_101_meaning(Idx)
160914 , p_source_102 => l_array_source_102(Idx)
160915 , p_source_103 => l_array_source_103(Idx)
160916 , p_source_104 => l_array_source_104(Idx)
160917 , p_source_105 => l_array_source_105(Idx)
160918 , p_source_106 => l_array_source_106(Idx)
160919 , p_source_107 => l_array_source_107(Idx)
160920 , p_source_115 => l_array_source_115(Idx)
160921 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
160922 , p_source_118 => l_array_source_118(Idx)
160923 );
160924 If(l_balance_type_code = 'A') THEN
160925 l_actual_gain_loss_ref := l_gain_or_loss_ref;
160926 END IF;
160927
160928 --
160929
160930
160931 --
160932 AcctLineType_132 (
160933 p_application_id => p_application_id
160934 ,p_event_id => l_event_id
160935 ,p_calculate_acctd_flag => l_calculate_acctd_flag
160936 ,p_calculate_g_l_flag => l_calculate_g_l_flag
160937 ,p_actual_flag => l_actual_flag
160938 ,p_balance_type_code => l_balance_type_code
160939 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
160940
160941 , p_source_8 => g_array_event(l_event_id).array_value_char('source_8')
160942 , p_source_10 => g_array_event(l_event_id).array_value_char('source_10')
160943 , p_source_10_meaning => g_array_event(l_event_id).array_value_char('source_10_meaning')
160944 , p_source_25 => l_array_source_25(Idx)
160945 , p_source_45 => g_array_event(l_event_id).array_value_num('source_45')
160946 , p_source_57 => g_array_event(l_event_id).array_value_char('source_57')
160947 , p_source_58 => l_array_source_58(Idx)
160948 , p_source_60 => l_array_source_60(Idx)
160949 , p_source_85 => l_array_source_85(Idx)
160950 , p_source_85_meaning => l_array_source_85_meaning(Idx)
160951 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
160952 , p_source_96 => l_array_source_96(Idx)
160953 , p_source_101 => l_array_source_101(Idx)
160954 , p_source_101_meaning => l_array_source_101_meaning(Idx)
160955 , p_source_102 => l_array_source_102(Idx)
160956 , p_source_103 => l_array_source_103(Idx)
160957 , p_source_104 => l_array_source_104(Idx)
160958 , p_source_105 => l_array_source_105(Idx)
160959 , p_source_106 => l_array_source_106(Idx)
160960 , p_source_107 => l_array_source_107(Idx)
160961 , p_source_113 => g_array_event(l_event_id).array_value_num('source_113')
160962 , p_source_114 => g_array_event(l_event_id).array_value_num('source_114')
160963 , p_source_115 => l_array_source_115(Idx)
160964 , p_source_118 => l_array_source_118(Idx)
160965 , p_source_120 => g_array_event(l_event_id).array_value_date('source_120')
160966 , p_source_121 => g_array_event(l_event_id).array_value_num('source_121')
160970 l_actual_gain_loss_ref := l_gain_or_loss_ref;
160967 , p_source_122 => g_array_event(l_event_id).array_value_char('source_122')
160968 );
160969 If(l_balance_type_code = 'A') THEN
160971 END IF;
160972
160973 --
160974
160975
160976 --
160977 AcctLineType_136 (
160978 p_application_id => p_application_id
160979 ,p_event_id => l_event_id
160980 ,p_calculate_acctd_flag => l_calculate_acctd_flag
160981 ,p_calculate_g_l_flag => l_calculate_g_l_flag
160982 ,p_actual_flag => l_actual_flag
160983 ,p_balance_type_code => l_balance_type_code
160984 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
160985
160986 , p_source_10 => g_array_event(l_event_id).array_value_char('source_10')
160987 , p_source_10_meaning => g_array_event(l_event_id).array_value_char('source_10_meaning')
160988 , p_source_25 => l_array_source_25(Idx)
160989 , p_source_31 => g_array_event(l_event_id).array_value_num('source_31')
160990 , p_source_32 => g_array_event(l_event_id).array_value_num('source_32')
160991 , p_source_33 => g_array_event(l_event_id).array_value_num('source_33')
160992 , p_source_34 => g_array_event(l_event_id).array_value_num('source_34')
160993 , p_source_57 => g_array_event(l_event_id).array_value_char('source_57')
160994 , p_source_58 => l_array_source_58(Idx)
160995 , p_source_60 => l_array_source_60(Idx)
160996 , p_source_85 => l_array_source_85(Idx)
160997 , p_source_85_meaning => l_array_source_85_meaning(Idx)
160998 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
160999 , p_source_96 => l_array_source_96(Idx)
161000 , p_source_101 => l_array_source_101(Idx)
161001 , p_source_101_meaning => l_array_source_101_meaning(Idx)
161002 , p_source_103 => l_array_source_103(Idx)
161003 , p_source_104 => l_array_source_104(Idx)
161004 , p_source_105 => l_array_source_105(Idx)
161005 , p_source_106 => l_array_source_106(Idx)
161006 , p_source_107 => l_array_source_107(Idx)
161007 , p_source_113 => g_array_event(l_event_id).array_value_num('source_113')
161008 , p_source_114 => g_array_event(l_event_id).array_value_num('source_114')
161009 , p_source_115 => l_array_source_115(Idx)
161010 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
161011 , p_source_157 => l_array_source_157(Idx)
161012 );
161013 If(l_balance_type_code = 'A') THEN
161014 l_actual_gain_loss_ref := l_gain_or_loss_ref;
161015 END IF;
161016
161017 --
161018
161019
161020 --
161021 AcctLineType_142 (
161022 p_application_id => p_application_id
161023 ,p_event_id => l_event_id
161024 ,p_calculate_acctd_flag => l_calculate_acctd_flag
161025 ,p_calculate_g_l_flag => l_calculate_g_l_flag
161026 ,p_actual_flag => l_actual_flag
161027 ,p_balance_type_code => l_balance_type_code
161028 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
161029
161030 , p_source_8 => g_array_event(l_event_id).array_value_char('source_8')
161031 , p_source_10 => g_array_event(l_event_id).array_value_char('source_10')
161032 , p_source_10_meaning => g_array_event(l_event_id).array_value_char('source_10_meaning')
161033 , p_source_25 => l_array_source_25(Idx)
161034 , p_source_31 => g_array_event(l_event_id).array_value_num('source_31')
161035 , p_source_32 => g_array_event(l_event_id).array_value_num('source_32')
161036 , p_source_57 => g_array_event(l_event_id).array_value_char('source_57')
161037 , p_source_58 => l_array_source_58(Idx)
161038 , p_source_60 => l_array_source_60(Idx)
161039 , p_source_85 => l_array_source_85(Idx)
161040 , p_source_85_meaning => l_array_source_85_meaning(Idx)
161041 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
161042 , p_source_96 => l_array_source_96(Idx)
161043 , p_source_101 => l_array_source_101(Idx)
161044 , p_source_101_meaning => l_array_source_101_meaning(Idx)
161045 , p_source_102 => l_array_source_102(Idx)
161046 , p_source_103 => l_array_source_103(Idx)
161047 , p_source_104 => l_array_source_104(Idx)
161048 , p_source_105 => l_array_source_105(Idx)
161049 , p_source_106 => l_array_source_106(Idx)
161050 , p_source_107 => l_array_source_107(Idx)
161051 , p_source_113 => g_array_event(l_event_id).array_value_num('source_113')
161052 , p_source_114 => g_array_event(l_event_id).array_value_num('source_114')
161053 , p_source_115 => l_array_source_115(Idx)
161054 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
161055 , p_source_120 => g_array_event(l_event_id).array_value_date('source_120')
161056 , p_source_121 => g_array_event(l_event_id).array_value_num('source_121')
161057 , p_source_122 => g_array_event(l_event_id).array_value_char('source_122')
161058 , p_source_157 => l_array_source_157(Idx)
161059 , p_source_164 => l_array_source_164(Idx)
161060 );
161061 If(l_balance_type_code = 'A') THEN
161062 l_actual_gain_loss_ref := l_gain_or_loss_ref;
161063 END IF;
161064
161065 --
161066
161067
161068 --
161069 AcctLineType_176 (
161070 p_application_id => p_application_id
161071 ,p_event_id => l_event_id
161072 ,p_calculate_acctd_flag => l_calculate_acctd_flag
161073 ,p_calculate_g_l_flag => l_calculate_g_l_flag
161074 ,p_actual_flag => l_actual_flag
161075 ,p_balance_type_code => l_balance_type_code
161076 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
161077
161078 , p_source_8 => g_array_event(l_event_id).array_value_char('source_8')
161079 , p_source_10 => g_array_event(l_event_id).array_value_char('source_10')
161080 , p_source_10_meaning => g_array_event(l_event_id).array_value_char('source_10_meaning')
161081 , p_source_25 => l_array_source_25(Idx)
161082 , p_source_33 => g_array_event(l_event_id).array_value_num('source_33')
161083 , p_source_34 => g_array_event(l_event_id).array_value_num('source_34')
161084 , p_source_57 => g_array_event(l_event_id).array_value_char('source_57')
161085 , p_source_58 => l_array_source_58(Idx)
161086 , p_source_60 => l_array_source_60(Idx)
161087 , p_source_85 => l_array_source_85(Idx)
161088 , p_source_85_meaning => l_array_source_85_meaning(Idx)
161089 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
161093 , p_source_102 => l_array_source_102(Idx)
161090 , p_source_96 => l_array_source_96(Idx)
161091 , p_source_101 => l_array_source_101(Idx)
161092 , p_source_101_meaning => l_array_source_101_meaning(Idx)
161094 , p_source_103 => l_array_source_103(Idx)
161095 , p_source_104 => l_array_source_104(Idx)
161096 , p_source_105 => l_array_source_105(Idx)
161097 , p_source_106 => l_array_source_106(Idx)
161098 , p_source_107 => l_array_source_107(Idx)
161099 , p_source_113 => g_array_event(l_event_id).array_value_num('source_113')
161100 , p_source_114 => g_array_event(l_event_id).array_value_num('source_114')
161101 , p_source_115 => l_array_source_115(Idx)
161102 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
161103 , p_source_120 => g_array_event(l_event_id).array_value_date('source_120')
161104 , p_source_121 => g_array_event(l_event_id).array_value_num('source_121')
161105 , p_source_122 => g_array_event(l_event_id).array_value_char('source_122')
161106 , p_source_157 => l_array_source_157(Idx)
161107 , p_source_164 => l_array_source_164(Idx)
161108 );
161109 If(l_balance_type_code = 'A') THEN
161110 l_actual_gain_loss_ref := l_gain_or_loss_ref;
161111 END IF;
161112
161113 --
161114
161115 -- only execute it if calculate g/l flag is yes, and primary or secondary ledger
161116 -- or secondary ledger that has different currency with primary
161117 -- or alc that is calculated by sla
161118 IF (((l_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
161119 (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'))
161120
161121 -- IF((l_calculate_g_l_flag='Y' or XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id <>
161122 -- XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id)
161123 AND (l_actual_flag = 'A')) THEN
161124 XLA_AE_LINES_PKG.CreateGainOrLossLines(
161125 p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
161126 ,p_application_id => p_application_id
161127 ,p_amb_context_code => 'DEFAULT'
161128 ,p_entity_code => xla_ae_journal_entry_pkg.g_cache_event.entity_code
161129 ,p_event_class_code => C_EVENT_CLASS_CODE
161130 ,p_event_type_code => C_EVENT_TYPE_CODE
161131
161132 ,p_gain_ccid => -1
161133 ,p_loss_ccid => -1
161134
161135 ,p_actual_flag => l_actual_flag
161136 ,p_enc_flag => null
161137 ,p_actual_g_l_ref => l_actual_gain_loss_ref
161138 ,p_enc_g_l_ref => null
161139 );
161140 END IF;
161141 END IF;
161142 END IF;
161143
161144 ELSE
161145 --
161146 -- Bug 4872078 - Do nothing if the event is meant for transaction reversal
161147 --
161148 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
161149 trace
161150 (p_msg => 'Trancaction revesal option is Y'
161151 ,p_level => C_LEVEL_STATEMENT
161152 ,p_module => l_log_module);
161153 END IF;
161154 END IF;
161155
161156 END LOOP;
161157 l_result := XLA_AE_LINES_PKG.InsertLines ;
161158 end loop;
161159 close line_cur;
161160
161161
161162 --
161163 -- insert headers into xla_ae_headers_gt table
161164 --
161165 l_result := XLA_AE_HEADER_PKG.InsertHeaders ;
161166
161167 -- insert into errors table here.
161168
161169 END LOOP;
161170
161171 --
161172 -- 4865292
161173 --
161174 -- Compare g_hdr_extract_count with event count in
161175 -- CreateHeadersAndLines.
161176 --
161177 g_hdr_extract_count := g_hdr_extract_count + header_cur%ROWCOUNT;
161178
161179 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
161180 trace (p_msg => '# rows extracted from header extract objects '
161181 || ' (running total): '
161182 || g_hdr_extract_count
161183 ,p_level => C_LEVEL_STATEMENT
161184 ,p_module => l_log_module);
161185 END IF;
161186
161187 CLOSE header_cur;
161188 --
161189
161190 --
161191 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
161192 trace
161193 (p_msg => 'END of EventClass_250'
161194 ,p_level => C_LEVEL_PROCEDURE
161195 ,p_module => l_log_module);
161196 END IF;
161197 --
161198 RETURN l_result;
161199 EXCEPTION
161200 WHEN xla_exceptions_pkg.application_exception THEN
161201
161202 IF header_cur%ISOPEN THEN CLOSE header_cur; END IF;
161203
161204
161205 IF line_cur%ISOPEN THEN CLOSE line_cur; END IF;
161206
161207 RAISE;
161208
161209 WHEN NO_DATA_FOUND THEN
161210
161211 IF header_cur%ISOPEN THEN CLOSE header_cur; END IF;
161212 IF line_cur%ISOPEN THEN CLOSE line_cur; END IF;
161213
161214 FOR header_record IN header_cur
161215 LOOP
161216 l_array_header_events(header_record.event_id) := header_record.event_id;
161217 END LOOP;
161218
161219 l_first_event_id := l_array_header_events(l_array_header_events.FIRST);
161220 l_last_event_id := l_array_header_events(l_array_header_events.LAST);
161221
161222 fnd_file.put_line(fnd_file.LOG, ' ');
161223 fnd_file.put_line(fnd_file.LOG, '***************************************************************************');
161224 fnd_file.put_line(fnd_file.LOG, 'EVENT CLASS CODE = ' || C_EVENT_CLASS_CODE );
161225 fnd_file.put_line(fnd_file.LOG, 'The following events are present in the line extract but MISSING in the header extract: ');
161226
161227 FOR line_record IN line_cur(l_first_event_id, l_last_event_id)
161228 LOOP
161229 IF (NOT l_array_header_events.EXISTS(line_record.event_id)) AND (NOT l_array_duplicate_checker.EXISTS(line_record.event_id)) THEN
161230 fnd_file.put_line(fnd_file.log, 'Event_id = ' || line_record.event_id);
161234
161231 l_array_duplicate_checker(line_record.event_id) := line_record.event_id;
161232 END IF;
161233 END LOOP;
161235 fnd_file.put_line(fnd_file.LOG, '***************************************************************************');
161236 fnd_file.put_line(fnd_file.LOG, ' ');
161237
161238
161239 xla_exceptions_pkg.raise_message
161240 (p_location => 'XLA_00200_AAD_S_000012_PKG.EventClass_250');
161241
161242
161243 WHEN OTHERS THEN
161244 xla_exceptions_pkg.raise_message
161245 (p_location => 'XLA_00200_AAD_S_000012_PKG.EventClass_250');
161246 END EventClass_250;
161247 --
161248
161249 ---------------------------------------
161250 --
161251 -- PRIVATE PROCEDURE
161252 -- insert_sources_251
161253 --
161254 ----------------------------------------
161255 --
161256 PROCEDURE insert_sources_251(
161257 p_target_ledger_id IN NUMBER
161258 , p_language IN VARCHAR2
161259 , p_sla_ledger_id IN NUMBER
161260 , p_pad_start_date IN DATE
161261 , p_pad_end_date IN DATE
161262 )
161263 IS
161264
161265 C_EVENT_TYPE_CODE CONSTANT VARCHAR2(30) := 'INVOICES_ALL';
161266 C_EVENT_CLASS_CODE CONSTANT VARCHAR2(30) := 'INVOICES';
161267 p_apps_owner VARCHAR2(30);
161268 l_log_module VARCHAR2(240);
161269 BEGIN
161270 IF g_log_enabled THEN
161271 l_log_module := C_DEFAULT_MODULE||'.insert_sources_251';
161272 END IF;
161273 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
161274
161275 trace
161276 (p_msg => 'BEGIN of insert_sources_251'
161277 ,p_level => C_LEVEL_PROCEDURE
161278 ,p_module => l_log_module);
161279
161280 END IF;
161281
161282 -- select APPS owner
161283 SELECT oracle_username
161284 INTO p_apps_owner
161285 FROM fnd_oracle_userid
161286 WHERE read_only_flag = 'U'
161287 ;
161288
161289 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
161290 trace
161291 (p_msg => 'p_target_ledger_id = '||p_target_ledger_id||
161292 ' - p_language = '||p_language||
161293 ' - p_sla_ledger_id = '||p_sla_ledger_id ||
161294 ' - p_pad_start_date = '||TO_CHAR(p_pad_start_date)||
161295 ' - p_pad_end_date = '||TO_CHAR(p_pad_end_date)||
161296 ' - p_apps_owner = '||TO_CHAR(p_apps_owner)
161297 ,p_level => C_LEVEL_STATEMENT
161298 ,p_module => l_log_module);
161299 END IF;
161300
161301
161302 --
161303 INSERT INTO xla_diag_sources --hdr2
161304 (
161305 event_id
161306 , ledger_id
161307 , sla_ledger_id
161308 , description_language
161309 , object_name
161310 , object_type_code
161311 , line_number
161312 , source_application_id
161313 , source_type_code
161314 , source_code
161315 , source_value
161316 , source_meaning
161317 , created_by
161318 , creation_date
161319 , last_update_date
161320 , last_updated_by
161321 , last_update_login
161322 , program_update_date
161323 , program_application_id
161324 , program_id
161325 , request_id
161326 )
161327 SELECT
161328 event_id
161329 , p_target_ledger_id
161330 , p_sla_ledger_id
161331 , p_language
161332 , object_name
161333 , object_type_code
161334 , line_number
161335 , source_application_id
161336 , source_type_code
161337 , source_code
161338 , SUBSTR(source_value ,1,1996)
161339 , SUBSTR(source_meaning ,1,200)
161340 , xla_environment_pkg.g_Usr_Id
161341 , TRUNC(SYSDATE)
161342 , TRUNC(SYSDATE)
161343 , xla_environment_pkg.g_Usr_Id
161344 , xla_environment_pkg.g_Login_Id
161345 , TRUNC(SYSDATE)
161346 , xla_environment_pkg.g_Prog_Appl_Id
161347 , xla_environment_pkg.g_Prog_Id
161348 , xla_environment_pkg.g_Req_Id
161349 FROM (
161350 SELECT xet.event_id event_id
161351 , 0 line_number
161352 , CASE r
161353 WHEN 1 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
161354 WHEN 2 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
161355 WHEN 3 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
161356 WHEN 4 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
161357 WHEN 5 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
161358 WHEN 6 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
161359 WHEN 7 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
161360 WHEN 8 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
161361 WHEN 9 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
161362 WHEN 10 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
161363 WHEN 11 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
161364 WHEN 12 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
161365 WHEN 13 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
161366 WHEN 14 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
161367 WHEN 15 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
161368 WHEN 16 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
161369 WHEN 17 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
161370 WHEN 18 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
161371
161372 ELSE null
161373 END object_name
161374 , CASE r
161375 WHEN 1 THEN 'HEADER'
161376 WHEN 2 THEN 'HEADER'
161377 WHEN 3 THEN 'HEADER'
161378 WHEN 4 THEN 'HEADER'
161382 WHEN 8 THEN 'HEADER'
161379 WHEN 5 THEN 'HEADER'
161380 WHEN 6 THEN 'HEADER'
161381 WHEN 7 THEN 'HEADER'
161383 WHEN 9 THEN 'HEADER'
161384 WHEN 10 THEN 'HEADER'
161385 WHEN 11 THEN 'HEADER'
161386 WHEN 12 THEN 'HEADER'
161387 WHEN 13 THEN 'HEADER'
161388 WHEN 14 THEN 'HEADER'
161389 WHEN 15 THEN 'HEADER'
161390 WHEN 16 THEN 'HEADER'
161391 WHEN 17 THEN 'HEADER'
161392 WHEN 18 THEN 'HEADER'
161393
161394 ELSE null
161395 END object_type_code
161396 , CASE r
161397 WHEN 1 THEN '200'
161398 WHEN 2 THEN '200'
161399 WHEN 3 THEN '200'
161400 WHEN 4 THEN '200'
161401 WHEN 5 THEN '200'
161402 WHEN 6 THEN '200'
161403 WHEN 7 THEN '200'
161404 WHEN 8 THEN '200'
161405 WHEN 9 THEN '200'
161406 WHEN 10 THEN '200'
161407 WHEN 11 THEN '200'
161408 WHEN 12 THEN '200'
161409 WHEN 13 THEN '200'
161410 WHEN 14 THEN '200'
161411 WHEN 15 THEN '200'
161412 WHEN 16 THEN '200'
161413 WHEN 17 THEN '200'
161414 WHEN 18 THEN '200'
161415
161416 ELSE null
161417 END source_application_id
161418 , 'S' source_type_code
161419 , CASE r
161420 WHEN 1 THEN 'ASP_AUTOMATIC_OFFSETS_VALUE'
161421 WHEN 2 THEN 'ASP_RATE_VAR_GAIN_CCID'
161422 WHEN 3 THEN 'ASP_RATE_VAR_LOSS_CCID'
161423 WHEN 4 THEN 'AI_ACCTS_PAY_CCID'
161424 WHEN 5 THEN 'FSP_RETAINAGE_ACCOUNT'
161425 WHEN 6 THEN 'ASP_AUTO_OFFSET_FLAG'
161426 WHEN 7 THEN 'AI_INVOICE_ID'
161427 WHEN 8 THEN 'AI_INVOICE_CURRENCY_CODE'
161428 WHEN 9 THEN 'AI_VENDOR_ID'
161429 WHEN 10 THEN 'AI_VENDOR_SITE_ID'
161430 WHEN 11 THEN 'THIRD_PARTY_TYPE'
161431 WHEN 12 THEN 'INV_EXCHANGE_DATE'
161432 WHEN 13 THEN 'INV_EXCHANGE_RATE'
161433 WHEN 14 THEN 'INV_EXCHANGE_RATE_TYPE'
161434 WHEN 15 THEN 'AI_INVOICE_TYPE_LOOKUP_CODE'
161435 WHEN 16 THEN 'INV_DOC_SEQUENCE_CATEGORY'
161436 WHEN 17 THEN 'INV_DOC_SEQUENCE_IDENTIFIER'
161437 WHEN 18 THEN 'INV_DOC_SEQUENCE_VALUE'
161438
161439 ELSE null
161440 END source_code
161441 , CASE r
161442 WHEN 1 THEN TO_CHAR(h4.ASP_AUTOMATIC_OFFSETS_VALUE)
161443 WHEN 2 THEN TO_CHAR(h4.ASP_RATE_VAR_GAIN_CCID)
161444 WHEN 3 THEN TO_CHAR(h4.ASP_RATE_VAR_LOSS_CCID)
161445 WHEN 4 THEN TO_CHAR(h2.AI_ACCTS_PAY_CCID)
161446 WHEN 5 THEN TO_CHAR(h4.FSP_RETAINAGE_ACCOUNT)
161447 WHEN 6 THEN TO_CHAR(h4.ASP_AUTO_OFFSET_FLAG)
161448 WHEN 7 THEN TO_CHAR(h2.AI_INVOICE_ID)
161449 WHEN 8 THEN TO_CHAR(h2.AI_INVOICE_CURRENCY_CODE)
161450 WHEN 9 THEN TO_CHAR(h2.AI_VENDOR_ID)
161451 WHEN 10 THEN TO_CHAR(h2.AI_VENDOR_SITE_ID)
161452 WHEN 11 THEN TO_CHAR(h2.THIRD_PARTY_TYPE)
161453 WHEN 12 THEN TO_CHAR(h2.INV_EXCHANGE_DATE)
161454 WHEN 13 THEN TO_CHAR(h2.INV_EXCHANGE_RATE)
161455 WHEN 14 THEN TO_CHAR(h2.INV_EXCHANGE_RATE_TYPE)
161456 WHEN 15 THEN TO_CHAR(h2.AI_INVOICE_TYPE_LOOKUP_CODE)
161457 WHEN 16 THEN TO_CHAR(h2.INV_DOC_SEQUENCE_CATEGORY)
161458 WHEN 17 THEN TO_CHAR(h2.INV_DOC_SEQUENCE_IDENTIFIER)
161459 WHEN 18 THEN TO_CHAR(h2.INV_DOC_SEQUENCE_VALUE)
161460
161461 ELSE null
161462 END source_value
161463 , CASE r
161464 WHEN 1 THEN fvl10.meaning
161465 WHEN 6 THEN fvl43.meaning
161466 WHEN 15 THEN fvl167.meaning
161467
161468 ELSE null
161469 END source_meaning
161470 FROM xla_events_gt xet
161471 , AP_INVOICE_EXTRACT_HEADER_V h2
161472 , AP_SYSTEM_PARAMETERS_EXTRACT_V h4
161473 , fnd_lookup_values fvl10
161474 , fnd_lookup_values fvl43
161475 , fnd_lookup_values fvl167
161476 ,(select rownum r from all_objects where rownum <= 18 and owner = p_apps_owner)
161477 WHERE xet.event_date between p_pad_start_date AND p_pad_end_date
161478 AND xet.event_class_code = C_EVENT_CLASS_CODE
161479 AND h2.event_id = xet.event_id
161480 AND h4.asp_org_id = h2.ai_org_id AND fvl10.lookup_type(+) = 'LIABILITY FLEXBUILD METHOD'
161481 AND fvl10.lookup_code(+) = h4.ASP_AUTOMATIC_OFFSETS_VALUE
161482 AND fvl10.view_application_id(+) = 200
161483 AND fvl10.language(+) = USERENV('LANG')
161484 AND fvl43.lookup_type(+) = 'YES_NO'
161485 AND fvl43.lookup_code(+) = h4.ASP_AUTO_OFFSET_FLAG
161486 AND fvl43.view_application_id(+) = 0
161487 AND fvl43.language(+) = USERENV('LANG')
161488 AND fvl167.lookup_type(+) = 'INVOICE TYPE'
161489 AND fvl167.lookup_code(+) = h2.AI_INVOICE_TYPE_LOOKUP_CODE
161490 AND fvl167.view_application_id(+) = 200
161491 AND fvl167.language(+) = USERENV('LANG')
161492
161493 )
161494 ;
161495 --
161496 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
161497
161498 trace
161499 (p_msg => 'number of header sources inserted = '||SQL%ROWCOUNT
161503 END IF;
161500 ,p_level => C_LEVEL_STATEMENT
161501 ,p_module => l_log_module);
161502
161504 --
161505
161506
161507
161508 --
161509 INSERT INTO xla_diag_sources --line2
161510 (
161511 event_id
161512 , ledger_id
161513 , sla_ledger_id
161514 , description_language
161515 , object_name
161516 , object_type_code
161517 , line_number
161518 , source_application_id
161519 , source_type_code
161520 , source_code
161521 , source_value
161522 , source_meaning
161523 , created_by
161524 , creation_date
161525 , last_update_date
161526 , last_updated_by
161527 , last_update_login
161528 , program_update_date
161529 , program_application_id
161530 , program_id
161531 , request_id
161532 )
161533 SELECT event_id
161534 , p_target_ledger_id
161535 , p_sla_ledger_id
161536 , p_language
161537 , object_name
161538 , object_type_code
161539 , line_number
161540 , source_application_id
161541 , source_type_code
161542 , source_code
161543 , SUBSTR(source_value,1,1996)
161544 , SUBSTR(source_meaning ,1,200)
161545 , xla_environment_pkg.g_Usr_Id
161546 , TRUNC(SYSDATE)
161547 , TRUNC(SYSDATE)
161548 , xla_environment_pkg.g_Usr_Id
161549 , xla_environment_pkg.g_Login_Id
161550 , TRUNC(SYSDATE)
161551 , xla_environment_pkg.g_Prog_Appl_Id
161552 , xla_environment_pkg.g_Prog_Id
161553 , xla_environment_pkg.g_Req_Id
161554 FROM (
161555 SELECT xet.event_id event_id
161556 , l1.line_number line_number
161557 , CASE r
161558 WHEN 1 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
161559 WHEN 2 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
161560 WHEN 3 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
161561 WHEN 4 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
161562 WHEN 5 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
161563 WHEN 6 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
161564 WHEN 7 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
161565 WHEN 8 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
161566 WHEN 9 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
161567 WHEN 10 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
161568 WHEN 11 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
161569 WHEN 12 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
161570 WHEN 13 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
161571 WHEN 14 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
161572 WHEN 15 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
161573 WHEN 16 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
161574 WHEN 17 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
161575 WHEN 18 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
161576 WHEN 19 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
161577 WHEN 20 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
161578 WHEN 21 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
161579 WHEN 22 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
161580 WHEN 23 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
161581 WHEN 24 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
161582 WHEN 25 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
161583 WHEN 26 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
161584 WHEN 27 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
161585 WHEN 28 THEN 'AP_PO_HEADERS_EXTRACT_V'
161586 WHEN 29 THEN 'AP_PO_HEADERS_EXTRACT_V'
161587 WHEN 30 THEN 'AP_PO_HEADERS_EXTRACT_V'
161588 WHEN 31 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
161589 WHEN 32 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
161590 WHEN 33 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
161591 WHEN 34 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
161592 WHEN 35 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
161593 WHEN 36 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
161594 WHEN 37 THEN 'ZX_AP_DEF_TAX_EXTRACT_V'
161595 WHEN 38 THEN 'ZX_AP_TAX_JRNL_LINE_DESC_V'
161596 WHEN 39 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
161597 WHEN 40 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
161598 WHEN 41 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
161599 WHEN 42 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
161600 WHEN 43 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
161601 WHEN 44 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
161602 WHEN 45 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
161603 WHEN 46 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
161604 WHEN 47 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
161605 WHEN 48 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
161606 WHEN 49 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
161607
161608 ELSE null
161609 END object_name
161610 , CASE r
161611 WHEN 1 THEN 'LINE'
161612 WHEN 2 THEN 'LINE'
161613 WHEN 3 THEN 'LINE'
161614 WHEN 4 THEN 'LINE'
161615 WHEN 5 THEN 'LINE'
161616 WHEN 6 THEN 'LINE'
161617 WHEN 7 THEN 'LINE'
161618 WHEN 8 THEN 'LINE'
161619 WHEN 9 THEN 'LINE'
161620 WHEN 10 THEN 'LINE'
161621 WHEN 11 THEN 'LINE'
161622 WHEN 12 THEN 'LINE'
161623 WHEN 13 THEN 'LINE'
161624 WHEN 14 THEN 'LINE'
161625 WHEN 15 THEN 'LINE'
161626 WHEN 16 THEN 'LINE'
161627 WHEN 17 THEN 'LINE'
161628 WHEN 18 THEN 'LINE'
161629 WHEN 19 THEN 'LINE'
161630 WHEN 20 THEN 'LINE'
161634 WHEN 24 THEN 'LINE'
161631 WHEN 21 THEN 'LINE'
161632 WHEN 22 THEN 'LINE'
161633 WHEN 23 THEN 'LINE'
161635 WHEN 25 THEN 'LINE'
161636 WHEN 26 THEN 'LINE'
161637 WHEN 27 THEN 'LINE'
161638 WHEN 28 THEN 'LINE'
161639 WHEN 29 THEN 'LINE'
161640 WHEN 30 THEN 'LINE'
161641 WHEN 31 THEN 'LINE'
161642 WHEN 32 THEN 'LINE'
161643 WHEN 33 THEN 'LINE'
161644 WHEN 34 THEN 'LINE'
161645 WHEN 35 THEN 'LINE'
161646 WHEN 36 THEN 'LINE'
161647 WHEN 37 THEN 'LINE'
161648 WHEN 38 THEN 'LINE'
161649 WHEN 39 THEN 'LINE'
161650 WHEN 40 THEN 'LINE'
161651 WHEN 41 THEN 'LINE'
161652 WHEN 42 THEN 'LINE'
161653 WHEN 43 THEN 'LINE'
161654 WHEN 44 THEN 'LINE'
161655 WHEN 45 THEN 'LINE'
161656 WHEN 46 THEN 'LINE'
161657 WHEN 47 THEN 'LINE'
161658 WHEN 48 THEN 'LINE'
161659 WHEN 49 THEN 'LINE'
161660
161661 ELSE null
161662 END object_type_code
161663 , CASE r
161664 WHEN 1 THEN '200'
161665 WHEN 2 THEN '200'
161666 WHEN 3 THEN '200'
161667 WHEN 4 THEN '200'
161668 WHEN 5 THEN '200'
161669 WHEN 6 THEN '200'
161670 WHEN 7 THEN '200'
161671 WHEN 8 THEN '200'
161672 WHEN 9 THEN '200'
161673 WHEN 10 THEN '200'
161674 WHEN 11 THEN '200'
161675 WHEN 12 THEN '200'
161676 WHEN 13 THEN '200'
161677 WHEN 14 THEN '200'
161678 WHEN 15 THEN '200'
161679 WHEN 16 THEN '200'
161680 WHEN 17 THEN '200'
161681 WHEN 18 THEN '200'
161682 WHEN 19 THEN '200'
161683 WHEN 20 THEN '200'
161684 WHEN 21 THEN '200'
161685 WHEN 22 THEN '200'
161686 WHEN 23 THEN '200'
161687 WHEN 24 THEN '200'
161688 WHEN 25 THEN '200'
161689 WHEN 26 THEN '200'
161690 WHEN 27 THEN '200'
161691 WHEN 28 THEN '200'
161692 WHEN 29 THEN '200'
161693 WHEN 30 THEN '200'
161694 WHEN 31 THEN '200'
161695 WHEN 32 THEN '200'
161696 WHEN 33 THEN '200'
161697 WHEN 34 THEN '200'
161698 WHEN 35 THEN '200'
161699 WHEN 36 THEN '200'
161700 WHEN 37 THEN '200'
161701 WHEN 38 THEN '200'
161702 WHEN 39 THEN '200'
161703 WHEN 40 THEN '200'
161704 WHEN 41 THEN '200'
161705 WHEN 42 THEN '200'
161706 WHEN 43 THEN '200'
161707 WHEN 44 THEN '200'
161708 WHEN 45 THEN '200'
161709 WHEN 46 THEN '200'
161710 WHEN 47 THEN '200'
161711 WHEN 48 THEN '200'
161712 WHEN 49 THEN '200'
161713
161714 ELSE null
161715 END source_application_id
161716 , 'S' source_type_code
161717 , CASE r
161718 WHEN 1 THEN 'AID_DESCRIPTION'
161719 WHEN 2 THEN 'INV_DIST_BASE_AMOUNT'
161720 WHEN 3 THEN 'RELATED_INV_DIST_DEST_TYPE'
161721 WHEN 4 THEN 'AID_DIST_CCID'
161722 WHEN 5 THEN 'AID_LINE_TYPE_LOOKUP_CODE'
161723 WHEN 6 THEN 'AID_RET_RELATED_DIST_CCID'
161724 WHEN 7 THEN 'AWT_RELATED_DIST_ACCOUNT'
161725 WHEN 8 THEN 'SELF_ASSESSED_TAX_ACCOUNT'
161726 WHEN 9 THEN 'ASAT_LIAB_CCID'
161727 WHEN 10 THEN 'POD_ACCRUE_ON_RECEIPT_FLAG'
161728 WHEN 11 THEN 'DIST_ACCOUNT_REVERSAL_OPTION'
161729 WHEN 12 THEN 'DISTRIBUTION_LINK_TYPE'
161730 WHEN 13 THEN 'ALLOC_TO_MAIN_DIST_ID'
161731 WHEN 14 THEN 'BUS_FLOW_PO_APP_ID'
161732 WHEN 15 THEN 'BUS_FLOW_PO_DIST_TYPE'
161733 WHEN 16 THEN 'BUS_FLOW_PO_ENTITY_CODE'
161734 WHEN 17 THEN 'BUS_FLOW_PO_DIST_ID'
161735 WHEN 18 THEN 'BUS_FLOW_PO_DOC_ID'
161736 WHEN 19 THEN 'AID_INVOICE_DIST_ID'
161737 WHEN 20 THEN 'UPG_ENC_CR_CCID'
161738 WHEN 21 THEN 'UPG_ENC_CR_AMT'
161739 WHEN 22 THEN 'UPG_ENC_CR_BASE_AMT'
161740 WHEN 23 THEN 'UPG_ENC_DR_CCID'
161741 WHEN 24 THEN 'UPG_ENC_DR_AMT'
161742 WHEN 25 THEN 'UPG_ENC_DR_BASE_AMT'
161743 WHEN 26 THEN 'UPG_AP_ENCUM_OPTION'
161744 WHEN 27 THEN 'AID_AMOUNT'
161745 WHEN 28 THEN 'POH_RATE_DATE'
161746 WHEN 29 THEN 'POH_RATE'
161747 WHEN 30 THEN 'POH_RATE_TYPE'
161748 WHEN 31 THEN 'DEFERRED_END_DATE'
161749 WHEN 32 THEN 'DEFERRED_OPTION'
161750 WHEN 33 THEN 'DEFERRED_START_DATE'
161751 WHEN 34 THEN 'OVERRIDE_ACCTD_AMT_FLAG'
161752 WHEN 35 THEN 'AID_PARENT_REVERSAL_ID'
161753 WHEN 36 THEN 'AID_STAT_AMOUNT'
161754 WHEN 37 THEN 'TAX_LINE_ID'
161755 WHEN 38 THEN 'REC_NREC_TAX_DIST_ID'
161756 WHEN 39 THEN 'SUMMARY_TAX_LINE_ID'
161757 WHEN 40 THEN 'UPG_CR_ENC_TYPE_ID'
161758 WHEN 41 THEN 'UPG_DR_ENC_TYPE_ID'
161762 WHEN 45 THEN 'BUS_FLOW_INV_DIST_ID'
161759 WHEN 42 THEN 'BUS_FLOW_AP_APP_ID'
161760 WHEN 43 THEN 'BUS_FLOW_INV_DIST_TYPE'
161761 WHEN 44 THEN 'BUS_FLOW_INV_ENTITY_CODE'
161763 WHEN 46 THEN 'BUS_FLOW_INV_ID'
161764 WHEN 47 THEN 'SELF_ASSESSED_TAX_FLAG'
161765 WHEN 48 THEN 'BUS_FLOW_RET_INV_DIST_ID'
161766 WHEN 49 THEN 'BUS_FLOW_RET_INV_ID'
161767
161768 ELSE null
161769 END source_code
161770 , CASE r
161771 WHEN 1 THEN TO_CHAR(l1.AID_DESCRIPTION)
161772 WHEN 2 THEN TO_CHAR(l1.INV_DIST_BASE_AMOUNT)
161773 WHEN 3 THEN TO_CHAR(l1.RELATED_INV_DIST_DEST_TYPE)
161774 WHEN 4 THEN TO_CHAR(l1.AID_DIST_CCID)
161775 WHEN 5 THEN TO_CHAR(l1.AID_LINE_TYPE_LOOKUP_CODE)
161776 WHEN 6 THEN TO_CHAR(l1.AID_RET_RELATED_DIST_CCID)
161777 WHEN 7 THEN TO_CHAR(l1.AWT_RELATED_DIST_ACCOUNT)
161778 WHEN 8 THEN TO_CHAR(l1.SELF_ASSESSED_TAX_ACCOUNT)
161779 WHEN 9 THEN TO_CHAR(l1.ASAT_LIAB_CCID)
161780 WHEN 10 THEN TO_CHAR(l1.POD_ACCRUE_ON_RECEIPT_FLAG)
161781 WHEN 11 THEN TO_CHAR(l1.DIST_ACCOUNT_REVERSAL_OPTION)
161782 WHEN 12 THEN TO_CHAR(l1.DISTRIBUTION_LINK_TYPE)
161783 WHEN 13 THEN TO_CHAR(l1.ALLOC_TO_MAIN_DIST_ID)
161784 WHEN 14 THEN TO_CHAR(l1.BUS_FLOW_PO_APP_ID)
161785 WHEN 15 THEN TO_CHAR(l1.BUS_FLOW_PO_DIST_TYPE)
161786 WHEN 16 THEN TO_CHAR(l1.BUS_FLOW_PO_ENTITY_CODE)
161787 WHEN 17 THEN TO_CHAR(l1.BUS_FLOW_PO_DIST_ID)
161788 WHEN 18 THEN TO_CHAR(l1.BUS_FLOW_PO_DOC_ID)
161789 WHEN 19 THEN TO_CHAR(l1.AID_INVOICE_DIST_ID)
161790 WHEN 20 THEN TO_CHAR(l1.UPG_ENC_CR_CCID)
161791 WHEN 21 THEN TO_CHAR(l1.UPG_ENC_CR_AMT)
161792 WHEN 22 THEN TO_CHAR(l1.UPG_ENC_CR_BASE_AMT)
161793 WHEN 23 THEN TO_CHAR(l1.UPG_ENC_DR_CCID)
161794 WHEN 24 THEN TO_CHAR(l1.UPG_ENC_DR_AMT)
161795 WHEN 25 THEN TO_CHAR(l1.UPG_ENC_DR_BASE_AMT)
161796 WHEN 26 THEN TO_CHAR(l1.UPG_AP_ENCUM_OPTION)
161797 WHEN 27 THEN TO_CHAR(l1.AID_AMOUNT)
161798 WHEN 28 THEN TO_CHAR(l3.POH_RATE_DATE)
161799 WHEN 29 THEN TO_CHAR(l3.POH_RATE)
161800 WHEN 30 THEN TO_CHAR(l3.POH_RATE_TYPE)
161801 WHEN 31 THEN TO_CHAR(l1.DEFERRED_END_DATE)
161802 WHEN 32 THEN TO_CHAR(l1.DEFERRED_OPTION)
161803 WHEN 33 THEN TO_CHAR(l1.DEFERRED_START_DATE)
161804 WHEN 34 THEN TO_CHAR(l1.OVERRIDE_ACCTD_AMT_FLAG)
161805 WHEN 35 THEN TO_CHAR(l1.AID_PARENT_REVERSAL_ID)
161806 WHEN 36 THEN TO_CHAR(l1.AID_STAT_AMOUNT)
161807 WHEN 37 THEN TO_CHAR(l5.TAX_LINE_ID)
161808 WHEN 38 THEN TO_CHAR(l6.REC_NREC_TAX_DIST_ID)
161809 WHEN 39 THEN TO_CHAR(l1.SUMMARY_TAX_LINE_ID)
161810 WHEN 40 THEN TO_CHAR(l1.UPG_CR_ENC_TYPE_ID)
161811 WHEN 41 THEN TO_CHAR(l1.UPG_DR_ENC_TYPE_ID)
161812 WHEN 42 THEN TO_CHAR(l1.BUS_FLOW_AP_APP_ID)
161813 WHEN 43 THEN TO_CHAR(l1.BUS_FLOW_INV_DIST_TYPE)
161814 WHEN 44 THEN TO_CHAR(l1.BUS_FLOW_INV_ENTITY_CODE)
161815 WHEN 45 THEN TO_CHAR(l1.BUS_FLOW_INV_DIST_ID)
161816 WHEN 46 THEN TO_CHAR(l1.BUS_FLOW_INV_ID)
161817 WHEN 47 THEN TO_CHAR(l1.SELF_ASSESSED_TAX_FLAG)
161818 WHEN 48 THEN TO_CHAR(l1.BUS_FLOW_RET_INV_DIST_ID)
161819 WHEN 49 THEN TO_CHAR(l1.BUS_FLOW_RET_INV_ID)
161820
161821 ELSE null
161822 END source_value
161823 , CASE r
161824 WHEN 3 THEN fvl17.meaning
161825 WHEN 5 THEN fvl28.meaning
161826 WHEN 10 THEN fvl54.meaning
161827 WHEN 34 THEN fvl85.meaning
161828 WHEN 47 THEN fvl145.meaning
161829
161830 ELSE null
161831 END source_meaning
161832 FROM xla_events_gt xet
161833 , AP_INVOICE_EXTRACT_DETAILS_V l1
161834 , AP_PO_HEADERS_EXTRACT_V l3
161835 , ZX_AP_DEF_TAX_EXTRACT_V l5
161836 , ZX_AP_TAX_JRNL_LINE_DESC_V l6
161837 , fnd_lookup_values fvl17
161838 , fnd_lookup_values fvl28
161839 , fnd_lookup_values fvl54
161840 , fnd_lookup_values fvl85
161841 , fnd_lookup_values fvl145
161842 , (select rownum r from all_objects where rownum <= 49 and owner = p_apps_owner)
161843 WHERE xet.event_date between p_pad_start_date AND p_pad_end_date
161844 AND xet.event_class_code = C_EVENT_CLASS_CODE
161845 AND l1.event_id = xet.event_id
161846 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 fvl17.lookup_type(+) = 'DESTINATION TYPE'
161847 AND fvl17.lookup_code(+) = l1.RELATED_INV_DIST_DEST_TYPE
161848 AND fvl17.view_application_id(+) = 201
161849 AND fvl17.language(+) = USERENV('LANG')
161850 AND fvl28.lookup_type(+) = 'INVOICE DISTRIBUTION TYPE'
161851 AND fvl28.lookup_code(+) = l1.AID_LINE_TYPE_LOOKUP_CODE
161852 AND fvl28.view_application_id(+) = 200
161853 AND fvl28.language(+) = USERENV('LANG')
161854 AND fvl54.lookup_type(+) = 'YES_NO'
161855 AND fvl54.lookup_code(+) = l1.POD_ACCRUE_ON_RECEIPT_FLAG
161856 AND fvl54.view_application_id(+) = 0
161857 AND fvl54.language(+) = USERENV('LANG')
161858 AND fvl85.lookup_type(+) = 'YES_NO'
161859 AND fvl85.lookup_code(+) = l1.OVERRIDE_ACCTD_AMT_FLAG
161860 AND fvl85.view_application_id(+) = 0
161861 AND fvl85.language(+) = USERENV('LANG')
161865 AND fvl145.language(+) = USERENV('LANG')
161862 AND fvl145.lookup_type(+) = 'YES_NO'
161863 AND fvl145.lookup_code(+) = l1.SELF_ASSESSED_TAX_FLAG
161864 AND fvl145.view_application_id(+) = 0
161866
161867 )
161868 ;
161869 --
161870 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
161871
161872 trace
161873 (p_msg => 'number of line sources inserted = '||SQL%ROWCOUNT
161874 ,p_level => C_LEVEL_STATEMENT
161875 ,p_module => l_log_module);
161876
161877 END IF;
161878
161879
161880 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
161881 trace
161882 (p_msg => 'END of insert_sources_251'
161883 ,p_level => C_LEVEL_PROCEDURE
161884 ,p_module => l_log_module);
161885 END IF;
161886 EXCEPTION
161887 WHEN xla_exceptions_pkg.application_exception THEN
161888 IF (C_LEVEL_EXCEPTION >= g_log_level) THEN
161889 trace
161890 (p_msg => 'ERROR: XLA_CMP_COMPILER_ERROR = '||sqlerrm
161891 ,p_level => C_LEVEL_EXCEPTION
161892 ,p_module => l_log_module);
161893 END IF;
161894 RAISE;
161895 WHEN OTHERS THEN
161896 IF (C_LEVEL_EXCEPTION >= g_log_level) THEN
161897 trace
161898 (p_msg => 'ERROR: XLA_CMP_COMPILER_ERROR = '||sqlerrm
161899 ,p_level => C_LEVEL_EXCEPTION
161900 ,p_module => l_log_module);
161901 END IF;
161902 xla_exceptions_pkg.raise_message
161903 (p_location => 'XLA_00200_AAD_S_000012_PKG.insert_sources_251');
161904 END insert_sources_251;
161905 --
161906
161907 ---------------------------------------
161908 --
161909 -- PRIVATE FUNCTION
161910 -- EventClass_251
161911 --
161912 ----------------------------------------
161913 --
161914 FUNCTION EventClass_251
161915 (p_application_id IN NUMBER
161916 ,p_base_ledger_id IN NUMBER
161917 ,p_target_ledger_id IN NUMBER
161918 ,p_language IN VARCHAR2
161919 ,p_currency_code IN VARCHAR2
161920 ,p_sla_ledger_id IN NUMBER
161921 ,p_pad_start_date IN DATE
161922 ,p_pad_end_date IN DATE
161923 ,p_primary_ledger_id IN NUMBER)
161924 RETURN BOOLEAN IS
161925 --
161926 C_EVENT_TYPE_CODE CONSTANT VARCHAR2(30) := 'INVOICES_ALL';
161927 C_EVENT_CLASS_CODE CONSTANT VARCHAR2(30) := 'INVOICES';
161928
161929 l_calculate_acctd_flag VARCHAR2(1) :='N';
161930 l_calculate_g_l_flag VARCHAR2(1) :='N';
161931 --
161932 l_array_legal_entity_id XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
161933 l_array_entity_id XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
161934 l_array_entity_code XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
161935 l_array_transaction_num XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
161936 l_array_event_id XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
161937 l_array_class_code XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
161938 l_array_event_type XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
161939 l_array_event_number XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
161940 l_array_event_date XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
161941 l_array_transaction_date XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
161942 l_array_reference_num_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
161943 l_array_reference_num_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
161944 l_array_reference_num_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
161945 l_array_reference_num_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
161946 l_array_reference_char_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
161947 l_array_reference_char_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
161948 l_array_reference_char_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
161949 l_array_reference_char_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
161950 l_array_reference_date_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
161951 l_array_reference_date_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
161952 l_array_reference_date_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
161953 l_array_reference_date_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
161954 l_array_event_created_by XLA_AE_JOURNAL_ENTRY_PKG.t_array_V100L;
161955 l_array_budgetary_control_flag XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
161956 l_array_header_events XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num; --added
161957 l_array_duplicate_checker XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num; --added
161958
161959 l_event_id NUMBER;
161960 l_previous_event_id NUMBER;
161961 l_first_event_id NUMBER;
161962 l_last_event_id NUMBER;
161963
161964 l_rec_acct_attrs XLA_AE_HEADER_PKG.t_rec_acct_attrs;
161965 l_rec_rev_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
161966 --
161967 --
161968 l_result BOOLEAN := TRUE;
161969 l_rows NUMBER := 1000;
161970 l_event_type_name VARCHAR2(80) := 'All';
161971 l_event_class_name VARCHAR2(80) := 'Invoices';
161972 l_description VARCHAR2(4000);
161973 l_transaction_reversal NUMBER;
161974 l_ae_header_id NUMBER;
161975 l_array_extract_line_num xla_ae_journal_entry_pkg.t_array_Num;
161976 l_log_module VARCHAR2(240);
161977 --
161978 l_acct_reversal_source VARCHAR2(30);
161979 l_trx_reversal_source VARCHAR2(30);
161980
161981 l_continue_with_lines BOOLEAN := TRUE;
161982 --
161983 l_acc_rev_gl_date_source DATE; -- 4262811
161984 --
161985 type t_array_event_id is table of number index by binary_integer;
161986
161990 l_actual_flag VARCHAR2(1) := NULL;
161987 l_rec_array_event t_rec_array_event;
161988 l_null_rec_array_event t_rec_array_event;
161989 l_array_ae_header_id xla_number_array_type;
161991 l_actual_gain_loss_ref VARCHAR2(30) := '#####';
161992 l_balance_type_code VARCHAR2(1) :=NULL;
161993 l_gain_or_loss_ref VARCHAR2(30) :=NULL;
161994
161995 --
161996 TYPE t_array_lookup_meaning IS TABLE OF fnd_lookup_values.meaning%TYPE INDEX BY BINARY_INTEGER;
161997 --
161998
161999 TYPE t_array_source_10 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_AUTOMATIC_OFFSETS_VALUE%TYPE INDEX BY BINARY_INTEGER;
162000 TYPE t_array_source_15 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_RATE_VAR_GAIN_CCID%TYPE INDEX BY BINARY_INTEGER;
162001 TYPE t_array_source_18 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_RATE_VAR_LOSS_CCID%TYPE INDEX BY BINARY_INTEGER;
162002 TYPE t_array_source_29 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_ACCTS_PAY_CCID%TYPE INDEX BY BINARY_INTEGER;
162003 TYPE t_array_source_35 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.FSP_RETAINAGE_ACCOUNT%TYPE INDEX BY BINARY_INTEGER;
162004 TYPE t_array_source_43 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_AUTO_OFFSET_FLAG%TYPE INDEX BY BINARY_INTEGER;
162005 TYPE t_array_source_63 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_INVOICE_ID%TYPE INDEX BY BINARY_INTEGER;
162006 TYPE t_array_source_72 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_INVOICE_CURRENCY_CODE%TYPE INDEX BY BINARY_INTEGER;
162007 TYPE t_array_source_86 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_VENDOR_ID%TYPE INDEX BY BINARY_INTEGER;
162008 TYPE t_array_source_87 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_VENDOR_SITE_ID%TYPE INDEX BY BINARY_INTEGER;
162009 TYPE t_array_source_88 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.THIRD_PARTY_TYPE%TYPE INDEX BY BINARY_INTEGER;
162010 TYPE t_array_source_146 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_EXCHANGE_DATE%TYPE INDEX BY BINARY_INTEGER;
162011 TYPE t_array_source_147 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_EXCHANGE_RATE%TYPE INDEX BY BINARY_INTEGER;
162012 TYPE t_array_source_148 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_EXCHANGE_RATE_TYPE%TYPE INDEX BY BINARY_INTEGER;
162013 TYPE t_array_source_167 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_INVOICE_TYPE_LOOKUP_CODE%TYPE INDEX BY BINARY_INTEGER;
162014 TYPE t_array_source_171 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_DOC_SEQUENCE_CATEGORY%TYPE INDEX BY BINARY_INTEGER;
162015 TYPE t_array_source_172 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_DOC_SEQUENCE_IDENTIFIER%TYPE INDEX BY BINARY_INTEGER;
162016 TYPE t_array_source_173 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_DOC_SEQUENCE_VALUE%TYPE INDEX BY BINARY_INTEGER;
162017
162018 TYPE t_array_source_1 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_DESCRIPTION%TYPE INDEX BY BINARY_INTEGER;
162019 TYPE t_array_source_16 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.INV_DIST_BASE_AMOUNT%TYPE INDEX BY BINARY_INTEGER;
162020 TYPE t_array_source_17 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.RELATED_INV_DIST_DEST_TYPE%TYPE INDEX BY BINARY_INTEGER;
162021 TYPE t_array_source_25 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_DIST_CCID%TYPE INDEX BY BINARY_INTEGER;
162022 TYPE t_array_source_28 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_LINE_TYPE_LOOKUP_CODE%TYPE INDEX BY BINARY_INTEGER;
162023 TYPE t_array_source_38 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_RET_RELATED_DIST_CCID%TYPE INDEX BY BINARY_INTEGER;
162024 TYPE t_array_source_39 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AWT_RELATED_DIST_ACCOUNT%TYPE INDEX BY BINARY_INTEGER;
162025 TYPE t_array_source_46 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.SELF_ASSESSED_TAX_ACCOUNT%TYPE INDEX BY BINARY_INTEGER;
162026 TYPE t_array_source_47 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.ASAT_LIAB_CCID%TYPE INDEX BY BINARY_INTEGER;
162027 TYPE t_array_source_54 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.POD_ACCRUE_ON_RECEIPT_FLAG%TYPE INDEX BY BINARY_INTEGER;
162028 TYPE t_array_source_58 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.DIST_ACCOUNT_REVERSAL_OPTION%TYPE INDEX BY BINARY_INTEGER;
162029 TYPE t_array_source_60 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.DISTRIBUTION_LINK_TYPE%TYPE INDEX BY BINARY_INTEGER;
162030 TYPE t_array_source_62 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.ALLOC_TO_MAIN_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
162031 TYPE t_array_source_64 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_PO_APP_ID%TYPE INDEX BY BINARY_INTEGER;
162032 TYPE t_array_source_65 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_PO_DIST_TYPE%TYPE INDEX BY BINARY_INTEGER;
162033 TYPE t_array_source_66 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_PO_ENTITY_CODE%TYPE INDEX BY BINARY_INTEGER;
162034 TYPE t_array_source_67 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_PO_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
162035 TYPE t_array_source_68 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_PO_DOC_ID%TYPE INDEX BY BINARY_INTEGER;
162036 TYPE t_array_source_69 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_INVOICE_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
162037 TYPE t_array_source_70 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_ENC_CR_CCID%TYPE INDEX BY BINARY_INTEGER;
162038 TYPE t_array_source_71 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_ENC_CR_AMT%TYPE INDEX BY BINARY_INTEGER;
162039 TYPE t_array_source_73 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_ENC_CR_BASE_AMT%TYPE INDEX BY BINARY_INTEGER;
162040 TYPE t_array_source_74 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_ENC_DR_CCID%TYPE INDEX BY BINARY_INTEGER;
162041 TYPE t_array_source_75 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_ENC_DR_AMT%TYPE INDEX BY BINARY_INTEGER;
162042 TYPE t_array_source_76 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_ENC_DR_BASE_AMT%TYPE INDEX BY BINARY_INTEGER;
162043 TYPE t_array_source_77 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_AP_ENCUM_OPTION%TYPE INDEX BY BINARY_INTEGER;
162044 TYPE t_array_source_78 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_AMOUNT%TYPE INDEX BY BINARY_INTEGER;
162045 TYPE t_array_source_79 IS TABLE OF AP_PO_HEADERS_EXTRACT_V.POH_RATE_DATE%TYPE INDEX BY BINARY_INTEGER;
162046 TYPE t_array_source_80 IS TABLE OF AP_PO_HEADERS_EXTRACT_V.POH_RATE%TYPE INDEX BY BINARY_INTEGER;
162047 TYPE t_array_source_81 IS TABLE OF AP_PO_HEADERS_EXTRACT_V.POH_RATE_TYPE%TYPE INDEX BY BINARY_INTEGER;
162048 TYPE t_array_source_82 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.DEFERRED_END_DATE%TYPE INDEX BY BINARY_INTEGER;
162049 TYPE t_array_source_83 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.DEFERRED_OPTION%TYPE INDEX BY BINARY_INTEGER;
162053 TYPE t_array_source_90 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_STAT_AMOUNT%TYPE INDEX BY BINARY_INTEGER;
162050 TYPE t_array_source_84 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.DEFERRED_START_DATE%TYPE INDEX BY BINARY_INTEGER;
162051 TYPE t_array_source_85 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.OVERRIDE_ACCTD_AMT_FLAG%TYPE INDEX BY BINARY_INTEGER;
162052 TYPE t_array_source_89 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_PARENT_REVERSAL_ID%TYPE INDEX BY BINARY_INTEGER;
162054 TYPE t_array_source_91 IS TABLE OF ZX_AP_DEF_TAX_EXTRACT_V.TAX_LINE_ID%TYPE INDEX BY BINARY_INTEGER;
162055 TYPE t_array_source_92 IS TABLE OF ZX_AP_TAX_JRNL_LINE_DESC_V.REC_NREC_TAX_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
162056 TYPE t_array_source_93 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.SUMMARY_TAX_LINE_ID%TYPE INDEX BY BINARY_INTEGER;
162057 TYPE t_array_source_94 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_CR_ENC_TYPE_ID%TYPE INDEX BY BINARY_INTEGER;
162058 TYPE t_array_source_95 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_DR_ENC_TYPE_ID%TYPE INDEX BY BINARY_INTEGER;
162059 TYPE t_array_source_96 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_AP_APP_ID%TYPE INDEX BY BINARY_INTEGER;
162060 TYPE t_array_source_97 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_INV_DIST_TYPE%TYPE INDEX BY BINARY_INTEGER;
162061 TYPE t_array_source_98 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_INV_ENTITY_CODE%TYPE INDEX BY BINARY_INTEGER;
162062 TYPE t_array_source_99 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_INV_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
162063 TYPE t_array_source_100 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_INV_ID%TYPE INDEX BY BINARY_INTEGER;
162064 TYPE t_array_source_145 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.SELF_ASSESSED_TAX_FLAG%TYPE INDEX BY BINARY_INTEGER;
162065 TYPE t_array_source_168 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_RET_INV_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
162066 TYPE t_array_source_169 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_RET_INV_ID%TYPE INDEX BY BINARY_INTEGER;
162067
162068 l_array_source_10 t_array_source_10;
162069 l_array_source_10_meaning t_array_lookup_meaning;
162070 l_array_source_15 t_array_source_15;
162071 l_array_source_18 t_array_source_18;
162072 l_array_source_29 t_array_source_29;
162073 l_array_source_35 t_array_source_35;
162074 l_array_source_43 t_array_source_43;
162075 l_array_source_43_meaning t_array_lookup_meaning;
162076 l_array_source_63 t_array_source_63;
162077 l_array_source_72 t_array_source_72;
162078 l_array_source_86 t_array_source_86;
162079 l_array_source_87 t_array_source_87;
162080 l_array_source_88 t_array_source_88;
162081 l_array_source_146 t_array_source_146;
162082 l_array_source_147 t_array_source_147;
162083 l_array_source_148 t_array_source_148;
162084 l_array_source_167 t_array_source_167;
162085 l_array_source_167_meaning t_array_lookup_meaning;
162086 l_array_source_171 t_array_source_171;
162087 l_array_source_172 t_array_source_172;
162088 l_array_source_173 t_array_source_173;
162089
162090 l_array_source_1 t_array_source_1;
162091 l_array_source_16 t_array_source_16;
162092 l_array_source_17 t_array_source_17;
162093 l_array_source_17_meaning t_array_lookup_meaning;
162094 l_array_source_25 t_array_source_25;
162095 l_array_source_28 t_array_source_28;
162096 l_array_source_28_meaning t_array_lookup_meaning;
162097 l_array_source_38 t_array_source_38;
162098 l_array_source_39 t_array_source_39;
162099 l_array_source_46 t_array_source_46;
162100 l_array_source_47 t_array_source_47;
162101 l_array_source_54 t_array_source_54;
162102 l_array_source_54_meaning t_array_lookup_meaning;
162103 l_array_source_58 t_array_source_58;
162104 l_array_source_60 t_array_source_60;
162105 l_array_source_62 t_array_source_62;
162106 l_array_source_64 t_array_source_64;
162107 l_array_source_65 t_array_source_65;
162108 l_array_source_66 t_array_source_66;
162109 l_array_source_67 t_array_source_67;
162110 l_array_source_68 t_array_source_68;
162111 l_array_source_69 t_array_source_69;
162112 l_array_source_70 t_array_source_70;
162113 l_array_source_71 t_array_source_71;
162114 l_array_source_73 t_array_source_73;
162115 l_array_source_74 t_array_source_74;
162116 l_array_source_75 t_array_source_75;
162117 l_array_source_76 t_array_source_76;
162118 l_array_source_77 t_array_source_77;
162119 l_array_source_78 t_array_source_78;
162120 l_array_source_79 t_array_source_79;
162121 l_array_source_80 t_array_source_80;
162122 l_array_source_81 t_array_source_81;
162123 l_array_source_82 t_array_source_82;
162124 l_array_source_83 t_array_source_83;
162125 l_array_source_84 t_array_source_84;
162126 l_array_source_85 t_array_source_85;
162127 l_array_source_85_meaning t_array_lookup_meaning;
162128 l_array_source_89 t_array_source_89;
162129 l_array_source_90 t_array_source_90;
162130 l_array_source_91 t_array_source_91;
162131 l_array_source_92 t_array_source_92;
162132 l_array_source_93 t_array_source_93;
162133 l_array_source_94 t_array_source_94;
162134 l_array_source_95 t_array_source_95;
162135 l_array_source_96 t_array_source_96;
162136 l_array_source_97 t_array_source_97;
162137 l_array_source_98 t_array_source_98;
162138 l_array_source_99 t_array_source_99;
162139 l_array_source_100 t_array_source_100;
162140 l_array_source_145 t_array_source_145;
162141 l_array_source_145_meaning t_array_lookup_meaning;
162142 l_array_source_168 t_array_source_168;
162143 l_array_source_169 t_array_source_169;
162144
162145 --
162146 CURSOR header_cur
162147 IS
162148 SELECT /*+ leading(xet) cardinality(xet,1) */
162149 -- Event Class Code: INVOICES
162150 xet.entity_id
162151 ,xet.legal_entity_id
162152 ,xet.entity_code
162153 ,xet.transaction_number
162154 ,xet.event_id
162155 ,xet.event_class_code
162159 ,xet.transaction_date
162156 ,xet.event_type_code
162157 ,xet.event_number
162158 ,xet.event_date
162160 ,xet.reference_num_1
162161 ,xet.reference_num_2
162162 ,xet.reference_num_3
162163 ,xet.reference_num_4
162164 ,xet.reference_char_1
162165 ,xet.reference_char_2
162166 ,xet.reference_char_3
162167 ,xet.reference_char_4
162168 ,xet.reference_date_1
162169 ,xet.reference_date_2
162170 ,xet.reference_date_3
162171 ,xet.reference_date_4
162172 ,xet.event_created_by
162173 ,xet.budgetary_control_flag
162174 , h4.ASP_AUTOMATIC_OFFSETS_VALUE source_10
162175 , fvl10.meaning source_10_meaning
162176 , h4.ASP_RATE_VAR_GAIN_CCID source_15
162177 , h4.ASP_RATE_VAR_LOSS_CCID source_18
162178 , h2.AI_ACCTS_PAY_CCID source_29
162179 , h4.FSP_RETAINAGE_ACCOUNT source_35
162180 , h4.ASP_AUTO_OFFSET_FLAG source_43
162181 , fvl43.meaning source_43_meaning
162182 , h2.AI_INVOICE_ID source_63
162183 , h2.AI_INVOICE_CURRENCY_CODE source_72
162184 , h2.AI_VENDOR_ID source_86
162185 , h2.AI_VENDOR_SITE_ID source_87
162186 , h2.THIRD_PARTY_TYPE source_88
162187 , h2.INV_EXCHANGE_DATE source_146
162188 , h2.INV_EXCHANGE_RATE source_147
162189 , h2.INV_EXCHANGE_RATE_TYPE source_148
162190 , h2.AI_INVOICE_TYPE_LOOKUP_CODE source_167
162191 , fvl167.meaning source_167_meaning
162192 , h2.INV_DOC_SEQUENCE_CATEGORY source_171
162193 , h2.INV_DOC_SEQUENCE_IDENTIFIER source_172
162194 , h2.INV_DOC_SEQUENCE_VALUE source_173
162195 FROM xla_events_gt xet
162196 , AP_INVOICE_EXTRACT_HEADER_V h2
162197 , AP_SYSTEM_PARAMETERS_EXTRACT_V h4
162198 , fnd_lookup_values fvl10
162199 , fnd_lookup_values fvl43
162200 , fnd_lookup_values fvl167
162201 WHERE xet.event_date between p_pad_start_date and p_pad_end_date
162202 and xet.event_class_code = C_EVENT_CLASS_CODE
162203 and xet.event_status_code <> 'N' AND h2.event_id = xet.event_id
162204 AND h4.asp_org_id = h2.ai_org_id AND fvl10.lookup_type(+) = 'LIABILITY FLEXBUILD METHOD'
162205 AND fvl10.lookup_code(+) = h4.ASP_AUTOMATIC_OFFSETS_VALUE
162206 AND fvl10.view_application_id(+) = 200
162207 AND fvl10.language(+) = USERENV('LANG')
162208 AND fvl43.lookup_type(+) = 'YES_NO'
162209 AND fvl43.lookup_code(+) = h4.ASP_AUTO_OFFSET_FLAG
162210 AND fvl43.view_application_id(+) = 0
162211 AND fvl43.language(+) = USERENV('LANG')
162212 AND fvl167.lookup_type(+) = 'INVOICE TYPE'
162213 AND fvl167.lookup_code(+) = h2.AI_INVOICE_TYPE_LOOKUP_CODE
162214 AND fvl167.view_application_id(+) = 200
162215 AND fvl167.language(+) = USERENV('LANG')
162216
162217 ORDER BY event_id
162218 ;
162219
162220
162221 --
162222 CURSOR line_cur (x_first_event_id in number, x_last_event_id in number)
162223 IS
162224 SELECT /*+ leading(xet) cardinality(xet,1) */
162225 -- Event Class Code: INVOICES
162226 xet.entity_id
162227 ,xet.legal_entity_id
162228 ,xet.entity_code
162229 ,xet.transaction_number
162230 ,xet.event_id
162231 ,xet.event_class_code
162232 ,xet.event_type_code
162233 ,xet.event_number
162234 ,xet.event_date
162235 ,xet.transaction_date
162236 ,xet.reference_num_1
162237 ,xet.reference_num_2
162238 ,xet.reference_num_3
162239 ,xet.reference_num_4
162240 ,xet.reference_char_1
162241 ,xet.reference_char_2
162242 ,xet.reference_char_3
162243 ,xet.reference_char_4
162244 ,xet.reference_date_1
162245 ,xet.reference_date_2
162246 ,xet.reference_date_3
162247 ,xet.reference_date_4
162248 ,xet.event_created_by
162249 ,xet.budgetary_control_flag
162250 , l1.LINE_NUMBER
162251 , l1.AID_DESCRIPTION source_1
162252 , l1.INV_DIST_BASE_AMOUNT source_16
162253 , l1.RELATED_INV_DIST_DEST_TYPE source_17
162254 , fvl17.meaning source_17_meaning
162255 , l1.AID_DIST_CCID source_25
162256 , l1.AID_LINE_TYPE_LOOKUP_CODE source_28
162257 , fvl28.meaning source_28_meaning
162258 , l1.AID_RET_RELATED_DIST_CCID source_38
162259 , l1.AWT_RELATED_DIST_ACCOUNT source_39
162260 , l1.SELF_ASSESSED_TAX_ACCOUNT source_46
162261 , l1.ASAT_LIAB_CCID source_47
162262 , l1.POD_ACCRUE_ON_RECEIPT_FLAG source_54
162263 , fvl54.meaning source_54_meaning
162264 , l1.DIST_ACCOUNT_REVERSAL_OPTION source_58
162265 , l1.DISTRIBUTION_LINK_TYPE source_60
162266 , l1.ALLOC_TO_MAIN_DIST_ID source_62
162267 , l1.BUS_FLOW_PO_APP_ID source_64
162268 , l1.BUS_FLOW_PO_DIST_TYPE source_65
162269 , l1.BUS_FLOW_PO_ENTITY_CODE source_66
162270 , l1.BUS_FLOW_PO_DIST_ID source_67
162271 , l1.BUS_FLOW_PO_DOC_ID source_68
162272 , l1.AID_INVOICE_DIST_ID source_69
162273 , l1.UPG_ENC_CR_CCID source_70
162274 , l1.UPG_ENC_CR_AMT source_71
162275 , l1.UPG_ENC_CR_BASE_AMT source_73
162276 , l1.UPG_ENC_DR_CCID source_74
162277 , l1.UPG_ENC_DR_AMT source_75
162278 , l1.UPG_ENC_DR_BASE_AMT source_76
162279 , l1.UPG_AP_ENCUM_OPTION source_77
162280 , l1.AID_AMOUNT source_78
162281 , l3.POH_RATE_DATE source_79
162282 , l3.POH_RATE source_80
162283 , l3.POH_RATE_TYPE source_81
162284 , l1.DEFERRED_END_DATE source_82
162285 , l1.DEFERRED_OPTION source_83
162286 , l1.DEFERRED_START_DATE source_84
162287 , l1.OVERRIDE_ACCTD_AMT_FLAG source_85
162288 , fvl85.meaning source_85_meaning
162289 , l1.AID_PARENT_REVERSAL_ID source_89
162290 , l1.AID_STAT_AMOUNT source_90
162291 , l5.TAX_LINE_ID source_91
162292 , l6.REC_NREC_TAX_DIST_ID source_92
162293 , l1.SUMMARY_TAX_LINE_ID source_93
162294 , l1.UPG_CR_ENC_TYPE_ID source_94
162295 , l1.UPG_DR_ENC_TYPE_ID source_95
162296 , l1.BUS_FLOW_AP_APP_ID source_96
162297 , l1.BUS_FLOW_INV_DIST_TYPE source_97
162301 , l1.SELF_ASSESSED_TAX_FLAG source_145
162298 , l1.BUS_FLOW_INV_ENTITY_CODE source_98
162299 , l1.BUS_FLOW_INV_DIST_ID source_99
162300 , l1.BUS_FLOW_INV_ID source_100
162302 , fvl145.meaning source_145_meaning
162303 , l1.BUS_FLOW_RET_INV_DIST_ID source_168
162304 , l1.BUS_FLOW_RET_INV_ID source_169
162305 FROM xla_events_gt xet
162306 , AP_INVOICE_EXTRACT_DETAILS_V l1
162307 , AP_PO_HEADERS_EXTRACT_V l3
162308 , ZX_AP_DEF_TAX_EXTRACT_V l5
162309 , ZX_AP_TAX_JRNL_LINE_DESC_V l6
162310 , fnd_lookup_values fvl17
162311 , fnd_lookup_values fvl28
162312 , fnd_lookup_values fvl54
162313 , fnd_lookup_values fvl85
162314 , fnd_lookup_values fvl145
162315 WHERE xet.event_id between x_first_event_id and x_last_event_id
162316 and xet.event_date between p_pad_start_date and p_pad_end_date
162317 and xet.event_class_code = C_EVENT_CLASS_CODE
162318 and xet.event_status_code <> 'N' AND l1.event_id = xet.event_id
162319 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 fvl17.lookup_type(+) = 'DESTINATION TYPE'
162320 AND fvl17.lookup_code(+) = l1.RELATED_INV_DIST_DEST_TYPE
162321 AND fvl17.view_application_id(+) = 201
162322 AND fvl17.language(+) = USERENV('LANG')
162323 AND fvl28.lookup_type(+) = 'INVOICE DISTRIBUTION TYPE'
162324 AND fvl28.lookup_code(+) = l1.AID_LINE_TYPE_LOOKUP_CODE
162325 AND fvl28.view_application_id(+) = 200
162326 AND fvl28.language(+) = USERENV('LANG')
162327 AND fvl54.lookup_type(+) = 'YES_NO'
162328 AND fvl54.lookup_code(+) = l1.POD_ACCRUE_ON_RECEIPT_FLAG
162329 AND fvl54.view_application_id(+) = 0
162330 AND fvl54.language(+) = USERENV('LANG')
162331 AND fvl85.lookup_type(+) = 'YES_NO'
162332 AND fvl85.lookup_code(+) = l1.OVERRIDE_ACCTD_AMT_FLAG
162333 AND fvl85.view_application_id(+) = 0
162334 AND fvl85.language(+) = USERENV('LANG')
162335 AND fvl145.lookup_type(+) = 'YES_NO'
162336 AND fvl145.lookup_code(+) = l1.SELF_ASSESSED_TAX_FLAG
162337 AND fvl145.view_application_id(+) = 0
162338 AND fvl145.language(+) = USERENV('LANG')
162339 ;
162340
162341 --
162342 BEGIN
162343 IF g_log_enabled THEN
162344 l_log_module := C_DEFAULT_MODULE||'.EventClass_251';
162345 END IF;
162346 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
162347 trace
162348 (p_msg => 'BEGIN of EventClass_251'
162349 ,p_level => C_LEVEL_PROCEDURE
162350 ,p_module => l_log_module);
162351 END IF;
162352
162353 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
162354 trace
162355 (p_msg => 'p_application_id = '||p_application_id||
162356 ' - p_base_ledger_id = '||p_base_ledger_id||
162357 ' - p_target_ledger_id = '||p_target_ledger_id||
162358 ' - p_language = '||p_language||
162359 ' - p_currency_code = '||p_currency_code||
162360 ' - p_sla_ledger_id = '||p_sla_ledger_id
162361 ,p_level => C_LEVEL_STATEMENT
162362 ,p_module => l_log_module);
162363 END IF;
162364 --
162365 -- initialze arrays
162366 --
162367 g_array_event.DELETE;
162368 l_rec_array_event := l_null_rec_array_event;
162369 --
162370 --------------------------------------
162371 -- 4262811 Initialze MPA Line Number
162372 --------------------------------------
162373 XLA_AE_HEADER_PKG.g_mpa_line_num := 0;
162374
162375 --
162376
162377 --
162378 OPEN header_cur;
162379 --
162380 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
162381 trace
162382 (p_msg => 'SQL - FETCH header_cur'
162383 ,p_level => C_LEVEL_STATEMENT
162384 ,p_module => l_log_module);
162385 END IF;
162386 --
162387 LOOP
162388 FETCH header_cur BULK COLLECT INTO
162389 l_array_entity_id
162390 , l_array_legal_entity_id
162391 , l_array_entity_code
162392 , l_array_transaction_num
162393 , l_array_event_id
162394 , l_array_class_code
162395 , l_array_event_type
162396 , l_array_event_number
162397 , l_array_event_date
162398 , l_array_transaction_date
162399 , l_array_reference_num_1
162400 , l_array_reference_num_2
162401 , l_array_reference_num_3
162402 , l_array_reference_num_4
162403 , l_array_reference_char_1
162404 , l_array_reference_char_2
162405 , l_array_reference_char_3
162406 , l_array_reference_char_4
162407 , l_array_reference_date_1
162408 , l_array_reference_date_2
162409 , l_array_reference_date_3
162410 , l_array_reference_date_4
162411 , l_array_event_created_by
162412 , l_array_budgetary_control_flag
162413 , l_array_source_10
162414 , l_array_source_10_meaning
162415 , l_array_source_15
162416 , l_array_source_18
162417 , l_array_source_29
162418 , l_array_source_35
162419 , l_array_source_43
162420 , l_array_source_43_meaning
162421 , l_array_source_63
162422 , l_array_source_72
162423 , l_array_source_86
162424 , l_array_source_87
162425 , l_array_source_88
162426 , l_array_source_146
162427 , l_array_source_147
162428 , l_array_source_148
162429 , l_array_source_167
162430 , l_array_source_167_meaning
162431 , l_array_source_171
162432 , l_array_source_172
162433 , l_array_source_173
162434 LIMIT l_rows;
162435 --
162436 IF (C_LEVEL_EVENT >= g_log_level) THEN
162437 trace
162438 (p_msg => '# rows extracted from header extract objects = '||TO_CHAR(header_cur%ROWCOUNT)
162439 ,p_level => C_LEVEL_EVENT
162440 ,p_module => l_log_module);
162441 END IF;
162442 --
162446 XLA_AE_HEADER_PKG.g_rec_header_new := NULL;
162443 EXIT WHEN l_array_entity_id.COUNT = 0;
162444
162445 -- initialize arrays
162447 XLA_AE_LINES_PKG.g_rec_lines := NULL;
162448
162449 --
162450 -- Bug 4458708
162451 --
162452 XLA_AE_LINES_PKG.g_LineNumber := 0;
162453
162454
162455 -- 4262811 - when creating Accrual Reversal or MPA, use g_last_hdr_idx to increment for next header id
162456 g_last_hdr_idx := l_array_event_id.LAST;
162457 --
162458 -- loop for the headers. Each iteration is for each header extract row
162459 -- fetched in header cursor
162460 --
162461 FOR hdr_idx IN l_array_event_id.FIRST .. l_array_event_id.LAST LOOP
162462
162463 --
162464 -- set event info as cache for other routines to refer event attributes
162465 --
162466 XLA_AE_JOURNAL_ENTRY_PKG.set_event_info
162467 (p_application_id => p_application_id
162468 ,p_primary_ledger_id => p_primary_ledger_id
162469 ,p_base_ledger_id => p_base_ledger_id
162470 ,p_target_ledger_id => p_target_ledger_id
162471 ,p_entity_id => l_array_entity_id(hdr_idx)
162472 ,p_legal_entity_id => l_array_legal_entity_id(hdr_idx)
162473 ,p_entity_code => l_array_entity_code(hdr_idx)
162474 ,p_transaction_num => l_array_transaction_num(hdr_idx)
162475 ,p_event_id => l_array_event_id(hdr_idx)
162476 ,p_event_class_code => l_array_class_code(hdr_idx)
162477 ,p_event_type_code => l_array_event_type(hdr_idx)
162478 ,p_event_number => l_array_event_number(hdr_idx)
162479 ,p_event_date => l_array_event_date(hdr_idx)
162480 ,p_transaction_date => l_array_transaction_date(hdr_idx)
162481 ,p_reference_num_1 => l_array_reference_num_1(hdr_idx)
162482 ,p_reference_num_2 => l_array_reference_num_2(hdr_idx)
162483 ,p_reference_num_3 => l_array_reference_num_3(hdr_idx)
162484 ,p_reference_num_4 => l_array_reference_num_4(hdr_idx)
162485 ,p_reference_char_1 => l_array_reference_char_1(hdr_idx)
162486 ,p_reference_char_2 => l_array_reference_char_2(hdr_idx)
162487 ,p_reference_char_3 => l_array_reference_char_3(hdr_idx)
162488 ,p_reference_char_4 => l_array_reference_char_4(hdr_idx)
162489 ,p_reference_date_1 => l_array_reference_date_1(hdr_idx)
162490 ,p_reference_date_2 => l_array_reference_date_2(hdr_idx)
162491 ,p_reference_date_3 => l_array_reference_date_3(hdr_idx)
162492 ,p_reference_date_4 => l_array_reference_date_4(hdr_idx)
162493 ,p_event_created_by => l_array_event_created_by(hdr_idx)
162494 ,p_budgetary_control_flag => l_array_budgetary_control_flag(hdr_idx));
162495
162496 --
162497 -- set the status of entry to C_VALID (0)
162498 --
162499 XLA_AE_JOURNAL_ENTRY_PKG.g_global_status := XLA_AE_JOURNAL_ENTRY_PKG.C_VALID;
162500
162501 --
162502 -- initialize a row for ae header
162503 --
162504 XLA_AE_HEADER_PKG.InitHeader(hdr_idx);
162505
162506 l_event_id := l_array_event_id(hdr_idx);
162507
162508 --
162509 -- storing the hdr_idx for event. May be used by line cursor.
162510 --
162511 g_array_event(l_event_id).array_value_num('header_index') := hdr_idx;
162512
162513 --
162514 -- store sources from header extract. This can be improved to
162515 -- store only those sources from header extract that may be used in lines
162516 --
162517
162518 g_array_event(l_event_id).array_value_char('source_10') := l_array_source_10(hdr_idx);
162519 g_array_event(l_event_id).array_value_char('source_10_meaning') := l_array_source_10_meaning(hdr_idx);
162520 g_array_event(l_event_id).array_value_num('source_15') := l_array_source_15(hdr_idx);
162521 g_array_event(l_event_id).array_value_num('source_18') := l_array_source_18(hdr_idx);
162522 g_array_event(l_event_id).array_value_num('source_29') := l_array_source_29(hdr_idx);
162523 g_array_event(l_event_id).array_value_num('source_35') := l_array_source_35(hdr_idx);
162524 g_array_event(l_event_id).array_value_char('source_43') := l_array_source_43(hdr_idx);
162525 g_array_event(l_event_id).array_value_char('source_43_meaning') := l_array_source_43_meaning(hdr_idx);
162526 g_array_event(l_event_id).array_value_num('source_63') := l_array_source_63(hdr_idx);
162527 g_array_event(l_event_id).array_value_char('source_72') := l_array_source_72(hdr_idx);
162528 g_array_event(l_event_id).array_value_num('source_86') := l_array_source_86(hdr_idx);
162529 g_array_event(l_event_id).array_value_num('source_87') := l_array_source_87(hdr_idx);
162530 g_array_event(l_event_id).array_value_char('source_88') := l_array_source_88(hdr_idx);
162531 g_array_event(l_event_id).array_value_date('source_146') := l_array_source_146(hdr_idx);
162532 g_array_event(l_event_id).array_value_num('source_147') := l_array_source_147(hdr_idx);
162533 g_array_event(l_event_id).array_value_char('source_148') := l_array_source_148(hdr_idx);
162534 g_array_event(l_event_id).array_value_char('source_167') := l_array_source_167(hdr_idx);
162535 g_array_event(l_event_id).array_value_char('source_167_meaning') := l_array_source_167_meaning(hdr_idx);
162536 g_array_event(l_event_id).array_value_char('source_171') := l_array_source_171(hdr_idx);
162537 g_array_event(l_event_id).array_value_num('source_172') := l_array_source_172(hdr_idx);
162538 g_array_event(l_event_id).array_value_num('source_173') := l_array_source_173(hdr_idx);
162539
162540 --
162541 -- initilaize the status of ae headers for diffrent balance types
162542 -- the status is initialised to C_NOT_CREATED (2)
162543 --
162544 --g_array_event(l_event_id).array_value_num('actual_je_status') := XLA_AE_JOURNAL_ENTRY_PKG.C_NOT_CREATED;
162545 --g_array_event(l_event_id).array_value_num('budget_je_status') := XLA_AE_JOURNAL_ENTRY_PKG.C_NOT_CREATED;
162546 --g_array_event(l_event_id).array_value_num('encumbrance_je_status') := XLA_AE_JOURNAL_ENTRY_PKG.C_NOT_CREATED;
162547
162548 --
162549 -- call api to validate and store accounting attributes for header
162550 --
162551
162552 ------------------------------------------------------------
162556
162553 -- Accrual Reversal : to get date for Standard Source (NONE)
162554 ------------------------------------------------------------
162555 l_acc_rev_gl_date_source := NULL;
162557 l_rec_acct_attrs.array_acct_attr_code(1) := 'DOC_CATEGORY_CODE';
162558 l_rec_acct_attrs.array_char_value(1) := g_array_event(l_event_id).array_value_char('source_171');
162559 l_rec_acct_attrs.array_acct_attr_code(2) := 'DOC_SEQUENCE_ID';
162560 l_rec_acct_attrs.array_num_value(2) := g_array_event(l_event_id).array_value_num('source_172');
162561 l_rec_acct_attrs.array_acct_attr_code(3) := 'DOC_SEQUENCE_VALUE';
162562 l_rec_acct_attrs.array_num_value(3) := g_array_event(l_event_id).array_value_num('source_173');
162563 l_rec_acct_attrs.array_acct_attr_code(4) := 'GL_DATE';
162564 l_rec_acct_attrs.array_date_value(4) :=
162565 xla_ae_sources_pkg.GetSystemSourceDate(
162566 p_source_code => 'XLA_EVENT_DATE'
162567 , p_source_type_code => 'Y'
162568 , p_source_application_id => 602
162569 );
162570
162571
162572 XLA_AE_HEADER_PKG.SetHdrAcctAttrs(l_rec_acct_attrs);
162573
162574 XLA_AE_HEADER_PKG.SetJeCategoryName;
162575
162576 XLA_AE_HEADER_PKG.g_rec_header_new.array_event_type_code(hdr_idx) := l_array_event_type(hdr_idx);
162577 XLA_AE_HEADER_PKG.g_rec_header_new.array_event_id(hdr_idx) := l_array_event_id(hdr_idx);
162578 XLA_AE_HEADER_PKG.g_rec_header_new.array_entity_id(hdr_idx) := l_array_entity_id(hdr_idx);
162579 XLA_AE_HEADER_PKG.g_rec_header_new.array_event_number(hdr_idx) := l_array_event_number(hdr_idx);
162580 XLA_AE_HEADER_PKG.g_rec_header_new.array_target_ledger_id(hdr_idx) := p_target_ledger_id;
162581
162582
162583 --
162584 xla_ae_header_pkg.SetHdrDescription(
162585 p_description => Description_1 (
162586 p_application_id => p_application_id
162587 )
162588 );
162589 --
162590
162591 -- No header level analytical criteria
162592
162593 --
162594 --accounting attribute enhancement, bug 3612931
162595 --
162596 l_trx_reversal_source := SUBSTR(NULL, 1,30);
162597
162598 IF NVL(l_trx_reversal_source, 'N') NOT IN ('N','Y') THEN
162599 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
162600
162601 xla_accounting_err_pkg.build_message
162602 (p_appli_s_name => 'XLA'
162603 ,p_msg_name => 'XLA_AP_INVALID_HDR_ATTR'
162604 ,p_token_1 => 'ACCT_ATTR_NAME'
162605 ,p_value_1 => xla_ae_sources_pkg.GetAccountingSourceName('TRX_ACCT_REVERSAL_OPTION')
162606 ,p_token_2 => 'PRODUCT_NAME'
162607 ,p_value_2 => xla_ae_journal_entry_pkg.g_cache_event.application_name
162608 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
162609 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
162610 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id);
162611
162612 ELSIF NVL(l_trx_reversal_source, 'N') = 'Y' THEN
162613 --
162614 -- following sets the accounting attributes needed to reverse
162615 -- accounting for a distributeion
162616 --
162617 xla_ae_lines_pkg.SetTrxReversalAttrs
162618 (p_event_id => l_event_id
162619 ,p_gl_date => XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(hdr_idx)
162620 ,p_trx_reversal_source => l_trx_reversal_source);
162621
162622 END IF;
162623
162624
162625 ----------------------------------------------------------------
162626 -- 4262811 - update the header statuses to invalid in need be
162627 ----------------------------------------------------------------
162628 --
162629 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus (p_hdr_idx => hdr_idx);
162630
162631
162632 -----------------------------------------------
162633 -- No accrual reversal for the event class/type
162634 -----------------------------------------------
162635 ----------------------------------------------------------------
162636
162637 --
162638 -- this ends the header loop iteration for one bulk fetch
162639 --
162640 END LOOP;
162641
162642 l_first_event_id := l_array_event_id(l_array_event_id.FIRST);
162643 l_last_event_id := l_array_event_id(l_array_event_id.LAST);
162644
162645 --
162646 -- insert dummy rows into lines gt table that were created due to
162647 -- transaction reversals
162648 --
162649 IF XLA_AE_LINES_PKG.g_rec_lines.array_ae_header_id.COUNT > 0 THEN
162650 l_result := XLA_AE_LINES_PKG.InsertLines;
162651 END IF;
162652
162653 --
162654 -- reset the temp_line_num for each set of events fetched from header
162655 -- cursor rather than doing it for each new event in line cursor
162656 -- Bug 3939231
162657 --
162658 xla_ae_lines_pkg.g_temp_line_num := 0;
162659
162660
162661
162662 --
162663 OPEN line_cur(x_first_event_id => l_first_event_id, x_last_event_id => l_last_event_id);
162664 --
162665 --
162666 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
162667
162668 trace
162669 (p_msg => 'SQL - FETCH line_cur'
162670 ,p_level => C_LEVEL_STATEMENT
162671 ,p_module => l_log_module);
162672
162673 END IF;
162674 --
162675 --
162676 LOOP
162677 --
162678 FETCH line_cur BULK COLLECT INTO
162679 l_array_entity_id
162680 , l_array_legal_entity_id
162681 , l_array_entity_code
162682 , l_array_transaction_num
162683 , l_array_event_id
162684 , l_array_class_code
162685 , l_array_event_type
162686 , l_array_event_number
162687 , l_array_event_date
162688 , l_array_transaction_date
162689 , l_array_reference_num_1
162690 , l_array_reference_num_2
162691 , l_array_reference_num_3
162692 , l_array_reference_num_4
162693 , l_array_reference_char_1
162694 , l_array_reference_char_2
162698 , l_array_reference_date_2
162695 , l_array_reference_char_3
162696 , l_array_reference_char_4
162697 , l_array_reference_date_1
162699 , l_array_reference_date_3
162700 , l_array_reference_date_4
162701 , l_array_event_created_by
162702 , l_array_budgetary_control_flag
162703 , l_array_extract_line_num
162704 , l_array_source_1
162705 , l_array_source_16
162706 , l_array_source_17
162707 , l_array_source_17_meaning
162708 , l_array_source_25
162709 , l_array_source_28
162710 , l_array_source_28_meaning
162711 , l_array_source_38
162712 , l_array_source_39
162713 , l_array_source_46
162714 , l_array_source_47
162715 , l_array_source_54
162716 , l_array_source_54_meaning
162717 , l_array_source_58
162718 , l_array_source_60
162719 , l_array_source_62
162720 , l_array_source_64
162721 , l_array_source_65
162722 , l_array_source_66
162723 , l_array_source_67
162724 , l_array_source_68
162725 , l_array_source_69
162726 , l_array_source_70
162727 , l_array_source_71
162728 , l_array_source_73
162729 , l_array_source_74
162730 , l_array_source_75
162731 , l_array_source_76
162732 , l_array_source_77
162733 , l_array_source_78
162734 , l_array_source_79
162735 , l_array_source_80
162736 , l_array_source_81
162737 , l_array_source_82
162738 , l_array_source_83
162739 , l_array_source_84
162740 , l_array_source_85
162741 , l_array_source_85_meaning
162742 , l_array_source_89
162743 , l_array_source_90
162744 , l_array_source_91
162745 , l_array_source_92
162746 , l_array_source_93
162747 , l_array_source_94
162748 , l_array_source_95
162749 , l_array_source_96
162750 , l_array_source_97
162751 , l_array_source_98
162752 , l_array_source_99
162753 , l_array_source_100
162754 , l_array_source_145
162755 , l_array_source_145_meaning
162756 , l_array_source_168
162757 , l_array_source_169
162758 LIMIT l_rows;
162759
162760 --
162761 IF (C_LEVEL_EVENT >= g_log_level) THEN
162762 trace
162763 (p_msg => '# rows extracted from line extract objects = '||TO_CHAR(line_cur%ROWCOUNT)
162764 ,p_level => C_LEVEL_EVENT
162765 ,p_module => l_log_module);
162766 END IF;
162767 --
162768 EXIT WHEN l_array_entity_id.count = 0;
162769
162770 XLA_AE_LINES_PKG.g_rec_lines := null;
162771
162772 --
162773 -- Bug 4458708
162774 --
162775 XLA_AE_LINES_PKG.g_LineNumber := 0;
162776 --
162777 --
162778
162779 FOR Idx IN 1..l_array_event_id.count LOOP
162780 --
162781 -- 5648433 (move l_event_id out of IF statement) set l_event_id to be used inside IF condition
162782 --
162783 l_event_id := l_array_event_id(idx); -- 5648433
162784
162785 --
162786 -- Bug 4872078 - Do nothing if the event is meant for transaction reversal
162787 --
162788
162789 IF NVL(xla_ae_header_pkg.g_rec_header_new.array_trx_acct_reversal_option
162790 (g_array_event(l_event_id).array_value_num('header_index'))
162791 ,'N'
162792 ) <> 'Y'
162793 THEN
162794 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
162795 trace
162796 (p_msg => 'Trancaction revesal option is not Y '
162797 ,p_level => C_LEVEL_STATEMENT
162798 ,p_module => l_log_module);
162799 END IF;
162800
162801 --
162802 -- set the XLA_AE_JOURNAL_ENTRY_PKG.g_global_status to C_VALID (0)
162803 --
162804 XLA_AE_JOURNAL_ENTRY_PKG.g_global_status := XLA_AE_JOURNAL_ENTRY_PKG.C_VALID;
162805 --
162806 -- set event info as cache for other routines to refer event attributes
162807 --
162808
162809 IF l_event_id <> NVL(l_previous_event_id, -1) THEN
162810 l_previous_event_id := l_event_id;
162811
162812 XLA_AE_JOURNAL_ENTRY_PKG.set_event_info
162813 (p_application_id => p_application_id
162814 ,p_primary_ledger_id => p_primary_ledger_id
162815 ,p_base_ledger_id => p_base_ledger_id
162816 ,p_target_ledger_id => p_target_ledger_id
162817 ,p_entity_id => l_array_entity_id(Idx)
162818 ,p_legal_entity_id => l_array_legal_entity_id(Idx)
162819 ,p_entity_code => l_array_entity_code(Idx)
162820 ,p_transaction_num => l_array_transaction_num(Idx)
162821 ,p_event_id => l_array_event_id(Idx)
162822 ,p_event_class_code => l_array_class_code(Idx)
162823 ,p_event_type_code => l_array_event_type(Idx)
162824 ,p_event_number => l_array_event_number(Idx)
162825 ,p_event_date => l_array_event_date(Idx)
162826 ,p_transaction_date => l_array_transaction_date(Idx)
162827 ,p_reference_num_1 => l_array_reference_num_1(Idx)
162828 ,p_reference_num_2 => l_array_reference_num_2(Idx)
162829 ,p_reference_num_3 => l_array_reference_num_3(Idx)
162830 ,p_reference_num_4 => l_array_reference_num_4(Idx)
162831 ,p_reference_char_1 => l_array_reference_char_1(Idx)
162832 ,p_reference_char_2 => l_array_reference_char_2(Idx)
162833 ,p_reference_char_3 => l_array_reference_char_3(Idx)
162834 ,p_reference_char_4 => l_array_reference_char_4(Idx)
162835 ,p_reference_date_1 => l_array_reference_date_1(Idx)
162836 ,p_reference_date_2 => l_array_reference_date_2(Idx)
162837 ,p_reference_date_3 => l_array_reference_date_3(Idx)
162838 ,p_reference_date_4 => l_array_reference_date_4(Idx)
162842 END IF;
162839 ,p_event_created_by => l_array_event_created_by(Idx)
162840 ,p_budgetary_control_flag => l_array_budgetary_control_flag(Idx));
162841 --
162843
162844
162845
162846 --
162847 xla_ae_lines_pkg.SetExtractLine(p_extract_line => l_array_extract_line_num(Idx));
162848
162849 l_acct_reversal_source := SUBSTR(l_array_source_58(Idx), 1,30);
162850
162851 IF l_continue_with_lines THEN
162852 IF NVL(l_acct_reversal_source, 'N') NOT IN ('N','Y','B') THEN
162853 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
162854
162855 xla_accounting_err_pkg.build_message
162856 (p_appli_s_name => 'XLA'
162857 ,p_msg_name => 'XLA_AP_INVALID_REVERSAL_OPTION'
162858 ,p_token_1 => 'LINE_NUMBER'
162859 ,p_value_1 => l_array_extract_line_num(Idx)
162860 ,p_token_2 => 'PRODUCT_NAME'
162861 ,p_value_2 => xla_ae_journal_entry_pkg.g_cache_event.application_name
162862 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
162863 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
162864 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id);
162865
162866 ELSIF NVL(l_acct_reversal_source, 'N') IN ('Y','B') THEN
162867 --
162868 -- following sets the accounting attributes needed to reverse
162869 -- accounting for a distributeion
162870 --
162871
162872 --
162873 -- 5217187
162874 --
162875 l_rec_rev_acct_attrs.array_acct_attr_code(1):= 'GL_DATE';
162876 l_rec_rev_acct_attrs.array_date_value(1) := XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(
162877 g_array_event(l_event_id).array_value_num('header_index'));
162878 --
162879 --
162880
162881 l_rec_rev_acct_attrs.array_acct_attr_code(2) := 'ACCOUNTING_REVERSAL_OPTION';
162882 l_rec_rev_acct_attrs.array_char_value(2) := l_array_source_58(Idx);
162883 l_rec_rev_acct_attrs.array_acct_attr_code(3) := 'DISTRIBUTION_IDENTIFIER_1';
162884 l_rec_rev_acct_attrs.array_num_value(3) := l_array_source_69(Idx);
162885 l_rec_rev_acct_attrs.array_acct_attr_code(4) := 'DISTRIBUTION_TYPE';
162886 l_rec_rev_acct_attrs.array_char_value(4) := l_array_source_60(Idx);
162887 l_rec_rev_acct_attrs.array_acct_attr_code(5) := 'ENC_UPG_CR_CCID';
162888 l_rec_rev_acct_attrs.array_num_value(5) := l_array_source_70(Idx);
162889 l_rec_rev_acct_attrs.array_acct_attr_code(6) := 'ENC_UPG_CR_ENTERED_AMT';
162890 l_rec_rev_acct_attrs.array_num_value(6) := l_array_source_71(Idx);
162891 l_rec_rev_acct_attrs.array_acct_attr_code(7) := 'ENC_UPG_CR_ENTERED_CURR';
162892 l_rec_rev_acct_attrs.array_char_value(7) := g_array_event(l_event_id).array_value_char('source_72');
162893 l_rec_rev_acct_attrs.array_acct_attr_code(8) := 'ENC_UPG_CR_LEDGER_AMT';
162894 l_rec_rev_acct_attrs.array_num_value(8) := l_array_source_73(Idx);
162895 l_rec_rev_acct_attrs.array_acct_attr_code(9) := 'ENC_UPG_DR_CCID';
162896 l_rec_rev_acct_attrs.array_num_value(9) := l_array_source_74(Idx);
162897 l_rec_rev_acct_attrs.array_acct_attr_code(10) := 'ENC_UPG_DR_ENTERED_AMT';
162898 l_rec_rev_acct_attrs.array_num_value(10) := l_array_source_75(Idx);
162899 l_rec_rev_acct_attrs.array_acct_attr_code(11) := 'ENC_UPG_DR_ENTERED_CURR';
162900 l_rec_rev_acct_attrs.array_char_value(11) := g_array_event(l_event_id).array_value_char('source_72');
162901 l_rec_rev_acct_attrs.array_acct_attr_code(12) := 'ENC_UPG_DR_LEDGER_AMT';
162902 l_rec_rev_acct_attrs.array_num_value(12) := l_array_source_76(Idx);
162903 l_rec_rev_acct_attrs.array_acct_attr_code(13) := 'ENC_UPG_OPTION';
162904 l_rec_rev_acct_attrs.array_char_value(13) := l_array_source_77(Idx);
162905 l_rec_rev_acct_attrs.array_acct_attr_code(14) := 'PARTY_TYPE';
162906 l_rec_rev_acct_attrs.array_char_value(14) := g_array_event(l_event_id).array_value_char('source_88');
162907 l_rec_rev_acct_attrs.array_acct_attr_code(15) := 'REVERSED_DISTRIBUTION_ID1';
162908 l_rec_rev_acct_attrs.array_num_value(15) := l_array_source_89(Idx);
162909 l_rec_rev_acct_attrs.array_acct_attr_code(16) := 'REVERSED_DISTRIBUTION_TYPE';
162910 l_rec_rev_acct_attrs.array_char_value(16) := l_array_source_60(Idx);
162911 l_rec_rev_acct_attrs.array_acct_attr_code(17) := 'TAX_LINE_REF_ID';
162912 l_rec_rev_acct_attrs.array_num_value(17) := l_array_source_91(Idx);
162913 l_rec_rev_acct_attrs.array_acct_attr_code(18) := 'TAX_REC_NREC_DIST_REF_ID';
162914 l_rec_rev_acct_attrs.array_num_value(18) := l_array_source_92(Idx);
162915 l_rec_rev_acct_attrs.array_acct_attr_code(19) := 'TAX_SUMMARY_LINE_REF_ID';
162916 l_rec_rev_acct_attrs.array_num_value(19) := l_array_source_93(Idx);
162917 l_rec_rev_acct_attrs.array_acct_attr_code(20) := 'UPG_CR_ENC_TYPE_ID';
162918 l_rec_rev_acct_attrs.array_num_value(20) := l_array_source_94(Idx);
162919 l_rec_rev_acct_attrs.array_acct_attr_code(21) := 'UPG_DR_ENC_TYPE_ID';
162920 l_rec_rev_acct_attrs.array_num_value(21) := l_array_source_95(Idx);
162921
162922
162923 xla_ae_lines_pkg.SetAcctReversalAttrs
162924 (p_event_id => l_event_id
162925 ,p_rec_acct_attrs => l_rec_rev_acct_attrs
162926 ,p_calculate_acctd_flag => l_calculate_acctd_flag
162927 ,p_calculate_g_l_flag => l_calculate_g_l_flag);
162928 END IF;
162929
162930 IF NVL(l_acct_reversal_source, 'N') IN ('N','B') THEN
162931 l_actual_flag := NULL; l_actual_gain_loss_ref := '#####';
162932
162933 --
162934 AcctLineType_58 (
162935 p_application_id => p_application_id
162936 ,p_event_id => l_event_id
162937 ,p_calculate_acctd_flag => l_calculate_acctd_flag
162938 ,p_calculate_g_l_flag => l_calculate_g_l_flag
162939 ,p_actual_flag => l_actual_flag
162940 ,p_balance_type_code => l_balance_type_code
162941 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
162942
162946 , p_source_28 => l_array_source_28(Idx)
162943 , p_source_1 => l_array_source_1(Idx)
162944 , p_source_16 => l_array_source_16(Idx)
162945 , p_source_25 => l_array_source_25(Idx)
162947 , p_source_28_meaning => l_array_source_28_meaning(Idx)
162948 , p_source_58 => l_array_source_58(Idx)
162949 , p_source_60 => l_array_source_60(Idx)
162950 , p_source_62 => l_array_source_62(Idx)
162951 , p_source_63 => g_array_event(l_event_id).array_value_num('source_63')
162952 , p_source_64 => l_array_source_64(Idx)
162953 , p_source_65 => l_array_source_65(Idx)
162954 , p_source_66 => l_array_source_66(Idx)
162955 , p_source_67 => l_array_source_67(Idx)
162956 , p_source_68 => l_array_source_68(Idx)
162957 , p_source_69 => l_array_source_69(Idx)
162958 , p_source_70 => l_array_source_70(Idx)
162959 , p_source_71 => l_array_source_71(Idx)
162960 , p_source_72 => g_array_event(l_event_id).array_value_char('source_72')
162961 , p_source_73 => l_array_source_73(Idx)
162962 , p_source_74 => l_array_source_74(Idx)
162963 , p_source_75 => l_array_source_75(Idx)
162964 , p_source_76 => l_array_source_76(Idx)
162965 , p_source_77 => l_array_source_77(Idx)
162966 , p_source_78 => l_array_source_78(Idx)
162967 , p_source_79 => l_array_source_79(Idx)
162968 , p_source_80 => l_array_source_80(Idx)
162969 , p_source_81 => l_array_source_81(Idx)
162970 , p_source_82 => l_array_source_82(Idx)
162971 , p_source_83 => l_array_source_83(Idx)
162972 , p_source_84 => l_array_source_84(Idx)
162973 , p_source_85 => l_array_source_85(Idx)
162974 , p_source_85_meaning => l_array_source_85_meaning(Idx)
162975 , p_source_86 => g_array_event(l_event_id).array_value_num('source_86')
162976 , p_source_87 => g_array_event(l_event_id).array_value_num('source_87')
162977 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
162978 , p_source_89 => l_array_source_89(Idx)
162979 , p_source_90 => l_array_source_90(Idx)
162980 , p_source_91 => l_array_source_91(Idx)
162981 , p_source_92 => l_array_source_92(Idx)
162982 , p_source_93 => l_array_source_93(Idx)
162983 , p_source_94 => l_array_source_94(Idx)
162984 , p_source_95 => l_array_source_95(Idx)
162985 );
162986 If(l_balance_type_code = 'A') THEN
162987 l_actual_gain_loss_ref := l_gain_or_loss_ref;
162988 END IF;
162989
162990 --
162991
162992
162993 --
162994 AcctLineType_62 (
162995 p_application_id => p_application_id
162996 ,p_event_id => l_event_id
162997 ,p_calculate_acctd_flag => l_calculate_acctd_flag
162998 ,p_calculate_g_l_flag => l_calculate_g_l_flag
162999 ,p_actual_flag => l_actual_flag
163000 ,p_balance_type_code => l_balance_type_code
163001 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
163002
163003 , p_source_1 => l_array_source_1(Idx)
163004 , p_source_10 => g_array_event(l_event_id).array_value_char('source_10')
163005 , p_source_10_meaning => g_array_event(l_event_id).array_value_char('source_10_meaning')
163006 , p_source_15 => g_array_event(l_event_id).array_value_num('source_15')
163007 , p_source_16 => l_array_source_16(Idx)
163008 , p_source_17 => l_array_source_17(Idx)
163009 , p_source_17_meaning => l_array_source_17_meaning(Idx)
163010 , p_source_18 => g_array_event(l_event_id).array_value_num('source_18')
163011 , p_source_25 => l_array_source_25(Idx)
163012 , p_source_28 => l_array_source_28(Idx)
163013 , p_source_28_meaning => l_array_source_28_meaning(Idx)
163014 , p_source_43 => g_array_event(l_event_id).array_value_char('source_43')
163015 , p_source_43_meaning => g_array_event(l_event_id).array_value_char('source_43_meaning')
163016 , p_source_58 => l_array_source_58(Idx)
163017 , p_source_60 => l_array_source_60(Idx)
163018 , p_source_62 => l_array_source_62(Idx)
163019 , p_source_63 => g_array_event(l_event_id).array_value_num('source_63')
163020 , p_source_69 => l_array_source_69(Idx)
163021 , p_source_70 => l_array_source_70(Idx)
163022 , p_source_71 => l_array_source_71(Idx)
163023 , p_source_72 => g_array_event(l_event_id).array_value_char('source_72')
163024 , p_source_73 => l_array_source_73(Idx)
163025 , p_source_74 => l_array_source_74(Idx)
163026 , p_source_75 => l_array_source_75(Idx)
163027 , p_source_76 => l_array_source_76(Idx)
163028 , p_source_77 => l_array_source_77(Idx)
163029 , p_source_78 => l_array_source_78(Idx)
163030 , p_source_82 => l_array_source_82(Idx)
163031 , p_source_83 => l_array_source_83(Idx)
163032 , p_source_84 => l_array_source_84(Idx)
163033 , p_source_85 => l_array_source_85(Idx)
163034 , p_source_85_meaning => l_array_source_85_meaning(Idx)
163035 , p_source_86 => g_array_event(l_event_id).array_value_num('source_86')
163036 , p_source_87 => g_array_event(l_event_id).array_value_num('source_87')
163037 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
163038 , p_source_89 => l_array_source_89(Idx)
163039 , p_source_90 => l_array_source_90(Idx)
163040 , p_source_91 => l_array_source_91(Idx)
163041 , p_source_92 => l_array_source_92(Idx)
163042 , p_source_93 => l_array_source_93(Idx)
163043 , p_source_94 => l_array_source_94(Idx)
163044 , p_source_95 => l_array_source_95(Idx)
163045 , p_source_96 => l_array_source_96(Idx)
163046 , p_source_97 => l_array_source_97(Idx)
163047 , p_source_98 => l_array_source_98(Idx)
163048 , p_source_99 => l_array_source_99(Idx)
163049 , p_source_100 => l_array_source_100(Idx)
163050 );
163051 If(l_balance_type_code = 'A') THEN
163052 l_actual_gain_loss_ref := l_gain_or_loss_ref;
163053 END IF;
163054
163055 --
163056
163057
163058 --
163059 AcctLineType_66 (
163060 p_application_id => p_application_id
163061 ,p_event_id => l_event_id
163062 ,p_calculate_acctd_flag => l_calculate_acctd_flag
163063 ,p_calculate_g_l_flag => l_calculate_g_l_flag
163064 ,p_actual_flag => l_actual_flag
163065 ,p_balance_type_code => l_balance_type_code
163066 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
163067
163068 , p_source_1 => l_array_source_1(Idx)
163069 , p_source_10 => g_array_event(l_event_id).array_value_char('source_10')
163073 , p_source_17 => l_array_source_17(Idx)
163070 , p_source_10_meaning => g_array_event(l_event_id).array_value_char('source_10_meaning')
163071 , p_source_15 => g_array_event(l_event_id).array_value_num('source_15')
163072 , p_source_16 => l_array_source_16(Idx)
163074 , p_source_17_meaning => l_array_source_17_meaning(Idx)
163075 , p_source_18 => g_array_event(l_event_id).array_value_num('source_18')
163076 , p_source_25 => l_array_source_25(Idx)
163077 , p_source_28 => l_array_source_28(Idx)
163078 , p_source_28_meaning => l_array_source_28_meaning(Idx)
163079 , p_source_43 => g_array_event(l_event_id).array_value_char('source_43')
163080 , p_source_43_meaning => g_array_event(l_event_id).array_value_char('source_43_meaning')
163081 , p_source_54 => l_array_source_54(Idx)
163082 , p_source_54_meaning => l_array_source_54_meaning(Idx)
163083 , p_source_58 => l_array_source_58(Idx)
163084 , p_source_60 => l_array_source_60(Idx)
163085 , p_source_62 => l_array_source_62(Idx)
163086 , p_source_63 => g_array_event(l_event_id).array_value_num('source_63')
163087 , p_source_69 => l_array_source_69(Idx)
163088 , p_source_70 => l_array_source_70(Idx)
163089 , p_source_71 => l_array_source_71(Idx)
163090 , p_source_72 => g_array_event(l_event_id).array_value_char('source_72')
163091 , p_source_73 => l_array_source_73(Idx)
163092 , p_source_74 => l_array_source_74(Idx)
163093 , p_source_75 => l_array_source_75(Idx)
163094 , p_source_76 => l_array_source_76(Idx)
163095 , p_source_77 => l_array_source_77(Idx)
163096 , p_source_78 => l_array_source_78(Idx)
163097 , p_source_82 => l_array_source_82(Idx)
163098 , p_source_83 => l_array_source_83(Idx)
163099 , p_source_84 => l_array_source_84(Idx)
163100 , p_source_85 => l_array_source_85(Idx)
163101 , p_source_85_meaning => l_array_source_85_meaning(Idx)
163102 , p_source_86 => g_array_event(l_event_id).array_value_num('source_86')
163103 , p_source_87 => g_array_event(l_event_id).array_value_num('source_87')
163104 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
163105 , p_source_89 => l_array_source_89(Idx)
163106 , p_source_90 => l_array_source_90(Idx)
163107 , p_source_91 => l_array_source_91(Idx)
163108 , p_source_92 => l_array_source_92(Idx)
163109 , p_source_93 => l_array_source_93(Idx)
163110 , p_source_94 => l_array_source_94(Idx)
163111 , p_source_95 => l_array_source_95(Idx)
163112 , p_source_96 => l_array_source_96(Idx)
163113 , p_source_97 => l_array_source_97(Idx)
163114 , p_source_98 => l_array_source_98(Idx)
163115 , p_source_99 => l_array_source_99(Idx)
163116 , p_source_100 => l_array_source_100(Idx)
163117 );
163118 If(l_balance_type_code = 'A') THEN
163119 l_actual_gain_loss_ref := l_gain_or_loss_ref;
163120 END IF;
163121
163122 --
163123
163124
163125 --
163126 AcctLineType_118 (
163127 p_application_id => p_application_id
163128 ,p_event_id => l_event_id
163129 ,p_calculate_acctd_flag => l_calculate_acctd_flag
163130 ,p_calculate_g_l_flag => l_calculate_g_l_flag
163131 ,p_actual_flag => l_actual_flag
163132 ,p_balance_type_code => l_balance_type_code
163133 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
163134
163135 , p_source_1 => l_array_source_1(Idx)
163136 , p_source_10 => g_array_event(l_event_id).array_value_char('source_10')
163137 , p_source_10_meaning => g_array_event(l_event_id).array_value_char('source_10_meaning')
163138 , p_source_15 => g_array_event(l_event_id).array_value_num('source_15')
163139 , p_source_16 => l_array_source_16(Idx)
163140 , p_source_17 => l_array_source_17(Idx)
163141 , p_source_17_meaning => l_array_source_17_meaning(Idx)
163142 , p_source_18 => g_array_event(l_event_id).array_value_num('source_18')
163143 , p_source_25 => l_array_source_25(Idx)
163144 , p_source_28 => l_array_source_28(Idx)
163145 , p_source_28_meaning => l_array_source_28_meaning(Idx)
163146 , p_source_43 => g_array_event(l_event_id).array_value_char('source_43')
163147 , p_source_43_meaning => g_array_event(l_event_id).array_value_char('source_43_meaning')
163148 , p_source_54 => l_array_source_54(Idx)
163149 , p_source_54_meaning => l_array_source_54_meaning(Idx)
163150 , p_source_58 => l_array_source_58(Idx)
163151 , p_source_60 => l_array_source_60(Idx)
163152 , p_source_62 => l_array_source_62(Idx)
163153 , p_source_63 => g_array_event(l_event_id).array_value_num('source_63')
163154 , p_source_69 => l_array_source_69(Idx)
163155 , p_source_70 => l_array_source_70(Idx)
163156 , p_source_71 => l_array_source_71(Idx)
163157 , p_source_72 => g_array_event(l_event_id).array_value_char('source_72')
163158 , p_source_73 => l_array_source_73(Idx)
163159 , p_source_74 => l_array_source_74(Idx)
163160 , p_source_75 => l_array_source_75(Idx)
163161 , p_source_76 => l_array_source_76(Idx)
163162 , p_source_77 => l_array_source_77(Idx)
163163 , p_source_78 => l_array_source_78(Idx)
163164 , p_source_82 => l_array_source_82(Idx)
163165 , p_source_83 => l_array_source_83(Idx)
163166 , p_source_84 => l_array_source_84(Idx)
163167 , p_source_85 => l_array_source_85(Idx)
163168 , p_source_85_meaning => l_array_source_85_meaning(Idx)
163169 , p_source_86 => g_array_event(l_event_id).array_value_num('source_86')
163170 , p_source_87 => g_array_event(l_event_id).array_value_num('source_87')
163171 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
163172 , p_source_89 => l_array_source_89(Idx)
163173 , p_source_90 => l_array_source_90(Idx)
163174 , p_source_91 => l_array_source_91(Idx)
163175 , p_source_92 => l_array_source_92(Idx)
163176 , p_source_93 => l_array_source_93(Idx)
163177 , p_source_94 => l_array_source_94(Idx)
163178 , p_source_95 => l_array_source_95(Idx)
163179 , p_source_96 => l_array_source_96(Idx)
163180 , p_source_97 => l_array_source_97(Idx)
163181 , p_source_98 => l_array_source_98(Idx)
163182 , p_source_99 => l_array_source_99(Idx)
163183 , p_source_100 => l_array_source_100(Idx)
163184 , p_source_146 => g_array_event(l_event_id).array_value_date('source_146')
163185 , p_source_147 => g_array_event(l_event_id).array_value_num('source_147')
163189 l_actual_gain_loss_ref := l_gain_or_loss_ref;
163186 , p_source_148 => g_array_event(l_event_id).array_value_char('source_148')
163187 );
163188 If(l_balance_type_code = 'A') THEN
163190 END IF;
163191
163192 --
163193
163194
163195 --
163196 AcctLineType_127 (
163197 p_application_id => p_application_id
163198 ,p_event_id => l_event_id
163199 ,p_calculate_acctd_flag => l_calculate_acctd_flag
163200 ,p_calculate_g_l_flag => l_calculate_g_l_flag
163201 ,p_actual_flag => l_actual_flag
163202 ,p_balance_type_code => l_balance_type_code
163203 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
163204
163205 , p_source_1 => l_array_source_1(Idx)
163206 , p_source_16 => l_array_source_16(Idx)
163207 , p_source_25 => l_array_source_25(Idx)
163208 , p_source_28 => l_array_source_28(Idx)
163209 , p_source_28_meaning => l_array_source_28_meaning(Idx)
163210 , p_source_58 => l_array_source_58(Idx)
163211 , p_source_60 => l_array_source_60(Idx)
163212 , p_source_62 => l_array_source_62(Idx)
163213 , p_source_63 => g_array_event(l_event_id).array_value_num('source_63')
163214 , p_source_69 => l_array_source_69(Idx)
163215 , p_source_70 => l_array_source_70(Idx)
163216 , p_source_71 => l_array_source_71(Idx)
163217 , p_source_72 => g_array_event(l_event_id).array_value_char('source_72')
163218 , p_source_73 => l_array_source_73(Idx)
163219 , p_source_74 => l_array_source_74(Idx)
163220 , p_source_75 => l_array_source_75(Idx)
163221 , p_source_76 => l_array_source_76(Idx)
163222 , p_source_77 => l_array_source_77(Idx)
163223 , p_source_78 => l_array_source_78(Idx)
163224 , p_source_82 => l_array_source_82(Idx)
163225 , p_source_83 => l_array_source_83(Idx)
163226 , p_source_84 => l_array_source_84(Idx)
163227 , p_source_85 => l_array_source_85(Idx)
163228 , p_source_85_meaning => l_array_source_85_meaning(Idx)
163229 , p_source_86 => g_array_event(l_event_id).array_value_num('source_86')
163230 , p_source_87 => g_array_event(l_event_id).array_value_num('source_87')
163231 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
163232 , p_source_89 => l_array_source_89(Idx)
163233 , p_source_90 => l_array_source_90(Idx)
163234 , p_source_91 => l_array_source_91(Idx)
163235 , p_source_92 => l_array_source_92(Idx)
163236 , p_source_93 => l_array_source_93(Idx)
163237 , p_source_94 => l_array_source_94(Idx)
163238 , p_source_95 => l_array_source_95(Idx)
163239 , p_source_96 => l_array_source_96(Idx)
163240 , p_source_97 => l_array_source_97(Idx)
163241 , p_source_98 => l_array_source_98(Idx)
163242 , p_source_99 => l_array_source_99(Idx)
163243 , p_source_100 => l_array_source_100(Idx)
163244 , p_source_146 => g_array_event(l_event_id).array_value_date('source_146')
163245 , p_source_147 => g_array_event(l_event_id).array_value_num('source_147')
163246 , p_source_148 => g_array_event(l_event_id).array_value_char('source_148')
163247 );
163248 If(l_balance_type_code = 'A') THEN
163249 l_actual_gain_loss_ref := l_gain_or_loss_ref;
163250 END IF;
163251
163252 --
163253
163254
163255 --
163256 AcctLineType_149 (
163257 p_application_id => p_application_id
163258 ,p_event_id => l_event_id
163259 ,p_calculate_acctd_flag => l_calculate_acctd_flag
163260 ,p_calculate_g_l_flag => l_calculate_g_l_flag
163261 ,p_actual_flag => l_actual_flag
163262 ,p_balance_type_code => l_balance_type_code
163263 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
163264
163265 , p_source_1 => l_array_source_1(Idx)
163266 , p_source_16 => l_array_source_16(Idx)
163267 , p_source_25 => l_array_source_25(Idx)
163268 , p_source_28 => l_array_source_28(Idx)
163269 , p_source_28_meaning => l_array_source_28_meaning(Idx)
163270 , p_source_54 => l_array_source_54(Idx)
163271 , p_source_54_meaning => l_array_source_54_meaning(Idx)
163272 , p_source_58 => l_array_source_58(Idx)
163273 , p_source_60 => l_array_source_60(Idx)
163274 , p_source_62 => l_array_source_62(Idx)
163275 , p_source_63 => g_array_event(l_event_id).array_value_num('source_63')
163276 , p_source_69 => l_array_source_69(Idx)
163277 , p_source_70 => l_array_source_70(Idx)
163278 , p_source_71 => l_array_source_71(Idx)
163279 , p_source_72 => g_array_event(l_event_id).array_value_char('source_72')
163280 , p_source_73 => l_array_source_73(Idx)
163281 , p_source_74 => l_array_source_74(Idx)
163282 , p_source_75 => l_array_source_75(Idx)
163283 , p_source_76 => l_array_source_76(Idx)
163284 , p_source_77 => l_array_source_77(Idx)
163285 , p_source_78 => l_array_source_78(Idx)
163286 , p_source_82 => l_array_source_82(Idx)
163287 , p_source_83 => l_array_source_83(Idx)
163288 , p_source_84 => l_array_source_84(Idx)
163289 , p_source_85 => l_array_source_85(Idx)
163290 , p_source_85_meaning => l_array_source_85_meaning(Idx)
163291 , p_source_86 => g_array_event(l_event_id).array_value_num('source_86')
163292 , p_source_87 => g_array_event(l_event_id).array_value_num('source_87')
163293 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
163294 , p_source_89 => l_array_source_89(Idx)
163295 , p_source_90 => l_array_source_90(Idx)
163296 , p_source_91 => l_array_source_91(Idx)
163297 , p_source_92 => l_array_source_92(Idx)
163298 , p_source_93 => l_array_source_93(Idx)
163299 , p_source_94 => l_array_source_94(Idx)
163300 , p_source_95 => l_array_source_95(Idx)
163301 , p_source_96 => l_array_source_96(Idx)
163302 , p_source_97 => l_array_source_97(Idx)
163303 , p_source_98 => l_array_source_98(Idx)
163304 , p_source_99 => l_array_source_99(Idx)
163305 , p_source_100 => l_array_source_100(Idx)
163306 , p_source_146 => g_array_event(l_event_id).array_value_date('source_146')
163307 , p_source_147 => g_array_event(l_event_id).array_value_num('source_147')
163308 , p_source_148 => g_array_event(l_event_id).array_value_char('source_148')
163309 );
163310 If(l_balance_type_code = 'A') THEN
163311 l_actual_gain_loss_ref := l_gain_or_loss_ref;
163312 END IF;
163313
163314 --
163315
163316
163317 --
163318 AcctLineType_153 (
163322 ,p_calculate_g_l_flag => l_calculate_g_l_flag
163319 p_application_id => p_application_id
163320 ,p_event_id => l_event_id
163321 ,p_calculate_acctd_flag => l_calculate_acctd_flag
163323 ,p_actual_flag => l_actual_flag
163324 ,p_balance_type_code => l_balance_type_code
163325 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
163326
163327 , p_source_1 => l_array_source_1(Idx)
163328 , p_source_16 => l_array_source_16(Idx)
163329 , p_source_25 => l_array_source_25(Idx)
163330 , p_source_28 => l_array_source_28(Idx)
163331 , p_source_28_meaning => l_array_source_28_meaning(Idx)
163332 , p_source_54 => l_array_source_54(Idx)
163333 , p_source_54_meaning => l_array_source_54_meaning(Idx)
163334 , p_source_58 => l_array_source_58(Idx)
163335 , p_source_60 => l_array_source_60(Idx)
163336 , p_source_62 => l_array_source_62(Idx)
163337 , p_source_63 => g_array_event(l_event_id).array_value_num('source_63')
163338 , p_source_69 => l_array_source_69(Idx)
163339 , p_source_70 => l_array_source_70(Idx)
163340 , p_source_71 => l_array_source_71(Idx)
163341 , p_source_72 => g_array_event(l_event_id).array_value_char('source_72')
163342 , p_source_73 => l_array_source_73(Idx)
163343 , p_source_74 => l_array_source_74(Idx)
163344 , p_source_75 => l_array_source_75(Idx)
163345 , p_source_76 => l_array_source_76(Idx)
163346 , p_source_77 => l_array_source_77(Idx)
163347 , p_source_78 => l_array_source_78(Idx)
163348 , p_source_82 => l_array_source_82(Idx)
163349 , p_source_83 => l_array_source_83(Idx)
163350 , p_source_84 => l_array_source_84(Idx)
163351 , p_source_85 => l_array_source_85(Idx)
163352 , p_source_85_meaning => l_array_source_85_meaning(Idx)
163353 , p_source_86 => g_array_event(l_event_id).array_value_num('source_86')
163354 , p_source_87 => g_array_event(l_event_id).array_value_num('source_87')
163355 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
163356 , p_source_89 => l_array_source_89(Idx)
163357 , p_source_90 => l_array_source_90(Idx)
163358 , p_source_91 => l_array_source_91(Idx)
163359 , p_source_92 => l_array_source_92(Idx)
163360 , p_source_93 => l_array_source_93(Idx)
163361 , p_source_94 => l_array_source_94(Idx)
163362 , p_source_95 => l_array_source_95(Idx)
163363 , p_source_96 => l_array_source_96(Idx)
163364 , p_source_97 => l_array_source_97(Idx)
163365 , p_source_98 => l_array_source_98(Idx)
163366 , p_source_99 => l_array_source_99(Idx)
163367 , p_source_100 => l_array_source_100(Idx)
163368 , p_source_146 => g_array_event(l_event_id).array_value_date('source_146')
163369 , p_source_147 => g_array_event(l_event_id).array_value_num('source_147')
163370 , p_source_148 => g_array_event(l_event_id).array_value_char('source_148')
163371 );
163372 If(l_balance_type_code = 'A') THEN
163373 l_actual_gain_loss_ref := l_gain_or_loss_ref;
163374 END IF;
163375
163376 --
163377
163378
163379 --
163380 AcctLineType_163 (
163381 p_application_id => p_application_id
163382 ,p_event_id => l_event_id
163383 ,p_calculate_acctd_flag => l_calculate_acctd_flag
163384 ,p_calculate_g_l_flag => l_calculate_g_l_flag
163385 ,p_actual_flag => l_actual_flag
163386 ,p_balance_type_code => l_balance_type_code
163387 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
163388
163389 , p_source_1 => l_array_source_1(Idx)
163390 , p_source_10 => g_array_event(l_event_id).array_value_char('source_10')
163391 , p_source_10_meaning => g_array_event(l_event_id).array_value_char('source_10_meaning')
163392 , p_source_16 => l_array_source_16(Idx)
163393 , p_source_29 => g_array_event(l_event_id).array_value_num('source_29')
163394 , p_source_58 => l_array_source_58(Idx)
163395 , p_source_60 => l_array_source_60(Idx)
163396 , p_source_62 => l_array_source_62(Idx)
163397 , p_source_63 => g_array_event(l_event_id).array_value_num('source_63')
163398 , p_source_69 => l_array_source_69(Idx)
163399 , p_source_70 => l_array_source_70(Idx)
163400 , p_source_71 => l_array_source_71(Idx)
163401 , p_source_72 => g_array_event(l_event_id).array_value_char('source_72')
163402 , p_source_73 => l_array_source_73(Idx)
163403 , p_source_74 => l_array_source_74(Idx)
163404 , p_source_75 => l_array_source_75(Idx)
163405 , p_source_76 => l_array_source_76(Idx)
163406 , p_source_77 => l_array_source_77(Idx)
163407 , p_source_78 => l_array_source_78(Idx)
163408 , p_source_82 => l_array_source_82(Idx)
163409 , p_source_83 => l_array_source_83(Idx)
163410 , p_source_84 => l_array_source_84(Idx)
163411 , p_source_85 => l_array_source_85(Idx)
163412 , p_source_85_meaning => l_array_source_85_meaning(Idx)
163413 , p_source_86 => g_array_event(l_event_id).array_value_num('source_86')
163414 , p_source_87 => g_array_event(l_event_id).array_value_num('source_87')
163415 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
163416 , p_source_89 => l_array_source_89(Idx)
163417 , p_source_90 => l_array_source_90(Idx)
163418 , p_source_91 => l_array_source_91(Idx)
163419 , p_source_92 => l_array_source_92(Idx)
163420 , p_source_93 => l_array_source_93(Idx)
163421 , p_source_94 => l_array_source_94(Idx)
163422 , p_source_95 => l_array_source_95(Idx)
163423 , p_source_96 => l_array_source_96(Idx)
163424 , p_source_97 => l_array_source_97(Idx)
163425 , p_source_98 => l_array_source_98(Idx)
163426 , p_source_99 => l_array_source_99(Idx)
163427 , p_source_100 => l_array_source_100(Idx)
163428 , p_source_145 => l_array_source_145(Idx)
163429 , p_source_145_meaning => l_array_source_145_meaning(Idx)
163430 , p_source_146 => g_array_event(l_event_id).array_value_date('source_146')
163431 , p_source_147 => g_array_event(l_event_id).array_value_num('source_147')
163432 , p_source_148 => g_array_event(l_event_id).array_value_char('source_148')
163433 , p_source_167 => g_array_event(l_event_id).array_value_char('source_167')
163434 , p_source_167_meaning => g_array_event(l_event_id).array_value_char('source_167_meaning')
163435 );
163436 If(l_balance_type_code = 'A') THEN
163437 l_actual_gain_loss_ref := l_gain_or_loss_ref;
163438 END IF;
163439
163440 --
163441
163445 p_application_id => p_application_id
163442
163443 --
163444 AcctLineType_164 (
163446 ,p_event_id => l_event_id
163447 ,p_calculate_acctd_flag => l_calculate_acctd_flag
163448 ,p_calculate_g_l_flag => l_calculate_g_l_flag
163449 ,p_actual_flag => l_actual_flag
163450 ,p_balance_type_code => l_balance_type_code
163451 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
163452
163453 , p_source_1 => l_array_source_1(Idx)
163454 , p_source_10 => g_array_event(l_event_id).array_value_char('source_10')
163455 , p_source_10_meaning => g_array_event(l_event_id).array_value_char('source_10_meaning')
163456 , p_source_16 => l_array_source_16(Idx)
163457 , p_source_29 => g_array_event(l_event_id).array_value_num('source_29')
163458 , p_source_58 => l_array_source_58(Idx)
163459 , p_source_60 => l_array_source_60(Idx)
163460 , p_source_62 => l_array_source_62(Idx)
163461 , p_source_63 => g_array_event(l_event_id).array_value_num('source_63')
163462 , p_source_69 => l_array_source_69(Idx)
163463 , p_source_70 => l_array_source_70(Idx)
163464 , p_source_71 => l_array_source_71(Idx)
163465 , p_source_72 => g_array_event(l_event_id).array_value_char('source_72')
163466 , p_source_73 => l_array_source_73(Idx)
163467 , p_source_74 => l_array_source_74(Idx)
163468 , p_source_75 => l_array_source_75(Idx)
163469 , p_source_76 => l_array_source_76(Idx)
163470 , p_source_77 => l_array_source_77(Idx)
163471 , p_source_78 => l_array_source_78(Idx)
163472 , p_source_82 => l_array_source_82(Idx)
163473 , p_source_83 => l_array_source_83(Idx)
163474 , p_source_84 => l_array_source_84(Idx)
163475 , p_source_85 => l_array_source_85(Idx)
163476 , p_source_85_meaning => l_array_source_85_meaning(Idx)
163477 , p_source_86 => g_array_event(l_event_id).array_value_num('source_86')
163478 , p_source_87 => g_array_event(l_event_id).array_value_num('source_87')
163479 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
163480 , p_source_89 => l_array_source_89(Idx)
163481 , p_source_90 => l_array_source_90(Idx)
163482 , p_source_91 => l_array_source_91(Idx)
163483 , p_source_92 => l_array_source_92(Idx)
163484 , p_source_93 => l_array_source_93(Idx)
163485 , p_source_94 => l_array_source_94(Idx)
163486 , p_source_95 => l_array_source_95(Idx)
163487 , p_source_96 => l_array_source_96(Idx)
163488 , p_source_97 => l_array_source_97(Idx)
163489 , p_source_98 => l_array_source_98(Idx)
163490 , p_source_99 => l_array_source_99(Idx)
163491 , p_source_100 => l_array_source_100(Idx)
163492 , p_source_145 => l_array_source_145(Idx)
163493 , p_source_145_meaning => l_array_source_145_meaning(Idx)
163494 , p_source_146 => g_array_event(l_event_id).array_value_date('source_146')
163495 , p_source_147 => g_array_event(l_event_id).array_value_num('source_147')
163496 , p_source_148 => g_array_event(l_event_id).array_value_char('source_148')
163497 , p_source_167 => g_array_event(l_event_id).array_value_char('source_167')
163498 , p_source_167_meaning => g_array_event(l_event_id).array_value_char('source_167_meaning')
163499 );
163500 If(l_balance_type_code = 'A') THEN
163501 l_actual_gain_loss_ref := l_gain_or_loss_ref;
163502 END IF;
163503
163504 --
163505
163506
163507 --
163508 AcctLineType_165 (
163509 p_application_id => p_application_id
163510 ,p_event_id => l_event_id
163511 ,p_calculate_acctd_flag => l_calculate_acctd_flag
163512 ,p_calculate_g_l_flag => l_calculate_g_l_flag
163513 ,p_actual_flag => l_actual_flag
163514 ,p_balance_type_code => l_balance_type_code
163515 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
163516
163517 , p_source_1 => l_array_source_1(Idx)
163518 , p_source_10 => g_array_event(l_event_id).array_value_char('source_10')
163519 , p_source_10_meaning => g_array_event(l_event_id).array_value_char('source_10_meaning')
163520 , p_source_16 => l_array_source_16(Idx)
163521 , p_source_29 => g_array_event(l_event_id).array_value_num('source_29')
163522 , p_source_58 => l_array_source_58(Idx)
163523 , p_source_60 => l_array_source_60(Idx)
163524 , p_source_62 => l_array_source_62(Idx)
163525 , p_source_63 => g_array_event(l_event_id).array_value_num('source_63')
163526 , p_source_69 => l_array_source_69(Idx)
163527 , p_source_70 => l_array_source_70(Idx)
163528 , p_source_71 => l_array_source_71(Idx)
163529 , p_source_72 => g_array_event(l_event_id).array_value_char('source_72')
163530 , p_source_73 => l_array_source_73(Idx)
163531 , p_source_74 => l_array_source_74(Idx)
163532 , p_source_75 => l_array_source_75(Idx)
163533 , p_source_76 => l_array_source_76(Idx)
163534 , p_source_77 => l_array_source_77(Idx)
163535 , p_source_78 => l_array_source_78(Idx)
163536 , p_source_82 => l_array_source_82(Idx)
163537 , p_source_83 => l_array_source_83(Idx)
163538 , p_source_84 => l_array_source_84(Idx)
163539 , p_source_85 => l_array_source_85(Idx)
163540 , p_source_85_meaning => l_array_source_85_meaning(Idx)
163541 , p_source_86 => g_array_event(l_event_id).array_value_num('source_86')
163542 , p_source_87 => g_array_event(l_event_id).array_value_num('source_87')
163543 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
163544 , p_source_89 => l_array_source_89(Idx)
163545 , p_source_90 => l_array_source_90(Idx)
163546 , p_source_91 => l_array_source_91(Idx)
163547 , p_source_92 => l_array_source_92(Idx)
163548 , p_source_93 => l_array_source_93(Idx)
163549 , p_source_94 => l_array_source_94(Idx)
163550 , p_source_95 => l_array_source_95(Idx)
163551 , p_source_96 => l_array_source_96(Idx)
163552 , p_source_97 => l_array_source_97(Idx)
163553 , p_source_98 => l_array_source_98(Idx)
163554 , p_source_99 => l_array_source_99(Idx)
163555 , p_source_100 => l_array_source_100(Idx)
163556 , p_source_145 => l_array_source_145(Idx)
163557 , p_source_145_meaning => l_array_source_145_meaning(Idx)
163558 , p_source_146 => g_array_event(l_event_id).array_value_date('source_146')
163559 , p_source_147 => g_array_event(l_event_id).array_value_num('source_147')
163560 , p_source_148 => g_array_event(l_event_id).array_value_char('source_148')
163564 If(l_balance_type_code = 'A') THEN
163561 , p_source_167 => g_array_event(l_event_id).array_value_char('source_167')
163562 , p_source_167_meaning => g_array_event(l_event_id).array_value_char('source_167_meaning')
163563 );
163565 l_actual_gain_loss_ref := l_gain_or_loss_ref;
163566 END IF;
163567
163568 --
163569
163570
163571 --
163572 AcctLineType_182 (
163573 p_application_id => p_application_id
163574 ,p_event_id => l_event_id
163575 ,p_calculate_acctd_flag => l_calculate_acctd_flag
163576 ,p_calculate_g_l_flag => l_calculate_g_l_flag
163577 ,p_actual_flag => l_actual_flag
163578 ,p_balance_type_code => l_balance_type_code
163579 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
163580
163581 , p_source_1 => l_array_source_1(Idx)
163582 , p_source_16 => l_array_source_16(Idx)
163583 , p_source_25 => l_array_source_25(Idx)
163584 , p_source_28 => l_array_source_28(Idx)
163585 , p_source_28_meaning => l_array_source_28_meaning(Idx)
163586 , p_source_58 => l_array_source_58(Idx)
163587 , p_source_60 => l_array_source_60(Idx)
163588 , p_source_62 => l_array_source_62(Idx)
163589 , p_source_63 => g_array_event(l_event_id).array_value_num('source_63')
163590 , p_source_69 => l_array_source_69(Idx)
163591 , p_source_70 => l_array_source_70(Idx)
163592 , p_source_71 => l_array_source_71(Idx)
163593 , p_source_72 => g_array_event(l_event_id).array_value_char('source_72')
163594 , p_source_73 => l_array_source_73(Idx)
163595 , p_source_74 => l_array_source_74(Idx)
163596 , p_source_75 => l_array_source_75(Idx)
163597 , p_source_76 => l_array_source_76(Idx)
163598 , p_source_77 => l_array_source_77(Idx)
163599 , p_source_78 => l_array_source_78(Idx)
163600 , p_source_82 => l_array_source_82(Idx)
163601 , p_source_83 => l_array_source_83(Idx)
163602 , p_source_84 => l_array_source_84(Idx)
163603 , p_source_85 => l_array_source_85(Idx)
163604 , p_source_85_meaning => l_array_source_85_meaning(Idx)
163605 , p_source_86 => g_array_event(l_event_id).array_value_num('source_86')
163606 , p_source_87 => g_array_event(l_event_id).array_value_num('source_87')
163607 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
163608 , p_source_89 => l_array_source_89(Idx)
163609 , p_source_90 => l_array_source_90(Idx)
163610 , p_source_91 => l_array_source_91(Idx)
163611 , p_source_92 => l_array_source_92(Idx)
163612 , p_source_93 => l_array_source_93(Idx)
163613 , p_source_94 => l_array_source_94(Idx)
163614 , p_source_95 => l_array_source_95(Idx)
163615 , p_source_96 => l_array_source_96(Idx)
163616 , p_source_97 => l_array_source_97(Idx)
163617 , p_source_98 => l_array_source_98(Idx)
163618 , p_source_99 => l_array_source_99(Idx)
163619 , p_source_100 => l_array_source_100(Idx)
163620 , p_source_146 => g_array_event(l_event_id).array_value_date('source_146')
163621 , p_source_147 => g_array_event(l_event_id).array_value_num('source_147')
163622 , p_source_148 => g_array_event(l_event_id).array_value_char('source_148')
163623 );
163624 If(l_balance_type_code = 'A') THEN
163625 l_actual_gain_loss_ref := l_gain_or_loss_ref;
163626 END IF;
163627
163628 --
163629
163630
163631 --
163632 AcctLineType_186 (
163633 p_application_id => p_application_id
163634 ,p_event_id => l_event_id
163635 ,p_calculate_acctd_flag => l_calculate_acctd_flag
163636 ,p_calculate_g_l_flag => l_calculate_g_l_flag
163637 ,p_actual_flag => l_actual_flag
163638 ,p_balance_type_code => l_balance_type_code
163639 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
163640
163641 , p_source_1 => l_array_source_1(Idx)
163642 , p_source_16 => l_array_source_16(Idx)
163643 , p_source_25 => l_array_source_25(Idx)
163644 , p_source_28 => l_array_source_28(Idx)
163645 , p_source_28_meaning => l_array_source_28_meaning(Idx)
163646 , p_source_54 => l_array_source_54(Idx)
163647 , p_source_54_meaning => l_array_source_54_meaning(Idx)
163648 , p_source_58 => l_array_source_58(Idx)
163649 , p_source_60 => l_array_source_60(Idx)
163650 , p_source_62 => l_array_source_62(Idx)
163651 , p_source_63 => g_array_event(l_event_id).array_value_num('source_63')
163652 , p_source_69 => l_array_source_69(Idx)
163653 , p_source_70 => l_array_source_70(Idx)
163654 , p_source_71 => l_array_source_71(Idx)
163655 , p_source_72 => g_array_event(l_event_id).array_value_char('source_72')
163656 , p_source_73 => l_array_source_73(Idx)
163657 , p_source_74 => l_array_source_74(Idx)
163658 , p_source_75 => l_array_source_75(Idx)
163659 , p_source_76 => l_array_source_76(Idx)
163660 , p_source_77 => l_array_source_77(Idx)
163661 , p_source_78 => l_array_source_78(Idx)
163662 , p_source_79 => l_array_source_79(Idx)
163663 , p_source_80 => l_array_source_80(Idx)
163664 , p_source_81 => l_array_source_81(Idx)
163665 , p_source_82 => l_array_source_82(Idx)
163666 , p_source_83 => l_array_source_83(Idx)
163667 , p_source_84 => l_array_source_84(Idx)
163668 , p_source_85 => l_array_source_85(Idx)
163669 , p_source_85_meaning => l_array_source_85_meaning(Idx)
163670 , p_source_86 => g_array_event(l_event_id).array_value_num('source_86')
163671 , p_source_87 => g_array_event(l_event_id).array_value_num('source_87')
163672 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
163673 , p_source_89 => l_array_source_89(Idx)
163674 , p_source_90 => l_array_source_90(Idx)
163675 , p_source_91 => l_array_source_91(Idx)
163676 , p_source_92 => l_array_source_92(Idx)
163677 , p_source_93 => l_array_source_93(Idx)
163678 , p_source_94 => l_array_source_94(Idx)
163679 , p_source_95 => l_array_source_95(Idx)
163680 , p_source_96 => l_array_source_96(Idx)
163681 , p_source_97 => l_array_source_97(Idx)
163682 , p_source_98 => l_array_source_98(Idx)
163683 , p_source_99 => l_array_source_99(Idx)
163684 , p_source_100 => l_array_source_100(Idx)
163685 , p_source_145 => l_array_source_145(Idx)
163686 , p_source_145_meaning => l_array_source_145_meaning(Idx)
163687 );
163688 If(l_balance_type_code = 'A') THEN
163689 l_actual_gain_loss_ref := l_gain_or_loss_ref;
163693
163690 END IF;
163691
163692 --
163694
163695 --
163696 AcctLineType_189 (
163697 p_application_id => p_application_id
163698 ,p_event_id => l_event_id
163699 ,p_calculate_acctd_flag => l_calculate_acctd_flag
163700 ,p_calculate_g_l_flag => l_calculate_g_l_flag
163701 ,p_actual_flag => l_actual_flag
163702 ,p_balance_type_code => l_balance_type_code
163703 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
163704
163705 , p_source_1 => l_array_source_1(Idx)
163706 , p_source_16 => l_array_source_16(Idx)
163707 , p_source_25 => l_array_source_25(Idx)
163708 , p_source_28 => l_array_source_28(Idx)
163709 , p_source_28_meaning => l_array_source_28_meaning(Idx)
163710 , p_source_54 => l_array_source_54(Idx)
163711 , p_source_54_meaning => l_array_source_54_meaning(Idx)
163712 , p_source_58 => l_array_source_58(Idx)
163713 , p_source_60 => l_array_source_60(Idx)
163714 , p_source_62 => l_array_source_62(Idx)
163715 , p_source_63 => g_array_event(l_event_id).array_value_num('source_63')
163716 , p_source_69 => l_array_source_69(Idx)
163717 , p_source_70 => l_array_source_70(Idx)
163718 , p_source_71 => l_array_source_71(Idx)
163719 , p_source_72 => g_array_event(l_event_id).array_value_char('source_72')
163720 , p_source_73 => l_array_source_73(Idx)
163721 , p_source_74 => l_array_source_74(Idx)
163722 , p_source_75 => l_array_source_75(Idx)
163723 , p_source_76 => l_array_source_76(Idx)
163724 , p_source_77 => l_array_source_77(Idx)
163725 , p_source_78 => l_array_source_78(Idx)
163726 , p_source_82 => l_array_source_82(Idx)
163727 , p_source_83 => l_array_source_83(Idx)
163728 , p_source_84 => l_array_source_84(Idx)
163729 , p_source_85 => l_array_source_85(Idx)
163730 , p_source_85_meaning => l_array_source_85_meaning(Idx)
163731 , p_source_86 => g_array_event(l_event_id).array_value_num('source_86')
163732 , p_source_87 => g_array_event(l_event_id).array_value_num('source_87')
163733 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
163734 , p_source_89 => l_array_source_89(Idx)
163735 , p_source_90 => l_array_source_90(Idx)
163736 , p_source_91 => l_array_source_91(Idx)
163737 , p_source_92 => l_array_source_92(Idx)
163738 , p_source_93 => l_array_source_93(Idx)
163739 , p_source_94 => l_array_source_94(Idx)
163740 , p_source_95 => l_array_source_95(Idx)
163741 , p_source_96 => l_array_source_96(Idx)
163742 , p_source_97 => l_array_source_97(Idx)
163743 , p_source_98 => l_array_source_98(Idx)
163744 , p_source_99 => l_array_source_99(Idx)
163745 , p_source_100 => l_array_source_100(Idx)
163746 , p_source_145 => l_array_source_145(Idx)
163747 , p_source_145_meaning => l_array_source_145_meaning(Idx)
163748 , p_source_146 => g_array_event(l_event_id).array_value_date('source_146')
163749 , p_source_147 => g_array_event(l_event_id).array_value_num('source_147')
163750 , p_source_148 => g_array_event(l_event_id).array_value_char('source_148')
163751 );
163752 If(l_balance_type_code = 'A') THEN
163753 l_actual_gain_loss_ref := l_gain_or_loss_ref;
163754 END IF;
163755
163756 --
163757
163758
163759 --
163760 AcctLineType_198 (
163761 p_application_id => p_application_id
163762 ,p_event_id => l_event_id
163763 ,p_calculate_acctd_flag => l_calculate_acctd_flag
163764 ,p_calculate_g_l_flag => l_calculate_g_l_flag
163765 ,p_actual_flag => l_actual_flag
163766 ,p_balance_type_code => l_balance_type_code
163767 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
163768
163769 , p_source_1 => l_array_source_1(Idx)
163770 , p_source_16 => l_array_source_16(Idx)
163771 , p_source_25 => l_array_source_25(Idx)
163772 , p_source_28 => l_array_source_28(Idx)
163773 , p_source_28_meaning => l_array_source_28_meaning(Idx)
163774 , p_source_58 => l_array_source_58(Idx)
163775 , p_source_60 => l_array_source_60(Idx)
163776 , p_source_62 => l_array_source_62(Idx)
163777 , p_source_63 => g_array_event(l_event_id).array_value_num('source_63')
163778 , p_source_69 => l_array_source_69(Idx)
163779 , p_source_70 => l_array_source_70(Idx)
163780 , p_source_71 => l_array_source_71(Idx)
163781 , p_source_72 => g_array_event(l_event_id).array_value_char('source_72')
163782 , p_source_73 => l_array_source_73(Idx)
163783 , p_source_74 => l_array_source_74(Idx)
163784 , p_source_75 => l_array_source_75(Idx)
163785 , p_source_76 => l_array_source_76(Idx)
163786 , p_source_77 => l_array_source_77(Idx)
163787 , p_source_78 => l_array_source_78(Idx)
163788 , p_source_82 => l_array_source_82(Idx)
163789 , p_source_83 => l_array_source_83(Idx)
163790 , p_source_84 => l_array_source_84(Idx)
163791 , p_source_85 => l_array_source_85(Idx)
163792 , p_source_85_meaning => l_array_source_85_meaning(Idx)
163793 , p_source_86 => g_array_event(l_event_id).array_value_num('source_86')
163794 , p_source_87 => g_array_event(l_event_id).array_value_num('source_87')
163795 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
163796 , p_source_89 => l_array_source_89(Idx)
163797 , p_source_90 => l_array_source_90(Idx)
163798 , p_source_91 => l_array_source_91(Idx)
163799 , p_source_92 => l_array_source_92(Idx)
163800 , p_source_93 => l_array_source_93(Idx)
163801 , p_source_94 => l_array_source_94(Idx)
163802 , p_source_95 => l_array_source_95(Idx)
163803 , p_source_96 => l_array_source_96(Idx)
163804 , p_source_97 => l_array_source_97(Idx)
163805 , p_source_98 => l_array_source_98(Idx)
163806 , p_source_99 => l_array_source_99(Idx)
163807 , p_source_100 => l_array_source_100(Idx)
163808 , p_source_145 => l_array_source_145(Idx)
163809 , p_source_145_meaning => l_array_source_145_meaning(Idx)
163810 , p_source_146 => g_array_event(l_event_id).array_value_date('source_146')
163811 , p_source_147 => g_array_event(l_event_id).array_value_num('source_147')
163812 , p_source_148 => g_array_event(l_event_id).array_value_char('source_148')
163813 );
163814 If(l_balance_type_code = 'A') THEN
163815 l_actual_gain_loss_ref := l_gain_or_loss_ref;
163816 END IF;
163817
163818 --
163819
163820
163824 ,p_event_id => l_event_id
163821 --
163822 AcctLineType_200 (
163823 p_application_id => p_application_id
163825 ,p_calculate_acctd_flag => l_calculate_acctd_flag
163826 ,p_calculate_g_l_flag => l_calculate_g_l_flag
163827 ,p_actual_flag => l_actual_flag
163828 ,p_balance_type_code => l_balance_type_code
163829 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
163830
163831 , p_source_1 => l_array_source_1(Idx)
163832 , p_source_10 => g_array_event(l_event_id).array_value_char('source_10')
163833 , p_source_10_meaning => g_array_event(l_event_id).array_value_char('source_10_meaning')
163834 , p_source_16 => l_array_source_16(Idx)
163835 , p_source_25 => l_array_source_25(Idx)
163836 , p_source_28 => l_array_source_28(Idx)
163837 , p_source_28_meaning => l_array_source_28_meaning(Idx)
163838 , p_source_35 => g_array_event(l_event_id).array_value_num('source_35')
163839 , p_source_38 => l_array_source_38(Idx)
163840 , p_source_58 => l_array_source_58(Idx)
163841 , p_source_60 => l_array_source_60(Idx)
163842 , p_source_62 => l_array_source_62(Idx)
163843 , p_source_63 => g_array_event(l_event_id).array_value_num('source_63')
163844 , p_source_69 => l_array_source_69(Idx)
163845 , p_source_70 => l_array_source_70(Idx)
163846 , p_source_71 => l_array_source_71(Idx)
163847 , p_source_72 => g_array_event(l_event_id).array_value_char('source_72')
163848 , p_source_73 => l_array_source_73(Idx)
163849 , p_source_74 => l_array_source_74(Idx)
163850 , p_source_75 => l_array_source_75(Idx)
163851 , p_source_76 => l_array_source_76(Idx)
163852 , p_source_77 => l_array_source_77(Idx)
163853 , p_source_78 => l_array_source_78(Idx)
163854 , p_source_82 => l_array_source_82(Idx)
163855 , p_source_83 => l_array_source_83(Idx)
163856 , p_source_84 => l_array_source_84(Idx)
163857 , p_source_85 => l_array_source_85(Idx)
163858 , p_source_85_meaning => l_array_source_85_meaning(Idx)
163859 , p_source_86 => g_array_event(l_event_id).array_value_num('source_86')
163860 , p_source_87 => g_array_event(l_event_id).array_value_num('source_87')
163861 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
163862 , p_source_89 => l_array_source_89(Idx)
163863 , p_source_90 => l_array_source_90(Idx)
163864 , p_source_91 => l_array_source_91(Idx)
163865 , p_source_92 => l_array_source_92(Idx)
163866 , p_source_93 => l_array_source_93(Idx)
163867 , p_source_94 => l_array_source_94(Idx)
163868 , p_source_95 => l_array_source_95(Idx)
163869 , p_source_96 => l_array_source_96(Idx)
163870 , p_source_97 => l_array_source_97(Idx)
163871 , p_source_98 => l_array_source_98(Idx)
163872 , p_source_99 => l_array_source_99(Idx)
163873 , p_source_100 => l_array_source_100(Idx)
163874 , p_source_146 => g_array_event(l_event_id).array_value_date('source_146')
163875 , p_source_147 => g_array_event(l_event_id).array_value_num('source_147')
163876 , p_source_148 => g_array_event(l_event_id).array_value_char('source_148')
163877 , p_source_167 => g_array_event(l_event_id).array_value_char('source_167')
163878 , p_source_167_meaning => g_array_event(l_event_id).array_value_char('source_167_meaning')
163879 );
163880 If(l_balance_type_code = 'A') THEN
163881 l_actual_gain_loss_ref := l_gain_or_loss_ref;
163882 END IF;
163883
163884 --
163885
163886
163887 --
163888 AcctLineType_203 (
163889 p_application_id => p_application_id
163890 ,p_event_id => l_event_id
163891 ,p_calculate_acctd_flag => l_calculate_acctd_flag
163892 ,p_calculate_g_l_flag => l_calculate_g_l_flag
163893 ,p_actual_flag => l_actual_flag
163894 ,p_balance_type_code => l_balance_type_code
163895 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
163896
163897 , p_source_1 => l_array_source_1(Idx)
163898 , p_source_16 => l_array_source_16(Idx)
163899 , p_source_28 => l_array_source_28(Idx)
163900 , p_source_28_meaning => l_array_source_28_meaning(Idx)
163901 , p_source_58 => l_array_source_58(Idx)
163902 , p_source_60 => l_array_source_60(Idx)
163903 , p_source_62 => l_array_source_62(Idx)
163904 , p_source_63 => g_array_event(l_event_id).array_value_num('source_63')
163905 , p_source_69 => l_array_source_69(Idx)
163906 , p_source_70 => l_array_source_70(Idx)
163907 , p_source_71 => l_array_source_71(Idx)
163908 , p_source_72 => g_array_event(l_event_id).array_value_char('source_72')
163909 , p_source_73 => l_array_source_73(Idx)
163910 , p_source_74 => l_array_source_74(Idx)
163911 , p_source_75 => l_array_source_75(Idx)
163912 , p_source_76 => l_array_source_76(Idx)
163913 , p_source_77 => l_array_source_77(Idx)
163914 , p_source_78 => l_array_source_78(Idx)
163915 , p_source_82 => l_array_source_82(Idx)
163916 , p_source_83 => l_array_source_83(Idx)
163917 , p_source_84 => l_array_source_84(Idx)
163918 , p_source_85 => l_array_source_85(Idx)
163919 , p_source_85_meaning => l_array_source_85_meaning(Idx)
163920 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
163921 , p_source_89 => l_array_source_89(Idx)
163922 , p_source_90 => l_array_source_90(Idx)
163923 , p_source_91 => l_array_source_91(Idx)
163924 , p_source_92 => l_array_source_92(Idx)
163925 , p_source_93 => l_array_source_93(Idx)
163926 , p_source_94 => l_array_source_94(Idx)
163927 , p_source_95 => l_array_source_95(Idx)
163928 , p_source_96 => l_array_source_96(Idx)
163929 , p_source_97 => l_array_source_97(Idx)
163930 , p_source_98 => l_array_source_98(Idx)
163931 , p_source_167 => g_array_event(l_event_id).array_value_char('source_167')
163932 , p_source_167_meaning => g_array_event(l_event_id).array_value_char('source_167_meaning')
163933 , p_source_168 => l_array_source_168(Idx)
163934 , p_source_169 => l_array_source_169(Idx)
163935 );
163936 If(l_balance_type_code = 'A') THEN
163937 l_actual_gain_loss_ref := l_gain_or_loss_ref;
163938 END IF;
163939
163940 --
163941
163942
163943 --
163944 AcctLineType_207 (
163945 p_application_id => p_application_id
163946 ,p_event_id => l_event_id
163947 ,p_calculate_acctd_flag => l_calculate_acctd_flag
163951 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
163948 ,p_calculate_g_l_flag => l_calculate_g_l_flag
163949 ,p_actual_flag => l_actual_flag
163950 ,p_balance_type_code => l_balance_type_code
163952
163953 , p_source_1 => l_array_source_1(Idx)
163954 , p_source_16 => l_array_source_16(Idx)
163955 , p_source_28 => l_array_source_28(Idx)
163956 , p_source_28_meaning => l_array_source_28_meaning(Idx)
163957 , p_source_46 => l_array_source_46(Idx)
163958 , p_source_54 => l_array_source_54(Idx)
163959 , p_source_54_meaning => l_array_source_54_meaning(Idx)
163960 , p_source_58 => l_array_source_58(Idx)
163961 , p_source_60 => l_array_source_60(Idx)
163962 , p_source_62 => l_array_source_62(Idx)
163963 , p_source_63 => g_array_event(l_event_id).array_value_num('source_63')
163964 , p_source_69 => l_array_source_69(Idx)
163965 , p_source_70 => l_array_source_70(Idx)
163966 , p_source_71 => l_array_source_71(Idx)
163967 , p_source_72 => g_array_event(l_event_id).array_value_char('source_72')
163968 , p_source_73 => l_array_source_73(Idx)
163969 , p_source_74 => l_array_source_74(Idx)
163970 , p_source_75 => l_array_source_75(Idx)
163971 , p_source_76 => l_array_source_76(Idx)
163972 , p_source_77 => l_array_source_77(Idx)
163973 , p_source_78 => l_array_source_78(Idx)
163974 , p_source_82 => l_array_source_82(Idx)
163975 , p_source_83 => l_array_source_83(Idx)
163976 , p_source_84 => l_array_source_84(Idx)
163977 , p_source_85 => l_array_source_85(Idx)
163978 , p_source_85_meaning => l_array_source_85_meaning(Idx)
163979 , p_source_86 => g_array_event(l_event_id).array_value_num('source_86')
163980 , p_source_87 => g_array_event(l_event_id).array_value_num('source_87')
163981 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
163982 , p_source_89 => l_array_source_89(Idx)
163983 , p_source_90 => l_array_source_90(Idx)
163984 , p_source_91 => l_array_source_91(Idx)
163985 , p_source_92 => l_array_source_92(Idx)
163986 , p_source_93 => l_array_source_93(Idx)
163987 , p_source_94 => l_array_source_94(Idx)
163988 , p_source_95 => l_array_source_95(Idx)
163989 , p_source_96 => l_array_source_96(Idx)
163990 , p_source_97 => l_array_source_97(Idx)
163991 , p_source_98 => l_array_source_98(Idx)
163992 , p_source_99 => l_array_source_99(Idx)
163993 , p_source_100 => l_array_source_100(Idx)
163994 , p_source_145 => l_array_source_145(Idx)
163995 , p_source_145_meaning => l_array_source_145_meaning(Idx)
163996 , p_source_146 => g_array_event(l_event_id).array_value_date('source_146')
163997 , p_source_147 => g_array_event(l_event_id).array_value_num('source_147')
163998 , p_source_148 => g_array_event(l_event_id).array_value_char('source_148')
163999 );
164000 If(l_balance_type_code = 'A') THEN
164001 l_actual_gain_loss_ref := l_gain_or_loss_ref;
164002 END IF;
164003
164004 --
164005
164006
164007 --
164008 AcctLineType_211 (
164009 p_application_id => p_application_id
164010 ,p_event_id => l_event_id
164011 ,p_calculate_acctd_flag => l_calculate_acctd_flag
164012 ,p_calculate_g_l_flag => l_calculate_g_l_flag
164013 ,p_actual_flag => l_actual_flag
164014 ,p_balance_type_code => l_balance_type_code
164015 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
164016
164017 , p_source_1 => l_array_source_1(Idx)
164018 , p_source_16 => l_array_source_16(Idx)
164019 , p_source_28 => l_array_source_28(Idx)
164020 , p_source_28_meaning => l_array_source_28_meaning(Idx)
164021 , p_source_46 => l_array_source_46(Idx)
164022 , p_source_58 => l_array_source_58(Idx)
164023 , p_source_60 => l_array_source_60(Idx)
164024 , p_source_62 => l_array_source_62(Idx)
164025 , p_source_63 => g_array_event(l_event_id).array_value_num('source_63')
164026 , p_source_69 => l_array_source_69(Idx)
164027 , p_source_70 => l_array_source_70(Idx)
164028 , p_source_71 => l_array_source_71(Idx)
164029 , p_source_72 => g_array_event(l_event_id).array_value_char('source_72')
164030 , p_source_73 => l_array_source_73(Idx)
164031 , p_source_74 => l_array_source_74(Idx)
164032 , p_source_75 => l_array_source_75(Idx)
164033 , p_source_76 => l_array_source_76(Idx)
164034 , p_source_77 => l_array_source_77(Idx)
164035 , p_source_78 => l_array_source_78(Idx)
164036 , p_source_82 => l_array_source_82(Idx)
164037 , p_source_83 => l_array_source_83(Idx)
164038 , p_source_84 => l_array_source_84(Idx)
164039 , p_source_85 => l_array_source_85(Idx)
164040 , p_source_85_meaning => l_array_source_85_meaning(Idx)
164041 , p_source_86 => g_array_event(l_event_id).array_value_num('source_86')
164042 , p_source_87 => g_array_event(l_event_id).array_value_num('source_87')
164043 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
164044 , p_source_89 => l_array_source_89(Idx)
164045 , p_source_90 => l_array_source_90(Idx)
164046 , p_source_91 => l_array_source_91(Idx)
164047 , p_source_92 => l_array_source_92(Idx)
164048 , p_source_93 => l_array_source_93(Idx)
164049 , p_source_94 => l_array_source_94(Idx)
164050 , p_source_95 => l_array_source_95(Idx)
164051 , p_source_96 => l_array_source_96(Idx)
164052 , p_source_97 => l_array_source_97(Idx)
164053 , p_source_98 => l_array_source_98(Idx)
164054 , p_source_99 => l_array_source_99(Idx)
164055 , p_source_100 => l_array_source_100(Idx)
164056 , p_source_145 => l_array_source_145(Idx)
164057 , p_source_145_meaning => l_array_source_145_meaning(Idx)
164058 , p_source_146 => g_array_event(l_event_id).array_value_date('source_146')
164059 , p_source_147 => g_array_event(l_event_id).array_value_num('source_147')
164060 , p_source_148 => g_array_event(l_event_id).array_value_char('source_148')
164061 );
164062 If(l_balance_type_code = 'A') THEN
164063 l_actual_gain_loss_ref := l_gain_or_loss_ref;
164064 END IF;
164065
164066 --
164067
164068
164069 --
164070 AcctLineType_214 (
164071 p_application_id => p_application_id
164072 ,p_event_id => l_event_id
164073 ,p_calculate_acctd_flag => l_calculate_acctd_flag
164074 ,p_calculate_g_l_flag => l_calculate_g_l_flag
164078
164075 ,p_actual_flag => l_actual_flag
164076 ,p_balance_type_code => l_balance_type_code
164077 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
164079 , p_source_1 => l_array_source_1(Idx)
164080 , p_source_16 => l_array_source_16(Idx)
164081 , p_source_28 => l_array_source_28(Idx)
164082 , p_source_28_meaning => l_array_source_28_meaning(Idx)
164083 , p_source_47 => l_array_source_47(Idx)
164084 , p_source_58 => l_array_source_58(Idx)
164085 , p_source_60 => l_array_source_60(Idx)
164086 , p_source_62 => l_array_source_62(Idx)
164087 , p_source_63 => g_array_event(l_event_id).array_value_num('source_63')
164088 , p_source_69 => l_array_source_69(Idx)
164089 , p_source_70 => l_array_source_70(Idx)
164090 , p_source_71 => l_array_source_71(Idx)
164091 , p_source_72 => g_array_event(l_event_id).array_value_char('source_72')
164092 , p_source_73 => l_array_source_73(Idx)
164093 , p_source_74 => l_array_source_74(Idx)
164094 , p_source_75 => l_array_source_75(Idx)
164095 , p_source_76 => l_array_source_76(Idx)
164096 , p_source_77 => l_array_source_77(Idx)
164097 , p_source_78 => l_array_source_78(Idx)
164098 , p_source_82 => l_array_source_82(Idx)
164099 , p_source_83 => l_array_source_83(Idx)
164100 , p_source_84 => l_array_source_84(Idx)
164101 , p_source_85 => l_array_source_85(Idx)
164102 , p_source_85_meaning => l_array_source_85_meaning(Idx)
164103 , p_source_86 => g_array_event(l_event_id).array_value_num('source_86')
164104 , p_source_87 => g_array_event(l_event_id).array_value_num('source_87')
164105 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
164106 , p_source_89 => l_array_source_89(Idx)
164107 , p_source_90 => l_array_source_90(Idx)
164108 , p_source_91 => l_array_source_91(Idx)
164109 , p_source_92 => l_array_source_92(Idx)
164110 , p_source_93 => l_array_source_93(Idx)
164111 , p_source_94 => l_array_source_94(Idx)
164112 , p_source_95 => l_array_source_95(Idx)
164113 , p_source_96 => l_array_source_96(Idx)
164114 , p_source_97 => l_array_source_97(Idx)
164115 , p_source_98 => l_array_source_98(Idx)
164116 , p_source_99 => l_array_source_99(Idx)
164117 , p_source_100 => l_array_source_100(Idx)
164118 , p_source_145 => l_array_source_145(Idx)
164119 , p_source_145_meaning => l_array_source_145_meaning(Idx)
164120 , p_source_146 => g_array_event(l_event_id).array_value_date('source_146')
164121 , p_source_147 => g_array_event(l_event_id).array_value_num('source_147')
164122 , p_source_148 => g_array_event(l_event_id).array_value_char('source_148')
164123 );
164124 If(l_balance_type_code = 'A') THEN
164125 l_actual_gain_loss_ref := l_gain_or_loss_ref;
164126 END IF;
164127
164128 --
164129
164130
164131 --
164132 AcctLineType_219 (
164133 p_application_id => p_application_id
164134 ,p_event_id => l_event_id
164135 ,p_calculate_acctd_flag => l_calculate_acctd_flag
164136 ,p_calculate_g_l_flag => l_calculate_g_l_flag
164137 ,p_actual_flag => l_actual_flag
164138 ,p_balance_type_code => l_balance_type_code
164139 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
164140
164141 , p_source_1 => l_array_source_1(Idx)
164142 , p_source_16 => l_array_source_16(Idx)
164143 , p_source_28 => l_array_source_28(Idx)
164144 , p_source_28_meaning => l_array_source_28_meaning(Idx)
164145 , p_source_46 => l_array_source_46(Idx)
164146 , p_source_54 => l_array_source_54(Idx)
164147 , p_source_54_meaning => l_array_source_54_meaning(Idx)
164148 , p_source_58 => l_array_source_58(Idx)
164149 , p_source_60 => l_array_source_60(Idx)
164150 , p_source_62 => l_array_source_62(Idx)
164151 , p_source_63 => g_array_event(l_event_id).array_value_num('source_63')
164152 , p_source_69 => l_array_source_69(Idx)
164153 , p_source_70 => l_array_source_70(Idx)
164154 , p_source_71 => l_array_source_71(Idx)
164155 , p_source_72 => g_array_event(l_event_id).array_value_char('source_72')
164156 , p_source_73 => l_array_source_73(Idx)
164157 , p_source_74 => l_array_source_74(Idx)
164158 , p_source_75 => l_array_source_75(Idx)
164159 , p_source_76 => l_array_source_76(Idx)
164160 , p_source_77 => l_array_source_77(Idx)
164161 , p_source_78 => l_array_source_78(Idx)
164162 , p_source_79 => l_array_source_79(Idx)
164163 , p_source_80 => l_array_source_80(Idx)
164164 , p_source_81 => l_array_source_81(Idx)
164165 , p_source_82 => l_array_source_82(Idx)
164166 , p_source_83 => l_array_source_83(Idx)
164167 , p_source_84 => l_array_source_84(Idx)
164168 , p_source_85 => l_array_source_85(Idx)
164169 , p_source_85_meaning => l_array_source_85_meaning(Idx)
164170 , p_source_86 => g_array_event(l_event_id).array_value_num('source_86')
164171 , p_source_87 => g_array_event(l_event_id).array_value_num('source_87')
164172 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
164173 , p_source_89 => l_array_source_89(Idx)
164174 , p_source_90 => l_array_source_90(Idx)
164175 , p_source_91 => l_array_source_91(Idx)
164176 , p_source_92 => l_array_source_92(Idx)
164177 , p_source_93 => l_array_source_93(Idx)
164178 , p_source_94 => l_array_source_94(Idx)
164179 , p_source_95 => l_array_source_95(Idx)
164180 , p_source_96 => l_array_source_96(Idx)
164181 , p_source_97 => l_array_source_97(Idx)
164182 , p_source_98 => l_array_source_98(Idx)
164183 , p_source_99 => l_array_source_99(Idx)
164184 , p_source_100 => l_array_source_100(Idx)
164185 , p_source_145 => l_array_source_145(Idx)
164186 , p_source_145_meaning => l_array_source_145_meaning(Idx)
164187 );
164188 If(l_balance_type_code = 'A') THEN
164189 l_actual_gain_loss_ref := l_gain_or_loss_ref;
164190 END IF;
164191
164192 --
164193
164194
164195 --
164196 AcctLineType_223 (
164197 p_application_id => p_application_id
164198 ,p_event_id => l_event_id
164199 ,p_calculate_acctd_flag => l_calculate_acctd_flag
164200 ,p_calculate_g_l_flag => l_calculate_g_l_flag
164201 ,p_actual_flag => l_actual_flag
164202 ,p_balance_type_code => l_balance_type_code
164203 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
164204
164208 , p_source_15 => g_array_event(l_event_id).array_value_num('source_15')
164205 , p_source_1 => l_array_source_1(Idx)
164206 , p_source_10 => g_array_event(l_event_id).array_value_char('source_10')
164207 , p_source_10_meaning => g_array_event(l_event_id).array_value_char('source_10_meaning')
164209 , p_source_16 => l_array_source_16(Idx)
164210 , p_source_17 => l_array_source_17(Idx)
164211 , p_source_17_meaning => l_array_source_17_meaning(Idx)
164212 , p_source_18 => g_array_event(l_event_id).array_value_num('source_18')
164213 , p_source_25 => l_array_source_25(Idx)
164214 , p_source_28 => l_array_source_28(Idx)
164215 , p_source_28_meaning => l_array_source_28_meaning(Idx)
164216 , p_source_43 => g_array_event(l_event_id).array_value_char('source_43')
164217 , p_source_43_meaning => g_array_event(l_event_id).array_value_char('source_43_meaning')
164218 , p_source_54 => l_array_source_54(Idx)
164219 , p_source_54_meaning => l_array_source_54_meaning(Idx)
164220 , p_source_58 => l_array_source_58(Idx)
164221 , p_source_60 => l_array_source_60(Idx)
164222 , p_source_62 => l_array_source_62(Idx)
164223 , p_source_63 => g_array_event(l_event_id).array_value_num('source_63')
164224 , p_source_69 => l_array_source_69(Idx)
164225 , p_source_70 => l_array_source_70(Idx)
164226 , p_source_71 => l_array_source_71(Idx)
164227 , p_source_72 => g_array_event(l_event_id).array_value_char('source_72')
164228 , p_source_73 => l_array_source_73(Idx)
164229 , p_source_74 => l_array_source_74(Idx)
164230 , p_source_75 => l_array_source_75(Idx)
164231 , p_source_76 => l_array_source_76(Idx)
164232 , p_source_77 => l_array_source_77(Idx)
164233 , p_source_78 => l_array_source_78(Idx)
164234 , p_source_82 => l_array_source_82(Idx)
164235 , p_source_83 => l_array_source_83(Idx)
164236 , p_source_84 => l_array_source_84(Idx)
164237 , p_source_85 => l_array_source_85(Idx)
164238 , p_source_85_meaning => l_array_source_85_meaning(Idx)
164239 , p_source_86 => g_array_event(l_event_id).array_value_num('source_86')
164240 , p_source_87 => g_array_event(l_event_id).array_value_num('source_87')
164241 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
164242 , p_source_89 => l_array_source_89(Idx)
164243 , p_source_90 => l_array_source_90(Idx)
164244 , p_source_91 => l_array_source_91(Idx)
164245 , p_source_92 => l_array_source_92(Idx)
164246 , p_source_93 => l_array_source_93(Idx)
164247 , p_source_94 => l_array_source_94(Idx)
164248 , p_source_95 => l_array_source_95(Idx)
164249 , p_source_96 => l_array_source_96(Idx)
164250 , p_source_97 => l_array_source_97(Idx)
164251 , p_source_98 => l_array_source_98(Idx)
164252 , p_source_99 => l_array_source_99(Idx)
164253 , p_source_100 => l_array_source_100(Idx)
164254 , p_source_146 => g_array_event(l_event_id).array_value_date('source_146')
164255 , p_source_147 => g_array_event(l_event_id).array_value_num('source_147')
164256 , p_source_148 => g_array_event(l_event_id).array_value_char('source_148')
164257 );
164258 If(l_balance_type_code = 'A') THEN
164259 l_actual_gain_loss_ref := l_gain_or_loss_ref;
164260 END IF;
164261
164262 --
164263
164264
164265 --
164266 AcctLineType_227 (
164267 p_application_id => p_application_id
164268 ,p_event_id => l_event_id
164269 ,p_calculate_acctd_flag => l_calculate_acctd_flag
164270 ,p_calculate_g_l_flag => l_calculate_g_l_flag
164271 ,p_actual_flag => l_actual_flag
164272 ,p_balance_type_code => l_balance_type_code
164273 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
164274
164275 , p_source_1 => l_array_source_1(Idx)
164276 , p_source_16 => l_array_source_16(Idx)
164277 , p_source_25 => l_array_source_25(Idx)
164278 , p_source_28 => l_array_source_28(Idx)
164279 , p_source_28_meaning => l_array_source_28_meaning(Idx)
164280 , p_source_54 => l_array_source_54(Idx)
164281 , p_source_54_meaning => l_array_source_54_meaning(Idx)
164282 , p_source_58 => l_array_source_58(Idx)
164283 , p_source_60 => l_array_source_60(Idx)
164284 , p_source_62 => l_array_source_62(Idx)
164285 , p_source_63 => g_array_event(l_event_id).array_value_num('source_63')
164286 , p_source_69 => l_array_source_69(Idx)
164287 , p_source_70 => l_array_source_70(Idx)
164288 , p_source_71 => l_array_source_71(Idx)
164289 , p_source_72 => g_array_event(l_event_id).array_value_char('source_72')
164290 , p_source_73 => l_array_source_73(Idx)
164291 , p_source_74 => l_array_source_74(Idx)
164292 , p_source_75 => l_array_source_75(Idx)
164293 , p_source_76 => l_array_source_76(Idx)
164294 , p_source_77 => l_array_source_77(Idx)
164295 , p_source_78 => l_array_source_78(Idx)
164296 , p_source_82 => l_array_source_82(Idx)
164297 , p_source_83 => l_array_source_83(Idx)
164298 , p_source_84 => l_array_source_84(Idx)
164299 , p_source_85 => l_array_source_85(Idx)
164300 , p_source_85_meaning => l_array_source_85_meaning(Idx)
164301 , p_source_86 => g_array_event(l_event_id).array_value_num('source_86')
164302 , p_source_87 => g_array_event(l_event_id).array_value_num('source_87')
164303 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
164304 , p_source_89 => l_array_source_89(Idx)
164305 , p_source_90 => l_array_source_90(Idx)
164306 , p_source_91 => l_array_source_91(Idx)
164307 , p_source_92 => l_array_source_92(Idx)
164308 , p_source_93 => l_array_source_93(Idx)
164309 , p_source_94 => l_array_source_94(Idx)
164310 , p_source_95 => l_array_source_95(Idx)
164311 , p_source_96 => l_array_source_96(Idx)
164312 , p_source_97 => l_array_source_97(Idx)
164313 , p_source_98 => l_array_source_98(Idx)
164314 , p_source_99 => l_array_source_99(Idx)
164315 , p_source_100 => l_array_source_100(Idx)
164316 , p_source_146 => g_array_event(l_event_id).array_value_date('source_146')
164317 , p_source_147 => g_array_event(l_event_id).array_value_num('source_147')
164318 , p_source_148 => g_array_event(l_event_id).array_value_char('source_148')
164319 );
164320 If(l_balance_type_code = 'A') THEN
164321 l_actual_gain_loss_ref := l_gain_or_loss_ref;
164322 END IF;
164323
164324 --
164325
164326
164327 --
164331 ,p_calculate_acctd_flag => l_calculate_acctd_flag
164328 AcctLineType_231 (
164329 p_application_id => p_application_id
164330 ,p_event_id => l_event_id
164332 ,p_calculate_g_l_flag => l_calculate_g_l_flag
164333 ,p_actual_flag => l_actual_flag
164334 ,p_balance_type_code => l_balance_type_code
164335 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
164336
164337 , p_source_1 => l_array_source_1(Idx)
164338 , p_source_16 => l_array_source_16(Idx)
164339 , p_source_25 => l_array_source_25(Idx)
164340 , p_source_28 => l_array_source_28(Idx)
164341 , p_source_28_meaning => l_array_source_28_meaning(Idx)
164342 , p_source_54 => l_array_source_54(Idx)
164343 , p_source_54_meaning => l_array_source_54_meaning(Idx)
164344 , p_source_58 => l_array_source_58(Idx)
164345 , p_source_60 => l_array_source_60(Idx)
164346 , p_source_62 => l_array_source_62(Idx)
164347 , p_source_63 => g_array_event(l_event_id).array_value_num('source_63')
164348 , p_source_69 => l_array_source_69(Idx)
164349 , p_source_70 => l_array_source_70(Idx)
164350 , p_source_71 => l_array_source_71(Idx)
164351 , p_source_72 => g_array_event(l_event_id).array_value_char('source_72')
164352 , p_source_73 => l_array_source_73(Idx)
164353 , p_source_74 => l_array_source_74(Idx)
164354 , p_source_75 => l_array_source_75(Idx)
164355 , p_source_76 => l_array_source_76(Idx)
164356 , p_source_77 => l_array_source_77(Idx)
164357 , p_source_78 => l_array_source_78(Idx)
164358 , p_source_82 => l_array_source_82(Idx)
164359 , p_source_83 => l_array_source_83(Idx)
164360 , p_source_84 => l_array_source_84(Idx)
164361 , p_source_85 => l_array_source_85(Idx)
164362 , p_source_85_meaning => l_array_source_85_meaning(Idx)
164363 , p_source_86 => g_array_event(l_event_id).array_value_num('source_86')
164364 , p_source_87 => g_array_event(l_event_id).array_value_num('source_87')
164365 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
164366 , p_source_89 => l_array_source_89(Idx)
164367 , p_source_90 => l_array_source_90(Idx)
164368 , p_source_91 => l_array_source_91(Idx)
164369 , p_source_92 => l_array_source_92(Idx)
164370 , p_source_93 => l_array_source_93(Idx)
164371 , p_source_94 => l_array_source_94(Idx)
164372 , p_source_95 => l_array_source_95(Idx)
164373 , p_source_96 => l_array_source_96(Idx)
164374 , p_source_97 => l_array_source_97(Idx)
164375 , p_source_98 => l_array_source_98(Idx)
164376 , p_source_99 => l_array_source_99(Idx)
164377 , p_source_100 => l_array_source_100(Idx)
164378 , p_source_146 => g_array_event(l_event_id).array_value_date('source_146')
164379 , p_source_147 => g_array_event(l_event_id).array_value_num('source_147')
164380 , p_source_148 => g_array_event(l_event_id).array_value_char('source_148')
164381 );
164382 If(l_balance_type_code = 'A') THEN
164383 l_actual_gain_loss_ref := l_gain_or_loss_ref;
164384 END IF;
164385
164386 --
164387
164388
164389 --
164390 AcctLineType_237 (
164391 p_application_id => p_application_id
164392 ,p_event_id => l_event_id
164393 ,p_calculate_acctd_flag => l_calculate_acctd_flag
164394 ,p_calculate_g_l_flag => l_calculate_g_l_flag
164395 ,p_actual_flag => l_actual_flag
164396 ,p_balance_type_code => l_balance_type_code
164397 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
164398
164399 , p_source_1 => l_array_source_1(Idx)
164400 , p_source_10 => g_array_event(l_event_id).array_value_char('source_10')
164401 , p_source_10_meaning => g_array_event(l_event_id).array_value_char('source_10_meaning')
164402 , p_source_16 => l_array_source_16(Idx)
164403 , p_source_25 => l_array_source_25(Idx)
164404 , p_source_28 => l_array_source_28(Idx)
164405 , p_source_28_meaning => l_array_source_28_meaning(Idx)
164406 , p_source_39 => l_array_source_39(Idx)
164407 , p_source_58 => l_array_source_58(Idx)
164408 , p_source_60 => l_array_source_60(Idx)
164409 , p_source_62 => l_array_source_62(Idx)
164410 , p_source_63 => g_array_event(l_event_id).array_value_num('source_63')
164411 , p_source_69 => l_array_source_69(Idx)
164412 , p_source_70 => l_array_source_70(Idx)
164413 , p_source_71 => l_array_source_71(Idx)
164414 , p_source_72 => g_array_event(l_event_id).array_value_char('source_72')
164415 , p_source_73 => l_array_source_73(Idx)
164416 , p_source_74 => l_array_source_74(Idx)
164417 , p_source_75 => l_array_source_75(Idx)
164418 , p_source_76 => l_array_source_76(Idx)
164419 , p_source_77 => l_array_source_77(Idx)
164420 , p_source_78 => l_array_source_78(Idx)
164421 , p_source_82 => l_array_source_82(Idx)
164422 , p_source_83 => l_array_source_83(Idx)
164423 , p_source_84 => l_array_source_84(Idx)
164424 , p_source_85 => l_array_source_85(Idx)
164425 , p_source_85_meaning => l_array_source_85_meaning(Idx)
164426 , p_source_86 => g_array_event(l_event_id).array_value_num('source_86')
164427 , p_source_87 => g_array_event(l_event_id).array_value_num('source_87')
164428 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
164429 , p_source_89 => l_array_source_89(Idx)
164430 , p_source_90 => l_array_source_90(Idx)
164431 , p_source_91 => l_array_source_91(Idx)
164432 , p_source_92 => l_array_source_92(Idx)
164433 , p_source_93 => l_array_source_93(Idx)
164434 , p_source_94 => l_array_source_94(Idx)
164435 , p_source_95 => l_array_source_95(Idx)
164436 , p_source_96 => l_array_source_96(Idx)
164437 , p_source_97 => l_array_source_97(Idx)
164438 , p_source_98 => l_array_source_98(Idx)
164439 , p_source_99 => l_array_source_99(Idx)
164440 , p_source_100 => l_array_source_100(Idx)
164441 , p_source_146 => g_array_event(l_event_id).array_value_date('source_146')
164442 , p_source_147 => g_array_event(l_event_id).array_value_num('source_147')
164443 , p_source_148 => g_array_event(l_event_id).array_value_char('source_148')
164444 );
164445 If(l_balance_type_code = 'A') THEN
164446 l_actual_gain_loss_ref := l_gain_or_loss_ref;
164447 END IF;
164448
164449 --
164450
164451 -- only execute it if calculate g/l flag is yes, and primary or secondary ledger
164455 (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'))
164452 -- or secondary ledger that has different currency with primary
164453 -- or alc that is calculated by sla
164454 IF (((l_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
164456
164457 -- IF((l_calculate_g_l_flag='Y' or XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id <>
164458 -- XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id)
164459 AND (l_actual_flag = 'A')) THEN
164460 XLA_AE_LINES_PKG.CreateGainOrLossLines(
164461 p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
164462 ,p_application_id => p_application_id
164463 ,p_amb_context_code => 'DEFAULT'
164464 ,p_entity_code => xla_ae_journal_entry_pkg.g_cache_event.entity_code
164465 ,p_event_class_code => C_EVENT_CLASS_CODE
164466 ,p_event_type_code => C_EVENT_TYPE_CODE
164467
164468 ,p_gain_ccid => -1
164469 ,p_loss_ccid => -1
164470
164471 ,p_actual_flag => l_actual_flag
164472 ,p_enc_flag => null
164473 ,p_actual_g_l_ref => l_actual_gain_loss_ref
164474 ,p_enc_g_l_ref => null
164475 );
164476 END IF;
164477 END IF;
164478 END IF;
164479
164480 ELSE
164481 --
164482 -- Bug 4872078 - Do nothing if the event is meant for transaction reversal
164483 --
164484 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
164485 trace
164486 (p_msg => 'Trancaction revesal option is Y'
164487 ,p_level => C_LEVEL_STATEMENT
164488 ,p_module => l_log_module);
164489 END IF;
164490 END IF;
164491
164492 END LOOP;
164493 l_result := XLA_AE_LINES_PKG.InsertLines ;
164494 end loop;
164495 close line_cur;
164496
164497
164498 --
164499 -- insert headers into xla_ae_headers_gt table
164500 --
164501 l_result := XLA_AE_HEADER_PKG.InsertHeaders ;
164502
164503 -- insert into errors table here.
164504
164505 END LOOP;
164506
164507 --
164508 -- 4865292
164509 --
164510 -- Compare g_hdr_extract_count with event count in
164511 -- CreateHeadersAndLines.
164512 --
164513 g_hdr_extract_count := g_hdr_extract_count + header_cur%ROWCOUNT;
164514
164515 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
164516 trace (p_msg => '# rows extracted from header extract objects '
164517 || ' (running total): '
164518 || g_hdr_extract_count
164519 ,p_level => C_LEVEL_STATEMENT
164520 ,p_module => l_log_module);
164521 END IF;
164522
164523 CLOSE header_cur;
164524 --
164525
164526 --
164527 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
164528 trace
164529 (p_msg => 'END of EventClass_251'
164530 ,p_level => C_LEVEL_PROCEDURE
164531 ,p_module => l_log_module);
164532 END IF;
164533 --
164534 RETURN l_result;
164535 EXCEPTION
164536 WHEN xla_exceptions_pkg.application_exception THEN
164537
164538 IF header_cur%ISOPEN THEN CLOSE header_cur; END IF;
164539
164540
164541 IF line_cur%ISOPEN THEN CLOSE line_cur; END IF;
164542
164543 RAISE;
164544
164545 WHEN NO_DATA_FOUND THEN
164546
164547 IF header_cur%ISOPEN THEN CLOSE header_cur; END IF;
164548 IF line_cur%ISOPEN THEN CLOSE line_cur; END IF;
164549
164550 FOR header_record IN header_cur
164551 LOOP
164552 l_array_header_events(header_record.event_id) := header_record.event_id;
164553 END LOOP;
164554
164555 l_first_event_id := l_array_header_events(l_array_header_events.FIRST);
164556 l_last_event_id := l_array_header_events(l_array_header_events.LAST);
164557
164558 fnd_file.put_line(fnd_file.LOG, ' ');
164559 fnd_file.put_line(fnd_file.LOG, '***************************************************************************');
164560 fnd_file.put_line(fnd_file.LOG, 'EVENT CLASS CODE = ' || C_EVENT_CLASS_CODE );
164561 fnd_file.put_line(fnd_file.LOG, 'The following events are present in the line extract but MISSING in the header extract: ');
164562
164563 FOR line_record IN line_cur(l_first_event_id, l_last_event_id)
164564 LOOP
164565 IF (NOT l_array_header_events.EXISTS(line_record.event_id)) AND (NOT l_array_duplicate_checker.EXISTS(line_record.event_id)) THEN
164566 fnd_file.put_line(fnd_file.log, 'Event_id = ' || line_record.event_id);
164567 l_array_duplicate_checker(line_record.event_id) := line_record.event_id;
164568 END IF;
164569 END LOOP;
164570
164571 fnd_file.put_line(fnd_file.LOG, '***************************************************************************');
164572 fnd_file.put_line(fnd_file.LOG, ' ');
164573
164574
164575 xla_exceptions_pkg.raise_message
164576 (p_location => 'XLA_00200_AAD_S_000012_PKG.EventClass_251');
164577
164578
164579 WHEN OTHERS THEN
164580 xla_exceptions_pkg.raise_message
164581 (p_location => 'XLA_00200_AAD_S_000012_PKG.EventClass_251');
164582 END EventClass_251;
164583 --
164584
164585 ---------------------------------------
164586 --
164587 -- PRIVATE PROCEDURE
164588 -- insert_sources_252
164589 --
164590 ----------------------------------------
164591 --
164592 PROCEDURE insert_sources_252(
164593 p_target_ledger_id IN NUMBER
164594 , p_language IN VARCHAR2
164595 , p_sla_ledger_id IN NUMBER
164596 , p_pad_start_date IN DATE
164597 , p_pad_end_date IN DATE
164598 )
164599 IS
164600
164604 l_log_module VARCHAR2(240);
164601 C_EVENT_TYPE_CODE CONSTANT VARCHAR2(30) := 'PAYMENTS_ALL';
164602 C_EVENT_CLASS_CODE CONSTANT VARCHAR2(30) := 'PAYMENTS';
164603 p_apps_owner VARCHAR2(30);
164605 BEGIN
164606 IF g_log_enabled THEN
164607 l_log_module := C_DEFAULT_MODULE||'.insert_sources_252';
164608 END IF;
164609 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
164610
164611 trace
164612 (p_msg => 'BEGIN of insert_sources_252'
164613 ,p_level => C_LEVEL_PROCEDURE
164614 ,p_module => l_log_module);
164615
164616 END IF;
164617
164618 -- select APPS owner
164619 SELECT oracle_username
164620 INTO p_apps_owner
164621 FROM fnd_oracle_userid
164622 WHERE read_only_flag = 'U'
164623 ;
164624
164625 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
164626 trace
164627 (p_msg => 'p_target_ledger_id = '||p_target_ledger_id||
164628 ' - p_language = '||p_language||
164629 ' - p_sla_ledger_id = '||p_sla_ledger_id ||
164630 ' - p_pad_start_date = '||TO_CHAR(p_pad_start_date)||
164631 ' - p_pad_end_date = '||TO_CHAR(p_pad_end_date)||
164632 ' - p_apps_owner = '||TO_CHAR(p_apps_owner)
164633 ,p_level => C_LEVEL_STATEMENT
164634 ,p_module => l_log_module);
164635 END IF;
164636
164637
164638 --
164639 INSERT INTO xla_diag_sources --hdr2
164640 (
164641 event_id
164642 , ledger_id
164643 , sla_ledger_id
164644 , description_language
164645 , object_name
164646 , object_type_code
164647 , line_number
164648 , source_application_id
164649 , source_type_code
164650 , source_code
164651 , source_value
164652 , source_meaning
164653 , created_by
164654 , creation_date
164655 , last_update_date
164656 , last_updated_by
164657 , last_update_login
164658 , program_update_date
164659 , program_application_id
164660 , program_id
164661 , request_id
164662 )
164663 SELECT
164664 event_id
164665 , p_target_ledger_id
164666 , p_sla_ledger_id
164667 , p_language
164668 , object_name
164669 , object_type_code
164670 , line_number
164671 , source_application_id
164672 , source_type_code
164673 , source_code
164674 , SUBSTR(source_value ,1,1996)
164675 , SUBSTR(source_meaning ,1,200)
164676 , xla_environment_pkg.g_Usr_Id
164677 , TRUNC(SYSDATE)
164678 , TRUNC(SYSDATE)
164679 , xla_environment_pkg.g_Usr_Id
164680 , xla_environment_pkg.g_Login_Id
164681 , TRUNC(SYSDATE)
164682 , xla_environment_pkg.g_Prog_Appl_Id
164683 , xla_environment_pkg.g_Prog_Id
164684 , xla_environment_pkg.g_Req_Id
164685 FROM (
164686 SELECT xet.event_id event_id
164687 , 0 line_number
164688 , CASE r
164689 WHEN 1 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
164690 WHEN 2 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
164691 WHEN 3 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
164692 WHEN 4 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
164693 WHEN 5 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
164694 WHEN 6 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
164695 WHEN 7 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
164696 WHEN 8 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
164697 WHEN 9 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
164698 WHEN 10 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
164699 WHEN 11 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
164700 WHEN 12 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
164701 WHEN 13 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
164702 WHEN 14 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
164703 WHEN 15 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
164704 WHEN 16 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
164705 WHEN 17 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
164706 WHEN 18 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
164707 WHEN 19 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
164708 WHEN 20 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
164709 WHEN 21 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
164710 WHEN 22 THEN 'FV_XLA_PAYMENTS_V'
164711 WHEN 23 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
164712 WHEN 24 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
164713 WHEN 25 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
164714 WHEN 26 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
164715 WHEN 27 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
164716 WHEN 28 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
164717 WHEN 29 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
164718 WHEN 30 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
164719 WHEN 31 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
164720 WHEN 32 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
164721 WHEN 33 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
164722 WHEN 34 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
164723 WHEN 35 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
164724 WHEN 36 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
164725 WHEN 37 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
164726 WHEN 38 THEN 'FV_XLA_PAYMENTS_V'
164727 WHEN 39 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
164728 WHEN 40 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
164729 WHEN 41 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
164730
164731 ELSE null
164732 END object_name
164733 , CASE r
164734 WHEN 1 THEN 'HEADER'
164735 WHEN 2 THEN 'HEADER'
164739 WHEN 6 THEN 'HEADER'
164736 WHEN 3 THEN 'HEADER'
164737 WHEN 4 THEN 'HEADER'
164738 WHEN 5 THEN 'HEADER'
164740 WHEN 7 THEN 'HEADER'
164741 WHEN 8 THEN 'HEADER'
164742 WHEN 9 THEN 'HEADER'
164743 WHEN 10 THEN 'HEADER'
164744 WHEN 11 THEN 'HEADER'
164745 WHEN 12 THEN 'HEADER'
164746 WHEN 13 THEN 'HEADER'
164747 WHEN 14 THEN 'HEADER'
164748 WHEN 15 THEN 'HEADER'
164749 WHEN 16 THEN 'HEADER'
164750 WHEN 17 THEN 'HEADER'
164751 WHEN 18 THEN 'HEADER'
164752 WHEN 19 THEN 'HEADER'
164753 WHEN 20 THEN 'HEADER'
164754 WHEN 21 THEN 'HEADER'
164755 WHEN 22 THEN 'HEADER'
164756 WHEN 23 THEN 'HEADER'
164757 WHEN 24 THEN 'HEADER'
164758 WHEN 25 THEN 'HEADER'
164759 WHEN 26 THEN 'HEADER'
164760 WHEN 27 THEN 'HEADER'
164761 WHEN 28 THEN 'HEADER'
164762 WHEN 29 THEN 'HEADER'
164763 WHEN 30 THEN 'HEADER'
164764 WHEN 31 THEN 'HEADER'
164765 WHEN 32 THEN 'HEADER'
164766 WHEN 33 THEN 'HEADER'
164767 WHEN 34 THEN 'HEADER'
164768 WHEN 35 THEN 'HEADER'
164769 WHEN 36 THEN 'HEADER'
164770 WHEN 37 THEN 'HEADER'
164771 WHEN 38 THEN 'HEADER'
164772 WHEN 39 THEN 'HEADER'
164773 WHEN 40 THEN 'HEADER'
164774 WHEN 41 THEN 'HEADER'
164775
164776 ELSE null
164777 END object_type_code
164778 , CASE r
164779 WHEN 1 THEN '200'
164780 WHEN 2 THEN '200'
164781 WHEN 3 THEN '200'
164782 WHEN 4 THEN '200'
164783 WHEN 5 THEN '200'
164784 WHEN 6 THEN '200'
164785 WHEN 7 THEN '200'
164786 WHEN 8 THEN '200'
164787 WHEN 9 THEN '200'
164788 WHEN 10 THEN '200'
164789 WHEN 11 THEN '200'
164790 WHEN 12 THEN '200'
164791 WHEN 13 THEN '200'
164792 WHEN 14 THEN '200'
164793 WHEN 15 THEN '200'
164794 WHEN 16 THEN '200'
164795 WHEN 17 THEN '200'
164796 WHEN 18 THEN '200'
164797 WHEN 19 THEN '200'
164798 WHEN 20 THEN '200'
164799 WHEN 21 THEN '200'
164800 WHEN 22 THEN '8901'
164801 WHEN 23 THEN '200'
164802 WHEN 24 THEN '200'
164803 WHEN 25 THEN '200'
164804 WHEN 26 THEN '200'
164805 WHEN 27 THEN '200'
164806 WHEN 28 THEN '200'
164807 WHEN 29 THEN '200'
164808 WHEN 30 THEN '200'
164809 WHEN 31 THEN '200'
164810 WHEN 32 THEN '200'
164811 WHEN 33 THEN '200'
164812 WHEN 34 THEN '200'
164813 WHEN 35 THEN '200'
164814 WHEN 36 THEN '200'
164815 WHEN 37 THEN '200'
164816 WHEN 38 THEN '8901'
164817 WHEN 39 THEN '200'
164818 WHEN 40 THEN '200'
164819 WHEN 41 THEN '200'
164820
164821 ELSE null
164822 END source_application_id
164823 , 'S' source_type_code
164824 , CASE r
164825 WHEN 1 THEN 'DOC_SEQUENCE_NAME'
164826 WHEN 2 THEN 'AC_DOC_SEQUENCE_VALUE'
164827 WHEN 3 THEN 'PAYMENT_TRANSACTION_NUMBER'
164828 WHEN 4 THEN 'AC_CHECK_DATE'
164829 WHEN 5 THEN 'CBA_BANK_ACCOUNT_NAME'
164830 WHEN 6 THEN 'AC_CURRENCY_CODE'
164831 WHEN 7 THEN 'ASP_AUTOMATIC_OFFSETS_VALUE'
164832 WHEN 8 THEN 'CGAC_AP_ASSET_CCID'
164833 WHEN 9 THEN 'FSP_DISC_TAKEN_CCID'
164834 WHEN 10 THEN 'ASP_DISCOUNT_DIST_METHOD'
164835 WHEN 11 THEN 'CGAC_FUTURE_DATED_PMT_CCID'
164836 WHEN 12 THEN 'ASP_FD_PMT_ACCT_SOURCE'
164837 WHEN 13 THEN 'FSP_FUTURE_DATED_PAYMENT_CCID'
164838 WHEN 14 THEN 'POS_FDP_CCID'
164839 WHEN 15 THEN 'ASP_INTEREST_CCID'
164840 WHEN 16 THEN 'ASP_PRORATE_INT_ACROSS_DISTS'
164841 WHEN 17 THEN 'CGAC_CASH_CLEARING_CCID'
164842 WHEN 18 THEN 'CGAC_GAIN_CCID'
164843 WHEN 19 THEN 'ASP_GAIN_CCID'
164844 WHEN 20 THEN 'CGAC_LOSS_CCID'
164845 WHEN 21 THEN 'ASP_LOSS_CCID'
164846 WHEN 22 THEN 'FEDERAL_DIT_CONFIRM_ACCT'
164847 WHEN 23 THEN 'ASP_DISC_TAKEN_CCID'
164848 WHEN 24 THEN 'ASP_AUTO_OFFSET_FLAG'
164849 WHEN 25 THEN 'PAYCARD_ACCRUED_ACCOUNT_CCID'
164850 WHEN 26 THEN 'ASP_ROUNDING_ERROR_CCID'
164851 WHEN 27 THEN 'ASP_WHEN_TO_ACCOUNT_PMT'
164852 WHEN 28 THEN 'THIRD_PARTY_TYPE'
164853 WHEN 29 THEN 'AC_VENDOR_ID'
164854 WHEN 30 THEN 'AC_VENDOR_SITE_ID'
164855 WHEN 31 THEN 'CBA_POOLED_BANK_ACOUNT_FLAG'
164856 WHEN 32 THEN 'AC_FUTURE_PAY_DUE_DATE'
164857 WHEN 33 THEN 'AC_EXCHANGE_DATE'
164858 WHEN 34 THEN 'AC_EXCHANGE_RATE'
164859 WHEN 35 THEN 'AC_EXCHANGE_RATE_TYPE'
164860 WHEN 36 THEN 'PAYMENT_TYPE'
164861 WHEN 37 THEN 'PAYMENT_PROCESSING_TYPE'
164865 WHEN 41 THEN 'TRANSAC_REVERSAL_FLAG'
164862 WHEN 38 THEN 'FEDERAL_DIT_FLAG'
164863 WHEN 39 THEN 'AC_DOC_CATEGORY_CODE'
164864 WHEN 40 THEN 'PAYMENT_DOCUMENT_SEQUENCE_ID'
164866
164867 ELSE null
164868 END source_code
164869 , CASE r
164870 WHEN 1 THEN TO_CHAR(h2.DOC_SEQUENCE_NAME)
164871 WHEN 2 THEN TO_CHAR(h2.AC_DOC_SEQUENCE_VALUE)
164872 WHEN 3 THEN TO_CHAR(h2.PAYMENT_TRANSACTION_NUMBER)
164873 WHEN 4 THEN TO_CHAR(h2.AC_CHECK_DATE)
164874 WHEN 5 THEN TO_CHAR(h2.CBA_BANK_ACCOUNT_NAME)
164875 WHEN 6 THEN TO_CHAR(h2.AC_CURRENCY_CODE)
164876 WHEN 7 THEN TO_CHAR(h3.ASP_AUTOMATIC_OFFSETS_VALUE)
164877 WHEN 8 THEN TO_CHAR(h2.CGAC_AP_ASSET_CCID)
164878 WHEN 9 THEN TO_CHAR(h3.FSP_DISC_TAKEN_CCID)
164879 WHEN 10 THEN TO_CHAR(h3.ASP_DISCOUNT_DIST_METHOD)
164880 WHEN 11 THEN TO_CHAR(h2.CGAC_FUTURE_DATED_PMT_CCID)
164881 WHEN 12 THEN TO_CHAR(h3.ASP_FD_PMT_ACCT_SOURCE)
164882 WHEN 13 THEN TO_CHAR(h3.FSP_FUTURE_DATED_PAYMENT_CCID)
164883 WHEN 14 THEN TO_CHAR(h2.POS_FDP_CCID)
164884 WHEN 15 THEN TO_CHAR(h3.ASP_INTEREST_CCID)
164885 WHEN 16 THEN TO_CHAR(h3.ASP_PRORATE_INT_ACROSS_DISTS)
164886 WHEN 17 THEN TO_CHAR(h2.CGAC_CASH_CLEARING_CCID)
164887 WHEN 18 THEN TO_CHAR(h2.CGAC_GAIN_CCID)
164888 WHEN 19 THEN TO_CHAR(h3.ASP_GAIN_CCID)
164889 WHEN 20 THEN TO_CHAR(h2.CGAC_LOSS_CCID)
164890 WHEN 21 THEN TO_CHAR(h3.ASP_LOSS_CCID)
164891 WHEN 22 THEN TO_CHAR(h5.FEDERAL_DIT_CONFIRM_ACCT)
164892 WHEN 23 THEN TO_CHAR(h3.ASP_DISC_TAKEN_CCID)
164893 WHEN 24 THEN TO_CHAR(h3.ASP_AUTO_OFFSET_FLAG)
164894 WHEN 25 THEN TO_CHAR(h2.PAYCARD_ACCRUED_ACCOUNT_CCID)
164895 WHEN 26 THEN TO_CHAR(h3.ASP_ROUNDING_ERROR_CCID)
164896 WHEN 27 THEN TO_CHAR(h3.ASP_WHEN_TO_ACCOUNT_PMT)
164897 WHEN 28 THEN TO_CHAR(h2.THIRD_PARTY_TYPE)
164898 WHEN 29 THEN TO_CHAR(h2.AC_VENDOR_ID)
164899 WHEN 30 THEN TO_CHAR(h2.AC_VENDOR_SITE_ID)
164900 WHEN 31 THEN TO_CHAR(h2.CBA_POOLED_BANK_ACOUNT_FLAG)
164901 WHEN 32 THEN TO_CHAR(h2.AC_FUTURE_PAY_DUE_DATE)
164902 WHEN 33 THEN TO_CHAR(h2.AC_EXCHANGE_DATE)
164903 WHEN 34 THEN TO_CHAR(h2.AC_EXCHANGE_RATE)
164904 WHEN 35 THEN TO_CHAR(h2.AC_EXCHANGE_RATE_TYPE)
164905 WHEN 36 THEN TO_CHAR(h2.PAYMENT_TYPE)
164906 WHEN 37 THEN TO_CHAR(h2.PAYMENT_PROCESSING_TYPE)
164907 WHEN 38 THEN TO_CHAR(h5.FEDERAL_DIT_FLAG)
164908 WHEN 39 THEN TO_CHAR(h2.AC_DOC_CATEGORY_CODE)
164909 WHEN 40 THEN TO_CHAR(h2.PAYMENT_DOCUMENT_SEQUENCE_ID)
164910 WHEN 41 THEN TO_CHAR(h2.TRANSAC_REVERSAL_FLAG)
164911
164912 ELSE null
164913 END source_value
164914 , CASE r
164915 WHEN 7 THEN fvl10.meaning
164916 WHEN 10 THEN fvl14.meaning
164917 WHEN 12 THEN fvl20.meaning
164918 WHEN 24 THEN fvl43.meaning
164919 WHEN 31 THEN fvl116.meaning
164920 WHEN 36 THEN fvl125.meaning
164921 WHEN 41 THEN fvl177.meaning
164922
164923 ELSE null
164924 END source_meaning
164925 FROM xla_events_gt xet
164926 , AP_PAYMENT_EXTRACT_HEADER_V h2
164927 , AP_SYSTEM_PARAMETERS_EXTRACT_V h3
164928 , FV_XLA_PAYMENTS_V h5
164929 , fnd_lookup_values fvl10
164930 , fnd_lookup_values fvl14
164931 , fnd_lookup_values fvl20
164932 , fnd_lookup_values fvl43
164933 , fnd_lookup_values fvl116
164934 , fnd_lookup_values fvl125
164935 , fnd_lookup_values fvl177
164936 ,(select rownum r from all_objects where rownum <= 41 and owner = p_apps_owner)
164937 WHERE xet.event_date between p_pad_start_date AND p_pad_end_date
164938 AND xet.event_class_code = C_EVENT_CLASS_CODE
164939 AND h2.event_id = xet.event_id
164940 AND h3.asp_org_id = h2.ac_org_id AND h5.federal_org_id=h2.ac_org_id AND fvl10.lookup_type(+) = 'LIABILITY FLEXBUILD METHOD'
164941 AND fvl10.lookup_code(+) = h3.ASP_AUTOMATIC_OFFSETS_VALUE
164942 AND fvl10.view_application_id(+) = 200
164943 AND fvl10.language(+) = USERENV('LANG')
164944 AND fvl14.lookup_type(+) = 'DISCOUNT_DIST_OPTIONS'
164945 AND fvl14.lookup_code(+) = h3.ASP_DISCOUNT_DIST_METHOD
164946 AND fvl14.view_application_id(+) = 200
164947 AND fvl14.language(+) = USERENV('LANG')
164948 AND fvl20.lookup_type(+) = 'FUTURE PAY ACCT SOURCE'
164949 AND fvl20.lookup_code(+) = h3.ASP_FD_PMT_ACCT_SOURCE
164950 AND fvl20.view_application_id(+) = 200
164951 AND fvl20.language(+) = USERENV('LANG')
164952 AND fvl43.lookup_type(+) = 'YES_NO'
164953 AND fvl43.lookup_code(+) = h3.ASP_AUTO_OFFSET_FLAG
164954 AND fvl43.view_application_id(+) = 0
164955 AND fvl43.language(+) = USERENV('LANG')
164956 AND fvl116.lookup_type(+) = 'YES_NO'
164957 AND fvl116.lookup_code(+) = h2.CBA_POOLED_BANK_ACOUNT_FLAG
164958 AND fvl116.view_application_id(+) = 0
164959 AND fvl116.language(+) = USERENV('LANG')
164960 AND fvl125.lookup_type(+) = 'PAYMENT TYPE'
164961 AND fvl125.lookup_code(+) = h2.PAYMENT_TYPE
164962 AND fvl125.view_application_id(+) = 200
164963 AND fvl125.language(+) = USERENV('LANG')
164964 AND fvl177.lookup_type(+) = 'YES_NO'
164965 AND fvl177.lookup_code(+) = h2.TRANSAC_REVERSAL_FLAG
164966 AND fvl177.view_application_id(+) = 0
164967 AND fvl177.language(+) = USERENV('LANG')
164971 --
164968
164969 )
164970 ;
164972 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
164973
164974 trace
164975 (p_msg => 'number of header sources inserted = '||SQL%ROWCOUNT
164976 ,p_level => C_LEVEL_STATEMENT
164977 ,p_module => l_log_module);
164978
164979 END IF;
164980 --
164981
164982
164983
164984 --
164985 INSERT INTO xla_diag_sources --line2
164986 (
164987 event_id
164988 , ledger_id
164989 , sla_ledger_id
164990 , description_language
164991 , object_name
164992 , object_type_code
164993 , line_number
164994 , source_application_id
164995 , source_type_code
164996 , source_code
164997 , source_value
164998 , source_meaning
164999 , created_by
165000 , creation_date
165001 , last_update_date
165002 , last_updated_by
165003 , last_update_login
165004 , program_update_date
165005 , program_application_id
165006 , program_id
165007 , request_id
165008 )
165009 SELECT event_id
165010 , p_target_ledger_id
165011 , p_sla_ledger_id
165012 , p_language
165013 , object_name
165014 , object_type_code
165015 , line_number
165016 , source_application_id
165017 , source_type_code
165018 , source_code
165019 , SUBSTR(source_value,1,1996)
165020 , SUBSTR(source_meaning ,1,200)
165021 , xla_environment_pkg.g_Usr_Id
165022 , TRUNC(SYSDATE)
165023 , TRUNC(SYSDATE)
165024 , xla_environment_pkg.g_Usr_Id
165025 , xla_environment_pkg.g_Login_Id
165026 , TRUNC(SYSDATE)
165027 , xla_environment_pkg.g_Prog_Appl_Id
165028 , xla_environment_pkg.g_Prog_Id
165029 , xla_environment_pkg.g_Req_Id
165030 FROM (
165031 SELECT xet.event_id event_id
165032 , l1.line_number line_number
165033 , CASE r
165034 WHEN 1 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
165035 WHEN 2 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
165036 WHEN 3 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
165037 WHEN 4 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
165038 WHEN 5 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
165039 WHEN 6 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
165040 WHEN 7 THEN 'ZX_AP_DEF_TAX_EXTRACT_V'
165041 WHEN 8 THEN 'FV_XLA_AP_REF_V'
165042 WHEN 9 THEN 'FV_XLA_AP_REF_V'
165043 WHEN 10 THEN 'FV_XLA_AP_REF_V'
165044 WHEN 11 THEN 'FV_XLA_AP_REF_V'
165045 WHEN 12 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
165046 WHEN 13 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
165047 WHEN 14 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
165048 WHEN 15 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
165049 WHEN 16 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
165050 WHEN 17 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
165051 WHEN 18 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
165052 WHEN 19 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
165053 WHEN 20 THEN 'ZX_AP_DEF_TAX_EXTRACT_V'
165054 WHEN 21 THEN 'ZX_AP_TAX_JRNL_LINE_DESC_V'
165055 WHEN 22 THEN 'ZX_AP_DEF_TAX_EXTRACT_V'
165056 WHEN 23 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
165057 WHEN 24 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
165058 WHEN 25 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
165059 WHEN 26 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
165060 WHEN 27 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
165061 WHEN 28 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
165062 WHEN 29 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
165063 WHEN 30 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
165064 WHEN 31 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
165065 WHEN 32 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
165066 WHEN 33 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
165067 WHEN 34 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
165068 WHEN 35 THEN 'ZX_AP_DEF_TAX_EXTRACT_V'
165069 WHEN 36 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
165070 WHEN 37 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
165071 WHEN 38 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
165072 WHEN 39 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
165073 WHEN 40 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
165074 WHEN 41 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
165075 WHEN 42 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
165076
165077 ELSE null
165078 END object_name
165079 , CASE r
165080 WHEN 1 THEN 'LINE'
165081 WHEN 2 THEN 'LINE'
165082 WHEN 3 THEN 'LINE'
165083 WHEN 4 THEN 'LINE'
165084 WHEN 5 THEN 'LINE'
165085 WHEN 6 THEN 'LINE'
165086 WHEN 7 THEN 'LINE'
165087 WHEN 8 THEN 'LINE'
165088 WHEN 9 THEN 'LINE'
165089 WHEN 10 THEN 'LINE'
165090 WHEN 11 THEN 'LINE'
165091 WHEN 12 THEN 'LINE'
165092 WHEN 13 THEN 'LINE'
165093 WHEN 14 THEN 'LINE'
165094 WHEN 15 THEN 'LINE'
165095 WHEN 16 THEN 'LINE'
165096 WHEN 17 THEN 'LINE'
165097 WHEN 18 THEN 'LINE'
165098 WHEN 19 THEN 'LINE'
165099 WHEN 20 THEN 'LINE'
165100 WHEN 21 THEN 'LINE'
165101 WHEN 22 THEN 'LINE'
165102 WHEN 23 THEN 'LINE'
165103 WHEN 24 THEN 'LINE'
165104 WHEN 25 THEN 'LINE'
165105 WHEN 26 THEN 'LINE'
165109 WHEN 30 THEN 'LINE'
165106 WHEN 27 THEN 'LINE'
165107 WHEN 28 THEN 'LINE'
165108 WHEN 29 THEN 'LINE'
165110 WHEN 31 THEN 'LINE'
165111 WHEN 32 THEN 'LINE'
165112 WHEN 33 THEN 'LINE'
165113 WHEN 34 THEN 'LINE'
165114 WHEN 35 THEN 'LINE'
165115 WHEN 36 THEN 'LINE'
165116 WHEN 37 THEN 'LINE'
165117 WHEN 38 THEN 'LINE'
165118 WHEN 39 THEN 'LINE'
165119 WHEN 40 THEN 'LINE'
165120 WHEN 41 THEN 'LINE'
165121 WHEN 42 THEN 'LINE'
165122
165123 ELSE null
165124 END object_type_code
165125 , CASE r
165126 WHEN 1 THEN '200'
165127 WHEN 2 THEN '200'
165128 WHEN 3 THEN '200'
165129 WHEN 4 THEN '200'
165130 WHEN 5 THEN '200'
165131 WHEN 6 THEN '200'
165132 WHEN 7 THEN '200'
165133 WHEN 8 THEN '8901'
165134 WHEN 9 THEN '8901'
165135 WHEN 10 THEN '8901'
165136 WHEN 11 THEN '8901'
165137 WHEN 12 THEN '200'
165138 WHEN 13 THEN '200'
165139 WHEN 14 THEN '200'
165140 WHEN 15 THEN '200'
165141 WHEN 16 THEN '200'
165142 WHEN 17 THEN '200'
165143 WHEN 18 THEN '200'
165144 WHEN 19 THEN '200'
165145 WHEN 20 THEN '200'
165146 WHEN 21 THEN '200'
165147 WHEN 22 THEN '200'
165148 WHEN 23 THEN '200'
165149 WHEN 24 THEN '200'
165150 WHEN 25 THEN '200'
165151 WHEN 26 THEN '200'
165152 WHEN 27 THEN '200'
165153 WHEN 28 THEN '200'
165154 WHEN 29 THEN '200'
165155 WHEN 30 THEN '200'
165156 WHEN 31 THEN '200'
165157 WHEN 32 THEN '200'
165158 WHEN 33 THEN '200'
165159 WHEN 34 THEN '200'
165160 WHEN 35 THEN '200'
165161 WHEN 36 THEN '200'
165162 WHEN 37 THEN '200'
165163 WHEN 38 THEN '200'
165164 WHEN 39 THEN '200'
165165 WHEN 40 THEN '200'
165166 WHEN 41 THEN '200'
165167 WHEN 42 THEN '200'
165168
165169 ELSE null
165170 END source_application_id
165171 , 'S' source_type_code
165172 , CASE r
165173 WHEN 1 THEN 'AID_DIST_CCID'
165174 WHEN 2 THEN 'AID_LINE_TYPE_LOOKUP_CODE'
165175 WHEN 3 THEN 'AI_ACCTS_PAY_CCID'
165176 WHEN 4 THEN 'AWT_RELATED_DIST_ACCOUNT'
165177 WHEN 5 THEN 'POD_CCID'
165178 WHEN 6 THEN 'PO_VARIANCE_ACCOUNT'
165179 WHEN 7 THEN 'TAX_ACCOUNT_CCID'
165180 WHEN 8 THEN 'FEDERAL_FUND_CATEGORY'
165181 WHEN 9 THEN 'FEDERAL_FUND_EXPIRED_STATUS'
165182 WHEN 10 THEN 'FEDERAL_FUND_CAT_DESC'
165183 WHEN 11 THEN 'FEDERAL_PRIOR_YEAR_FLAG'
165184 WHEN 12 THEN 'ENCUMBRANCE_AMOUNT'
165185 WHEN 13 THEN 'POD_ACCRUE_ON_RECEIPT_FLAG'
165186 WHEN 14 THEN 'AI_PAYMENT_STATUS_FLAG'
165187 WHEN 15 THEN 'AI_INVOICE_TYPE_PAID'
165188 WHEN 16 THEN 'DIST_ACCOUNT_REVERSAL_OPTION'
165189 WHEN 17 THEN 'DISTRIBUTION_LINK_TYPE'
165190 WHEN 18 THEN 'AI_INVOICE_CURRENCY_CODE'
165191 WHEN 19 THEN 'OVERRIDE_ACCTD_AMT_FLAG'
165192 WHEN 20 THEN 'TAX_LINE_ID'
165193 WHEN 21 THEN 'REC_NREC_TAX_DIST_ID'
165194 WHEN 22 THEN 'SUMMARY_TAX_LINE_ID'
165195 WHEN 23 THEN 'BUS_FLOW_AP_APP_ID'
165196 WHEN 24 THEN 'BUS_FLOW_INV_DIST_TYPE'
165197 WHEN 25 THEN 'BUS_FLOW_INV_ENTITY_CODE'
165198 WHEN 26 THEN 'BUS_FLOW_INV_DIST_ID'
165199 WHEN 27 THEN 'BUS_FLOW_INV_ID'
165200 WHEN 28 THEN 'APHD_PAY_DIST_LOOKUP_CODE'
165201 WHEN 29 THEN 'APHD_AMOUNT'
165202 WHEN 30 THEN 'APHD_PAYMENT_HIST_DIST_ID'
165203 WHEN 31 THEN 'APHD_REV_PAY_HIST_DIST_ID'
165204 WHEN 32 THEN 'APHD_PAYMENT_BASE_AMT'
165205 WHEN 33 THEN 'APHD_INVOICE_BASE_AMT'
165206 WHEN 34 THEN 'APHD_INVOICE_DIST_AMOUNT'
165207 WHEN 35 THEN 'DEF_REC_SETTLEMENT_OPTION_CODE'
165208 WHEN 36 THEN 'AWT_RELATED_DIST_TYPE'
165209 WHEN 37 THEN 'INV_EXCHANGE_DATE'
165210 WHEN 38 THEN 'INV_EXCHANGE_RATE'
165211 WHEN 39 THEN 'INV_EXCHANGE_RATE_TYPE'
165212 WHEN 40 THEN 'INV_PMT_BASE_AMT_DIFF'
165213 WHEN 41 THEN 'INV_PMT_GAIN_LOSS_INDICATOR'
165214 WHEN 42 THEN 'AWT_AT_PMT_TIME'
165215
165216 ELSE null
165217 END source_code
165218 , CASE r
165219 WHEN 1 THEN TO_CHAR(l1.AID_DIST_CCID)
165220 WHEN 2 THEN TO_CHAR(l1.AID_LINE_TYPE_LOOKUP_CODE)
165221 WHEN 3 THEN TO_CHAR(l1.AI_ACCTS_PAY_CCID)
165222 WHEN 4 THEN TO_CHAR(l1.AWT_RELATED_DIST_ACCOUNT)
165223 WHEN 5 THEN TO_CHAR(l1.POD_CCID)
165224 WHEN 6 THEN TO_CHAR(l1.PO_VARIANCE_ACCOUNT)
165225 WHEN 7 THEN TO_CHAR(l6.TAX_ACCOUNT_CCID)
165226 WHEN 8 THEN TO_CHAR(l4.FEDERAL_FUND_CATEGORY)
165227 WHEN 9 THEN TO_CHAR(l4.FEDERAL_FUND_EXPIRED_STATUS)
165231 WHEN 13 THEN TO_CHAR(l1.POD_ACCRUE_ON_RECEIPT_FLAG)
165228 WHEN 10 THEN TO_CHAR(l4.FEDERAL_FUND_CAT_DESC)
165229 WHEN 11 THEN TO_CHAR(l4.FEDERAL_PRIOR_YEAR_FLAG)
165230 WHEN 12 THEN TO_CHAR(l1.ENCUMBRANCE_AMOUNT)
165232 WHEN 14 THEN TO_CHAR(l1.AI_PAYMENT_STATUS_FLAG)
165233 WHEN 15 THEN TO_CHAR(l1.AI_INVOICE_TYPE_PAID)
165234 WHEN 16 THEN TO_CHAR(l1.DIST_ACCOUNT_REVERSAL_OPTION)
165235 WHEN 17 THEN TO_CHAR(l1.DISTRIBUTION_LINK_TYPE)
165236 WHEN 18 THEN TO_CHAR(l1.AI_INVOICE_CURRENCY_CODE)
165237 WHEN 19 THEN TO_CHAR(l1.OVERRIDE_ACCTD_AMT_FLAG)
165238 WHEN 20 THEN TO_CHAR(l6.TAX_LINE_ID)
165239 WHEN 21 THEN TO_CHAR(l7.REC_NREC_TAX_DIST_ID)
165240 WHEN 22 THEN TO_CHAR(l6.SUMMARY_TAX_LINE_ID)
165241 WHEN 23 THEN TO_CHAR(l1.BUS_FLOW_AP_APP_ID)
165242 WHEN 24 THEN TO_CHAR(l1.BUS_FLOW_INV_DIST_TYPE)
165243 WHEN 25 THEN TO_CHAR(l1.BUS_FLOW_INV_ENTITY_CODE)
165244 WHEN 26 THEN TO_CHAR(l1.BUS_FLOW_INV_DIST_ID)
165245 WHEN 27 THEN TO_CHAR(l1.BUS_FLOW_INV_ID)
165246 WHEN 28 THEN TO_CHAR(l1.APHD_PAY_DIST_LOOKUP_CODE)
165247 WHEN 29 THEN TO_CHAR(l1.APHD_AMOUNT)
165248 WHEN 30 THEN TO_CHAR(l1.APHD_PAYMENT_HIST_DIST_ID)
165249 WHEN 31 THEN TO_CHAR(l1.APHD_REV_PAY_HIST_DIST_ID)
165250 WHEN 32 THEN TO_CHAR(l1.APHD_PAYMENT_BASE_AMT)
165251 WHEN 33 THEN TO_CHAR(l1.APHD_INVOICE_BASE_AMT)
165252 WHEN 34 THEN TO_CHAR(l1.APHD_INVOICE_DIST_AMOUNT)
165253 WHEN 35 THEN TO_CHAR(l6.DEF_REC_SETTLEMENT_OPTION_CODE)
165254 WHEN 36 THEN TO_CHAR(l1.AWT_RELATED_DIST_TYPE)
165255 WHEN 37 THEN TO_CHAR(l1.INV_EXCHANGE_DATE)
165256 WHEN 38 THEN TO_CHAR(l1.INV_EXCHANGE_RATE)
165257 WHEN 39 THEN TO_CHAR(l1.INV_EXCHANGE_RATE_TYPE)
165258 WHEN 40 THEN TO_CHAR(l1.INV_PMT_BASE_AMT_DIFF)
165259 WHEN 41 THEN TO_CHAR(l1.INV_PMT_GAIN_LOSS_INDICATOR)
165260 WHEN 42 THEN TO_CHAR(l1.AWT_AT_PMT_TIME)
165261
165262 ELSE null
165263 END source_value
165264 , CASE r
165265 WHEN 2 THEN fvl28.meaning
165266 WHEN 13 THEN fvl54.meaning
165267 WHEN 15 THEN fvl56.meaning
165268 WHEN 19 THEN fvl85.meaning
165269 WHEN 28 THEN fvl101.meaning
165270 WHEN 35 THEN fvl140.meaning
165271 WHEN 42 THEN fvl166.meaning
165272
165273 ELSE null
165274 END source_meaning
165275 FROM xla_events_gt xet
165276 , AP_PAYMENT_EXTRACT_DETAILS_V l1
165277 , FV_XLA_AP_REF_V l4
165278 , ZX_AP_DEF_TAX_EXTRACT_V l6
165279 , ZX_AP_TAX_JRNL_LINE_DESC_V l7
165280 , fnd_lookup_values fvl28
165281 , fnd_lookup_values fvl54
165282 , fnd_lookup_values fvl56
165283 , fnd_lookup_values fvl85
165284 , fnd_lookup_values fvl101
165285 , fnd_lookup_values fvl140
165286 , fnd_lookup_values fvl166
165287 , (select rownum r from all_objects where rownum <= 42 and owner = p_apps_owner)
165288 WHERE xet.event_date between p_pad_start_date AND p_pad_end_date
165289 AND xet.event_class_code = C_EVENT_CLASS_CODE
165290 AND l1.event_id = xet.event_id
165291 AND l4.federal_event_id (+) = l1.event_id and l4.federal_line_number (+) = l1.line_number AND l1.aid_detail_tax_dist_id = l6.rec_nrec_tax_dist_id (+) AND l1.aid_detail_tax_dist_id = l7.rec_nrec_tax_dist_id (+) AND fvl28.lookup_type(+) =
165292 'INVOICE DISTRIBUTION TYPE'
165293 AND fvl28.lookup_code(+) = l1.AID_LINE_TYPE_LOOKUP_CODE
165294 AND fvl28.view_application_id(+) = 200
165295 AND fvl28.language(+) = USERENV('LANG')
165296 AND fvl54.lookup_type(+) = 'YES_NO'
165297 AND fvl54.lookup_code(+) = l1.POD_ACCRUE_ON_RECEIPT_FLAG
165298 AND fvl54.view_application_id(+) = 0
165299 AND fvl54.language(+) = USERENV('LANG')
165300 AND fvl56.lookup_type(+) = 'INVOICE TYPE'
165301 AND fvl56.lookup_code(+) = l1.AI_INVOICE_TYPE_PAID
165302 AND fvl56.view_application_id(+) = 200
165303 AND fvl56.language(+) = USERENV('LANG')
165304 AND fvl85.lookup_type(+) = 'YES_NO'
165305 AND fvl85.lookup_code(+) = l1.OVERRIDE_ACCTD_AMT_FLAG
165306 AND fvl85.view_application_id(+) = 0
165307 AND fvl85.language(+) = USERENV('LANG')
165308 AND fvl101.lookup_type(+) = 'PAY_DIST_TYPES'
165309 AND fvl101.lookup_code(+) = l1.APHD_PAY_DIST_LOOKUP_CODE
165310 AND fvl101.view_application_id(+) = 200
165311 AND fvl101.language(+) = USERENV('LANG')
165312 AND fvl140.lookup_type(+) = 'ZX_REC_SETTLEMENT_OPTION'
165313 AND fvl140.lookup_code(+) = l6.DEF_REC_SETTLEMENT_OPTION_CODE
165314 AND fvl140.view_application_id(+) = 0
165315 AND fvl140.language(+) = USERENV('LANG')
165316 AND fvl166.lookup_type(+) = 'YES_NO'
165317 AND fvl166.lookup_code(+) = l1.AWT_AT_PMT_TIME
165318 AND fvl166.view_application_id(+) = 0
165319 AND fvl166.language(+) = USERENV('LANG')
165320
165321 )
165322 ;
165323 --
165324 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
165325
165326 trace
165327 (p_msg => 'number of line sources inserted = '||SQL%ROWCOUNT
165328 ,p_level => C_LEVEL_STATEMENT
165329 ,p_module => l_log_module);
165330
165331 END IF;
165332
165333
165334 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
165335 trace
165336 (p_msg => 'END of insert_sources_252'
165337 ,p_level => C_LEVEL_PROCEDURE
165338 ,p_module => l_log_module);
165339 END IF;
165340 EXCEPTION
165344 (p_msg => 'ERROR: XLA_CMP_COMPILER_ERROR = '||sqlerrm
165341 WHEN xla_exceptions_pkg.application_exception THEN
165342 IF (C_LEVEL_EXCEPTION >= g_log_level) THEN
165343 trace
165345 ,p_level => C_LEVEL_EXCEPTION
165346 ,p_module => l_log_module);
165347 END IF;
165348 RAISE;
165349 WHEN OTHERS THEN
165350 IF (C_LEVEL_EXCEPTION >= g_log_level) THEN
165351 trace
165352 (p_msg => 'ERROR: XLA_CMP_COMPILER_ERROR = '||sqlerrm
165353 ,p_level => C_LEVEL_EXCEPTION
165354 ,p_module => l_log_module);
165355 END IF;
165356 xla_exceptions_pkg.raise_message
165357 (p_location => 'XLA_00200_AAD_S_000012_PKG.insert_sources_252');
165358 END insert_sources_252;
165359 --
165360
165361 ---------------------------------------
165362 --
165363 -- PRIVATE FUNCTION
165364 -- EventClass_252
165365 --
165366 ----------------------------------------
165367 --
165368 FUNCTION EventClass_252
165369 (p_application_id IN NUMBER
165370 ,p_base_ledger_id IN NUMBER
165371 ,p_target_ledger_id IN NUMBER
165372 ,p_language IN VARCHAR2
165373 ,p_currency_code IN VARCHAR2
165374 ,p_sla_ledger_id IN NUMBER
165375 ,p_pad_start_date IN DATE
165376 ,p_pad_end_date IN DATE
165377 ,p_primary_ledger_id IN NUMBER)
165378 RETURN BOOLEAN IS
165379 --
165380 C_EVENT_TYPE_CODE CONSTANT VARCHAR2(30) := 'PAYMENTS_ALL';
165381 C_EVENT_CLASS_CODE CONSTANT VARCHAR2(30) := 'PAYMENTS';
165382
165383 l_calculate_acctd_flag VARCHAR2(1) :='N';
165384 l_calculate_g_l_flag VARCHAR2(1) :='N';
165385 --
165386 l_array_legal_entity_id XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
165387 l_array_entity_id XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
165388 l_array_entity_code XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
165389 l_array_transaction_num XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
165390 l_array_event_id XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
165391 l_array_class_code XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
165392 l_array_event_type XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
165393 l_array_event_number XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
165394 l_array_event_date XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
165395 l_array_transaction_date XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
165396 l_array_reference_num_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
165397 l_array_reference_num_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
165398 l_array_reference_num_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
165399 l_array_reference_num_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
165400 l_array_reference_char_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
165401 l_array_reference_char_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
165402 l_array_reference_char_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
165403 l_array_reference_char_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
165404 l_array_reference_date_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
165405 l_array_reference_date_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
165406 l_array_reference_date_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
165407 l_array_reference_date_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
165408 l_array_event_created_by XLA_AE_JOURNAL_ENTRY_PKG.t_array_V100L;
165409 l_array_budgetary_control_flag XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
165410 l_array_header_events XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num; --added
165411 l_array_duplicate_checker XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num; --added
165412
165413 l_event_id NUMBER;
165414 l_previous_event_id NUMBER;
165415 l_first_event_id NUMBER;
165416 l_last_event_id NUMBER;
165417
165418 l_rec_acct_attrs XLA_AE_HEADER_PKG.t_rec_acct_attrs;
165419 l_rec_rev_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
165420 --
165421 --
165422 l_result BOOLEAN := TRUE;
165423 l_rows NUMBER := 1000;
165424 l_event_type_name VARCHAR2(80) := 'All';
165425 l_event_class_name VARCHAR2(80) := 'Payments';
165426 l_description VARCHAR2(4000);
165427 l_transaction_reversal NUMBER;
165428 l_ae_header_id NUMBER;
165429 l_array_extract_line_num xla_ae_journal_entry_pkg.t_array_Num;
165430 l_log_module VARCHAR2(240);
165431 --
165432 l_acct_reversal_source VARCHAR2(30);
165433 l_trx_reversal_source VARCHAR2(30);
165434
165435 l_continue_with_lines BOOLEAN := TRUE;
165436 --
165437 l_acc_rev_gl_date_source DATE; -- 4262811
165438 --
165439 type t_array_event_id is table of number index by binary_integer;
165440
165441 l_rec_array_event t_rec_array_event;
165442 l_null_rec_array_event t_rec_array_event;
165443 l_array_ae_header_id xla_number_array_type;
165444 l_actual_flag VARCHAR2(1) := NULL;
165445 l_actual_gain_loss_ref VARCHAR2(30) := '#####';
165446 l_balance_type_code VARCHAR2(1) :=NULL;
165447 l_gain_or_loss_ref VARCHAR2(30) :=NULL;
165448
165449 --
165450 TYPE t_array_lookup_meaning IS TABLE OF fnd_lookup_values.meaning%TYPE INDEX BY BINARY_INTEGER;
165451 --
165452
165453 TYPE t_array_source_3 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.DOC_SEQUENCE_NAME%TYPE INDEX BY BINARY_INTEGER;
165454 TYPE t_array_source_4 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_DOC_SEQUENCE_VALUE%TYPE INDEX BY BINARY_INTEGER;
165455 TYPE t_array_source_5 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.PAYMENT_TRANSACTION_NUMBER%TYPE INDEX BY BINARY_INTEGER;
165459 TYPE t_array_source_10 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_AUTOMATIC_OFFSETS_VALUE%TYPE INDEX BY BINARY_INTEGER;
165456 TYPE t_array_source_6 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_CHECK_DATE%TYPE INDEX BY BINARY_INTEGER;
165457 TYPE t_array_source_7 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.CBA_BANK_ACCOUNT_NAME%TYPE INDEX BY BINARY_INTEGER;
165458 TYPE t_array_source_8 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_CURRENCY_CODE%TYPE INDEX BY BINARY_INTEGER;
165460 TYPE t_array_source_12 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.CGAC_AP_ASSET_CCID%TYPE INDEX BY BINARY_INTEGER;
165461 TYPE t_array_source_13 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.FSP_DISC_TAKEN_CCID%TYPE INDEX BY BINARY_INTEGER;
165462 TYPE t_array_source_14 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_DISCOUNT_DIST_METHOD%TYPE INDEX BY BINARY_INTEGER;
165463 TYPE t_array_source_19 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.CGAC_FUTURE_DATED_PMT_CCID%TYPE INDEX BY BINARY_INTEGER;
165464 TYPE t_array_source_20 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_FD_PMT_ACCT_SOURCE%TYPE INDEX BY BINARY_INTEGER;
165465 TYPE t_array_source_21 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.FSP_FUTURE_DATED_PAYMENT_CCID%TYPE INDEX BY BINARY_INTEGER;
165466 TYPE t_array_source_22 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.POS_FDP_CCID%TYPE INDEX BY BINARY_INTEGER;
165467 TYPE t_array_source_23 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_INTEREST_CCID%TYPE INDEX BY BINARY_INTEGER;
165468 TYPE t_array_source_24 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_PRORATE_INT_ACROSS_DISTS%TYPE INDEX BY BINARY_INTEGER;
165469 TYPE t_array_source_30 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.CGAC_CASH_CLEARING_CCID%TYPE INDEX BY BINARY_INTEGER;
165470 TYPE t_array_source_31 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.CGAC_GAIN_CCID%TYPE INDEX BY BINARY_INTEGER;
165471 TYPE t_array_source_32 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_GAIN_CCID%TYPE INDEX BY BINARY_INTEGER;
165472 TYPE t_array_source_33 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.CGAC_LOSS_CCID%TYPE INDEX BY BINARY_INTEGER;
165473 TYPE t_array_source_34 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_LOSS_CCID%TYPE INDEX BY BINARY_INTEGER;
165474 TYPE t_array_source_37 IS TABLE OF FV_XLA_PAYMENTS_V.FEDERAL_DIT_CONFIRM_ACCT%TYPE INDEX BY BINARY_INTEGER;
165475 TYPE t_array_source_40 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_DISC_TAKEN_CCID%TYPE INDEX BY BINARY_INTEGER;
165476 TYPE t_array_source_43 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_AUTO_OFFSET_FLAG%TYPE INDEX BY BINARY_INTEGER;
165477 TYPE t_array_source_44 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.PAYCARD_ACCRUED_ACCOUNT_CCID%TYPE INDEX BY BINARY_INTEGER;
165478 TYPE t_array_source_45 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_ROUNDING_ERROR_CCID%TYPE INDEX BY BINARY_INTEGER;
165479 TYPE t_array_source_57 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_WHEN_TO_ACCOUNT_PMT%TYPE INDEX BY BINARY_INTEGER;
165480 TYPE t_array_source_88 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.THIRD_PARTY_TYPE%TYPE INDEX BY BINARY_INTEGER;
165481 TYPE t_array_source_113 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_VENDOR_ID%TYPE INDEX BY BINARY_INTEGER;
165482 TYPE t_array_source_114 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_VENDOR_SITE_ID%TYPE INDEX BY BINARY_INTEGER;
165483 TYPE t_array_source_116 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.CBA_POOLED_BANK_ACOUNT_FLAG%TYPE INDEX BY BINARY_INTEGER;
165484 TYPE t_array_source_117 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_FUTURE_PAY_DUE_DATE%TYPE INDEX BY BINARY_INTEGER;
165485 TYPE t_array_source_120 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_EXCHANGE_DATE%TYPE INDEX BY BINARY_INTEGER;
165486 TYPE t_array_source_121 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_EXCHANGE_RATE%TYPE INDEX BY BINARY_INTEGER;
165487 TYPE t_array_source_122 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_EXCHANGE_RATE_TYPE%TYPE INDEX BY BINARY_INTEGER;
165488 TYPE t_array_source_125 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.PAYMENT_TYPE%TYPE INDEX BY BINARY_INTEGER;
165489 TYPE t_array_source_126 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.PAYMENT_PROCESSING_TYPE%TYPE INDEX BY BINARY_INTEGER;
165490 TYPE t_array_source_170 IS TABLE OF FV_XLA_PAYMENTS_V.FEDERAL_DIT_FLAG%TYPE INDEX BY BINARY_INTEGER;
165491 TYPE t_array_source_175 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_DOC_CATEGORY_CODE%TYPE INDEX BY BINARY_INTEGER;
165492 TYPE t_array_source_176 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.PAYMENT_DOCUMENT_SEQUENCE_ID%TYPE INDEX BY BINARY_INTEGER;
165493 TYPE t_array_source_177 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.TRANSAC_REVERSAL_FLAG%TYPE INDEX BY BINARY_INTEGER;
165494
165495 TYPE t_array_source_25 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.AID_DIST_CCID%TYPE INDEX BY BINARY_INTEGER;
165496 TYPE t_array_source_28 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.AID_LINE_TYPE_LOOKUP_CODE%TYPE INDEX BY BINARY_INTEGER;
165497 TYPE t_array_source_29 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.AI_ACCTS_PAY_CCID%TYPE INDEX BY BINARY_INTEGER;
165498 TYPE t_array_source_39 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.AWT_RELATED_DIST_ACCOUNT%TYPE INDEX BY BINARY_INTEGER;
165499 TYPE t_array_source_41 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.POD_CCID%TYPE INDEX BY BINARY_INTEGER;
165500 TYPE t_array_source_42 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.PO_VARIANCE_ACCOUNT%TYPE INDEX BY BINARY_INTEGER;
165501 TYPE t_array_source_48 IS TABLE OF ZX_AP_DEF_TAX_EXTRACT_V.TAX_ACCOUNT_CCID%TYPE INDEX BY BINARY_INTEGER;
165502 TYPE t_array_source_49 IS TABLE OF FV_XLA_AP_REF_V.FEDERAL_FUND_CATEGORY%TYPE INDEX BY BINARY_INTEGER;
165503 TYPE t_array_source_50 IS TABLE OF FV_XLA_AP_REF_V.FEDERAL_FUND_EXPIRED_STATUS%TYPE INDEX BY BINARY_INTEGER;
165504 TYPE t_array_source_51 IS TABLE OF FV_XLA_AP_REF_V.FEDERAL_FUND_CAT_DESC%TYPE INDEX BY BINARY_INTEGER;
165505 TYPE t_array_source_52 IS TABLE OF FV_XLA_AP_REF_V.FEDERAL_PRIOR_YEAR_FLAG%TYPE INDEX BY BINARY_INTEGER;
165506 TYPE t_array_source_53 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.ENCUMBRANCE_AMOUNT%TYPE INDEX BY BINARY_INTEGER;
165507 TYPE t_array_source_54 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.POD_ACCRUE_ON_RECEIPT_FLAG%TYPE INDEX BY BINARY_INTEGER;
165508 TYPE t_array_source_55 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.AI_PAYMENT_STATUS_FLAG%TYPE INDEX BY BINARY_INTEGER;
165509 TYPE t_array_source_56 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.AI_INVOICE_TYPE_PAID%TYPE INDEX BY BINARY_INTEGER;
165510 TYPE t_array_source_58 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.DIST_ACCOUNT_REVERSAL_OPTION%TYPE INDEX BY BINARY_INTEGER;
165511 TYPE t_array_source_60 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.DISTRIBUTION_LINK_TYPE%TYPE INDEX BY BINARY_INTEGER;
165515 TYPE t_array_source_92 IS TABLE OF ZX_AP_TAX_JRNL_LINE_DESC_V.REC_NREC_TAX_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
165512 TYPE t_array_source_72 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.AI_INVOICE_CURRENCY_CODE%TYPE INDEX BY BINARY_INTEGER;
165513 TYPE t_array_source_85 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.OVERRIDE_ACCTD_AMT_FLAG%TYPE INDEX BY BINARY_INTEGER;
165514 TYPE t_array_source_91 IS TABLE OF ZX_AP_DEF_TAX_EXTRACT_V.TAX_LINE_ID%TYPE INDEX BY BINARY_INTEGER;
165516 TYPE t_array_source_93 IS TABLE OF ZX_AP_DEF_TAX_EXTRACT_V.SUMMARY_TAX_LINE_ID%TYPE INDEX BY BINARY_INTEGER;
165517 TYPE t_array_source_96 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.BUS_FLOW_AP_APP_ID%TYPE INDEX BY BINARY_INTEGER;
165518 TYPE t_array_source_97 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.BUS_FLOW_INV_DIST_TYPE%TYPE INDEX BY BINARY_INTEGER;
165519 TYPE t_array_source_98 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.BUS_FLOW_INV_ENTITY_CODE%TYPE INDEX BY BINARY_INTEGER;
165520 TYPE t_array_source_99 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.BUS_FLOW_INV_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
165521 TYPE t_array_source_100 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.BUS_FLOW_INV_ID%TYPE INDEX BY BINARY_INTEGER;
165522 TYPE t_array_source_101 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.APHD_PAY_DIST_LOOKUP_CODE%TYPE INDEX BY BINARY_INTEGER;
165523 TYPE t_array_source_102 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.APHD_AMOUNT%TYPE INDEX BY BINARY_INTEGER;
165524 TYPE t_array_source_107 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.APHD_PAYMENT_HIST_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
165525 TYPE t_array_source_115 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.APHD_REV_PAY_HIST_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
165526 TYPE t_array_source_118 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.APHD_PAYMENT_BASE_AMT%TYPE INDEX BY BINARY_INTEGER;
165527 TYPE t_array_source_119 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.APHD_INVOICE_BASE_AMT%TYPE INDEX BY BINARY_INTEGER;
165528 TYPE t_array_source_127 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.APHD_INVOICE_DIST_AMOUNT%TYPE INDEX BY BINARY_INTEGER;
165529 TYPE t_array_source_140 IS TABLE OF ZX_AP_DEF_TAX_EXTRACT_V.DEF_REC_SETTLEMENT_OPTION_CODE%TYPE INDEX BY BINARY_INTEGER;
165530 TYPE t_array_source_141 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.AWT_RELATED_DIST_TYPE%TYPE INDEX BY BINARY_INTEGER;
165531 TYPE t_array_source_146 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.INV_EXCHANGE_DATE%TYPE INDEX BY BINARY_INTEGER;
165532 TYPE t_array_source_147 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.INV_EXCHANGE_RATE%TYPE INDEX BY BINARY_INTEGER;
165533 TYPE t_array_source_148 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.INV_EXCHANGE_RATE_TYPE%TYPE INDEX BY BINARY_INTEGER;
165534 TYPE t_array_source_156 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.INV_PMT_BASE_AMT_DIFF%TYPE INDEX BY BINARY_INTEGER;
165535 TYPE t_array_source_161 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.INV_PMT_GAIN_LOSS_INDICATOR%TYPE INDEX BY BINARY_INTEGER;
165536 TYPE t_array_source_166 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.AWT_AT_PMT_TIME%TYPE INDEX BY BINARY_INTEGER;
165537
165538 l_array_source_3 t_array_source_3;
165539 l_array_source_4 t_array_source_4;
165540 l_array_source_5 t_array_source_5;
165541 l_array_source_6 t_array_source_6;
165542 l_array_source_7 t_array_source_7;
165543 l_array_source_8 t_array_source_8;
165544 l_array_source_10 t_array_source_10;
165545 l_array_source_10_meaning t_array_lookup_meaning;
165546 l_array_source_12 t_array_source_12;
165547 l_array_source_13 t_array_source_13;
165548 l_array_source_14 t_array_source_14;
165549 l_array_source_14_meaning t_array_lookup_meaning;
165550 l_array_source_19 t_array_source_19;
165551 l_array_source_20 t_array_source_20;
165552 l_array_source_20_meaning t_array_lookup_meaning;
165553 l_array_source_21 t_array_source_21;
165554 l_array_source_22 t_array_source_22;
165555 l_array_source_23 t_array_source_23;
165556 l_array_source_24 t_array_source_24;
165557 l_array_source_30 t_array_source_30;
165558 l_array_source_31 t_array_source_31;
165559 l_array_source_32 t_array_source_32;
165560 l_array_source_33 t_array_source_33;
165561 l_array_source_34 t_array_source_34;
165562 l_array_source_37 t_array_source_37;
165563 l_array_source_40 t_array_source_40;
165564 l_array_source_43 t_array_source_43;
165565 l_array_source_43_meaning t_array_lookup_meaning;
165566 l_array_source_44 t_array_source_44;
165567 l_array_source_45 t_array_source_45;
165568 l_array_source_57 t_array_source_57;
165569 l_array_source_88 t_array_source_88;
165570 l_array_source_113 t_array_source_113;
165571 l_array_source_114 t_array_source_114;
165572 l_array_source_116 t_array_source_116;
165573 l_array_source_116_meaning t_array_lookup_meaning;
165574 l_array_source_117 t_array_source_117;
165575 l_array_source_120 t_array_source_120;
165576 l_array_source_121 t_array_source_121;
165577 l_array_source_122 t_array_source_122;
165578 l_array_source_125 t_array_source_125;
165579 l_array_source_125_meaning t_array_lookup_meaning;
165580 l_array_source_126 t_array_source_126;
165581 l_array_source_170 t_array_source_170;
165582 l_array_source_175 t_array_source_175;
165583 l_array_source_176 t_array_source_176;
165584 l_array_source_177 t_array_source_177;
165585 l_array_source_177_meaning t_array_lookup_meaning;
165586
165587 l_array_source_25 t_array_source_25;
165588 l_array_source_28 t_array_source_28;
165589 l_array_source_28_meaning t_array_lookup_meaning;
165590 l_array_source_29 t_array_source_29;
165591 l_array_source_39 t_array_source_39;
165592 l_array_source_41 t_array_source_41;
165593 l_array_source_42 t_array_source_42;
165594 l_array_source_48 t_array_source_48;
165595 l_array_source_49 t_array_source_49;
165596 l_array_source_50 t_array_source_50;
165597 l_array_source_51 t_array_source_51;
165598 l_array_source_52 t_array_source_52;
165602 l_array_source_55 t_array_source_55;
165599 l_array_source_53 t_array_source_53;
165600 l_array_source_54 t_array_source_54;
165601 l_array_source_54_meaning t_array_lookup_meaning;
165603 l_array_source_56 t_array_source_56;
165604 l_array_source_56_meaning t_array_lookup_meaning;
165605 l_array_source_58 t_array_source_58;
165606 l_array_source_60 t_array_source_60;
165607 l_array_source_72 t_array_source_72;
165608 l_array_source_85 t_array_source_85;
165609 l_array_source_85_meaning t_array_lookup_meaning;
165610 l_array_source_91 t_array_source_91;
165611 l_array_source_92 t_array_source_92;
165612 l_array_source_93 t_array_source_93;
165613 l_array_source_96 t_array_source_96;
165614 l_array_source_97 t_array_source_97;
165615 l_array_source_98 t_array_source_98;
165616 l_array_source_99 t_array_source_99;
165617 l_array_source_100 t_array_source_100;
165618 l_array_source_101 t_array_source_101;
165619 l_array_source_101_meaning t_array_lookup_meaning;
165620 l_array_source_102 t_array_source_102;
165621 l_array_source_107 t_array_source_107;
165622 l_array_source_115 t_array_source_115;
165623 l_array_source_118 t_array_source_118;
165624 l_array_source_119 t_array_source_119;
165625 l_array_source_127 t_array_source_127;
165626 l_array_source_140 t_array_source_140;
165627 l_array_source_140_meaning t_array_lookup_meaning;
165628 l_array_source_141 t_array_source_141;
165629 l_array_source_146 t_array_source_146;
165630 l_array_source_147 t_array_source_147;
165631 l_array_source_148 t_array_source_148;
165632 l_array_source_156 t_array_source_156;
165633 l_array_source_161 t_array_source_161;
165634 l_array_source_166 t_array_source_166;
165635 l_array_source_166_meaning t_array_lookup_meaning;
165636
165637 --
165638 CURSOR header_cur
165639 IS
165640 SELECT /*+ leading(xet) cardinality(xet,1) */
165641 -- Event Class Code: PAYMENTS
165642 xet.entity_id
165643 ,xet.legal_entity_id
165644 ,xet.entity_code
165645 ,xet.transaction_number
165646 ,xet.event_id
165647 ,xet.event_class_code
165648 ,xet.event_type_code
165649 ,xet.event_number
165650 ,xet.event_date
165651 ,xet.transaction_date
165652 ,xet.reference_num_1
165653 ,xet.reference_num_2
165654 ,xet.reference_num_3
165655 ,xet.reference_num_4
165656 ,xet.reference_char_1
165657 ,xet.reference_char_2
165658 ,xet.reference_char_3
165659 ,xet.reference_char_4
165660 ,xet.reference_date_1
165661 ,xet.reference_date_2
165662 ,xet.reference_date_3
165663 ,xet.reference_date_4
165664 ,xet.event_created_by
165665 ,xet.budgetary_control_flag
165666 , h2.DOC_SEQUENCE_NAME source_3
165667 , h2.AC_DOC_SEQUENCE_VALUE source_4
165668 , h2.PAYMENT_TRANSACTION_NUMBER source_5
165669 , h2.AC_CHECK_DATE source_6
165670 , h2.CBA_BANK_ACCOUNT_NAME source_7
165671 , h2.AC_CURRENCY_CODE source_8
165672 , h3.ASP_AUTOMATIC_OFFSETS_VALUE source_10
165673 , fvl10.meaning source_10_meaning
165674 , h2.CGAC_AP_ASSET_CCID source_12
165675 , h3.FSP_DISC_TAKEN_CCID source_13
165676 , h3.ASP_DISCOUNT_DIST_METHOD source_14
165677 , fvl14.meaning source_14_meaning
165678 , h2.CGAC_FUTURE_DATED_PMT_CCID source_19
165679 , h3.ASP_FD_PMT_ACCT_SOURCE source_20
165680 , fvl20.meaning source_20_meaning
165681 , h3.FSP_FUTURE_DATED_PAYMENT_CCID source_21
165682 , h2.POS_FDP_CCID source_22
165683 , h3.ASP_INTEREST_CCID source_23
165684 , h3.ASP_PRORATE_INT_ACROSS_DISTS source_24
165685 , h2.CGAC_CASH_CLEARING_CCID source_30
165686 , h2.CGAC_GAIN_CCID source_31
165687 , h3.ASP_GAIN_CCID source_32
165688 , h2.CGAC_LOSS_CCID source_33
165689 , h3.ASP_LOSS_CCID source_34
165690 , h5.FEDERAL_DIT_CONFIRM_ACCT source_37
165691 , h3.ASP_DISC_TAKEN_CCID source_40
165692 , h3.ASP_AUTO_OFFSET_FLAG source_43
165693 , fvl43.meaning source_43_meaning
165694 , h2.PAYCARD_ACCRUED_ACCOUNT_CCID source_44
165695 , h3.ASP_ROUNDING_ERROR_CCID source_45
165696 , h3.ASP_WHEN_TO_ACCOUNT_PMT source_57
165697 , h2.THIRD_PARTY_TYPE source_88
165698 , h2.AC_VENDOR_ID source_113
165699 , h2.AC_VENDOR_SITE_ID source_114
165700 , h2.CBA_POOLED_BANK_ACOUNT_FLAG source_116
165701 , fvl116.meaning source_116_meaning
165702 , h2.AC_FUTURE_PAY_DUE_DATE source_117
165703 , h2.AC_EXCHANGE_DATE source_120
165704 , h2.AC_EXCHANGE_RATE source_121
165705 , h2.AC_EXCHANGE_RATE_TYPE source_122
165706 , h2.PAYMENT_TYPE source_125
165707 , fvl125.meaning source_125_meaning
165708 , h2.PAYMENT_PROCESSING_TYPE source_126
165709 , h5.FEDERAL_DIT_FLAG source_170
165710 , h2.AC_DOC_CATEGORY_CODE source_175
165711 , h2.PAYMENT_DOCUMENT_SEQUENCE_ID source_176
165712 , h2.TRANSAC_REVERSAL_FLAG source_177
165713 , fvl177.meaning source_177_meaning
165714 FROM xla_events_gt xet
165715 , AP_PAYMENT_EXTRACT_HEADER_V h2
165716 , AP_SYSTEM_PARAMETERS_EXTRACT_V h3
165717 , FV_XLA_PAYMENTS_V h5
165718 , fnd_lookup_values fvl10
165719 , fnd_lookup_values fvl14
165720 , fnd_lookup_values fvl20
165721 , fnd_lookup_values fvl43
165722 , fnd_lookup_values fvl116
165723 , fnd_lookup_values fvl125
165724 , fnd_lookup_values fvl177
165725 WHERE xet.event_date between p_pad_start_date and p_pad_end_date
165726 and xet.event_class_code = C_EVENT_CLASS_CODE
165727 and xet.event_status_code <> 'N' AND h2.event_id = xet.event_id
165728 AND h3.asp_org_id = h2.ac_org_id AND h5.federal_org_id=h2.ac_org_id AND fvl10.lookup_type(+) = 'LIABILITY FLEXBUILD METHOD'
165729 AND fvl10.lookup_code(+) = h3.ASP_AUTOMATIC_OFFSETS_VALUE
165730 AND fvl10.view_application_id(+) = 200
165731 AND fvl10.language(+) = USERENV('LANG')
165735 AND fvl14.language(+) = USERENV('LANG')
165732 AND fvl14.lookup_type(+) = 'DISCOUNT_DIST_OPTIONS'
165733 AND fvl14.lookup_code(+) = h3.ASP_DISCOUNT_DIST_METHOD
165734 AND fvl14.view_application_id(+) = 200
165736 AND fvl20.lookup_type(+) = 'FUTURE PAY ACCT SOURCE'
165737 AND fvl20.lookup_code(+) = h3.ASP_FD_PMT_ACCT_SOURCE
165738 AND fvl20.view_application_id(+) = 200
165739 AND fvl20.language(+) = USERENV('LANG')
165740 AND fvl43.lookup_type(+) = 'YES_NO'
165741 AND fvl43.lookup_code(+) = h3.ASP_AUTO_OFFSET_FLAG
165742 AND fvl43.view_application_id(+) = 0
165743 AND fvl43.language(+) = USERENV('LANG')
165744 AND fvl116.lookup_type(+) = 'YES_NO'
165745 AND fvl116.lookup_code(+) = h2.CBA_POOLED_BANK_ACOUNT_FLAG
165746 AND fvl116.view_application_id(+) = 0
165747 AND fvl116.language(+) = USERENV('LANG')
165748 AND fvl125.lookup_type(+) = 'PAYMENT TYPE'
165749 AND fvl125.lookup_code(+) = h2.PAYMENT_TYPE
165750 AND fvl125.view_application_id(+) = 200
165751 AND fvl125.language(+) = USERENV('LANG')
165752 AND fvl177.lookup_type(+) = 'YES_NO'
165753 AND fvl177.lookup_code(+) = h2.TRANSAC_REVERSAL_FLAG
165754 AND fvl177.view_application_id(+) = 0
165755 AND fvl177.language(+) = USERENV('LANG')
165756
165757 ORDER BY event_id
165758 ;
165759
165760
165761 --
165762 CURSOR line_cur (x_first_event_id in number, x_last_event_id in number)
165763 IS
165764 SELECT /*+ leading(xet) cardinality(xet,1) */
165765 -- Event Class Code: PAYMENTS
165766 xet.entity_id
165767 ,xet.legal_entity_id
165768 ,xet.entity_code
165769 ,xet.transaction_number
165770 ,xet.event_id
165771 ,xet.event_class_code
165772 ,xet.event_type_code
165773 ,xet.event_number
165774 ,xet.event_date
165775 ,xet.transaction_date
165776 ,xet.reference_num_1
165777 ,xet.reference_num_2
165778 ,xet.reference_num_3
165779 ,xet.reference_num_4
165780 ,xet.reference_char_1
165781 ,xet.reference_char_2
165782 ,xet.reference_char_3
165783 ,xet.reference_char_4
165784 ,xet.reference_date_1
165785 ,xet.reference_date_2
165786 ,xet.reference_date_3
165787 ,xet.reference_date_4
165788 ,xet.event_created_by
165789 ,xet.budgetary_control_flag
165790 , l1.LINE_NUMBER
165791 , l1.AID_DIST_CCID source_25
165792 , l1.AID_LINE_TYPE_LOOKUP_CODE source_28
165793 , fvl28.meaning source_28_meaning
165794 , l1.AI_ACCTS_PAY_CCID source_29
165795 , l1.AWT_RELATED_DIST_ACCOUNT source_39
165796 , l1.POD_CCID source_41
165797 , l1.PO_VARIANCE_ACCOUNT source_42
165798 , l6.TAX_ACCOUNT_CCID source_48
165799 , l4.FEDERAL_FUND_CATEGORY source_49
165800 , l4.FEDERAL_FUND_EXPIRED_STATUS source_50
165801 , l4.FEDERAL_FUND_CAT_DESC source_51
165802 , l4.FEDERAL_PRIOR_YEAR_FLAG source_52
165803 , l1.ENCUMBRANCE_AMOUNT source_53
165804 , l1.POD_ACCRUE_ON_RECEIPT_FLAG source_54
165805 , fvl54.meaning source_54_meaning
165806 , l1.AI_PAYMENT_STATUS_FLAG source_55
165807 , l1.AI_INVOICE_TYPE_PAID source_56
165808 , fvl56.meaning source_56_meaning
165809 , l1.DIST_ACCOUNT_REVERSAL_OPTION source_58
165810 , l1.DISTRIBUTION_LINK_TYPE source_60
165811 , l1.AI_INVOICE_CURRENCY_CODE source_72
165812 , l1.OVERRIDE_ACCTD_AMT_FLAG source_85
165813 , fvl85.meaning source_85_meaning
165814 , l6.TAX_LINE_ID source_91
165815 , l7.REC_NREC_TAX_DIST_ID source_92
165816 , l6.SUMMARY_TAX_LINE_ID source_93
165817 , l1.BUS_FLOW_AP_APP_ID source_96
165818 , l1.BUS_FLOW_INV_DIST_TYPE source_97
165819 , l1.BUS_FLOW_INV_ENTITY_CODE source_98
165820 , l1.BUS_FLOW_INV_DIST_ID source_99
165821 , l1.BUS_FLOW_INV_ID source_100
165822 , l1.APHD_PAY_DIST_LOOKUP_CODE source_101
165823 , fvl101.meaning source_101_meaning
165824 , l1.APHD_AMOUNT source_102
165825 , l1.APHD_PAYMENT_HIST_DIST_ID source_107
165826 , l1.APHD_REV_PAY_HIST_DIST_ID source_115
165827 , l1.APHD_PAYMENT_BASE_AMT source_118
165828 , l1.APHD_INVOICE_BASE_AMT source_119
165829 , l1.APHD_INVOICE_DIST_AMOUNT source_127
165830 , l6.DEF_REC_SETTLEMENT_OPTION_CODE source_140
165831 , fvl140.meaning source_140_meaning
165832 , l1.AWT_RELATED_DIST_TYPE source_141
165833 , l1.INV_EXCHANGE_DATE source_146
165834 , l1.INV_EXCHANGE_RATE source_147
165835 , l1.INV_EXCHANGE_RATE_TYPE source_148
165836 , l1.INV_PMT_BASE_AMT_DIFF source_156
165837 , l1.INV_PMT_GAIN_LOSS_INDICATOR source_161
165838 , l1.AWT_AT_PMT_TIME source_166
165839 , fvl166.meaning source_166_meaning
165840 FROM xla_events_gt xet
165841 , AP_PAYMENT_EXTRACT_DETAILS_V l1
165842 , FV_XLA_AP_REF_V l4
165843 , ZX_AP_DEF_TAX_EXTRACT_V l6
165844 , ZX_AP_TAX_JRNL_LINE_DESC_V l7
165845 , fnd_lookup_values fvl28
165846 , fnd_lookup_values fvl54
165847 , fnd_lookup_values fvl56
165848 , fnd_lookup_values fvl85
165849 , fnd_lookup_values fvl101
165850 , fnd_lookup_values fvl140
165851 , fnd_lookup_values fvl166
165852 WHERE xet.event_id between x_first_event_id and x_last_event_id
165853 and xet.event_date between p_pad_start_date and p_pad_end_date
165854 and xet.event_class_code = C_EVENT_CLASS_CODE
165855 and xet.event_status_code <> 'N' AND l1.event_id = xet.event_id
165856 AND l4.federal_event_id (+) = l1.event_id AND l4.federal_line_number (+) = l1.line_number AND l1.AID_DETAIL_TAX_DIST_ID = l6.REC_NREC_TAX_DIST_ID (+) AND l1.AID_DETAIL_TAX_DIST_ID = l7.REC_NREC_TAX_DIST_ID (+) AND fvl28.lookup_type(+) =
165857 'INVOICE DISTRIBUTION TYPE'
165858 AND fvl28.lookup_code(+) = l1.AID_LINE_TYPE_LOOKUP_CODE
165859 AND fvl28.view_application_id(+) = 200
165860 AND fvl28.language(+) = USERENV('LANG')
165864 AND fvl54.language(+) = USERENV('LANG')
165861 AND fvl54.lookup_type(+) = 'YES_NO'
165862 AND fvl54.lookup_code(+) = l1.POD_ACCRUE_ON_RECEIPT_FLAG
165863 AND fvl54.view_application_id(+) = 0
165865 AND fvl56.lookup_type(+) = 'INVOICE TYPE'
165866 AND fvl56.lookup_code(+) = l1.AI_INVOICE_TYPE_PAID
165867 AND fvl56.view_application_id(+) = 200
165868 AND fvl56.language(+) = USERENV('LANG')
165869 AND fvl85.lookup_type(+) = 'YES_NO'
165870 AND fvl85.lookup_code(+) = l1.OVERRIDE_ACCTD_AMT_FLAG
165871 AND fvl85.view_application_id(+) = 0
165872 AND fvl85.language(+) = USERENV('LANG')
165873 AND fvl101.lookup_type(+) = 'PAY_DIST_TYPES'
165874 AND fvl101.lookup_code(+) = l1.APHD_PAY_DIST_LOOKUP_CODE
165875 AND fvl101.view_application_id(+) = 200
165876 AND fvl101.language(+) = USERENV('LANG')
165877 AND fvl140.lookup_type(+) = 'ZX_REC_SETTLEMENT_OPTION'
165878 AND fvl140.lookup_code(+) = l6.DEF_REC_SETTLEMENT_OPTION_CODE
165879 AND fvl140.view_application_id(+) = 0
165880 AND fvl140.language(+) = USERENV('LANG')
165881 AND fvl166.lookup_type(+) = 'YES_NO'
165882 AND fvl166.lookup_code(+) = l1.AWT_AT_PMT_TIME
165883 AND fvl166.view_application_id(+) = 0
165884 AND fvl166.language(+) = USERENV('LANG')
165885 ;
165886
165887 --
165888 BEGIN
165889 IF g_log_enabled THEN
165890 l_log_module := C_DEFAULT_MODULE||'.EventClass_252';
165891 END IF;
165892 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
165893 trace
165894 (p_msg => 'BEGIN of EventClass_252'
165895 ,p_level => C_LEVEL_PROCEDURE
165896 ,p_module => l_log_module);
165897 END IF;
165898
165899 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
165900 trace
165901 (p_msg => 'p_application_id = '||p_application_id||
165902 ' - p_base_ledger_id = '||p_base_ledger_id||
165903 ' - p_target_ledger_id = '||p_target_ledger_id||
165904 ' - p_language = '||p_language||
165905 ' - p_currency_code = '||p_currency_code||
165906 ' - p_sla_ledger_id = '||p_sla_ledger_id
165907 ,p_level => C_LEVEL_STATEMENT
165908 ,p_module => l_log_module);
165909 END IF;
165910 --
165911 -- initialze arrays
165912 --
165913 g_array_event.DELETE;
165914 l_rec_array_event := l_null_rec_array_event;
165915 --
165916 --------------------------------------
165917 -- 4262811 Initialze MPA Line Number
165918 --------------------------------------
165919 XLA_AE_HEADER_PKG.g_mpa_line_num := 0;
165920
165921 --
165922
165923 --
165924 OPEN header_cur;
165925 --
165926 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
165927 trace
165928 (p_msg => 'SQL - FETCH header_cur'
165929 ,p_level => C_LEVEL_STATEMENT
165930 ,p_module => l_log_module);
165931 END IF;
165932 --
165933 LOOP
165934 FETCH header_cur BULK COLLECT INTO
165935 l_array_entity_id
165936 , l_array_legal_entity_id
165937 , l_array_entity_code
165938 , l_array_transaction_num
165939 , l_array_event_id
165940 , l_array_class_code
165941 , l_array_event_type
165942 , l_array_event_number
165943 , l_array_event_date
165944 , l_array_transaction_date
165945 , l_array_reference_num_1
165946 , l_array_reference_num_2
165947 , l_array_reference_num_3
165948 , l_array_reference_num_4
165949 , l_array_reference_char_1
165950 , l_array_reference_char_2
165951 , l_array_reference_char_3
165952 , l_array_reference_char_4
165953 , l_array_reference_date_1
165954 , l_array_reference_date_2
165955 , l_array_reference_date_3
165956 , l_array_reference_date_4
165957 , l_array_event_created_by
165958 , l_array_budgetary_control_flag
165959 , l_array_source_3
165960 , l_array_source_4
165961 , l_array_source_5
165962 , l_array_source_6
165963 , l_array_source_7
165964 , l_array_source_8
165965 , l_array_source_10
165966 , l_array_source_10_meaning
165967 , l_array_source_12
165968 , l_array_source_13
165969 , l_array_source_14
165970 , l_array_source_14_meaning
165971 , l_array_source_19
165972 , l_array_source_20
165973 , l_array_source_20_meaning
165974 , l_array_source_21
165975 , l_array_source_22
165976 , l_array_source_23
165977 , l_array_source_24
165978 , l_array_source_30
165979 , l_array_source_31
165980 , l_array_source_32
165981 , l_array_source_33
165982 , l_array_source_34
165983 , l_array_source_37
165984 , l_array_source_40
165985 , l_array_source_43
165986 , l_array_source_43_meaning
165987 , l_array_source_44
165988 , l_array_source_45
165989 , l_array_source_57
165990 , l_array_source_88
165991 , l_array_source_113
165992 , l_array_source_114
165993 , l_array_source_116
165994 , l_array_source_116_meaning
165995 , l_array_source_117
165996 , l_array_source_120
165997 , l_array_source_121
165998 , l_array_source_122
165999 , l_array_source_125
166000 , l_array_source_125_meaning
166001 , l_array_source_126
166002 , l_array_source_170
166003 , l_array_source_175
166004 , l_array_source_176
166005 , l_array_source_177
166006 , l_array_source_177_meaning
166007 LIMIT l_rows;
166008 --
166009 IF (C_LEVEL_EVENT >= g_log_level) THEN
166010 trace
166011 (p_msg => '# rows extracted from header extract objects = '||TO_CHAR(header_cur%ROWCOUNT)
166012 ,p_level => C_LEVEL_EVENT
166016 EXIT WHEN l_array_entity_id.COUNT = 0;
166013 ,p_module => l_log_module);
166014 END IF;
166015 --
166017
166018 -- initialize arrays
166019 XLA_AE_HEADER_PKG.g_rec_header_new := NULL;
166020 XLA_AE_LINES_PKG.g_rec_lines := NULL;
166021
166022 --
166023 -- Bug 4458708
166024 --
166025 XLA_AE_LINES_PKG.g_LineNumber := 0;
166026
166027
166028 -- 4262811 - when creating Accrual Reversal or MPA, use g_last_hdr_idx to increment for next header id
166029 g_last_hdr_idx := l_array_event_id.LAST;
166030 --
166031 -- loop for the headers. Each iteration is for each header extract row
166032 -- fetched in header cursor
166033 --
166034 FOR hdr_idx IN l_array_event_id.FIRST .. l_array_event_id.LAST LOOP
166035
166036 --
166037 -- set event info as cache for other routines to refer event attributes
166038 --
166039 XLA_AE_JOURNAL_ENTRY_PKG.set_event_info
166040 (p_application_id => p_application_id
166041 ,p_primary_ledger_id => p_primary_ledger_id
166042 ,p_base_ledger_id => p_base_ledger_id
166043 ,p_target_ledger_id => p_target_ledger_id
166044 ,p_entity_id => l_array_entity_id(hdr_idx)
166045 ,p_legal_entity_id => l_array_legal_entity_id(hdr_idx)
166046 ,p_entity_code => l_array_entity_code(hdr_idx)
166047 ,p_transaction_num => l_array_transaction_num(hdr_idx)
166048 ,p_event_id => l_array_event_id(hdr_idx)
166049 ,p_event_class_code => l_array_class_code(hdr_idx)
166050 ,p_event_type_code => l_array_event_type(hdr_idx)
166051 ,p_event_number => l_array_event_number(hdr_idx)
166052 ,p_event_date => l_array_event_date(hdr_idx)
166053 ,p_transaction_date => l_array_transaction_date(hdr_idx)
166054 ,p_reference_num_1 => l_array_reference_num_1(hdr_idx)
166055 ,p_reference_num_2 => l_array_reference_num_2(hdr_idx)
166056 ,p_reference_num_3 => l_array_reference_num_3(hdr_idx)
166057 ,p_reference_num_4 => l_array_reference_num_4(hdr_idx)
166058 ,p_reference_char_1 => l_array_reference_char_1(hdr_idx)
166059 ,p_reference_char_2 => l_array_reference_char_2(hdr_idx)
166060 ,p_reference_char_3 => l_array_reference_char_3(hdr_idx)
166061 ,p_reference_char_4 => l_array_reference_char_4(hdr_idx)
166062 ,p_reference_date_1 => l_array_reference_date_1(hdr_idx)
166063 ,p_reference_date_2 => l_array_reference_date_2(hdr_idx)
166064 ,p_reference_date_3 => l_array_reference_date_3(hdr_idx)
166065 ,p_reference_date_4 => l_array_reference_date_4(hdr_idx)
166066 ,p_event_created_by => l_array_event_created_by(hdr_idx)
166067 ,p_budgetary_control_flag => l_array_budgetary_control_flag(hdr_idx));
166068
166069 --
166070 -- set the status of entry to C_VALID (0)
166071 --
166072 XLA_AE_JOURNAL_ENTRY_PKG.g_global_status := XLA_AE_JOURNAL_ENTRY_PKG.C_VALID;
166073
166074 --
166075 -- initialize a row for ae header
166076 --
166077 XLA_AE_HEADER_PKG.InitHeader(hdr_idx);
166078
166079 l_event_id := l_array_event_id(hdr_idx);
166080
166081 --
166082 -- storing the hdr_idx for event. May be used by line cursor.
166083 --
166084 g_array_event(l_event_id).array_value_num('header_index') := hdr_idx;
166085
166086 --
166087 -- store sources from header extract. This can be improved to
166088 -- store only those sources from header extract that may be used in lines
166089 --
166090
166091 g_array_event(l_event_id).array_value_char('source_3') := l_array_source_3(hdr_idx);
166092 g_array_event(l_event_id).array_value_num('source_4') := l_array_source_4(hdr_idx);
166093 g_array_event(l_event_id).array_value_num('source_5') := l_array_source_5(hdr_idx);
166094 g_array_event(l_event_id).array_value_date('source_6') := l_array_source_6(hdr_idx);
166095 g_array_event(l_event_id).array_value_char('source_7') := l_array_source_7(hdr_idx);
166096 g_array_event(l_event_id).array_value_char('source_8') := l_array_source_8(hdr_idx);
166097 g_array_event(l_event_id).array_value_char('source_10') := l_array_source_10(hdr_idx);
166098 g_array_event(l_event_id).array_value_char('source_10_meaning') := l_array_source_10_meaning(hdr_idx);
166099 g_array_event(l_event_id).array_value_num('source_12') := l_array_source_12(hdr_idx);
166100 g_array_event(l_event_id).array_value_num('source_13') := l_array_source_13(hdr_idx);
166101 g_array_event(l_event_id).array_value_char('source_14') := l_array_source_14(hdr_idx);
166102 g_array_event(l_event_id).array_value_char('source_14_meaning') := l_array_source_14_meaning(hdr_idx);
166103 g_array_event(l_event_id).array_value_num('source_19') := l_array_source_19(hdr_idx);
166104 g_array_event(l_event_id).array_value_char('source_20') := l_array_source_20(hdr_idx);
166105 g_array_event(l_event_id).array_value_char('source_20_meaning') := l_array_source_20_meaning(hdr_idx);
166106 g_array_event(l_event_id).array_value_num('source_21') := l_array_source_21(hdr_idx);
166107 g_array_event(l_event_id).array_value_num('source_22') := l_array_source_22(hdr_idx);
166108 g_array_event(l_event_id).array_value_num('source_23') := l_array_source_23(hdr_idx);
166109 g_array_event(l_event_id).array_value_char('source_24') := l_array_source_24(hdr_idx);
166110 g_array_event(l_event_id).array_value_num('source_30') := l_array_source_30(hdr_idx);
166111 g_array_event(l_event_id).array_value_num('source_31') := l_array_source_31(hdr_idx);
166112 g_array_event(l_event_id).array_value_num('source_32') := l_array_source_32(hdr_idx);
166113 g_array_event(l_event_id).array_value_num('source_33') := l_array_source_33(hdr_idx);
166114 g_array_event(l_event_id).array_value_num('source_34') := l_array_source_34(hdr_idx);
166115 g_array_event(l_event_id).array_value_char('source_37') := l_array_source_37(hdr_idx);
166116 g_array_event(l_event_id).array_value_num('source_40') := l_array_source_40(hdr_idx);
166117 g_array_event(l_event_id).array_value_char('source_43') := l_array_source_43(hdr_idx);
166118 g_array_event(l_event_id).array_value_char('source_43_meaning') := l_array_source_43_meaning(hdr_idx);
166122 g_array_event(l_event_id).array_value_char('source_88') := l_array_source_88(hdr_idx);
166119 g_array_event(l_event_id).array_value_num('source_44') := l_array_source_44(hdr_idx);
166120 g_array_event(l_event_id).array_value_num('source_45') := l_array_source_45(hdr_idx);
166121 g_array_event(l_event_id).array_value_char('source_57') := l_array_source_57(hdr_idx);
166123 g_array_event(l_event_id).array_value_num('source_113') := l_array_source_113(hdr_idx);
166124 g_array_event(l_event_id).array_value_num('source_114') := l_array_source_114(hdr_idx);
166125 g_array_event(l_event_id).array_value_char('source_116') := l_array_source_116(hdr_idx);
166126 g_array_event(l_event_id).array_value_char('source_116_meaning') := l_array_source_116_meaning(hdr_idx);
166127 g_array_event(l_event_id).array_value_date('source_117') := l_array_source_117(hdr_idx);
166128 g_array_event(l_event_id).array_value_date('source_120') := l_array_source_120(hdr_idx);
166129 g_array_event(l_event_id).array_value_num('source_121') := l_array_source_121(hdr_idx);
166130 g_array_event(l_event_id).array_value_char('source_122') := l_array_source_122(hdr_idx);
166131 g_array_event(l_event_id).array_value_char('source_125') := l_array_source_125(hdr_idx);
166132 g_array_event(l_event_id).array_value_char('source_125_meaning') := l_array_source_125_meaning(hdr_idx);
166133 g_array_event(l_event_id).array_value_char('source_126') := l_array_source_126(hdr_idx);
166134 g_array_event(l_event_id).array_value_char('source_170') := l_array_source_170(hdr_idx);
166135 g_array_event(l_event_id).array_value_char('source_175') := l_array_source_175(hdr_idx);
166136 g_array_event(l_event_id).array_value_num('source_176') := l_array_source_176(hdr_idx);
166137 g_array_event(l_event_id).array_value_char('source_177') := l_array_source_177(hdr_idx);
166138 g_array_event(l_event_id).array_value_char('source_177_meaning') := l_array_source_177_meaning(hdr_idx);
166139
166140 --
166141 -- initilaize the status of ae headers for diffrent balance types
166142 -- the status is initialised to C_NOT_CREATED (2)
166143 --
166144 --g_array_event(l_event_id).array_value_num('actual_je_status') := XLA_AE_JOURNAL_ENTRY_PKG.C_NOT_CREATED;
166145 --g_array_event(l_event_id).array_value_num('budget_je_status') := XLA_AE_JOURNAL_ENTRY_PKG.C_NOT_CREATED;
166146 --g_array_event(l_event_id).array_value_num('encumbrance_je_status') := XLA_AE_JOURNAL_ENTRY_PKG.C_NOT_CREATED;
166147
166148 --
166149 -- call api to validate and store accounting attributes for header
166150 --
166151
166152 ------------------------------------------------------------
166153 -- Accrual Reversal : to get date for Standard Source (NONE)
166154 ------------------------------------------------------------
166155 l_acc_rev_gl_date_source := NULL;
166156
166157 l_rec_acct_attrs.array_acct_attr_code(1) := 'DOC_CATEGORY_CODE';
166158 l_rec_acct_attrs.array_char_value(1) := g_array_event(l_event_id).array_value_char('source_175');
166159 l_rec_acct_attrs.array_acct_attr_code(2) := 'DOC_SEQUENCE_ID';
166160 l_rec_acct_attrs.array_num_value(2) := g_array_event(l_event_id).array_value_num('source_176');
166161 l_rec_acct_attrs.array_acct_attr_code(3) := 'DOC_SEQUENCE_VALUE';
166162 l_rec_acct_attrs.array_num_value(3) := g_array_event(l_event_id).array_value_num('source_4');
166163 l_rec_acct_attrs.array_acct_attr_code(4) := 'GL_DATE';
166164 l_rec_acct_attrs.array_date_value(4) :=
166165 xla_ae_sources_pkg.GetSystemSourceDate(
166166 p_source_code => 'XLA_EVENT_DATE'
166167 , p_source_type_code => 'Y'
166168 , p_source_application_id => 602
166169 );
166170 l_rec_acct_attrs.array_acct_attr_code(5) := 'TRX_ACCT_REVERSAL_OPTION';
166171 l_rec_acct_attrs.array_char_value(5) := g_array_event(l_event_id).array_value_char('source_177');
166172
166173
166174 XLA_AE_HEADER_PKG.SetHdrAcctAttrs(l_rec_acct_attrs);
166175
166176 XLA_AE_HEADER_PKG.SetJeCategoryName;
166177
166178 XLA_AE_HEADER_PKG.g_rec_header_new.array_event_type_code(hdr_idx) := l_array_event_type(hdr_idx);
166179 XLA_AE_HEADER_PKG.g_rec_header_new.array_event_id(hdr_idx) := l_array_event_id(hdr_idx);
166180 XLA_AE_HEADER_PKG.g_rec_header_new.array_entity_id(hdr_idx) := l_array_entity_id(hdr_idx);
166181 XLA_AE_HEADER_PKG.g_rec_header_new.array_event_number(hdr_idx) := l_array_event_number(hdr_idx);
166182 XLA_AE_HEADER_PKG.g_rec_header_new.array_target_ledger_id(hdr_idx) := p_target_ledger_id;
166183
166184
166185 -- No header level analytical criteria
166186
166187 --
166188 --accounting attribute enhancement, bug 3612931
166189 --
166190 l_trx_reversal_source := SUBSTR(g_array_event(l_event_id).array_value_char('source_177'), 1,30);
166191
166192 IF NVL(l_trx_reversal_source, 'N') NOT IN ('N','Y') THEN
166193 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
166194
166195 xla_accounting_err_pkg.build_message
166196 (p_appli_s_name => 'XLA'
166197 ,p_msg_name => 'XLA_AP_INVALID_HDR_ATTR'
166198 ,p_token_1 => 'ACCT_ATTR_NAME'
166199 ,p_value_1 => xla_ae_sources_pkg.GetAccountingSourceName('TRX_ACCT_REVERSAL_OPTION')
166200 ,p_token_2 => 'PRODUCT_NAME'
166201 ,p_value_2 => xla_ae_journal_entry_pkg.g_cache_event.application_name
166202 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
166203 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
166204 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id);
166205
166206 ELSIF NVL(l_trx_reversal_source, 'N') = 'Y' THEN
166207 --
166208 -- following sets the accounting attributes needed to reverse
166209 -- accounting for a distributeion
166210 --
166211 xla_ae_lines_pkg.SetTrxReversalAttrs
166212 (p_event_id => l_event_id
166213 ,p_gl_date => XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(hdr_idx)
166214 ,p_trx_reversal_source => l_trx_reversal_source);
166215
166216 END IF;
166217
166218
166219 ----------------------------------------------------------------
166223 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus (p_hdr_idx => hdr_idx);
166220 -- 4262811 - update the header statuses to invalid in need be
166221 ----------------------------------------------------------------
166222 --
166224
166225
166226 -----------------------------------------------
166227 -- No accrual reversal for the event class/type
166228 -----------------------------------------------
166229 ----------------------------------------------------------------
166230
166231 --
166232 -- this ends the header loop iteration for one bulk fetch
166233 --
166234 END LOOP;
166235
166236 l_first_event_id := l_array_event_id(l_array_event_id.FIRST);
166237 l_last_event_id := l_array_event_id(l_array_event_id.LAST);
166238
166239 --
166240 -- insert dummy rows into lines gt table that were created due to
166241 -- transaction reversals
166242 --
166243 IF XLA_AE_LINES_PKG.g_rec_lines.array_ae_header_id.COUNT > 0 THEN
166244 l_result := XLA_AE_LINES_PKG.InsertLines;
166245 END IF;
166246
166247 --
166248 -- reset the temp_line_num for each set of events fetched from header
166249 -- cursor rather than doing it for each new event in line cursor
166250 -- Bug 3939231
166251 --
166252 xla_ae_lines_pkg.g_temp_line_num := 0;
166253
166254
166255
166256 --
166257 OPEN line_cur(x_first_event_id => l_first_event_id, x_last_event_id => l_last_event_id);
166258 --
166259 --
166260 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
166261
166262 trace
166263 (p_msg => 'SQL - FETCH line_cur'
166264 ,p_level => C_LEVEL_STATEMENT
166265 ,p_module => l_log_module);
166266
166267 END IF;
166268 --
166269 --
166270 LOOP
166271 --
166272 FETCH line_cur BULK COLLECT INTO
166273 l_array_entity_id
166274 , l_array_legal_entity_id
166275 , l_array_entity_code
166276 , l_array_transaction_num
166277 , l_array_event_id
166278 , l_array_class_code
166279 , l_array_event_type
166280 , l_array_event_number
166281 , l_array_event_date
166282 , l_array_transaction_date
166283 , l_array_reference_num_1
166284 , l_array_reference_num_2
166285 , l_array_reference_num_3
166286 , l_array_reference_num_4
166287 , l_array_reference_char_1
166288 , l_array_reference_char_2
166289 , l_array_reference_char_3
166290 , l_array_reference_char_4
166291 , l_array_reference_date_1
166292 , l_array_reference_date_2
166293 , l_array_reference_date_3
166294 , l_array_reference_date_4
166295 , l_array_event_created_by
166296 , l_array_budgetary_control_flag
166297 , l_array_extract_line_num
166298 , l_array_source_25
166299 , l_array_source_28
166300 , l_array_source_28_meaning
166301 , l_array_source_29
166302 , l_array_source_39
166303 , l_array_source_41
166304 , l_array_source_42
166305 , l_array_source_48
166306 , l_array_source_49
166307 , l_array_source_50
166308 , l_array_source_51
166309 , l_array_source_52
166310 , l_array_source_53
166311 , l_array_source_54
166312 , l_array_source_54_meaning
166313 , l_array_source_55
166314 , l_array_source_56
166315 , l_array_source_56_meaning
166316 , l_array_source_58
166317 , l_array_source_60
166318 , l_array_source_72
166319 , l_array_source_85
166320 , l_array_source_85_meaning
166321 , l_array_source_91
166322 , l_array_source_92
166323 , l_array_source_93
166324 , l_array_source_96
166325 , l_array_source_97
166326 , l_array_source_98
166327 , l_array_source_99
166328 , l_array_source_100
166329 , l_array_source_101
166330 , l_array_source_101_meaning
166331 , l_array_source_102
166332 , l_array_source_107
166333 , l_array_source_115
166334 , l_array_source_118
166335 , l_array_source_119
166336 , l_array_source_127
166337 , l_array_source_140
166338 , l_array_source_140_meaning
166339 , l_array_source_141
166340 , l_array_source_146
166341 , l_array_source_147
166342 , l_array_source_148
166343 , l_array_source_156
166344 , l_array_source_161
166345 , l_array_source_166
166346 , l_array_source_166_meaning
166347 LIMIT l_rows;
166348
166349 --
166350 IF (C_LEVEL_EVENT >= g_log_level) THEN
166351 trace
166352 (p_msg => '# rows extracted from line extract objects = '||TO_CHAR(line_cur%ROWCOUNT)
166353 ,p_level => C_LEVEL_EVENT
166354 ,p_module => l_log_module);
166355 END IF;
166356 --
166357 EXIT WHEN l_array_entity_id.count = 0;
166358
166359 XLA_AE_LINES_PKG.g_rec_lines := null;
166360
166361 --
166362 -- Bug 4458708
166363 --
166364 XLA_AE_LINES_PKG.g_LineNumber := 0;
166365 --
166366 --
166367
166368 FOR Idx IN 1..l_array_event_id.count LOOP
166369 --
166370 -- 5648433 (move l_event_id out of IF statement) set l_event_id to be used inside IF condition
166371 --
166372 l_event_id := l_array_event_id(idx); -- 5648433
166373
166374 --
166375 -- Bug 4872078 - Do nothing if the event is meant for transaction reversal
166376 --
166377
166378 IF NVL(xla_ae_header_pkg.g_rec_header_new.array_trx_acct_reversal_option
166379 (g_array_event(l_event_id).array_value_num('header_index'))
166380 ,'N'
166381 ) <> 'Y'
166382 THEN
166383 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
166384 trace
166385 (p_msg => 'Trancaction revesal option is not Y '
166386 ,p_level => C_LEVEL_STATEMENT
166390 --
166387 ,p_module => l_log_module);
166388 END IF;
166389
166391 -- set the XLA_AE_JOURNAL_ENTRY_PKG.g_global_status to C_VALID (0)
166392 --
166393 XLA_AE_JOURNAL_ENTRY_PKG.g_global_status := XLA_AE_JOURNAL_ENTRY_PKG.C_VALID;
166394 --
166395 -- set event info as cache for other routines to refer event attributes
166396 --
166397
166398 IF l_event_id <> NVL(l_previous_event_id, -1) THEN
166399 l_previous_event_id := l_event_id;
166400
166401 XLA_AE_JOURNAL_ENTRY_PKG.set_event_info
166402 (p_application_id => p_application_id
166403 ,p_primary_ledger_id => p_primary_ledger_id
166404 ,p_base_ledger_id => p_base_ledger_id
166405 ,p_target_ledger_id => p_target_ledger_id
166406 ,p_entity_id => l_array_entity_id(Idx)
166407 ,p_legal_entity_id => l_array_legal_entity_id(Idx)
166408 ,p_entity_code => l_array_entity_code(Idx)
166409 ,p_transaction_num => l_array_transaction_num(Idx)
166410 ,p_event_id => l_array_event_id(Idx)
166411 ,p_event_class_code => l_array_class_code(Idx)
166412 ,p_event_type_code => l_array_event_type(Idx)
166413 ,p_event_number => l_array_event_number(Idx)
166414 ,p_event_date => l_array_event_date(Idx)
166415 ,p_transaction_date => l_array_transaction_date(Idx)
166416 ,p_reference_num_1 => l_array_reference_num_1(Idx)
166417 ,p_reference_num_2 => l_array_reference_num_2(Idx)
166418 ,p_reference_num_3 => l_array_reference_num_3(Idx)
166419 ,p_reference_num_4 => l_array_reference_num_4(Idx)
166420 ,p_reference_char_1 => l_array_reference_char_1(Idx)
166421 ,p_reference_char_2 => l_array_reference_char_2(Idx)
166422 ,p_reference_char_3 => l_array_reference_char_3(Idx)
166423 ,p_reference_char_4 => l_array_reference_char_4(Idx)
166424 ,p_reference_date_1 => l_array_reference_date_1(Idx)
166425 ,p_reference_date_2 => l_array_reference_date_2(Idx)
166426 ,p_reference_date_3 => l_array_reference_date_3(Idx)
166427 ,p_reference_date_4 => l_array_reference_date_4(Idx)
166428 ,p_event_created_by => l_array_event_created_by(Idx)
166429 ,p_budgetary_control_flag => l_array_budgetary_control_flag(Idx));
166430 --
166431 END IF;
166432
166433
166434
166435 --
166436 xla_ae_lines_pkg.SetExtractLine(p_extract_line => l_array_extract_line_num(Idx));
166437
166438 l_acct_reversal_source := SUBSTR(l_array_source_58(Idx), 1,30);
166439
166440 IF l_continue_with_lines THEN
166441 IF NVL(l_acct_reversal_source, 'N') NOT IN ('N','Y','B') THEN
166442 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
166443
166444 xla_accounting_err_pkg.build_message
166445 (p_appli_s_name => 'XLA'
166446 ,p_msg_name => 'XLA_AP_INVALID_REVERSAL_OPTION'
166447 ,p_token_1 => 'LINE_NUMBER'
166448 ,p_value_1 => l_array_extract_line_num(Idx)
166449 ,p_token_2 => 'PRODUCT_NAME'
166450 ,p_value_2 => xla_ae_journal_entry_pkg.g_cache_event.application_name
166451 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
166452 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
166453 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id);
166454
166455 ELSIF NVL(l_acct_reversal_source, 'N') IN ('Y','B') THEN
166456 --
166457 -- following sets the accounting attributes needed to reverse
166458 -- accounting for a distributeion
166459 --
166460
166461 --
166462 -- 5217187
166463 --
166464 l_rec_rev_acct_attrs.array_acct_attr_code(1):= 'GL_DATE';
166465 l_rec_rev_acct_attrs.array_date_value(1) := XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(
166466 g_array_event(l_event_id).array_value_num('header_index'));
166467 --
166468 --
166469
166470 l_rec_rev_acct_attrs.array_acct_attr_code(2) := 'ACCOUNTING_REVERSAL_OPTION';
166471 l_rec_rev_acct_attrs.array_char_value(2) := l_array_source_58(Idx);
166472 l_rec_rev_acct_attrs.array_acct_attr_code(3) := 'DISTRIBUTION_IDENTIFIER_1';
166473 l_rec_rev_acct_attrs.array_num_value(3) := l_array_source_107(Idx);
166474 l_rec_rev_acct_attrs.array_acct_attr_code(4) := 'DISTRIBUTION_TYPE';
166475 l_rec_rev_acct_attrs.array_char_value(4) := l_array_source_60(Idx);
166476 l_rec_rev_acct_attrs.array_acct_attr_code(5) := 'PARTY_TYPE';
166477 l_rec_rev_acct_attrs.array_char_value(5) := g_array_event(l_event_id).array_value_char('source_88');
166478 l_rec_rev_acct_attrs.array_acct_attr_code(6) := 'REVERSED_DISTRIBUTION_ID1';
166479 l_rec_rev_acct_attrs.array_num_value(6) := l_array_source_115(Idx);
166480 l_rec_rev_acct_attrs.array_acct_attr_code(7) := 'REVERSED_DISTRIBUTION_TYPE';
166481 l_rec_rev_acct_attrs.array_char_value(7) := l_array_source_60(Idx);
166482 l_rec_rev_acct_attrs.array_acct_attr_code(8) := 'TAX_LINE_REF_ID';
166483 l_rec_rev_acct_attrs.array_num_value(8) := l_array_source_91(Idx);
166484 l_rec_rev_acct_attrs.array_acct_attr_code(9) := 'TAX_REC_NREC_DIST_REF_ID';
166485 l_rec_rev_acct_attrs.array_num_value(9) := l_array_source_92(Idx);
166486 l_rec_rev_acct_attrs.array_acct_attr_code(10) := 'TAX_SUMMARY_LINE_REF_ID';
166487 l_rec_rev_acct_attrs.array_num_value(10) := l_array_source_93(Idx);
166488
166489
166490 xla_ae_lines_pkg.SetAcctReversalAttrs
166491 (p_event_id => l_event_id
166492 ,p_rec_acct_attrs => l_rec_rev_acct_attrs
166493 ,p_calculate_acctd_flag => l_calculate_acctd_flag
166494 ,p_calculate_g_l_flag => l_calculate_g_l_flag);
166495 END IF;
166496
166500 --
166497 IF NVL(l_acct_reversal_source, 'N') IN ('N','B') THEN
166498 l_actual_flag := NULL; l_actual_gain_loss_ref := '#####';
166499
166501 AcctLineType_78 (
166502 p_application_id => p_application_id
166503 ,p_event_id => l_event_id
166504 ,p_calculate_acctd_flag => l_calculate_acctd_flag
166505 ,p_calculate_g_l_flag => l_calculate_g_l_flag
166506 ,p_actual_flag => l_actual_flag
166507 ,p_balance_type_code => l_balance_type_code
166508 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
166509
166510 , p_source_8 => g_array_event(l_event_id).array_value_char('source_8')
166511 , p_source_30 => g_array_event(l_event_id).array_value_num('source_30')
166512 , p_source_43 => g_array_event(l_event_id).array_value_char('source_43')
166513 , p_source_43_meaning => g_array_event(l_event_id).array_value_char('source_43_meaning')
166514 , p_source_57 => g_array_event(l_event_id).array_value_char('source_57')
166515 , p_source_58 => l_array_source_58(Idx)
166516 , p_source_60 => l_array_source_60(Idx)
166517 , p_source_85 => l_array_source_85(Idx)
166518 , p_source_85_meaning => l_array_source_85_meaning(Idx)
166519 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
166520 , p_source_91 => l_array_source_91(Idx)
166521 , p_source_92 => l_array_source_92(Idx)
166522 , p_source_93 => l_array_source_93(Idx)
166523 , p_source_96 => l_array_source_96(Idx)
166524 , p_source_97 => l_array_source_97(Idx)
166525 , p_source_98 => l_array_source_98(Idx)
166526 , p_source_99 => l_array_source_99(Idx)
166527 , p_source_100 => l_array_source_100(Idx)
166528 , p_source_101 => l_array_source_101(Idx)
166529 , p_source_101_meaning => l_array_source_101_meaning(Idx)
166530 , p_source_102 => l_array_source_102(Idx)
166531 , p_source_107 => l_array_source_107(Idx)
166532 , p_source_113 => g_array_event(l_event_id).array_value_num('source_113')
166533 , p_source_114 => g_array_event(l_event_id).array_value_num('source_114')
166534 , p_source_115 => l_array_source_115(Idx)
166535 , p_source_116 => g_array_event(l_event_id).array_value_char('source_116')
166536 , p_source_116_meaning => g_array_event(l_event_id).array_value_char('source_116_meaning')
166537 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
166538 , p_source_118 => l_array_source_118(Idx)
166539 , p_source_120 => g_array_event(l_event_id).array_value_date('source_120')
166540 , p_source_121 => g_array_event(l_event_id).array_value_num('source_121')
166541 , p_source_122 => g_array_event(l_event_id).array_value_char('source_122')
166542 , p_source_125 => g_array_event(l_event_id).array_value_char('source_125')
166543 , p_source_125_meaning => g_array_event(l_event_id).array_value_char('source_125_meaning')
166544 , p_source_126 => g_array_event(l_event_id).array_value_char('source_126')
166545 , p_source_127 => l_array_source_127(Idx)
166546 );
166547 If(l_balance_type_code = 'A') THEN
166548 l_actual_gain_loss_ref := l_gain_or_loss_ref;
166549 END IF;
166550
166551 --
166552
166553
166554 --
166555 AcctLineType_79 (
166556 p_application_id => p_application_id
166557 ,p_event_id => l_event_id
166558 ,p_calculate_acctd_flag => l_calculate_acctd_flag
166559 ,p_calculate_g_l_flag => l_calculate_g_l_flag
166560 ,p_actual_flag => l_actual_flag
166561 ,p_balance_type_code => l_balance_type_code
166562 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
166563
166564 , p_source_8 => g_array_event(l_event_id).array_value_char('source_8')
166565 , p_source_10 => g_array_event(l_event_id).array_value_char('source_10')
166566 , p_source_10_meaning => g_array_event(l_event_id).array_value_char('source_10_meaning')
166567 , p_source_30 => g_array_event(l_event_id).array_value_num('source_30')
166568 , p_source_57 => g_array_event(l_event_id).array_value_char('source_57')
166569 , p_source_58 => l_array_source_58(Idx)
166570 , p_source_60 => l_array_source_60(Idx)
166571 , p_source_85 => l_array_source_85(Idx)
166572 , p_source_85_meaning => l_array_source_85_meaning(Idx)
166573 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
166574 , p_source_91 => l_array_source_91(Idx)
166575 , p_source_92 => l_array_source_92(Idx)
166576 , p_source_93 => l_array_source_93(Idx)
166577 , p_source_96 => l_array_source_96(Idx)
166578 , p_source_97 => l_array_source_97(Idx)
166579 , p_source_98 => l_array_source_98(Idx)
166580 , p_source_99 => l_array_source_99(Idx)
166581 , p_source_100 => l_array_source_100(Idx)
166582 , p_source_101 => l_array_source_101(Idx)
166583 , p_source_101_meaning => l_array_source_101_meaning(Idx)
166584 , p_source_102 => l_array_source_102(Idx)
166585 , p_source_107 => l_array_source_107(Idx)
166586 , p_source_113 => g_array_event(l_event_id).array_value_num('source_113')
166587 , p_source_114 => g_array_event(l_event_id).array_value_num('source_114')
166588 , p_source_115 => l_array_source_115(Idx)
166589 , p_source_116 => g_array_event(l_event_id).array_value_char('source_116')
166590 , p_source_116_meaning => g_array_event(l_event_id).array_value_char('source_116_meaning')
166591 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
166592 , p_source_118 => l_array_source_118(Idx)
166593 , p_source_120 => g_array_event(l_event_id).array_value_date('source_120')
166594 , p_source_121 => g_array_event(l_event_id).array_value_num('source_121')
166595 , p_source_122 => g_array_event(l_event_id).array_value_char('source_122')
166596 , p_source_125 => g_array_event(l_event_id).array_value_char('source_125')
166597 , p_source_125_meaning => g_array_event(l_event_id).array_value_char('source_125_meaning')
166598 , p_source_126 => g_array_event(l_event_id).array_value_char('source_126')
166599 , p_source_127 => l_array_source_127(Idx)
166600 );
166601 If(l_balance_type_code = 'A') THEN
166602 l_actual_gain_loss_ref := l_gain_or_loss_ref;
166603 END IF;
166604
166605 --
166606
166607
166608 --
166609 AcctLineType_80 (
166610 p_application_id => p_application_id
166611 ,p_event_id => l_event_id
166612 ,p_calculate_acctd_flag => l_calculate_acctd_flag
166616 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
166613 ,p_calculate_g_l_flag => l_calculate_g_l_flag
166614 ,p_actual_flag => l_actual_flag
166615 ,p_balance_type_code => l_balance_type_code
166617
166618 , p_source_8 => g_array_event(l_event_id).array_value_char('source_8')
166619 , p_source_10 => g_array_event(l_event_id).array_value_char('source_10')
166620 , p_source_10_meaning => g_array_event(l_event_id).array_value_char('source_10_meaning')
166621 , p_source_30 => g_array_event(l_event_id).array_value_num('source_30')
166622 , p_source_57 => g_array_event(l_event_id).array_value_char('source_57')
166623 , p_source_58 => l_array_source_58(Idx)
166624 , p_source_60 => l_array_source_60(Idx)
166625 , p_source_85 => l_array_source_85(Idx)
166626 , p_source_85_meaning => l_array_source_85_meaning(Idx)
166627 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
166628 , p_source_91 => l_array_source_91(Idx)
166629 , p_source_92 => l_array_source_92(Idx)
166630 , p_source_93 => l_array_source_93(Idx)
166631 , p_source_96 => l_array_source_96(Idx)
166632 , p_source_97 => l_array_source_97(Idx)
166633 , p_source_98 => l_array_source_98(Idx)
166634 , p_source_99 => l_array_source_99(Idx)
166635 , p_source_100 => l_array_source_100(Idx)
166636 , p_source_101 => l_array_source_101(Idx)
166637 , p_source_101_meaning => l_array_source_101_meaning(Idx)
166638 , p_source_102 => l_array_source_102(Idx)
166639 , p_source_107 => l_array_source_107(Idx)
166640 , p_source_113 => g_array_event(l_event_id).array_value_num('source_113')
166641 , p_source_114 => g_array_event(l_event_id).array_value_num('source_114')
166642 , p_source_115 => l_array_source_115(Idx)
166643 , p_source_116 => g_array_event(l_event_id).array_value_char('source_116')
166644 , p_source_116_meaning => g_array_event(l_event_id).array_value_char('source_116_meaning')
166645 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
166646 , p_source_118 => l_array_source_118(Idx)
166647 , p_source_120 => g_array_event(l_event_id).array_value_date('source_120')
166648 , p_source_121 => g_array_event(l_event_id).array_value_num('source_121')
166649 , p_source_122 => g_array_event(l_event_id).array_value_char('source_122')
166650 , p_source_125 => g_array_event(l_event_id).array_value_char('source_125')
166651 , p_source_125_meaning => g_array_event(l_event_id).array_value_char('source_125_meaning')
166652 , p_source_126 => g_array_event(l_event_id).array_value_char('source_126')
166653 , p_source_127 => l_array_source_127(Idx)
166654 );
166655 If(l_balance_type_code = 'A') THEN
166656 l_actual_gain_loss_ref := l_gain_or_loss_ref;
166657 END IF;
166658
166659 --
166660
166661
166662 --
166663 AcctLineType_81 (
166664 p_application_id => p_application_id
166665 ,p_event_id => l_event_id
166666 ,p_calculate_acctd_flag => l_calculate_acctd_flag
166667 ,p_calculate_g_l_flag => l_calculate_g_l_flag
166668 ,p_actual_flag => l_actual_flag
166669 ,p_balance_type_code => l_balance_type_code
166670 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
166671
166672 , p_source_8 => g_array_event(l_event_id).array_value_char('source_8')
166673 , p_source_10 => g_array_event(l_event_id).array_value_char('source_10')
166674 , p_source_10_meaning => g_array_event(l_event_id).array_value_char('source_10_meaning')
166675 , p_source_30 => g_array_event(l_event_id).array_value_num('source_30')
166676 , p_source_57 => g_array_event(l_event_id).array_value_char('source_57')
166677 , p_source_58 => l_array_source_58(Idx)
166678 , p_source_60 => l_array_source_60(Idx)
166679 , p_source_85 => l_array_source_85(Idx)
166680 , p_source_85_meaning => l_array_source_85_meaning(Idx)
166681 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
166682 , p_source_91 => l_array_source_91(Idx)
166683 , p_source_92 => l_array_source_92(Idx)
166684 , p_source_93 => l_array_source_93(Idx)
166685 , p_source_96 => l_array_source_96(Idx)
166686 , p_source_97 => l_array_source_97(Idx)
166687 , p_source_98 => l_array_source_98(Idx)
166688 , p_source_99 => l_array_source_99(Idx)
166689 , p_source_100 => l_array_source_100(Idx)
166690 , p_source_101 => l_array_source_101(Idx)
166691 , p_source_101_meaning => l_array_source_101_meaning(Idx)
166692 , p_source_102 => l_array_source_102(Idx)
166693 , p_source_107 => l_array_source_107(Idx)
166694 , p_source_113 => g_array_event(l_event_id).array_value_num('source_113')
166695 , p_source_114 => g_array_event(l_event_id).array_value_num('source_114')
166696 , p_source_115 => l_array_source_115(Idx)
166697 , p_source_116 => g_array_event(l_event_id).array_value_char('source_116')
166698 , p_source_116_meaning => g_array_event(l_event_id).array_value_char('source_116_meaning')
166699 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
166700 , p_source_119 => l_array_source_119(Idx)
166701 , p_source_120 => g_array_event(l_event_id).array_value_date('source_120')
166702 , p_source_121 => g_array_event(l_event_id).array_value_num('source_121')
166703 , p_source_122 => g_array_event(l_event_id).array_value_char('source_122')
166704 , p_source_125 => g_array_event(l_event_id).array_value_char('source_125')
166705 , p_source_125_meaning => g_array_event(l_event_id).array_value_char('source_125_meaning')
166706 , p_source_126 => g_array_event(l_event_id).array_value_char('source_126')
166707 , p_source_127 => l_array_source_127(Idx)
166708 );
166709 If(l_balance_type_code = 'A') THEN
166710 l_actual_gain_loss_ref := l_gain_or_loss_ref;
166711 END IF;
166712
166713 --
166714
166715
166716 --
166717 AcctLineType_82 (
166718 p_application_id => p_application_id
166719 ,p_event_id => l_event_id
166720 ,p_calculate_acctd_flag => l_calculate_acctd_flag
166721 ,p_calculate_g_l_flag => l_calculate_g_l_flag
166722 ,p_actual_flag => l_actual_flag
166723 ,p_balance_type_code => l_balance_type_code
166724 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
166725
166726 , p_source_8 => g_array_event(l_event_id).array_value_char('source_8')
166727 , p_source_10 => g_array_event(l_event_id).array_value_char('source_10')
166731 , p_source_58 => l_array_source_58(Idx)
166728 , p_source_10_meaning => g_array_event(l_event_id).array_value_char('source_10_meaning')
166729 , p_source_30 => g_array_event(l_event_id).array_value_num('source_30')
166730 , p_source_57 => g_array_event(l_event_id).array_value_char('source_57')
166732 , p_source_60 => l_array_source_60(Idx)
166733 , p_source_85 => l_array_source_85(Idx)
166734 , p_source_85_meaning => l_array_source_85_meaning(Idx)
166735 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
166736 , p_source_91 => l_array_source_91(Idx)
166737 , p_source_92 => l_array_source_92(Idx)
166738 , p_source_93 => l_array_source_93(Idx)
166739 , p_source_96 => l_array_source_96(Idx)
166740 , p_source_97 => l_array_source_97(Idx)
166741 , p_source_98 => l_array_source_98(Idx)
166742 , p_source_99 => l_array_source_99(Idx)
166743 , p_source_100 => l_array_source_100(Idx)
166744 , p_source_101 => l_array_source_101(Idx)
166745 , p_source_101_meaning => l_array_source_101_meaning(Idx)
166746 , p_source_102 => l_array_source_102(Idx)
166747 , p_source_107 => l_array_source_107(Idx)
166748 , p_source_113 => g_array_event(l_event_id).array_value_num('source_113')
166749 , p_source_114 => g_array_event(l_event_id).array_value_num('source_114')
166750 , p_source_115 => l_array_source_115(Idx)
166751 , p_source_116 => g_array_event(l_event_id).array_value_char('source_116')
166752 , p_source_116_meaning => g_array_event(l_event_id).array_value_char('source_116_meaning')
166753 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
166754 , p_source_119 => l_array_source_119(Idx)
166755 , p_source_120 => g_array_event(l_event_id).array_value_date('source_120')
166756 , p_source_121 => g_array_event(l_event_id).array_value_num('source_121')
166757 , p_source_122 => g_array_event(l_event_id).array_value_char('source_122')
166758 , p_source_125 => g_array_event(l_event_id).array_value_char('source_125')
166759 , p_source_125_meaning => g_array_event(l_event_id).array_value_char('source_125_meaning')
166760 , p_source_126 => g_array_event(l_event_id).array_value_char('source_126')
166761 , p_source_127 => l_array_source_127(Idx)
166762 );
166763 If(l_balance_type_code = 'A') THEN
166764 l_actual_gain_loss_ref := l_gain_or_loss_ref;
166765 END IF;
166766
166767 --
166768
166769
166770 --
166771 AcctLineType_83 (
166772 p_application_id => p_application_id
166773 ,p_event_id => l_event_id
166774 ,p_calculate_acctd_flag => l_calculate_acctd_flag
166775 ,p_calculate_g_l_flag => l_calculate_g_l_flag
166776 ,p_actual_flag => l_actual_flag
166777 ,p_balance_type_code => l_balance_type_code
166778 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
166779
166780 , p_source_8 => g_array_event(l_event_id).array_value_char('source_8')
166781 , p_source_30 => g_array_event(l_event_id).array_value_num('source_30')
166782 , p_source_43 => g_array_event(l_event_id).array_value_char('source_43')
166783 , p_source_43_meaning => g_array_event(l_event_id).array_value_char('source_43_meaning')
166784 , p_source_57 => g_array_event(l_event_id).array_value_char('source_57')
166785 , p_source_58 => l_array_source_58(Idx)
166786 , p_source_60 => l_array_source_60(Idx)
166787 , p_source_85 => l_array_source_85(Idx)
166788 , p_source_85_meaning => l_array_source_85_meaning(Idx)
166789 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
166790 , p_source_91 => l_array_source_91(Idx)
166791 , p_source_92 => l_array_source_92(Idx)
166792 , p_source_93 => l_array_source_93(Idx)
166793 , p_source_96 => l_array_source_96(Idx)
166794 , p_source_97 => l_array_source_97(Idx)
166795 , p_source_98 => l_array_source_98(Idx)
166796 , p_source_99 => l_array_source_99(Idx)
166797 , p_source_100 => l_array_source_100(Idx)
166798 , p_source_101 => l_array_source_101(Idx)
166799 , p_source_101_meaning => l_array_source_101_meaning(Idx)
166800 , p_source_102 => l_array_source_102(Idx)
166801 , p_source_107 => l_array_source_107(Idx)
166802 , p_source_113 => g_array_event(l_event_id).array_value_num('source_113')
166803 , p_source_114 => g_array_event(l_event_id).array_value_num('source_114')
166804 , p_source_115 => l_array_source_115(Idx)
166805 , p_source_116 => g_array_event(l_event_id).array_value_char('source_116')
166806 , p_source_116_meaning => g_array_event(l_event_id).array_value_char('source_116_meaning')
166807 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
166808 , p_source_119 => l_array_source_119(Idx)
166809 , p_source_120 => g_array_event(l_event_id).array_value_date('source_120')
166810 , p_source_121 => g_array_event(l_event_id).array_value_num('source_121')
166811 , p_source_122 => g_array_event(l_event_id).array_value_char('source_122')
166812 , p_source_125 => g_array_event(l_event_id).array_value_char('source_125')
166813 , p_source_125_meaning => g_array_event(l_event_id).array_value_char('source_125_meaning')
166814 , p_source_126 => g_array_event(l_event_id).array_value_char('source_126')
166815 , p_source_127 => l_array_source_127(Idx)
166816 );
166817 If(l_balance_type_code = 'A') THEN
166818 l_actual_gain_loss_ref := l_gain_or_loss_ref;
166819 END IF;
166820
166821 --
166822
166823
166824 --
166825 AcctLineType_94 (
166826 p_application_id => p_application_id
166827 ,p_event_id => l_event_id
166828 ,p_calculate_acctd_flag => l_calculate_acctd_flag
166829 ,p_calculate_g_l_flag => l_calculate_g_l_flag
166830 ,p_actual_flag => l_actual_flag
166831 ,p_balance_type_code => l_balance_type_code
166832 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
166833
166834 , p_source_8 => g_array_event(l_event_id).array_value_char('source_8')
166835 , p_source_12 => g_array_event(l_event_id).array_value_num('source_12')
166836 , p_source_43 => g_array_event(l_event_id).array_value_char('source_43')
166837 , p_source_43_meaning => g_array_event(l_event_id).array_value_char('source_43_meaning')
166838 , p_source_57 => g_array_event(l_event_id).array_value_char('source_57')
166839 , p_source_58 => l_array_source_58(Idx)
166840 , p_source_60 => l_array_source_60(Idx)
166844 , p_source_91 => l_array_source_91(Idx)
166841 , p_source_85 => l_array_source_85(Idx)
166842 , p_source_85_meaning => l_array_source_85_meaning(Idx)
166843 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
166845 , p_source_92 => l_array_source_92(Idx)
166846 , p_source_93 => l_array_source_93(Idx)
166847 , p_source_96 => l_array_source_96(Idx)
166848 , p_source_97 => l_array_source_97(Idx)
166849 , p_source_98 => l_array_source_98(Idx)
166850 , p_source_99 => l_array_source_99(Idx)
166851 , p_source_100 => l_array_source_100(Idx)
166852 , p_source_101 => l_array_source_101(Idx)
166853 , p_source_101_meaning => l_array_source_101_meaning(Idx)
166854 , p_source_102 => l_array_source_102(Idx)
166855 , p_source_107 => l_array_source_107(Idx)
166856 , p_source_113 => g_array_event(l_event_id).array_value_num('source_113')
166857 , p_source_114 => g_array_event(l_event_id).array_value_num('source_114')
166858 , p_source_115 => l_array_source_115(Idx)
166859 , p_source_116 => g_array_event(l_event_id).array_value_char('source_116')
166860 , p_source_116_meaning => g_array_event(l_event_id).array_value_char('source_116_meaning')
166861 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
166862 , p_source_118 => l_array_source_118(Idx)
166863 , p_source_120 => g_array_event(l_event_id).array_value_date('source_120')
166864 , p_source_121 => g_array_event(l_event_id).array_value_num('source_121')
166865 , p_source_122 => g_array_event(l_event_id).array_value_char('source_122')
166866 , p_source_125 => g_array_event(l_event_id).array_value_char('source_125')
166867 , p_source_125_meaning => g_array_event(l_event_id).array_value_char('source_125_meaning')
166868 , p_source_126 => g_array_event(l_event_id).array_value_char('source_126')
166869 , p_source_127 => l_array_source_127(Idx)
166870 );
166871 If(l_balance_type_code = 'A') THEN
166872 l_actual_gain_loss_ref := l_gain_or_loss_ref;
166873 END IF;
166874
166875 --
166876
166877
166878 --
166879 AcctLineType_95 (
166880 p_application_id => p_application_id
166881 ,p_event_id => l_event_id
166882 ,p_calculate_acctd_flag => l_calculate_acctd_flag
166883 ,p_calculate_g_l_flag => l_calculate_g_l_flag
166884 ,p_actual_flag => l_actual_flag
166885 ,p_balance_type_code => l_balance_type_code
166886 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
166887
166888 , p_source_8 => g_array_event(l_event_id).array_value_char('source_8')
166889 , p_source_10 => g_array_event(l_event_id).array_value_char('source_10')
166890 , p_source_10_meaning => g_array_event(l_event_id).array_value_char('source_10_meaning')
166891 , p_source_12 => g_array_event(l_event_id).array_value_num('source_12')
166892 , p_source_57 => g_array_event(l_event_id).array_value_char('source_57')
166893 , p_source_58 => l_array_source_58(Idx)
166894 , p_source_60 => l_array_source_60(Idx)
166895 , p_source_85 => l_array_source_85(Idx)
166896 , p_source_85_meaning => l_array_source_85_meaning(Idx)
166897 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
166898 , p_source_91 => l_array_source_91(Idx)
166899 , p_source_92 => l_array_source_92(Idx)
166900 , p_source_93 => l_array_source_93(Idx)
166901 , p_source_96 => l_array_source_96(Idx)
166902 , p_source_97 => l_array_source_97(Idx)
166903 , p_source_98 => l_array_source_98(Idx)
166904 , p_source_99 => l_array_source_99(Idx)
166905 , p_source_100 => l_array_source_100(Idx)
166906 , p_source_101 => l_array_source_101(Idx)
166907 , p_source_101_meaning => l_array_source_101_meaning(Idx)
166908 , p_source_102 => l_array_source_102(Idx)
166909 , p_source_107 => l_array_source_107(Idx)
166910 , p_source_113 => g_array_event(l_event_id).array_value_num('source_113')
166911 , p_source_114 => g_array_event(l_event_id).array_value_num('source_114')
166912 , p_source_115 => l_array_source_115(Idx)
166913 , p_source_116 => g_array_event(l_event_id).array_value_char('source_116')
166914 , p_source_116_meaning => g_array_event(l_event_id).array_value_char('source_116_meaning')
166915 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
166916 , p_source_118 => l_array_source_118(Idx)
166917 , p_source_120 => g_array_event(l_event_id).array_value_date('source_120')
166918 , p_source_121 => g_array_event(l_event_id).array_value_num('source_121')
166919 , p_source_122 => g_array_event(l_event_id).array_value_char('source_122')
166920 , p_source_125 => g_array_event(l_event_id).array_value_char('source_125')
166921 , p_source_125_meaning => g_array_event(l_event_id).array_value_char('source_125_meaning')
166922 , p_source_126 => g_array_event(l_event_id).array_value_char('source_126')
166923 , p_source_127 => l_array_source_127(Idx)
166924 );
166925 If(l_balance_type_code = 'A') THEN
166926 l_actual_gain_loss_ref := l_gain_or_loss_ref;
166927 END IF;
166928
166929 --
166930
166931
166932 --
166933 AcctLineType_96 (
166934 p_application_id => p_application_id
166935 ,p_event_id => l_event_id
166936 ,p_calculate_acctd_flag => l_calculate_acctd_flag
166937 ,p_calculate_g_l_flag => l_calculate_g_l_flag
166938 ,p_actual_flag => l_actual_flag
166939 ,p_balance_type_code => l_balance_type_code
166940 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
166941
166942 , p_source_8 => g_array_event(l_event_id).array_value_char('source_8')
166943 , p_source_10 => g_array_event(l_event_id).array_value_char('source_10')
166944 , p_source_10_meaning => g_array_event(l_event_id).array_value_char('source_10_meaning')
166945 , p_source_12 => g_array_event(l_event_id).array_value_num('source_12')
166946 , p_source_57 => g_array_event(l_event_id).array_value_char('source_57')
166947 , p_source_58 => l_array_source_58(Idx)
166948 , p_source_60 => l_array_source_60(Idx)
166949 , p_source_85 => l_array_source_85(Idx)
166950 , p_source_85_meaning => l_array_source_85_meaning(Idx)
166951 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
166952 , p_source_91 => l_array_source_91(Idx)
166953 , p_source_92 => l_array_source_92(Idx)
166954 , p_source_93 => l_array_source_93(Idx)
166958 , p_source_99 => l_array_source_99(Idx)
166955 , p_source_96 => l_array_source_96(Idx)
166956 , p_source_97 => l_array_source_97(Idx)
166957 , p_source_98 => l_array_source_98(Idx)
166959 , p_source_100 => l_array_source_100(Idx)
166960 , p_source_101 => l_array_source_101(Idx)
166961 , p_source_101_meaning => l_array_source_101_meaning(Idx)
166962 , p_source_102 => l_array_source_102(Idx)
166963 , p_source_107 => l_array_source_107(Idx)
166964 , p_source_113 => g_array_event(l_event_id).array_value_num('source_113')
166965 , p_source_114 => g_array_event(l_event_id).array_value_num('source_114')
166966 , p_source_115 => l_array_source_115(Idx)
166967 , p_source_116 => g_array_event(l_event_id).array_value_char('source_116')
166968 , p_source_116_meaning => g_array_event(l_event_id).array_value_char('source_116_meaning')
166969 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
166970 , p_source_118 => l_array_source_118(Idx)
166971 , p_source_120 => g_array_event(l_event_id).array_value_date('source_120')
166972 , p_source_121 => g_array_event(l_event_id).array_value_num('source_121')
166973 , p_source_122 => g_array_event(l_event_id).array_value_char('source_122')
166974 , p_source_125 => g_array_event(l_event_id).array_value_char('source_125')
166975 , p_source_125_meaning => g_array_event(l_event_id).array_value_char('source_125_meaning')
166976 , p_source_126 => g_array_event(l_event_id).array_value_char('source_126')
166977 , p_source_127 => l_array_source_127(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_107 (
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_8 => g_array_event(l_event_id).array_value_char('source_8')
166997 , p_source_28 => l_array_source_28(Idx)
166998 , p_source_28_meaning => l_array_source_28_meaning(Idx)
166999 , p_source_57 => g_array_event(l_event_id).array_value_char('source_57')
167000 , p_source_58 => l_array_source_58(Idx)
167001 , p_source_60 => l_array_source_60(Idx)
167002 , p_source_85 => l_array_source_85(Idx)
167003 , p_source_85_meaning => l_array_source_85_meaning(Idx)
167004 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
167005 , p_source_91 => l_array_source_91(Idx)
167006 , p_source_92 => l_array_source_92(Idx)
167007 , p_source_93 => l_array_source_93(Idx)
167008 , p_source_96 => l_array_source_96(Idx)
167009 , p_source_97 => l_array_source_97(Idx)
167010 , p_source_98 => l_array_source_98(Idx)
167011 , p_source_99 => l_array_source_99(Idx)
167012 , p_source_100 => l_array_source_100(Idx)
167013 , p_source_101 => l_array_source_101(Idx)
167014 , p_source_101_meaning => l_array_source_101_meaning(Idx)
167015 , p_source_102 => l_array_source_102(Idx)
167016 , p_source_107 => l_array_source_107(Idx)
167017 , p_source_115 => l_array_source_115(Idx)
167018 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
167019 , p_source_119 => l_array_source_119(Idx)
167020 , p_source_125 => g_array_event(l_event_id).array_value_char('source_125')
167021 , p_source_125_meaning => g_array_event(l_event_id).array_value_char('source_125_meaning')
167022 , p_source_126 => g_array_event(l_event_id).array_value_char('source_126')
167023 , p_source_127 => l_array_source_127(Idx)
167024 , p_source_140 => l_array_source_140(Idx)
167025 , p_source_140_meaning => l_array_source_140_meaning(Idx)
167026 , p_source_141 => l_array_source_141(Idx)
167027 );
167028 If(l_balance_type_code = 'A') THEN
167029 l_actual_gain_loss_ref := l_gain_or_loss_ref;
167030 END IF;
167031
167032 --
167033
167034
167035 --
167036 AcctLineType_111 (
167037 p_application_id => p_application_id
167038 ,p_event_id => l_event_id
167039 ,p_calculate_acctd_flag => l_calculate_acctd_flag
167040 ,p_calculate_g_l_flag => l_calculate_g_l_flag
167041 ,p_actual_flag => l_actual_flag
167042 ,p_balance_type_code => l_balance_type_code
167043 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
167044
167045 , p_source_8 => g_array_event(l_event_id).array_value_char('source_8')
167046 , p_source_28 => l_array_source_28(Idx)
167047 , p_source_28_meaning => l_array_source_28_meaning(Idx)
167048 , p_source_48 => l_array_source_48(Idx)
167049 , p_source_57 => g_array_event(l_event_id).array_value_char('source_57')
167050 , p_source_58 => l_array_source_58(Idx)
167051 , p_source_60 => l_array_source_60(Idx)
167052 , p_source_85 => l_array_source_85(Idx)
167053 , p_source_85_meaning => l_array_source_85_meaning(Idx)
167054 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
167055 , p_source_91 => l_array_source_91(Idx)
167056 , p_source_92 => l_array_source_92(Idx)
167057 , p_source_93 => l_array_source_93(Idx)
167058 , p_source_96 => l_array_source_96(Idx)
167059 , p_source_97 => l_array_source_97(Idx)
167060 , p_source_98 => l_array_source_98(Idx)
167061 , p_source_99 => l_array_source_99(Idx)
167062 , p_source_100 => l_array_source_100(Idx)
167063 , p_source_101 => l_array_source_101(Idx)
167064 , p_source_101_meaning => l_array_source_101_meaning(Idx)
167065 , p_source_102 => l_array_source_102(Idx)
167066 , p_source_107 => l_array_source_107(Idx)
167067 , p_source_113 => g_array_event(l_event_id).array_value_num('source_113')
167068 , p_source_114 => g_array_event(l_event_id).array_value_num('source_114')
167069 , p_source_115 => l_array_source_115(Idx)
167070 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
167071 , p_source_119 => l_array_source_119(Idx)
167072 , p_source_125 => g_array_event(l_event_id).array_value_char('source_125')
167073 , p_source_125_meaning => g_array_event(l_event_id).array_value_char('source_125_meaning')
167077 , p_source_140_meaning => l_array_source_140_meaning(Idx)
167074 , p_source_126 => g_array_event(l_event_id).array_value_char('source_126')
167075 , p_source_127 => l_array_source_127(Idx)
167076 , p_source_140 => l_array_source_140(Idx)
167078 , p_source_141 => l_array_source_141(Idx)
167079 , p_source_146 => l_array_source_146(Idx)
167080 , p_source_147 => l_array_source_147(Idx)
167081 , p_source_148 => l_array_source_148(Idx)
167082 );
167083 If(l_balance_type_code = 'A') THEN
167084 l_actual_gain_loss_ref := l_gain_or_loss_ref;
167085 END IF;
167086
167087 --
167088
167089
167090 --
167091 AcctLineType_114 (
167092 p_application_id => p_application_id
167093 ,p_event_id => l_event_id
167094 ,p_calculate_acctd_flag => l_calculate_acctd_flag
167095 ,p_calculate_g_l_flag => l_calculate_g_l_flag
167096 ,p_actual_flag => l_actual_flag
167097 ,p_balance_type_code => l_balance_type_code
167098 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
167099
167100 , p_source_8 => g_array_event(l_event_id).array_value_char('source_8')
167101 , p_source_10 => g_array_event(l_event_id).array_value_char('source_10')
167102 , p_source_10_meaning => g_array_event(l_event_id).array_value_char('source_10_meaning')
167103 , p_source_13 => g_array_event(l_event_id).array_value_num('source_13')
167104 , p_source_14 => g_array_event(l_event_id).array_value_char('source_14')
167105 , p_source_14_meaning => g_array_event(l_event_id).array_value_char('source_14_meaning')
167106 , p_source_25 => l_array_source_25(Idx)
167107 , p_source_28 => l_array_source_28(Idx)
167108 , p_source_28_meaning => l_array_source_28_meaning(Idx)
167109 , p_source_40 => g_array_event(l_event_id).array_value_num('source_40')
167110 , p_source_41 => l_array_source_41(Idx)
167111 , p_source_42 => l_array_source_42(Idx)
167112 , p_source_57 => g_array_event(l_event_id).array_value_char('source_57')
167113 , p_source_58 => l_array_source_58(Idx)
167114 , p_source_60 => l_array_source_60(Idx)
167115 , p_source_85 => l_array_source_85(Idx)
167116 , p_source_85_meaning => l_array_source_85_meaning(Idx)
167117 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
167118 , p_source_91 => l_array_source_91(Idx)
167119 , p_source_92 => l_array_source_92(Idx)
167120 , p_source_93 => l_array_source_93(Idx)
167121 , p_source_96 => l_array_source_96(Idx)
167122 , p_source_97 => l_array_source_97(Idx)
167123 , p_source_98 => l_array_source_98(Idx)
167124 , p_source_99 => l_array_source_99(Idx)
167125 , p_source_100 => l_array_source_100(Idx)
167126 , p_source_101 => l_array_source_101(Idx)
167127 , p_source_101_meaning => l_array_source_101_meaning(Idx)
167128 , p_source_102 => l_array_source_102(Idx)
167129 , p_source_107 => l_array_source_107(Idx)
167130 , p_source_113 => g_array_event(l_event_id).array_value_num('source_113')
167131 , p_source_114 => g_array_event(l_event_id).array_value_num('source_114')
167132 , p_source_115 => l_array_source_115(Idx)
167133 , p_source_118 => l_array_source_118(Idx)
167134 , p_source_125 => g_array_event(l_event_id).array_value_char('source_125')
167135 , p_source_125_meaning => g_array_event(l_event_id).array_value_char('source_125_meaning')
167136 , p_source_126 => g_array_event(l_event_id).array_value_char('source_126')
167137 , p_source_127 => l_array_source_127(Idx)
167138 , p_source_146 => l_array_source_146(Idx)
167139 , p_source_147 => l_array_source_147(Idx)
167140 , p_source_148 => l_array_source_148(Idx)
167141 );
167142 If(l_balance_type_code = 'A') THEN
167143 l_actual_gain_loss_ref := l_gain_or_loss_ref;
167144 END IF;
167145
167146 --
167147
167148
167149 --
167150 AcctLineType_122 (
167151 p_application_id => p_application_id
167152 ,p_event_id => l_event_id
167153 ,p_calculate_acctd_flag => l_calculate_acctd_flag
167154 ,p_calculate_g_l_flag => l_calculate_g_l_flag
167155 ,p_actual_flag => l_actual_flag
167156 ,p_balance_type_code => l_balance_type_code
167157 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
167158
167159 , p_source_10 => g_array_event(l_event_id).array_value_char('source_10')
167160 , p_source_10_meaning => g_array_event(l_event_id).array_value_char('source_10_meaning')
167161 , p_source_25 => l_array_source_25(Idx)
167162 , p_source_45 => g_array_event(l_event_id).array_value_num('source_45')
167163 , p_source_57 => g_array_event(l_event_id).array_value_char('source_57')
167164 , p_source_58 => l_array_source_58(Idx)
167165 , p_source_60 => l_array_source_60(Idx)
167166 , p_source_72 => l_array_source_72(Idx)
167167 , p_source_85 => l_array_source_85(Idx)
167168 , p_source_85_meaning => l_array_source_85_meaning(Idx)
167169 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
167170 , p_source_91 => l_array_source_91(Idx)
167171 , p_source_92 => l_array_source_92(Idx)
167172 , p_source_93 => l_array_source_93(Idx)
167173 , p_source_96 => l_array_source_96(Idx)
167174 , p_source_97 => l_array_source_97(Idx)
167175 , p_source_98 => l_array_source_98(Idx)
167176 , p_source_99 => l_array_source_99(Idx)
167177 , p_source_100 => l_array_source_100(Idx)
167178 , p_source_101 => l_array_source_101(Idx)
167179 , p_source_101_meaning => l_array_source_101_meaning(Idx)
167180 , p_source_102 => l_array_source_102(Idx)
167181 , p_source_107 => l_array_source_107(Idx)
167182 , p_source_113 => g_array_event(l_event_id).array_value_num('source_113')
167183 , p_source_114 => g_array_event(l_event_id).array_value_num('source_114')
167184 , p_source_115 => l_array_source_115(Idx)
167185 , p_source_119 => l_array_source_119(Idx)
167186 , p_source_125 => g_array_event(l_event_id).array_value_char('source_125')
167187 , p_source_125_meaning => g_array_event(l_event_id).array_value_char('source_125_meaning')
167188 , p_source_126 => g_array_event(l_event_id).array_value_char('source_126')
167189 , p_source_127 => l_array_source_127(Idx)
167190 , p_source_146 => l_array_source_146(Idx)
167191 , p_source_147 => l_array_source_147(Idx)
167192 , p_source_148 => l_array_source_148(Idx)
167193 );
167194 If(l_balance_type_code = 'A') THEN
167198 --
167195 l_actual_gain_loss_ref := l_gain_or_loss_ref;
167196 END IF;
167197
167199
167200
167201 --
167202 AcctLineType_129 (
167203 p_application_id => p_application_id
167204 ,p_event_id => l_event_id
167205 ,p_calculate_acctd_flag => l_calculate_acctd_flag
167206 ,p_calculate_g_l_flag => l_calculate_g_l_flag
167207 ,p_actual_flag => l_actual_flag
167208 ,p_balance_type_code => l_balance_type_code
167209 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
167210
167211 , p_source_8 => g_array_event(l_event_id).array_value_char('source_8')
167212 , p_source_10 => g_array_event(l_event_id).array_value_char('source_10')
167213 , p_source_10_meaning => g_array_event(l_event_id).array_value_char('source_10_meaning')
167214 , p_source_19 => g_array_event(l_event_id).array_value_num('source_19')
167215 , p_source_20 => g_array_event(l_event_id).array_value_char('source_20')
167216 , p_source_20_meaning => g_array_event(l_event_id).array_value_char('source_20_meaning')
167217 , p_source_21 => g_array_event(l_event_id).array_value_num('source_21')
167218 , p_source_22 => g_array_event(l_event_id).array_value_num('source_22')
167219 , p_source_25 => l_array_source_25(Idx)
167220 , p_source_57 => g_array_event(l_event_id).array_value_char('source_57')
167221 , p_source_58 => l_array_source_58(Idx)
167222 , p_source_60 => l_array_source_60(Idx)
167223 , p_source_85 => l_array_source_85(Idx)
167224 , p_source_85_meaning => l_array_source_85_meaning(Idx)
167225 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
167226 , p_source_91 => l_array_source_91(Idx)
167227 , p_source_92 => l_array_source_92(Idx)
167228 , p_source_93 => l_array_source_93(Idx)
167229 , p_source_96 => l_array_source_96(Idx)
167230 , p_source_97 => l_array_source_97(Idx)
167231 , p_source_98 => l_array_source_98(Idx)
167232 , p_source_99 => l_array_source_99(Idx)
167233 , p_source_100 => l_array_source_100(Idx)
167234 , p_source_101 => l_array_source_101(Idx)
167235 , p_source_101_meaning => l_array_source_101_meaning(Idx)
167236 , p_source_102 => l_array_source_102(Idx)
167237 , p_source_107 => l_array_source_107(Idx)
167238 , p_source_113 => g_array_event(l_event_id).array_value_num('source_113')
167239 , p_source_114 => g_array_event(l_event_id).array_value_num('source_114')
167240 , p_source_115 => l_array_source_115(Idx)
167241 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
167242 , p_source_118 => l_array_source_118(Idx)
167243 , p_source_120 => g_array_event(l_event_id).array_value_date('source_120')
167244 , p_source_121 => g_array_event(l_event_id).array_value_num('source_121')
167245 , p_source_122 => g_array_event(l_event_id).array_value_char('source_122')
167246 , p_source_126 => g_array_event(l_event_id).array_value_char('source_126')
167247 , p_source_127 => l_array_source_127(Idx)
167248 );
167249 If(l_balance_type_code = 'A') THEN
167250 l_actual_gain_loss_ref := l_gain_or_loss_ref;
167251 END IF;
167252
167253 --
167254
167255
167256 --
167257 AcctLineType_130 (
167258 p_application_id => p_application_id
167259 ,p_event_id => l_event_id
167260 ,p_calculate_acctd_flag => l_calculate_acctd_flag
167261 ,p_calculate_g_l_flag => l_calculate_g_l_flag
167262 ,p_actual_flag => l_actual_flag
167263 ,p_balance_type_code => l_balance_type_code
167264 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
167265
167266 , p_source_8 => g_array_event(l_event_id).array_value_char('source_8')
167267 , p_source_10 => g_array_event(l_event_id).array_value_char('source_10')
167268 , p_source_10_meaning => g_array_event(l_event_id).array_value_char('source_10_meaning')
167269 , p_source_19 => g_array_event(l_event_id).array_value_num('source_19')
167270 , p_source_20 => g_array_event(l_event_id).array_value_char('source_20')
167271 , p_source_20_meaning => g_array_event(l_event_id).array_value_char('source_20_meaning')
167272 , p_source_21 => g_array_event(l_event_id).array_value_num('source_21')
167273 , p_source_22 => g_array_event(l_event_id).array_value_num('source_22')
167274 , p_source_25 => l_array_source_25(Idx)
167275 , p_source_57 => g_array_event(l_event_id).array_value_char('source_57')
167276 , p_source_58 => l_array_source_58(Idx)
167277 , p_source_60 => l_array_source_60(Idx)
167278 , p_source_85 => l_array_source_85(Idx)
167279 , p_source_85_meaning => l_array_source_85_meaning(Idx)
167280 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
167281 , p_source_91 => l_array_source_91(Idx)
167282 , p_source_92 => l_array_source_92(Idx)
167283 , p_source_93 => l_array_source_93(Idx)
167284 , p_source_96 => l_array_source_96(Idx)
167285 , p_source_97 => l_array_source_97(Idx)
167286 , p_source_98 => l_array_source_98(Idx)
167287 , p_source_99 => l_array_source_99(Idx)
167288 , p_source_100 => l_array_source_100(Idx)
167289 , p_source_101 => l_array_source_101(Idx)
167290 , p_source_101_meaning => l_array_source_101_meaning(Idx)
167291 , p_source_102 => l_array_source_102(Idx)
167292 , p_source_107 => l_array_source_107(Idx)
167293 , p_source_113 => g_array_event(l_event_id).array_value_num('source_113')
167294 , p_source_114 => g_array_event(l_event_id).array_value_num('source_114')
167295 , p_source_115 => l_array_source_115(Idx)
167296 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
167297 , p_source_119 => l_array_source_119(Idx)
167298 , p_source_120 => g_array_event(l_event_id).array_value_date('source_120')
167299 , p_source_121 => g_array_event(l_event_id).array_value_num('source_121')
167300 , p_source_122 => g_array_event(l_event_id).array_value_char('source_122')
167301 , p_source_126 => g_array_event(l_event_id).array_value_char('source_126')
167302 , p_source_127 => l_array_source_127(Idx)
167303 );
167304 If(l_balance_type_code = 'A') THEN
167305 l_actual_gain_loss_ref := l_gain_or_loss_ref;
167306 END IF;
167307
167308 --
167309
167310
167311 --
167312 AcctLineType_135 (
167313 p_application_id => p_application_id
167314 ,p_event_id => l_event_id
167318 ,p_balance_type_code => l_balance_type_code
167315 ,p_calculate_acctd_flag => l_calculate_acctd_flag
167316 ,p_calculate_g_l_flag => l_calculate_g_l_flag
167317 ,p_actual_flag => l_actual_flag
167319 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
167320
167321 , p_source_10 => g_array_event(l_event_id).array_value_char('source_10')
167322 , p_source_10_meaning => g_array_event(l_event_id).array_value_char('source_10_meaning')
167323 , p_source_25 => l_array_source_25(Idx)
167324 , p_source_31 => g_array_event(l_event_id).array_value_num('source_31')
167325 , p_source_32 => g_array_event(l_event_id).array_value_num('source_32')
167326 , p_source_33 => g_array_event(l_event_id).array_value_num('source_33')
167327 , p_source_34 => g_array_event(l_event_id).array_value_num('source_34')
167328 , p_source_57 => g_array_event(l_event_id).array_value_char('source_57')
167329 , p_source_58 => l_array_source_58(Idx)
167330 , p_source_60 => l_array_source_60(Idx)
167331 , p_source_85 => l_array_source_85(Idx)
167332 , p_source_85_meaning => l_array_source_85_meaning(Idx)
167333 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
167334 , p_source_91 => l_array_source_91(Idx)
167335 , p_source_92 => l_array_source_92(Idx)
167336 , p_source_93 => l_array_source_93(Idx)
167337 , p_source_96 => l_array_source_96(Idx)
167338 , p_source_97 => l_array_source_97(Idx)
167339 , p_source_98 => l_array_source_98(Idx)
167340 , p_source_99 => l_array_source_99(Idx)
167341 , p_source_100 => l_array_source_100(Idx)
167342 , p_source_101 => l_array_source_101(Idx)
167343 , p_source_101_meaning => l_array_source_101_meaning(Idx)
167344 , p_source_107 => l_array_source_107(Idx)
167345 , p_source_113 => g_array_event(l_event_id).array_value_num('source_113')
167346 , p_source_114 => g_array_event(l_event_id).array_value_num('source_114')
167347 , p_source_115 => l_array_source_115(Idx)
167348 , p_source_125 => g_array_event(l_event_id).array_value_char('source_125')
167349 , p_source_125_meaning => g_array_event(l_event_id).array_value_char('source_125_meaning')
167350 , p_source_127 => l_array_source_127(Idx)
167351 , p_source_156 => l_array_source_156(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_140 (
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_8 => g_array_event(l_event_id).array_value_char('source_8')
167371 , p_source_10 => g_array_event(l_event_id).array_value_char('source_10')
167372 , p_source_10_meaning => g_array_event(l_event_id).array_value_char('source_10_meaning')
167373 , p_source_25 => l_array_source_25(Idx)
167374 , p_source_31 => g_array_event(l_event_id).array_value_num('source_31')
167375 , p_source_32 => g_array_event(l_event_id).array_value_num('source_32')
167376 , p_source_57 => g_array_event(l_event_id).array_value_char('source_57')
167377 , p_source_58 => l_array_source_58(Idx)
167378 , p_source_60 => l_array_source_60(Idx)
167379 , p_source_85 => l_array_source_85(Idx)
167380 , p_source_85_meaning => l_array_source_85_meaning(Idx)
167381 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
167382 , p_source_91 => l_array_source_91(Idx)
167383 , p_source_92 => l_array_source_92(Idx)
167384 , p_source_93 => l_array_source_93(Idx)
167385 , p_source_96 => l_array_source_96(Idx)
167386 , p_source_97 => l_array_source_97(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_101_meaning => l_array_source_101_meaning(Idx)
167392 , p_source_102 => l_array_source_102(Idx)
167393 , p_source_107 => l_array_source_107(Idx)
167394 , p_source_113 => g_array_event(l_event_id).array_value_num('source_113')
167395 , p_source_114 => g_array_event(l_event_id).array_value_num('source_114')
167396 , p_source_115 => l_array_source_115(Idx)
167397 , p_source_120 => g_array_event(l_event_id).array_value_date('source_120')
167398 , p_source_121 => g_array_event(l_event_id).array_value_num('source_121')
167399 , p_source_122 => g_array_event(l_event_id).array_value_char('source_122')
167400 , p_source_125 => g_array_event(l_event_id).array_value_char('source_125')
167401 , p_source_125_meaning => g_array_event(l_event_id).array_value_char('source_125_meaning')
167402 , p_source_127 => l_array_source_127(Idx)
167403 , p_source_156 => l_array_source_156(Idx)
167404 , p_source_161 => l_array_source_161(Idx)
167405 );
167406 If(l_balance_type_code = 'A') THEN
167407 l_actual_gain_loss_ref := l_gain_or_loss_ref;
167408 END IF;
167409
167410 --
167411
167412
167413 --
167414 AcctLineType_146 (
167415 p_application_id => p_application_id
167416 ,p_event_id => l_event_id
167417 ,p_calculate_acctd_flag => l_calculate_acctd_flag
167418 ,p_calculate_g_l_flag => l_calculate_g_l_flag
167419 ,p_actual_flag => l_actual_flag
167420 ,p_balance_type_code => l_balance_type_code
167421 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
167422
167423 , p_source_8 => g_array_event(l_event_id).array_value_char('source_8')
167424 , p_source_23 => g_array_event(l_event_id).array_value_num('source_23')
167425 , p_source_24 => g_array_event(l_event_id).array_value_char('source_24')
167426 , p_source_25 => l_array_source_25(Idx)
167427 , p_source_28 => l_array_source_28(Idx)
167428 , p_source_28_meaning => l_array_source_28_meaning(Idx)
167429 , p_source_56 => l_array_source_56(Idx)
167430 , p_source_56_meaning => l_array_source_56_meaning(Idx)
167431 , p_source_57 => g_array_event(l_event_id).array_value_char('source_57')
167432 , p_source_58 => l_array_source_58(Idx)
167436 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
167433 , p_source_60 => l_array_source_60(Idx)
167434 , p_source_85 => l_array_source_85(Idx)
167435 , p_source_85_meaning => l_array_source_85_meaning(Idx)
167437 , p_source_91 => l_array_source_91(Idx)
167438 , p_source_92 => l_array_source_92(Idx)
167439 , p_source_93 => l_array_source_93(Idx)
167440 , p_source_96 => l_array_source_96(Idx)
167441 , p_source_97 => l_array_source_97(Idx)
167442 , p_source_98 => l_array_source_98(Idx)
167443 , p_source_99 => l_array_source_99(Idx)
167444 , p_source_100 => l_array_source_100(Idx)
167445 , p_source_101 => l_array_source_101(Idx)
167446 , p_source_101_meaning => l_array_source_101_meaning(Idx)
167447 , p_source_102 => l_array_source_102(Idx)
167448 , p_source_107 => l_array_source_107(Idx)
167449 , p_source_113 => g_array_event(l_event_id).array_value_num('source_113')
167450 , p_source_114 => g_array_event(l_event_id).array_value_num('source_114')
167451 , p_source_115 => l_array_source_115(Idx)
167452 , p_source_118 => l_array_source_118(Idx)
167453 , p_source_120 => g_array_event(l_event_id).array_value_date('source_120')
167454 , p_source_121 => g_array_event(l_event_id).array_value_num('source_121')
167455 , p_source_122 => g_array_event(l_event_id).array_value_char('source_122')
167456 , p_source_126 => g_array_event(l_event_id).array_value_char('source_126')
167457 , p_source_127 => l_array_source_127(Idx)
167458 );
167459 If(l_balance_type_code = 'A') THEN
167460 l_actual_gain_loss_ref := l_gain_or_loss_ref;
167461 END IF;
167462
167463 --
167464
167465
167466 --
167467 AcctLineType_155 (
167468 p_application_id => p_application_id
167469 ,p_event_id => l_event_id
167470 ,p_calculate_acctd_flag => l_calculate_acctd_flag
167471 ,p_calculate_g_l_flag => l_calculate_g_l_flag
167472 ,p_actual_flag => l_actual_flag
167473 ,p_balance_type_code => l_balance_type_code
167474 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
167475
167476 , p_source_8 => g_array_event(l_event_id).array_value_char('source_8')
167477 , p_source_56 => l_array_source_56(Idx)
167478 , p_source_56_meaning => l_array_source_56_meaning(Idx)
167479 , p_source_57 => g_array_event(l_event_id).array_value_char('source_57')
167480 , p_source_58 => l_array_source_58(Idx)
167481 , p_source_60 => l_array_source_60(Idx)
167482 , p_source_85 => l_array_source_85(Idx)
167483 , p_source_85_meaning => l_array_source_85_meaning(Idx)
167484 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
167485 , p_source_91 => l_array_source_91(Idx)
167486 , p_source_92 => l_array_source_92(Idx)
167487 , p_source_93 => l_array_source_93(Idx)
167488 , p_source_96 => l_array_source_96(Idx)
167489 , p_source_97 => l_array_source_97(Idx)
167490 , p_source_98 => l_array_source_98(Idx)
167491 , p_source_99 => l_array_source_99(Idx)
167492 , p_source_100 => l_array_source_100(Idx)
167493 , p_source_101 => l_array_source_101(Idx)
167494 , p_source_101_meaning => l_array_source_101_meaning(Idx)
167495 , p_source_102 => l_array_source_102(Idx)
167496 , p_source_107 => l_array_source_107(Idx)
167497 , p_source_115 => l_array_source_115(Idx)
167498 , p_source_119 => l_array_source_119(Idx)
167499 , p_source_125 => g_array_event(l_event_id).array_value_char('source_125')
167500 , p_source_125_meaning => g_array_event(l_event_id).array_value_char('source_125_meaning')
167501 , p_source_126 => g_array_event(l_event_id).array_value_char('source_126')
167502 , p_source_127 => l_array_source_127(Idx)
167503 , p_source_166 => l_array_source_166(Idx)
167504 , p_source_166_meaning => l_array_source_166_meaning(Idx)
167505 );
167506 If(l_balance_type_code = 'A') THEN
167507 l_actual_gain_loss_ref := l_gain_or_loss_ref;
167508 END IF;
167509
167510 --
167511
167512
167513 --
167514 AcctLineType_166 (
167515 p_application_id => p_application_id
167516 ,p_event_id => l_event_id
167517 ,p_calculate_acctd_flag => l_calculate_acctd_flag
167518 ,p_calculate_g_l_flag => l_calculate_g_l_flag
167519 ,p_actual_flag => l_actual_flag
167520 ,p_balance_type_code => l_balance_type_code
167521 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
167522
167523 , p_source_8 => g_array_event(l_event_id).array_value_char('source_8')
167524 , p_source_56 => l_array_source_56(Idx)
167525 , p_source_56_meaning => l_array_source_56_meaning(Idx)
167526 , p_source_57 => g_array_event(l_event_id).array_value_char('source_57')
167527 , p_source_58 => l_array_source_58(Idx)
167528 , p_source_60 => l_array_source_60(Idx)
167529 , p_source_85 => l_array_source_85(Idx)
167530 , p_source_85_meaning => l_array_source_85_meaning(Idx)
167531 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
167532 , p_source_91 => l_array_source_91(Idx)
167533 , p_source_92 => l_array_source_92(Idx)
167534 , p_source_93 => l_array_source_93(Idx)
167535 , p_source_96 => l_array_source_96(Idx)
167536 , p_source_97 => l_array_source_97(Idx)
167537 , p_source_98 => l_array_source_98(Idx)
167538 , p_source_99 => l_array_source_99(Idx)
167539 , p_source_100 => l_array_source_100(Idx)
167540 , p_source_101 => l_array_source_101(Idx)
167541 , p_source_101_meaning => l_array_source_101_meaning(Idx)
167542 , p_source_102 => l_array_source_102(Idx)
167543 , p_source_107 => l_array_source_107(Idx)
167544 , p_source_115 => l_array_source_115(Idx)
167545 , p_source_119 => l_array_source_119(Idx)
167546 , p_source_125 => g_array_event(l_event_id).array_value_char('source_125')
167547 , p_source_125_meaning => g_array_event(l_event_id).array_value_char('source_125_meaning')
167548 , p_source_127 => l_array_source_127(Idx)
167549 );
167550 If(l_balance_type_code = 'A') THEN
167551 l_actual_gain_loss_ref := l_gain_or_loss_ref;
167552 END IF;
167553
167554 --
167555
167556
167557 --
167558 AcctLineType_174 (
167559 p_application_id => p_application_id
167560 ,p_event_id => l_event_id
167561 ,p_calculate_acctd_flag => l_calculate_acctd_flag
167565 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
167562 ,p_calculate_g_l_flag => l_calculate_g_l_flag
167563 ,p_actual_flag => l_actual_flag
167564 ,p_balance_type_code => l_balance_type_code
167566
167567 , p_source_8 => g_array_event(l_event_id).array_value_char('source_8')
167568 , p_source_10 => g_array_event(l_event_id).array_value_char('source_10')
167569 , p_source_10_meaning => g_array_event(l_event_id).array_value_char('source_10_meaning')
167570 , p_source_25 => l_array_source_25(Idx)
167571 , p_source_33 => g_array_event(l_event_id).array_value_num('source_33')
167572 , p_source_34 => g_array_event(l_event_id).array_value_num('source_34')
167573 , p_source_57 => g_array_event(l_event_id).array_value_char('source_57')
167574 , p_source_58 => l_array_source_58(Idx)
167575 , p_source_60 => l_array_source_60(Idx)
167576 , p_source_85 => l_array_source_85(Idx)
167577 , p_source_85_meaning => l_array_source_85_meaning(Idx)
167578 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
167579 , p_source_91 => l_array_source_91(Idx)
167580 , p_source_92 => l_array_source_92(Idx)
167581 , p_source_93 => l_array_source_93(Idx)
167582 , p_source_96 => l_array_source_96(Idx)
167583 , p_source_97 => l_array_source_97(Idx)
167584 , p_source_98 => l_array_source_98(Idx)
167585 , p_source_99 => l_array_source_99(Idx)
167586 , p_source_100 => l_array_source_100(Idx)
167587 , p_source_101 => l_array_source_101(Idx)
167588 , p_source_101_meaning => l_array_source_101_meaning(Idx)
167589 , p_source_102 => l_array_source_102(Idx)
167590 , p_source_107 => l_array_source_107(Idx)
167591 , p_source_113 => g_array_event(l_event_id).array_value_num('source_113')
167592 , p_source_114 => g_array_event(l_event_id).array_value_num('source_114')
167593 , p_source_115 => l_array_source_115(Idx)
167594 , p_source_120 => g_array_event(l_event_id).array_value_date('source_120')
167595 , p_source_121 => g_array_event(l_event_id).array_value_num('source_121')
167596 , p_source_122 => g_array_event(l_event_id).array_value_char('source_122')
167597 , p_source_125 => g_array_event(l_event_id).array_value_char('source_125')
167598 , p_source_125_meaning => g_array_event(l_event_id).array_value_char('source_125_meaning')
167599 , p_source_127 => l_array_source_127(Idx)
167600 , p_source_156 => l_array_source_156(Idx)
167601 , p_source_161 => l_array_source_161(Idx)
167602 );
167603 If(l_balance_type_code = 'A') THEN
167604 l_actual_gain_loss_ref := l_gain_or_loss_ref;
167605 END IF;
167606
167607 --
167608
167609
167610 --
167611 AcctLineType_192 (
167612 p_application_id => p_application_id
167613 ,p_event_id => l_event_id
167614 ,p_calculate_acctd_flag => l_calculate_acctd_flag
167615 ,p_calculate_g_l_flag => l_calculate_g_l_flag
167616 ,p_actual_flag => l_actual_flag
167617 ,p_balance_type_code => l_balance_type_code
167618 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
167619
167620 , p_source_8 => g_array_event(l_event_id).array_value_char('source_8')
167621 , p_source_44 => g_array_event(l_event_id).array_value_num('source_44')
167622 , p_source_58 => l_array_source_58(Idx)
167623 , p_source_60 => l_array_source_60(Idx)
167624 , p_source_85 => l_array_source_85(Idx)
167625 , p_source_85_meaning => l_array_source_85_meaning(Idx)
167626 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
167627 , p_source_91 => l_array_source_91(Idx)
167628 , p_source_92 => l_array_source_92(Idx)
167629 , p_source_93 => l_array_source_93(Idx)
167630 , p_source_96 => l_array_source_96(Idx)
167631 , p_source_97 => l_array_source_97(Idx)
167632 , p_source_98 => l_array_source_98(Idx)
167633 , p_source_99 => l_array_source_99(Idx)
167634 , p_source_100 => l_array_source_100(Idx)
167635 , p_source_102 => l_array_source_102(Idx)
167636 , p_source_107 => l_array_source_107(Idx)
167637 , p_source_113 => g_array_event(l_event_id).array_value_num('source_113')
167638 , p_source_114 => g_array_event(l_event_id).array_value_num('source_114')
167639 , p_source_115 => l_array_source_115(Idx)
167640 , p_source_118 => l_array_source_118(Idx)
167641 , p_source_120 => g_array_event(l_event_id).array_value_date('source_120')
167642 , p_source_121 => g_array_event(l_event_id).array_value_num('source_121')
167643 , p_source_122 => g_array_event(l_event_id).array_value_char('source_122')
167644 , p_source_126 => g_array_event(l_event_id).array_value_char('source_126')
167645 , p_source_127 => l_array_source_127(Idx)
167646 );
167647 If(l_balance_type_code = 'A') THEN
167648 l_actual_gain_loss_ref := l_gain_or_loss_ref;
167649 END IF;
167650
167651 --
167652
167653
167654 --
167655 AcctLineType_234 (
167656 p_application_id => p_application_id
167657 ,p_event_id => l_event_id
167658 ,p_calculate_acctd_flag => l_calculate_acctd_flag
167659 ,p_calculate_g_l_flag => l_calculate_g_l_flag
167660 ,p_actual_flag => l_actual_flag
167661 ,p_balance_type_code => l_balance_type_code
167662 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
167663
167664 , p_source_8 => g_array_event(l_event_id).array_value_char('source_8')
167665 , p_source_10 => g_array_event(l_event_id).array_value_char('source_10')
167666 , p_source_10_meaning => g_array_event(l_event_id).array_value_char('source_10_meaning')
167667 , p_source_25 => l_array_source_25(Idx)
167668 , p_source_39 => l_array_source_39(Idx)
167669 , p_source_57 => g_array_event(l_event_id).array_value_char('source_57')
167670 , p_source_58 => l_array_source_58(Idx)
167671 , p_source_60 => l_array_source_60(Idx)
167672 , p_source_85 => l_array_source_85(Idx)
167673 , p_source_85_meaning => l_array_source_85_meaning(Idx)
167674 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
167675 , p_source_91 => l_array_source_91(Idx)
167676 , p_source_92 => l_array_source_92(Idx)
167677 , p_source_93 => l_array_source_93(Idx)
167678 , p_source_96 => l_array_source_96(Idx)
167679 , p_source_97 => l_array_source_97(Idx)
167680 , p_source_98 => l_array_source_98(Idx)
167681 , p_source_99 => l_array_source_99(Idx)
167682 , p_source_100 => l_array_source_100(Idx)
167686 , p_source_107 => l_array_source_107(Idx)
167683 , p_source_101 => l_array_source_101(Idx)
167684 , p_source_101_meaning => l_array_source_101_meaning(Idx)
167685 , p_source_102 => l_array_source_102(Idx)
167687 , p_source_113 => g_array_event(l_event_id).array_value_num('source_113')
167688 , p_source_114 => g_array_event(l_event_id).array_value_num('source_114')
167689 , p_source_115 => l_array_source_115(Idx)
167690 , p_source_119 => l_array_source_119(Idx)
167691 , p_source_125 => g_array_event(l_event_id).array_value_char('source_125')
167692 , p_source_125_meaning => g_array_event(l_event_id).array_value_char('source_125_meaning')
167693 , p_source_126 => g_array_event(l_event_id).array_value_char('source_126')
167694 , p_source_127 => l_array_source_127(Idx)
167695 , p_source_146 => l_array_source_146(Idx)
167696 , p_source_147 => l_array_source_147(Idx)
167697 , p_source_148 => l_array_source_148(Idx)
167698 , p_source_166 => l_array_source_166(Idx)
167699 , p_source_166_meaning => l_array_source_166_meaning(Idx)
167700 );
167701 If(l_balance_type_code = 'A') THEN
167702 l_actual_gain_loss_ref := l_gain_or_loss_ref;
167703 END IF;
167704
167705 --
167706
167707
167708 --
167709 AcctLineType_239 (
167710 p_application_id => p_application_id
167711 ,p_event_id => l_event_id
167712 ,p_calculate_acctd_flag => l_calculate_acctd_flag
167713 ,p_calculate_g_l_flag => l_calculate_g_l_flag
167714 ,p_actual_flag => l_actual_flag
167715 ,p_balance_type_code => l_balance_type_code
167716 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
167717
167718 , p_source_3 => g_array_event(l_event_id).array_value_char('source_3')
167719 , p_source_4 => g_array_event(l_event_id).array_value_num('source_4')
167720 , p_source_5 => g_array_event(l_event_id).array_value_num('source_5')
167721 , p_source_6 => g_array_event(l_event_id).array_value_date('source_6')
167722 , p_source_7 => g_array_event(l_event_id).array_value_char('source_7')
167723 , p_source_8 => g_array_event(l_event_id).array_value_char('source_8')
167724 , p_source_10 => g_array_event(l_event_id).array_value_char('source_10')
167725 , p_source_10_meaning => g_array_event(l_event_id).array_value_char('source_10_meaning')
167726 , p_source_12 => g_array_event(l_event_id).array_value_num('source_12')
167727 , p_source_25 => l_array_source_25(Idx)
167728 , p_source_28 => l_array_source_28(Idx)
167729 , p_source_28_meaning => l_array_source_28_meaning(Idx)
167730 , p_source_29 => l_array_source_29(Idx)
167731 , p_source_30 => g_array_event(l_event_id).array_value_num('source_30')
167732 , p_source_52 => l_array_source_52(Idx)
167733 , p_source_53 => l_array_source_53(Idx)
167734 , p_source_54 => l_array_source_54(Idx)
167735 , p_source_54_meaning => l_array_source_54_meaning(Idx)
167736 , p_source_55 => l_array_source_55(Idx)
167737 , p_source_56 => l_array_source_56(Idx)
167738 , p_source_56_meaning => l_array_source_56_meaning(Idx)
167739 , p_source_57 => g_array_event(l_event_id).array_value_char('source_57')
167740 , p_source_58 => l_array_source_58(Idx)
167741 , p_source_60 => l_array_source_60(Idx)
167742 , p_source_85 => l_array_source_85(Idx)
167743 , p_source_85_meaning => l_array_source_85_meaning(Idx)
167744 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
167745 , p_source_91 => l_array_source_91(Idx)
167746 , p_source_92 => l_array_source_92(Idx)
167747 , p_source_93 => l_array_source_93(Idx)
167748 , p_source_96 => l_array_source_96(Idx)
167749 , p_source_97 => l_array_source_97(Idx)
167750 , p_source_98 => l_array_source_98(Idx)
167751 , p_source_99 => l_array_source_99(Idx)
167752 , p_source_100 => l_array_source_100(Idx)
167753 , p_source_102 => l_array_source_102(Idx)
167754 , p_source_107 => l_array_source_107(Idx)
167755 , p_source_113 => g_array_event(l_event_id).array_value_num('source_113')
167756 , p_source_114 => g_array_event(l_event_id).array_value_num('source_114')
167757 , p_source_115 => l_array_source_115(Idx)
167758 , p_source_118 => l_array_source_118(Idx)
167759 , p_source_120 => g_array_event(l_event_id).array_value_date('source_120')
167760 , p_source_121 => g_array_event(l_event_id).array_value_num('source_121')
167761 , p_source_122 => g_array_event(l_event_id).array_value_char('source_122')
167762 , p_source_127 => l_array_source_127(Idx)
167763 );
167764 If(l_balance_type_code = 'A') THEN
167765 l_actual_gain_loss_ref := l_gain_or_loss_ref;
167766 END IF;
167767
167768 --
167769
167770
167771 --
167772 AcctLineType_240 (
167773 p_application_id => p_application_id
167774 ,p_event_id => l_event_id
167775 ,p_calculate_acctd_flag => l_calculate_acctd_flag
167776 ,p_calculate_g_l_flag => l_calculate_g_l_flag
167777 ,p_actual_flag => l_actual_flag
167778 ,p_balance_type_code => l_balance_type_code
167779 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
167780
167781 , p_source_3 => g_array_event(l_event_id).array_value_char('source_3')
167782 , p_source_4 => g_array_event(l_event_id).array_value_num('source_4')
167783 , p_source_5 => g_array_event(l_event_id).array_value_num('source_5')
167784 , p_source_6 => g_array_event(l_event_id).array_value_date('source_6')
167785 , p_source_7 => g_array_event(l_event_id).array_value_char('source_7')
167786 , p_source_8 => g_array_event(l_event_id).array_value_char('source_8')
167787 , p_source_10 => g_array_event(l_event_id).array_value_char('source_10')
167788 , p_source_10_meaning => g_array_event(l_event_id).array_value_char('source_10_meaning')
167789 , p_source_12 => g_array_event(l_event_id).array_value_num('source_12')
167790 , p_source_25 => l_array_source_25(Idx)
167791 , p_source_29 => l_array_source_29(Idx)
167792 , p_source_30 => g_array_event(l_event_id).array_value_num('source_30')
167793 , p_source_49 => l_array_source_49(Idx)
167794 , p_source_50 => l_array_source_50(Idx)
167795 , p_source_51 => l_array_source_51(Idx)
167796 , p_source_56 => l_array_source_56(Idx)
167797 , p_source_56_meaning => l_array_source_56_meaning(Idx)
167798 , p_source_57 => g_array_event(l_event_id).array_value_char('source_57')
167799 , p_source_58 => l_array_source_58(Idx)
167803 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
167800 , p_source_60 => l_array_source_60(Idx)
167801 , p_source_85 => l_array_source_85(Idx)
167802 , p_source_85_meaning => l_array_source_85_meaning(Idx)
167804 , p_source_91 => l_array_source_91(Idx)
167805 , p_source_92 => l_array_source_92(Idx)
167806 , p_source_93 => l_array_source_93(Idx)
167807 , p_source_96 => l_array_source_96(Idx)
167808 , p_source_97 => l_array_source_97(Idx)
167809 , p_source_98 => l_array_source_98(Idx)
167810 , p_source_99 => l_array_source_99(Idx)
167811 , p_source_100 => l_array_source_100(Idx)
167812 , p_source_102 => l_array_source_102(Idx)
167813 , p_source_107 => l_array_source_107(Idx)
167814 , p_source_113 => g_array_event(l_event_id).array_value_num('source_113')
167815 , p_source_114 => g_array_event(l_event_id).array_value_num('source_114')
167816 , p_source_115 => l_array_source_115(Idx)
167817 , p_source_118 => l_array_source_118(Idx)
167818 , p_source_120 => g_array_event(l_event_id).array_value_date('source_120')
167819 , p_source_121 => g_array_event(l_event_id).array_value_num('source_121')
167820 , p_source_122 => g_array_event(l_event_id).array_value_char('source_122')
167821 , p_source_127 => l_array_source_127(Idx)
167822 );
167823 If(l_balance_type_code = 'A') THEN
167824 l_actual_gain_loss_ref := l_gain_or_loss_ref;
167825 END IF;
167826
167827 --
167828
167829
167830 --
167831 AcctLineType_241 (
167832 p_application_id => p_application_id
167833 ,p_event_id => l_event_id
167834 ,p_calculate_acctd_flag => l_calculate_acctd_flag
167835 ,p_calculate_g_l_flag => l_calculate_g_l_flag
167836 ,p_actual_flag => l_actual_flag
167837 ,p_balance_type_code => l_balance_type_code
167838 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
167839
167840 , p_source_3 => g_array_event(l_event_id).array_value_char('source_3')
167841 , p_source_4 => g_array_event(l_event_id).array_value_num('source_4')
167842 , p_source_5 => g_array_event(l_event_id).array_value_num('source_5')
167843 , p_source_6 => g_array_event(l_event_id).array_value_date('source_6')
167844 , p_source_7 => g_array_event(l_event_id).array_value_char('source_7')
167845 , p_source_8 => g_array_event(l_event_id).array_value_char('source_8')
167846 , p_source_10 => g_array_event(l_event_id).array_value_char('source_10')
167847 , p_source_10_meaning => g_array_event(l_event_id).array_value_char('source_10_meaning')
167848 , p_source_12 => g_array_event(l_event_id).array_value_num('source_12')
167849 , p_source_25 => l_array_source_25(Idx)
167850 , p_source_29 => l_array_source_29(Idx)
167851 , p_source_30 => g_array_event(l_event_id).array_value_num('source_30')
167852 , p_source_49 => l_array_source_49(Idx)
167853 , p_source_50 => l_array_source_50(Idx)
167854 , p_source_51 => l_array_source_51(Idx)
167855 , p_source_57 => g_array_event(l_event_id).array_value_char('source_57')
167856 , p_source_58 => l_array_source_58(Idx)
167857 , p_source_60 => l_array_source_60(Idx)
167858 , p_source_85 => l_array_source_85(Idx)
167859 , p_source_85_meaning => l_array_source_85_meaning(Idx)
167860 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
167861 , p_source_91 => l_array_source_91(Idx)
167862 , p_source_92 => l_array_source_92(Idx)
167863 , p_source_93 => l_array_source_93(Idx)
167864 , p_source_96 => l_array_source_96(Idx)
167865 , p_source_97 => l_array_source_97(Idx)
167866 , p_source_98 => l_array_source_98(Idx)
167867 , p_source_99 => l_array_source_99(Idx)
167868 , p_source_100 => l_array_source_100(Idx)
167869 , p_source_101 => l_array_source_101(Idx)
167870 , p_source_101_meaning => l_array_source_101_meaning(Idx)
167871 , p_source_102 => l_array_source_102(Idx)
167872 , p_source_107 => l_array_source_107(Idx)
167873 , p_source_113 => g_array_event(l_event_id).array_value_num('source_113')
167874 , p_source_114 => g_array_event(l_event_id).array_value_num('source_114')
167875 , p_source_115 => l_array_source_115(Idx)
167876 , p_source_118 => l_array_source_118(Idx)
167877 , p_source_120 => g_array_event(l_event_id).array_value_date('source_120')
167878 , p_source_121 => g_array_event(l_event_id).array_value_num('source_121')
167879 , p_source_122 => g_array_event(l_event_id).array_value_char('source_122')
167880 , p_source_127 => l_array_source_127(Idx)
167881 );
167882 If(l_balance_type_code = 'A') THEN
167883 l_actual_gain_loss_ref := l_gain_or_loss_ref;
167884 END IF;
167885
167886 --
167887
167888
167889 --
167890 AcctLineType_242 (
167891 p_application_id => p_application_id
167892 ,p_event_id => l_event_id
167893 ,p_calculate_acctd_flag => l_calculate_acctd_flag
167894 ,p_calculate_g_l_flag => l_calculate_g_l_flag
167895 ,p_actual_flag => l_actual_flag
167896 ,p_balance_type_code => l_balance_type_code
167897 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
167898
167899 , p_source_3 => g_array_event(l_event_id).array_value_char('source_3')
167900 , p_source_4 => g_array_event(l_event_id).array_value_num('source_4')
167901 , p_source_5 => g_array_event(l_event_id).array_value_num('source_5')
167902 , p_source_6 => g_array_event(l_event_id).array_value_date('source_6')
167903 , p_source_7 => g_array_event(l_event_id).array_value_char('source_7')
167904 , p_source_8 => g_array_event(l_event_id).array_value_char('source_8')
167905 , p_source_10 => g_array_event(l_event_id).array_value_char('source_10')
167906 , p_source_10_meaning => g_array_event(l_event_id).array_value_char('source_10_meaning')
167907 , p_source_12 => g_array_event(l_event_id).array_value_num('source_12')
167908 , p_source_25 => l_array_source_25(Idx)
167909 , p_source_29 => l_array_source_29(Idx)
167910 , p_source_30 => g_array_event(l_event_id).array_value_num('source_30')
167911 , p_source_51 => l_array_source_51(Idx)
167912 , p_source_56 => l_array_source_56(Idx)
167913 , p_source_56_meaning => l_array_source_56_meaning(Idx)
167914 , p_source_57 => g_array_event(l_event_id).array_value_char('source_57')
167915 , p_source_58 => l_array_source_58(Idx)
167916 , p_source_60 => l_array_source_60(Idx)
167920 , p_source_91 => l_array_source_91(Idx)
167917 , p_source_85 => l_array_source_85(Idx)
167918 , p_source_85_meaning => l_array_source_85_meaning(Idx)
167919 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
167921 , p_source_92 => l_array_source_92(Idx)
167922 , p_source_93 => l_array_source_93(Idx)
167923 , p_source_96 => l_array_source_96(Idx)
167924 , p_source_97 => l_array_source_97(Idx)
167925 , p_source_98 => l_array_source_98(Idx)
167926 , p_source_99 => l_array_source_99(Idx)
167927 , p_source_100 => l_array_source_100(Idx)
167928 , p_source_101 => l_array_source_101(Idx)
167929 , p_source_101_meaning => l_array_source_101_meaning(Idx)
167930 , p_source_102 => l_array_source_102(Idx)
167931 , p_source_107 => l_array_source_107(Idx)
167932 , p_source_113 => g_array_event(l_event_id).array_value_num('source_113')
167933 , p_source_114 => g_array_event(l_event_id).array_value_num('source_114')
167934 , p_source_115 => l_array_source_115(Idx)
167935 , p_source_118 => l_array_source_118(Idx)
167936 , p_source_120 => g_array_event(l_event_id).array_value_date('source_120')
167937 , p_source_121 => g_array_event(l_event_id).array_value_num('source_121')
167938 , p_source_122 => g_array_event(l_event_id).array_value_char('source_122')
167939 , p_source_127 => l_array_source_127(Idx)
167940 );
167941 If(l_balance_type_code = 'A') THEN
167942 l_actual_gain_loss_ref := l_gain_or_loss_ref;
167943 END IF;
167944
167945 --
167946
167947
167948 --
167949 AcctLineType_243 (
167950 p_application_id => p_application_id
167951 ,p_event_id => l_event_id
167952 ,p_calculate_acctd_flag => l_calculate_acctd_flag
167953 ,p_calculate_g_l_flag => l_calculate_g_l_flag
167954 ,p_actual_flag => l_actual_flag
167955 ,p_balance_type_code => l_balance_type_code
167956 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
167957
167958 , p_source_3 => g_array_event(l_event_id).array_value_char('source_3')
167959 , p_source_4 => g_array_event(l_event_id).array_value_num('source_4')
167960 , p_source_5 => g_array_event(l_event_id).array_value_num('source_5')
167961 , p_source_6 => g_array_event(l_event_id).array_value_date('source_6')
167962 , p_source_7 => g_array_event(l_event_id).array_value_char('source_7')
167963 , p_source_8 => g_array_event(l_event_id).array_value_char('source_8')
167964 , p_source_10 => g_array_event(l_event_id).array_value_char('source_10')
167965 , p_source_10_meaning => g_array_event(l_event_id).array_value_char('source_10_meaning')
167966 , p_source_12 => g_array_event(l_event_id).array_value_num('source_12')
167967 , p_source_25 => l_array_source_25(Idx)
167968 , p_source_29 => l_array_source_29(Idx)
167969 , p_source_30 => g_array_event(l_event_id).array_value_num('source_30')
167970 , p_source_51 => l_array_source_51(Idx)
167971 , p_source_56 => l_array_source_56(Idx)
167972 , p_source_56_meaning => l_array_source_56_meaning(Idx)
167973 , p_source_57 => g_array_event(l_event_id).array_value_char('source_57')
167974 , p_source_58 => l_array_source_58(Idx)
167975 , p_source_60 => l_array_source_60(Idx)
167976 , p_source_85 => l_array_source_85(Idx)
167977 , p_source_85_meaning => l_array_source_85_meaning(Idx)
167978 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
167979 , p_source_91 => l_array_source_91(Idx)
167980 , p_source_92 => l_array_source_92(Idx)
167981 , p_source_93 => l_array_source_93(Idx)
167982 , p_source_96 => l_array_source_96(Idx)
167983 , p_source_97 => l_array_source_97(Idx)
167984 , p_source_98 => l_array_source_98(Idx)
167985 , p_source_99 => l_array_source_99(Idx)
167986 , p_source_100 => l_array_source_100(Idx)
167987 , p_source_101 => l_array_source_101(Idx)
167988 , p_source_101_meaning => l_array_source_101_meaning(Idx)
167989 , p_source_102 => l_array_source_102(Idx)
167990 , p_source_107 => l_array_source_107(Idx)
167991 , p_source_113 => g_array_event(l_event_id).array_value_num('source_113')
167992 , p_source_114 => g_array_event(l_event_id).array_value_num('source_114')
167993 , p_source_115 => l_array_source_115(Idx)
167994 , p_source_118 => l_array_source_118(Idx)
167995 , p_source_120 => g_array_event(l_event_id).array_value_date('source_120')
167996 , p_source_121 => g_array_event(l_event_id).array_value_num('source_121')
167997 , p_source_122 => g_array_event(l_event_id).array_value_char('source_122')
167998 , p_source_127 => l_array_source_127(Idx)
167999 );
168000 If(l_balance_type_code = 'A') THEN
168001 l_actual_gain_loss_ref := l_gain_or_loss_ref;
168002 END IF;
168003
168004 --
168005
168006
168007 --
168008 AcctLineType_244 (
168009 p_application_id => p_application_id
168010 ,p_event_id => l_event_id
168011 ,p_calculate_acctd_flag => l_calculate_acctd_flag
168012 ,p_calculate_g_l_flag => l_calculate_g_l_flag
168013 ,p_actual_flag => l_actual_flag
168014 ,p_balance_type_code => l_balance_type_code
168015 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
168016
168017 , p_source_3 => g_array_event(l_event_id).array_value_char('source_3')
168018 , p_source_4 => g_array_event(l_event_id).array_value_num('source_4')
168019 , p_source_5 => g_array_event(l_event_id).array_value_num('source_5')
168020 , p_source_6 => g_array_event(l_event_id).array_value_date('source_6')
168021 , p_source_7 => g_array_event(l_event_id).array_value_char('source_7')
168022 , p_source_8 => g_array_event(l_event_id).array_value_char('source_8')
168023 , p_source_10 => g_array_event(l_event_id).array_value_char('source_10')
168024 , p_source_10_meaning => g_array_event(l_event_id).array_value_char('source_10_meaning')
168025 , p_source_12 => g_array_event(l_event_id).array_value_num('source_12')
168026 , p_source_25 => l_array_source_25(Idx)
168027 , p_source_29 => l_array_source_29(Idx)
168028 , p_source_30 => g_array_event(l_event_id).array_value_num('source_30')
168029 , p_source_57 => g_array_event(l_event_id).array_value_char('source_57')
168030 , p_source_58 => l_array_source_58(Idx)
168031 , p_source_60 => l_array_source_60(Idx)
168032 , p_source_85 => l_array_source_85(Idx)
168033 , p_source_85_meaning => l_array_source_85_meaning(Idx)
168037 , p_source_93 => l_array_source_93(Idx)
168034 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
168035 , p_source_91 => l_array_source_91(Idx)
168036 , p_source_92 => l_array_source_92(Idx)
168038 , p_source_96 => l_array_source_96(Idx)
168039 , p_source_97 => l_array_source_97(Idx)
168040 , p_source_98 => l_array_source_98(Idx)
168041 , p_source_99 => l_array_source_99(Idx)
168042 , p_source_100 => l_array_source_100(Idx)
168043 , p_source_101 => l_array_source_101(Idx)
168044 , p_source_101_meaning => l_array_source_101_meaning(Idx)
168045 , p_source_102 => l_array_source_102(Idx)
168046 , p_source_107 => l_array_source_107(Idx)
168047 , p_source_113 => g_array_event(l_event_id).array_value_num('source_113')
168048 , p_source_114 => g_array_event(l_event_id).array_value_num('source_114')
168049 , p_source_115 => l_array_source_115(Idx)
168050 , p_source_118 => l_array_source_118(Idx)
168051 , p_source_120 => g_array_event(l_event_id).array_value_date('source_120')
168052 , p_source_121 => g_array_event(l_event_id).array_value_num('source_121')
168053 , p_source_122 => g_array_event(l_event_id).array_value_char('source_122')
168054 , p_source_125 => g_array_event(l_event_id).array_value_char('source_125')
168055 , p_source_125_meaning => g_array_event(l_event_id).array_value_char('source_125_meaning')
168056 , p_source_127 => l_array_source_127(Idx)
168057 , p_source_170 => g_array_event(l_event_id).array_value_char('source_170')
168058 );
168059 If(l_balance_type_code = 'A') THEN
168060 l_actual_gain_loss_ref := l_gain_or_loss_ref;
168061 END IF;
168062
168063 --
168064
168065
168066 --
168067 AcctLineType_245 (
168068 p_application_id => p_application_id
168069 ,p_event_id => l_event_id
168070 ,p_calculate_acctd_flag => l_calculate_acctd_flag
168071 ,p_calculate_g_l_flag => l_calculate_g_l_flag
168072 ,p_actual_flag => l_actual_flag
168073 ,p_balance_type_code => l_balance_type_code
168074 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
168075
168076 , p_source_3 => g_array_event(l_event_id).array_value_char('source_3')
168077 , p_source_4 => g_array_event(l_event_id).array_value_num('source_4')
168078 , p_source_5 => g_array_event(l_event_id).array_value_num('source_5')
168079 , p_source_6 => g_array_event(l_event_id).array_value_date('source_6')
168080 , p_source_7 => g_array_event(l_event_id).array_value_char('source_7')
168081 , p_source_8 => g_array_event(l_event_id).array_value_char('source_8')
168082 , p_source_10 => g_array_event(l_event_id).array_value_char('source_10')
168083 , p_source_10_meaning => g_array_event(l_event_id).array_value_char('source_10_meaning')
168084 , p_source_12 => g_array_event(l_event_id).array_value_num('source_12')
168085 , p_source_25 => l_array_source_25(Idx)
168086 , p_source_29 => l_array_source_29(Idx)
168087 , p_source_30 => g_array_event(l_event_id).array_value_num('source_30')
168088 , p_source_37 => g_array_event(l_event_id).array_value_char('source_37')
168089 , p_source_57 => g_array_event(l_event_id).array_value_char('source_57')
168090 , p_source_58 => l_array_source_58(Idx)
168091 , p_source_60 => l_array_source_60(Idx)
168092 , p_source_85 => l_array_source_85(Idx)
168093 , p_source_85_meaning => l_array_source_85_meaning(Idx)
168094 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
168095 , p_source_91 => l_array_source_91(Idx)
168096 , p_source_92 => l_array_source_92(Idx)
168097 , p_source_93 => l_array_source_93(Idx)
168098 , p_source_96 => l_array_source_96(Idx)
168099 , p_source_97 => l_array_source_97(Idx)
168100 , p_source_98 => l_array_source_98(Idx)
168101 , p_source_99 => l_array_source_99(Idx)
168102 , p_source_100 => l_array_source_100(Idx)
168103 , p_source_101 => l_array_source_101(Idx)
168104 , p_source_101_meaning => l_array_source_101_meaning(Idx)
168105 , p_source_102 => l_array_source_102(Idx)
168106 , p_source_107 => l_array_source_107(Idx)
168107 , p_source_113 => g_array_event(l_event_id).array_value_num('source_113')
168108 , p_source_114 => g_array_event(l_event_id).array_value_num('source_114')
168109 , p_source_115 => l_array_source_115(Idx)
168110 , p_source_118 => l_array_source_118(Idx)
168111 , p_source_120 => g_array_event(l_event_id).array_value_date('source_120')
168112 , p_source_121 => g_array_event(l_event_id).array_value_num('source_121')
168113 , p_source_122 => g_array_event(l_event_id).array_value_char('source_122')
168114 , p_source_125 => g_array_event(l_event_id).array_value_char('source_125')
168115 , p_source_125_meaning => g_array_event(l_event_id).array_value_char('source_125_meaning')
168116 , p_source_127 => l_array_source_127(Idx)
168117 , p_source_170 => g_array_event(l_event_id).array_value_char('source_170')
168118 );
168119 If(l_balance_type_code = 'A') THEN
168120 l_actual_gain_loss_ref := l_gain_or_loss_ref;
168121 END IF;
168122
168123 --
168124
168125
168126 --
168127 AcctLineType_246 (
168128 p_application_id => p_application_id
168129 ,p_event_id => l_event_id
168130 ,p_calculate_acctd_flag => l_calculate_acctd_flag
168131 ,p_calculate_g_l_flag => l_calculate_g_l_flag
168132 ,p_actual_flag => l_actual_flag
168133 ,p_balance_type_code => l_balance_type_code
168134 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
168135
168136 , p_source_3 => g_array_event(l_event_id).array_value_char('source_3')
168137 , p_source_4 => g_array_event(l_event_id).array_value_num('source_4')
168138 , p_source_5 => g_array_event(l_event_id).array_value_num('source_5')
168139 , p_source_6 => g_array_event(l_event_id).array_value_date('source_6')
168140 , p_source_7 => g_array_event(l_event_id).array_value_char('source_7')
168141 , p_source_8 => g_array_event(l_event_id).array_value_char('source_8')
168142 , p_source_10 => g_array_event(l_event_id).array_value_char('source_10')
168143 , p_source_10_meaning => g_array_event(l_event_id).array_value_char('source_10_meaning')
168144 , p_source_12 => g_array_event(l_event_id).array_value_num('source_12')
168145 , p_source_25 => l_array_source_25(Idx)
168146 , p_source_29 => l_array_source_29(Idx)
168150 , p_source_57 => g_array_event(l_event_id).array_value_char('source_57')
168147 , p_source_30 => g_array_event(l_event_id).array_value_num('source_30')
168148 , p_source_56 => l_array_source_56(Idx)
168149 , p_source_56_meaning => l_array_source_56_meaning(Idx)
168151 , p_source_58 => l_array_source_58(Idx)
168152 , p_source_60 => l_array_source_60(Idx)
168153 , p_source_85 => l_array_source_85(Idx)
168154 , p_source_85_meaning => l_array_source_85_meaning(Idx)
168155 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
168156 , p_source_91 => l_array_source_91(Idx)
168157 , p_source_92 => l_array_source_92(Idx)
168158 , p_source_93 => l_array_source_93(Idx)
168159 , p_source_96 => l_array_source_96(Idx)
168160 , p_source_97 => l_array_source_97(Idx)
168161 , p_source_98 => l_array_source_98(Idx)
168162 , p_source_99 => l_array_source_99(Idx)
168163 , p_source_100 => l_array_source_100(Idx)
168164 , p_source_101 => l_array_source_101(Idx)
168165 , p_source_101_meaning => l_array_source_101_meaning(Idx)
168166 , p_source_102 => l_array_source_102(Idx)
168167 , p_source_107 => l_array_source_107(Idx)
168168 , p_source_113 => g_array_event(l_event_id).array_value_num('source_113')
168169 , p_source_114 => g_array_event(l_event_id).array_value_num('source_114')
168170 , p_source_115 => l_array_source_115(Idx)
168171 , p_source_118 => l_array_source_118(Idx)
168172 , p_source_120 => g_array_event(l_event_id).array_value_date('source_120')
168173 , p_source_121 => g_array_event(l_event_id).array_value_num('source_121')
168174 , p_source_122 => g_array_event(l_event_id).array_value_char('source_122')
168175 , p_source_125 => g_array_event(l_event_id).array_value_char('source_125')
168176 , p_source_125_meaning => g_array_event(l_event_id).array_value_char('source_125_meaning')
168177 , p_source_127 => l_array_source_127(Idx)
168178 , p_source_170 => g_array_event(l_event_id).array_value_char('source_170')
168179 );
168180 If(l_balance_type_code = 'A') THEN
168181 l_actual_gain_loss_ref := l_gain_or_loss_ref;
168182 END IF;
168183
168184 --
168185
168186
168187 --
168188 AcctLineType_247 (
168189 p_application_id => p_application_id
168190 ,p_event_id => l_event_id
168191 ,p_calculate_acctd_flag => l_calculate_acctd_flag
168192 ,p_calculate_g_l_flag => l_calculate_g_l_flag
168193 ,p_actual_flag => l_actual_flag
168194 ,p_balance_type_code => l_balance_type_code
168195 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
168196
168197 , p_source_3 => g_array_event(l_event_id).array_value_char('source_3')
168198 , p_source_4 => g_array_event(l_event_id).array_value_num('source_4')
168199 , p_source_5 => g_array_event(l_event_id).array_value_num('source_5')
168200 , p_source_6 => g_array_event(l_event_id).array_value_date('source_6')
168201 , p_source_7 => g_array_event(l_event_id).array_value_char('source_7')
168202 , p_source_8 => g_array_event(l_event_id).array_value_char('source_8')
168203 , p_source_10 => g_array_event(l_event_id).array_value_char('source_10')
168204 , p_source_10_meaning => g_array_event(l_event_id).array_value_char('source_10_meaning')
168205 , p_source_12 => g_array_event(l_event_id).array_value_num('source_12')
168206 , p_source_25 => l_array_source_25(Idx)
168207 , p_source_29 => l_array_source_29(Idx)
168208 , p_source_30 => g_array_event(l_event_id).array_value_num('source_30')
168209 , p_source_56 => l_array_source_56(Idx)
168210 , p_source_56_meaning => l_array_source_56_meaning(Idx)
168211 , p_source_57 => g_array_event(l_event_id).array_value_char('source_57')
168212 , p_source_58 => l_array_source_58(Idx)
168213 , p_source_60 => l_array_source_60(Idx)
168214 , p_source_85 => l_array_source_85(Idx)
168215 , p_source_85_meaning => l_array_source_85_meaning(Idx)
168216 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
168217 , p_source_91 => l_array_source_91(Idx)
168218 , p_source_92 => l_array_source_92(Idx)
168219 , p_source_93 => l_array_source_93(Idx)
168220 , p_source_96 => l_array_source_96(Idx)
168221 , p_source_97 => l_array_source_97(Idx)
168222 , p_source_98 => l_array_source_98(Idx)
168223 , p_source_99 => l_array_source_99(Idx)
168224 , p_source_100 => l_array_source_100(Idx)
168225 , p_source_102 => l_array_source_102(Idx)
168226 , p_source_107 => l_array_source_107(Idx)
168227 , p_source_113 => g_array_event(l_event_id).array_value_num('source_113')
168228 , p_source_114 => g_array_event(l_event_id).array_value_num('source_114')
168229 , p_source_115 => l_array_source_115(Idx)
168230 , p_source_118 => l_array_source_118(Idx)
168231 , p_source_120 => g_array_event(l_event_id).array_value_date('source_120')
168232 , p_source_121 => g_array_event(l_event_id).array_value_num('source_121')
168233 , p_source_122 => g_array_event(l_event_id).array_value_char('source_122')
168234 , p_source_125 => g_array_event(l_event_id).array_value_char('source_125')
168235 , p_source_125_meaning => g_array_event(l_event_id).array_value_char('source_125_meaning')
168236 , p_source_127 => l_array_source_127(Idx)
168237 , p_source_170 => g_array_event(l_event_id).array_value_char('source_170')
168238 );
168239 If(l_balance_type_code = 'A') THEN
168240 l_actual_gain_loss_ref := l_gain_or_loss_ref;
168241 END IF;
168242
168243 --
168244
168245 -- only execute it if calculate g/l flag is yes, and primary or secondary ledger
168246 -- or secondary ledger that has different currency with primary
168247 -- or alc that is calculated by sla
168248 IF (((l_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
168249 (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'))
168250
168251 -- IF((l_calculate_g_l_flag='Y' or XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id <>
168252 -- XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id)
168253 AND (l_actual_flag = 'A')) THEN
168254 XLA_AE_LINES_PKG.CreateGainOrLossLines(
168255 p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
168259 ,p_event_class_code => C_EVENT_CLASS_CODE
168256 ,p_application_id => p_application_id
168257 ,p_amb_context_code => 'DEFAULT'
168258 ,p_entity_code => xla_ae_journal_entry_pkg.g_cache_event.entity_code
168260 ,p_event_type_code => C_EVENT_TYPE_CODE
168261
168262 ,p_gain_ccid => -1
168263 ,p_loss_ccid => -1
168264
168265 ,p_actual_flag => l_actual_flag
168266 ,p_enc_flag => null
168267 ,p_actual_g_l_ref => l_actual_gain_loss_ref
168268 ,p_enc_g_l_ref => null
168269 );
168270 END IF;
168271 END IF;
168272 END IF;
168273
168274 ELSE
168275 --
168276 -- Bug 4872078 - Do nothing if the event is meant for transaction reversal
168277 --
168278 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
168279 trace
168280 (p_msg => 'Trancaction revesal option is Y'
168281 ,p_level => C_LEVEL_STATEMENT
168282 ,p_module => l_log_module);
168283 END IF;
168284 END IF;
168285
168286 END LOOP;
168287 l_result := XLA_AE_LINES_PKG.InsertLines ;
168288 end loop;
168289 close line_cur;
168290
168291
168292 --
168293 -- insert headers into xla_ae_headers_gt table
168294 --
168295 l_result := XLA_AE_HEADER_PKG.InsertHeaders ;
168296
168297 -- insert into errors table here.
168298
168299 END LOOP;
168300
168301 --
168302 -- 4865292
168303 --
168304 -- Compare g_hdr_extract_count with event count in
168305 -- CreateHeadersAndLines.
168306 --
168307 g_hdr_extract_count := g_hdr_extract_count + header_cur%ROWCOUNT;
168308
168309 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
168310 trace (p_msg => '# rows extracted from header extract objects '
168311 || ' (running total): '
168312 || g_hdr_extract_count
168313 ,p_level => C_LEVEL_STATEMENT
168314 ,p_module => l_log_module);
168315 END IF;
168316
168317 CLOSE header_cur;
168318 --
168319
168320 --
168321 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
168322 trace
168323 (p_msg => 'END of EventClass_252'
168324 ,p_level => C_LEVEL_PROCEDURE
168325 ,p_module => l_log_module);
168326 END IF;
168327 --
168328 RETURN l_result;
168329 EXCEPTION
168330 WHEN xla_exceptions_pkg.application_exception THEN
168331
168332 IF header_cur%ISOPEN THEN CLOSE header_cur; END IF;
168333
168334
168335 IF line_cur%ISOPEN THEN CLOSE line_cur; END IF;
168336
168337 RAISE;
168338
168339 WHEN NO_DATA_FOUND THEN
168340
168341 IF header_cur%ISOPEN THEN CLOSE header_cur; END IF;
168342 IF line_cur%ISOPEN THEN CLOSE line_cur; END IF;
168343
168344 FOR header_record IN header_cur
168345 LOOP
168346 l_array_header_events(header_record.event_id) := header_record.event_id;
168347 END LOOP;
168348
168349 l_first_event_id := l_array_header_events(l_array_header_events.FIRST);
168350 l_last_event_id := l_array_header_events(l_array_header_events.LAST);
168351
168352 fnd_file.put_line(fnd_file.LOG, ' ');
168353 fnd_file.put_line(fnd_file.LOG, '***************************************************************************');
168354 fnd_file.put_line(fnd_file.LOG, 'EVENT CLASS CODE = ' || C_EVENT_CLASS_CODE );
168355 fnd_file.put_line(fnd_file.LOG, 'The following events are present in the line extract but MISSING in the header extract: ');
168356
168357 FOR line_record IN line_cur(l_first_event_id, l_last_event_id)
168358 LOOP
168359 IF (NOT l_array_header_events.EXISTS(line_record.event_id)) AND (NOT l_array_duplicate_checker.EXISTS(line_record.event_id)) THEN
168360 fnd_file.put_line(fnd_file.log, 'Event_id = ' || line_record.event_id);
168361 l_array_duplicate_checker(line_record.event_id) := line_record.event_id;
168362 END IF;
168363 END LOOP;
168364
168365 fnd_file.put_line(fnd_file.LOG, '***************************************************************************');
168366 fnd_file.put_line(fnd_file.LOG, ' ');
168367
168368
168369 xla_exceptions_pkg.raise_message
168370 (p_location => 'XLA_00200_AAD_S_000012_PKG.EventClass_252');
168371
168372
168373 WHEN OTHERS THEN
168374 xla_exceptions_pkg.raise_message
168375 (p_location => 'XLA_00200_AAD_S_000012_PKG.EventClass_252');
168376 END EventClass_252;
168377 --
168378
168379 ---------------------------------------
168380 --
168381 -- PRIVATE PROCEDURE
168382 -- insert_sources_253
168383 --
168384 ----------------------------------------
168385 --
168386 PROCEDURE insert_sources_253(
168387 p_target_ledger_id IN NUMBER
168388 , p_language IN VARCHAR2
168389 , p_sla_ledger_id IN NUMBER
168390 , p_pad_start_date IN DATE
168391 , p_pad_end_date IN DATE
168392 )
168393 IS
168394
168395 C_EVENT_TYPE_CODE CONSTANT VARCHAR2(30) := 'PREPAYMENT APPLICATIONS_ALL';
168396 C_EVENT_CLASS_CODE CONSTANT VARCHAR2(30) := 'PREPAYMENT APPLICATIONS';
168397 p_apps_owner VARCHAR2(30);
168398 l_log_module VARCHAR2(240);
168399 BEGIN
168400 IF g_log_enabled THEN
168401 l_log_module := C_DEFAULT_MODULE||'.insert_sources_253';
168402 END IF;
168403 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
168404
168405 trace
168406 (p_msg => 'BEGIN of insert_sources_253'
168407 ,p_level => C_LEVEL_PROCEDURE
168408 ,p_module => l_log_module);
168409
168410 END IF;
168411
168412 -- select APPS owner
168413 SELECT oracle_username
168414 INTO p_apps_owner
168418
168415 FROM fnd_oracle_userid
168416 WHERE read_only_flag = 'U'
168417 ;
168419 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
168420 trace
168421 (p_msg => 'p_target_ledger_id = '||p_target_ledger_id||
168422 ' - p_language = '||p_language||
168423 ' - p_sla_ledger_id = '||p_sla_ledger_id ||
168424 ' - p_pad_start_date = '||TO_CHAR(p_pad_start_date)||
168425 ' - p_pad_end_date = '||TO_CHAR(p_pad_end_date)||
168426 ' - p_apps_owner = '||TO_CHAR(p_apps_owner)
168427 ,p_level => C_LEVEL_STATEMENT
168428 ,p_module => l_log_module);
168429 END IF;
168430
168431
168432 --
168433 INSERT INTO xla_diag_sources --hdr2
168434 (
168435 event_id
168436 , ledger_id
168437 , sla_ledger_id
168438 , description_language
168439 , object_name
168440 , object_type_code
168441 , line_number
168442 , source_application_id
168443 , source_type_code
168444 , source_code
168445 , source_value
168446 , source_meaning
168447 , created_by
168448 , creation_date
168449 , last_update_date
168450 , last_updated_by
168451 , last_update_login
168452 , program_update_date
168453 , program_application_id
168454 , program_id
168455 , request_id
168456 )
168457 SELECT
168458 event_id
168459 , p_target_ledger_id
168460 , p_sla_ledger_id
168461 , p_language
168462 , object_name
168463 , object_type_code
168464 , line_number
168465 , source_application_id
168466 , source_type_code
168467 , source_code
168468 , SUBSTR(source_value ,1,1996)
168469 , SUBSTR(source_meaning ,1,200)
168470 , xla_environment_pkg.g_Usr_Id
168471 , TRUNC(SYSDATE)
168472 , TRUNC(SYSDATE)
168473 , xla_environment_pkg.g_Usr_Id
168474 , xla_environment_pkg.g_Login_Id
168475 , TRUNC(SYSDATE)
168476 , xla_environment_pkg.g_Prog_Appl_Id
168477 , xla_environment_pkg.g_Prog_Id
168478 , xla_environment_pkg.g_Req_Id
168479 FROM (
168480 SELECT xet.event_id event_id
168481 , 0 line_number
168482 , CASE r
168483 WHEN 1 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
168484 WHEN 2 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
168485 WHEN 3 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
168486 WHEN 4 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
168487 WHEN 5 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
168488 WHEN 6 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
168489 WHEN 7 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
168490 WHEN 8 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
168491 WHEN 9 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
168492 WHEN 10 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
168493 WHEN 11 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
168494 WHEN 12 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
168495 WHEN 13 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
168496 WHEN 14 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
168497 WHEN 15 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
168498 WHEN 16 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
168499
168500 ELSE null
168501 END object_name
168502 , CASE r
168503 WHEN 1 THEN 'HEADER'
168504 WHEN 2 THEN 'HEADER'
168505 WHEN 3 THEN 'HEADER'
168506 WHEN 4 THEN 'HEADER'
168507 WHEN 5 THEN 'HEADER'
168508 WHEN 6 THEN 'HEADER'
168509 WHEN 7 THEN 'HEADER'
168510 WHEN 8 THEN 'HEADER'
168511 WHEN 9 THEN 'HEADER'
168512 WHEN 10 THEN 'HEADER'
168513 WHEN 11 THEN 'HEADER'
168514 WHEN 12 THEN 'HEADER'
168515 WHEN 13 THEN 'HEADER'
168516 WHEN 14 THEN 'HEADER'
168517 WHEN 15 THEN 'HEADER'
168518 WHEN 16 THEN 'HEADER'
168519
168520 ELSE null
168521 END object_type_code
168522 , CASE r
168523 WHEN 1 THEN '200'
168524 WHEN 2 THEN '200'
168525 WHEN 3 THEN '200'
168526 WHEN 4 THEN '200'
168527 WHEN 5 THEN '200'
168528 WHEN 6 THEN '200'
168529 WHEN 7 THEN '200'
168530 WHEN 8 THEN '200'
168531 WHEN 9 THEN '200'
168532 WHEN 10 THEN '200'
168533 WHEN 11 THEN '200'
168534 WHEN 12 THEN '200'
168535 WHEN 13 THEN '200'
168536 WHEN 14 THEN '200'
168537 WHEN 15 THEN '200'
168538 WHEN 16 THEN '200'
168539
168540 ELSE null
168541 END source_application_id
168542 , 'S' source_type_code
168543 , CASE r
168544 WHEN 1 THEN 'ASP_AUTOMATIC_OFFSETS_VALUE'
168545 WHEN 2 THEN 'ASP_GAIN_CCID'
168546 WHEN 3 THEN 'ASP_LOSS_CCID'
168547 WHEN 4 THEN 'ASP_PREPAY_TAX_DIFF_CCID'
168548 WHEN 5 THEN 'ASP_ROUNDING_ERROR_CCID'
168549 WHEN 6 THEN 'AI_INVOICE_ID'
168550 WHEN 7 THEN 'AI_INVOICE_CURRENCY_CODE'
168551 WHEN 8 THEN 'AI_VENDOR_ID'
168552 WHEN 9 THEN 'AI_VENDOR_SITE_ID'
168553 WHEN 10 THEN 'THIRD_PARTY_TYPE'
168554 WHEN 11 THEN 'INV_EXCHANGE_DATE'
168558 WHEN 15 THEN 'INV_DOC_SEQUENCE_IDENTIFIER'
168555 WHEN 12 THEN 'INV_EXCHANGE_RATE'
168556 WHEN 13 THEN 'INV_EXCHANGE_RATE_TYPE'
168557 WHEN 14 THEN 'INV_DOC_SEQUENCE_CATEGORY'
168559 WHEN 16 THEN 'INV_DOC_SEQUENCE_VALUE'
168560
168561 ELSE null
168562 END source_code
168563 , CASE r
168564 WHEN 1 THEN TO_CHAR(h4.ASP_AUTOMATIC_OFFSETS_VALUE)
168565 WHEN 2 THEN TO_CHAR(h4.ASP_GAIN_CCID)
168566 WHEN 3 THEN TO_CHAR(h4.ASP_LOSS_CCID)
168567 WHEN 4 THEN TO_CHAR(h4.ASP_PREPAY_TAX_DIFF_CCID)
168568 WHEN 5 THEN TO_CHAR(h4.ASP_ROUNDING_ERROR_CCID)
168569 WHEN 6 THEN TO_CHAR(h1.AI_INVOICE_ID)
168570 WHEN 7 THEN TO_CHAR(h1.AI_INVOICE_CURRENCY_CODE)
168571 WHEN 8 THEN TO_CHAR(h1.AI_VENDOR_ID)
168572 WHEN 9 THEN TO_CHAR(h1.AI_VENDOR_SITE_ID)
168573 WHEN 10 THEN TO_CHAR(h1.THIRD_PARTY_TYPE)
168574 WHEN 11 THEN TO_CHAR(h1.INV_EXCHANGE_DATE)
168575 WHEN 12 THEN TO_CHAR(h1.INV_EXCHANGE_RATE)
168576 WHEN 13 THEN TO_CHAR(h1.INV_EXCHANGE_RATE_TYPE)
168577 WHEN 14 THEN TO_CHAR(h1.INV_DOC_SEQUENCE_CATEGORY)
168578 WHEN 15 THEN TO_CHAR(h1.INV_DOC_SEQUENCE_IDENTIFIER)
168579 WHEN 16 THEN TO_CHAR(h1.INV_DOC_SEQUENCE_VALUE)
168580
168581 ELSE null
168582 END source_value
168583 , CASE r
168584 WHEN 1 THEN fvl10.meaning
168585
168586 ELSE null
168587 END source_meaning
168588 FROM xla_events_gt xet
168589 , AP_INVOICE_EXTRACT_HEADER_V h1
168590 , AP_SYSTEM_PARAMETERS_EXTRACT_V h4
168591 , fnd_lookup_values fvl10
168592 ,(select rownum r from all_objects where rownum <= 16 and owner = p_apps_owner)
168593 WHERE xet.event_date between p_pad_start_date AND p_pad_end_date
168594 AND xet.event_class_code = C_EVENT_CLASS_CODE
168595 AND h1.event_id = xet.event_id
168596 AND h4.asp_org_id = h1.ai_org_id AND fvl10.lookup_type(+) = 'LIABILITY FLEXBUILD METHOD'
168597 AND fvl10.lookup_code(+) = h4.ASP_AUTOMATIC_OFFSETS_VALUE
168598 AND fvl10.view_application_id(+) = 200
168599 AND fvl10.language(+) = USERENV('LANG')
168600
168601 )
168602 ;
168603 --
168604 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
168605
168606 trace
168607 (p_msg => 'number of header sources inserted = '||SQL%ROWCOUNT
168608 ,p_level => C_LEVEL_STATEMENT
168609 ,p_module => l_log_module);
168610
168611 END IF;
168612 --
168613
168614
168615
168616 --
168617 INSERT INTO xla_diag_sources --line2
168618 (
168619 event_id
168620 , ledger_id
168621 , sla_ledger_id
168622 , description_language
168623 , object_name
168624 , object_type_code
168625 , line_number
168626 , source_application_id
168627 , source_type_code
168628 , source_code
168629 , source_value
168630 , source_meaning
168631 , created_by
168632 , creation_date
168633 , last_update_date
168634 , last_updated_by
168635 , last_update_login
168636 , program_update_date
168637 , program_application_id
168638 , program_id
168639 , request_id
168640 )
168641 SELECT event_id
168642 , p_target_ledger_id
168643 , p_sla_ledger_id
168644 , p_language
168645 , object_name
168646 , object_type_code
168647 , line_number
168648 , source_application_id
168649 , source_type_code
168650 , source_code
168651 , SUBSTR(source_value,1,1996)
168652 , SUBSTR(source_meaning ,1,200)
168653 , xla_environment_pkg.g_Usr_Id
168654 , TRUNC(SYSDATE)
168655 , TRUNC(SYSDATE)
168656 , xla_environment_pkg.g_Usr_Id
168657 , xla_environment_pkg.g_Login_Id
168658 , TRUNC(SYSDATE)
168659 , xla_environment_pkg.g_Prog_Appl_Id
168660 , xla_environment_pkg.g_Prog_Id
168661 , xla_environment_pkg.g_Req_Id
168662 FROM (
168663 SELECT xet.event_id event_id
168664 , l2.line_number line_number
168665 , CASE r
168666 WHEN 1 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
168667 WHEN 2 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
168668 WHEN 3 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
168669 WHEN 4 THEN 'ZX_AP_DEF_TAX_EXTRACT_V'
168670 WHEN 5 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
168671 WHEN 6 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
168672 WHEN 7 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
168673 WHEN 8 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
168674 WHEN 9 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
168675 WHEN 10 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
168676 WHEN 11 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
168677 WHEN 12 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
168678 WHEN 13 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
168679 WHEN 14 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
168680 WHEN 15 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
168681 WHEN 16 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
168682 WHEN 17 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
168683 WHEN 18 THEN 'ZX_AP_DEF_TAX_EXTRACT_V'
168684 WHEN 19 THEN 'ZX_AP_TAX_JRNL_LINE_DESC_V'
168685 WHEN 20 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
168686 WHEN 21 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
168690 WHEN 25 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
168687 WHEN 22 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
168688 WHEN 23 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
168689 WHEN 24 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
168691 WHEN 26 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
168692 WHEN 27 THEN 'AP_PREPAY_DEF_TAX_EXTRACT_V'
168693 WHEN 28 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
168694 WHEN 29 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
168695 WHEN 30 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
168696 WHEN 31 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
168697 WHEN 32 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
168698 WHEN 33 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
168699 WHEN 34 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
168700 WHEN 35 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
168701 WHEN 36 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
168702 WHEN 37 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
168703 WHEN 38 THEN 'ZX_AP_DEF_TAX_EXTRACT_V'
168704 WHEN 39 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
168705 WHEN 40 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
168706 WHEN 41 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
168707 WHEN 42 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
168708 WHEN 43 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
168709 WHEN 44 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
168710 WHEN 45 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
168711 WHEN 46 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
168712 WHEN 47 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
168713 WHEN 48 THEN 'AP_PREPAYAPP_EXTRACT_DETAILS_V'
168714
168715 ELSE null
168716 END object_name
168717 , CASE r
168718 WHEN 1 THEN 'LINE'
168719 WHEN 2 THEN 'LINE'
168720 WHEN 3 THEN 'LINE'
168721 WHEN 4 THEN 'LINE'
168722 WHEN 5 THEN 'LINE'
168723 WHEN 6 THEN 'LINE'
168724 WHEN 7 THEN 'LINE'
168725 WHEN 8 THEN 'LINE'
168726 WHEN 9 THEN 'LINE'
168727 WHEN 10 THEN 'LINE'
168728 WHEN 11 THEN 'LINE'
168729 WHEN 12 THEN 'LINE'
168730 WHEN 13 THEN 'LINE'
168731 WHEN 14 THEN 'LINE'
168732 WHEN 15 THEN 'LINE'
168733 WHEN 16 THEN 'LINE'
168734 WHEN 17 THEN 'LINE'
168735 WHEN 18 THEN 'LINE'
168736 WHEN 19 THEN 'LINE'
168737 WHEN 20 THEN 'LINE'
168738 WHEN 21 THEN 'LINE'
168739 WHEN 22 THEN 'LINE'
168740 WHEN 23 THEN 'LINE'
168741 WHEN 24 THEN 'LINE'
168742 WHEN 25 THEN 'LINE'
168743 WHEN 26 THEN 'LINE'
168744 WHEN 27 THEN 'LINE'
168745 WHEN 28 THEN 'LINE'
168746 WHEN 29 THEN 'LINE'
168747 WHEN 30 THEN 'LINE'
168748 WHEN 31 THEN 'LINE'
168749 WHEN 32 THEN 'LINE'
168750 WHEN 33 THEN 'LINE'
168751 WHEN 34 THEN 'LINE'
168752 WHEN 35 THEN 'LINE'
168753 WHEN 36 THEN 'LINE'
168754 WHEN 37 THEN 'LINE'
168755 WHEN 38 THEN 'LINE'
168756 WHEN 39 THEN 'LINE'
168757 WHEN 40 THEN 'LINE'
168758 WHEN 41 THEN 'LINE'
168759 WHEN 42 THEN 'LINE'
168760 WHEN 43 THEN 'LINE'
168761 WHEN 44 THEN 'LINE'
168762 WHEN 45 THEN 'LINE'
168763 WHEN 46 THEN 'LINE'
168764 WHEN 47 THEN 'LINE'
168765 WHEN 48 THEN 'LINE'
168766
168767 ELSE null
168768 END object_type_code
168769 , CASE r
168770 WHEN 1 THEN '200'
168771 WHEN 2 THEN '200'
168772 WHEN 3 THEN '200'
168773 WHEN 4 THEN '200'
168774 WHEN 5 THEN '200'
168775 WHEN 6 THEN '200'
168776 WHEN 7 THEN '200'
168777 WHEN 8 THEN '200'
168778 WHEN 9 THEN '200'
168779 WHEN 10 THEN '200'
168780 WHEN 11 THEN '200'
168781 WHEN 12 THEN '200'
168782 WHEN 13 THEN '200'
168783 WHEN 14 THEN '200'
168784 WHEN 15 THEN '200'
168785 WHEN 16 THEN '200'
168786 WHEN 17 THEN '200'
168787 WHEN 18 THEN '200'
168788 WHEN 19 THEN '200'
168789 WHEN 20 THEN '200'
168790 WHEN 21 THEN '200'
168791 WHEN 22 THEN '200'
168792 WHEN 23 THEN '200'
168793 WHEN 24 THEN '200'
168794 WHEN 25 THEN '200'
168795 WHEN 26 THEN '200'
168796 WHEN 27 THEN '200'
168797 WHEN 28 THEN '200'
168798 WHEN 29 THEN '200'
168799 WHEN 30 THEN '200'
168800 WHEN 31 THEN '200'
168801 WHEN 32 THEN '200'
168802 WHEN 33 THEN '200'
168803 WHEN 34 THEN '200'
168804 WHEN 35 THEN '200'
168805 WHEN 36 THEN '200'
168806 WHEN 37 THEN '200'
168807 WHEN 38 THEN '200'
168808 WHEN 39 THEN '200'
168809 WHEN 40 THEN '200'
168810 WHEN 41 THEN '200'
168811 WHEN 42 THEN '200'
168812 WHEN 43 THEN '200'
168816 WHEN 47 THEN '200'
168813 WHEN 44 THEN '200'
168814 WHEN 45 THEN '200'
168815 WHEN 46 THEN '200'
168817 WHEN 48 THEN '200'
168818
168819 ELSE null
168820 END source_application_id
168821 , 'S' source_type_code
168822 , CASE r
168823 WHEN 1 THEN 'AID_DIST_CCID'
168824 WHEN 2 THEN 'CGAC_GAIN_CCID'
168825 WHEN 3 THEN 'CGAC_LOSS_CCID'
168826 WHEN 4 THEN 'TAX_ACCOUNT_CCID'
168827 WHEN 5 THEN 'DIST_ACCOUNT_REVERSAL_OPTION'
168828 WHEN 6 THEN 'DISTRIBUTION_LINK_TYPE'
168829 WHEN 7 THEN 'UPG_ENC_CR_CCID'
168830 WHEN 8 THEN 'UPG_ENC_CR_AMT'
168831 WHEN 9 THEN 'UPG_ENC_CR_BASE_AMT'
168832 WHEN 10 THEN 'UPG_ENC_DR_CCID'
168833 WHEN 11 THEN 'UPG_ENC_DR_AMT'
168834 WHEN 12 THEN 'UPG_ENC_DR_BASE_AMT'
168835 WHEN 13 THEN 'UPG_AP_ENCUM_OPTION'
168836 WHEN 14 THEN 'DEFERRED_END_DATE'
168837 WHEN 15 THEN 'DEFERRED_OPTION'
168838 WHEN 16 THEN 'DEFERRED_START_DATE'
168839 WHEN 17 THEN 'OVERRIDE_ACCTD_AMT_FLAG'
168840 WHEN 18 THEN 'TAX_LINE_ID'
168841 WHEN 19 THEN 'REC_NREC_TAX_DIST_ID'
168842 WHEN 20 THEN 'SUMMARY_TAX_LINE_ID'
168843 WHEN 21 THEN 'UPG_CR_ENC_TYPE_ID'
168844 WHEN 22 THEN 'UPG_DR_ENC_TYPE_ID'
168845 WHEN 23 THEN 'BUS_FLOW_AP_APP_ID'
168846 WHEN 24 THEN 'BUS_FLOW_INV_DIST_TYPE'
168847 WHEN 25 THEN 'BUS_FLOW_INV_ENTITY_CODE'
168848 WHEN 26 THEN 'APAD_DIST_LOOKUP_CODE'
168849 WHEN 27 THEN 'DEF_REC_PP_SET_OPTION_CODE'
168850 WHEN 28 THEN 'APAD_DISTRIBUTION_IDENTIFIER'
168851 WHEN 29 THEN 'BF_CASH_ALWAYS_PP_DIST_TYPE'
168852 WHEN 30 THEN 'BF_CASH_ALWAYS_PREPAY_ENTITY'
168853 WHEN 31 THEN 'BF_CASHALWAYS_PP_PMT_DIST_ID'
168854 WHEN 32 THEN 'BF_CASHALWAYS_PP_PMT_ID'
168855 WHEN 33 THEN 'UPG_ENC_CR_ACCT_CLASS'
168856 WHEN 34 THEN 'UPG_ENC_DR_ACCT_CLASS'
168857 WHEN 35 THEN 'APAD_AMOUNT'
168858 WHEN 36 THEN 'BASE_AMT_AT_PP_XRATE'
168859 WHEN 37 THEN 'REVERSED_PREPAY_APP_DIST_ID'
168860 WHEN 38 THEN 'DEF_REC_SETTLEMENT_OPTION_CODE'
168861 WHEN 39 THEN 'BF_PREPAY_REC_DIST_ID'
168862 WHEN 40 THEN 'BF_PREPAY_REC_INV'
168863 WHEN 41 THEN 'APAD_BASE_AMOUNT'
168864 WHEN 42 THEN 'BF_ACCRUAL_PREPAY_DIST_TYPE'
168865 WHEN 43 THEN 'BF_ACCRUAL_PREPAY_ENTITY_CODE'
168866 WHEN 44 THEN 'BF_ACCRUAL_PP_DIST_ID'
168867 WHEN 45 THEN 'BF_ACCRUAL_PP_INV'
168868 WHEN 46 THEN 'BASE_AMT_AT_PP_PAY_XRATE'
168869 WHEN 47 THEN 'APAD_BASE_AMOUNT_DIFF'
168870 WHEN 48 THEN 'INV_PREPMT_GAIN_LOSS_INDICATOR'
168871
168872 ELSE null
168873 END source_code
168874 , CASE r
168875 WHEN 1 THEN TO_CHAR(l2.AID_DIST_CCID)
168876 WHEN 2 THEN TO_CHAR(l2.CGAC_GAIN_CCID)
168877 WHEN 3 THEN TO_CHAR(l2.CGAC_LOSS_CCID)
168878 WHEN 4 THEN TO_CHAR(l5.TAX_ACCOUNT_CCID)
168879 WHEN 5 THEN TO_CHAR(l2.DIST_ACCOUNT_REVERSAL_OPTION)
168880 WHEN 6 THEN TO_CHAR(l2.DISTRIBUTION_LINK_TYPE)
168881 WHEN 7 THEN TO_CHAR(l2.UPG_ENC_CR_CCID)
168882 WHEN 8 THEN TO_CHAR(l2.UPG_ENC_CR_AMT)
168883 WHEN 9 THEN TO_CHAR(l2.UPG_ENC_CR_BASE_AMT)
168884 WHEN 10 THEN TO_CHAR(l2.UPG_ENC_DR_CCID)
168885 WHEN 11 THEN TO_CHAR(l2.UPG_ENC_DR_AMT)
168886 WHEN 12 THEN TO_CHAR(l2.UPG_ENC_DR_BASE_AMT)
168887 WHEN 13 THEN TO_CHAR(l2.UPG_AP_ENCUM_OPTION)
168888 WHEN 14 THEN TO_CHAR(l2.DEFERRED_END_DATE)
168889 WHEN 15 THEN TO_CHAR(l2.DEFERRED_OPTION)
168890 WHEN 16 THEN TO_CHAR(l2.DEFERRED_START_DATE)
168891 WHEN 17 THEN TO_CHAR(l2.OVERRIDE_ACCTD_AMT_FLAG)
168892 WHEN 18 THEN TO_CHAR(l5.TAX_LINE_ID)
168893 WHEN 19 THEN TO_CHAR(l6.REC_NREC_TAX_DIST_ID)
168894 WHEN 20 THEN TO_CHAR(l2.SUMMARY_TAX_LINE_ID)
168895 WHEN 21 THEN TO_CHAR(l2.UPG_CR_ENC_TYPE_ID)
168896 WHEN 22 THEN TO_CHAR(l2.UPG_DR_ENC_TYPE_ID)
168897 WHEN 23 THEN TO_CHAR(l2.BUS_FLOW_AP_APP_ID)
168898 WHEN 24 THEN TO_CHAR(l2.BUS_FLOW_INV_DIST_TYPE)
168899 WHEN 25 THEN TO_CHAR(l2.BUS_FLOW_INV_ENTITY_CODE)
168900 WHEN 26 THEN TO_CHAR(l2.APAD_DIST_LOOKUP_CODE)
168901 WHEN 27 THEN TO_CHAR(l3.DEF_REC_PP_SET_OPTION_CODE)
168902 WHEN 28 THEN TO_CHAR(l2.APAD_DISTRIBUTION_IDENTIFIER)
168903 WHEN 29 THEN TO_CHAR(l2.BF_CASH_ALWAYS_PP_DIST_TYPE)
168904 WHEN 30 THEN TO_CHAR(l2.BF_CASH_ALWAYS_PREPAY_ENTITY)
168905 WHEN 31 THEN TO_CHAR(l2.BF_CASHALWAYS_PP_PMT_DIST_ID)
168906 WHEN 32 THEN TO_CHAR(l2.BF_CASHALWAYS_PP_PMT_ID)
168907 WHEN 33 THEN TO_CHAR(l2.UPG_ENC_CR_ACCT_CLASS)
168908 WHEN 34 THEN TO_CHAR(l2.UPG_ENC_DR_ACCT_CLASS)
168909 WHEN 35 THEN TO_CHAR(l2.APAD_AMOUNT)
168910 WHEN 36 THEN TO_CHAR(l2.BASE_AMT_AT_PP_XRATE)
168911 WHEN 37 THEN TO_CHAR(l2.REVERSED_PREPAY_APP_DIST_ID)
168912 WHEN 38 THEN TO_CHAR(l5.DEF_REC_SETTLEMENT_OPTION_CODE)
168913 WHEN 39 THEN TO_CHAR(l2.BF_PREPAY_REC_DIST_ID)
168914 WHEN 40 THEN TO_CHAR(l2.BF_PREPAY_REC_INV)
168915 WHEN 41 THEN TO_CHAR(l2.APAD_BASE_AMOUNT)
168916 WHEN 42 THEN TO_CHAR(l2.BF_ACCRUAL_PREPAY_DIST_TYPE)
168920 WHEN 46 THEN TO_CHAR(l2.BASE_AMT_AT_PP_PAY_XRATE)
168917 WHEN 43 THEN TO_CHAR(l2.BF_ACCRUAL_PREPAY_ENTITY_CODE)
168918 WHEN 44 THEN TO_CHAR(l2.BF_ACCRUAL_PP_DIST_ID)
168919 WHEN 45 THEN TO_CHAR(l2.BF_ACCRUAL_PP_INV)
168921 WHEN 47 THEN TO_CHAR(l2.APAD_BASE_AMOUNT_DIFF)
168922 WHEN 48 THEN TO_CHAR(l2.INV_PREPMT_GAIN_LOSS_INDICATOR)
168923
168924 ELSE null
168925 END source_value
168926 , CASE r
168927 WHEN 17 THEN fvl85.meaning
168928 WHEN 27 THEN fvl129.meaning
168929 WHEN 38 THEN fvl140.meaning
168930
168931 ELSE null
168932 END source_meaning
168933 FROM xla_events_gt xet
168934 , AP_PREPAYAPP_EXTRACT_DETAILS_V l2
168935 , AP_PREPAY_DEF_TAX_EXTRACT_V l3
168936 , ZX_AP_DEF_TAX_EXTRACT_V l5
168937 , ZX_AP_TAX_JRNL_LINE_DESC_V l6
168938 , fnd_lookup_values fvl85
168939 , fnd_lookup_values fvl129
168940 , fnd_lookup_values fvl140
168941 , (select rownum r from all_objects where rownum <= 48 and owner = p_apps_owner)
168942 WHERE xet.event_date between p_pad_start_date AND p_pad_end_date
168943 AND xet.event_class_code = C_EVENT_CLASS_CODE
168944 AND l2.event_id = xet.event_id
168945 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 fvl85.lookup_type(+) = 'YES_NO'
168946 AND fvl85.lookup_code(+) = l2.OVERRIDE_ACCTD_AMT_FLAG
168947 AND fvl85.view_application_id(+) = 0
168948 AND fvl85.language(+) = USERENV('LANG')
168949 AND fvl129.lookup_type(+) = 'ZX_REC_SETTLEMENT_OPTION'
168950 AND fvl129.lookup_code(+) = l3.DEF_REC_PP_SET_OPTION_CODE
168951 AND fvl129.view_application_id(+) = 0
168952 AND fvl129.language(+) = USERENV('LANG')
168953 AND fvl140.lookup_type(+) = 'ZX_REC_SETTLEMENT_OPTION'
168954 AND fvl140.lookup_code(+) = l5.DEF_REC_SETTLEMENT_OPTION_CODE
168955 AND fvl140.view_application_id(+) = 0
168956 AND fvl140.language(+) = USERENV('LANG')
168957
168958 )
168959 ;
168960 --
168961 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
168962
168963 trace
168964 (p_msg => 'number of line sources inserted = '||SQL%ROWCOUNT
168965 ,p_level => C_LEVEL_STATEMENT
168966 ,p_module => l_log_module);
168967
168968 END IF;
168969
168970
168971 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
168972 trace
168973 (p_msg => 'END of insert_sources_253'
168974 ,p_level => C_LEVEL_PROCEDURE
168975 ,p_module => l_log_module);
168976 END IF;
168977 EXCEPTION
168978 WHEN xla_exceptions_pkg.application_exception THEN
168979 IF (C_LEVEL_EXCEPTION >= g_log_level) THEN
168980 trace
168981 (p_msg => 'ERROR: XLA_CMP_COMPILER_ERROR = '||sqlerrm
168982 ,p_level => C_LEVEL_EXCEPTION
168983 ,p_module => l_log_module);
168984 END IF;
168985 RAISE;
168986 WHEN OTHERS THEN
168987 IF (C_LEVEL_EXCEPTION >= g_log_level) THEN
168988 trace
168989 (p_msg => 'ERROR: XLA_CMP_COMPILER_ERROR = '||sqlerrm
168990 ,p_level => C_LEVEL_EXCEPTION
168991 ,p_module => l_log_module);
168992 END IF;
168993 xla_exceptions_pkg.raise_message
168994 (p_location => 'XLA_00200_AAD_S_000012_PKG.insert_sources_253');
168995 END insert_sources_253;
168996 --
168997
168998 ---------------------------------------
168999 --
169000 -- PRIVATE FUNCTION
169001 -- EventClass_253
169002 --
169003 ----------------------------------------
169004 --
169005 FUNCTION EventClass_253
169006 (p_application_id IN NUMBER
169007 ,p_base_ledger_id IN NUMBER
169008 ,p_target_ledger_id IN NUMBER
169009 ,p_language IN VARCHAR2
169010 ,p_currency_code IN VARCHAR2
169011 ,p_sla_ledger_id IN NUMBER
169012 ,p_pad_start_date IN DATE
169013 ,p_pad_end_date IN DATE
169014 ,p_primary_ledger_id IN NUMBER)
169015 RETURN BOOLEAN IS
169016 --
169017 C_EVENT_TYPE_CODE CONSTANT VARCHAR2(30) := 'PREPAYMENT APPLICATIONS_ALL';
169018 C_EVENT_CLASS_CODE CONSTANT VARCHAR2(30) := 'PREPAYMENT APPLICATIONS';
169019
169020 l_calculate_acctd_flag VARCHAR2(1) :='N';
169021 l_calculate_g_l_flag VARCHAR2(1) :='N';
169022 --
169023 l_array_legal_entity_id XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
169024 l_array_entity_id XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
169025 l_array_entity_code XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
169026 l_array_transaction_num XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
169027 l_array_event_id XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
169028 l_array_class_code XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
169029 l_array_event_type XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
169030 l_array_event_number XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
169031 l_array_event_date XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
169032 l_array_transaction_date XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
169033 l_array_reference_num_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
169034 l_array_reference_num_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
169035 l_array_reference_num_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
169036 l_array_reference_num_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
169037 l_array_reference_char_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
169041 l_array_reference_date_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
169038 l_array_reference_char_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
169039 l_array_reference_char_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
169040 l_array_reference_char_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
169042 l_array_reference_date_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
169043 l_array_reference_date_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
169044 l_array_reference_date_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
169045 l_array_event_created_by XLA_AE_JOURNAL_ENTRY_PKG.t_array_V100L;
169046 l_array_budgetary_control_flag XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
169047 l_array_header_events XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num; --added
169048 l_array_duplicate_checker XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num; --added
169049
169050 l_event_id NUMBER;
169051 l_previous_event_id NUMBER;
169052 l_first_event_id NUMBER;
169053 l_last_event_id NUMBER;
169054
169055 l_rec_acct_attrs XLA_AE_HEADER_PKG.t_rec_acct_attrs;
169056 l_rec_rev_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
169057 --
169058 --
169059 l_result BOOLEAN := TRUE;
169060 l_rows NUMBER := 1000;
169061 l_event_type_name VARCHAR2(80) := 'All';
169062 l_event_class_name VARCHAR2(80) := 'Prepayment Applications';
169063 l_description VARCHAR2(4000);
169064 l_transaction_reversal NUMBER;
169065 l_ae_header_id NUMBER;
169066 l_array_extract_line_num xla_ae_journal_entry_pkg.t_array_Num;
169067 l_log_module VARCHAR2(240);
169068 --
169069 l_acct_reversal_source VARCHAR2(30);
169070 l_trx_reversal_source VARCHAR2(30);
169071
169072 l_continue_with_lines BOOLEAN := TRUE;
169073 --
169074 l_acc_rev_gl_date_source DATE; -- 4262811
169075 --
169076 type t_array_event_id is table of number index by binary_integer;
169077
169078 l_rec_array_event t_rec_array_event;
169079 l_null_rec_array_event t_rec_array_event;
169080 l_array_ae_header_id xla_number_array_type;
169081 l_actual_flag VARCHAR2(1) := NULL;
169082 l_actual_gain_loss_ref VARCHAR2(30) := '#####';
169083 l_balance_type_code VARCHAR2(1) :=NULL;
169084 l_gain_or_loss_ref VARCHAR2(30) :=NULL;
169085
169086 --
169087 TYPE t_array_lookup_meaning IS TABLE OF fnd_lookup_values.meaning%TYPE INDEX BY BINARY_INTEGER;
169088 --
169089
169090 TYPE t_array_source_10 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_AUTOMATIC_OFFSETS_VALUE%TYPE INDEX BY BINARY_INTEGER;
169091 TYPE t_array_source_32 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_GAIN_CCID%TYPE INDEX BY BINARY_INTEGER;
169092 TYPE t_array_source_34 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_LOSS_CCID%TYPE INDEX BY BINARY_INTEGER;
169093 TYPE t_array_source_36 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_PREPAY_TAX_DIFF_CCID%TYPE INDEX BY BINARY_INTEGER;
169094 TYPE t_array_source_45 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_ROUNDING_ERROR_CCID%TYPE INDEX BY BINARY_INTEGER;
169095 TYPE t_array_source_63 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_INVOICE_ID%TYPE INDEX BY BINARY_INTEGER;
169096 TYPE t_array_source_72 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_INVOICE_CURRENCY_CODE%TYPE INDEX BY BINARY_INTEGER;
169097 TYPE t_array_source_86 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_VENDOR_ID%TYPE INDEX BY BINARY_INTEGER;
169098 TYPE t_array_source_87 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_VENDOR_SITE_ID%TYPE INDEX BY BINARY_INTEGER;
169099 TYPE t_array_source_88 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.THIRD_PARTY_TYPE%TYPE INDEX BY BINARY_INTEGER;
169100 TYPE t_array_source_146 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_EXCHANGE_DATE%TYPE INDEX BY BINARY_INTEGER;
169101 TYPE t_array_source_147 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_EXCHANGE_RATE%TYPE INDEX BY BINARY_INTEGER;
169102 TYPE t_array_source_148 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_EXCHANGE_RATE_TYPE%TYPE INDEX BY BINARY_INTEGER;
169103 TYPE t_array_source_171 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_DOC_SEQUENCE_CATEGORY%TYPE INDEX BY BINARY_INTEGER;
169104 TYPE t_array_source_172 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_DOC_SEQUENCE_IDENTIFIER%TYPE INDEX BY BINARY_INTEGER;
169105 TYPE t_array_source_173 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_DOC_SEQUENCE_VALUE%TYPE INDEX BY BINARY_INTEGER;
169106
169107 TYPE t_array_source_25 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.AID_DIST_CCID%TYPE INDEX BY BINARY_INTEGER;
169108 TYPE t_array_source_31 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.CGAC_GAIN_CCID%TYPE INDEX BY BINARY_INTEGER;
169109 TYPE t_array_source_33 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.CGAC_LOSS_CCID%TYPE INDEX BY BINARY_INTEGER;
169110 TYPE t_array_source_48 IS TABLE OF ZX_AP_DEF_TAX_EXTRACT_V.TAX_ACCOUNT_CCID%TYPE INDEX BY BINARY_INTEGER;
169111 TYPE t_array_source_58 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.DIST_ACCOUNT_REVERSAL_OPTION%TYPE INDEX BY BINARY_INTEGER;
169112 TYPE t_array_source_60 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.DISTRIBUTION_LINK_TYPE%TYPE INDEX BY BINARY_INTEGER;
169113 TYPE t_array_source_70 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.UPG_ENC_CR_CCID%TYPE INDEX BY BINARY_INTEGER;
169114 TYPE t_array_source_71 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.UPG_ENC_CR_AMT%TYPE INDEX BY BINARY_INTEGER;
169115 TYPE t_array_source_73 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.UPG_ENC_CR_BASE_AMT%TYPE INDEX BY BINARY_INTEGER;
169116 TYPE t_array_source_74 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.UPG_ENC_DR_CCID%TYPE INDEX BY BINARY_INTEGER;
169117 TYPE t_array_source_75 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.UPG_ENC_DR_AMT%TYPE INDEX BY BINARY_INTEGER;
169118 TYPE t_array_source_76 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.UPG_ENC_DR_BASE_AMT%TYPE INDEX BY BINARY_INTEGER;
169119 TYPE t_array_source_77 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.UPG_AP_ENCUM_OPTION%TYPE INDEX BY BINARY_INTEGER;
169120 TYPE t_array_source_82 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.DEFERRED_END_DATE%TYPE INDEX BY BINARY_INTEGER;
169124 TYPE t_array_source_91 IS TABLE OF ZX_AP_DEF_TAX_EXTRACT_V.TAX_LINE_ID%TYPE INDEX BY BINARY_INTEGER;
169121 TYPE t_array_source_83 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.DEFERRED_OPTION%TYPE INDEX BY BINARY_INTEGER;
169122 TYPE t_array_source_84 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.DEFERRED_START_DATE%TYPE INDEX BY BINARY_INTEGER;
169123 TYPE t_array_source_85 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.OVERRIDE_ACCTD_AMT_FLAG%TYPE INDEX BY BINARY_INTEGER;
169125 TYPE t_array_source_92 IS TABLE OF ZX_AP_TAX_JRNL_LINE_DESC_V.REC_NREC_TAX_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
169126 TYPE t_array_source_93 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.SUMMARY_TAX_LINE_ID%TYPE INDEX BY BINARY_INTEGER;
169127 TYPE t_array_source_94 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.UPG_CR_ENC_TYPE_ID%TYPE INDEX BY BINARY_INTEGER;
169128 TYPE t_array_source_95 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.UPG_DR_ENC_TYPE_ID%TYPE INDEX BY BINARY_INTEGER;
169129 TYPE t_array_source_96 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.BUS_FLOW_AP_APP_ID%TYPE INDEX BY BINARY_INTEGER;
169130 TYPE t_array_source_97 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.BUS_FLOW_INV_DIST_TYPE%TYPE INDEX BY BINARY_INTEGER;
169131 TYPE t_array_source_98 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.BUS_FLOW_INV_ENTITY_CODE%TYPE INDEX BY BINARY_INTEGER;
169132 TYPE t_array_source_128 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.APAD_DIST_LOOKUP_CODE%TYPE INDEX BY BINARY_INTEGER;
169133 TYPE t_array_source_129 IS TABLE OF AP_PREPAY_DEF_TAX_EXTRACT_V.DEF_REC_PP_SET_OPTION_CODE%TYPE INDEX BY BINARY_INTEGER;
169134 TYPE t_array_source_130 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.APAD_DISTRIBUTION_IDENTIFIER%TYPE INDEX BY BINARY_INTEGER;
169135 TYPE t_array_source_131 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.BF_CASH_ALWAYS_PP_DIST_TYPE%TYPE INDEX BY BINARY_INTEGER;
169136 TYPE t_array_source_132 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.BF_CASH_ALWAYS_PREPAY_ENTITY%TYPE INDEX BY BINARY_INTEGER;
169137 TYPE t_array_source_133 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.BF_CASHALWAYS_PP_PMT_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
169138 TYPE t_array_source_134 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.BF_CASHALWAYS_PP_PMT_ID%TYPE INDEX BY BINARY_INTEGER;
169139 TYPE t_array_source_135 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.UPG_ENC_CR_ACCT_CLASS%TYPE INDEX BY BINARY_INTEGER;
169140 TYPE t_array_source_136 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.UPG_ENC_DR_ACCT_CLASS%TYPE INDEX BY BINARY_INTEGER;
169141 TYPE t_array_source_137 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.APAD_AMOUNT%TYPE INDEX BY BINARY_INTEGER;
169142 TYPE t_array_source_138 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.BASE_AMT_AT_PP_XRATE%TYPE INDEX BY BINARY_INTEGER;
169143 TYPE t_array_source_139 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.REVERSED_PREPAY_APP_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
169144 TYPE t_array_source_140 IS TABLE OF ZX_AP_DEF_TAX_EXTRACT_V.DEF_REC_SETTLEMENT_OPTION_CODE%TYPE INDEX BY BINARY_INTEGER;
169145 TYPE t_array_source_142 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.BF_PREPAY_REC_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
169146 TYPE t_array_source_143 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.BF_PREPAY_REC_INV%TYPE INDEX BY BINARY_INTEGER;
169147 TYPE t_array_source_144 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.APAD_BASE_AMOUNT%TYPE INDEX BY BINARY_INTEGER;
169148 TYPE t_array_source_149 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.BF_ACCRUAL_PREPAY_DIST_TYPE%TYPE INDEX BY BINARY_INTEGER;
169149 TYPE t_array_source_150 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.BF_ACCRUAL_PREPAY_ENTITY_CODE%TYPE INDEX BY BINARY_INTEGER;
169150 TYPE t_array_source_151 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.BF_ACCRUAL_PP_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
169151 TYPE t_array_source_152 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.BF_ACCRUAL_PP_INV%TYPE INDEX BY BINARY_INTEGER;
169152 TYPE t_array_source_153 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.BASE_AMT_AT_PP_PAY_XRATE%TYPE INDEX BY BINARY_INTEGER;
169153 TYPE t_array_source_158 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.APAD_BASE_AMOUNT_DIFF%TYPE INDEX BY BINARY_INTEGER;
169154 TYPE t_array_source_165 IS TABLE OF AP_PREPAYAPP_EXTRACT_DETAILS_V.INV_PREPMT_GAIN_LOSS_INDICATOR%TYPE INDEX BY BINARY_INTEGER;
169155
169156 l_array_source_10 t_array_source_10;
169157 l_array_source_10_meaning t_array_lookup_meaning;
169158 l_array_source_32 t_array_source_32;
169159 l_array_source_34 t_array_source_34;
169160 l_array_source_36 t_array_source_36;
169161 l_array_source_45 t_array_source_45;
169162 l_array_source_63 t_array_source_63;
169163 l_array_source_72 t_array_source_72;
169164 l_array_source_86 t_array_source_86;
169165 l_array_source_87 t_array_source_87;
169166 l_array_source_88 t_array_source_88;
169167 l_array_source_146 t_array_source_146;
169168 l_array_source_147 t_array_source_147;
169169 l_array_source_148 t_array_source_148;
169170 l_array_source_171 t_array_source_171;
169171 l_array_source_172 t_array_source_172;
169172 l_array_source_173 t_array_source_173;
169173
169174 l_array_source_25 t_array_source_25;
169175 l_array_source_31 t_array_source_31;
169176 l_array_source_33 t_array_source_33;
169177 l_array_source_48 t_array_source_48;
169178 l_array_source_58 t_array_source_58;
169179 l_array_source_60 t_array_source_60;
169180 l_array_source_70 t_array_source_70;
169181 l_array_source_71 t_array_source_71;
169182 l_array_source_73 t_array_source_73;
169183 l_array_source_74 t_array_source_74;
169184 l_array_source_75 t_array_source_75;
169185 l_array_source_76 t_array_source_76;
169186 l_array_source_77 t_array_source_77;
169187 l_array_source_82 t_array_source_82;
169188 l_array_source_83 t_array_source_83;
169189 l_array_source_84 t_array_source_84;
169190 l_array_source_85 t_array_source_85;
169191 l_array_source_85_meaning t_array_lookup_meaning;
169192 l_array_source_91 t_array_source_91;
169193 l_array_source_92 t_array_source_92;
169194 l_array_source_93 t_array_source_93;
169195 l_array_source_94 t_array_source_94;
169196 l_array_source_95 t_array_source_95;
169197 l_array_source_96 t_array_source_96;
169198 l_array_source_97 t_array_source_97;
169199 l_array_source_98 t_array_source_98;
169203 l_array_source_130 t_array_source_130;
169200 l_array_source_128 t_array_source_128;
169201 l_array_source_129 t_array_source_129;
169202 l_array_source_129_meaning t_array_lookup_meaning;
169204 l_array_source_131 t_array_source_131;
169205 l_array_source_132 t_array_source_132;
169206 l_array_source_133 t_array_source_133;
169207 l_array_source_134 t_array_source_134;
169208 l_array_source_135 t_array_source_135;
169209 l_array_source_136 t_array_source_136;
169210 l_array_source_137 t_array_source_137;
169211 l_array_source_138 t_array_source_138;
169212 l_array_source_139 t_array_source_139;
169213 l_array_source_140 t_array_source_140;
169214 l_array_source_140_meaning t_array_lookup_meaning;
169215 l_array_source_142 t_array_source_142;
169216 l_array_source_143 t_array_source_143;
169217 l_array_source_144 t_array_source_144;
169218 l_array_source_149 t_array_source_149;
169219 l_array_source_150 t_array_source_150;
169220 l_array_source_151 t_array_source_151;
169221 l_array_source_152 t_array_source_152;
169222 l_array_source_153 t_array_source_153;
169223 l_array_source_158 t_array_source_158;
169224 l_array_source_165 t_array_source_165;
169225
169226 --
169227 CURSOR header_cur
169228 IS
169229 SELECT /*+ leading(xet) cardinality(xet,1) */
169230 -- Event Class Code: PREPAYMENT APPLICATIONS
169231 xet.entity_id
169232 ,xet.legal_entity_id
169233 ,xet.entity_code
169234 ,xet.transaction_number
169235 ,xet.event_id
169236 ,xet.event_class_code
169237 ,xet.event_type_code
169238 ,xet.event_number
169239 ,xet.event_date
169240 ,xet.transaction_date
169241 ,xet.reference_num_1
169242 ,xet.reference_num_2
169243 ,xet.reference_num_3
169244 ,xet.reference_num_4
169245 ,xet.reference_char_1
169246 ,xet.reference_char_2
169247 ,xet.reference_char_3
169248 ,xet.reference_char_4
169249 ,xet.reference_date_1
169250 ,xet.reference_date_2
169251 ,xet.reference_date_3
169252 ,xet.reference_date_4
169253 ,xet.event_created_by
169254 ,xet.budgetary_control_flag
169255 , h4.ASP_AUTOMATIC_OFFSETS_VALUE source_10
169256 , fvl10.meaning source_10_meaning
169257 , h4.ASP_GAIN_CCID source_32
169258 , h4.ASP_LOSS_CCID source_34
169259 , h4.ASP_PREPAY_TAX_DIFF_CCID source_36
169260 , h4.ASP_ROUNDING_ERROR_CCID source_45
169261 , h1.AI_INVOICE_ID source_63
169262 , h1.AI_INVOICE_CURRENCY_CODE source_72
169263 , h1.AI_VENDOR_ID source_86
169264 , h1.AI_VENDOR_SITE_ID source_87
169265 , h1.THIRD_PARTY_TYPE source_88
169266 , h1.INV_EXCHANGE_DATE source_146
169267 , h1.INV_EXCHANGE_RATE source_147
169268 , h1.INV_EXCHANGE_RATE_TYPE source_148
169269 , h1.INV_DOC_SEQUENCE_CATEGORY source_171
169270 , h1.INV_DOC_SEQUENCE_IDENTIFIER source_172
169271 , h1.INV_DOC_SEQUENCE_VALUE source_173
169272 FROM xla_events_gt xet
169273 , AP_INVOICE_EXTRACT_HEADER_V h1
169274 , AP_SYSTEM_PARAMETERS_EXTRACT_V h4
169275 , fnd_lookup_values fvl10
169276 WHERE xet.event_date between p_pad_start_date and p_pad_end_date
169277 and xet.event_class_code = C_EVENT_CLASS_CODE
169278 and xet.event_status_code <> 'N' AND h1.event_id = xet.event_id
169279 AND h4.asp_org_id = h1.ai_org_id AND fvl10.lookup_type(+) = 'LIABILITY FLEXBUILD METHOD'
169280 AND fvl10.lookup_code(+) = h4.ASP_AUTOMATIC_OFFSETS_VALUE
169281 AND fvl10.view_application_id(+) = 200
169282 AND fvl10.language(+) = USERENV('LANG')
169283
169284 ORDER BY event_id
169285 ;
169286
169287
169288 --
169289 CURSOR line_cur (x_first_event_id in number, x_last_event_id in number)
169290 IS
169291 SELECT /*+ leading(xet) cardinality(xet,1) */
169292 -- Event Class Code: PREPAYMENT APPLICATIONS
169293 xet.entity_id
169294 ,xet.legal_entity_id
169295 ,xet.entity_code
169296 ,xet.transaction_number
169297 ,xet.event_id
169298 ,xet.event_class_code
169299 ,xet.event_type_code
169300 ,xet.event_number
169301 ,xet.event_date
169302 ,xet.transaction_date
169303 ,xet.reference_num_1
169304 ,xet.reference_num_2
169305 ,xet.reference_num_3
169306 ,xet.reference_num_4
169307 ,xet.reference_char_1
169308 ,xet.reference_char_2
169309 ,xet.reference_char_3
169310 ,xet.reference_char_4
169311 ,xet.reference_date_1
169312 ,xet.reference_date_2
169313 ,xet.reference_date_3
169314 ,xet.reference_date_4
169315 ,xet.event_created_by
169316 ,xet.budgetary_control_flag
169317 , l2.LINE_NUMBER
169318 , l2.AID_DIST_CCID source_25
169319 , l2.CGAC_GAIN_CCID source_31
169320 , l2.CGAC_LOSS_CCID source_33
169321 , l5.TAX_ACCOUNT_CCID source_48
169322 , l2.DIST_ACCOUNT_REVERSAL_OPTION source_58
169323 , l2.DISTRIBUTION_LINK_TYPE source_60
169324 , l2.UPG_ENC_CR_CCID source_70
169325 , l2.UPG_ENC_CR_AMT source_71
169326 , l2.UPG_ENC_CR_BASE_AMT source_73
169327 , l2.UPG_ENC_DR_CCID source_74
169328 , l2.UPG_ENC_DR_AMT source_75
169329 , l2.UPG_ENC_DR_BASE_AMT source_76
169330 , l2.UPG_AP_ENCUM_OPTION source_77
169331 , l2.DEFERRED_END_DATE source_82
169332 , l2.DEFERRED_OPTION source_83
169333 , l2.DEFERRED_START_DATE source_84
169334 , l2.OVERRIDE_ACCTD_AMT_FLAG source_85
169335 , fvl85.meaning source_85_meaning
169336 , l5.TAX_LINE_ID source_91
169337 , l6.REC_NREC_TAX_DIST_ID source_92
169338 , l2.SUMMARY_TAX_LINE_ID source_93
169339 , l2.UPG_CR_ENC_TYPE_ID source_94
169340 , l2.UPG_DR_ENC_TYPE_ID source_95
169341 , l2.BUS_FLOW_AP_APP_ID source_96
169342 , l2.BUS_FLOW_INV_DIST_TYPE source_97
169343 , l2.BUS_FLOW_INV_ENTITY_CODE source_98
169344 , l2.APAD_DIST_LOOKUP_CODE source_128
169348 , l2.BF_CASH_ALWAYS_PP_DIST_TYPE source_131
169345 , l3.DEF_REC_PP_SET_OPTION_CODE source_129
169346 , fvl129.meaning source_129_meaning
169347 , l2.APAD_DISTRIBUTION_IDENTIFIER source_130
169349 , l2.BF_CASH_ALWAYS_PREPAY_ENTITY source_132
169350 , l2.BF_CASHALWAYS_PP_PMT_DIST_ID source_133
169351 , l2.BF_CASHALWAYS_PP_PMT_ID source_134
169352 , l2.UPG_ENC_CR_ACCT_CLASS source_135
169353 , l2.UPG_ENC_DR_ACCT_CLASS source_136
169354 , l2.APAD_AMOUNT source_137
169355 , l2.BASE_AMT_AT_PP_XRATE source_138
169356 , l2.REVERSED_PREPAY_APP_DIST_ID source_139
169357 , l5.DEF_REC_SETTLEMENT_OPTION_CODE source_140
169358 , fvl140.meaning source_140_meaning
169359 , l2.BF_PREPAY_REC_DIST_ID source_142
169360 , l2.BF_PREPAY_REC_INV source_143
169361 , l2.APAD_BASE_AMOUNT source_144
169362 , l2.BF_ACCRUAL_PREPAY_DIST_TYPE source_149
169363 , l2.BF_ACCRUAL_PREPAY_ENTITY_CODE source_150
169364 , l2.BF_ACCRUAL_PP_DIST_ID source_151
169365 , l2.BF_ACCRUAL_PP_INV source_152
169366 , l2.BASE_AMT_AT_PP_PAY_XRATE source_153
169367 , l2.APAD_BASE_AMOUNT_DIFF source_158
169368 , l2.INV_PREPMT_GAIN_LOSS_INDICATOR source_165
169369 FROM xla_events_gt xet
169370 , AP_PREPAYAPP_EXTRACT_DETAILS_V l2
169371 , AP_PREPAY_DEF_TAX_EXTRACT_V l3
169372 , ZX_AP_DEF_TAX_EXTRACT_V l5
169373 , ZX_AP_TAX_JRNL_LINE_DESC_V l6
169374 , fnd_lookup_values fvl85
169375 , fnd_lookup_values fvl129
169376 , fnd_lookup_values fvl140
169377 WHERE xet.event_id between x_first_event_id and x_last_event_id
169378 and xet.event_date between p_pad_start_date and p_pad_end_date
169379 and xet.event_class_code = C_EVENT_CLASS_CODE
169380 and xet.event_status_code <> 'N' AND l2.event_id = xet.event_id
169381 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 fvl85.lookup_type(+) = 'YES_NO'
169382 AND fvl85.lookup_code(+) = l2.OVERRIDE_ACCTD_AMT_FLAG
169383 AND fvl85.view_application_id(+) = 0
169384 AND fvl85.language(+) = USERENV('LANG')
169385 AND fvl129.lookup_type(+) = 'ZX_REC_SETTLEMENT_OPTION'
169386 AND fvl129.lookup_code(+) = l3.DEF_REC_PP_SET_OPTION_CODE
169387 AND fvl129.view_application_id(+) = 0
169388 AND fvl129.language(+) = USERENV('LANG')
169389 AND fvl140.lookup_type(+) = 'ZX_REC_SETTLEMENT_OPTION'
169390 AND fvl140.lookup_code(+) = l5.DEF_REC_SETTLEMENT_OPTION_CODE
169391 AND fvl140.view_application_id(+) = 0
169392 AND fvl140.language(+) = USERENV('LANG')
169393 ;
169394
169395 --
169396 BEGIN
169397 IF g_log_enabled THEN
169398 l_log_module := C_DEFAULT_MODULE||'.EventClass_253';
169399 END IF;
169400 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
169401 trace
169402 (p_msg => 'BEGIN of EventClass_253'
169403 ,p_level => C_LEVEL_PROCEDURE
169404 ,p_module => l_log_module);
169405 END IF;
169406
169407 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
169408 trace
169409 (p_msg => 'p_application_id = '||p_application_id||
169410 ' - p_base_ledger_id = '||p_base_ledger_id||
169411 ' - p_target_ledger_id = '||p_target_ledger_id||
169412 ' - p_language = '||p_language||
169413 ' - p_currency_code = '||p_currency_code||
169414 ' - p_sla_ledger_id = '||p_sla_ledger_id
169415 ,p_level => C_LEVEL_STATEMENT
169416 ,p_module => l_log_module);
169417 END IF;
169418 --
169419 -- initialze arrays
169420 --
169421 g_array_event.DELETE;
169422 l_rec_array_event := l_null_rec_array_event;
169423 --
169424 --------------------------------------
169425 -- 4262811 Initialze MPA Line Number
169426 --------------------------------------
169427 XLA_AE_HEADER_PKG.g_mpa_line_num := 0;
169428
169429 --
169430
169431 --
169432 OPEN header_cur;
169433 --
169434 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
169435 trace
169436 (p_msg => 'SQL - FETCH header_cur'
169437 ,p_level => C_LEVEL_STATEMENT
169438 ,p_module => l_log_module);
169439 END IF;
169440 --
169441 LOOP
169442 FETCH header_cur BULK COLLECT INTO
169443 l_array_entity_id
169444 , l_array_legal_entity_id
169445 , l_array_entity_code
169446 , l_array_transaction_num
169447 , l_array_event_id
169448 , l_array_class_code
169449 , l_array_event_type
169450 , l_array_event_number
169451 , l_array_event_date
169452 , l_array_transaction_date
169453 , l_array_reference_num_1
169454 , l_array_reference_num_2
169455 , l_array_reference_num_3
169456 , l_array_reference_num_4
169457 , l_array_reference_char_1
169458 , l_array_reference_char_2
169459 , l_array_reference_char_3
169460 , l_array_reference_char_4
169461 , l_array_reference_date_1
169462 , l_array_reference_date_2
169463 , l_array_reference_date_3
169464 , l_array_reference_date_4
169465 , l_array_event_created_by
169466 , l_array_budgetary_control_flag
169467 , l_array_source_10
169468 , l_array_source_10_meaning
169469 , l_array_source_32
169470 , l_array_source_34
169471 , l_array_source_36
169472 , l_array_source_45
169473 , l_array_source_63
169474 , l_array_source_72
169475 , l_array_source_86
169476 , l_array_source_87
169477 , l_array_source_88
169478 , l_array_source_146
169479 , l_array_source_147
169480 , l_array_source_148
169481 , l_array_source_171
169482 , l_array_source_172
169483 , l_array_source_173
169484 LIMIT l_rows;
169485 --
169486 IF (C_LEVEL_EVENT >= g_log_level) THEN
169490 ,p_module => l_log_module);
169487 trace
169488 (p_msg => '# rows extracted from header extract objects = '||TO_CHAR(header_cur%ROWCOUNT)
169489 ,p_level => C_LEVEL_EVENT
169491 END IF;
169492 --
169493 EXIT WHEN l_array_entity_id.COUNT = 0;
169494
169495 -- initialize arrays
169496 XLA_AE_HEADER_PKG.g_rec_header_new := NULL;
169497 XLA_AE_LINES_PKG.g_rec_lines := NULL;
169498
169499 --
169500 -- Bug 4458708
169501 --
169502 XLA_AE_LINES_PKG.g_LineNumber := 0;
169503
169504
169505 -- 4262811 - when creating Accrual Reversal or MPA, use g_last_hdr_idx to increment for next header id
169506 g_last_hdr_idx := l_array_event_id.LAST;
169507 --
169508 -- loop for the headers. Each iteration is for each header extract row
169509 -- fetched in header cursor
169510 --
169511 FOR hdr_idx IN l_array_event_id.FIRST .. l_array_event_id.LAST LOOP
169512
169513 --
169514 -- set event info as cache for other routines to refer event attributes
169515 --
169516 XLA_AE_JOURNAL_ENTRY_PKG.set_event_info
169517 (p_application_id => p_application_id
169518 ,p_primary_ledger_id => p_primary_ledger_id
169519 ,p_base_ledger_id => p_base_ledger_id
169520 ,p_target_ledger_id => p_target_ledger_id
169521 ,p_entity_id => l_array_entity_id(hdr_idx)
169522 ,p_legal_entity_id => l_array_legal_entity_id(hdr_idx)
169523 ,p_entity_code => l_array_entity_code(hdr_idx)
169524 ,p_transaction_num => l_array_transaction_num(hdr_idx)
169525 ,p_event_id => l_array_event_id(hdr_idx)
169526 ,p_event_class_code => l_array_class_code(hdr_idx)
169527 ,p_event_type_code => l_array_event_type(hdr_idx)
169528 ,p_event_number => l_array_event_number(hdr_idx)
169529 ,p_event_date => l_array_event_date(hdr_idx)
169530 ,p_transaction_date => l_array_transaction_date(hdr_idx)
169531 ,p_reference_num_1 => l_array_reference_num_1(hdr_idx)
169532 ,p_reference_num_2 => l_array_reference_num_2(hdr_idx)
169533 ,p_reference_num_3 => l_array_reference_num_3(hdr_idx)
169534 ,p_reference_num_4 => l_array_reference_num_4(hdr_idx)
169535 ,p_reference_char_1 => l_array_reference_char_1(hdr_idx)
169536 ,p_reference_char_2 => l_array_reference_char_2(hdr_idx)
169537 ,p_reference_char_3 => l_array_reference_char_3(hdr_idx)
169538 ,p_reference_char_4 => l_array_reference_char_4(hdr_idx)
169539 ,p_reference_date_1 => l_array_reference_date_1(hdr_idx)
169540 ,p_reference_date_2 => l_array_reference_date_2(hdr_idx)
169541 ,p_reference_date_3 => l_array_reference_date_3(hdr_idx)
169542 ,p_reference_date_4 => l_array_reference_date_4(hdr_idx)
169543 ,p_event_created_by => l_array_event_created_by(hdr_idx)
169544 ,p_budgetary_control_flag => l_array_budgetary_control_flag(hdr_idx));
169545
169546 --
169547 -- set the status of entry to C_VALID (0)
169548 --
169549 XLA_AE_JOURNAL_ENTRY_PKG.g_global_status := XLA_AE_JOURNAL_ENTRY_PKG.C_VALID;
169550
169551 --
169552 -- initialize a row for ae header
169553 --
169554 XLA_AE_HEADER_PKG.InitHeader(hdr_idx);
169555
169556 l_event_id := l_array_event_id(hdr_idx);
169557
169558 --
169559 -- storing the hdr_idx for event. May be used by line cursor.
169560 --
169561 g_array_event(l_event_id).array_value_num('header_index') := hdr_idx;
169562
169563 --
169564 -- store sources from header extract. This can be improved to
169565 -- store only those sources from header extract that may be used in lines
169566 --
169567
169568 g_array_event(l_event_id).array_value_char('source_10') := l_array_source_10(hdr_idx);
169569 g_array_event(l_event_id).array_value_char('source_10_meaning') := l_array_source_10_meaning(hdr_idx);
169570 g_array_event(l_event_id).array_value_num('source_32') := l_array_source_32(hdr_idx);
169571 g_array_event(l_event_id).array_value_num('source_34') := l_array_source_34(hdr_idx);
169572 g_array_event(l_event_id).array_value_num('source_36') := l_array_source_36(hdr_idx);
169573 g_array_event(l_event_id).array_value_num('source_45') := l_array_source_45(hdr_idx);
169574 g_array_event(l_event_id).array_value_num('source_63') := l_array_source_63(hdr_idx);
169575 g_array_event(l_event_id).array_value_char('source_72') := l_array_source_72(hdr_idx);
169576 g_array_event(l_event_id).array_value_num('source_86') := l_array_source_86(hdr_idx);
169577 g_array_event(l_event_id).array_value_num('source_87') := l_array_source_87(hdr_idx);
169578 g_array_event(l_event_id).array_value_char('source_88') := l_array_source_88(hdr_idx);
169579 g_array_event(l_event_id).array_value_date('source_146') := l_array_source_146(hdr_idx);
169580 g_array_event(l_event_id).array_value_num('source_147') := l_array_source_147(hdr_idx);
169581 g_array_event(l_event_id).array_value_char('source_148') := l_array_source_148(hdr_idx);
169582 g_array_event(l_event_id).array_value_char('source_171') := l_array_source_171(hdr_idx);
169583 g_array_event(l_event_id).array_value_num('source_172') := l_array_source_172(hdr_idx);
169584 g_array_event(l_event_id).array_value_num('source_173') := l_array_source_173(hdr_idx);
169585
169586 --
169587 -- initilaize the status of ae headers for diffrent balance types
169588 -- the status is initialised to C_NOT_CREATED (2)
169589 --
169590 --g_array_event(l_event_id).array_value_num('actual_je_status') := XLA_AE_JOURNAL_ENTRY_PKG.C_NOT_CREATED;
169591 --g_array_event(l_event_id).array_value_num('budget_je_status') := XLA_AE_JOURNAL_ENTRY_PKG.C_NOT_CREATED;
169592 --g_array_event(l_event_id).array_value_num('encumbrance_je_status') := XLA_AE_JOURNAL_ENTRY_PKG.C_NOT_CREATED;
169593
169594 --
169595 -- call api to validate and store accounting attributes for header
169596 --
169597
169598 ------------------------------------------------------------
169599 -- Accrual Reversal : to get date for Standard Source (NONE)
169600 ------------------------------------------------------------
169601 l_acc_rev_gl_date_source := NULL;
169602
169606 l_rec_acct_attrs.array_num_value(2) := g_array_event(l_event_id).array_value_num('source_172');
169603 l_rec_acct_attrs.array_acct_attr_code(1) := 'DOC_CATEGORY_CODE';
169604 l_rec_acct_attrs.array_char_value(1) := g_array_event(l_event_id).array_value_char('source_171');
169605 l_rec_acct_attrs.array_acct_attr_code(2) := 'DOC_SEQUENCE_ID';
169607 l_rec_acct_attrs.array_acct_attr_code(3) := 'DOC_SEQUENCE_VALUE';
169608 l_rec_acct_attrs.array_num_value(3) := g_array_event(l_event_id).array_value_num('source_173');
169609 l_rec_acct_attrs.array_acct_attr_code(4) := 'GL_DATE';
169610 l_rec_acct_attrs.array_date_value(4) :=
169611 xla_ae_sources_pkg.GetSystemSourceDate(
169612 p_source_code => 'XLA_EVENT_DATE'
169613 , p_source_type_code => 'Y'
169614 , p_source_application_id => 602
169615 );
169616
169617
169618 XLA_AE_HEADER_PKG.SetHdrAcctAttrs(l_rec_acct_attrs);
169619
169620 XLA_AE_HEADER_PKG.SetJeCategoryName;
169621
169622 XLA_AE_HEADER_PKG.g_rec_header_new.array_event_type_code(hdr_idx) := l_array_event_type(hdr_idx);
169623 XLA_AE_HEADER_PKG.g_rec_header_new.array_event_id(hdr_idx) := l_array_event_id(hdr_idx);
169624 XLA_AE_HEADER_PKG.g_rec_header_new.array_entity_id(hdr_idx) := l_array_entity_id(hdr_idx);
169625 XLA_AE_HEADER_PKG.g_rec_header_new.array_event_number(hdr_idx) := l_array_event_number(hdr_idx);
169626 XLA_AE_HEADER_PKG.g_rec_header_new.array_target_ledger_id(hdr_idx) := p_target_ledger_id;
169627
169628
169629 -- No header level analytical criteria
169630
169631 --
169632 --accounting attribute enhancement, bug 3612931
169633 --
169634 l_trx_reversal_source := SUBSTR(NULL, 1,30);
169635
169636 IF NVL(l_trx_reversal_source, 'N') NOT IN ('N','Y') THEN
169637 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
169638
169639 xla_accounting_err_pkg.build_message
169640 (p_appli_s_name => 'XLA'
169641 ,p_msg_name => 'XLA_AP_INVALID_HDR_ATTR'
169642 ,p_token_1 => 'ACCT_ATTR_NAME'
169643 ,p_value_1 => xla_ae_sources_pkg.GetAccountingSourceName('TRX_ACCT_REVERSAL_OPTION')
169644 ,p_token_2 => 'PRODUCT_NAME'
169645 ,p_value_2 => xla_ae_journal_entry_pkg.g_cache_event.application_name
169646 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
169647 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
169648 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id);
169649
169650 ELSIF NVL(l_trx_reversal_source, 'N') = 'Y' THEN
169651 --
169652 -- following sets the accounting attributes needed to reverse
169653 -- accounting for a distributeion
169654 --
169655 xla_ae_lines_pkg.SetTrxReversalAttrs
169656 (p_event_id => l_event_id
169657 ,p_gl_date => XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(hdr_idx)
169658 ,p_trx_reversal_source => l_trx_reversal_source);
169659
169660 END IF;
169661
169662
169663 ----------------------------------------------------------------
169664 -- 4262811 - update the header statuses to invalid in need be
169665 ----------------------------------------------------------------
169666 --
169667 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus (p_hdr_idx => hdr_idx);
169668
169669
169670 -----------------------------------------------
169671 -- No accrual reversal for the event class/type
169672 -----------------------------------------------
169673 ----------------------------------------------------------------
169674
169675 --
169676 -- this ends the header loop iteration for one bulk fetch
169677 --
169678 END LOOP;
169679
169680 l_first_event_id := l_array_event_id(l_array_event_id.FIRST);
169681 l_last_event_id := l_array_event_id(l_array_event_id.LAST);
169682
169683 --
169684 -- insert dummy rows into lines gt table that were created due to
169685 -- transaction reversals
169686 --
169687 IF XLA_AE_LINES_PKG.g_rec_lines.array_ae_header_id.COUNT > 0 THEN
169688 l_result := XLA_AE_LINES_PKG.InsertLines;
169689 END IF;
169690
169691 --
169692 -- reset the temp_line_num for each set of events fetched from header
169693 -- cursor rather than doing it for each new event in line cursor
169694 -- Bug 3939231
169695 --
169696 xla_ae_lines_pkg.g_temp_line_num := 0;
169697
169698
169699
169700 --
169701 OPEN line_cur(x_first_event_id => l_first_event_id, x_last_event_id => l_last_event_id);
169702 --
169703 --
169704 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
169705
169706 trace
169707 (p_msg => 'SQL - FETCH line_cur'
169708 ,p_level => C_LEVEL_STATEMENT
169709 ,p_module => l_log_module);
169710
169711 END IF;
169712 --
169713 --
169714 LOOP
169715 --
169716 FETCH line_cur BULK COLLECT INTO
169717 l_array_entity_id
169718 , l_array_legal_entity_id
169719 , l_array_entity_code
169720 , l_array_transaction_num
169721 , l_array_event_id
169722 , l_array_class_code
169723 , l_array_event_type
169724 , l_array_event_number
169725 , l_array_event_date
169726 , l_array_transaction_date
169727 , l_array_reference_num_1
169728 , l_array_reference_num_2
169729 , l_array_reference_num_3
169730 , l_array_reference_num_4
169731 , l_array_reference_char_1
169732 , l_array_reference_char_2
169733 , l_array_reference_char_3
169734 , l_array_reference_char_4
169735 , l_array_reference_date_1
169736 , l_array_reference_date_2
169737 , l_array_reference_date_3
169738 , l_array_reference_date_4
169739 , l_array_event_created_by
169740 , l_array_budgetary_control_flag
169741 , l_array_extract_line_num
169742 , l_array_source_25
169746 , l_array_source_58
169743 , l_array_source_31
169744 , l_array_source_33
169745 , l_array_source_48
169747 , l_array_source_60
169748 , l_array_source_70
169749 , l_array_source_71
169750 , l_array_source_73
169751 , l_array_source_74
169752 , l_array_source_75
169753 , l_array_source_76
169754 , l_array_source_77
169755 , l_array_source_82
169756 , l_array_source_83
169757 , l_array_source_84
169758 , l_array_source_85
169759 , l_array_source_85_meaning
169760 , l_array_source_91
169761 , l_array_source_92
169762 , l_array_source_93
169763 , l_array_source_94
169764 , l_array_source_95
169765 , l_array_source_96
169766 , l_array_source_97
169767 , l_array_source_98
169768 , l_array_source_128
169769 , l_array_source_129
169770 , l_array_source_129_meaning
169771 , l_array_source_130
169772 , l_array_source_131
169773 , l_array_source_132
169774 , l_array_source_133
169775 , l_array_source_134
169776 , l_array_source_135
169777 , l_array_source_136
169778 , l_array_source_137
169779 , l_array_source_138
169780 , l_array_source_139
169781 , l_array_source_140
169782 , l_array_source_140_meaning
169783 , l_array_source_142
169784 , l_array_source_143
169785 , l_array_source_144
169786 , l_array_source_149
169787 , l_array_source_150
169788 , l_array_source_151
169789 , l_array_source_152
169790 , l_array_source_153
169791 , l_array_source_158
169792 , l_array_source_165
169793 LIMIT l_rows;
169794
169795 --
169796 IF (C_LEVEL_EVENT >= g_log_level) THEN
169797 trace
169798 (p_msg => '# rows extracted from line extract objects = '||TO_CHAR(line_cur%ROWCOUNT)
169799 ,p_level => C_LEVEL_EVENT
169800 ,p_module => l_log_module);
169801 END IF;
169802 --
169803 EXIT WHEN l_array_entity_id.count = 0;
169804
169805 XLA_AE_LINES_PKG.g_rec_lines := null;
169806
169807 --
169808 -- Bug 4458708
169809 --
169810 XLA_AE_LINES_PKG.g_LineNumber := 0;
169811 --
169812 --
169813
169814 FOR Idx IN 1..l_array_event_id.count LOOP
169815 --
169816 -- 5648433 (move l_event_id out of IF statement) set l_event_id to be used inside IF condition
169817 --
169818 l_event_id := l_array_event_id(idx); -- 5648433
169819
169820 --
169821 -- Bug 4872078 - Do nothing if the event is meant for transaction reversal
169822 --
169823
169824 IF NVL(xla_ae_header_pkg.g_rec_header_new.array_trx_acct_reversal_option
169825 (g_array_event(l_event_id).array_value_num('header_index'))
169826 ,'N'
169827 ) <> 'Y'
169828 THEN
169829 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
169830 trace
169831 (p_msg => 'Trancaction revesal option is not Y '
169832 ,p_level => C_LEVEL_STATEMENT
169833 ,p_module => l_log_module);
169834 END IF;
169835
169836 --
169837 -- set the XLA_AE_JOURNAL_ENTRY_PKG.g_global_status to C_VALID (0)
169838 --
169839 XLA_AE_JOURNAL_ENTRY_PKG.g_global_status := XLA_AE_JOURNAL_ENTRY_PKG.C_VALID;
169840 --
169841 -- set event info as cache for other routines to refer event attributes
169842 --
169843
169844 IF l_event_id <> NVL(l_previous_event_id, -1) THEN
169845 l_previous_event_id := l_event_id;
169846
169847 XLA_AE_JOURNAL_ENTRY_PKG.set_event_info
169848 (p_application_id => p_application_id
169849 ,p_primary_ledger_id => p_primary_ledger_id
169850 ,p_base_ledger_id => p_base_ledger_id
169851 ,p_target_ledger_id => p_target_ledger_id
169852 ,p_entity_id => l_array_entity_id(Idx)
169853 ,p_legal_entity_id => l_array_legal_entity_id(Idx)
169854 ,p_entity_code => l_array_entity_code(Idx)
169855 ,p_transaction_num => l_array_transaction_num(Idx)
169856 ,p_event_id => l_array_event_id(Idx)
169857 ,p_event_class_code => l_array_class_code(Idx)
169858 ,p_event_type_code => l_array_event_type(Idx)
169859 ,p_event_number => l_array_event_number(Idx)
169860 ,p_event_date => l_array_event_date(Idx)
169861 ,p_transaction_date => l_array_transaction_date(Idx)
169862 ,p_reference_num_1 => l_array_reference_num_1(Idx)
169863 ,p_reference_num_2 => l_array_reference_num_2(Idx)
169864 ,p_reference_num_3 => l_array_reference_num_3(Idx)
169865 ,p_reference_num_4 => l_array_reference_num_4(Idx)
169866 ,p_reference_char_1 => l_array_reference_char_1(Idx)
169867 ,p_reference_char_2 => l_array_reference_char_2(Idx)
169868 ,p_reference_char_3 => l_array_reference_char_3(Idx)
169869 ,p_reference_char_4 => l_array_reference_char_4(Idx)
169870 ,p_reference_date_1 => l_array_reference_date_1(Idx)
169871 ,p_reference_date_2 => l_array_reference_date_2(Idx)
169872 ,p_reference_date_3 => l_array_reference_date_3(Idx)
169873 ,p_reference_date_4 => l_array_reference_date_4(Idx)
169874 ,p_event_created_by => l_array_event_created_by(Idx)
169875 ,p_budgetary_control_flag => l_array_budgetary_control_flag(Idx));
169876 --
169877 END IF;
169878
169879
169880
169881 --
169882 xla_ae_lines_pkg.SetExtractLine(p_extract_line => l_array_extract_line_num(Idx));
169883
169884 l_acct_reversal_source := SUBSTR(l_array_source_58(Idx), 1,30);
169885
169886 IF l_continue_with_lines THEN
169887 IF NVL(l_acct_reversal_source, 'N') NOT IN ('N','Y','B') THEN
169891 (p_appli_s_name => 'XLA'
169888 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
169889
169890 xla_accounting_err_pkg.build_message
169892 ,p_msg_name => 'XLA_AP_INVALID_REVERSAL_OPTION'
169893 ,p_token_1 => 'LINE_NUMBER'
169894 ,p_value_1 => l_array_extract_line_num(Idx)
169895 ,p_token_2 => 'PRODUCT_NAME'
169896 ,p_value_2 => xla_ae_journal_entry_pkg.g_cache_event.application_name
169897 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
169898 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
169899 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id);
169900
169901 ELSIF NVL(l_acct_reversal_source, 'N') IN ('Y','B') THEN
169902 --
169903 -- following sets the accounting attributes needed to reverse
169904 -- accounting for a distributeion
169905 --
169906
169907 --
169908 -- 5217187
169909 --
169910 l_rec_rev_acct_attrs.array_acct_attr_code(1):= 'GL_DATE';
169911 l_rec_rev_acct_attrs.array_date_value(1) := XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(
169912 g_array_event(l_event_id).array_value_num('header_index'));
169913 --
169914 --
169915
169916 l_rec_rev_acct_attrs.array_acct_attr_code(2) := 'ACCOUNTING_REVERSAL_OPTION';
169917 l_rec_rev_acct_attrs.array_char_value(2) := l_array_source_58(Idx);
169918 l_rec_rev_acct_attrs.array_acct_attr_code(3) := 'DISTRIBUTION_IDENTIFIER_1';
169919 l_rec_rev_acct_attrs.array_num_value(3) := l_array_source_130(Idx);
169920 l_rec_rev_acct_attrs.array_acct_attr_code(4) := 'DISTRIBUTION_TYPE';
169921 l_rec_rev_acct_attrs.array_char_value(4) := l_array_source_60(Idx);
169922 l_rec_rev_acct_attrs.array_acct_attr_code(5) := 'ENC_UPG_CR_ACCT_CLASS';
169923 l_rec_rev_acct_attrs.array_char_value(5) := l_array_source_135(Idx);
169924 l_rec_rev_acct_attrs.array_acct_attr_code(6) := 'ENC_UPG_CR_CCID';
169925 l_rec_rev_acct_attrs.array_num_value(6) := l_array_source_70(Idx);
169926 l_rec_rev_acct_attrs.array_acct_attr_code(7) := 'ENC_UPG_CR_ENTERED_AMT';
169927 l_rec_rev_acct_attrs.array_num_value(7) := l_array_source_71(Idx);
169928 l_rec_rev_acct_attrs.array_acct_attr_code(8) := 'ENC_UPG_CR_ENTERED_CURR';
169929 l_rec_rev_acct_attrs.array_char_value(8) := g_array_event(l_event_id).array_value_char('source_72');
169930 l_rec_rev_acct_attrs.array_acct_attr_code(9) := 'ENC_UPG_CR_LEDGER_AMT';
169931 l_rec_rev_acct_attrs.array_num_value(9) := l_array_source_73(Idx);
169932 l_rec_rev_acct_attrs.array_acct_attr_code(10) := 'ENC_UPG_DR_ACCT_CLASS';
169933 l_rec_rev_acct_attrs.array_char_value(10) := l_array_source_136(Idx);
169934 l_rec_rev_acct_attrs.array_acct_attr_code(11) := 'ENC_UPG_DR_CCID';
169935 l_rec_rev_acct_attrs.array_num_value(11) := l_array_source_74(Idx);
169936 l_rec_rev_acct_attrs.array_acct_attr_code(12) := 'ENC_UPG_DR_ENTERED_AMT';
169937 l_rec_rev_acct_attrs.array_num_value(12) := l_array_source_75(Idx);
169938 l_rec_rev_acct_attrs.array_acct_attr_code(13) := 'ENC_UPG_DR_ENTERED_CURR';
169939 l_rec_rev_acct_attrs.array_char_value(13) := g_array_event(l_event_id).array_value_char('source_72');
169940 l_rec_rev_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_DR_LEDGER_AMT';
169941 l_rec_rev_acct_attrs.array_num_value(14) := l_array_source_76(Idx);
169942 l_rec_rev_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_OPTION';
169943 l_rec_rev_acct_attrs.array_char_value(15) := l_array_source_77(Idx);
169944 l_rec_rev_acct_attrs.array_acct_attr_code(16) := 'PARTY_TYPE';
169945 l_rec_rev_acct_attrs.array_char_value(16) := g_array_event(l_event_id).array_value_char('source_88');
169946 l_rec_rev_acct_attrs.array_acct_attr_code(17) := 'REVERSED_DISTRIBUTION_ID1';
169947 l_rec_rev_acct_attrs.array_num_value(17) := l_array_source_139(Idx);
169948 l_rec_rev_acct_attrs.array_acct_attr_code(18) := 'REVERSED_DISTRIBUTION_TYPE';
169949 l_rec_rev_acct_attrs.array_char_value(18) := l_array_source_60(Idx);
169950 l_rec_rev_acct_attrs.array_acct_attr_code(19) := 'TAX_LINE_REF_ID';
169951 l_rec_rev_acct_attrs.array_num_value(19) := l_array_source_91(Idx);
169952 l_rec_rev_acct_attrs.array_acct_attr_code(20) := 'TAX_REC_NREC_DIST_REF_ID';
169953 l_rec_rev_acct_attrs.array_num_value(20) := l_array_source_92(Idx);
169954 l_rec_rev_acct_attrs.array_acct_attr_code(21) := 'TAX_SUMMARY_LINE_REF_ID';
169955 l_rec_rev_acct_attrs.array_num_value(21) := l_array_source_93(Idx);
169956 l_rec_rev_acct_attrs.array_acct_attr_code(22) := 'UPG_CR_ENC_TYPE_ID';
169957 l_rec_rev_acct_attrs.array_num_value(22) := l_array_source_94(Idx);
169958 l_rec_rev_acct_attrs.array_acct_attr_code(23) := 'UPG_DR_ENC_TYPE_ID';
169959 l_rec_rev_acct_attrs.array_num_value(23) := l_array_source_95(Idx);
169960
169961
169962 xla_ae_lines_pkg.SetAcctReversalAttrs
169963 (p_event_id => l_event_id
169964 ,p_rec_acct_attrs => l_rec_rev_acct_attrs
169965 ,p_calculate_acctd_flag => l_calculate_acctd_flag
169966 ,p_calculate_g_l_flag => l_calculate_g_l_flag);
169967 END IF;
169968
169969 IF NVL(l_acct_reversal_source, 'N') IN ('N','B') THEN
169970 l_actual_flag := NULL; l_actual_gain_loss_ref := '#####';
169971
169972 --
169973 AcctLineType_103 (
169974 p_application_id => p_application_id
169975 ,p_event_id => l_event_id
169976 ,p_calculate_acctd_flag => l_calculate_acctd_flag
169977 ,p_calculate_g_l_flag => l_calculate_g_l_flag
169978 ,p_actual_flag => l_actual_flag
169979 ,p_balance_type_code => l_balance_type_code
169980 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
169981
169982 , p_source_58 => l_array_source_58(Idx)
169983 , p_source_60 => l_array_source_60(Idx)
169984 , p_source_63 => g_array_event(l_event_id).array_value_num('source_63')
169985 , p_source_70 => l_array_source_70(Idx)
169989 , p_source_74 => l_array_source_74(Idx)
169986 , p_source_71 => l_array_source_71(Idx)
169987 , p_source_72 => g_array_event(l_event_id).array_value_char('source_72')
169988 , p_source_73 => l_array_source_73(Idx)
169990 , p_source_75 => l_array_source_75(Idx)
169991 , p_source_76 => l_array_source_76(Idx)
169992 , p_source_77 => l_array_source_77(Idx)
169993 , p_source_82 => l_array_source_82(Idx)
169994 , p_source_83 => l_array_source_83(Idx)
169995 , p_source_84 => l_array_source_84(Idx)
169996 , p_source_85 => l_array_source_85(Idx)
169997 , p_source_85_meaning => l_array_source_85_meaning(Idx)
169998 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
169999 , p_source_91 => l_array_source_91(Idx)
170000 , p_source_92 => l_array_source_92(Idx)
170001 , p_source_93 => l_array_source_93(Idx)
170002 , p_source_94 => l_array_source_94(Idx)
170003 , p_source_95 => l_array_source_95(Idx)
170004 , p_source_96 => l_array_source_96(Idx)
170005 , p_source_128 => l_array_source_128(Idx)
170006 , p_source_129 => l_array_source_129(Idx)
170007 , p_source_129_meaning => l_array_source_129_meaning(Idx)
170008 , p_source_130 => l_array_source_130(Idx)
170009 , p_source_131 => l_array_source_131(Idx)
170010 , p_source_132 => l_array_source_132(Idx)
170011 , p_source_133 => l_array_source_133(Idx)
170012 , p_source_134 => l_array_source_134(Idx)
170013 , p_source_135 => l_array_source_135(Idx)
170014 , p_source_136 => l_array_source_136(Idx)
170015 , p_source_137 => l_array_source_137(Idx)
170016 , p_source_138 => l_array_source_138(Idx)
170017 , p_source_139 => l_array_source_139(Idx)
170018 );
170019 If(l_balance_type_code = 'A') THEN
170020 l_actual_gain_loss_ref := l_gain_or_loss_ref;
170021 END IF;
170022
170023 --
170024
170025
170026 --
170027 AcctLineType_108 (
170028 p_application_id => p_application_id
170029 ,p_event_id => l_event_id
170030 ,p_calculate_acctd_flag => l_calculate_acctd_flag
170031 ,p_calculate_g_l_flag => l_calculate_g_l_flag
170032 ,p_actual_flag => l_actual_flag
170033 ,p_balance_type_code => l_balance_type_code
170034 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
170035
170036 , p_source_58 => l_array_source_58(Idx)
170037 , p_source_60 => l_array_source_60(Idx)
170038 , p_source_63 => g_array_event(l_event_id).array_value_num('source_63')
170039 , p_source_70 => l_array_source_70(Idx)
170040 , p_source_71 => l_array_source_71(Idx)
170041 , p_source_72 => g_array_event(l_event_id).array_value_char('source_72')
170042 , p_source_73 => l_array_source_73(Idx)
170043 , p_source_74 => l_array_source_74(Idx)
170044 , p_source_75 => l_array_source_75(Idx)
170045 , p_source_76 => l_array_source_76(Idx)
170046 , p_source_77 => l_array_source_77(Idx)
170047 , p_source_82 => l_array_source_82(Idx)
170048 , p_source_83 => l_array_source_83(Idx)
170049 , p_source_84 => l_array_source_84(Idx)
170050 , p_source_85 => l_array_source_85(Idx)
170051 , p_source_85_meaning => l_array_source_85_meaning(Idx)
170052 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
170053 , p_source_91 => l_array_source_91(Idx)
170054 , p_source_92 => l_array_source_92(Idx)
170055 , p_source_93 => l_array_source_93(Idx)
170056 , p_source_94 => l_array_source_94(Idx)
170057 , p_source_95 => l_array_source_95(Idx)
170058 , p_source_96 => l_array_source_96(Idx)
170059 , p_source_97 => l_array_source_97(Idx)
170060 , p_source_98 => l_array_source_98(Idx)
170061 , p_source_130 => l_array_source_130(Idx)
170062 , p_source_135 => l_array_source_135(Idx)
170063 , p_source_136 => l_array_source_136(Idx)
170064 , p_source_137 => l_array_source_137(Idx)
170065 , p_source_139 => l_array_source_139(Idx)
170066 , p_source_140 => l_array_source_140(Idx)
170067 , p_source_140_meaning => l_array_source_140_meaning(Idx)
170068 , p_source_142 => l_array_source_142(Idx)
170069 , p_source_143 => l_array_source_143(Idx)
170070 , p_source_144 => l_array_source_144(Idx)
170071 );
170072 If(l_balance_type_code = 'A') THEN
170073 l_actual_gain_loss_ref := l_gain_or_loss_ref;
170074 END IF;
170075
170076 --
170077
170078
170079 --
170080 AcctLineType_112 (
170081 p_application_id => p_application_id
170082 ,p_event_id => l_event_id
170083 ,p_calculate_acctd_flag => l_calculate_acctd_flag
170084 ,p_calculate_g_l_flag => l_calculate_g_l_flag
170085 ,p_actual_flag => l_actual_flag
170086 ,p_balance_type_code => l_balance_type_code
170087 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
170088
170089 , p_source_48 => l_array_source_48(Idx)
170090 , p_source_58 => l_array_source_58(Idx)
170091 , p_source_60 => l_array_source_60(Idx)
170092 , p_source_63 => g_array_event(l_event_id).array_value_num('source_63')
170093 , p_source_70 => l_array_source_70(Idx)
170094 , p_source_71 => l_array_source_71(Idx)
170095 , p_source_72 => g_array_event(l_event_id).array_value_char('source_72')
170096 , p_source_73 => l_array_source_73(Idx)
170097 , p_source_74 => l_array_source_74(Idx)
170098 , p_source_75 => l_array_source_75(Idx)
170099 , p_source_76 => l_array_source_76(Idx)
170100 , p_source_77 => l_array_source_77(Idx)
170101 , p_source_82 => l_array_source_82(Idx)
170102 , p_source_83 => l_array_source_83(Idx)
170103 , p_source_84 => l_array_source_84(Idx)
170104 , p_source_85 => l_array_source_85(Idx)
170105 , p_source_85_meaning => l_array_source_85_meaning(Idx)
170106 , p_source_86 => g_array_event(l_event_id).array_value_num('source_86')
170107 , p_source_87 => g_array_event(l_event_id).array_value_num('source_87')
170108 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
170109 , p_source_91 => l_array_source_91(Idx)
170110 , p_source_92 => l_array_source_92(Idx)
170111 , p_source_93 => l_array_source_93(Idx)
170112 , p_source_94 => l_array_source_94(Idx)
170113 , p_source_95 => l_array_source_95(Idx)
170114 , p_source_96 => l_array_source_96(Idx)
170115 , p_source_130 => l_array_source_130(Idx)
170116 , p_source_135 => l_array_source_135(Idx)
170120 , p_source_140 => l_array_source_140(Idx)
170117 , p_source_136 => l_array_source_136(Idx)
170118 , p_source_137 => l_array_source_137(Idx)
170119 , p_source_139 => l_array_source_139(Idx)
170121 , p_source_140_meaning => l_array_source_140_meaning(Idx)
170122 , p_source_144 => l_array_source_144(Idx)
170123 , p_source_146 => g_array_event(l_event_id).array_value_date('source_146')
170124 , p_source_147 => g_array_event(l_event_id).array_value_num('source_147')
170125 , p_source_148 => g_array_event(l_event_id).array_value_char('source_148')
170126 , p_source_149 => l_array_source_149(Idx)
170127 , p_source_150 => l_array_source_150(Idx)
170128 , p_source_151 => l_array_source_151(Idx)
170129 , p_source_152 => l_array_source_152(Idx)
170130 );
170131 If(l_balance_type_code = 'A') THEN
170132 l_actual_gain_loss_ref := l_gain_or_loss_ref;
170133 END IF;
170134
170135 --
170136
170137
170138 --
170139 AcctLineType_120 (
170140 p_application_id => p_application_id
170141 ,p_event_id => l_event_id
170142 ,p_calculate_acctd_flag => l_calculate_acctd_flag
170143 ,p_calculate_g_l_flag => l_calculate_g_l_flag
170144 ,p_actual_flag => l_actual_flag
170145 ,p_balance_type_code => l_balance_type_code
170146 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
170147
170148 , p_source_10 => g_array_event(l_event_id).array_value_char('source_10')
170149 , p_source_10_meaning => g_array_event(l_event_id).array_value_char('source_10_meaning')
170150 , p_source_25 => l_array_source_25(Idx)
170151 , p_source_45 => g_array_event(l_event_id).array_value_num('source_45')
170152 , p_source_58 => l_array_source_58(Idx)
170153 , p_source_60 => l_array_source_60(Idx)
170154 , p_source_63 => g_array_event(l_event_id).array_value_num('source_63')
170155 , p_source_70 => l_array_source_70(Idx)
170156 , p_source_71 => l_array_source_71(Idx)
170157 , p_source_72 => g_array_event(l_event_id).array_value_char('source_72')
170158 , p_source_73 => l_array_source_73(Idx)
170159 , p_source_74 => l_array_source_74(Idx)
170160 , p_source_75 => l_array_source_75(Idx)
170161 , p_source_76 => l_array_source_76(Idx)
170162 , p_source_77 => l_array_source_77(Idx)
170163 , p_source_82 => l_array_source_82(Idx)
170164 , p_source_83 => l_array_source_83(Idx)
170165 , p_source_84 => l_array_source_84(Idx)
170166 , p_source_85 => l_array_source_85(Idx)
170167 , p_source_85_meaning => l_array_source_85_meaning(Idx)
170168 , p_source_86 => g_array_event(l_event_id).array_value_num('source_86')
170169 , p_source_87 => g_array_event(l_event_id).array_value_num('source_87')
170170 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
170171 , p_source_91 => l_array_source_91(Idx)
170172 , p_source_92 => l_array_source_92(Idx)
170173 , p_source_93 => l_array_source_93(Idx)
170174 , p_source_94 => l_array_source_94(Idx)
170175 , p_source_95 => l_array_source_95(Idx)
170176 , p_source_96 => l_array_source_96(Idx)
170177 , p_source_128 => l_array_source_128(Idx)
170178 , p_source_130 => l_array_source_130(Idx)
170179 , p_source_135 => l_array_source_135(Idx)
170180 , p_source_136 => l_array_source_136(Idx)
170181 , p_source_137 => l_array_source_137(Idx)
170182 , p_source_138 => l_array_source_138(Idx)
170183 , p_source_139 => l_array_source_139(Idx)
170184 , p_source_146 => g_array_event(l_event_id).array_value_date('source_146')
170185 , p_source_147 => g_array_event(l_event_id).array_value_num('source_147')
170186 , p_source_148 => g_array_event(l_event_id).array_value_char('source_148')
170187 , p_source_149 => l_array_source_149(Idx)
170188 , p_source_150 => l_array_source_150(Idx)
170189 , p_source_151 => l_array_source_151(Idx)
170190 , p_source_152 => l_array_source_152(Idx)
170191 );
170192 If(l_balance_type_code = 'A') THEN
170193 l_actual_gain_loss_ref := l_gain_or_loss_ref;
170194 END IF;
170195
170196 --
170197
170198
170199 --
170200 AcctLineType_124 (
170201 p_application_id => p_application_id
170202 ,p_event_id => l_event_id
170203 ,p_calculate_acctd_flag => l_calculate_acctd_flag
170204 ,p_calculate_g_l_flag => l_calculate_g_l_flag
170205 ,p_actual_flag => l_actual_flag
170206 ,p_balance_type_code => l_balance_type_code
170207 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
170208
170209 , p_source_10 => g_array_event(l_event_id).array_value_char('source_10')
170210 , p_source_10_meaning => g_array_event(l_event_id).array_value_char('source_10_meaning')
170211 , p_source_25 => l_array_source_25(Idx)
170212 , p_source_45 => g_array_event(l_event_id).array_value_num('source_45')
170213 , p_source_58 => l_array_source_58(Idx)
170214 , p_source_60 => l_array_source_60(Idx)
170215 , p_source_63 => g_array_event(l_event_id).array_value_num('source_63')
170216 , p_source_70 => l_array_source_70(Idx)
170217 , p_source_71 => l_array_source_71(Idx)
170218 , p_source_72 => g_array_event(l_event_id).array_value_char('source_72')
170219 , p_source_73 => l_array_source_73(Idx)
170220 , p_source_74 => l_array_source_74(Idx)
170221 , p_source_75 => l_array_source_75(Idx)
170222 , p_source_76 => l_array_source_76(Idx)
170223 , p_source_77 => l_array_source_77(Idx)
170224 , p_source_82 => l_array_source_82(Idx)
170225 , p_source_83 => l_array_source_83(Idx)
170226 , p_source_84 => l_array_source_84(Idx)
170227 , p_source_85 => l_array_source_85(Idx)
170228 , p_source_85_meaning => l_array_source_85_meaning(Idx)
170229 , p_source_86 => g_array_event(l_event_id).array_value_num('source_86')
170230 , p_source_87 => g_array_event(l_event_id).array_value_num('source_87')
170231 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
170232 , p_source_91 => l_array_source_91(Idx)
170233 , p_source_92 => l_array_source_92(Idx)
170234 , p_source_93 => l_array_source_93(Idx)
170235 , p_source_94 => l_array_source_94(Idx)
170236 , p_source_95 => l_array_source_95(Idx)
170237 , p_source_96 => l_array_source_96(Idx)
170238 , p_source_128 => l_array_source_128(Idx)
170239 , p_source_130 => l_array_source_130(Idx)
170240 , p_source_135 => l_array_source_135(Idx)
170244 , p_source_146 => g_array_event(l_event_id).array_value_date('source_146')
170241 , p_source_136 => l_array_source_136(Idx)
170242 , p_source_137 => l_array_source_137(Idx)
170243 , p_source_139 => l_array_source_139(Idx)
170245 , p_source_147 => g_array_event(l_event_id).array_value_num('source_147')
170246 , p_source_148 => g_array_event(l_event_id).array_value_char('source_148')
170247 , p_source_149 => l_array_source_149(Idx)
170248 , p_source_150 => l_array_source_150(Idx)
170249 , p_source_151 => l_array_source_151(Idx)
170250 , p_source_152 => l_array_source_152(Idx)
170251 , p_source_153 => l_array_source_153(Idx)
170252 );
170253 If(l_balance_type_code = 'A') THEN
170254 l_actual_gain_loss_ref := l_gain_or_loss_ref;
170255 END IF;
170256
170257 --
170258
170259
170260 --
170261 AcctLineType_137 (
170262 p_application_id => p_application_id
170263 ,p_event_id => l_event_id
170264 ,p_calculate_acctd_flag => l_calculate_acctd_flag
170265 ,p_calculate_g_l_flag => l_calculate_g_l_flag
170266 ,p_actual_flag => l_actual_flag
170267 ,p_balance_type_code => l_balance_type_code
170268 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
170269
170270 , p_source_10 => g_array_event(l_event_id).array_value_char('source_10')
170271 , p_source_10_meaning => g_array_event(l_event_id).array_value_char('source_10_meaning')
170272 , p_source_25 => l_array_source_25(Idx)
170273 , p_source_31 => l_array_source_31(Idx)
170274 , p_source_32 => g_array_event(l_event_id).array_value_num('source_32')
170275 , p_source_33 => l_array_source_33(Idx)
170276 , p_source_34 => g_array_event(l_event_id).array_value_num('source_34')
170277 , p_source_58 => l_array_source_58(Idx)
170278 , p_source_60 => l_array_source_60(Idx)
170279 , p_source_63 => g_array_event(l_event_id).array_value_num('source_63')
170280 , p_source_70 => l_array_source_70(Idx)
170281 , p_source_71 => l_array_source_71(Idx)
170282 , p_source_72 => g_array_event(l_event_id).array_value_char('source_72')
170283 , p_source_73 => l_array_source_73(Idx)
170284 , p_source_74 => l_array_source_74(Idx)
170285 , p_source_75 => l_array_source_75(Idx)
170286 , p_source_76 => l_array_source_76(Idx)
170287 , p_source_77 => l_array_source_77(Idx)
170288 , p_source_82 => l_array_source_82(Idx)
170289 , p_source_83 => l_array_source_83(Idx)
170290 , p_source_84 => l_array_source_84(Idx)
170291 , p_source_85 => l_array_source_85(Idx)
170292 , p_source_85_meaning => l_array_source_85_meaning(Idx)
170293 , p_source_86 => g_array_event(l_event_id).array_value_num('source_86')
170294 , p_source_87 => g_array_event(l_event_id).array_value_num('source_87')
170295 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
170296 , p_source_91 => l_array_source_91(Idx)
170297 , p_source_92 => l_array_source_92(Idx)
170298 , p_source_93 => l_array_source_93(Idx)
170299 , p_source_94 => l_array_source_94(Idx)
170300 , p_source_95 => l_array_source_95(Idx)
170301 , p_source_96 => l_array_source_96(Idx)
170302 , p_source_128 => l_array_source_128(Idx)
170303 , p_source_130 => l_array_source_130(Idx)
170304 , p_source_135 => l_array_source_135(Idx)
170305 , p_source_136 => l_array_source_136(Idx)
170306 , p_source_139 => l_array_source_139(Idx)
170307 , p_source_149 => l_array_source_149(Idx)
170308 , p_source_150 => l_array_source_150(Idx)
170309 , p_source_151 => l_array_source_151(Idx)
170310 , p_source_152 => l_array_source_152(Idx)
170311 , p_source_158 => l_array_source_158(Idx)
170312 );
170313 If(l_balance_type_code = 'A') THEN
170314 l_actual_gain_loss_ref := l_gain_or_loss_ref;
170315 END IF;
170316
170317 --
170318
170319
170320 --
170321 AcctLineType_143 (
170322 p_application_id => p_application_id
170323 ,p_event_id => l_event_id
170324 ,p_calculate_acctd_flag => l_calculate_acctd_flag
170325 ,p_calculate_g_l_flag => l_calculate_g_l_flag
170326 ,p_actual_flag => l_actual_flag
170327 ,p_balance_type_code => l_balance_type_code
170328 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
170329
170330 , p_source_10 => g_array_event(l_event_id).array_value_char('source_10')
170331 , p_source_10_meaning => g_array_event(l_event_id).array_value_char('source_10_meaning')
170332 , p_source_25 => l_array_source_25(Idx)
170333 , p_source_31 => l_array_source_31(Idx)
170334 , p_source_32 => g_array_event(l_event_id).array_value_num('source_32')
170335 , p_source_58 => l_array_source_58(Idx)
170336 , p_source_60 => l_array_source_60(Idx)
170337 , p_source_63 => g_array_event(l_event_id).array_value_num('source_63')
170338 , p_source_70 => l_array_source_70(Idx)
170339 , p_source_71 => l_array_source_71(Idx)
170340 , p_source_72 => g_array_event(l_event_id).array_value_char('source_72')
170341 , p_source_73 => l_array_source_73(Idx)
170342 , p_source_74 => l_array_source_74(Idx)
170343 , p_source_75 => l_array_source_75(Idx)
170344 , p_source_76 => l_array_source_76(Idx)
170345 , p_source_77 => l_array_source_77(Idx)
170346 , p_source_82 => l_array_source_82(Idx)
170347 , p_source_83 => l_array_source_83(Idx)
170348 , p_source_84 => l_array_source_84(Idx)
170349 , p_source_85 => l_array_source_85(Idx)
170350 , p_source_85_meaning => l_array_source_85_meaning(Idx)
170351 , p_source_86 => g_array_event(l_event_id).array_value_num('source_86')
170352 , p_source_87 => g_array_event(l_event_id).array_value_num('source_87')
170353 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
170354 , p_source_91 => l_array_source_91(Idx)
170355 , p_source_92 => l_array_source_92(Idx)
170356 , p_source_93 => l_array_source_93(Idx)
170357 , p_source_94 => l_array_source_94(Idx)
170358 , p_source_95 => l_array_source_95(Idx)
170359 , p_source_96 => l_array_source_96(Idx)
170360 , p_source_128 => l_array_source_128(Idx)
170361 , p_source_130 => l_array_source_130(Idx)
170362 , p_source_135 => l_array_source_135(Idx)
170363 , p_source_136 => l_array_source_136(Idx)
170364 , p_source_137 => l_array_source_137(Idx)
170365 , p_source_139 => l_array_source_139(Idx)
170369 , p_source_149 => l_array_source_149(Idx)
170366 , p_source_146 => g_array_event(l_event_id).array_value_date('source_146')
170367 , p_source_147 => g_array_event(l_event_id).array_value_num('source_147')
170368 , p_source_148 => g_array_event(l_event_id).array_value_char('source_148')
170370 , p_source_150 => l_array_source_150(Idx)
170371 , p_source_151 => l_array_source_151(Idx)
170372 , p_source_152 => l_array_source_152(Idx)
170373 , p_source_158 => l_array_source_158(Idx)
170374 , p_source_165 => l_array_source_165(Idx)
170375 );
170376 If(l_balance_type_code = 'A') THEN
170377 l_actual_gain_loss_ref := l_gain_or_loss_ref;
170378 END IF;
170379
170380 --
170381
170382
170383 --
170384 AcctLineType_170 (
170385 p_application_id => p_application_id
170386 ,p_event_id => l_event_id
170387 ,p_calculate_acctd_flag => l_calculate_acctd_flag
170388 ,p_calculate_g_l_flag => l_calculate_g_l_flag
170389 ,p_actual_flag => l_actual_flag
170390 ,p_balance_type_code => l_balance_type_code
170391 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
170392
170393 , p_source_58 => l_array_source_58(Idx)
170394 , p_source_60 => l_array_source_60(Idx)
170395 , p_source_63 => g_array_event(l_event_id).array_value_num('source_63')
170396 , p_source_70 => l_array_source_70(Idx)
170397 , p_source_71 => l_array_source_71(Idx)
170398 , p_source_72 => g_array_event(l_event_id).array_value_char('source_72')
170399 , p_source_73 => l_array_source_73(Idx)
170400 , p_source_74 => l_array_source_74(Idx)
170401 , p_source_75 => l_array_source_75(Idx)
170402 , p_source_76 => l_array_source_76(Idx)
170403 , p_source_77 => l_array_source_77(Idx)
170404 , p_source_82 => l_array_source_82(Idx)
170405 , p_source_83 => l_array_source_83(Idx)
170406 , p_source_84 => l_array_source_84(Idx)
170407 , p_source_85 => l_array_source_85(Idx)
170408 , p_source_85_meaning => l_array_source_85_meaning(Idx)
170409 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
170410 , p_source_91 => l_array_source_91(Idx)
170411 , p_source_92 => l_array_source_92(Idx)
170412 , p_source_93 => l_array_source_93(Idx)
170413 , p_source_94 => l_array_source_94(Idx)
170414 , p_source_95 => l_array_source_95(Idx)
170415 , p_source_96 => l_array_source_96(Idx)
170416 , p_source_128 => l_array_source_128(Idx)
170417 , p_source_130 => l_array_source_130(Idx)
170418 , p_source_135 => l_array_source_135(Idx)
170419 , p_source_136 => l_array_source_136(Idx)
170420 , p_source_137 => l_array_source_137(Idx)
170421 , p_source_139 => l_array_source_139(Idx)
170422 , p_source_142 => l_array_source_142(Idx)
170423 , p_source_143 => l_array_source_143(Idx)
170424 , p_source_144 => l_array_source_144(Idx)
170425 , p_source_149 => l_array_source_149(Idx)
170426 , p_source_150 => l_array_source_150(Idx)
170427 );
170428 If(l_balance_type_code = 'A') THEN
170429 l_actual_gain_loss_ref := l_gain_or_loss_ref;
170430 END IF;
170431
170432 --
170433
170434
170435 --
170436 AcctLineType_177 (
170437 p_application_id => p_application_id
170438 ,p_event_id => l_event_id
170439 ,p_calculate_acctd_flag => l_calculate_acctd_flag
170440 ,p_calculate_g_l_flag => l_calculate_g_l_flag
170441 ,p_actual_flag => l_actual_flag
170442 ,p_balance_type_code => l_balance_type_code
170443 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
170444
170445 , p_source_10 => g_array_event(l_event_id).array_value_char('source_10')
170446 , p_source_10_meaning => g_array_event(l_event_id).array_value_char('source_10_meaning')
170447 , p_source_25 => l_array_source_25(Idx)
170448 , p_source_33 => l_array_source_33(Idx)
170449 , p_source_34 => g_array_event(l_event_id).array_value_num('source_34')
170450 , p_source_58 => l_array_source_58(Idx)
170451 , p_source_60 => l_array_source_60(Idx)
170452 , p_source_63 => g_array_event(l_event_id).array_value_num('source_63')
170453 , p_source_70 => l_array_source_70(Idx)
170454 , p_source_71 => l_array_source_71(Idx)
170455 , p_source_72 => g_array_event(l_event_id).array_value_char('source_72')
170456 , p_source_73 => l_array_source_73(Idx)
170457 , p_source_74 => l_array_source_74(Idx)
170458 , p_source_75 => l_array_source_75(Idx)
170459 , p_source_76 => l_array_source_76(Idx)
170460 , p_source_77 => l_array_source_77(Idx)
170461 , p_source_82 => l_array_source_82(Idx)
170462 , p_source_83 => l_array_source_83(Idx)
170463 , p_source_84 => l_array_source_84(Idx)
170464 , p_source_85 => l_array_source_85(Idx)
170465 , p_source_85_meaning => l_array_source_85_meaning(Idx)
170466 , p_source_86 => g_array_event(l_event_id).array_value_num('source_86')
170467 , p_source_87 => g_array_event(l_event_id).array_value_num('source_87')
170468 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
170469 , p_source_91 => l_array_source_91(Idx)
170470 , p_source_92 => l_array_source_92(Idx)
170471 , p_source_93 => l_array_source_93(Idx)
170472 , p_source_94 => l_array_source_94(Idx)
170473 , p_source_95 => l_array_source_95(Idx)
170474 , p_source_96 => l_array_source_96(Idx)
170475 , p_source_128 => l_array_source_128(Idx)
170476 , p_source_130 => l_array_source_130(Idx)
170477 , p_source_135 => l_array_source_135(Idx)
170478 , p_source_136 => l_array_source_136(Idx)
170479 , p_source_137 => l_array_source_137(Idx)
170480 , p_source_139 => l_array_source_139(Idx)
170481 , p_source_146 => g_array_event(l_event_id).array_value_date('source_146')
170482 , p_source_147 => g_array_event(l_event_id).array_value_num('source_147')
170483 , p_source_148 => g_array_event(l_event_id).array_value_char('source_148')
170484 , p_source_149 => l_array_source_149(Idx)
170485 , p_source_150 => l_array_source_150(Idx)
170486 , p_source_151 => l_array_source_151(Idx)
170487 , p_source_152 => l_array_source_152(Idx)
170488 , p_source_158 => l_array_source_158(Idx)
170489 , p_source_165 => l_array_source_165(Idx)
170490 );
170491 If(l_balance_type_code = 'A') THEN
170492 l_actual_gain_loss_ref := l_gain_or_loss_ref;
170493 END IF;
170494
170495 --
170499 AcctLineType_195 (
170496
170497
170498 --
170500 p_application_id => p_application_id
170501 ,p_event_id => l_event_id
170502 ,p_calculate_acctd_flag => l_calculate_acctd_flag
170503 ,p_calculate_g_l_flag => l_calculate_g_l_flag
170504 ,p_actual_flag => l_actual_flag
170505 ,p_balance_type_code => l_balance_type_code
170506 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
170507
170508 , p_source_58 => l_array_source_58(Idx)
170509 , p_source_60 => l_array_source_60(Idx)
170510 , p_source_63 => g_array_event(l_event_id).array_value_num('source_63')
170511 , p_source_70 => l_array_source_70(Idx)
170512 , p_source_71 => l_array_source_71(Idx)
170513 , p_source_72 => g_array_event(l_event_id).array_value_char('source_72')
170514 , p_source_73 => l_array_source_73(Idx)
170515 , p_source_74 => l_array_source_74(Idx)
170516 , p_source_75 => l_array_source_75(Idx)
170517 , p_source_76 => l_array_source_76(Idx)
170518 , p_source_77 => l_array_source_77(Idx)
170519 , p_source_82 => l_array_source_82(Idx)
170520 , p_source_83 => l_array_source_83(Idx)
170521 , p_source_84 => l_array_source_84(Idx)
170522 , p_source_85 => l_array_source_85(Idx)
170523 , p_source_85_meaning => l_array_source_85_meaning(Idx)
170524 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
170525 , p_source_91 => l_array_source_91(Idx)
170526 , p_source_92 => l_array_source_92(Idx)
170527 , p_source_93 => l_array_source_93(Idx)
170528 , p_source_94 => l_array_source_94(Idx)
170529 , p_source_95 => l_array_source_95(Idx)
170530 , p_source_96 => l_array_source_96(Idx)
170531 , p_source_128 => l_array_source_128(Idx)
170532 , p_source_129 => l_array_source_129(Idx)
170533 , p_source_129_meaning => l_array_source_129_meaning(Idx)
170534 , p_source_130 => l_array_source_130(Idx)
170535 , p_source_135 => l_array_source_135(Idx)
170536 , p_source_136 => l_array_source_136(Idx)
170537 , p_source_137 => l_array_source_137(Idx)
170538 , p_source_138 => l_array_source_138(Idx)
170539 , p_source_139 => l_array_source_139(Idx)
170540 , p_source_149 => l_array_source_149(Idx)
170541 , p_source_150 => l_array_source_150(Idx)
170542 , p_source_151 => l_array_source_151(Idx)
170543 , p_source_152 => l_array_source_152(Idx)
170544 );
170545 If(l_balance_type_code = 'A') THEN
170546 l_actual_gain_loss_ref := l_gain_or_loss_ref;
170547 END IF;
170548
170549 --
170550
170551
170552 --
170553 AcctLineType_220 (
170554 p_application_id => p_application_id
170555 ,p_event_id => l_event_id
170556 ,p_calculate_acctd_flag => l_calculate_acctd_flag
170557 ,p_calculate_g_l_flag => l_calculate_g_l_flag
170558 ,p_actual_flag => l_actual_flag
170559 ,p_balance_type_code => l_balance_type_code
170560 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
170561
170562 , p_source_10 => g_array_event(l_event_id).array_value_char('source_10')
170563 , p_source_10_meaning => g_array_event(l_event_id).array_value_char('source_10_meaning')
170564 , p_source_25 => l_array_source_25(Idx)
170565 , p_source_36 => g_array_event(l_event_id).array_value_num('source_36')
170566 , p_source_58 => l_array_source_58(Idx)
170567 , p_source_60 => l_array_source_60(Idx)
170568 , p_source_63 => g_array_event(l_event_id).array_value_num('source_63')
170569 , p_source_70 => l_array_source_70(Idx)
170570 , p_source_71 => l_array_source_71(Idx)
170571 , p_source_72 => g_array_event(l_event_id).array_value_char('source_72')
170572 , p_source_73 => l_array_source_73(Idx)
170573 , p_source_74 => l_array_source_74(Idx)
170574 , p_source_75 => l_array_source_75(Idx)
170575 , p_source_76 => l_array_source_76(Idx)
170576 , p_source_77 => l_array_source_77(Idx)
170577 , p_source_82 => l_array_source_82(Idx)
170578 , p_source_83 => l_array_source_83(Idx)
170579 , p_source_84 => l_array_source_84(Idx)
170580 , p_source_85 => l_array_source_85(Idx)
170581 , p_source_85_meaning => l_array_source_85_meaning(Idx)
170582 , p_source_86 => g_array_event(l_event_id).array_value_num('source_86')
170583 , p_source_87 => g_array_event(l_event_id).array_value_num('source_87')
170584 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
170585 , p_source_91 => l_array_source_91(Idx)
170586 , p_source_92 => l_array_source_92(Idx)
170587 , p_source_93 => l_array_source_93(Idx)
170588 , p_source_94 => l_array_source_94(Idx)
170589 , p_source_95 => l_array_source_95(Idx)
170590 , p_source_96 => l_array_source_96(Idx)
170591 , p_source_128 => l_array_source_128(Idx)
170592 , p_source_130 => l_array_source_130(Idx)
170593 , p_source_135 => l_array_source_135(Idx)
170594 , p_source_136 => l_array_source_136(Idx)
170595 , p_source_137 => l_array_source_137(Idx)
170596 , p_source_139 => l_array_source_139(Idx)
170597 , p_source_144 => l_array_source_144(Idx)
170598 , p_source_146 => g_array_event(l_event_id).array_value_date('source_146')
170599 , p_source_147 => g_array_event(l_event_id).array_value_num('source_147')
170600 , p_source_148 => g_array_event(l_event_id).array_value_char('source_148')
170601 , p_source_149 => l_array_source_149(Idx)
170602 , p_source_150 => l_array_source_150(Idx)
170603 , p_source_151 => l_array_source_151(Idx)
170604 , p_source_152 => l_array_source_152(Idx)
170605 );
170606 If(l_balance_type_code = 'A') THEN
170607 l_actual_gain_loss_ref := l_gain_or_loss_ref;
170608 END IF;
170609
170610 --
170611
170612 -- only execute it if calculate g/l flag is yes, and primary or secondary ledger
170613 -- or secondary ledger that has different currency with primary
170614 -- or alc that is calculated by sla
170615 IF (((l_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
170616 (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'))
170617
170618 -- IF((l_calculate_g_l_flag='Y' or XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id <>
170622 p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
170619 -- XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id)
170620 AND (l_actual_flag = 'A')) THEN
170621 XLA_AE_LINES_PKG.CreateGainOrLossLines(
170623 ,p_application_id => p_application_id
170624 ,p_amb_context_code => 'DEFAULT'
170625 ,p_entity_code => xla_ae_journal_entry_pkg.g_cache_event.entity_code
170626 ,p_event_class_code => C_EVENT_CLASS_CODE
170627 ,p_event_type_code => C_EVENT_TYPE_CODE
170628
170629 ,p_gain_ccid => -1
170630 ,p_loss_ccid => -1
170631
170632 ,p_actual_flag => l_actual_flag
170633 ,p_enc_flag => null
170634 ,p_actual_g_l_ref => l_actual_gain_loss_ref
170635 ,p_enc_g_l_ref => null
170636 );
170637 END IF;
170638 END IF;
170639 END IF;
170640
170641 ELSE
170642 --
170643 -- Bug 4872078 - Do nothing if the event is meant for transaction reversal
170644 --
170645 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
170646 trace
170647 (p_msg => 'Trancaction revesal option is Y'
170648 ,p_level => C_LEVEL_STATEMENT
170649 ,p_module => l_log_module);
170650 END IF;
170651 END IF;
170652
170653 END LOOP;
170654 l_result := XLA_AE_LINES_PKG.InsertLines ;
170655 end loop;
170656 close line_cur;
170657
170658
170659 --
170660 -- insert headers into xla_ae_headers_gt table
170661 --
170662 l_result := XLA_AE_HEADER_PKG.InsertHeaders ;
170663
170664 -- insert into errors table here.
170665
170666 END LOOP;
170667
170668 --
170669 -- 4865292
170670 --
170671 -- Compare g_hdr_extract_count with event count in
170672 -- CreateHeadersAndLines.
170673 --
170674 g_hdr_extract_count := g_hdr_extract_count + header_cur%ROWCOUNT;
170675
170676 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
170677 trace (p_msg => '# rows extracted from header extract objects '
170678 || ' (running total): '
170679 || g_hdr_extract_count
170680 ,p_level => C_LEVEL_STATEMENT
170681 ,p_module => l_log_module);
170682 END IF;
170683
170684 CLOSE header_cur;
170685 --
170686
170687 --
170688 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
170689 trace
170690 (p_msg => 'END of EventClass_253'
170691 ,p_level => C_LEVEL_PROCEDURE
170692 ,p_module => l_log_module);
170693 END IF;
170694 --
170695 RETURN l_result;
170696 EXCEPTION
170697 WHEN xla_exceptions_pkg.application_exception THEN
170698
170699 IF header_cur%ISOPEN THEN CLOSE header_cur; END IF;
170700
170701
170702 IF line_cur%ISOPEN THEN CLOSE line_cur; END IF;
170703
170704 RAISE;
170705
170706 WHEN NO_DATA_FOUND THEN
170707
170708 IF header_cur%ISOPEN THEN CLOSE header_cur; END IF;
170709 IF line_cur%ISOPEN THEN CLOSE line_cur; END IF;
170710
170711 FOR header_record IN header_cur
170712 LOOP
170713 l_array_header_events(header_record.event_id) := header_record.event_id;
170714 END LOOP;
170715
170716 l_first_event_id := l_array_header_events(l_array_header_events.FIRST);
170717 l_last_event_id := l_array_header_events(l_array_header_events.LAST);
170718
170719 fnd_file.put_line(fnd_file.LOG, ' ');
170720 fnd_file.put_line(fnd_file.LOG, '***************************************************************************');
170721 fnd_file.put_line(fnd_file.LOG, 'EVENT CLASS CODE = ' || C_EVENT_CLASS_CODE );
170722 fnd_file.put_line(fnd_file.LOG, 'The following events are present in the line extract but MISSING in the header extract: ');
170723
170724 FOR line_record IN line_cur(l_first_event_id, l_last_event_id)
170725 LOOP
170726 IF (NOT l_array_header_events.EXISTS(line_record.event_id)) AND (NOT l_array_duplicate_checker.EXISTS(line_record.event_id)) THEN
170727 fnd_file.put_line(fnd_file.log, 'Event_id = ' || line_record.event_id);
170728 l_array_duplicate_checker(line_record.event_id) := line_record.event_id;
170729 END IF;
170730 END LOOP;
170731
170732 fnd_file.put_line(fnd_file.LOG, '***************************************************************************');
170733 fnd_file.put_line(fnd_file.LOG, ' ');
170734
170735
170736 xla_exceptions_pkg.raise_message
170737 (p_location => 'XLA_00200_AAD_S_000012_PKG.EventClass_253');
170738
170739
170740 WHEN OTHERS THEN
170741 xla_exceptions_pkg.raise_message
170742 (p_location => 'XLA_00200_AAD_S_000012_PKG.EventClass_253');
170743 END EventClass_253;
170744 --
170745
170746 ---------------------------------------
170747 --
170748 -- PRIVATE PROCEDURE
170749 -- insert_sources_254
170750 --
170751 ----------------------------------------
170752 --
170753 PROCEDURE insert_sources_254(
170754 p_target_ledger_id IN NUMBER
170755 , p_language IN VARCHAR2
170756 , p_sla_ledger_id IN NUMBER
170757 , p_pad_start_date IN DATE
170758 , p_pad_end_date IN DATE
170759 )
170760 IS
170761
170762 C_EVENT_TYPE_CODE CONSTANT VARCHAR2(30) := 'PREPAYMENTS_ALL';
170763 C_EVENT_CLASS_CODE CONSTANT VARCHAR2(30) := 'PREPAYMENTS';
170764 p_apps_owner VARCHAR2(30);
170765 l_log_module VARCHAR2(240);
170766 BEGIN
170767 IF g_log_enabled THEN
170768 l_log_module := C_DEFAULT_MODULE||'.insert_sources_254';
170769 END IF;
170770 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
170771
170772 trace
170773 (p_msg => 'BEGIN of insert_sources_254'
170777 END IF;
170774 ,p_level => C_LEVEL_PROCEDURE
170775 ,p_module => l_log_module);
170776
170778
170779 -- select APPS owner
170780 SELECT oracle_username
170781 INTO p_apps_owner
170782 FROM fnd_oracle_userid
170783 WHERE read_only_flag = 'U'
170784 ;
170785
170786 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
170787 trace
170788 (p_msg => 'p_target_ledger_id = '||p_target_ledger_id||
170789 ' - p_language = '||p_language||
170790 ' - p_sla_ledger_id = '||p_sla_ledger_id ||
170791 ' - p_pad_start_date = '||TO_CHAR(p_pad_start_date)||
170792 ' - p_pad_end_date = '||TO_CHAR(p_pad_end_date)||
170793 ' - p_apps_owner = '||TO_CHAR(p_apps_owner)
170794 ,p_level => C_LEVEL_STATEMENT
170795 ,p_module => l_log_module);
170796 END IF;
170797
170798
170799 --
170800 INSERT INTO xla_diag_sources --hdr2
170801 (
170802 event_id
170803 , ledger_id
170804 , sla_ledger_id
170805 , description_language
170806 , object_name
170807 , object_type_code
170808 , line_number
170809 , source_application_id
170810 , source_type_code
170811 , source_code
170812 , source_value
170813 , source_meaning
170814 , created_by
170815 , creation_date
170816 , last_update_date
170817 , last_updated_by
170818 , last_update_login
170819 , program_update_date
170820 , program_application_id
170821 , program_id
170822 , request_id
170823 )
170824 SELECT
170825 event_id
170826 , p_target_ledger_id
170827 , p_sla_ledger_id
170828 , p_language
170829 , object_name
170830 , object_type_code
170831 , line_number
170832 , source_application_id
170833 , source_type_code
170834 , source_code
170835 , SUBSTR(source_value ,1,1996)
170836 , SUBSTR(source_meaning ,1,200)
170837 , xla_environment_pkg.g_Usr_Id
170838 , TRUNC(SYSDATE)
170839 , TRUNC(SYSDATE)
170840 , xla_environment_pkg.g_Usr_Id
170841 , xla_environment_pkg.g_Login_Id
170842 , TRUNC(SYSDATE)
170843 , xla_environment_pkg.g_Prog_Appl_Id
170844 , xla_environment_pkg.g_Prog_Id
170845 , xla_environment_pkg.g_Req_Id
170846 FROM (
170847 SELECT xet.event_id event_id
170848 , 0 line_number
170849 , CASE r
170850 WHEN 1 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
170851 WHEN 2 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
170852 WHEN 3 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
170853 WHEN 4 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
170854 WHEN 5 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
170855 WHEN 6 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
170856 WHEN 7 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
170857 WHEN 8 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
170858 WHEN 9 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
170859 WHEN 10 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
170860 WHEN 11 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
170861 WHEN 12 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
170862 WHEN 13 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
170863 WHEN 14 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
170864 WHEN 15 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
170865 WHEN 16 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
170866 WHEN 17 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
170867
170868 ELSE null
170869 END object_name
170870 , CASE r
170871 WHEN 1 THEN 'HEADER'
170872 WHEN 2 THEN 'HEADER'
170873 WHEN 3 THEN 'HEADER'
170874 WHEN 4 THEN 'HEADER'
170875 WHEN 5 THEN 'HEADER'
170876 WHEN 6 THEN 'HEADER'
170877 WHEN 7 THEN 'HEADER'
170878 WHEN 8 THEN 'HEADER'
170879 WHEN 9 THEN 'HEADER'
170880 WHEN 10 THEN 'HEADER'
170881 WHEN 11 THEN 'HEADER'
170882 WHEN 12 THEN 'HEADER'
170883 WHEN 13 THEN 'HEADER'
170884 WHEN 14 THEN 'HEADER'
170885 WHEN 15 THEN 'HEADER'
170886 WHEN 16 THEN 'HEADER'
170887 WHEN 17 THEN 'HEADER'
170888
170889 ELSE null
170890 END object_type_code
170891 , CASE r
170892 WHEN 1 THEN '200'
170893 WHEN 2 THEN '200'
170894 WHEN 3 THEN '200'
170895 WHEN 4 THEN '200'
170896 WHEN 5 THEN '200'
170897 WHEN 6 THEN '200'
170898 WHEN 7 THEN '200'
170899 WHEN 8 THEN '200'
170900 WHEN 9 THEN '200'
170901 WHEN 10 THEN '200'
170902 WHEN 11 THEN '200'
170903 WHEN 12 THEN '200'
170904 WHEN 13 THEN '200'
170905 WHEN 14 THEN '200'
170906 WHEN 15 THEN '200'
170907 WHEN 16 THEN '200'
170908 WHEN 17 THEN '200'
170909
170910 ELSE null
170911 END source_application_id
170912 , 'S' source_type_code
170913 , CASE r
170914 WHEN 1 THEN 'ASP_AUTOMATIC_OFFSETS_VALUE'
170915 WHEN 2 THEN 'ASP_RATE_VAR_GAIN_CCID'
170916 WHEN 3 THEN 'ASP_RATE_VAR_LOSS_CCID'
170917 WHEN 4 THEN 'ASP_BUILD_PREPAY_ACCOUNTS_FLAG'
170921 WHEN 8 THEN 'AI_INVOICE_CURRENCY_CODE'
170918 WHEN 5 THEN 'AI_ACCTS_PAY_CCID'
170919 WHEN 6 THEN 'ASP_AUTO_OFFSET_FLAG'
170920 WHEN 7 THEN 'AI_INVOICE_ID'
170922 WHEN 9 THEN 'AI_VENDOR_ID'
170923 WHEN 10 THEN 'AI_VENDOR_SITE_ID'
170924 WHEN 11 THEN 'THIRD_PARTY_TYPE'
170925 WHEN 12 THEN 'INV_EXCHANGE_DATE'
170926 WHEN 13 THEN 'INV_EXCHANGE_RATE'
170927 WHEN 14 THEN 'INV_EXCHANGE_RATE_TYPE'
170928 WHEN 15 THEN 'INV_DOC_SEQUENCE_CATEGORY'
170929 WHEN 16 THEN 'INV_DOC_SEQUENCE_IDENTIFIER'
170930 WHEN 17 THEN 'INV_DOC_SEQUENCE_VALUE'
170931
170932 ELSE null
170933 END source_code
170934 , CASE r
170935 WHEN 1 THEN TO_CHAR(h4.ASP_AUTOMATIC_OFFSETS_VALUE)
170936 WHEN 2 THEN TO_CHAR(h4.ASP_RATE_VAR_GAIN_CCID)
170937 WHEN 3 THEN TO_CHAR(h4.ASP_RATE_VAR_LOSS_CCID)
170938 WHEN 4 THEN TO_CHAR(h4.ASP_BUILD_PREPAY_ACCOUNTS_FLAG)
170939 WHEN 5 THEN TO_CHAR(h2.AI_ACCTS_PAY_CCID)
170940 WHEN 6 THEN TO_CHAR(h4.ASP_AUTO_OFFSET_FLAG)
170941 WHEN 7 THEN TO_CHAR(h2.AI_INVOICE_ID)
170942 WHEN 8 THEN TO_CHAR(h2.AI_INVOICE_CURRENCY_CODE)
170943 WHEN 9 THEN TO_CHAR(h2.AI_VENDOR_ID)
170944 WHEN 10 THEN TO_CHAR(h2.AI_VENDOR_SITE_ID)
170945 WHEN 11 THEN TO_CHAR(h2.THIRD_PARTY_TYPE)
170946 WHEN 12 THEN TO_CHAR(h2.INV_EXCHANGE_DATE)
170947 WHEN 13 THEN TO_CHAR(h2.INV_EXCHANGE_RATE)
170948 WHEN 14 THEN TO_CHAR(h2.INV_EXCHANGE_RATE_TYPE)
170949 WHEN 15 THEN TO_CHAR(h2.INV_DOC_SEQUENCE_CATEGORY)
170950 WHEN 16 THEN TO_CHAR(h2.INV_DOC_SEQUENCE_IDENTIFIER)
170951 WHEN 17 THEN TO_CHAR(h2.INV_DOC_SEQUENCE_VALUE)
170952
170953 ELSE null
170954 END source_value
170955 , CASE r
170956 WHEN 1 THEN fvl10.meaning
170957 WHEN 4 THEN fvl26.meaning
170958 WHEN 6 THEN fvl43.meaning
170959
170960 ELSE null
170961 END source_meaning
170962 FROM xla_events_gt xet
170963 , AP_INVOICE_EXTRACT_HEADER_V h2
170964 , AP_SYSTEM_PARAMETERS_EXTRACT_V h4
170965 , fnd_lookup_values fvl10
170966 , fnd_lookup_values fvl26
170967 , fnd_lookup_values fvl43
170968 ,(select rownum r from all_objects where rownum <= 17 and owner = p_apps_owner)
170969 WHERE xet.event_date between p_pad_start_date AND p_pad_end_date
170970 AND xet.event_class_code = C_EVENT_CLASS_CODE
170971 AND h2.event_id = xet.event_id
170972 AND h4.asp_org_id = h2.ai_org_id AND fvl10.lookup_type(+) = 'LIABILITY FLEXBUILD METHOD'
170973 AND fvl10.lookup_code(+) = h4.ASP_AUTOMATIC_OFFSETS_VALUE
170974 AND fvl10.view_application_id(+) = 200
170975 AND fvl10.language(+) = USERENV('LANG')
170976 AND fvl26.lookup_type(+) = 'YES_NO'
170977 AND fvl26.lookup_code(+) = h4.ASP_BUILD_PREPAY_ACCOUNTS_FLAG
170978 AND fvl26.view_application_id(+) = 0
170979 AND fvl26.language(+) = USERENV('LANG')
170980 AND fvl43.lookup_type(+) = 'YES_NO'
170981 AND fvl43.lookup_code(+) = h4.ASP_AUTO_OFFSET_FLAG
170982 AND fvl43.view_application_id(+) = 0
170983 AND fvl43.language(+) = USERENV('LANG')
170984
170985 )
170986 ;
170987 --
170988 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
170989
170990 trace
170991 (p_msg => 'number of header sources inserted = '||SQL%ROWCOUNT
170992 ,p_level => C_LEVEL_STATEMENT
170993 ,p_module => l_log_module);
170994
170995 END IF;
170996 --
170997
170998
170999
171000 --
171001 INSERT INTO xla_diag_sources --line2
171002 (
171003 event_id
171004 , ledger_id
171005 , sla_ledger_id
171006 , description_language
171007 , object_name
171008 , object_type_code
171009 , line_number
171010 , source_application_id
171011 , source_type_code
171012 , source_code
171013 , source_value
171014 , source_meaning
171015 , created_by
171016 , creation_date
171017 , last_update_date
171018 , last_updated_by
171019 , last_update_login
171020 , program_update_date
171021 , program_application_id
171022 , program_id
171023 , request_id
171024 )
171025 SELECT event_id
171026 , p_target_ledger_id
171027 , p_sla_ledger_id
171028 , p_language
171029 , object_name
171030 , object_type_code
171031 , line_number
171032 , source_application_id
171033 , source_type_code
171034 , source_code
171035 , SUBSTR(source_value,1,1996)
171036 , SUBSTR(source_meaning ,1,200)
171037 , xla_environment_pkg.g_Usr_Id
171038 , TRUNC(SYSDATE)
171039 , TRUNC(SYSDATE)
171040 , xla_environment_pkg.g_Usr_Id
171041 , xla_environment_pkg.g_Login_Id
171042 , TRUNC(SYSDATE)
171043 , xla_environment_pkg.g_Prog_Appl_Id
171044 , xla_environment_pkg.g_Prog_Id
171045 , xla_environment_pkg.g_Req_Id
171046 FROM (
171047 SELECT xet.event_id event_id
171048 , l1.line_number line_number
171049 , CASE r
171050 WHEN 1 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
171051 WHEN 2 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
171052 WHEN 3 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
171053 WHEN 4 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
171057 WHEN 8 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
171054 WHEN 5 THEN 'AP_PO_HEADERS_EXTRACT_V'
171055 WHEN 6 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
171056 WHEN 7 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
171058 WHEN 9 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
171059 WHEN 10 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
171060 WHEN 11 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
171061 WHEN 12 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
171062 WHEN 13 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
171063 WHEN 14 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
171064 WHEN 15 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
171065 WHEN 16 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
171066 WHEN 17 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
171067 WHEN 18 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
171068 WHEN 19 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
171069 WHEN 20 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
171070 WHEN 21 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
171071 WHEN 22 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
171072 WHEN 23 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
171073 WHEN 24 THEN 'AP_PO_HEADERS_EXTRACT_V'
171074 WHEN 25 THEN 'AP_PO_HEADERS_EXTRACT_V'
171075 WHEN 26 THEN 'AP_PO_HEADERS_EXTRACT_V'
171076 WHEN 27 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
171077 WHEN 28 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
171078 WHEN 29 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
171079 WHEN 30 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
171080 WHEN 31 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
171081 WHEN 32 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
171082 WHEN 33 THEN 'ZX_AP_DEF_TAX_EXTRACT_V'
171083 WHEN 34 THEN 'ZX_AP_TAX_JRNL_LINE_DESC_V'
171084 WHEN 35 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
171085 WHEN 36 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
171086 WHEN 37 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
171087 WHEN 38 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
171088 WHEN 39 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
171089 WHEN 40 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
171090 WHEN 41 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
171091 WHEN 42 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
171092 WHEN 43 THEN 'ZX_AP_DEF_TAX_EXTRACT_V'
171093 WHEN 44 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
171094
171095 ELSE null
171096 END object_name
171097 , CASE r
171098 WHEN 1 THEN 'LINE'
171099 WHEN 2 THEN 'LINE'
171100 WHEN 3 THEN 'LINE'
171101 WHEN 4 THEN 'LINE'
171102 WHEN 5 THEN 'LINE'
171103 WHEN 6 THEN 'LINE'
171104 WHEN 7 THEN 'LINE'
171105 WHEN 8 THEN 'LINE'
171106 WHEN 9 THEN 'LINE'
171107 WHEN 10 THEN 'LINE'
171108 WHEN 11 THEN 'LINE'
171109 WHEN 12 THEN 'LINE'
171110 WHEN 13 THEN 'LINE'
171111 WHEN 14 THEN 'LINE'
171112 WHEN 15 THEN 'LINE'
171113 WHEN 16 THEN 'LINE'
171114 WHEN 17 THEN 'LINE'
171115 WHEN 18 THEN 'LINE'
171116 WHEN 19 THEN 'LINE'
171117 WHEN 20 THEN 'LINE'
171118 WHEN 21 THEN 'LINE'
171119 WHEN 22 THEN 'LINE'
171120 WHEN 23 THEN 'LINE'
171121 WHEN 24 THEN 'LINE'
171122 WHEN 25 THEN 'LINE'
171123 WHEN 26 THEN 'LINE'
171124 WHEN 27 THEN 'LINE'
171125 WHEN 28 THEN 'LINE'
171126 WHEN 29 THEN 'LINE'
171127 WHEN 30 THEN 'LINE'
171128 WHEN 31 THEN 'LINE'
171129 WHEN 32 THEN 'LINE'
171130 WHEN 33 THEN 'LINE'
171131 WHEN 34 THEN 'LINE'
171132 WHEN 35 THEN 'LINE'
171133 WHEN 36 THEN 'LINE'
171134 WHEN 37 THEN 'LINE'
171135 WHEN 38 THEN 'LINE'
171136 WHEN 39 THEN 'LINE'
171137 WHEN 40 THEN 'LINE'
171138 WHEN 41 THEN 'LINE'
171139 WHEN 42 THEN 'LINE'
171140 WHEN 43 THEN 'LINE'
171141 WHEN 44 THEN 'LINE'
171142
171143 ELSE null
171144 END object_type_code
171145 , CASE r
171146 WHEN 1 THEN '200'
171147 WHEN 2 THEN '200'
171148 WHEN 3 THEN '200'
171149 WHEN 4 THEN '200'
171150 WHEN 5 THEN '200'
171151 WHEN 6 THEN '200'
171152 WHEN 7 THEN '200'
171153 WHEN 8 THEN '200'
171154 WHEN 9 THEN '200'
171155 WHEN 10 THEN '200'
171156 WHEN 11 THEN '200'
171157 WHEN 12 THEN '200'
171158 WHEN 13 THEN '200'
171159 WHEN 14 THEN '200'
171160 WHEN 15 THEN '200'
171161 WHEN 16 THEN '200'
171162 WHEN 17 THEN '200'
171163 WHEN 18 THEN '200'
171164 WHEN 19 THEN '200'
171165 WHEN 20 THEN '200'
171166 WHEN 21 THEN '200'
171167 WHEN 22 THEN '200'
171168 WHEN 23 THEN '200'
171169 WHEN 24 THEN '200'
171170 WHEN 25 THEN '200'
171171 WHEN 26 THEN '200'
171172 WHEN 27 THEN '200'
171173 WHEN 28 THEN '200'
171174 WHEN 29 THEN '200'
171175 WHEN 30 THEN '200'
171179 WHEN 34 THEN '200'
171176 WHEN 31 THEN '200'
171177 WHEN 32 THEN '200'
171178 WHEN 33 THEN '200'
171180 WHEN 35 THEN '200'
171181 WHEN 36 THEN '200'
171182 WHEN 37 THEN '200'
171183 WHEN 38 THEN '200'
171184 WHEN 39 THEN '200'
171185 WHEN 40 THEN '200'
171186 WHEN 41 THEN '200'
171187 WHEN 42 THEN '200'
171188 WHEN 43 THEN '200'
171189 WHEN 44 THEN '200'
171190
171191 ELSE null
171192 END source_application_id
171193 , 'S' source_type_code
171194 , CASE r
171195 WHEN 1 THEN 'AID_DESCRIPTION'
171196 WHEN 2 THEN 'INV_DIST_BASE_AMOUNT'
171197 WHEN 3 THEN 'RELATED_INV_DIST_DEST_TYPE'
171198 WHEN 4 THEN 'AID_DIST_CCID'
171199 WHEN 5 THEN 'PO_NUMBER'
171200 WHEN 6 THEN 'AID_LINE_TYPE_LOOKUP_CODE'
171201 WHEN 7 THEN 'AWT_RELATED_DIST_ACCOUNT'
171202 WHEN 8 THEN 'POD_CCID'
171203 WHEN 9 THEN 'SELF_ASSESSED_TAX_ACCOUNT'
171204 WHEN 10 THEN 'ASAT_LIAB_CCID'
171205 WHEN 11 THEN 'POD_ACCRUE_ON_RECEIPT_FLAG'
171206 WHEN 12 THEN 'DIST_ACCOUNT_REVERSAL_OPTION'
171207 WHEN 13 THEN 'DISTRIBUTION_LINK_TYPE'
171208 WHEN 14 THEN 'ALLOC_TO_MAIN_DIST_ID'
171209 WHEN 15 THEN 'AID_INVOICE_DIST_ID'
171210 WHEN 16 THEN 'UPG_ENC_CR_CCID'
171211 WHEN 17 THEN 'UPG_ENC_CR_AMT'
171212 WHEN 18 THEN 'UPG_ENC_CR_BASE_AMT'
171213 WHEN 19 THEN 'UPG_ENC_DR_CCID'
171214 WHEN 20 THEN 'UPG_ENC_DR_AMT'
171215 WHEN 21 THEN 'UPG_ENC_DR_BASE_AMT'
171216 WHEN 22 THEN 'UPG_AP_ENCUM_OPTION'
171217 WHEN 23 THEN 'AID_AMOUNT'
171218 WHEN 24 THEN 'POH_RATE_DATE'
171219 WHEN 25 THEN 'POH_RATE'
171220 WHEN 26 THEN 'POH_RATE_TYPE'
171221 WHEN 27 THEN 'DEFERRED_END_DATE'
171222 WHEN 28 THEN 'DEFERRED_OPTION'
171223 WHEN 29 THEN 'DEFERRED_START_DATE'
171224 WHEN 30 THEN 'OVERRIDE_ACCTD_AMT_FLAG'
171225 WHEN 31 THEN 'AID_PARENT_REVERSAL_ID'
171226 WHEN 32 THEN 'AID_STAT_AMOUNT'
171227 WHEN 33 THEN 'TAX_LINE_ID'
171228 WHEN 34 THEN 'REC_NREC_TAX_DIST_ID'
171229 WHEN 35 THEN 'SUMMARY_TAX_LINE_ID'
171230 WHEN 36 THEN 'UPG_CR_ENC_TYPE_ID'
171231 WHEN 37 THEN 'UPG_DR_ENC_TYPE_ID'
171232 WHEN 38 THEN 'BUS_FLOW_AP_APP_ID'
171233 WHEN 39 THEN 'BUS_FLOW_INV_DIST_TYPE'
171234 WHEN 40 THEN 'BUS_FLOW_INV_ENTITY_CODE'
171235 WHEN 41 THEN 'BUS_FLOW_INV_DIST_ID'
171236 WHEN 42 THEN 'BUS_FLOW_INV_ID'
171237 WHEN 43 THEN 'DEF_REC_SETTLEMENT_OPTION_CODE'
171238 WHEN 44 THEN 'SELF_ASSESSED_TAX_FLAG'
171239
171240 ELSE null
171241 END source_code
171242 , CASE r
171243 WHEN 1 THEN TO_CHAR(l1.AID_DESCRIPTION)
171244 WHEN 2 THEN TO_CHAR(l1.INV_DIST_BASE_AMOUNT)
171245 WHEN 3 THEN TO_CHAR(l1.RELATED_INV_DIST_DEST_TYPE)
171246 WHEN 4 THEN TO_CHAR(l1.AID_DIST_CCID)
171247 WHEN 5 THEN TO_CHAR(l3.PO_NUMBER)
171248 WHEN 6 THEN TO_CHAR(l1.AID_LINE_TYPE_LOOKUP_CODE)
171249 WHEN 7 THEN TO_CHAR(l1.AWT_RELATED_DIST_ACCOUNT)
171250 WHEN 8 THEN TO_CHAR(l1.POD_CCID)
171251 WHEN 9 THEN TO_CHAR(l1.SELF_ASSESSED_TAX_ACCOUNT)
171252 WHEN 10 THEN TO_CHAR(l1.ASAT_LIAB_CCID)
171253 WHEN 11 THEN TO_CHAR(l1.POD_ACCRUE_ON_RECEIPT_FLAG)
171254 WHEN 12 THEN TO_CHAR(l1.DIST_ACCOUNT_REVERSAL_OPTION)
171255 WHEN 13 THEN TO_CHAR(l1.DISTRIBUTION_LINK_TYPE)
171256 WHEN 14 THEN TO_CHAR(l1.ALLOC_TO_MAIN_DIST_ID)
171257 WHEN 15 THEN TO_CHAR(l1.AID_INVOICE_DIST_ID)
171258 WHEN 16 THEN TO_CHAR(l1.UPG_ENC_CR_CCID)
171259 WHEN 17 THEN TO_CHAR(l1.UPG_ENC_CR_AMT)
171260 WHEN 18 THEN TO_CHAR(l1.UPG_ENC_CR_BASE_AMT)
171261 WHEN 19 THEN TO_CHAR(l1.UPG_ENC_DR_CCID)
171262 WHEN 20 THEN TO_CHAR(l1.UPG_ENC_DR_AMT)
171263 WHEN 21 THEN TO_CHAR(l1.UPG_ENC_DR_BASE_AMT)
171264 WHEN 22 THEN TO_CHAR(l1.UPG_AP_ENCUM_OPTION)
171265 WHEN 23 THEN TO_CHAR(l1.AID_AMOUNT)
171266 WHEN 24 THEN TO_CHAR(l3.POH_RATE_DATE)
171267 WHEN 25 THEN TO_CHAR(l3.POH_RATE)
171268 WHEN 26 THEN TO_CHAR(l3.POH_RATE_TYPE)
171269 WHEN 27 THEN TO_CHAR(l1.DEFERRED_END_DATE)
171270 WHEN 28 THEN TO_CHAR(l1.DEFERRED_OPTION)
171271 WHEN 29 THEN TO_CHAR(l1.DEFERRED_START_DATE)
171272 WHEN 30 THEN TO_CHAR(l1.OVERRIDE_ACCTD_AMT_FLAG)
171273 WHEN 31 THEN TO_CHAR(l1.AID_PARENT_REVERSAL_ID)
171274 WHEN 32 THEN TO_CHAR(l1.AID_STAT_AMOUNT)
171275 WHEN 33 THEN TO_CHAR(l5.TAX_LINE_ID)
171276 WHEN 34 THEN TO_CHAR(l6.REC_NREC_TAX_DIST_ID)
171277 WHEN 35 THEN TO_CHAR(l1.SUMMARY_TAX_LINE_ID)
171278 WHEN 36 THEN TO_CHAR(l1.UPG_CR_ENC_TYPE_ID)
171279 WHEN 37 THEN TO_CHAR(l1.UPG_DR_ENC_TYPE_ID)
171280 WHEN 38 THEN TO_CHAR(l1.BUS_FLOW_AP_APP_ID)
171281 WHEN 39 THEN TO_CHAR(l1.BUS_FLOW_INV_DIST_TYPE)
171282 WHEN 40 THEN TO_CHAR(l1.BUS_FLOW_INV_ENTITY_CODE)
171283 WHEN 41 THEN TO_CHAR(l1.BUS_FLOW_INV_DIST_ID)
171287
171284 WHEN 42 THEN TO_CHAR(l1.BUS_FLOW_INV_ID)
171285 WHEN 43 THEN TO_CHAR(l5.DEF_REC_SETTLEMENT_OPTION_CODE)
171286 WHEN 44 THEN TO_CHAR(l1.SELF_ASSESSED_TAX_FLAG)
171288 ELSE null
171289 END source_value
171290 , CASE r
171291 WHEN 3 THEN fvl17.meaning
171292 WHEN 6 THEN fvl28.meaning
171293 WHEN 11 THEN fvl54.meaning
171294 WHEN 30 THEN fvl85.meaning
171295 WHEN 43 THEN fvl140.meaning
171296 WHEN 44 THEN fvl145.meaning
171297
171298 ELSE null
171299 END source_meaning
171300 FROM xla_events_gt xet
171301 , AP_INVOICE_EXTRACT_DETAILS_V l1
171302 , AP_PO_HEADERS_EXTRACT_V l3
171303 , ZX_AP_DEF_TAX_EXTRACT_V l5
171304 , ZX_AP_TAX_JRNL_LINE_DESC_V l6
171305 , fnd_lookup_values fvl17
171306 , fnd_lookup_values fvl28
171307 , fnd_lookup_values fvl54
171308 , fnd_lookup_values fvl85
171309 , fnd_lookup_values fvl140
171310 , fnd_lookup_values fvl145
171311 , (select rownum r from all_objects where rownum <= 44 and owner = p_apps_owner)
171312 WHERE xet.event_date between p_pad_start_date AND p_pad_end_date
171313 AND xet.event_class_code = C_EVENT_CLASS_CODE
171314 AND l1.event_id = xet.event_id
171315 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 fvl17.lookup_type(+) = 'DESTINATION TYPE'
171316 AND fvl17.lookup_code(+) = l1.RELATED_INV_DIST_DEST_TYPE
171317 AND fvl17.view_application_id(+) = 201
171318 AND fvl17.language(+) = USERENV('LANG')
171319 AND fvl28.lookup_type(+) = 'INVOICE DISTRIBUTION TYPE'
171320 AND fvl28.lookup_code(+) = l1.AID_LINE_TYPE_LOOKUP_CODE
171321 AND fvl28.view_application_id(+) = 200
171322 AND fvl28.language(+) = USERENV('LANG')
171323 AND fvl54.lookup_type(+) = 'YES_NO'
171324 AND fvl54.lookup_code(+) = l1.POD_ACCRUE_ON_RECEIPT_FLAG
171325 AND fvl54.view_application_id(+) = 0
171326 AND fvl54.language(+) = USERENV('LANG')
171327 AND fvl85.lookup_type(+) = 'YES_NO'
171328 AND fvl85.lookup_code(+) = l1.OVERRIDE_ACCTD_AMT_FLAG
171329 AND fvl85.view_application_id(+) = 0
171330 AND fvl85.language(+) = USERENV('LANG')
171331 AND fvl140.lookup_type(+) = 'ZX_REC_SETTLEMENT_OPTION'
171332 AND fvl140.lookup_code(+) = l5.DEF_REC_SETTLEMENT_OPTION_CODE
171333 AND fvl140.view_application_id(+) = 0
171334 AND fvl140.language(+) = USERENV('LANG')
171335 AND fvl145.lookup_type(+) = 'YES_NO'
171336 AND fvl145.lookup_code(+) = l1.SELF_ASSESSED_TAX_FLAG
171337 AND fvl145.view_application_id(+) = 0
171338 AND fvl145.language(+) = USERENV('LANG')
171339
171340 )
171341 ;
171342 --
171343 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
171344
171345 trace
171346 (p_msg => 'number of line sources inserted = '||SQL%ROWCOUNT
171347 ,p_level => C_LEVEL_STATEMENT
171348 ,p_module => l_log_module);
171349
171350 END IF;
171351
171352
171353 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
171354 trace
171355 (p_msg => 'END of insert_sources_254'
171356 ,p_level => C_LEVEL_PROCEDURE
171357 ,p_module => l_log_module);
171358 END IF;
171359 EXCEPTION
171360 WHEN xla_exceptions_pkg.application_exception THEN
171361 IF (C_LEVEL_EXCEPTION >= g_log_level) THEN
171362 trace
171363 (p_msg => 'ERROR: XLA_CMP_COMPILER_ERROR = '||sqlerrm
171364 ,p_level => C_LEVEL_EXCEPTION
171365 ,p_module => l_log_module);
171366 END IF;
171367 RAISE;
171368 WHEN OTHERS THEN
171369 IF (C_LEVEL_EXCEPTION >= g_log_level) THEN
171370 trace
171371 (p_msg => 'ERROR: XLA_CMP_COMPILER_ERROR = '||sqlerrm
171372 ,p_level => C_LEVEL_EXCEPTION
171373 ,p_module => l_log_module);
171374 END IF;
171375 xla_exceptions_pkg.raise_message
171376 (p_location => 'XLA_00200_AAD_S_000012_PKG.insert_sources_254');
171377 END insert_sources_254;
171378 --
171379
171380 ---------------------------------------
171381 --
171382 -- PRIVATE FUNCTION
171383 -- EventClass_254
171384 --
171385 ----------------------------------------
171386 --
171387 FUNCTION EventClass_254
171388 (p_application_id IN NUMBER
171389 ,p_base_ledger_id IN NUMBER
171390 ,p_target_ledger_id IN NUMBER
171391 ,p_language IN VARCHAR2
171392 ,p_currency_code IN VARCHAR2
171393 ,p_sla_ledger_id IN NUMBER
171394 ,p_pad_start_date IN DATE
171395 ,p_pad_end_date IN DATE
171396 ,p_primary_ledger_id IN NUMBER)
171397 RETURN BOOLEAN IS
171398 --
171399 C_EVENT_TYPE_CODE CONSTANT VARCHAR2(30) := 'PREPAYMENTS_ALL';
171400 C_EVENT_CLASS_CODE CONSTANT VARCHAR2(30) := 'PREPAYMENTS';
171401
171402 l_calculate_acctd_flag VARCHAR2(1) :='N';
171403 l_calculate_g_l_flag VARCHAR2(1) :='N';
171404 --
171405 l_array_legal_entity_id XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
171406 l_array_entity_id XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
171407 l_array_entity_code XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
171408 l_array_transaction_num XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
171409 l_array_event_id XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
171410 l_array_class_code XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
171414 l_array_transaction_date XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
171411 l_array_event_type XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
171412 l_array_event_number XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
171413 l_array_event_date XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
171415 l_array_reference_num_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
171416 l_array_reference_num_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
171417 l_array_reference_num_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
171418 l_array_reference_num_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
171419 l_array_reference_char_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
171420 l_array_reference_char_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
171421 l_array_reference_char_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
171422 l_array_reference_char_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
171423 l_array_reference_date_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
171424 l_array_reference_date_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
171425 l_array_reference_date_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
171426 l_array_reference_date_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
171427 l_array_event_created_by XLA_AE_JOURNAL_ENTRY_PKG.t_array_V100L;
171428 l_array_budgetary_control_flag XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
171429 l_array_header_events XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num; --added
171430 l_array_duplicate_checker XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num; --added
171431
171432 l_event_id NUMBER;
171433 l_previous_event_id NUMBER;
171434 l_first_event_id NUMBER;
171435 l_last_event_id NUMBER;
171436
171437 l_rec_acct_attrs XLA_AE_HEADER_PKG.t_rec_acct_attrs;
171438 l_rec_rev_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
171439 --
171440 --
171441 l_result BOOLEAN := TRUE;
171442 l_rows NUMBER := 1000;
171443 l_event_type_name VARCHAR2(80) := 'All';
171444 l_event_class_name VARCHAR2(80) := 'Prepayments';
171445 l_description VARCHAR2(4000);
171446 l_transaction_reversal NUMBER;
171447 l_ae_header_id NUMBER;
171448 l_array_extract_line_num xla_ae_journal_entry_pkg.t_array_Num;
171449 l_log_module VARCHAR2(240);
171450 --
171451 l_acct_reversal_source VARCHAR2(30);
171452 l_trx_reversal_source VARCHAR2(30);
171453
171454 l_continue_with_lines BOOLEAN := TRUE;
171455 --
171456 l_acc_rev_gl_date_source DATE; -- 4262811
171457 --
171458 type t_array_event_id is table of number index by binary_integer;
171459
171460 l_rec_array_event t_rec_array_event;
171461 l_null_rec_array_event t_rec_array_event;
171462 l_array_ae_header_id xla_number_array_type;
171463 l_actual_flag VARCHAR2(1) := NULL;
171464 l_actual_gain_loss_ref VARCHAR2(30) := '#####';
171465 l_balance_type_code VARCHAR2(1) :=NULL;
171466 l_gain_or_loss_ref VARCHAR2(30) :=NULL;
171467
171468 --
171469 TYPE t_array_lookup_meaning IS TABLE OF fnd_lookup_values.meaning%TYPE INDEX BY BINARY_INTEGER;
171470 --
171471
171472 TYPE t_array_source_10 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_AUTOMATIC_OFFSETS_VALUE%TYPE INDEX BY BINARY_INTEGER;
171473 TYPE t_array_source_15 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_RATE_VAR_GAIN_CCID%TYPE INDEX BY BINARY_INTEGER;
171474 TYPE t_array_source_18 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_RATE_VAR_LOSS_CCID%TYPE INDEX BY BINARY_INTEGER;
171475 TYPE t_array_source_26 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_BUILD_PREPAY_ACCOUNTS_FLAG%TYPE INDEX BY BINARY_INTEGER;
171476 TYPE t_array_source_29 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_ACCTS_PAY_CCID%TYPE INDEX BY BINARY_INTEGER;
171477 TYPE t_array_source_43 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_AUTO_OFFSET_FLAG%TYPE INDEX BY BINARY_INTEGER;
171478 TYPE t_array_source_63 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_INVOICE_ID%TYPE INDEX BY BINARY_INTEGER;
171479 TYPE t_array_source_72 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_INVOICE_CURRENCY_CODE%TYPE INDEX BY BINARY_INTEGER;
171480 TYPE t_array_source_86 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_VENDOR_ID%TYPE INDEX BY BINARY_INTEGER;
171481 TYPE t_array_source_87 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_VENDOR_SITE_ID%TYPE INDEX BY BINARY_INTEGER;
171482 TYPE t_array_source_88 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.THIRD_PARTY_TYPE%TYPE INDEX BY BINARY_INTEGER;
171483 TYPE t_array_source_146 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_EXCHANGE_DATE%TYPE INDEX BY BINARY_INTEGER;
171484 TYPE t_array_source_147 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_EXCHANGE_RATE%TYPE INDEX BY BINARY_INTEGER;
171485 TYPE t_array_source_148 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_EXCHANGE_RATE_TYPE%TYPE INDEX BY BINARY_INTEGER;
171486 TYPE t_array_source_171 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_DOC_SEQUENCE_CATEGORY%TYPE INDEX BY BINARY_INTEGER;
171487 TYPE t_array_source_172 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_DOC_SEQUENCE_IDENTIFIER%TYPE INDEX BY BINARY_INTEGER;
171488 TYPE t_array_source_173 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_DOC_SEQUENCE_VALUE%TYPE INDEX BY BINARY_INTEGER;
171489
171490 TYPE t_array_source_1 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_DESCRIPTION%TYPE INDEX BY BINARY_INTEGER;
171491 TYPE t_array_source_16 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.INV_DIST_BASE_AMOUNT%TYPE INDEX BY BINARY_INTEGER;
171492 TYPE t_array_source_17 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.RELATED_INV_DIST_DEST_TYPE%TYPE INDEX BY BINARY_INTEGER;
171493 TYPE t_array_source_25 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_DIST_CCID%TYPE INDEX BY BINARY_INTEGER;
171494 TYPE t_array_source_27 IS TABLE OF AP_PO_HEADERS_EXTRACT_V.PO_NUMBER%TYPE INDEX BY BINARY_INTEGER;
171495 TYPE t_array_source_28 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_LINE_TYPE_LOOKUP_CODE%TYPE INDEX BY BINARY_INTEGER;
171496 TYPE t_array_source_39 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AWT_RELATED_DIST_ACCOUNT%TYPE INDEX BY BINARY_INTEGER;
171500 TYPE t_array_source_54 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.POD_ACCRUE_ON_RECEIPT_FLAG%TYPE INDEX BY BINARY_INTEGER;
171497 TYPE t_array_source_41 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.POD_CCID%TYPE INDEX BY BINARY_INTEGER;
171498 TYPE t_array_source_46 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.SELF_ASSESSED_TAX_ACCOUNT%TYPE INDEX BY BINARY_INTEGER;
171499 TYPE t_array_source_47 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.ASAT_LIAB_CCID%TYPE INDEX BY BINARY_INTEGER;
171501 TYPE t_array_source_58 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.DIST_ACCOUNT_REVERSAL_OPTION%TYPE INDEX BY BINARY_INTEGER;
171502 TYPE t_array_source_60 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.DISTRIBUTION_LINK_TYPE%TYPE INDEX BY BINARY_INTEGER;
171503 TYPE t_array_source_62 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.ALLOC_TO_MAIN_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
171504 TYPE t_array_source_69 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_INVOICE_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
171505 TYPE t_array_source_70 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_ENC_CR_CCID%TYPE INDEX BY BINARY_INTEGER;
171506 TYPE t_array_source_71 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_ENC_CR_AMT%TYPE INDEX BY BINARY_INTEGER;
171507 TYPE t_array_source_73 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_ENC_CR_BASE_AMT%TYPE INDEX BY BINARY_INTEGER;
171508 TYPE t_array_source_74 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_ENC_DR_CCID%TYPE INDEX BY BINARY_INTEGER;
171509 TYPE t_array_source_75 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_ENC_DR_AMT%TYPE INDEX BY BINARY_INTEGER;
171510 TYPE t_array_source_76 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_ENC_DR_BASE_AMT%TYPE INDEX BY BINARY_INTEGER;
171511 TYPE t_array_source_77 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_AP_ENCUM_OPTION%TYPE INDEX BY BINARY_INTEGER;
171512 TYPE t_array_source_78 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_AMOUNT%TYPE INDEX BY BINARY_INTEGER;
171513 TYPE t_array_source_79 IS TABLE OF AP_PO_HEADERS_EXTRACT_V.POH_RATE_DATE%TYPE INDEX BY BINARY_INTEGER;
171514 TYPE t_array_source_80 IS TABLE OF AP_PO_HEADERS_EXTRACT_V.POH_RATE%TYPE INDEX BY BINARY_INTEGER;
171515 TYPE t_array_source_81 IS TABLE OF AP_PO_HEADERS_EXTRACT_V.POH_RATE_TYPE%TYPE INDEX BY BINARY_INTEGER;
171516 TYPE t_array_source_82 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.DEFERRED_END_DATE%TYPE INDEX BY BINARY_INTEGER;
171517 TYPE t_array_source_83 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.DEFERRED_OPTION%TYPE INDEX BY BINARY_INTEGER;
171518 TYPE t_array_source_84 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.DEFERRED_START_DATE%TYPE INDEX BY BINARY_INTEGER;
171519 TYPE t_array_source_85 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.OVERRIDE_ACCTD_AMT_FLAG%TYPE INDEX BY BINARY_INTEGER;
171520 TYPE t_array_source_89 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_PARENT_REVERSAL_ID%TYPE INDEX BY BINARY_INTEGER;
171521 TYPE t_array_source_90 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_STAT_AMOUNT%TYPE INDEX BY BINARY_INTEGER;
171522 TYPE t_array_source_91 IS TABLE OF ZX_AP_DEF_TAX_EXTRACT_V.TAX_LINE_ID%TYPE INDEX BY BINARY_INTEGER;
171523 TYPE t_array_source_92 IS TABLE OF ZX_AP_TAX_JRNL_LINE_DESC_V.REC_NREC_TAX_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
171524 TYPE t_array_source_93 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.SUMMARY_TAX_LINE_ID%TYPE INDEX BY BINARY_INTEGER;
171525 TYPE t_array_source_94 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_CR_ENC_TYPE_ID%TYPE INDEX BY BINARY_INTEGER;
171526 TYPE t_array_source_95 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_DR_ENC_TYPE_ID%TYPE INDEX BY BINARY_INTEGER;
171527 TYPE t_array_source_96 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_AP_APP_ID%TYPE INDEX BY BINARY_INTEGER;
171528 TYPE t_array_source_97 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_INV_DIST_TYPE%TYPE INDEX BY BINARY_INTEGER;
171529 TYPE t_array_source_98 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_INV_ENTITY_CODE%TYPE INDEX BY BINARY_INTEGER;
171530 TYPE t_array_source_99 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_INV_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
171531 TYPE t_array_source_100 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_INV_ID%TYPE INDEX BY BINARY_INTEGER;
171532 TYPE t_array_source_140 IS TABLE OF ZX_AP_DEF_TAX_EXTRACT_V.DEF_REC_SETTLEMENT_OPTION_CODE%TYPE INDEX BY BINARY_INTEGER;
171533 TYPE t_array_source_145 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.SELF_ASSESSED_TAX_FLAG%TYPE INDEX BY BINARY_INTEGER;
171534
171535 l_array_source_10 t_array_source_10;
171536 l_array_source_10_meaning t_array_lookup_meaning;
171537 l_array_source_15 t_array_source_15;
171538 l_array_source_18 t_array_source_18;
171539 l_array_source_26 t_array_source_26;
171540 l_array_source_26_meaning t_array_lookup_meaning;
171541 l_array_source_29 t_array_source_29;
171542 l_array_source_43 t_array_source_43;
171543 l_array_source_43_meaning t_array_lookup_meaning;
171544 l_array_source_63 t_array_source_63;
171545 l_array_source_72 t_array_source_72;
171546 l_array_source_86 t_array_source_86;
171547 l_array_source_87 t_array_source_87;
171548 l_array_source_88 t_array_source_88;
171549 l_array_source_146 t_array_source_146;
171550 l_array_source_147 t_array_source_147;
171551 l_array_source_148 t_array_source_148;
171552 l_array_source_171 t_array_source_171;
171553 l_array_source_172 t_array_source_172;
171554 l_array_source_173 t_array_source_173;
171555
171556 l_array_source_1 t_array_source_1;
171557 l_array_source_16 t_array_source_16;
171558 l_array_source_17 t_array_source_17;
171559 l_array_source_17_meaning t_array_lookup_meaning;
171560 l_array_source_25 t_array_source_25;
171561 l_array_source_27 t_array_source_27;
171562 l_array_source_28 t_array_source_28;
171563 l_array_source_28_meaning t_array_lookup_meaning;
171564 l_array_source_39 t_array_source_39;
171565 l_array_source_41 t_array_source_41;
171566 l_array_source_46 t_array_source_46;
171567 l_array_source_47 t_array_source_47;
171568 l_array_source_54 t_array_source_54;
171569 l_array_source_54_meaning t_array_lookup_meaning;
171570 l_array_source_58 t_array_source_58;
171571 l_array_source_60 t_array_source_60;
171572 l_array_source_62 t_array_source_62;
171573 l_array_source_69 t_array_source_69;
171574 l_array_source_70 t_array_source_70;
171578 l_array_source_75 t_array_source_75;
171575 l_array_source_71 t_array_source_71;
171576 l_array_source_73 t_array_source_73;
171577 l_array_source_74 t_array_source_74;
171579 l_array_source_76 t_array_source_76;
171580 l_array_source_77 t_array_source_77;
171581 l_array_source_78 t_array_source_78;
171582 l_array_source_79 t_array_source_79;
171583 l_array_source_80 t_array_source_80;
171584 l_array_source_81 t_array_source_81;
171585 l_array_source_82 t_array_source_82;
171586 l_array_source_83 t_array_source_83;
171587 l_array_source_84 t_array_source_84;
171588 l_array_source_85 t_array_source_85;
171589 l_array_source_85_meaning t_array_lookup_meaning;
171590 l_array_source_89 t_array_source_89;
171591 l_array_source_90 t_array_source_90;
171592 l_array_source_91 t_array_source_91;
171593 l_array_source_92 t_array_source_92;
171594 l_array_source_93 t_array_source_93;
171595 l_array_source_94 t_array_source_94;
171596 l_array_source_95 t_array_source_95;
171597 l_array_source_96 t_array_source_96;
171598 l_array_source_97 t_array_source_97;
171599 l_array_source_98 t_array_source_98;
171600 l_array_source_99 t_array_source_99;
171601 l_array_source_100 t_array_source_100;
171602 l_array_source_140 t_array_source_140;
171603 l_array_source_140_meaning t_array_lookup_meaning;
171604 l_array_source_145 t_array_source_145;
171605 l_array_source_145_meaning t_array_lookup_meaning;
171606
171607 --
171608 CURSOR header_cur
171609 IS
171610 SELECT /*+ leading(xet) cardinality(xet,1) */
171611 -- Event Class Code: PREPAYMENTS
171612 xet.entity_id
171613 ,xet.legal_entity_id
171614 ,xet.entity_code
171615 ,xet.transaction_number
171616 ,xet.event_id
171617 ,xet.event_class_code
171618 ,xet.event_type_code
171619 ,xet.event_number
171620 ,xet.event_date
171621 ,xet.transaction_date
171622 ,xet.reference_num_1
171623 ,xet.reference_num_2
171624 ,xet.reference_num_3
171625 ,xet.reference_num_4
171626 ,xet.reference_char_1
171627 ,xet.reference_char_2
171628 ,xet.reference_char_3
171629 ,xet.reference_char_4
171630 ,xet.reference_date_1
171631 ,xet.reference_date_2
171632 ,xet.reference_date_3
171633 ,xet.reference_date_4
171634 ,xet.event_created_by
171635 ,xet.budgetary_control_flag
171636 , h4.ASP_AUTOMATIC_OFFSETS_VALUE source_10
171637 , fvl10.meaning source_10_meaning
171638 , h4.ASP_RATE_VAR_GAIN_CCID source_15
171639 , h4.ASP_RATE_VAR_LOSS_CCID source_18
171640 , h4.ASP_BUILD_PREPAY_ACCOUNTS_FLAG source_26
171641 , fvl26.meaning source_26_meaning
171642 , h2.AI_ACCTS_PAY_CCID source_29
171643 , h4.ASP_AUTO_OFFSET_FLAG source_43
171644 , fvl43.meaning source_43_meaning
171645 , h2.AI_INVOICE_ID source_63
171646 , h2.AI_INVOICE_CURRENCY_CODE source_72
171647 , h2.AI_VENDOR_ID source_86
171648 , h2.AI_VENDOR_SITE_ID source_87
171649 , h2.THIRD_PARTY_TYPE source_88
171650 , h2.INV_EXCHANGE_DATE source_146
171651 , h2.INV_EXCHANGE_RATE source_147
171652 , h2.INV_EXCHANGE_RATE_TYPE source_148
171653 , h2.INV_DOC_SEQUENCE_CATEGORY source_171
171654 , h2.INV_DOC_SEQUENCE_IDENTIFIER source_172
171655 , h2.INV_DOC_SEQUENCE_VALUE source_173
171656 FROM xla_events_gt xet
171657 , AP_INVOICE_EXTRACT_HEADER_V h2
171658 , AP_SYSTEM_PARAMETERS_EXTRACT_V h4
171659 , fnd_lookup_values fvl10
171660 , fnd_lookup_values fvl26
171661 , fnd_lookup_values fvl43
171662 WHERE xet.event_date between p_pad_start_date and p_pad_end_date
171663 and xet.event_class_code = C_EVENT_CLASS_CODE
171664 and xet.event_status_code <> 'N' AND h2.event_id = xet.event_id
171665 AND h4.asp_org_id = h2.ai_org_id AND fvl10.lookup_type(+) = 'LIABILITY FLEXBUILD METHOD'
171666 AND fvl10.lookup_code(+) = h4.ASP_AUTOMATIC_OFFSETS_VALUE
171667 AND fvl10.view_application_id(+) = 200
171668 AND fvl10.language(+) = USERENV('LANG')
171669 AND fvl26.lookup_type(+) = 'YES_NO'
171670 AND fvl26.lookup_code(+) = h4.ASP_BUILD_PREPAY_ACCOUNTS_FLAG
171671 AND fvl26.view_application_id(+) = 0
171672 AND fvl26.language(+) = USERENV('LANG')
171673 AND fvl43.lookup_type(+) = 'YES_NO'
171674 AND fvl43.lookup_code(+) = h4.ASP_AUTO_OFFSET_FLAG
171675 AND fvl43.view_application_id(+) = 0
171676 AND fvl43.language(+) = USERENV('LANG')
171677
171678 ORDER BY event_id
171679 ;
171680
171681
171682 --
171683 CURSOR line_cur (x_first_event_id in number, x_last_event_id in number)
171684 IS
171685 SELECT /*+ leading(xet) cardinality(xet,1) */
171686 -- Event Class Code: PREPAYMENTS
171687 xet.entity_id
171688 ,xet.legal_entity_id
171689 ,xet.entity_code
171690 ,xet.transaction_number
171691 ,xet.event_id
171692 ,xet.event_class_code
171693 ,xet.event_type_code
171694 ,xet.event_number
171695 ,xet.event_date
171696 ,xet.transaction_date
171697 ,xet.reference_num_1
171698 ,xet.reference_num_2
171699 ,xet.reference_num_3
171700 ,xet.reference_num_4
171701 ,xet.reference_char_1
171702 ,xet.reference_char_2
171703 ,xet.reference_char_3
171704 ,xet.reference_char_4
171705 ,xet.reference_date_1
171706 ,xet.reference_date_2
171707 ,xet.reference_date_3
171708 ,xet.reference_date_4
171709 ,xet.event_created_by
171710 ,xet.budgetary_control_flag
171711 , l1.LINE_NUMBER
171712 , l1.AID_DESCRIPTION source_1
171713 , l1.INV_DIST_BASE_AMOUNT source_16
171714 , l1.RELATED_INV_DIST_DEST_TYPE source_17
171715 , fvl17.meaning source_17_meaning
171716 , l1.AID_DIST_CCID source_25
171717 , l3.PO_NUMBER source_27
171718 , l1.AID_LINE_TYPE_LOOKUP_CODE source_28
171722 , l1.SELF_ASSESSED_TAX_ACCOUNT source_46
171719 , fvl28.meaning source_28_meaning
171720 , l1.AWT_RELATED_DIST_ACCOUNT source_39
171721 , l1.POD_CCID source_41
171723 , l1.ASAT_LIAB_CCID source_47
171724 , l1.POD_ACCRUE_ON_RECEIPT_FLAG source_54
171725 , fvl54.meaning source_54_meaning
171726 , l1.DIST_ACCOUNT_REVERSAL_OPTION source_58
171727 , l1.DISTRIBUTION_LINK_TYPE source_60
171728 , l1.ALLOC_TO_MAIN_DIST_ID source_62
171729 , l1.AID_INVOICE_DIST_ID source_69
171730 , l1.UPG_ENC_CR_CCID source_70
171731 , l1.UPG_ENC_CR_AMT source_71
171732 , l1.UPG_ENC_CR_BASE_AMT source_73
171733 , l1.UPG_ENC_DR_CCID source_74
171734 , l1.UPG_ENC_DR_AMT source_75
171735 , l1.UPG_ENC_DR_BASE_AMT source_76
171736 , l1.UPG_AP_ENCUM_OPTION source_77
171737 , l1.AID_AMOUNT source_78
171738 , l3.POH_RATE_DATE source_79
171739 , l3.POH_RATE source_80
171740 , l3.POH_RATE_TYPE source_81
171741 , l1.DEFERRED_END_DATE source_82
171742 , l1.DEFERRED_OPTION source_83
171743 , l1.DEFERRED_START_DATE source_84
171744 , l1.OVERRIDE_ACCTD_AMT_FLAG source_85
171745 , fvl85.meaning source_85_meaning
171746 , l1.AID_PARENT_REVERSAL_ID source_89
171747 , l1.AID_STAT_AMOUNT source_90
171748 , l5.TAX_LINE_ID source_91
171749 , l6.REC_NREC_TAX_DIST_ID source_92
171750 , l1.SUMMARY_TAX_LINE_ID source_93
171751 , l1.UPG_CR_ENC_TYPE_ID source_94
171752 , l1.UPG_DR_ENC_TYPE_ID source_95
171753 , l1.BUS_FLOW_AP_APP_ID source_96
171754 , l1.BUS_FLOW_INV_DIST_TYPE source_97
171755 , l1.BUS_FLOW_INV_ENTITY_CODE source_98
171756 , l1.BUS_FLOW_INV_DIST_ID source_99
171757 , l1.BUS_FLOW_INV_ID source_100
171758 , l5.DEF_REC_SETTLEMENT_OPTION_CODE source_140
171759 , fvl140.meaning source_140_meaning
171760 , l1.SELF_ASSESSED_TAX_FLAG source_145
171761 , fvl145.meaning source_145_meaning
171762 FROM xla_events_gt xet
171763 , AP_INVOICE_EXTRACT_DETAILS_V l1
171764 , AP_PO_HEADERS_EXTRACT_V l3
171765 , ZX_AP_DEF_TAX_EXTRACT_V l5
171766 , ZX_AP_TAX_JRNL_LINE_DESC_V l6
171767 , fnd_lookup_values fvl17
171768 , fnd_lookup_values fvl28
171769 , fnd_lookup_values fvl54
171770 , fnd_lookup_values fvl85
171771 , fnd_lookup_values fvl140
171772 , fnd_lookup_values fvl145
171773 WHERE xet.event_id between x_first_event_id and x_last_event_id
171774 and xet.event_date between p_pad_start_date and p_pad_end_date
171775 and xet.event_class_code = C_EVENT_CLASS_CODE
171776 and xet.event_status_code <> 'N' AND l1.event_id = xet.event_id
171777 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 fvl17.lookup_type(+) = 'DESTINATION TYPE'
171778 AND fvl17.lookup_code(+) = l1.RELATED_INV_DIST_DEST_TYPE
171779 AND fvl17.view_application_id(+) = 201
171780 AND fvl17.language(+) = USERENV('LANG')
171781 AND fvl28.lookup_type(+) = 'INVOICE DISTRIBUTION TYPE'
171782 AND fvl28.lookup_code(+) = l1.AID_LINE_TYPE_LOOKUP_CODE
171783 AND fvl28.view_application_id(+) = 200
171784 AND fvl28.language(+) = USERENV('LANG')
171785 AND fvl54.lookup_type(+) = 'YES_NO'
171786 AND fvl54.lookup_code(+) = l1.POD_ACCRUE_ON_RECEIPT_FLAG
171787 AND fvl54.view_application_id(+) = 0
171788 AND fvl54.language(+) = USERENV('LANG')
171789 AND fvl85.lookup_type(+) = 'YES_NO'
171790 AND fvl85.lookup_code(+) = l1.OVERRIDE_ACCTD_AMT_FLAG
171791 AND fvl85.view_application_id(+) = 0
171792 AND fvl85.language(+) = USERENV('LANG')
171793 AND fvl140.lookup_type(+) = 'ZX_REC_SETTLEMENT_OPTION'
171794 AND fvl140.lookup_code(+) = l5.DEF_REC_SETTLEMENT_OPTION_CODE
171795 AND fvl140.view_application_id(+) = 0
171796 AND fvl140.language(+) = USERENV('LANG')
171797 AND fvl145.lookup_type(+) = 'YES_NO'
171798 AND fvl145.lookup_code(+) = l1.SELF_ASSESSED_TAX_FLAG
171799 AND fvl145.view_application_id(+) = 0
171800 AND fvl145.language(+) = USERENV('LANG')
171801 ;
171802
171803 --
171804 BEGIN
171805 IF g_log_enabled THEN
171806 l_log_module := C_DEFAULT_MODULE||'.EventClass_254';
171807 END IF;
171808 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
171809 trace
171810 (p_msg => 'BEGIN of EventClass_254'
171811 ,p_level => C_LEVEL_PROCEDURE
171812 ,p_module => l_log_module);
171813 END IF;
171814
171815 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
171816 trace
171817 (p_msg => 'p_application_id = '||p_application_id||
171818 ' - p_base_ledger_id = '||p_base_ledger_id||
171819 ' - p_target_ledger_id = '||p_target_ledger_id||
171820 ' - p_language = '||p_language||
171821 ' - p_currency_code = '||p_currency_code||
171822 ' - p_sla_ledger_id = '||p_sla_ledger_id
171823 ,p_level => C_LEVEL_STATEMENT
171824 ,p_module => l_log_module);
171825 END IF;
171826 --
171827 -- initialze arrays
171828 --
171829 g_array_event.DELETE;
171830 l_rec_array_event := l_null_rec_array_event;
171831 --
171832 --------------------------------------
171833 -- 4262811 Initialze MPA Line Number
171834 --------------------------------------
171835 XLA_AE_HEADER_PKG.g_mpa_line_num := 0;
171836
171837 --
171838
171839 --
171840 OPEN header_cur;
171841 --
171842 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
171843 trace
171844 (p_msg => 'SQL - FETCH header_cur'
171845 ,p_level => C_LEVEL_STATEMENT
171846 ,p_module => l_log_module);
171847 END IF;
171848 --
171849 LOOP
171850 FETCH header_cur BULK COLLECT INTO
171851 l_array_entity_id
171852 , l_array_legal_entity_id
171853 , l_array_entity_code
171857 , l_array_event_type
171854 , l_array_transaction_num
171855 , l_array_event_id
171856 , l_array_class_code
171858 , l_array_event_number
171859 , l_array_event_date
171860 , l_array_transaction_date
171861 , l_array_reference_num_1
171862 , l_array_reference_num_2
171863 , l_array_reference_num_3
171864 , l_array_reference_num_4
171865 , l_array_reference_char_1
171866 , l_array_reference_char_2
171867 , l_array_reference_char_3
171868 , l_array_reference_char_4
171869 , l_array_reference_date_1
171870 , l_array_reference_date_2
171871 , l_array_reference_date_3
171872 , l_array_reference_date_4
171873 , l_array_event_created_by
171874 , l_array_budgetary_control_flag
171875 , l_array_source_10
171876 , l_array_source_10_meaning
171877 , l_array_source_15
171878 , l_array_source_18
171879 , l_array_source_26
171880 , l_array_source_26_meaning
171881 , l_array_source_29
171882 , l_array_source_43
171883 , l_array_source_43_meaning
171884 , l_array_source_63
171885 , l_array_source_72
171886 , l_array_source_86
171887 , l_array_source_87
171888 , l_array_source_88
171889 , l_array_source_146
171890 , l_array_source_147
171891 , l_array_source_148
171892 , l_array_source_171
171893 , l_array_source_172
171894 , l_array_source_173
171895 LIMIT l_rows;
171896 --
171897 IF (C_LEVEL_EVENT >= g_log_level) THEN
171898 trace
171899 (p_msg => '# rows extracted from header extract objects = '||TO_CHAR(header_cur%ROWCOUNT)
171900 ,p_level => C_LEVEL_EVENT
171901 ,p_module => l_log_module);
171902 END IF;
171903 --
171904 EXIT WHEN l_array_entity_id.COUNT = 0;
171905
171906 -- initialize arrays
171907 XLA_AE_HEADER_PKG.g_rec_header_new := NULL;
171908 XLA_AE_LINES_PKG.g_rec_lines := NULL;
171909
171910 --
171911 -- Bug 4458708
171912 --
171913 XLA_AE_LINES_PKG.g_LineNumber := 0;
171914
171915
171916 -- 4262811 - when creating Accrual Reversal or MPA, use g_last_hdr_idx to increment for next header id
171917 g_last_hdr_idx := l_array_event_id.LAST;
171918 --
171919 -- loop for the headers. Each iteration is for each header extract row
171920 -- fetched in header cursor
171921 --
171922 FOR hdr_idx IN l_array_event_id.FIRST .. l_array_event_id.LAST LOOP
171923
171924 --
171925 -- set event info as cache for other routines to refer event attributes
171926 --
171927 XLA_AE_JOURNAL_ENTRY_PKG.set_event_info
171928 (p_application_id => p_application_id
171929 ,p_primary_ledger_id => p_primary_ledger_id
171930 ,p_base_ledger_id => p_base_ledger_id
171931 ,p_target_ledger_id => p_target_ledger_id
171932 ,p_entity_id => l_array_entity_id(hdr_idx)
171933 ,p_legal_entity_id => l_array_legal_entity_id(hdr_idx)
171934 ,p_entity_code => l_array_entity_code(hdr_idx)
171935 ,p_transaction_num => l_array_transaction_num(hdr_idx)
171936 ,p_event_id => l_array_event_id(hdr_idx)
171937 ,p_event_class_code => l_array_class_code(hdr_idx)
171938 ,p_event_type_code => l_array_event_type(hdr_idx)
171939 ,p_event_number => l_array_event_number(hdr_idx)
171940 ,p_event_date => l_array_event_date(hdr_idx)
171941 ,p_transaction_date => l_array_transaction_date(hdr_idx)
171942 ,p_reference_num_1 => l_array_reference_num_1(hdr_idx)
171943 ,p_reference_num_2 => l_array_reference_num_2(hdr_idx)
171944 ,p_reference_num_3 => l_array_reference_num_3(hdr_idx)
171945 ,p_reference_num_4 => l_array_reference_num_4(hdr_idx)
171946 ,p_reference_char_1 => l_array_reference_char_1(hdr_idx)
171947 ,p_reference_char_2 => l_array_reference_char_2(hdr_idx)
171948 ,p_reference_char_3 => l_array_reference_char_3(hdr_idx)
171949 ,p_reference_char_4 => l_array_reference_char_4(hdr_idx)
171950 ,p_reference_date_1 => l_array_reference_date_1(hdr_idx)
171951 ,p_reference_date_2 => l_array_reference_date_2(hdr_idx)
171952 ,p_reference_date_3 => l_array_reference_date_3(hdr_idx)
171953 ,p_reference_date_4 => l_array_reference_date_4(hdr_idx)
171954 ,p_event_created_by => l_array_event_created_by(hdr_idx)
171955 ,p_budgetary_control_flag => l_array_budgetary_control_flag(hdr_idx));
171956
171957 --
171958 -- set the status of entry to C_VALID (0)
171959 --
171960 XLA_AE_JOURNAL_ENTRY_PKG.g_global_status := XLA_AE_JOURNAL_ENTRY_PKG.C_VALID;
171961
171962 --
171963 -- initialize a row for ae header
171964 --
171965 XLA_AE_HEADER_PKG.InitHeader(hdr_idx);
171966
171967 l_event_id := l_array_event_id(hdr_idx);
171968
171969 --
171970 -- storing the hdr_idx for event. May be used by line cursor.
171971 --
171972 g_array_event(l_event_id).array_value_num('header_index') := hdr_idx;
171973
171974 --
171975 -- store sources from header extract. This can be improved to
171976 -- store only those sources from header extract that may be used in lines
171977 --
171978
171979 g_array_event(l_event_id).array_value_char('source_10') := l_array_source_10(hdr_idx);
171980 g_array_event(l_event_id).array_value_char('source_10_meaning') := l_array_source_10_meaning(hdr_idx);
171981 g_array_event(l_event_id).array_value_num('source_15') := l_array_source_15(hdr_idx);
171982 g_array_event(l_event_id).array_value_num('source_18') := l_array_source_18(hdr_idx);
171983 g_array_event(l_event_id).array_value_char('source_26') := l_array_source_26(hdr_idx);
171984 g_array_event(l_event_id).array_value_char('source_26_meaning') := l_array_source_26_meaning(hdr_idx);
171985 g_array_event(l_event_id).array_value_num('source_29') := l_array_source_29(hdr_idx);
171989 g_array_event(l_event_id).array_value_char('source_72') := l_array_source_72(hdr_idx);
171986 g_array_event(l_event_id).array_value_char('source_43') := l_array_source_43(hdr_idx);
171987 g_array_event(l_event_id).array_value_char('source_43_meaning') := l_array_source_43_meaning(hdr_idx);
171988 g_array_event(l_event_id).array_value_num('source_63') := l_array_source_63(hdr_idx);
171990 g_array_event(l_event_id).array_value_num('source_86') := l_array_source_86(hdr_idx);
171991 g_array_event(l_event_id).array_value_num('source_87') := l_array_source_87(hdr_idx);
171992 g_array_event(l_event_id).array_value_char('source_88') := l_array_source_88(hdr_idx);
171993 g_array_event(l_event_id).array_value_date('source_146') := l_array_source_146(hdr_idx);
171994 g_array_event(l_event_id).array_value_num('source_147') := l_array_source_147(hdr_idx);
171995 g_array_event(l_event_id).array_value_char('source_148') := l_array_source_148(hdr_idx);
171996 g_array_event(l_event_id).array_value_char('source_171') := l_array_source_171(hdr_idx);
171997 g_array_event(l_event_id).array_value_num('source_172') := l_array_source_172(hdr_idx);
171998 g_array_event(l_event_id).array_value_num('source_173') := l_array_source_173(hdr_idx);
171999
172000 --
172001 -- initilaize the status of ae headers for diffrent balance types
172002 -- the status is initialised to C_NOT_CREATED (2)
172003 --
172004 --g_array_event(l_event_id).array_value_num('actual_je_status') := XLA_AE_JOURNAL_ENTRY_PKG.C_NOT_CREATED;
172005 --g_array_event(l_event_id).array_value_num('budget_je_status') := XLA_AE_JOURNAL_ENTRY_PKG.C_NOT_CREATED;
172006 --g_array_event(l_event_id).array_value_num('encumbrance_je_status') := XLA_AE_JOURNAL_ENTRY_PKG.C_NOT_CREATED;
172007
172008 --
172009 -- call api to validate and store accounting attributes for header
172010 --
172011
172012 ------------------------------------------------------------
172013 -- Accrual Reversal : to get date for Standard Source (NONE)
172014 ------------------------------------------------------------
172015 l_acc_rev_gl_date_source := NULL;
172016
172017 l_rec_acct_attrs.array_acct_attr_code(1) := 'DOC_CATEGORY_CODE';
172018 l_rec_acct_attrs.array_char_value(1) := g_array_event(l_event_id).array_value_char('source_171');
172019 l_rec_acct_attrs.array_acct_attr_code(2) := 'DOC_SEQUENCE_ID';
172020 l_rec_acct_attrs.array_num_value(2) := g_array_event(l_event_id).array_value_num('source_172');
172021 l_rec_acct_attrs.array_acct_attr_code(3) := 'DOC_SEQUENCE_VALUE';
172022 l_rec_acct_attrs.array_num_value(3) := g_array_event(l_event_id).array_value_num('source_173');
172023 l_rec_acct_attrs.array_acct_attr_code(4) := 'GL_DATE';
172024 l_rec_acct_attrs.array_date_value(4) :=
172025 xla_ae_sources_pkg.GetSystemSourceDate(
172026 p_source_code => 'XLA_EVENT_DATE'
172027 , p_source_type_code => 'Y'
172028 , p_source_application_id => 602
172029 );
172030
172031
172032 XLA_AE_HEADER_PKG.SetHdrAcctAttrs(l_rec_acct_attrs);
172033
172034 XLA_AE_HEADER_PKG.SetJeCategoryName;
172035
172036 XLA_AE_HEADER_PKG.g_rec_header_new.array_event_type_code(hdr_idx) := l_array_event_type(hdr_idx);
172037 XLA_AE_HEADER_PKG.g_rec_header_new.array_event_id(hdr_idx) := l_array_event_id(hdr_idx);
172038 XLA_AE_HEADER_PKG.g_rec_header_new.array_entity_id(hdr_idx) := l_array_entity_id(hdr_idx);
172039 XLA_AE_HEADER_PKG.g_rec_header_new.array_event_number(hdr_idx) := l_array_event_number(hdr_idx);
172040 XLA_AE_HEADER_PKG.g_rec_header_new.array_target_ledger_id(hdr_idx) := p_target_ledger_id;
172041
172042
172043 -- No header level analytical criteria
172044
172045 --
172046 --accounting attribute enhancement, bug 3612931
172047 --
172048 l_trx_reversal_source := SUBSTR(NULL, 1,30);
172049
172050 IF NVL(l_trx_reversal_source, 'N') NOT IN ('N','Y') THEN
172051 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
172052
172053 xla_accounting_err_pkg.build_message
172054 (p_appli_s_name => 'XLA'
172055 ,p_msg_name => 'XLA_AP_INVALID_HDR_ATTR'
172056 ,p_token_1 => 'ACCT_ATTR_NAME'
172057 ,p_value_1 => xla_ae_sources_pkg.GetAccountingSourceName('TRX_ACCT_REVERSAL_OPTION')
172058 ,p_token_2 => 'PRODUCT_NAME'
172059 ,p_value_2 => xla_ae_journal_entry_pkg.g_cache_event.application_name
172060 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
172061 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
172062 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id);
172063
172064 ELSIF NVL(l_trx_reversal_source, 'N') = 'Y' THEN
172065 --
172066 -- following sets the accounting attributes needed to reverse
172067 -- accounting for a distributeion
172068 --
172069 xla_ae_lines_pkg.SetTrxReversalAttrs
172070 (p_event_id => l_event_id
172071 ,p_gl_date => XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(hdr_idx)
172072 ,p_trx_reversal_source => l_trx_reversal_source);
172073
172074 END IF;
172075
172076
172077 ----------------------------------------------------------------
172078 -- 4262811 - update the header statuses to invalid in need be
172079 ----------------------------------------------------------------
172080 --
172081 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus (p_hdr_idx => hdr_idx);
172082
172083
172084 -----------------------------------------------
172085 -- No accrual reversal for the event class/type
172086 -----------------------------------------------
172087 ----------------------------------------------------------------
172088
172089 --
172090 -- this ends the header loop iteration for one bulk fetch
172091 --
172092 END LOOP;
172093
172094 l_first_event_id := l_array_event_id(l_array_event_id.FIRST);
172095 l_last_event_id := l_array_event_id(l_array_event_id.LAST);
172096
172097 --
172098 -- insert dummy rows into lines gt table that were created due to
172099 -- transaction reversals
172103 END IF;
172100 --
172101 IF XLA_AE_LINES_PKG.g_rec_lines.array_ae_header_id.COUNT > 0 THEN
172102 l_result := XLA_AE_LINES_PKG.InsertLines;
172104
172105 --
172106 -- reset the temp_line_num for each set of events fetched from header
172107 -- cursor rather than doing it for each new event in line cursor
172108 -- Bug 3939231
172109 --
172110 xla_ae_lines_pkg.g_temp_line_num := 0;
172111
172112
172113
172114 --
172115 OPEN line_cur(x_first_event_id => l_first_event_id, x_last_event_id => l_last_event_id);
172116 --
172117 --
172118 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
172119
172120 trace
172121 (p_msg => 'SQL - FETCH line_cur'
172122 ,p_level => C_LEVEL_STATEMENT
172123 ,p_module => l_log_module);
172124
172125 END IF;
172126 --
172127 --
172128 LOOP
172129 --
172130 FETCH line_cur BULK COLLECT INTO
172131 l_array_entity_id
172132 , l_array_legal_entity_id
172133 , l_array_entity_code
172134 , l_array_transaction_num
172135 , l_array_event_id
172136 , l_array_class_code
172137 , l_array_event_type
172138 , l_array_event_number
172139 , l_array_event_date
172140 , l_array_transaction_date
172141 , l_array_reference_num_1
172142 , l_array_reference_num_2
172143 , l_array_reference_num_3
172144 , l_array_reference_num_4
172145 , l_array_reference_char_1
172146 , l_array_reference_char_2
172147 , l_array_reference_char_3
172148 , l_array_reference_char_4
172149 , l_array_reference_date_1
172150 , l_array_reference_date_2
172151 , l_array_reference_date_3
172152 , l_array_reference_date_4
172153 , l_array_event_created_by
172154 , l_array_budgetary_control_flag
172155 , l_array_extract_line_num
172156 , l_array_source_1
172157 , l_array_source_16
172158 , l_array_source_17
172159 , l_array_source_17_meaning
172160 , l_array_source_25
172161 , l_array_source_27
172162 , l_array_source_28
172163 , l_array_source_28_meaning
172164 , l_array_source_39
172165 , l_array_source_41
172166 , l_array_source_46
172167 , l_array_source_47
172168 , l_array_source_54
172169 , l_array_source_54_meaning
172170 , l_array_source_58
172171 , l_array_source_60
172172 , l_array_source_62
172173 , l_array_source_69
172174 , l_array_source_70
172175 , l_array_source_71
172176 , l_array_source_73
172177 , l_array_source_74
172178 , l_array_source_75
172179 , l_array_source_76
172180 , l_array_source_77
172181 , l_array_source_78
172182 , l_array_source_79
172183 , l_array_source_80
172184 , l_array_source_81
172185 , l_array_source_82
172186 , l_array_source_83
172187 , l_array_source_84
172188 , l_array_source_85
172189 , l_array_source_85_meaning
172190 , l_array_source_89
172191 , l_array_source_90
172192 , l_array_source_91
172193 , l_array_source_92
172194 , l_array_source_93
172195 , l_array_source_94
172196 , l_array_source_95
172197 , l_array_source_96
172198 , l_array_source_97
172199 , l_array_source_98
172200 , l_array_source_99
172201 , l_array_source_100
172202 , l_array_source_140
172203 , l_array_source_140_meaning
172204 , l_array_source_145
172205 , l_array_source_145_meaning
172206 LIMIT l_rows;
172207
172208 --
172209 IF (C_LEVEL_EVENT >= g_log_level) THEN
172210 trace
172211 (p_msg => '# rows extracted from line extract objects = '||TO_CHAR(line_cur%ROWCOUNT)
172212 ,p_level => C_LEVEL_EVENT
172213 ,p_module => l_log_module);
172214 END IF;
172215 --
172216 EXIT WHEN l_array_entity_id.count = 0;
172217
172218 XLA_AE_LINES_PKG.g_rec_lines := null;
172219
172220 --
172221 -- Bug 4458708
172222 --
172223 XLA_AE_LINES_PKG.g_LineNumber := 0;
172224 --
172225 --
172226
172227 FOR Idx IN 1..l_array_event_id.count LOOP
172228 --
172229 -- 5648433 (move l_event_id out of IF statement) set l_event_id to be used inside IF condition
172230 --
172231 l_event_id := l_array_event_id(idx); -- 5648433
172232
172233 --
172234 -- Bug 4872078 - Do nothing if the event is meant for transaction reversal
172235 --
172236
172237 IF NVL(xla_ae_header_pkg.g_rec_header_new.array_trx_acct_reversal_option
172238 (g_array_event(l_event_id).array_value_num('header_index'))
172239 ,'N'
172240 ) <> 'Y'
172241 THEN
172242 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
172243 trace
172244 (p_msg => 'Trancaction revesal option is not Y '
172245 ,p_level => C_LEVEL_STATEMENT
172246 ,p_module => l_log_module);
172247 END IF;
172248
172249 --
172250 -- set the XLA_AE_JOURNAL_ENTRY_PKG.g_global_status to C_VALID (0)
172251 --
172252 XLA_AE_JOURNAL_ENTRY_PKG.g_global_status := XLA_AE_JOURNAL_ENTRY_PKG.C_VALID;
172253 --
172254 -- set event info as cache for other routines to refer event attributes
172255 --
172256
172257 IF l_event_id <> NVL(l_previous_event_id, -1) THEN
172258 l_previous_event_id := l_event_id;
172259
172260 XLA_AE_JOURNAL_ENTRY_PKG.set_event_info
172261 (p_application_id => p_application_id
172262 ,p_primary_ledger_id => p_primary_ledger_id
172263 ,p_base_ledger_id => p_base_ledger_id
172264 ,p_target_ledger_id => p_target_ledger_id
172265 ,p_entity_id => l_array_entity_id(Idx)
172269 ,p_event_id => l_array_event_id(Idx)
172266 ,p_legal_entity_id => l_array_legal_entity_id(Idx)
172267 ,p_entity_code => l_array_entity_code(Idx)
172268 ,p_transaction_num => l_array_transaction_num(Idx)
172270 ,p_event_class_code => l_array_class_code(Idx)
172271 ,p_event_type_code => l_array_event_type(Idx)
172272 ,p_event_number => l_array_event_number(Idx)
172273 ,p_event_date => l_array_event_date(Idx)
172274 ,p_transaction_date => l_array_transaction_date(Idx)
172275 ,p_reference_num_1 => l_array_reference_num_1(Idx)
172276 ,p_reference_num_2 => l_array_reference_num_2(Idx)
172277 ,p_reference_num_3 => l_array_reference_num_3(Idx)
172278 ,p_reference_num_4 => l_array_reference_num_4(Idx)
172279 ,p_reference_char_1 => l_array_reference_char_1(Idx)
172280 ,p_reference_char_2 => l_array_reference_char_2(Idx)
172281 ,p_reference_char_3 => l_array_reference_char_3(Idx)
172282 ,p_reference_char_4 => l_array_reference_char_4(Idx)
172283 ,p_reference_date_1 => l_array_reference_date_1(Idx)
172284 ,p_reference_date_2 => l_array_reference_date_2(Idx)
172285 ,p_reference_date_3 => l_array_reference_date_3(Idx)
172286 ,p_reference_date_4 => l_array_reference_date_4(Idx)
172287 ,p_event_created_by => l_array_event_created_by(Idx)
172288 ,p_budgetary_control_flag => l_array_budgetary_control_flag(Idx));
172289 --
172290 END IF;
172291
172292
172293
172294 --
172295 xla_ae_lines_pkg.SetExtractLine(p_extract_line => l_array_extract_line_num(Idx));
172296
172297 l_acct_reversal_source := SUBSTR(l_array_source_58(Idx), 1,30);
172298
172299 IF l_continue_with_lines THEN
172300 IF NVL(l_acct_reversal_source, 'N') NOT IN ('N','Y','B') THEN
172301 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
172302
172303 xla_accounting_err_pkg.build_message
172304 (p_appli_s_name => 'XLA'
172305 ,p_msg_name => 'XLA_AP_INVALID_REVERSAL_OPTION'
172306 ,p_token_1 => 'LINE_NUMBER'
172307 ,p_value_1 => l_array_extract_line_num(Idx)
172308 ,p_token_2 => 'PRODUCT_NAME'
172309 ,p_value_2 => xla_ae_journal_entry_pkg.g_cache_event.application_name
172310 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
172311 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
172312 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id);
172313
172314 ELSIF NVL(l_acct_reversal_source, 'N') IN ('Y','B') THEN
172315 --
172316 -- following sets the accounting attributes needed to reverse
172317 -- accounting for a distributeion
172318 --
172319
172320 --
172321 -- 5217187
172322 --
172323 l_rec_rev_acct_attrs.array_acct_attr_code(1):= 'GL_DATE';
172324 l_rec_rev_acct_attrs.array_date_value(1) := XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(
172325 g_array_event(l_event_id).array_value_num('header_index'));
172326 --
172327 --
172328
172329 l_rec_rev_acct_attrs.array_acct_attr_code(2) := 'ACCOUNTING_REVERSAL_OPTION';
172330 l_rec_rev_acct_attrs.array_char_value(2) := l_array_source_58(Idx);
172331 l_rec_rev_acct_attrs.array_acct_attr_code(3) := 'DISTRIBUTION_IDENTIFIER_1';
172332 l_rec_rev_acct_attrs.array_num_value(3) := l_array_source_69(Idx);
172333 l_rec_rev_acct_attrs.array_acct_attr_code(4) := 'DISTRIBUTION_TYPE';
172334 l_rec_rev_acct_attrs.array_char_value(4) := l_array_source_60(Idx);
172335 l_rec_rev_acct_attrs.array_acct_attr_code(5) := 'ENC_UPG_CR_CCID';
172336 l_rec_rev_acct_attrs.array_num_value(5) := l_array_source_70(Idx);
172337 l_rec_rev_acct_attrs.array_acct_attr_code(6) := 'ENC_UPG_CR_ENTERED_AMT';
172338 l_rec_rev_acct_attrs.array_num_value(6) := l_array_source_71(Idx);
172339 l_rec_rev_acct_attrs.array_acct_attr_code(7) := 'ENC_UPG_CR_ENTERED_CURR';
172340 l_rec_rev_acct_attrs.array_char_value(7) := g_array_event(l_event_id).array_value_char('source_72');
172341 l_rec_rev_acct_attrs.array_acct_attr_code(8) := 'ENC_UPG_CR_LEDGER_AMT';
172342 l_rec_rev_acct_attrs.array_num_value(8) := l_array_source_73(Idx);
172343 l_rec_rev_acct_attrs.array_acct_attr_code(9) := 'ENC_UPG_DR_CCID';
172344 l_rec_rev_acct_attrs.array_num_value(9) := l_array_source_74(Idx);
172345 l_rec_rev_acct_attrs.array_acct_attr_code(10) := 'ENC_UPG_DR_ENTERED_AMT';
172346 l_rec_rev_acct_attrs.array_num_value(10) := l_array_source_75(Idx);
172347 l_rec_rev_acct_attrs.array_acct_attr_code(11) := 'ENC_UPG_DR_ENTERED_CURR';
172348 l_rec_rev_acct_attrs.array_char_value(11) := g_array_event(l_event_id).array_value_char('source_72');
172349 l_rec_rev_acct_attrs.array_acct_attr_code(12) := 'ENC_UPG_DR_LEDGER_AMT';
172350 l_rec_rev_acct_attrs.array_num_value(12) := l_array_source_76(Idx);
172351 l_rec_rev_acct_attrs.array_acct_attr_code(13) := 'ENC_UPG_OPTION';
172352 l_rec_rev_acct_attrs.array_char_value(13) := l_array_source_77(Idx);
172353 l_rec_rev_acct_attrs.array_acct_attr_code(14) := 'PARTY_TYPE';
172354 l_rec_rev_acct_attrs.array_char_value(14) := g_array_event(l_event_id).array_value_char('source_88');
172355 l_rec_rev_acct_attrs.array_acct_attr_code(15) := 'REVERSED_DISTRIBUTION_ID1';
172356 l_rec_rev_acct_attrs.array_num_value(15) := l_array_source_89(Idx);
172357 l_rec_rev_acct_attrs.array_acct_attr_code(16) := 'REVERSED_DISTRIBUTION_TYPE';
172358 l_rec_rev_acct_attrs.array_char_value(16) := l_array_source_60(Idx);
172359 l_rec_rev_acct_attrs.array_acct_attr_code(17) := 'TAX_LINE_REF_ID';
172360 l_rec_rev_acct_attrs.array_num_value(17) := l_array_source_91(Idx);
172361 l_rec_rev_acct_attrs.array_acct_attr_code(18) := 'TAX_REC_NREC_DIST_REF_ID';
172365 l_rec_rev_acct_attrs.array_acct_attr_code(20) := 'UPG_CR_ENC_TYPE_ID';
172362 l_rec_rev_acct_attrs.array_num_value(18) := l_array_source_92(Idx);
172363 l_rec_rev_acct_attrs.array_acct_attr_code(19) := 'TAX_SUMMARY_LINE_REF_ID';
172364 l_rec_rev_acct_attrs.array_num_value(19) := l_array_source_93(Idx);
172366 l_rec_rev_acct_attrs.array_num_value(20) := l_array_source_94(Idx);
172367 l_rec_rev_acct_attrs.array_acct_attr_code(21) := 'UPG_DR_ENC_TYPE_ID';
172368 l_rec_rev_acct_attrs.array_num_value(21) := l_array_source_95(Idx);
172369
172370
172371 xla_ae_lines_pkg.SetAcctReversalAttrs
172372 (p_event_id => l_event_id
172373 ,p_rec_acct_attrs => l_rec_rev_acct_attrs
172374 ,p_calculate_acctd_flag => l_calculate_acctd_flag
172375 ,p_calculate_g_l_flag => l_calculate_g_l_flag);
172376 END IF;
172377
172378 IF NVL(l_acct_reversal_source, 'N') IN ('N','B') THEN
172379 l_actual_flag := NULL; l_actual_gain_loss_ref := '#####';
172380
172381 --
172382 AcctLineType_59 (
172383 p_application_id => p_application_id
172384 ,p_event_id => l_event_id
172385 ,p_calculate_acctd_flag => l_calculate_acctd_flag
172386 ,p_calculate_g_l_flag => l_calculate_g_l_flag
172387 ,p_actual_flag => l_actual_flag
172388 ,p_balance_type_code => l_balance_type_code
172389 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
172390
172391 , p_source_1 => l_array_source_1(Idx)
172392 , p_source_16 => l_array_source_16(Idx)
172393 , p_source_25 => l_array_source_25(Idx)
172394 , p_source_28 => l_array_source_28(Idx)
172395 , p_source_28_meaning => l_array_source_28_meaning(Idx)
172396 , p_source_58 => l_array_source_58(Idx)
172397 , p_source_60 => l_array_source_60(Idx)
172398 , p_source_62 => l_array_source_62(Idx)
172399 , p_source_63 => g_array_event(l_event_id).array_value_num('source_63')
172400 , p_source_69 => l_array_source_69(Idx)
172401 , p_source_70 => l_array_source_70(Idx)
172402 , p_source_71 => l_array_source_71(Idx)
172403 , p_source_72 => g_array_event(l_event_id).array_value_char('source_72')
172404 , p_source_73 => l_array_source_73(Idx)
172405 , p_source_74 => l_array_source_74(Idx)
172406 , p_source_75 => l_array_source_75(Idx)
172407 , p_source_76 => l_array_source_76(Idx)
172408 , p_source_77 => l_array_source_77(Idx)
172409 , p_source_78 => l_array_source_78(Idx)
172410 , p_source_79 => l_array_source_79(Idx)
172411 , p_source_80 => l_array_source_80(Idx)
172412 , p_source_81 => l_array_source_81(Idx)
172413 , p_source_82 => l_array_source_82(Idx)
172414 , p_source_83 => l_array_source_83(Idx)
172415 , p_source_84 => l_array_source_84(Idx)
172416 , p_source_85 => l_array_source_85(Idx)
172417 , p_source_85_meaning => l_array_source_85_meaning(Idx)
172418 , p_source_86 => g_array_event(l_event_id).array_value_num('source_86')
172419 , p_source_87 => g_array_event(l_event_id).array_value_num('source_87')
172420 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
172421 , p_source_89 => l_array_source_89(Idx)
172422 , p_source_90 => l_array_source_90(Idx)
172423 , p_source_91 => l_array_source_91(Idx)
172424 , p_source_92 => l_array_source_92(Idx)
172425 , p_source_93 => l_array_source_93(Idx)
172426 , p_source_94 => l_array_source_94(Idx)
172427 , p_source_95 => l_array_source_95(Idx)
172428 , p_source_96 => l_array_source_96(Idx)
172429 , p_source_97 => l_array_source_97(Idx)
172430 , p_source_98 => l_array_source_98(Idx)
172431 , p_source_99 => l_array_source_99(Idx)
172432 , p_source_100 => l_array_source_100(Idx)
172433 );
172434 If(l_balance_type_code = 'A') THEN
172435 l_actual_gain_loss_ref := l_gain_or_loss_ref;
172436 END IF;
172437
172438 --
172439
172440
172441 --
172442 AcctLineType_63 (
172443 p_application_id => p_application_id
172444 ,p_event_id => l_event_id
172445 ,p_calculate_acctd_flag => l_calculate_acctd_flag
172446 ,p_calculate_g_l_flag => l_calculate_g_l_flag
172447 ,p_actual_flag => l_actual_flag
172448 ,p_balance_type_code => l_balance_type_code
172449 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
172450
172451 , p_source_1 => l_array_source_1(Idx)
172452 , p_source_10 => g_array_event(l_event_id).array_value_char('source_10')
172453 , p_source_10_meaning => g_array_event(l_event_id).array_value_char('source_10_meaning')
172454 , p_source_15 => g_array_event(l_event_id).array_value_num('source_15')
172455 , p_source_16 => l_array_source_16(Idx)
172456 , p_source_17 => l_array_source_17(Idx)
172457 , p_source_17_meaning => l_array_source_17_meaning(Idx)
172458 , p_source_18 => g_array_event(l_event_id).array_value_num('source_18')
172459 , p_source_25 => l_array_source_25(Idx)
172460 , p_source_28 => l_array_source_28(Idx)
172461 , p_source_28_meaning => l_array_source_28_meaning(Idx)
172462 , p_source_43 => g_array_event(l_event_id).array_value_char('source_43')
172463 , p_source_43_meaning => g_array_event(l_event_id).array_value_char('source_43_meaning')
172464 , p_source_58 => l_array_source_58(Idx)
172465 , p_source_60 => l_array_source_60(Idx)
172466 , p_source_62 => l_array_source_62(Idx)
172467 , p_source_63 => g_array_event(l_event_id).array_value_num('source_63')
172468 , p_source_69 => l_array_source_69(Idx)
172469 , p_source_70 => l_array_source_70(Idx)
172470 , p_source_71 => l_array_source_71(Idx)
172471 , p_source_72 => g_array_event(l_event_id).array_value_char('source_72')
172472 , p_source_73 => l_array_source_73(Idx)
172473 , p_source_74 => l_array_source_74(Idx)
172474 , p_source_75 => l_array_source_75(Idx)
172475 , p_source_76 => l_array_source_76(Idx)
172476 , p_source_77 => l_array_source_77(Idx)
172477 , p_source_82 => l_array_source_82(Idx)
172478 , p_source_83 => l_array_source_83(Idx)
172479 , p_source_84 => l_array_source_84(Idx)
172480 , p_source_85 => l_array_source_85(Idx)
172481 , p_source_85_meaning => l_array_source_85_meaning(Idx)
172482 , p_source_86 => g_array_event(l_event_id).array_value_num('source_86')
172483 , p_source_87 => g_array_event(l_event_id).array_value_num('source_87')
172487 , p_source_91 => l_array_source_91(Idx)
172484 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
172485 , p_source_89 => l_array_source_89(Idx)
172486 , p_source_90 => l_array_source_90(Idx)
172488 , p_source_92 => l_array_source_92(Idx)
172489 , p_source_93 => l_array_source_93(Idx)
172490 , p_source_94 => l_array_source_94(Idx)
172491 , p_source_95 => l_array_source_95(Idx)
172492 , p_source_96 => l_array_source_96(Idx)
172493 , p_source_97 => l_array_source_97(Idx)
172494 , p_source_98 => l_array_source_98(Idx)
172495 , p_source_99 => l_array_source_99(Idx)
172496 , p_source_100 => l_array_source_100(Idx)
172497 );
172498 If(l_balance_type_code = 'A') THEN
172499 l_actual_gain_loss_ref := l_gain_or_loss_ref;
172500 END IF;
172501
172502 --
172503
172504
172505 --
172506 AcctLineType_67 (
172507 p_application_id => p_application_id
172508 ,p_event_id => l_event_id
172509 ,p_calculate_acctd_flag => l_calculate_acctd_flag
172510 ,p_calculate_g_l_flag => l_calculate_g_l_flag
172511 ,p_actual_flag => l_actual_flag
172512 ,p_balance_type_code => l_balance_type_code
172513 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
172514
172515 , p_source_1 => l_array_source_1(Idx)
172516 , p_source_10 => g_array_event(l_event_id).array_value_char('source_10')
172517 , p_source_10_meaning => g_array_event(l_event_id).array_value_char('source_10_meaning')
172518 , p_source_15 => g_array_event(l_event_id).array_value_num('source_15')
172519 , p_source_16 => l_array_source_16(Idx)
172520 , p_source_17 => l_array_source_17(Idx)
172521 , p_source_17_meaning => l_array_source_17_meaning(Idx)
172522 , p_source_18 => g_array_event(l_event_id).array_value_num('source_18')
172523 , p_source_25 => l_array_source_25(Idx)
172524 , p_source_28 => l_array_source_28(Idx)
172525 , p_source_28_meaning => l_array_source_28_meaning(Idx)
172526 , p_source_43 => g_array_event(l_event_id).array_value_char('source_43')
172527 , p_source_43_meaning => g_array_event(l_event_id).array_value_char('source_43_meaning')
172528 , p_source_54 => l_array_source_54(Idx)
172529 , p_source_54_meaning => l_array_source_54_meaning(Idx)
172530 , p_source_58 => l_array_source_58(Idx)
172531 , p_source_60 => l_array_source_60(Idx)
172532 , p_source_62 => l_array_source_62(Idx)
172533 , p_source_63 => g_array_event(l_event_id).array_value_num('source_63')
172534 , p_source_69 => l_array_source_69(Idx)
172535 , p_source_70 => l_array_source_70(Idx)
172536 , p_source_71 => l_array_source_71(Idx)
172537 , p_source_72 => g_array_event(l_event_id).array_value_char('source_72')
172538 , p_source_73 => l_array_source_73(Idx)
172539 , p_source_74 => l_array_source_74(Idx)
172540 , p_source_75 => l_array_source_75(Idx)
172541 , p_source_76 => l_array_source_76(Idx)
172542 , p_source_77 => l_array_source_77(Idx)
172543 , p_source_82 => l_array_source_82(Idx)
172544 , p_source_83 => l_array_source_83(Idx)
172545 , p_source_84 => l_array_source_84(Idx)
172546 , p_source_85 => l_array_source_85(Idx)
172547 , p_source_85_meaning => l_array_source_85_meaning(Idx)
172548 , p_source_86 => g_array_event(l_event_id).array_value_num('source_86')
172549 , p_source_87 => g_array_event(l_event_id).array_value_num('source_87')
172550 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
172551 , p_source_89 => l_array_source_89(Idx)
172552 , p_source_90 => l_array_source_90(Idx)
172553 , p_source_91 => l_array_source_91(Idx)
172554 , p_source_92 => l_array_source_92(Idx)
172555 , p_source_93 => l_array_source_93(Idx)
172556 , p_source_94 => l_array_source_94(Idx)
172557 , p_source_95 => l_array_source_95(Idx)
172558 , p_source_96 => l_array_source_96(Idx)
172559 , p_source_97 => l_array_source_97(Idx)
172560 , p_source_98 => l_array_source_98(Idx)
172561 , p_source_99 => l_array_source_99(Idx)
172562 , p_source_100 => l_array_source_100(Idx)
172563 );
172564 If(l_balance_type_code = 'A') THEN
172565 l_actual_gain_loss_ref := l_gain_or_loss_ref;
172566 END IF;
172567
172568 --
172569
172570
172571 --
172572 AcctLineType_109 (
172573 p_application_id => p_application_id
172574 ,p_event_id => l_event_id
172575 ,p_calculate_acctd_flag => l_calculate_acctd_flag
172576 ,p_calculate_g_l_flag => l_calculate_g_l_flag
172577 ,p_actual_flag => l_actual_flag
172578 ,p_balance_type_code => l_balance_type_code
172579 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
172580
172581 , p_source_1 => l_array_source_1(Idx)
172582 , p_source_16 => l_array_source_16(Idx)
172583 , p_source_25 => l_array_source_25(Idx)
172584 , p_source_28 => l_array_source_28(Idx)
172585 , p_source_28_meaning => l_array_source_28_meaning(Idx)
172586 , p_source_58 => l_array_source_58(Idx)
172587 , p_source_60 => l_array_source_60(Idx)
172588 , p_source_62 => l_array_source_62(Idx)
172589 , p_source_63 => g_array_event(l_event_id).array_value_num('source_63')
172590 , p_source_69 => l_array_source_69(Idx)
172591 , p_source_70 => l_array_source_70(Idx)
172592 , p_source_71 => l_array_source_71(Idx)
172593 , p_source_72 => g_array_event(l_event_id).array_value_char('source_72')
172594 , p_source_73 => l_array_source_73(Idx)
172595 , p_source_74 => l_array_source_74(Idx)
172596 , p_source_75 => l_array_source_75(Idx)
172597 , p_source_76 => l_array_source_76(Idx)
172598 , p_source_77 => l_array_source_77(Idx)
172599 , p_source_78 => l_array_source_78(Idx)
172600 , p_source_82 => l_array_source_82(Idx)
172601 , p_source_83 => l_array_source_83(Idx)
172602 , p_source_84 => l_array_source_84(Idx)
172603 , p_source_85 => l_array_source_85(Idx)
172604 , p_source_85_meaning => l_array_source_85_meaning(Idx)
172605 , p_source_86 => g_array_event(l_event_id).array_value_num('source_86')
172606 , p_source_87 => g_array_event(l_event_id).array_value_num('source_87')
172607 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
172608 , p_source_89 => l_array_source_89(Idx)
172609 , p_source_90 => l_array_source_90(Idx)
172610 , p_source_91 => l_array_source_91(Idx)
172614 , p_source_95 => l_array_source_95(Idx)
172611 , p_source_92 => l_array_source_92(Idx)
172612 , p_source_93 => l_array_source_93(Idx)
172613 , p_source_94 => l_array_source_94(Idx)
172615 , p_source_96 => l_array_source_96(Idx)
172616 , p_source_97 => l_array_source_97(Idx)
172617 , p_source_98 => l_array_source_98(Idx)
172618 , p_source_99 => l_array_source_99(Idx)
172619 , p_source_100 => l_array_source_100(Idx)
172620 , p_source_140 => l_array_source_140(Idx)
172621 , p_source_140_meaning => l_array_source_140_meaning(Idx)
172622 , p_source_145 => l_array_source_145(Idx)
172623 , p_source_145_meaning => l_array_source_145_meaning(Idx)
172624 , p_source_146 => g_array_event(l_event_id).array_value_date('source_146')
172625 , p_source_147 => g_array_event(l_event_id).array_value_num('source_147')
172626 , p_source_148 => g_array_event(l_event_id).array_value_char('source_148')
172627 );
172628 If(l_balance_type_code = 'A') THEN
172629 l_actual_gain_loss_ref := l_gain_or_loss_ref;
172630 END IF;
172631
172632 --
172633
172634
172635 --
172636 AcctLineType_119 (
172637 p_application_id => p_application_id
172638 ,p_event_id => l_event_id
172639 ,p_calculate_acctd_flag => l_calculate_acctd_flag
172640 ,p_calculate_g_l_flag => l_calculate_g_l_flag
172641 ,p_actual_flag => l_actual_flag
172642 ,p_balance_type_code => l_balance_type_code
172643 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
172644
172645 , p_source_1 => l_array_source_1(Idx)
172646 , p_source_10 => g_array_event(l_event_id).array_value_char('source_10')
172647 , p_source_10_meaning => g_array_event(l_event_id).array_value_char('source_10_meaning')
172648 , p_source_15 => g_array_event(l_event_id).array_value_num('source_15')
172649 , p_source_16 => l_array_source_16(Idx)
172650 , p_source_17 => l_array_source_17(Idx)
172651 , p_source_17_meaning => l_array_source_17_meaning(Idx)
172652 , p_source_18 => g_array_event(l_event_id).array_value_num('source_18')
172653 , p_source_25 => l_array_source_25(Idx)
172654 , p_source_28 => l_array_source_28(Idx)
172655 , p_source_28_meaning => l_array_source_28_meaning(Idx)
172656 , p_source_43 => g_array_event(l_event_id).array_value_char('source_43')
172657 , p_source_43_meaning => g_array_event(l_event_id).array_value_char('source_43_meaning')
172658 , p_source_54 => l_array_source_54(Idx)
172659 , p_source_54_meaning => l_array_source_54_meaning(Idx)
172660 , p_source_58 => l_array_source_58(Idx)
172661 , p_source_60 => l_array_source_60(Idx)
172662 , p_source_62 => l_array_source_62(Idx)
172663 , p_source_63 => g_array_event(l_event_id).array_value_num('source_63')
172664 , p_source_69 => l_array_source_69(Idx)
172665 , p_source_70 => l_array_source_70(Idx)
172666 , p_source_71 => l_array_source_71(Idx)
172667 , p_source_72 => g_array_event(l_event_id).array_value_char('source_72')
172668 , p_source_73 => l_array_source_73(Idx)
172669 , p_source_74 => l_array_source_74(Idx)
172670 , p_source_75 => l_array_source_75(Idx)
172671 , p_source_76 => l_array_source_76(Idx)
172672 , p_source_77 => l_array_source_77(Idx)
172673 , p_source_78 => l_array_source_78(Idx)
172674 , p_source_82 => l_array_source_82(Idx)
172675 , p_source_83 => l_array_source_83(Idx)
172676 , p_source_84 => l_array_source_84(Idx)
172677 , p_source_85 => l_array_source_85(Idx)
172678 , p_source_85_meaning => l_array_source_85_meaning(Idx)
172679 , p_source_86 => g_array_event(l_event_id).array_value_num('source_86')
172680 , p_source_87 => g_array_event(l_event_id).array_value_num('source_87')
172681 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
172682 , p_source_89 => l_array_source_89(Idx)
172683 , p_source_90 => l_array_source_90(Idx)
172684 , p_source_91 => l_array_source_91(Idx)
172685 , p_source_92 => l_array_source_92(Idx)
172686 , p_source_93 => l_array_source_93(Idx)
172687 , p_source_94 => l_array_source_94(Idx)
172688 , p_source_95 => l_array_source_95(Idx)
172689 , p_source_96 => l_array_source_96(Idx)
172690 , p_source_97 => l_array_source_97(Idx)
172691 , p_source_98 => l_array_source_98(Idx)
172692 , p_source_99 => l_array_source_99(Idx)
172693 , p_source_100 => l_array_source_100(Idx)
172694 , p_source_146 => g_array_event(l_event_id).array_value_date('source_146')
172695 , p_source_147 => g_array_event(l_event_id).array_value_num('source_147')
172696 , p_source_148 => g_array_event(l_event_id).array_value_char('source_148')
172697 );
172698 If(l_balance_type_code = 'A') THEN
172699 l_actual_gain_loss_ref := l_gain_or_loss_ref;
172700 END IF;
172701
172702 --
172703
172704
172705 --
172706 AcctLineType_128 (
172707 p_application_id => p_application_id
172708 ,p_event_id => l_event_id
172709 ,p_calculate_acctd_flag => l_calculate_acctd_flag
172710 ,p_calculate_g_l_flag => l_calculate_g_l_flag
172711 ,p_actual_flag => l_actual_flag
172712 ,p_balance_type_code => l_balance_type_code
172713 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
172714
172715 , p_source_1 => l_array_source_1(Idx)
172716 , p_source_16 => l_array_source_16(Idx)
172717 , p_source_25 => l_array_source_25(Idx)
172718 , p_source_28 => l_array_source_28(Idx)
172719 , p_source_28_meaning => l_array_source_28_meaning(Idx)
172720 , p_source_58 => l_array_source_58(Idx)
172721 , p_source_60 => l_array_source_60(Idx)
172722 , p_source_62 => l_array_source_62(Idx)
172723 , p_source_63 => g_array_event(l_event_id).array_value_num('source_63')
172724 , p_source_69 => l_array_source_69(Idx)
172725 , p_source_70 => l_array_source_70(Idx)
172726 , p_source_71 => l_array_source_71(Idx)
172727 , p_source_72 => g_array_event(l_event_id).array_value_char('source_72')
172728 , p_source_73 => l_array_source_73(Idx)
172729 , p_source_74 => l_array_source_74(Idx)
172730 , p_source_75 => l_array_source_75(Idx)
172731 , p_source_76 => l_array_source_76(Idx)
172732 , p_source_77 => l_array_source_77(Idx)
172733 , p_source_78 => l_array_source_78(Idx)
172734 , p_source_82 => l_array_source_82(Idx)
172735 , p_source_83 => l_array_source_83(Idx)
172739 , p_source_86 => g_array_event(l_event_id).array_value_num('source_86')
172736 , p_source_84 => l_array_source_84(Idx)
172737 , p_source_85 => l_array_source_85(Idx)
172738 , p_source_85_meaning => l_array_source_85_meaning(Idx)
172740 , p_source_87 => g_array_event(l_event_id).array_value_num('source_87')
172741 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
172742 , p_source_89 => l_array_source_89(Idx)
172743 , p_source_90 => l_array_source_90(Idx)
172744 , p_source_91 => l_array_source_91(Idx)
172745 , p_source_92 => l_array_source_92(Idx)
172746 , p_source_93 => l_array_source_93(Idx)
172747 , p_source_94 => l_array_source_94(Idx)
172748 , p_source_95 => l_array_source_95(Idx)
172749 , p_source_96 => l_array_source_96(Idx)
172750 , p_source_97 => l_array_source_97(Idx)
172751 , p_source_98 => l_array_source_98(Idx)
172752 , p_source_99 => l_array_source_99(Idx)
172753 , p_source_100 => l_array_source_100(Idx)
172754 , p_source_146 => g_array_event(l_event_id).array_value_date('source_146')
172755 , p_source_147 => g_array_event(l_event_id).array_value_num('source_147')
172756 , p_source_148 => g_array_event(l_event_id).array_value_char('source_148')
172757 );
172758 If(l_balance_type_code = 'A') THEN
172759 l_actual_gain_loss_ref := l_gain_or_loss_ref;
172760 END IF;
172761
172762 --
172763
172764
172765 --
172766 AcctLineType_150 (
172767 p_application_id => p_application_id
172768 ,p_event_id => l_event_id
172769 ,p_calculate_acctd_flag => l_calculate_acctd_flag
172770 ,p_calculate_g_l_flag => l_calculate_g_l_flag
172771 ,p_actual_flag => l_actual_flag
172772 ,p_balance_type_code => l_balance_type_code
172773 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
172774
172775 , p_source_1 => l_array_source_1(Idx)
172776 , p_source_16 => l_array_source_16(Idx)
172777 , p_source_25 => l_array_source_25(Idx)
172778 , p_source_28 => l_array_source_28(Idx)
172779 , p_source_28_meaning => l_array_source_28_meaning(Idx)
172780 , p_source_54 => l_array_source_54(Idx)
172781 , p_source_54_meaning => l_array_source_54_meaning(Idx)
172782 , p_source_58 => l_array_source_58(Idx)
172783 , p_source_60 => l_array_source_60(Idx)
172784 , p_source_62 => l_array_source_62(Idx)
172785 , p_source_63 => g_array_event(l_event_id).array_value_num('source_63')
172786 , p_source_69 => l_array_source_69(Idx)
172787 , p_source_70 => l_array_source_70(Idx)
172788 , p_source_71 => l_array_source_71(Idx)
172789 , p_source_72 => g_array_event(l_event_id).array_value_char('source_72')
172790 , p_source_73 => l_array_source_73(Idx)
172791 , p_source_74 => l_array_source_74(Idx)
172792 , p_source_75 => l_array_source_75(Idx)
172793 , p_source_76 => l_array_source_76(Idx)
172794 , p_source_77 => l_array_source_77(Idx)
172795 , p_source_78 => l_array_source_78(Idx)
172796 , p_source_82 => l_array_source_82(Idx)
172797 , p_source_83 => l_array_source_83(Idx)
172798 , p_source_84 => l_array_source_84(Idx)
172799 , p_source_85 => l_array_source_85(Idx)
172800 , p_source_85_meaning => l_array_source_85_meaning(Idx)
172801 , p_source_86 => g_array_event(l_event_id).array_value_num('source_86')
172802 , p_source_87 => g_array_event(l_event_id).array_value_num('source_87')
172803 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
172804 , p_source_89 => l_array_source_89(Idx)
172805 , p_source_90 => l_array_source_90(Idx)
172806 , p_source_91 => l_array_source_91(Idx)
172807 , p_source_92 => l_array_source_92(Idx)
172808 , p_source_93 => l_array_source_93(Idx)
172809 , p_source_94 => l_array_source_94(Idx)
172810 , p_source_95 => l_array_source_95(Idx)
172811 , p_source_96 => l_array_source_96(Idx)
172812 , p_source_97 => l_array_source_97(Idx)
172813 , p_source_98 => l_array_source_98(Idx)
172814 , p_source_99 => l_array_source_99(Idx)
172815 , p_source_100 => l_array_source_100(Idx)
172816 , p_source_146 => g_array_event(l_event_id).array_value_date('source_146')
172817 , p_source_147 => g_array_event(l_event_id).array_value_num('source_147')
172818 , p_source_148 => g_array_event(l_event_id).array_value_char('source_148')
172819 );
172820 If(l_balance_type_code = 'A') THEN
172821 l_actual_gain_loss_ref := l_gain_or_loss_ref;
172822 END IF;
172823
172824 --
172825
172826
172827 --
172828 AcctLineType_167 (
172829 p_application_id => p_application_id
172830 ,p_event_id => l_event_id
172831 ,p_calculate_acctd_flag => l_calculate_acctd_flag
172832 ,p_calculate_g_l_flag => l_calculate_g_l_flag
172833 ,p_actual_flag => l_actual_flag
172834 ,p_balance_type_code => l_balance_type_code
172835 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
172836
172837 , p_source_1 => l_array_source_1(Idx)
172838 , p_source_10 => g_array_event(l_event_id).array_value_char('source_10')
172839 , p_source_10_meaning => g_array_event(l_event_id).array_value_char('source_10_meaning')
172840 , p_source_16 => l_array_source_16(Idx)
172841 , p_source_29 => g_array_event(l_event_id).array_value_num('source_29')
172842 , p_source_58 => l_array_source_58(Idx)
172843 , p_source_60 => l_array_source_60(Idx)
172844 , p_source_62 => l_array_source_62(Idx)
172845 , p_source_63 => g_array_event(l_event_id).array_value_num('source_63')
172846 , p_source_69 => l_array_source_69(Idx)
172847 , p_source_70 => l_array_source_70(Idx)
172848 , p_source_71 => l_array_source_71(Idx)
172849 , p_source_72 => g_array_event(l_event_id).array_value_char('source_72')
172850 , p_source_73 => l_array_source_73(Idx)
172851 , p_source_74 => l_array_source_74(Idx)
172852 , p_source_75 => l_array_source_75(Idx)
172853 , p_source_76 => l_array_source_76(Idx)
172854 , p_source_77 => l_array_source_77(Idx)
172855 , p_source_78 => l_array_source_78(Idx)
172856 , p_source_82 => l_array_source_82(Idx)
172857 , p_source_83 => l_array_source_83(Idx)
172858 , p_source_84 => l_array_source_84(Idx)
172859 , p_source_85 => l_array_source_85(Idx)
172860 , p_source_85_meaning => l_array_source_85_meaning(Idx)
172861 , p_source_86 => g_array_event(l_event_id).array_value_num('source_86')
172865 , p_source_90 => l_array_source_90(Idx)
172862 , p_source_87 => g_array_event(l_event_id).array_value_num('source_87')
172863 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
172864 , p_source_89 => l_array_source_89(Idx)
172866 , p_source_91 => l_array_source_91(Idx)
172867 , p_source_92 => l_array_source_92(Idx)
172868 , p_source_93 => l_array_source_93(Idx)
172869 , p_source_94 => l_array_source_94(Idx)
172870 , p_source_95 => l_array_source_95(Idx)
172871 , p_source_96 => l_array_source_96(Idx)
172872 , p_source_97 => l_array_source_97(Idx)
172873 , p_source_98 => l_array_source_98(Idx)
172874 , p_source_99 => l_array_source_99(Idx)
172875 , p_source_100 => l_array_source_100(Idx)
172876 , p_source_145 => l_array_source_145(Idx)
172877 , p_source_145_meaning => l_array_source_145_meaning(Idx)
172878 , p_source_146 => g_array_event(l_event_id).array_value_date('source_146')
172879 , p_source_147 => g_array_event(l_event_id).array_value_num('source_147')
172880 , p_source_148 => g_array_event(l_event_id).array_value_char('source_148')
172881 );
172882 If(l_balance_type_code = 'A') THEN
172883 l_actual_gain_loss_ref := l_gain_or_loss_ref;
172884 END IF;
172885
172886 --
172887
172888
172889 --
172890 AcctLineType_168 (
172891 p_application_id => p_application_id
172892 ,p_event_id => l_event_id
172893 ,p_calculate_acctd_flag => l_calculate_acctd_flag
172894 ,p_calculate_g_l_flag => l_calculate_g_l_flag
172895 ,p_actual_flag => l_actual_flag
172896 ,p_balance_type_code => l_balance_type_code
172897 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
172898
172899 , p_source_1 => l_array_source_1(Idx)
172900 , p_source_10 => g_array_event(l_event_id).array_value_char('source_10')
172901 , p_source_10_meaning => g_array_event(l_event_id).array_value_char('source_10_meaning')
172902 , p_source_16 => l_array_source_16(Idx)
172903 , p_source_29 => g_array_event(l_event_id).array_value_num('source_29')
172904 , p_source_58 => l_array_source_58(Idx)
172905 , p_source_60 => l_array_source_60(Idx)
172906 , p_source_62 => l_array_source_62(Idx)
172907 , p_source_63 => g_array_event(l_event_id).array_value_num('source_63')
172908 , p_source_69 => l_array_source_69(Idx)
172909 , p_source_70 => l_array_source_70(Idx)
172910 , p_source_71 => l_array_source_71(Idx)
172911 , p_source_72 => g_array_event(l_event_id).array_value_char('source_72')
172912 , p_source_73 => l_array_source_73(Idx)
172913 , p_source_74 => l_array_source_74(Idx)
172914 , p_source_75 => l_array_source_75(Idx)
172915 , p_source_76 => l_array_source_76(Idx)
172916 , p_source_77 => l_array_source_77(Idx)
172917 , p_source_78 => l_array_source_78(Idx)
172918 , p_source_82 => l_array_source_82(Idx)
172919 , p_source_83 => l_array_source_83(Idx)
172920 , p_source_84 => l_array_source_84(Idx)
172921 , p_source_85 => l_array_source_85(Idx)
172922 , p_source_85_meaning => l_array_source_85_meaning(Idx)
172923 , p_source_86 => g_array_event(l_event_id).array_value_num('source_86')
172924 , p_source_87 => g_array_event(l_event_id).array_value_num('source_87')
172925 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
172926 , p_source_89 => l_array_source_89(Idx)
172927 , p_source_90 => l_array_source_90(Idx)
172928 , p_source_91 => l_array_source_91(Idx)
172929 , p_source_92 => l_array_source_92(Idx)
172930 , p_source_93 => l_array_source_93(Idx)
172931 , p_source_94 => l_array_source_94(Idx)
172932 , p_source_95 => l_array_source_95(Idx)
172933 , p_source_96 => l_array_source_96(Idx)
172934 , p_source_97 => l_array_source_97(Idx)
172935 , p_source_98 => l_array_source_98(Idx)
172936 , p_source_99 => l_array_source_99(Idx)
172937 , p_source_100 => l_array_source_100(Idx)
172938 , p_source_145 => l_array_source_145(Idx)
172939 , p_source_145_meaning => l_array_source_145_meaning(Idx)
172940 , p_source_146 => g_array_event(l_event_id).array_value_date('source_146')
172941 , p_source_147 => g_array_event(l_event_id).array_value_num('source_147')
172942 , p_source_148 => g_array_event(l_event_id).array_value_char('source_148')
172943 );
172944 If(l_balance_type_code = 'A') THEN
172945 l_actual_gain_loss_ref := l_gain_or_loss_ref;
172946 END IF;
172947
172948 --
172949
172950
172951 --
172952 AcctLineType_169 (
172953 p_application_id => p_application_id
172954 ,p_event_id => l_event_id
172955 ,p_calculate_acctd_flag => l_calculate_acctd_flag
172956 ,p_calculate_g_l_flag => l_calculate_g_l_flag
172957 ,p_actual_flag => l_actual_flag
172958 ,p_balance_type_code => l_balance_type_code
172959 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
172960
172961 , p_source_1 => l_array_source_1(Idx)
172962 , p_source_10 => g_array_event(l_event_id).array_value_char('source_10')
172963 , p_source_10_meaning => g_array_event(l_event_id).array_value_char('source_10_meaning')
172964 , p_source_16 => l_array_source_16(Idx)
172965 , p_source_29 => g_array_event(l_event_id).array_value_num('source_29')
172966 , p_source_58 => l_array_source_58(Idx)
172967 , p_source_60 => l_array_source_60(Idx)
172968 , p_source_62 => l_array_source_62(Idx)
172969 , p_source_63 => g_array_event(l_event_id).array_value_num('source_63')
172970 , p_source_69 => l_array_source_69(Idx)
172971 , p_source_70 => l_array_source_70(Idx)
172972 , p_source_71 => l_array_source_71(Idx)
172973 , p_source_72 => g_array_event(l_event_id).array_value_char('source_72')
172974 , p_source_73 => l_array_source_73(Idx)
172975 , p_source_74 => l_array_source_74(Idx)
172976 , p_source_75 => l_array_source_75(Idx)
172977 , p_source_76 => l_array_source_76(Idx)
172978 , p_source_77 => l_array_source_77(Idx)
172979 , p_source_78 => l_array_source_78(Idx)
172980 , p_source_82 => l_array_source_82(Idx)
172981 , p_source_83 => l_array_source_83(Idx)
172982 , p_source_84 => l_array_source_84(Idx)
172983 , p_source_85 => l_array_source_85(Idx)
172984 , p_source_85_meaning => l_array_source_85_meaning(Idx)
172985 , p_source_86 => g_array_event(l_event_id).array_value_num('source_86')
172989 , p_source_90 => l_array_source_90(Idx)
172986 , p_source_87 => g_array_event(l_event_id).array_value_num('source_87')
172987 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
172988 , p_source_89 => l_array_source_89(Idx)
172990 , p_source_91 => l_array_source_91(Idx)
172991 , p_source_92 => l_array_source_92(Idx)
172992 , p_source_93 => l_array_source_93(Idx)
172993 , p_source_94 => l_array_source_94(Idx)
172994 , p_source_95 => l_array_source_95(Idx)
172995 , p_source_96 => l_array_source_96(Idx)
172996 , p_source_97 => l_array_source_97(Idx)
172997 , p_source_98 => l_array_source_98(Idx)
172998 , p_source_99 => l_array_source_99(Idx)
172999 , p_source_100 => l_array_source_100(Idx)
173000 , p_source_145 => l_array_source_145(Idx)
173001 , p_source_145_meaning => l_array_source_145_meaning(Idx)
173002 , p_source_146 => g_array_event(l_event_id).array_value_date('source_146')
173003 , p_source_147 => g_array_event(l_event_id).array_value_num('source_147')
173004 , p_source_148 => g_array_event(l_event_id).array_value_char('source_148')
173005 );
173006 If(l_balance_type_code = 'A') THEN
173007 l_actual_gain_loss_ref := l_gain_or_loss_ref;
173008 END IF;
173009
173010 --
173011
173012
173013 --
173014 AcctLineType_183 (
173015 p_application_id => p_application_id
173016 ,p_event_id => l_event_id
173017 ,p_calculate_acctd_flag => l_calculate_acctd_flag
173018 ,p_calculate_g_l_flag => l_calculate_g_l_flag
173019 ,p_actual_flag => l_actual_flag
173020 ,p_balance_type_code => l_balance_type_code
173021 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
173022
173023 , p_source_1 => l_array_source_1(Idx)
173024 , p_source_16 => l_array_source_16(Idx)
173025 , p_source_25 => l_array_source_25(Idx)
173026 , p_source_28 => l_array_source_28(Idx)
173027 , p_source_28_meaning => l_array_source_28_meaning(Idx)
173028 , p_source_58 => l_array_source_58(Idx)
173029 , p_source_60 => l_array_source_60(Idx)
173030 , p_source_62 => l_array_source_62(Idx)
173031 , p_source_63 => g_array_event(l_event_id).array_value_num('source_63')
173032 , p_source_69 => l_array_source_69(Idx)
173033 , p_source_70 => l_array_source_70(Idx)
173034 , p_source_71 => l_array_source_71(Idx)
173035 , p_source_72 => g_array_event(l_event_id).array_value_char('source_72')
173036 , p_source_73 => l_array_source_73(Idx)
173037 , p_source_74 => l_array_source_74(Idx)
173038 , p_source_75 => l_array_source_75(Idx)
173039 , p_source_76 => l_array_source_76(Idx)
173040 , p_source_77 => l_array_source_77(Idx)
173041 , p_source_78 => l_array_source_78(Idx)
173042 , p_source_82 => l_array_source_82(Idx)
173043 , p_source_83 => l_array_source_83(Idx)
173044 , p_source_84 => l_array_source_84(Idx)
173045 , p_source_85 => l_array_source_85(Idx)
173046 , p_source_85_meaning => l_array_source_85_meaning(Idx)
173047 , p_source_86 => g_array_event(l_event_id).array_value_num('source_86')
173048 , p_source_87 => g_array_event(l_event_id).array_value_num('source_87')
173049 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
173050 , p_source_89 => l_array_source_89(Idx)
173051 , p_source_90 => l_array_source_90(Idx)
173052 , p_source_91 => l_array_source_91(Idx)
173053 , p_source_92 => l_array_source_92(Idx)
173054 , p_source_93 => l_array_source_93(Idx)
173055 , p_source_94 => l_array_source_94(Idx)
173056 , p_source_95 => l_array_source_95(Idx)
173057 , p_source_96 => l_array_source_96(Idx)
173058 , p_source_97 => l_array_source_97(Idx)
173059 , p_source_98 => l_array_source_98(Idx)
173060 , p_source_99 => l_array_source_99(Idx)
173061 , p_source_100 => l_array_source_100(Idx)
173062 , p_source_146 => g_array_event(l_event_id).array_value_date('source_146')
173063 , p_source_147 => g_array_event(l_event_id).array_value_num('source_147')
173064 , p_source_148 => g_array_event(l_event_id).array_value_char('source_148')
173065 );
173066 If(l_balance_type_code = 'A') THEN
173067 l_actual_gain_loss_ref := l_gain_or_loss_ref;
173068 END IF;
173069
173070 --
173071
173072
173073 --
173074 AcctLineType_190 (
173075 p_application_id => p_application_id
173076 ,p_event_id => l_event_id
173077 ,p_calculate_acctd_flag => l_calculate_acctd_flag
173078 ,p_calculate_g_l_flag => l_calculate_g_l_flag
173079 ,p_actual_flag => l_actual_flag
173080 ,p_balance_type_code => l_balance_type_code
173081 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
173082
173083 , p_source_1 => l_array_source_1(Idx)
173084 , p_source_16 => l_array_source_16(Idx)
173085 , p_source_25 => l_array_source_25(Idx)
173086 , p_source_28 => l_array_source_28(Idx)
173087 , p_source_28_meaning => l_array_source_28_meaning(Idx)
173088 , p_source_54 => l_array_source_54(Idx)
173089 , p_source_54_meaning => l_array_source_54_meaning(Idx)
173090 , p_source_58 => l_array_source_58(Idx)
173091 , p_source_60 => l_array_source_60(Idx)
173092 , p_source_62 => l_array_source_62(Idx)
173093 , p_source_63 => g_array_event(l_event_id).array_value_num('source_63')
173094 , p_source_69 => l_array_source_69(Idx)
173095 , p_source_70 => l_array_source_70(Idx)
173096 , p_source_71 => l_array_source_71(Idx)
173097 , p_source_72 => g_array_event(l_event_id).array_value_char('source_72')
173098 , p_source_73 => l_array_source_73(Idx)
173099 , p_source_74 => l_array_source_74(Idx)
173100 , p_source_75 => l_array_source_75(Idx)
173101 , p_source_76 => l_array_source_76(Idx)
173102 , p_source_77 => l_array_source_77(Idx)
173103 , p_source_78 => l_array_source_78(Idx)
173104 , p_source_82 => l_array_source_82(Idx)
173105 , p_source_83 => l_array_source_83(Idx)
173106 , p_source_84 => l_array_source_84(Idx)
173107 , p_source_85 => l_array_source_85(Idx)
173108 , p_source_85_meaning => l_array_source_85_meaning(Idx)
173109 , p_source_86 => g_array_event(l_event_id).array_value_num('source_86')
173110 , p_source_87 => g_array_event(l_event_id).array_value_num('source_87')
173111 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
173112 , p_source_89 => l_array_source_89(Idx)
173116 , p_source_93 => l_array_source_93(Idx)
173113 , p_source_90 => l_array_source_90(Idx)
173114 , p_source_91 => l_array_source_91(Idx)
173115 , p_source_92 => l_array_source_92(Idx)
173117 , p_source_94 => l_array_source_94(Idx)
173118 , p_source_95 => l_array_source_95(Idx)
173119 , p_source_96 => l_array_source_96(Idx)
173120 , p_source_97 => l_array_source_97(Idx)
173121 , p_source_98 => l_array_source_98(Idx)
173122 , p_source_99 => l_array_source_99(Idx)
173123 , p_source_100 => l_array_source_100(Idx)
173124 , p_source_145 => l_array_source_145(Idx)
173125 , p_source_145_meaning => l_array_source_145_meaning(Idx)
173126 , p_source_146 => g_array_event(l_event_id).array_value_date('source_146')
173127 , p_source_147 => g_array_event(l_event_id).array_value_num('source_147')
173128 , p_source_148 => g_array_event(l_event_id).array_value_char('source_148')
173129 );
173130 If(l_balance_type_code = 'A') THEN
173131 l_actual_gain_loss_ref := l_gain_or_loss_ref;
173132 END IF;
173133
173134 --
173135
173136
173137 --
173138 AcctLineType_191 (
173139 p_application_id => p_application_id
173140 ,p_event_id => l_event_id
173141 ,p_calculate_acctd_flag => l_calculate_acctd_flag
173142 ,p_calculate_g_l_flag => l_calculate_g_l_flag
173143 ,p_actual_flag => l_actual_flag
173144 ,p_balance_type_code => l_balance_type_code
173145 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
173146
173147 , p_source_1 => l_array_source_1(Idx)
173148 , p_source_16 => l_array_source_16(Idx)
173149 , p_source_25 => l_array_source_25(Idx)
173150 , p_source_28 => l_array_source_28(Idx)
173151 , p_source_28_meaning => l_array_source_28_meaning(Idx)
173152 , p_source_54 => l_array_source_54(Idx)
173153 , p_source_54_meaning => l_array_source_54_meaning(Idx)
173154 , p_source_58 => l_array_source_58(Idx)
173155 , p_source_60 => l_array_source_60(Idx)
173156 , p_source_62 => l_array_source_62(Idx)
173157 , p_source_63 => g_array_event(l_event_id).array_value_num('source_63')
173158 , p_source_69 => l_array_source_69(Idx)
173159 , p_source_70 => l_array_source_70(Idx)
173160 , p_source_71 => l_array_source_71(Idx)
173161 , p_source_72 => g_array_event(l_event_id).array_value_char('source_72')
173162 , p_source_73 => l_array_source_73(Idx)
173163 , p_source_74 => l_array_source_74(Idx)
173164 , p_source_75 => l_array_source_75(Idx)
173165 , p_source_76 => l_array_source_76(Idx)
173166 , p_source_77 => l_array_source_77(Idx)
173167 , p_source_78 => l_array_source_78(Idx)
173168 , p_source_79 => l_array_source_79(Idx)
173169 , p_source_80 => l_array_source_80(Idx)
173170 , p_source_81 => l_array_source_81(Idx)
173171 , p_source_82 => l_array_source_82(Idx)
173172 , p_source_83 => l_array_source_83(Idx)
173173 , p_source_84 => l_array_source_84(Idx)
173174 , p_source_85 => l_array_source_85(Idx)
173175 , p_source_85_meaning => l_array_source_85_meaning(Idx)
173176 , p_source_86 => g_array_event(l_event_id).array_value_num('source_86')
173177 , p_source_87 => g_array_event(l_event_id).array_value_num('source_87')
173178 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
173179 , p_source_89 => l_array_source_89(Idx)
173180 , p_source_90 => l_array_source_90(Idx)
173181 , p_source_91 => l_array_source_91(Idx)
173182 , p_source_92 => l_array_source_92(Idx)
173183 , p_source_93 => l_array_source_93(Idx)
173184 , p_source_94 => l_array_source_94(Idx)
173185 , p_source_95 => l_array_source_95(Idx)
173186 , p_source_96 => l_array_source_96(Idx)
173187 , p_source_97 => l_array_source_97(Idx)
173188 , p_source_98 => l_array_source_98(Idx)
173189 , p_source_99 => l_array_source_99(Idx)
173190 , p_source_100 => l_array_source_100(Idx)
173191 , p_source_145 => l_array_source_145(Idx)
173192 , p_source_145_meaning => l_array_source_145_meaning(Idx)
173193 );
173194 If(l_balance_type_code = 'A') THEN
173195 l_actual_gain_loss_ref := l_gain_or_loss_ref;
173196 END IF;
173197
173198 --
173199
173200
173201 --
173202 AcctLineType_194 (
173203 p_application_id => p_application_id
173204 ,p_event_id => l_event_id
173205 ,p_calculate_acctd_flag => l_calculate_acctd_flag
173206 ,p_calculate_g_l_flag => l_calculate_g_l_flag
173207 ,p_actual_flag => l_actual_flag
173208 ,p_balance_type_code => l_balance_type_code
173209 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
173210
173211 , p_source_1 => l_array_source_1(Idx)
173212 , p_source_16 => l_array_source_16(Idx)
173213 , p_source_25 => l_array_source_25(Idx)
173214 , p_source_26 => g_array_event(l_event_id).array_value_char('source_26')
173215 , p_source_26_meaning => g_array_event(l_event_id).array_value_char('source_26_meaning')
173216 , p_source_27 => l_array_source_27(Idx)
173217 , p_source_28 => l_array_source_28(Idx)
173218 , p_source_28_meaning => l_array_source_28_meaning(Idx)
173219 , p_source_41 => l_array_source_41(Idx)
173220 , p_source_54 => l_array_source_54(Idx)
173221 , p_source_54_meaning => l_array_source_54_meaning(Idx)
173222 , p_source_58 => l_array_source_58(Idx)
173223 , p_source_60 => l_array_source_60(Idx)
173224 , p_source_62 => l_array_source_62(Idx)
173225 , p_source_63 => g_array_event(l_event_id).array_value_num('source_63')
173226 , p_source_69 => l_array_source_69(Idx)
173227 , p_source_70 => l_array_source_70(Idx)
173228 , p_source_71 => l_array_source_71(Idx)
173229 , p_source_72 => g_array_event(l_event_id).array_value_char('source_72')
173230 , p_source_73 => l_array_source_73(Idx)
173231 , p_source_74 => l_array_source_74(Idx)
173232 , p_source_75 => l_array_source_75(Idx)
173233 , p_source_76 => l_array_source_76(Idx)
173234 , p_source_77 => l_array_source_77(Idx)
173235 , p_source_78 => l_array_source_78(Idx)
173236 , p_source_82 => l_array_source_82(Idx)
173237 , p_source_83 => l_array_source_83(Idx)
173238 , p_source_84 => l_array_source_84(Idx)
173239 , p_source_85 => l_array_source_85(Idx)
173240 , p_source_85_meaning => l_array_source_85_meaning(Idx)
173241 , p_source_86 => g_array_event(l_event_id).array_value_num('source_86')
173245 , p_source_90 => l_array_source_90(Idx)
173242 , p_source_87 => g_array_event(l_event_id).array_value_num('source_87')
173243 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
173244 , p_source_89 => l_array_source_89(Idx)
173246 , p_source_91 => l_array_source_91(Idx)
173247 , p_source_92 => l_array_source_92(Idx)
173248 , p_source_93 => l_array_source_93(Idx)
173249 , p_source_94 => l_array_source_94(Idx)
173250 , p_source_95 => l_array_source_95(Idx)
173251 , p_source_96 => l_array_source_96(Idx)
173252 , p_source_97 => l_array_source_97(Idx)
173253 , p_source_98 => l_array_source_98(Idx)
173254 , p_source_99 => l_array_source_99(Idx)
173255 , p_source_100 => l_array_source_100(Idx)
173256 , p_source_146 => g_array_event(l_event_id).array_value_date('source_146')
173257 , p_source_147 => g_array_event(l_event_id).array_value_num('source_147')
173258 , p_source_148 => g_array_event(l_event_id).array_value_char('source_148')
173259 );
173260 If(l_balance_type_code = 'A') THEN
173261 l_actual_gain_loss_ref := l_gain_or_loss_ref;
173262 END IF;
173263
173264 --
173265
173266
173267 --
173268 AcctLineType_199 (
173269 p_application_id => p_application_id
173270 ,p_event_id => l_event_id
173271 ,p_calculate_acctd_flag => l_calculate_acctd_flag
173272 ,p_calculate_g_l_flag => l_calculate_g_l_flag
173273 ,p_actual_flag => l_actual_flag
173274 ,p_balance_type_code => l_balance_type_code
173275 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
173276
173277 , p_source_1 => l_array_source_1(Idx)
173278 , p_source_16 => l_array_source_16(Idx)
173279 , p_source_25 => l_array_source_25(Idx)
173280 , p_source_28 => l_array_source_28(Idx)
173281 , p_source_28_meaning => l_array_source_28_meaning(Idx)
173282 , p_source_58 => l_array_source_58(Idx)
173283 , p_source_60 => l_array_source_60(Idx)
173284 , p_source_62 => l_array_source_62(Idx)
173285 , p_source_63 => g_array_event(l_event_id).array_value_num('source_63')
173286 , p_source_69 => l_array_source_69(Idx)
173287 , p_source_70 => l_array_source_70(Idx)
173288 , p_source_71 => l_array_source_71(Idx)
173289 , p_source_72 => g_array_event(l_event_id).array_value_char('source_72')
173290 , p_source_73 => l_array_source_73(Idx)
173291 , p_source_74 => l_array_source_74(Idx)
173292 , p_source_75 => l_array_source_75(Idx)
173293 , p_source_76 => l_array_source_76(Idx)
173294 , p_source_77 => l_array_source_77(Idx)
173295 , p_source_78 => l_array_source_78(Idx)
173296 , p_source_82 => l_array_source_82(Idx)
173297 , p_source_83 => l_array_source_83(Idx)
173298 , p_source_84 => l_array_source_84(Idx)
173299 , p_source_85 => l_array_source_85(Idx)
173300 , p_source_85_meaning => l_array_source_85_meaning(Idx)
173301 , p_source_86 => g_array_event(l_event_id).array_value_num('source_86')
173302 , p_source_87 => g_array_event(l_event_id).array_value_num('source_87')
173303 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
173304 , p_source_89 => l_array_source_89(Idx)
173305 , p_source_90 => l_array_source_90(Idx)
173306 , p_source_91 => l_array_source_91(Idx)
173307 , p_source_92 => l_array_source_92(Idx)
173308 , p_source_93 => l_array_source_93(Idx)
173309 , p_source_94 => l_array_source_94(Idx)
173310 , p_source_95 => l_array_source_95(Idx)
173311 , p_source_96 => l_array_source_96(Idx)
173312 , p_source_97 => l_array_source_97(Idx)
173313 , p_source_98 => l_array_source_98(Idx)
173314 , p_source_99 => l_array_source_99(Idx)
173315 , p_source_100 => l_array_source_100(Idx)
173316 , p_source_140 => l_array_source_140(Idx)
173317 , p_source_140_meaning => l_array_source_140_meaning(Idx)
173318 , p_source_145 => l_array_source_145(Idx)
173319 , p_source_145_meaning => l_array_source_145_meaning(Idx)
173320 , p_source_146 => g_array_event(l_event_id).array_value_date('source_146')
173321 , p_source_147 => g_array_event(l_event_id).array_value_num('source_147')
173322 , p_source_148 => g_array_event(l_event_id).array_value_char('source_148')
173323 );
173324 If(l_balance_type_code = 'A') THEN
173325 l_actual_gain_loss_ref := l_gain_or_loss_ref;
173326 END IF;
173327
173328 --
173329
173330
173331 --
173332 AcctLineType_204 (
173333 p_application_id => p_application_id
173334 ,p_event_id => l_event_id
173335 ,p_calculate_acctd_flag => l_calculate_acctd_flag
173336 ,p_calculate_g_l_flag => l_calculate_g_l_flag
173337 ,p_actual_flag => l_actual_flag
173338 ,p_balance_type_code => l_balance_type_code
173339 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
173340
173341 , p_source_1 => l_array_source_1(Idx)
173342 , p_source_16 => l_array_source_16(Idx)
173343 , p_source_28 => l_array_source_28(Idx)
173344 , p_source_28_meaning => l_array_source_28_meaning(Idx)
173345 , p_source_46 => l_array_source_46(Idx)
173346 , p_source_54 => l_array_source_54(Idx)
173347 , p_source_54_meaning => l_array_source_54_meaning(Idx)
173348 , p_source_58 => l_array_source_58(Idx)
173349 , p_source_60 => l_array_source_60(Idx)
173350 , p_source_62 => l_array_source_62(Idx)
173351 , p_source_63 => g_array_event(l_event_id).array_value_num('source_63')
173352 , p_source_69 => l_array_source_69(Idx)
173353 , p_source_70 => l_array_source_70(Idx)
173354 , p_source_71 => l_array_source_71(Idx)
173355 , p_source_72 => g_array_event(l_event_id).array_value_char('source_72')
173356 , p_source_73 => l_array_source_73(Idx)
173357 , p_source_74 => l_array_source_74(Idx)
173358 , p_source_75 => l_array_source_75(Idx)
173359 , p_source_76 => l_array_source_76(Idx)
173360 , p_source_77 => l_array_source_77(Idx)
173361 , p_source_78 => l_array_source_78(Idx)
173362 , p_source_82 => l_array_source_82(Idx)
173363 , p_source_83 => l_array_source_83(Idx)
173364 , p_source_84 => l_array_source_84(Idx)
173365 , p_source_85 => l_array_source_85(Idx)
173366 , p_source_85_meaning => l_array_source_85_meaning(Idx)
173367 , p_source_86 => g_array_event(l_event_id).array_value_num('source_86')
173368 , p_source_87 => g_array_event(l_event_id).array_value_num('source_87')
173372 , p_source_91 => l_array_source_91(Idx)
173369 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
173370 , p_source_89 => l_array_source_89(Idx)
173371 , p_source_90 => l_array_source_90(Idx)
173373 , p_source_92 => l_array_source_92(Idx)
173374 , p_source_93 => l_array_source_93(Idx)
173375 , p_source_94 => l_array_source_94(Idx)
173376 , p_source_95 => l_array_source_95(Idx)
173377 , p_source_96 => l_array_source_96(Idx)
173378 , p_source_97 => l_array_source_97(Idx)
173379 , p_source_98 => l_array_source_98(Idx)
173380 , p_source_99 => l_array_source_99(Idx)
173381 , p_source_100 => l_array_source_100(Idx)
173382 , p_source_145 => l_array_source_145(Idx)
173383 , p_source_145_meaning => l_array_source_145_meaning(Idx)
173384 , p_source_146 => g_array_event(l_event_id).array_value_date('source_146')
173385 , p_source_147 => g_array_event(l_event_id).array_value_num('source_147')
173386 , p_source_148 => g_array_event(l_event_id).array_value_char('source_148')
173387 );
173388 If(l_balance_type_code = 'A') THEN
173389 l_actual_gain_loss_ref := l_gain_or_loss_ref;
173390 END IF;
173391
173392 --
173393
173394
173395 --
173396 AcctLineType_208 (
173397 p_application_id => p_application_id
173398 ,p_event_id => l_event_id
173399 ,p_calculate_acctd_flag => l_calculate_acctd_flag
173400 ,p_calculate_g_l_flag => l_calculate_g_l_flag
173401 ,p_actual_flag => l_actual_flag
173402 ,p_balance_type_code => l_balance_type_code
173403 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
173404
173405 , p_source_1 => l_array_source_1(Idx)
173406 , p_source_16 => l_array_source_16(Idx)
173407 , p_source_28 => l_array_source_28(Idx)
173408 , p_source_28_meaning => l_array_source_28_meaning(Idx)
173409 , p_source_46 => l_array_source_46(Idx)
173410 , p_source_58 => l_array_source_58(Idx)
173411 , p_source_60 => l_array_source_60(Idx)
173412 , p_source_62 => l_array_source_62(Idx)
173413 , p_source_63 => g_array_event(l_event_id).array_value_num('source_63')
173414 , p_source_69 => l_array_source_69(Idx)
173415 , p_source_70 => l_array_source_70(Idx)
173416 , p_source_71 => l_array_source_71(Idx)
173417 , p_source_72 => g_array_event(l_event_id).array_value_char('source_72')
173418 , p_source_73 => l_array_source_73(Idx)
173419 , p_source_74 => l_array_source_74(Idx)
173420 , p_source_75 => l_array_source_75(Idx)
173421 , p_source_76 => l_array_source_76(Idx)
173422 , p_source_77 => l_array_source_77(Idx)
173423 , p_source_78 => l_array_source_78(Idx)
173424 , p_source_82 => l_array_source_82(Idx)
173425 , p_source_83 => l_array_source_83(Idx)
173426 , p_source_84 => l_array_source_84(Idx)
173427 , p_source_85 => l_array_source_85(Idx)
173428 , p_source_85_meaning => l_array_source_85_meaning(Idx)
173429 , p_source_86 => g_array_event(l_event_id).array_value_num('source_86')
173430 , p_source_87 => g_array_event(l_event_id).array_value_num('source_87')
173431 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
173432 , p_source_89 => l_array_source_89(Idx)
173433 , p_source_90 => l_array_source_90(Idx)
173434 , p_source_91 => l_array_source_91(Idx)
173435 , p_source_92 => l_array_source_92(Idx)
173436 , p_source_93 => l_array_source_93(Idx)
173437 , p_source_94 => l_array_source_94(Idx)
173438 , p_source_95 => l_array_source_95(Idx)
173439 , p_source_96 => l_array_source_96(Idx)
173440 , p_source_97 => l_array_source_97(Idx)
173441 , p_source_98 => l_array_source_98(Idx)
173442 , p_source_99 => l_array_source_99(Idx)
173443 , p_source_100 => l_array_source_100(Idx)
173444 , p_source_145 => l_array_source_145(Idx)
173445 , p_source_145_meaning => l_array_source_145_meaning(Idx)
173446 , p_source_146 => g_array_event(l_event_id).array_value_date('source_146')
173447 , p_source_147 => g_array_event(l_event_id).array_value_num('source_147')
173448 , p_source_148 => g_array_event(l_event_id).array_value_char('source_148')
173449 );
173450 If(l_balance_type_code = 'A') THEN
173451 l_actual_gain_loss_ref := l_gain_or_loss_ref;
173452 END IF;
173453
173454 --
173455
173456
173457 --
173458 AcctLineType_215 (
173459 p_application_id => p_application_id
173460 ,p_event_id => l_event_id
173461 ,p_calculate_acctd_flag => l_calculate_acctd_flag
173462 ,p_calculate_g_l_flag => l_calculate_g_l_flag
173463 ,p_actual_flag => l_actual_flag
173464 ,p_balance_type_code => l_balance_type_code
173465 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
173466
173467 , p_source_1 => l_array_source_1(Idx)
173468 , p_source_16 => l_array_source_16(Idx)
173469 , p_source_28 => l_array_source_28(Idx)
173470 , p_source_28_meaning => l_array_source_28_meaning(Idx)
173471 , p_source_47 => l_array_source_47(Idx)
173472 , p_source_58 => l_array_source_58(Idx)
173473 , p_source_60 => l_array_source_60(Idx)
173474 , p_source_62 => l_array_source_62(Idx)
173475 , p_source_63 => g_array_event(l_event_id).array_value_num('source_63')
173476 , p_source_69 => l_array_source_69(Idx)
173477 , p_source_70 => l_array_source_70(Idx)
173478 , p_source_71 => l_array_source_71(Idx)
173479 , p_source_72 => g_array_event(l_event_id).array_value_char('source_72')
173480 , p_source_73 => l_array_source_73(Idx)
173481 , p_source_74 => l_array_source_74(Idx)
173482 , p_source_75 => l_array_source_75(Idx)
173483 , p_source_76 => l_array_source_76(Idx)
173484 , p_source_77 => l_array_source_77(Idx)
173485 , p_source_78 => l_array_source_78(Idx)
173486 , p_source_82 => l_array_source_82(Idx)
173487 , p_source_83 => l_array_source_83(Idx)
173488 , p_source_84 => l_array_source_84(Idx)
173489 , p_source_85 => l_array_source_85(Idx)
173490 , p_source_85_meaning => l_array_source_85_meaning(Idx)
173491 , p_source_86 => g_array_event(l_event_id).array_value_num('source_86')
173492 , p_source_87 => g_array_event(l_event_id).array_value_num('source_87')
173493 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
173494 , p_source_89 => l_array_source_89(Idx)
173495 , p_source_90 => l_array_source_90(Idx)
173499 , p_source_94 => l_array_source_94(Idx)
173496 , p_source_91 => l_array_source_91(Idx)
173497 , p_source_92 => l_array_source_92(Idx)
173498 , p_source_93 => l_array_source_93(Idx)
173500 , p_source_95 => l_array_source_95(Idx)
173501 , p_source_96 => l_array_source_96(Idx)
173502 , p_source_97 => l_array_source_97(Idx)
173503 , p_source_98 => l_array_source_98(Idx)
173504 , p_source_99 => l_array_source_99(Idx)
173505 , p_source_100 => l_array_source_100(Idx)
173506 , p_source_145 => l_array_source_145(Idx)
173507 , p_source_145_meaning => l_array_source_145_meaning(Idx)
173508 , p_source_146 => g_array_event(l_event_id).array_value_date('source_146')
173509 , p_source_147 => g_array_event(l_event_id).array_value_num('source_147')
173510 , p_source_148 => g_array_event(l_event_id).array_value_char('source_148')
173511 );
173512 If(l_balance_type_code = 'A') THEN
173513 l_actual_gain_loss_ref := l_gain_or_loss_ref;
173514 END IF;
173515
173516 --
173517
173518
173519 --
173520 AcctLineType_216 (
173521 p_application_id => p_application_id
173522 ,p_event_id => l_event_id
173523 ,p_calculate_acctd_flag => l_calculate_acctd_flag
173524 ,p_calculate_g_l_flag => l_calculate_g_l_flag
173525 ,p_actual_flag => l_actual_flag
173526 ,p_balance_type_code => l_balance_type_code
173527 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
173528
173529 , p_source_1 => l_array_source_1(Idx)
173530 , p_source_16 => l_array_source_16(Idx)
173531 , p_source_28 => l_array_source_28(Idx)
173532 , p_source_28_meaning => l_array_source_28_meaning(Idx)
173533 , p_source_46 => l_array_source_46(Idx)
173534 , p_source_54 => l_array_source_54(Idx)
173535 , p_source_54_meaning => l_array_source_54_meaning(Idx)
173536 , p_source_58 => l_array_source_58(Idx)
173537 , p_source_60 => l_array_source_60(Idx)
173538 , p_source_62 => l_array_source_62(Idx)
173539 , p_source_63 => g_array_event(l_event_id).array_value_num('source_63')
173540 , p_source_69 => l_array_source_69(Idx)
173541 , p_source_70 => l_array_source_70(Idx)
173542 , p_source_71 => l_array_source_71(Idx)
173543 , p_source_72 => g_array_event(l_event_id).array_value_char('source_72')
173544 , p_source_73 => l_array_source_73(Idx)
173545 , p_source_74 => l_array_source_74(Idx)
173546 , p_source_75 => l_array_source_75(Idx)
173547 , p_source_76 => l_array_source_76(Idx)
173548 , p_source_77 => l_array_source_77(Idx)
173549 , p_source_78 => l_array_source_78(Idx)
173550 , p_source_79 => l_array_source_79(Idx)
173551 , p_source_80 => l_array_source_80(Idx)
173552 , p_source_81 => l_array_source_81(Idx)
173553 , p_source_82 => l_array_source_82(Idx)
173554 , p_source_83 => l_array_source_83(Idx)
173555 , p_source_84 => l_array_source_84(Idx)
173556 , p_source_85 => l_array_source_85(Idx)
173557 , p_source_85_meaning => l_array_source_85_meaning(Idx)
173558 , p_source_86 => g_array_event(l_event_id).array_value_num('source_86')
173559 , p_source_87 => g_array_event(l_event_id).array_value_num('source_87')
173560 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
173561 , p_source_89 => l_array_source_89(Idx)
173562 , p_source_90 => l_array_source_90(Idx)
173563 , p_source_91 => l_array_source_91(Idx)
173564 , p_source_92 => l_array_source_92(Idx)
173565 , p_source_93 => l_array_source_93(Idx)
173566 , p_source_94 => l_array_source_94(Idx)
173567 , p_source_95 => l_array_source_95(Idx)
173568 , p_source_96 => l_array_source_96(Idx)
173569 , p_source_97 => l_array_source_97(Idx)
173570 , p_source_98 => l_array_source_98(Idx)
173571 , p_source_99 => l_array_source_99(Idx)
173572 , p_source_100 => l_array_source_100(Idx)
173573 , p_source_145 => l_array_source_145(Idx)
173574 , p_source_145_meaning => l_array_source_145_meaning(Idx)
173575 );
173576 If(l_balance_type_code = 'A') THEN
173577 l_actual_gain_loss_ref := l_gain_or_loss_ref;
173578 END IF;
173579
173580 --
173581
173582
173583 --
173584 AcctLineType_224 (
173585 p_application_id => p_application_id
173586 ,p_event_id => l_event_id
173587 ,p_calculate_acctd_flag => l_calculate_acctd_flag
173588 ,p_calculate_g_l_flag => l_calculate_g_l_flag
173589 ,p_actual_flag => l_actual_flag
173590 ,p_balance_type_code => l_balance_type_code
173591 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
173592
173593 , p_source_1 => l_array_source_1(Idx)
173594 , p_source_10 => g_array_event(l_event_id).array_value_char('source_10')
173595 , p_source_10_meaning => g_array_event(l_event_id).array_value_char('source_10_meaning')
173596 , p_source_15 => g_array_event(l_event_id).array_value_num('source_15')
173597 , p_source_16 => l_array_source_16(Idx)
173598 , p_source_17 => l_array_source_17(Idx)
173599 , p_source_17_meaning => l_array_source_17_meaning(Idx)
173600 , p_source_18 => g_array_event(l_event_id).array_value_num('source_18')
173601 , p_source_25 => l_array_source_25(Idx)
173602 , p_source_28 => l_array_source_28(Idx)
173603 , p_source_28_meaning => l_array_source_28_meaning(Idx)
173604 , p_source_43 => g_array_event(l_event_id).array_value_char('source_43')
173605 , p_source_43_meaning => g_array_event(l_event_id).array_value_char('source_43_meaning')
173606 , p_source_54 => l_array_source_54(Idx)
173607 , p_source_54_meaning => l_array_source_54_meaning(Idx)
173608 , p_source_58 => l_array_source_58(Idx)
173609 , p_source_60 => l_array_source_60(Idx)
173610 , p_source_62 => l_array_source_62(Idx)
173611 , p_source_63 => g_array_event(l_event_id).array_value_num('source_63')
173612 , p_source_69 => l_array_source_69(Idx)
173613 , p_source_70 => l_array_source_70(Idx)
173614 , p_source_71 => l_array_source_71(Idx)
173615 , p_source_72 => g_array_event(l_event_id).array_value_char('source_72')
173616 , p_source_73 => l_array_source_73(Idx)
173617 , p_source_74 => l_array_source_74(Idx)
173618 , p_source_75 => l_array_source_75(Idx)
173619 , p_source_76 => l_array_source_76(Idx)
173620 , p_source_77 => l_array_source_77(Idx)
173621 , p_source_78 => l_array_source_78(Idx)
173622 , p_source_82 => l_array_source_82(Idx)
173626 , p_source_85_meaning => l_array_source_85_meaning(Idx)
173623 , p_source_83 => l_array_source_83(Idx)
173624 , p_source_84 => l_array_source_84(Idx)
173625 , p_source_85 => l_array_source_85(Idx)
173627 , p_source_86 => g_array_event(l_event_id).array_value_num('source_86')
173628 , p_source_87 => g_array_event(l_event_id).array_value_num('source_87')
173629 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
173630 , p_source_89 => l_array_source_89(Idx)
173631 , p_source_90 => l_array_source_90(Idx)
173632 , p_source_91 => l_array_source_91(Idx)
173633 , p_source_92 => l_array_source_92(Idx)
173634 , p_source_93 => l_array_source_93(Idx)
173635 , p_source_94 => l_array_source_94(Idx)
173636 , p_source_95 => l_array_source_95(Idx)
173637 , p_source_96 => l_array_source_96(Idx)
173638 , p_source_97 => l_array_source_97(Idx)
173639 , p_source_98 => l_array_source_98(Idx)
173640 , p_source_99 => l_array_source_99(Idx)
173641 , p_source_100 => l_array_source_100(Idx)
173642 , p_source_146 => g_array_event(l_event_id).array_value_date('source_146')
173643 , p_source_147 => g_array_event(l_event_id).array_value_num('source_147')
173644 , p_source_148 => g_array_event(l_event_id).array_value_char('source_148')
173645 );
173646 If(l_balance_type_code = 'A') THEN
173647 l_actual_gain_loss_ref := l_gain_or_loss_ref;
173648 END IF;
173649
173650 --
173651
173652
173653 --
173654 AcctLineType_228 (
173655 p_application_id => p_application_id
173656 ,p_event_id => l_event_id
173657 ,p_calculate_acctd_flag => l_calculate_acctd_flag
173658 ,p_calculate_g_l_flag => l_calculate_g_l_flag
173659 ,p_actual_flag => l_actual_flag
173660 ,p_balance_type_code => l_balance_type_code
173661 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
173662
173663 , p_source_1 => l_array_source_1(Idx)
173664 , p_source_16 => l_array_source_16(Idx)
173665 , p_source_25 => l_array_source_25(Idx)
173666 , p_source_28 => l_array_source_28(Idx)
173667 , p_source_28_meaning => l_array_source_28_meaning(Idx)
173668 , p_source_54 => l_array_source_54(Idx)
173669 , p_source_54_meaning => l_array_source_54_meaning(Idx)
173670 , p_source_58 => l_array_source_58(Idx)
173671 , p_source_60 => l_array_source_60(Idx)
173672 , p_source_62 => l_array_source_62(Idx)
173673 , p_source_63 => g_array_event(l_event_id).array_value_num('source_63')
173674 , p_source_69 => l_array_source_69(Idx)
173675 , p_source_70 => l_array_source_70(Idx)
173676 , p_source_71 => l_array_source_71(Idx)
173677 , p_source_72 => g_array_event(l_event_id).array_value_char('source_72')
173678 , p_source_73 => l_array_source_73(Idx)
173679 , p_source_74 => l_array_source_74(Idx)
173680 , p_source_75 => l_array_source_75(Idx)
173681 , p_source_76 => l_array_source_76(Idx)
173682 , p_source_77 => l_array_source_77(Idx)
173683 , p_source_78 => l_array_source_78(Idx)
173684 , p_source_82 => l_array_source_82(Idx)
173685 , p_source_83 => l_array_source_83(Idx)
173686 , p_source_84 => l_array_source_84(Idx)
173687 , p_source_85 => l_array_source_85(Idx)
173688 , p_source_85_meaning => l_array_source_85_meaning(Idx)
173689 , p_source_86 => g_array_event(l_event_id).array_value_num('source_86')
173690 , p_source_87 => g_array_event(l_event_id).array_value_num('source_87')
173691 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
173692 , p_source_89 => l_array_source_89(Idx)
173693 , p_source_90 => l_array_source_90(Idx)
173694 , p_source_91 => l_array_source_91(Idx)
173695 , p_source_92 => l_array_source_92(Idx)
173696 , p_source_93 => l_array_source_93(Idx)
173697 , p_source_94 => l_array_source_94(Idx)
173698 , p_source_95 => l_array_source_95(Idx)
173699 , p_source_96 => l_array_source_96(Idx)
173700 , p_source_97 => l_array_source_97(Idx)
173701 , p_source_98 => l_array_source_98(Idx)
173702 , p_source_99 => l_array_source_99(Idx)
173703 , p_source_100 => l_array_source_100(Idx)
173704 , p_source_146 => g_array_event(l_event_id).array_value_date('source_146')
173705 , p_source_147 => g_array_event(l_event_id).array_value_num('source_147')
173706 , p_source_148 => g_array_event(l_event_id).array_value_char('source_148')
173707 );
173708 If(l_balance_type_code = 'A') THEN
173709 l_actual_gain_loss_ref := l_gain_or_loss_ref;
173710 END IF;
173711
173712 --
173713
173714
173715 --
173716 AcctLineType_232 (
173717 p_application_id => p_application_id
173718 ,p_event_id => l_event_id
173719 ,p_calculate_acctd_flag => l_calculate_acctd_flag
173720 ,p_calculate_g_l_flag => l_calculate_g_l_flag
173721 ,p_actual_flag => l_actual_flag
173722 ,p_balance_type_code => l_balance_type_code
173723 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
173724
173725 , p_source_1 => l_array_source_1(Idx)
173726 , p_source_16 => l_array_source_16(Idx)
173727 , p_source_25 => l_array_source_25(Idx)
173728 , p_source_28 => l_array_source_28(Idx)
173729 , p_source_28_meaning => l_array_source_28_meaning(Idx)
173730 , p_source_54 => l_array_source_54(Idx)
173731 , p_source_54_meaning => l_array_source_54_meaning(Idx)
173732 , p_source_58 => l_array_source_58(Idx)
173733 , p_source_60 => l_array_source_60(Idx)
173734 , p_source_62 => l_array_source_62(Idx)
173735 , p_source_63 => g_array_event(l_event_id).array_value_num('source_63')
173736 , p_source_69 => l_array_source_69(Idx)
173737 , p_source_70 => l_array_source_70(Idx)
173738 , p_source_71 => l_array_source_71(Idx)
173739 , p_source_72 => g_array_event(l_event_id).array_value_char('source_72')
173740 , p_source_73 => l_array_source_73(Idx)
173741 , p_source_74 => l_array_source_74(Idx)
173742 , p_source_75 => l_array_source_75(Idx)
173743 , p_source_76 => l_array_source_76(Idx)
173744 , p_source_77 => l_array_source_77(Idx)
173745 , p_source_78 => l_array_source_78(Idx)
173746 , p_source_82 => l_array_source_82(Idx)
173747 , p_source_83 => l_array_source_83(Idx)
173748 , p_source_84 => l_array_source_84(Idx)
173749 , p_source_85 => l_array_source_85(Idx)
173750 , p_source_85_meaning => l_array_source_85_meaning(Idx)
173754 , p_source_89 => l_array_source_89(Idx)
173751 , p_source_86 => g_array_event(l_event_id).array_value_num('source_86')
173752 , p_source_87 => g_array_event(l_event_id).array_value_num('source_87')
173753 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
173755 , p_source_90 => l_array_source_90(Idx)
173756 , p_source_91 => l_array_source_91(Idx)
173757 , p_source_92 => l_array_source_92(Idx)
173758 , p_source_93 => l_array_source_93(Idx)
173759 , p_source_94 => l_array_source_94(Idx)
173760 , p_source_95 => l_array_source_95(Idx)
173761 , p_source_96 => l_array_source_96(Idx)
173762 , p_source_97 => l_array_source_97(Idx)
173763 , p_source_98 => l_array_source_98(Idx)
173764 , p_source_99 => l_array_source_99(Idx)
173765 , p_source_100 => l_array_source_100(Idx)
173766 , p_source_146 => g_array_event(l_event_id).array_value_date('source_146')
173767 , p_source_147 => g_array_event(l_event_id).array_value_num('source_147')
173768 , p_source_148 => g_array_event(l_event_id).array_value_char('source_148')
173769 );
173770 If(l_balance_type_code = 'A') THEN
173771 l_actual_gain_loss_ref := l_gain_or_loss_ref;
173772 END IF;
173773
173774 --
173775
173776
173777 --
173778 AcctLineType_238 (
173779 p_application_id => p_application_id
173780 ,p_event_id => l_event_id
173781 ,p_calculate_acctd_flag => l_calculate_acctd_flag
173782 ,p_calculate_g_l_flag => l_calculate_g_l_flag
173783 ,p_actual_flag => l_actual_flag
173784 ,p_balance_type_code => l_balance_type_code
173785 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
173786
173787 , p_source_1 => l_array_source_1(Idx)
173788 , p_source_10 => g_array_event(l_event_id).array_value_char('source_10')
173789 , p_source_10_meaning => g_array_event(l_event_id).array_value_char('source_10_meaning')
173790 , p_source_16 => l_array_source_16(Idx)
173791 , p_source_25 => l_array_source_25(Idx)
173792 , p_source_28 => l_array_source_28(Idx)
173793 , p_source_28_meaning => l_array_source_28_meaning(Idx)
173794 , p_source_39 => l_array_source_39(Idx)
173795 , p_source_58 => l_array_source_58(Idx)
173796 , p_source_60 => l_array_source_60(Idx)
173797 , p_source_62 => l_array_source_62(Idx)
173798 , p_source_63 => g_array_event(l_event_id).array_value_num('source_63')
173799 , p_source_69 => l_array_source_69(Idx)
173800 , p_source_70 => l_array_source_70(Idx)
173801 , p_source_71 => l_array_source_71(Idx)
173802 , p_source_72 => g_array_event(l_event_id).array_value_char('source_72')
173803 , p_source_73 => l_array_source_73(Idx)
173804 , p_source_74 => l_array_source_74(Idx)
173805 , p_source_75 => l_array_source_75(Idx)
173806 , p_source_76 => l_array_source_76(Idx)
173807 , p_source_77 => l_array_source_77(Idx)
173808 , p_source_78 => l_array_source_78(Idx)
173809 , p_source_82 => l_array_source_82(Idx)
173810 , p_source_83 => l_array_source_83(Idx)
173811 , p_source_84 => l_array_source_84(Idx)
173812 , p_source_85 => l_array_source_85(Idx)
173813 , p_source_85_meaning => l_array_source_85_meaning(Idx)
173814 , p_source_86 => g_array_event(l_event_id).array_value_num('source_86')
173815 , p_source_87 => g_array_event(l_event_id).array_value_num('source_87')
173816 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
173817 , p_source_89 => l_array_source_89(Idx)
173818 , p_source_90 => l_array_source_90(Idx)
173819 , p_source_91 => l_array_source_91(Idx)
173820 , p_source_92 => l_array_source_92(Idx)
173821 , p_source_93 => l_array_source_93(Idx)
173822 , p_source_94 => l_array_source_94(Idx)
173823 , p_source_95 => l_array_source_95(Idx)
173824 , p_source_96 => l_array_source_96(Idx)
173825 , p_source_97 => l_array_source_97(Idx)
173826 , p_source_98 => l_array_source_98(Idx)
173827 , p_source_99 => l_array_source_99(Idx)
173828 , p_source_100 => l_array_source_100(Idx)
173829 , p_source_146 => g_array_event(l_event_id).array_value_date('source_146')
173830 , p_source_147 => g_array_event(l_event_id).array_value_num('source_147')
173831 , p_source_148 => g_array_event(l_event_id).array_value_char('source_148')
173832 );
173833 If(l_balance_type_code = 'A') THEN
173834 l_actual_gain_loss_ref := l_gain_or_loss_ref;
173835 END IF;
173836
173837 --
173838
173839 -- only execute it if calculate g/l flag is yes, and primary or secondary ledger
173840 -- or secondary ledger that has different currency with primary
173841 -- or alc that is calculated by sla
173842 IF (((l_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
173843 (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'))
173844
173845 -- IF((l_calculate_g_l_flag='Y' or XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id <>
173846 -- XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id)
173847 AND (l_actual_flag = 'A')) THEN
173848 XLA_AE_LINES_PKG.CreateGainOrLossLines(
173849 p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
173850 ,p_application_id => p_application_id
173851 ,p_amb_context_code => 'DEFAULT'
173852 ,p_entity_code => xla_ae_journal_entry_pkg.g_cache_event.entity_code
173853 ,p_event_class_code => C_EVENT_CLASS_CODE
173854 ,p_event_type_code => C_EVENT_TYPE_CODE
173855
173856 ,p_gain_ccid => -1
173857 ,p_loss_ccid => -1
173858
173859 ,p_actual_flag => l_actual_flag
173860 ,p_enc_flag => null
173861 ,p_actual_g_l_ref => l_actual_gain_loss_ref
173862 ,p_enc_g_l_ref => null
173863 );
173864 END IF;
173865 END IF;
173866 END IF;
173867
173868 ELSE
173869 --
173870 -- Bug 4872078 - Do nothing if the event is meant for transaction reversal
173871 --
173872 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
173873 trace
173877 END IF;
173874 (p_msg => 'Trancaction revesal option is Y'
173875 ,p_level => C_LEVEL_STATEMENT
173876 ,p_module => l_log_module);
173878 END IF;
173879
173880 END LOOP;
173881 l_result := XLA_AE_LINES_PKG.InsertLines ;
173882 end loop;
173883 close line_cur;
173884
173885
173886 --
173887 -- insert headers into xla_ae_headers_gt table
173888 --
173889 l_result := XLA_AE_HEADER_PKG.InsertHeaders ;
173890
173891 -- insert into errors table here.
173892
173893 END LOOP;
173894
173895 --
173896 -- 4865292
173897 --
173898 -- Compare g_hdr_extract_count with event count in
173899 -- CreateHeadersAndLines.
173900 --
173901 g_hdr_extract_count := g_hdr_extract_count + header_cur%ROWCOUNT;
173902
173903 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
173904 trace (p_msg => '# rows extracted from header extract objects '
173905 || ' (running total): '
173906 || g_hdr_extract_count
173907 ,p_level => C_LEVEL_STATEMENT
173908 ,p_module => l_log_module);
173909 END IF;
173910
173911 CLOSE header_cur;
173912 --
173913
173914 --
173915 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
173916 trace
173917 (p_msg => 'END of EventClass_254'
173918 ,p_level => C_LEVEL_PROCEDURE
173919 ,p_module => l_log_module);
173920 END IF;
173921 --
173922 RETURN l_result;
173923 EXCEPTION
173924 WHEN xla_exceptions_pkg.application_exception THEN
173925
173926 IF header_cur%ISOPEN THEN CLOSE header_cur; END IF;
173927
173928
173929 IF line_cur%ISOPEN THEN CLOSE line_cur; END IF;
173930
173931 RAISE;
173932
173933 WHEN NO_DATA_FOUND THEN
173934
173935 IF header_cur%ISOPEN THEN CLOSE header_cur; END IF;
173936 IF line_cur%ISOPEN THEN CLOSE line_cur; END IF;
173937
173938 FOR header_record IN header_cur
173939 LOOP
173940 l_array_header_events(header_record.event_id) := header_record.event_id;
173941 END LOOP;
173942
173943 l_first_event_id := l_array_header_events(l_array_header_events.FIRST);
173944 l_last_event_id := l_array_header_events(l_array_header_events.LAST);
173945
173946 fnd_file.put_line(fnd_file.LOG, ' ');
173947 fnd_file.put_line(fnd_file.LOG, '***************************************************************************');
173948 fnd_file.put_line(fnd_file.LOG, 'EVENT CLASS CODE = ' || C_EVENT_CLASS_CODE );
173949 fnd_file.put_line(fnd_file.LOG, 'The following events are present in the line extract but MISSING in the header extract: ');
173950
173951 FOR line_record IN line_cur(l_first_event_id, l_last_event_id)
173952 LOOP
173953 IF (NOT l_array_header_events.EXISTS(line_record.event_id)) AND (NOT l_array_duplicate_checker.EXISTS(line_record.event_id)) THEN
173954 fnd_file.put_line(fnd_file.log, 'Event_id = ' || line_record.event_id);
173955 l_array_duplicate_checker(line_record.event_id) := line_record.event_id;
173956 END IF;
173957 END LOOP;
173958
173959 fnd_file.put_line(fnd_file.LOG, '***************************************************************************');
173960 fnd_file.put_line(fnd_file.LOG, ' ');
173961
173962
173963 xla_exceptions_pkg.raise_message
173964 (p_location => 'XLA_00200_AAD_S_000012_PKG.EventClass_254');
173965
173966
173967 WHEN OTHERS THEN
173968 xla_exceptions_pkg.raise_message
173969 (p_location => 'XLA_00200_AAD_S_000012_PKG.EventClass_254');
173970 END EventClass_254;
173971 --
173972
173973 ---------------------------------------
173974 --
173975 -- PRIVATE PROCEDURE
173976 -- insert_sources_255
173977 --
173978 ----------------------------------------
173979 --
173980 PROCEDURE insert_sources_255(
173981 p_target_ledger_id IN NUMBER
173982 , p_language IN VARCHAR2
173983 , p_sla_ledger_id IN NUMBER
173984 , p_pad_start_date IN DATE
173985 , p_pad_end_date IN DATE
173986 )
173987 IS
173988
173989 C_EVENT_TYPE_CODE CONSTANT VARCHAR2(30) := 'RECONCILED PAYMENTS_ALL';
173990 C_EVENT_CLASS_CODE CONSTANT VARCHAR2(30) := 'RECONCILED PAYMENTS';
173991 p_apps_owner VARCHAR2(30);
173992 l_log_module VARCHAR2(240);
173993 BEGIN
173994 IF g_log_enabled THEN
173995 l_log_module := C_DEFAULT_MODULE||'.insert_sources_255';
173996 END IF;
173997 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
173998
173999 trace
174000 (p_msg => 'BEGIN of insert_sources_255'
174001 ,p_level => C_LEVEL_PROCEDURE
174002 ,p_module => l_log_module);
174003
174004 END IF;
174005
174006 -- select APPS owner
174007 SELECT oracle_username
174008 INTO p_apps_owner
174009 FROM fnd_oracle_userid
174010 WHERE read_only_flag = 'U'
174011 ;
174012
174013 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
174014 trace
174015 (p_msg => 'p_target_ledger_id = '||p_target_ledger_id||
174016 ' - p_language = '||p_language||
174017 ' - p_sla_ledger_id = '||p_sla_ledger_id ||
174018 ' - p_pad_start_date = '||TO_CHAR(p_pad_start_date)||
174019 ' - p_pad_end_date = '||TO_CHAR(p_pad_end_date)||
174020 ' - p_apps_owner = '||TO_CHAR(p_apps_owner)
174021 ,p_level => C_LEVEL_STATEMENT
174022 ,p_module => l_log_module);
174023 END IF;
174024
174025
174026 --
174027 INSERT INTO xla_diag_sources --hdr2
174028 (
174029 event_id
174030 , ledger_id
174031 , sla_ledger_id
174032 , description_language
174033 , object_name
174037 , source_type_code
174034 , object_type_code
174035 , line_number
174036 , source_application_id
174038 , source_code
174039 , source_value
174040 , source_meaning
174041 , created_by
174042 , creation_date
174043 , last_update_date
174044 , last_updated_by
174045 , last_update_login
174046 , program_update_date
174047 , program_application_id
174048 , program_id
174049 , request_id
174050 )
174051 SELECT
174052 event_id
174053 , p_target_ledger_id
174054 , p_sla_ledger_id
174055 , p_language
174056 , object_name
174057 , object_type_code
174058 , line_number
174059 , source_application_id
174060 , source_type_code
174061 , source_code
174062 , SUBSTR(source_value ,1,1996)
174063 , SUBSTR(source_meaning ,1,200)
174064 , xla_environment_pkg.g_Usr_Id
174065 , TRUNC(SYSDATE)
174066 , TRUNC(SYSDATE)
174067 , xla_environment_pkg.g_Usr_Id
174068 , xla_environment_pkg.g_Login_Id
174069 , TRUNC(SYSDATE)
174070 , xla_environment_pkg.g_Prog_Appl_Id
174071 , xla_environment_pkg.g_Prog_Id
174072 , xla_environment_pkg.g_Req_Id
174073 FROM (
174074 SELECT xet.event_id event_id
174075 , 0 line_number
174076 , CASE r
174077 WHEN 1 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
174078 WHEN 2 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
174079 WHEN 3 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
174080 WHEN 4 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
174081 WHEN 5 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
174082 WHEN 6 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
174083 WHEN 7 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
174084 WHEN 8 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
174085 WHEN 9 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
174086 WHEN 10 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
174087 WHEN 11 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
174088 WHEN 12 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
174089 WHEN 13 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
174090 WHEN 14 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
174091 WHEN 15 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
174092 WHEN 16 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
174093 WHEN 17 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
174094 WHEN 18 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
174095 WHEN 19 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
174096 WHEN 20 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
174097 WHEN 21 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
174098 WHEN 22 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
174099 WHEN 23 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
174100 WHEN 24 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
174101 WHEN 25 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
174102 WHEN 26 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
174103 WHEN 27 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
174104 WHEN 28 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
174105 WHEN 29 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
174106 WHEN 30 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
174107 WHEN 31 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
174108 WHEN 32 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
174109 WHEN 33 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
174110
174111 ELSE null
174112 END object_name
174113 , CASE r
174114 WHEN 1 THEN 'HEADER'
174115 WHEN 2 THEN 'HEADER'
174116 WHEN 3 THEN 'HEADER'
174117 WHEN 4 THEN 'HEADER'
174118 WHEN 5 THEN 'HEADER'
174119 WHEN 6 THEN 'HEADER'
174120 WHEN 7 THEN 'HEADER'
174121 WHEN 8 THEN 'HEADER'
174122 WHEN 9 THEN 'HEADER'
174123 WHEN 10 THEN 'HEADER'
174124 WHEN 11 THEN 'HEADER'
174125 WHEN 12 THEN 'HEADER'
174126 WHEN 13 THEN 'HEADER'
174127 WHEN 14 THEN 'HEADER'
174128 WHEN 15 THEN 'HEADER'
174129 WHEN 16 THEN 'HEADER'
174130 WHEN 17 THEN 'HEADER'
174131 WHEN 18 THEN 'HEADER'
174132 WHEN 19 THEN 'HEADER'
174133 WHEN 20 THEN 'HEADER'
174134 WHEN 21 THEN 'HEADER'
174135 WHEN 22 THEN 'HEADER'
174136 WHEN 23 THEN 'HEADER'
174137 WHEN 24 THEN 'HEADER'
174138 WHEN 25 THEN 'HEADER'
174139 WHEN 26 THEN 'HEADER'
174140 WHEN 27 THEN 'HEADER'
174141 WHEN 28 THEN 'HEADER'
174142 WHEN 29 THEN 'HEADER'
174143 WHEN 30 THEN 'HEADER'
174144 WHEN 31 THEN 'HEADER'
174145 WHEN 32 THEN 'HEADER'
174146 WHEN 33 THEN 'HEADER'
174147
174148 ELSE null
174149 END object_type_code
174150 , CASE r
174151 WHEN 1 THEN '200'
174152 WHEN 2 THEN '200'
174153 WHEN 3 THEN '200'
174154 WHEN 4 THEN '200'
174155 WHEN 5 THEN '200'
174156 WHEN 6 THEN '200'
174157 WHEN 7 THEN '200'
174158 WHEN 8 THEN '200'
174159 WHEN 9 THEN '200'
174160 WHEN 10 THEN '200'
174161 WHEN 11 THEN '200'
174162 WHEN 12 THEN '200'
174163 WHEN 13 THEN '200'
174164 WHEN 14 THEN '200'
174165 WHEN 15 THEN '200'
174169 WHEN 19 THEN '200'
174166 WHEN 16 THEN '200'
174167 WHEN 17 THEN '200'
174168 WHEN 18 THEN '200'
174170 WHEN 20 THEN '200'
174171 WHEN 21 THEN '200'
174172 WHEN 22 THEN '200'
174173 WHEN 23 THEN '200'
174174 WHEN 24 THEN '200'
174175 WHEN 25 THEN '200'
174176 WHEN 26 THEN '200'
174177 WHEN 27 THEN '200'
174178 WHEN 28 THEN '200'
174179 WHEN 29 THEN '200'
174180 WHEN 30 THEN '200'
174181 WHEN 31 THEN '200'
174182 WHEN 32 THEN '200'
174183 WHEN 33 THEN '200'
174184
174185 ELSE null
174186 END source_application_id
174187 , 'S' source_type_code
174188 , CASE r
174189 WHEN 1 THEN 'AC_DOC_SEQUENCE_VALUE'
174190 WHEN 2 THEN 'AC_CURRENCY_CODE'
174191 WHEN 3 THEN 'CGAC_BANK_CHARGES_CCID'
174192 WHEN 4 THEN 'ASP_AUTOMATIC_OFFSETS_VALUE'
174193 WHEN 5 THEN 'CGAC_BANK_ERRORS_CCID'
174194 WHEN 6 THEN 'CGAC_AP_ASSET_CCID'
174195 WHEN 7 THEN 'FSP_DISC_TAKEN_CCID'
174196 WHEN 8 THEN 'ASP_DISCOUNT_DIST_METHOD'
174197 WHEN 9 THEN 'ASP_INTEREST_CCID'
174198 WHEN 10 THEN 'ASP_PRORATE_INT_ACROSS_DISTS'
174199 WHEN 11 THEN 'CGAC_GAIN_CCID'
174200 WHEN 12 THEN 'ASP_GAIN_CCID'
174201 WHEN 13 THEN 'CGAC_LOSS_CCID'
174202 WHEN 14 THEN 'ASP_LOSS_CCID'
174203 WHEN 15 THEN 'ASP_DISC_TAKEN_CCID'
174204 WHEN 16 THEN 'ASP_AUTO_OFFSET_FLAG'
174205 WHEN 17 THEN 'ASP_ROUNDING_ERROR_CCID'
174206 WHEN 18 THEN 'ASP_WHEN_TO_ACCOUNT_PMT'
174207 WHEN 19 THEN 'THIRD_PARTY_TYPE'
174208 WHEN 20 THEN 'APH_BANK_CURRENCY_CODE'
174209 WHEN 21 THEN 'APH_BANK_TO_BASE_XRATE_DATE'
174210 WHEN 22 THEN 'APH_BANK_TO_BASE_XRATE'
174211 WHEN 23 THEN 'APH_BANK_TO_BASE_XRATE_TYPE'
174212 WHEN 24 THEN 'AC_VENDOR_ID'
174213 WHEN 25 THEN 'AC_VENDOR_SITE_ID'
174214 WHEN 26 THEN 'CBA_POOLED_BANK_ACOUNT_FLAG'
174215 WHEN 27 THEN 'AC_FUTURE_PAY_DUE_DATE'
174216 WHEN 28 THEN 'AC_EXCHANGE_DATE'
174217 WHEN 29 THEN 'AC_EXCHANGE_RATE'
174218 WHEN 30 THEN 'AC_EXCHANGE_RATE_TYPE'
174219 WHEN 31 THEN 'PAYMENT_TYPE'
174220 WHEN 32 THEN 'AC_DOC_CATEGORY_CODE'
174221 WHEN 33 THEN 'PAYMENT_DOCUMENT_SEQUENCE_ID'
174222
174223 ELSE null
174224 END source_code
174225 , CASE r
174226 WHEN 1 THEN TO_CHAR(h2.AC_DOC_SEQUENCE_VALUE)
174227 WHEN 2 THEN TO_CHAR(h2.AC_CURRENCY_CODE)
174228 WHEN 3 THEN TO_CHAR(h2.CGAC_BANK_CHARGES_CCID)
174229 WHEN 4 THEN TO_CHAR(h3.ASP_AUTOMATIC_OFFSETS_VALUE)
174230 WHEN 5 THEN TO_CHAR(h2.CGAC_BANK_ERRORS_CCID)
174231 WHEN 6 THEN TO_CHAR(h2.CGAC_AP_ASSET_CCID)
174232 WHEN 7 THEN TO_CHAR(h3.FSP_DISC_TAKEN_CCID)
174233 WHEN 8 THEN TO_CHAR(h3.ASP_DISCOUNT_DIST_METHOD)
174234 WHEN 9 THEN TO_CHAR(h3.ASP_INTEREST_CCID)
174235 WHEN 10 THEN TO_CHAR(h3.ASP_PRORATE_INT_ACROSS_DISTS)
174236 WHEN 11 THEN TO_CHAR(h2.CGAC_GAIN_CCID)
174237 WHEN 12 THEN TO_CHAR(h3.ASP_GAIN_CCID)
174238 WHEN 13 THEN TO_CHAR(h2.CGAC_LOSS_CCID)
174239 WHEN 14 THEN TO_CHAR(h3.ASP_LOSS_CCID)
174240 WHEN 15 THEN TO_CHAR(h3.ASP_DISC_TAKEN_CCID)
174241 WHEN 16 THEN TO_CHAR(h3.ASP_AUTO_OFFSET_FLAG)
174242 WHEN 17 THEN TO_CHAR(h3.ASP_ROUNDING_ERROR_CCID)
174243 WHEN 18 THEN TO_CHAR(h3.ASP_WHEN_TO_ACCOUNT_PMT)
174244 WHEN 19 THEN TO_CHAR(h2.THIRD_PARTY_TYPE)
174245 WHEN 20 THEN TO_CHAR(h2.APH_BANK_CURRENCY_CODE)
174246 WHEN 21 THEN TO_CHAR(h2.APH_BANK_TO_BASE_XRATE_DATE)
174247 WHEN 22 THEN TO_CHAR(h2.APH_BANK_TO_BASE_XRATE)
174248 WHEN 23 THEN TO_CHAR(h2.APH_BANK_TO_BASE_XRATE_TYPE)
174249 WHEN 24 THEN TO_CHAR(h2.AC_VENDOR_ID)
174250 WHEN 25 THEN TO_CHAR(h2.AC_VENDOR_SITE_ID)
174251 WHEN 26 THEN TO_CHAR(h2.CBA_POOLED_BANK_ACOUNT_FLAG)
174252 WHEN 27 THEN TO_CHAR(h2.AC_FUTURE_PAY_DUE_DATE)
174253 WHEN 28 THEN TO_CHAR(h2.AC_EXCHANGE_DATE)
174254 WHEN 29 THEN TO_CHAR(h2.AC_EXCHANGE_RATE)
174255 WHEN 30 THEN TO_CHAR(h2.AC_EXCHANGE_RATE_TYPE)
174256 WHEN 31 THEN TO_CHAR(h2.PAYMENT_TYPE)
174257 WHEN 32 THEN TO_CHAR(h2.AC_DOC_CATEGORY_CODE)
174258 WHEN 33 THEN TO_CHAR(h2.PAYMENT_DOCUMENT_SEQUENCE_ID)
174259
174260 ELSE null
174261 END source_value
174262 , CASE r
174263 WHEN 4 THEN fvl10.meaning
174264 WHEN 8 THEN fvl14.meaning
174265 WHEN 16 THEN fvl43.meaning
174266 WHEN 26 THEN fvl116.meaning
174267 WHEN 31 THEN fvl125.meaning
174268
174269 ELSE null
174270 END source_meaning
174271 FROM xla_events_gt xet
174272 , AP_PAYMENT_EXTRACT_HEADER_V h2
174273 , AP_SYSTEM_PARAMETERS_EXTRACT_V h3
174274 , fnd_lookup_values fvl10
174275 , fnd_lookup_values fvl14
174276 , fnd_lookup_values fvl43
174277 , fnd_lookup_values fvl116
174278 , fnd_lookup_values fvl125
174282 AND h2.event_id = xet.event_id
174279 ,(select rownum r from all_objects where rownum <= 33 and owner = p_apps_owner)
174280 WHERE xet.event_date between p_pad_start_date AND p_pad_end_date
174281 AND xet.event_class_code = C_EVENT_CLASS_CODE
174283 AND h3.asp_org_id = h2.ac_org_id AND fvl10.lookup_type(+) = 'LIABILITY FLEXBUILD METHOD'
174284 AND fvl10.lookup_code(+) = h3.ASP_AUTOMATIC_OFFSETS_VALUE
174285 AND fvl10.view_application_id(+) = 200
174286 AND fvl10.language(+) = USERENV('LANG')
174287 AND fvl14.lookup_type(+) = 'DISCOUNT_DIST_OPTIONS'
174288 AND fvl14.lookup_code(+) = h3.ASP_DISCOUNT_DIST_METHOD
174289 AND fvl14.view_application_id(+) = 200
174290 AND fvl14.language(+) = USERENV('LANG')
174291 AND fvl43.lookup_type(+) = 'YES_NO'
174292 AND fvl43.lookup_code(+) = h3.ASP_AUTO_OFFSET_FLAG
174293 AND fvl43.view_application_id(+) = 0
174294 AND fvl43.language(+) = USERENV('LANG')
174295 AND fvl116.lookup_type(+) = 'YES_NO'
174296 AND fvl116.lookup_code(+) = h2.CBA_POOLED_BANK_ACOUNT_FLAG
174297 AND fvl116.view_application_id(+) = 0
174298 AND fvl116.language(+) = USERENV('LANG')
174299 AND fvl125.lookup_type(+) = 'PAYMENT TYPE'
174300 AND fvl125.lookup_code(+) = h2.PAYMENT_TYPE
174301 AND fvl125.view_application_id(+) = 200
174302 AND fvl125.language(+) = USERENV('LANG')
174303
174304 )
174305 ;
174306 --
174307 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
174308
174309 trace
174310 (p_msg => 'number of header sources inserted = '||SQL%ROWCOUNT
174311 ,p_level => C_LEVEL_STATEMENT
174312 ,p_module => l_log_module);
174313
174314 END IF;
174315 --
174316
174317
174318
174319 --
174320 INSERT INTO xla_diag_sources --line2
174321 (
174322 event_id
174323 , ledger_id
174324 , sla_ledger_id
174325 , description_language
174326 , object_name
174327 , object_type_code
174328 , line_number
174329 , source_application_id
174330 , source_type_code
174331 , source_code
174332 , source_value
174333 , source_meaning
174334 , created_by
174335 , creation_date
174336 , last_update_date
174337 , last_updated_by
174338 , last_update_login
174339 , program_update_date
174340 , program_application_id
174341 , program_id
174342 , request_id
174343 )
174344 SELECT event_id
174345 , p_target_ledger_id
174346 , p_sla_ledger_id
174347 , p_language
174348 , object_name
174349 , object_type_code
174350 , line_number
174351 , source_application_id
174352 , source_type_code
174353 , source_code
174354 , SUBSTR(source_value,1,1996)
174355 , SUBSTR(source_meaning ,1,200)
174356 , xla_environment_pkg.g_Usr_Id
174357 , TRUNC(SYSDATE)
174358 , TRUNC(SYSDATE)
174359 , xla_environment_pkg.g_Usr_Id
174360 , xla_environment_pkg.g_Login_Id
174361 , TRUNC(SYSDATE)
174362 , xla_environment_pkg.g_Prog_Appl_Id
174363 , xla_environment_pkg.g_Prog_Id
174364 , xla_environment_pkg.g_Req_Id
174365 FROM (
174366 SELECT xet.event_id event_id
174367 , l1.line_number line_number
174368 , CASE r
174369 WHEN 1 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
174370 WHEN 2 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
174371 WHEN 3 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
174372 WHEN 4 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
174373 WHEN 5 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
174374 WHEN 6 THEN 'ZX_AP_DEF_TAX_EXTRACT_V'
174375 WHEN 7 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
174376 WHEN 8 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
174377 WHEN 9 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
174378 WHEN 10 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
174379 WHEN 11 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
174380 WHEN 12 THEN 'ZX_AP_DEF_TAX_EXTRACT_V'
174381 WHEN 13 THEN 'ZX_AP_DEF_TAX_EXTRACT_V'
174382 WHEN 14 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
174383 WHEN 15 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
174384 WHEN 16 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
174385 WHEN 17 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
174386 WHEN 18 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
174387 WHEN 19 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
174388 WHEN 20 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
174389 WHEN 21 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
174390 WHEN 22 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
174391 WHEN 23 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
174392 WHEN 24 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
174393 WHEN 25 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
174394 WHEN 26 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
174395 WHEN 27 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
174396 WHEN 28 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
174397 WHEN 29 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
174398 WHEN 30 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
174399 WHEN 31 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
174400 WHEN 32 THEN 'ZX_AP_DEF_TAX_EXTRACT_V'
174401 WHEN 33 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
174402 WHEN 34 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
174403 WHEN 35 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
174404 WHEN 36 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
174405 WHEN 37 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
174406 WHEN 38 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
174410 WHEN 42 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
174407 WHEN 39 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
174408 WHEN 40 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
174409 WHEN 41 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
174411
174412 ELSE null
174413 END object_name
174414 , CASE r
174415 WHEN 1 THEN 'LINE'
174416 WHEN 2 THEN 'LINE'
174417 WHEN 3 THEN 'LINE'
174418 WHEN 4 THEN 'LINE'
174419 WHEN 5 THEN 'LINE'
174420 WHEN 6 THEN 'LINE'
174421 WHEN 7 THEN 'LINE'
174422 WHEN 8 THEN 'LINE'
174423 WHEN 9 THEN 'LINE'
174424 WHEN 10 THEN 'LINE'
174425 WHEN 11 THEN 'LINE'
174426 WHEN 12 THEN 'LINE'
174427 WHEN 13 THEN 'LINE'
174428 WHEN 14 THEN 'LINE'
174429 WHEN 15 THEN 'LINE'
174430 WHEN 16 THEN 'LINE'
174431 WHEN 17 THEN 'LINE'
174432 WHEN 18 THEN 'LINE'
174433 WHEN 19 THEN 'LINE'
174434 WHEN 20 THEN 'LINE'
174435 WHEN 21 THEN 'LINE'
174436 WHEN 22 THEN 'LINE'
174437 WHEN 23 THEN 'LINE'
174438 WHEN 24 THEN 'LINE'
174439 WHEN 25 THEN 'LINE'
174440 WHEN 26 THEN 'LINE'
174441 WHEN 27 THEN 'LINE'
174442 WHEN 28 THEN 'LINE'
174443 WHEN 29 THEN 'LINE'
174444 WHEN 30 THEN 'LINE'
174445 WHEN 31 THEN 'LINE'
174446 WHEN 32 THEN 'LINE'
174447 WHEN 33 THEN 'LINE'
174448 WHEN 34 THEN 'LINE'
174449 WHEN 35 THEN 'LINE'
174450 WHEN 36 THEN 'LINE'
174451 WHEN 37 THEN 'LINE'
174452 WHEN 38 THEN 'LINE'
174453 WHEN 39 THEN 'LINE'
174454 WHEN 40 THEN 'LINE'
174455 WHEN 41 THEN 'LINE'
174456 WHEN 42 THEN 'LINE'
174457
174458 ELSE null
174459 END object_type_code
174460 , CASE r
174461 WHEN 1 THEN '200'
174462 WHEN 2 THEN '200'
174463 WHEN 3 THEN '200'
174464 WHEN 4 THEN '200'
174465 WHEN 5 THEN '200'
174466 WHEN 6 THEN '200'
174467 WHEN 7 THEN '200'
174468 WHEN 8 THEN '200'
174469 WHEN 9 THEN '200'
174470 WHEN 10 THEN '200'
174471 WHEN 11 THEN '200'
174472 WHEN 12 THEN '200'
174473 WHEN 13 THEN '200'
174474 WHEN 14 THEN '200'
174475 WHEN 15 THEN '200'
174476 WHEN 16 THEN '200'
174477 WHEN 17 THEN '200'
174478 WHEN 18 THEN '200'
174479 WHEN 19 THEN '200'
174480 WHEN 20 THEN '200'
174481 WHEN 21 THEN '200'
174482 WHEN 22 THEN '200'
174483 WHEN 23 THEN '200'
174484 WHEN 24 THEN '200'
174485 WHEN 25 THEN '200'
174486 WHEN 26 THEN '200'
174487 WHEN 27 THEN '200'
174488 WHEN 28 THEN '200'
174489 WHEN 29 THEN '200'
174490 WHEN 30 THEN '200'
174491 WHEN 31 THEN '200'
174492 WHEN 32 THEN '200'
174493 WHEN 33 THEN '200'
174494 WHEN 34 THEN '200'
174495 WHEN 35 THEN '200'
174496 WHEN 36 THEN '200'
174497 WHEN 37 THEN '200'
174498 WHEN 38 THEN '200'
174499 WHEN 39 THEN '200'
174500 WHEN 40 THEN '200'
174501 WHEN 41 THEN '200'
174502 WHEN 42 THEN '200'
174503
174504 ELSE null
174505 END source_application_id
174506 , 'S' source_type_code
174507 , CASE r
174508 WHEN 1 THEN 'AID_DIST_CCID'
174509 WHEN 2 THEN 'AID_LINE_TYPE_LOOKUP_CODE'
174510 WHEN 3 THEN 'AWT_RELATED_DIST_ACCOUNT'
174511 WHEN 4 THEN 'POD_CCID'
174512 WHEN 5 THEN 'PO_VARIANCE_ACCOUNT'
174513 WHEN 6 THEN 'TAX_ACCOUNT_CCID'
174514 WHEN 7 THEN 'AI_INVOICE_TYPE_PAID'
174515 WHEN 8 THEN 'DIST_ACCOUNT_REVERSAL_OPTION'
174516 WHEN 9 THEN 'DISTRIBUTION_LINK_TYPE'
174517 WHEN 10 THEN 'AI_INVOICE_CURRENCY_CODE'
174518 WHEN 11 THEN 'OVERRIDE_ACCTD_AMT_FLAG'
174519 WHEN 12 THEN 'TAX_LINE_ID'
174520 WHEN 13 THEN 'SUMMARY_TAX_LINE_ID'
174521 WHEN 14 THEN 'BUS_FLOW_AP_APP_ID'
174522 WHEN 15 THEN 'BUS_FLOW_INV_DIST_TYPE'
174523 WHEN 16 THEN 'BUS_FLOW_INV_ENTITY_CODE'
174524 WHEN 17 THEN 'BUS_FLOW_INV_DIST_ID'
174525 WHEN 18 THEN 'BUS_FLOW_INV_ID'
174526 WHEN 19 THEN 'APHD_PAY_DIST_LOOKUP_CODE'
174527 WHEN 20 THEN 'APHD_AMOUNT'
174528 WHEN 21 THEN 'BUS_FLOW_PAYMENT_DIST_TYPE'
174529 WHEN 22 THEN 'BUS_FLOW_PAYMENT_ENTITY_CODE'
174530 WHEN 23 THEN 'BUS_FLOW_PAYMENT_DIST_ID'
174531 WHEN 24 THEN 'BUS_FLOW_PAYMENT_ID'
174532 WHEN 25 THEN 'APHD_PAYMENT_HIST_DIST_ID'
174533 WHEN 26 THEN 'APHD_CLEARING_BASE_AMT'
174534 WHEN 27 THEN 'APHD_REV_PAY_HIST_DIST_ID'
174535 WHEN 28 THEN 'APHD_PAYMENT_BASE_AMT'
174539 WHEN 32 THEN 'DEF_REC_SETTLEMENT_OPTION_CODE'
174536 WHEN 29 THEN 'APHD_INVOICE_BASE_AMT'
174537 WHEN 30 THEN 'BUS_FLOW_PAYMENT_MAT_DIST_ID'
174538 WHEN 31 THEN 'APHD_MATURED_BASE_AMOUNT'
174540 WHEN 33 THEN 'INV_EXCHANGE_DATE'
174541 WHEN 34 THEN 'INV_EXCHANGE_RATE'
174542 WHEN 35 THEN 'INV_EXCHANGE_RATE_TYPE'
174543 WHEN 36 THEN 'INV_CLR_GAIN_LOSS_INDICATOR'
174544 WHEN 37 THEN 'INV_CLR_BASE_AMT_DIFF'
174545 WHEN 38 THEN 'MAT_CLR_GAIN_LOSS_INDICATOR'
174546 WHEN 39 THEN 'MAT_CLR_BASE_AMT_DIFF'
174547 WHEN 40 THEN 'PMT_CLR_GAIN_LOSS_INDICATOR'
174548 WHEN 41 THEN 'PMT_CLR_BASE_AMT_DIFF'
174549 WHEN 42 THEN 'AWT_AT_PMT_TIME'
174550
174551 ELSE null
174552 END source_code
174553 , CASE r
174554 WHEN 1 THEN TO_CHAR(l1.AID_DIST_CCID)
174555 WHEN 2 THEN TO_CHAR(l1.AID_LINE_TYPE_LOOKUP_CODE)
174556 WHEN 3 THEN TO_CHAR(l1.AWT_RELATED_DIST_ACCOUNT)
174557 WHEN 4 THEN TO_CHAR(l1.POD_CCID)
174558 WHEN 5 THEN TO_CHAR(l1.PO_VARIANCE_ACCOUNT)
174559 WHEN 6 THEN TO_CHAR(l4.TAX_ACCOUNT_CCID)
174560 WHEN 7 THEN TO_CHAR(l1.AI_INVOICE_TYPE_PAID)
174561 WHEN 8 THEN TO_CHAR(l1.DIST_ACCOUNT_REVERSAL_OPTION)
174562 WHEN 9 THEN TO_CHAR(l1.DISTRIBUTION_LINK_TYPE)
174563 WHEN 10 THEN TO_CHAR(l1.AI_INVOICE_CURRENCY_CODE)
174564 WHEN 11 THEN TO_CHAR(l1.OVERRIDE_ACCTD_AMT_FLAG)
174565 WHEN 12 THEN TO_CHAR(l4.TAX_LINE_ID)
174566 WHEN 13 THEN TO_CHAR(l4.SUMMARY_TAX_LINE_ID)
174567 WHEN 14 THEN TO_CHAR(l1.BUS_FLOW_AP_APP_ID)
174568 WHEN 15 THEN TO_CHAR(l1.BUS_FLOW_INV_DIST_TYPE)
174569 WHEN 16 THEN TO_CHAR(l1.BUS_FLOW_INV_ENTITY_CODE)
174570 WHEN 17 THEN TO_CHAR(l1.BUS_FLOW_INV_DIST_ID)
174571 WHEN 18 THEN TO_CHAR(l1.BUS_FLOW_INV_ID)
174572 WHEN 19 THEN TO_CHAR(l1.APHD_PAY_DIST_LOOKUP_CODE)
174573 WHEN 20 THEN TO_CHAR(l1.APHD_AMOUNT)
174574 WHEN 21 THEN TO_CHAR(l1.BUS_FLOW_PAYMENT_DIST_TYPE)
174575 WHEN 22 THEN TO_CHAR(l1.BUS_FLOW_PAYMENT_ENTITY_CODE)
174576 WHEN 23 THEN TO_CHAR(l1.BUS_FLOW_PAYMENT_DIST_ID)
174577 WHEN 24 THEN TO_CHAR(l1.BUS_FLOW_PAYMENT_ID)
174578 WHEN 25 THEN TO_CHAR(l1.APHD_PAYMENT_HIST_DIST_ID)
174579 WHEN 26 THEN TO_CHAR(l1.APHD_CLEARING_BASE_AMT)
174580 WHEN 27 THEN TO_CHAR(l1.APHD_REV_PAY_HIST_DIST_ID)
174581 WHEN 28 THEN TO_CHAR(l1.APHD_PAYMENT_BASE_AMT)
174582 WHEN 29 THEN TO_CHAR(l1.APHD_INVOICE_BASE_AMT)
174583 WHEN 30 THEN TO_CHAR(l1.BUS_FLOW_PAYMENT_MAT_DIST_ID)
174584 WHEN 31 THEN TO_CHAR(l1.APHD_MATURED_BASE_AMOUNT)
174585 WHEN 32 THEN TO_CHAR(l4.DEF_REC_SETTLEMENT_OPTION_CODE)
174586 WHEN 33 THEN TO_CHAR(l1.INV_EXCHANGE_DATE)
174587 WHEN 34 THEN TO_CHAR(l1.INV_EXCHANGE_RATE)
174588 WHEN 35 THEN TO_CHAR(l1.INV_EXCHANGE_RATE_TYPE)
174589 WHEN 36 THEN TO_CHAR(l1.INV_CLR_GAIN_LOSS_INDICATOR)
174590 WHEN 37 THEN TO_CHAR(l1.INV_CLR_BASE_AMT_DIFF)
174591 WHEN 38 THEN TO_CHAR(l1.MAT_CLR_GAIN_LOSS_INDICATOR)
174592 WHEN 39 THEN TO_CHAR(l1.MAT_CLR_BASE_AMT_DIFF)
174593 WHEN 40 THEN TO_CHAR(l1.PMT_CLR_GAIN_LOSS_INDICATOR)
174594 WHEN 41 THEN TO_CHAR(l1.PMT_CLR_BASE_AMT_DIFF)
174595 WHEN 42 THEN TO_CHAR(l1.AWT_AT_PMT_TIME)
174596
174597 ELSE null
174598 END source_value
174599 , CASE r
174600 WHEN 2 THEN fvl28.meaning
174601 WHEN 7 THEN fvl56.meaning
174602 WHEN 11 THEN fvl85.meaning
174603 WHEN 19 THEN fvl101.meaning
174604 WHEN 32 THEN fvl140.meaning
174605 WHEN 42 THEN fvl166.meaning
174606
174607 ELSE null
174608 END source_meaning
174609 FROM xla_events_gt xet
174610 , AP_PAYMENT_EXTRACT_DETAILS_V l1
174611 , ZX_AP_DEF_TAX_EXTRACT_V l4
174612 , fnd_lookup_values fvl28
174613 , fnd_lookup_values fvl56
174614 , fnd_lookup_values fvl85
174615 , fnd_lookup_values fvl101
174616 , fnd_lookup_values fvl140
174617 , fnd_lookup_values fvl166
174618 , (select rownum r from all_objects where rownum <= 42 and owner = p_apps_owner)
174619 WHERE xet.event_date between p_pad_start_date AND p_pad_end_date
174620 AND xet.event_class_code = C_EVENT_CLASS_CODE
174621 AND l1.event_id = xet.event_id
174622 AND l1.aid_detail_tax_dist_id = l4.rec_nrec_tax_dist_id (+) AND fvl28.lookup_type(+) = 'INVOICE DISTRIBUTION TYPE'
174623 AND fvl28.lookup_code(+) = l1.AID_LINE_TYPE_LOOKUP_CODE
174624 AND fvl28.view_application_id(+) = 200
174625 AND fvl28.language(+) = USERENV('LANG')
174626 AND fvl56.lookup_type(+) = 'INVOICE TYPE'
174627 AND fvl56.lookup_code(+) = l1.AI_INVOICE_TYPE_PAID
174628 AND fvl56.view_application_id(+) = 200
174629 AND fvl56.language(+) = USERENV('LANG')
174630 AND fvl85.lookup_type(+) = 'YES_NO'
174631 AND fvl85.lookup_code(+) = l1.OVERRIDE_ACCTD_AMT_FLAG
174632 AND fvl85.view_application_id(+) = 0
174633 AND fvl85.language(+) = USERENV('LANG')
174634 AND fvl101.lookup_type(+) = 'PAY_DIST_TYPES'
174635 AND fvl101.lookup_code(+) = l1.APHD_PAY_DIST_LOOKUP_CODE
174636 AND fvl101.view_application_id(+) = 200
174637 AND fvl101.language(+) = USERENV('LANG')
174638 AND fvl140.lookup_type(+) = 'ZX_REC_SETTLEMENT_OPTION'
174642 AND fvl166.lookup_type(+) = 'YES_NO'
174639 AND fvl140.lookup_code(+) = l4.DEF_REC_SETTLEMENT_OPTION_CODE
174640 AND fvl140.view_application_id(+) = 0
174641 AND fvl140.language(+) = USERENV('LANG')
174643 AND fvl166.lookup_code(+) = l1.AWT_AT_PMT_TIME
174644 AND fvl166.view_application_id(+) = 0
174645 AND fvl166.language(+) = USERENV('LANG')
174646
174647 )
174648 ;
174649 --
174650 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
174651
174652 trace
174653 (p_msg => 'number of line sources inserted = '||SQL%ROWCOUNT
174654 ,p_level => C_LEVEL_STATEMENT
174655 ,p_module => l_log_module);
174656
174657 END IF;
174658
174659
174660 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
174661 trace
174662 (p_msg => 'END of insert_sources_255'
174663 ,p_level => C_LEVEL_PROCEDURE
174664 ,p_module => l_log_module);
174665 END IF;
174666 EXCEPTION
174667 WHEN xla_exceptions_pkg.application_exception THEN
174668 IF (C_LEVEL_EXCEPTION >= g_log_level) THEN
174669 trace
174670 (p_msg => 'ERROR: XLA_CMP_COMPILER_ERROR = '||sqlerrm
174671 ,p_level => C_LEVEL_EXCEPTION
174672 ,p_module => l_log_module);
174673 END IF;
174674 RAISE;
174675 WHEN OTHERS THEN
174676 IF (C_LEVEL_EXCEPTION >= g_log_level) THEN
174677 trace
174678 (p_msg => 'ERROR: XLA_CMP_COMPILER_ERROR = '||sqlerrm
174679 ,p_level => C_LEVEL_EXCEPTION
174680 ,p_module => l_log_module);
174681 END IF;
174682 xla_exceptions_pkg.raise_message
174683 (p_location => 'XLA_00200_AAD_S_000012_PKG.insert_sources_255');
174684 END insert_sources_255;
174685 --
174686
174687 ---------------------------------------
174688 --
174689 -- PRIVATE FUNCTION
174690 -- EventClass_255
174691 --
174692 ----------------------------------------
174693 --
174694 FUNCTION EventClass_255
174695 (p_application_id IN NUMBER
174696 ,p_base_ledger_id IN NUMBER
174697 ,p_target_ledger_id IN NUMBER
174698 ,p_language IN VARCHAR2
174699 ,p_currency_code IN VARCHAR2
174700 ,p_sla_ledger_id IN NUMBER
174701 ,p_pad_start_date IN DATE
174702 ,p_pad_end_date IN DATE
174703 ,p_primary_ledger_id IN NUMBER)
174704 RETURN BOOLEAN IS
174705 --
174706 C_EVENT_TYPE_CODE CONSTANT VARCHAR2(30) := 'RECONCILED PAYMENTS_ALL';
174707 C_EVENT_CLASS_CODE CONSTANT VARCHAR2(30) := 'RECONCILED PAYMENTS';
174708
174709 l_calculate_acctd_flag VARCHAR2(1) :='N';
174710 l_calculate_g_l_flag VARCHAR2(1) :='N';
174711 --
174712 l_array_legal_entity_id XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
174713 l_array_entity_id XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
174714 l_array_entity_code XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
174715 l_array_transaction_num XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
174716 l_array_event_id XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
174717 l_array_class_code XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
174718 l_array_event_type XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
174719 l_array_event_number XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
174720 l_array_event_date XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
174721 l_array_transaction_date XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
174722 l_array_reference_num_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
174723 l_array_reference_num_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
174724 l_array_reference_num_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
174725 l_array_reference_num_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
174726 l_array_reference_char_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
174727 l_array_reference_char_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
174728 l_array_reference_char_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
174729 l_array_reference_char_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
174730 l_array_reference_date_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
174731 l_array_reference_date_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
174732 l_array_reference_date_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
174733 l_array_reference_date_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
174734 l_array_event_created_by XLA_AE_JOURNAL_ENTRY_PKG.t_array_V100L;
174735 l_array_budgetary_control_flag XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
174736 l_array_header_events XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num; --added
174737 l_array_duplicate_checker XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num; --added
174738
174739 l_event_id NUMBER;
174740 l_previous_event_id NUMBER;
174741 l_first_event_id NUMBER;
174742 l_last_event_id NUMBER;
174743
174744 l_rec_acct_attrs XLA_AE_HEADER_PKG.t_rec_acct_attrs;
174745 l_rec_rev_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
174746 --
174747 --
174748 l_result BOOLEAN := TRUE;
174749 l_rows NUMBER := 1000;
174750 l_event_type_name VARCHAR2(80) := 'All';
174751 l_event_class_name VARCHAR2(80) := 'Reconciled Payments';
174752 l_description VARCHAR2(4000);
174753 l_transaction_reversal NUMBER;
174754 l_ae_header_id NUMBER;
174755 l_array_extract_line_num xla_ae_journal_entry_pkg.t_array_Num;
174756 l_log_module VARCHAR2(240);
174757 --
174758 l_acct_reversal_source VARCHAR2(30);
174759 l_trx_reversal_source VARCHAR2(30);
174760
174761 l_continue_with_lines BOOLEAN := TRUE;
174762 --
174766
174763 l_acc_rev_gl_date_source DATE; -- 4262811
174764 --
174765 type t_array_event_id is table of number index by binary_integer;
174767 l_rec_array_event t_rec_array_event;
174768 l_null_rec_array_event t_rec_array_event;
174769 l_array_ae_header_id xla_number_array_type;
174770 l_actual_flag VARCHAR2(1) := NULL;
174771 l_actual_gain_loss_ref VARCHAR2(30) := '#####';
174772 l_balance_type_code VARCHAR2(1) :=NULL;
174773 l_gain_or_loss_ref VARCHAR2(30) :=NULL;
174774
174775 --
174776 TYPE t_array_lookup_meaning IS TABLE OF fnd_lookup_values.meaning%TYPE INDEX BY BINARY_INTEGER;
174777 --
174778
174779 TYPE t_array_source_4 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_DOC_SEQUENCE_VALUE%TYPE INDEX BY BINARY_INTEGER;
174780 TYPE t_array_source_8 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_CURRENCY_CODE%TYPE INDEX BY BINARY_INTEGER;
174781 TYPE t_array_source_9 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.CGAC_BANK_CHARGES_CCID%TYPE INDEX BY BINARY_INTEGER;
174782 TYPE t_array_source_10 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_AUTOMATIC_OFFSETS_VALUE%TYPE INDEX BY BINARY_INTEGER;
174783 TYPE t_array_source_11 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.CGAC_BANK_ERRORS_CCID%TYPE INDEX BY BINARY_INTEGER;
174784 TYPE t_array_source_12 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.CGAC_AP_ASSET_CCID%TYPE INDEX BY BINARY_INTEGER;
174785 TYPE t_array_source_13 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.FSP_DISC_TAKEN_CCID%TYPE INDEX BY BINARY_INTEGER;
174786 TYPE t_array_source_14 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_DISCOUNT_DIST_METHOD%TYPE INDEX BY BINARY_INTEGER;
174787 TYPE t_array_source_23 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_INTEREST_CCID%TYPE INDEX BY BINARY_INTEGER;
174788 TYPE t_array_source_24 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_PRORATE_INT_ACROSS_DISTS%TYPE INDEX BY BINARY_INTEGER;
174789 TYPE t_array_source_31 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.CGAC_GAIN_CCID%TYPE INDEX BY BINARY_INTEGER;
174790 TYPE t_array_source_32 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_GAIN_CCID%TYPE INDEX BY BINARY_INTEGER;
174791 TYPE t_array_source_33 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.CGAC_LOSS_CCID%TYPE INDEX BY BINARY_INTEGER;
174792 TYPE t_array_source_34 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_LOSS_CCID%TYPE INDEX BY BINARY_INTEGER;
174793 TYPE t_array_source_40 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_DISC_TAKEN_CCID%TYPE INDEX BY BINARY_INTEGER;
174794 TYPE t_array_source_43 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_AUTO_OFFSET_FLAG%TYPE INDEX BY BINARY_INTEGER;
174795 TYPE t_array_source_45 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_ROUNDING_ERROR_CCID%TYPE INDEX BY BINARY_INTEGER;
174796 TYPE t_array_source_57 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_WHEN_TO_ACCOUNT_PMT%TYPE INDEX BY BINARY_INTEGER;
174797 TYPE t_array_source_88 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.THIRD_PARTY_TYPE%TYPE INDEX BY BINARY_INTEGER;
174798 TYPE t_array_source_108 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.APH_BANK_CURRENCY_CODE%TYPE INDEX BY BINARY_INTEGER;
174799 TYPE t_array_source_109 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.APH_BANK_TO_BASE_XRATE_DATE%TYPE INDEX BY BINARY_INTEGER;
174800 TYPE t_array_source_110 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.APH_BANK_TO_BASE_XRATE%TYPE INDEX BY BINARY_INTEGER;
174801 TYPE t_array_source_111 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.APH_BANK_TO_BASE_XRATE_TYPE%TYPE INDEX BY BINARY_INTEGER;
174802 TYPE t_array_source_113 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_VENDOR_ID%TYPE INDEX BY BINARY_INTEGER;
174803 TYPE t_array_source_114 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_VENDOR_SITE_ID%TYPE INDEX BY BINARY_INTEGER;
174804 TYPE t_array_source_116 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.CBA_POOLED_BANK_ACOUNT_FLAG%TYPE INDEX BY BINARY_INTEGER;
174805 TYPE t_array_source_117 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_FUTURE_PAY_DUE_DATE%TYPE INDEX BY BINARY_INTEGER;
174806 TYPE t_array_source_120 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_EXCHANGE_DATE%TYPE INDEX BY BINARY_INTEGER;
174807 TYPE t_array_source_121 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_EXCHANGE_RATE%TYPE INDEX BY BINARY_INTEGER;
174808 TYPE t_array_source_122 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_EXCHANGE_RATE_TYPE%TYPE INDEX BY BINARY_INTEGER;
174809 TYPE t_array_source_125 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.PAYMENT_TYPE%TYPE INDEX BY BINARY_INTEGER;
174810 TYPE t_array_source_175 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_DOC_CATEGORY_CODE%TYPE INDEX BY BINARY_INTEGER;
174811 TYPE t_array_source_176 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.PAYMENT_DOCUMENT_SEQUENCE_ID%TYPE INDEX BY BINARY_INTEGER;
174812
174813 TYPE t_array_source_25 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.AID_DIST_CCID%TYPE INDEX BY BINARY_INTEGER;
174814 TYPE t_array_source_28 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.AID_LINE_TYPE_LOOKUP_CODE%TYPE INDEX BY BINARY_INTEGER;
174815 TYPE t_array_source_39 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.AWT_RELATED_DIST_ACCOUNT%TYPE INDEX BY BINARY_INTEGER;
174816 TYPE t_array_source_41 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.POD_CCID%TYPE INDEX BY BINARY_INTEGER;
174817 TYPE t_array_source_42 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.PO_VARIANCE_ACCOUNT%TYPE INDEX BY BINARY_INTEGER;
174818 TYPE t_array_source_48 IS TABLE OF ZX_AP_DEF_TAX_EXTRACT_V.TAX_ACCOUNT_CCID%TYPE INDEX BY BINARY_INTEGER;
174819 TYPE t_array_source_56 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.AI_INVOICE_TYPE_PAID%TYPE INDEX BY BINARY_INTEGER;
174820 TYPE t_array_source_58 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.DIST_ACCOUNT_REVERSAL_OPTION%TYPE INDEX BY BINARY_INTEGER;
174821 TYPE t_array_source_60 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.DISTRIBUTION_LINK_TYPE%TYPE INDEX BY BINARY_INTEGER;
174822 TYPE t_array_source_72 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.AI_INVOICE_CURRENCY_CODE%TYPE INDEX BY BINARY_INTEGER;
174823 TYPE t_array_source_85 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.OVERRIDE_ACCTD_AMT_FLAG%TYPE INDEX BY BINARY_INTEGER;
174824 TYPE t_array_source_91 IS TABLE OF ZX_AP_DEF_TAX_EXTRACT_V.TAX_LINE_ID%TYPE INDEX BY BINARY_INTEGER;
174825 TYPE t_array_source_93 IS TABLE OF ZX_AP_DEF_TAX_EXTRACT_V.SUMMARY_TAX_LINE_ID%TYPE INDEX BY BINARY_INTEGER;
174826 TYPE t_array_source_96 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.BUS_FLOW_AP_APP_ID%TYPE INDEX BY BINARY_INTEGER;
174827 TYPE t_array_source_97 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.BUS_FLOW_INV_DIST_TYPE%TYPE INDEX BY BINARY_INTEGER;
174831 TYPE t_array_source_101 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.APHD_PAY_DIST_LOOKUP_CODE%TYPE INDEX BY BINARY_INTEGER;
174828 TYPE t_array_source_98 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.BUS_FLOW_INV_ENTITY_CODE%TYPE INDEX BY BINARY_INTEGER;
174829 TYPE t_array_source_99 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.BUS_FLOW_INV_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
174830 TYPE t_array_source_100 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.BUS_FLOW_INV_ID%TYPE INDEX BY BINARY_INTEGER;
174832 TYPE t_array_source_102 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.APHD_AMOUNT%TYPE INDEX BY BINARY_INTEGER;
174833 TYPE t_array_source_103 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.BUS_FLOW_PAYMENT_DIST_TYPE%TYPE INDEX BY BINARY_INTEGER;
174834 TYPE t_array_source_104 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.BUS_FLOW_PAYMENT_ENTITY_CODE%TYPE INDEX BY BINARY_INTEGER;
174835 TYPE t_array_source_105 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.BUS_FLOW_PAYMENT_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
174836 TYPE t_array_source_106 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.BUS_FLOW_PAYMENT_ID%TYPE INDEX BY BINARY_INTEGER;
174837 TYPE t_array_source_107 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.APHD_PAYMENT_HIST_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
174838 TYPE t_array_source_112 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.APHD_CLEARING_BASE_AMT%TYPE INDEX BY BINARY_INTEGER;
174839 TYPE t_array_source_115 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.APHD_REV_PAY_HIST_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
174840 TYPE t_array_source_118 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.APHD_PAYMENT_BASE_AMT%TYPE INDEX BY BINARY_INTEGER;
174841 TYPE t_array_source_119 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.APHD_INVOICE_BASE_AMT%TYPE INDEX BY BINARY_INTEGER;
174842 TYPE t_array_source_123 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.BUS_FLOW_PAYMENT_MAT_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
174843 TYPE t_array_source_124 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.APHD_MATURED_BASE_AMOUNT%TYPE INDEX BY BINARY_INTEGER;
174844 TYPE t_array_source_140 IS TABLE OF ZX_AP_DEF_TAX_EXTRACT_V.DEF_REC_SETTLEMENT_OPTION_CODE%TYPE INDEX BY BINARY_INTEGER;
174845 TYPE t_array_source_146 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.INV_EXCHANGE_DATE%TYPE INDEX BY BINARY_INTEGER;
174846 TYPE t_array_source_147 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.INV_EXCHANGE_RATE%TYPE INDEX BY BINARY_INTEGER;
174847 TYPE t_array_source_148 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.INV_EXCHANGE_RATE_TYPE%TYPE INDEX BY BINARY_INTEGER;
174848 TYPE t_array_source_154 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.INV_CLR_GAIN_LOSS_INDICATOR%TYPE INDEX BY BINARY_INTEGER;
174849 TYPE t_array_source_155 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.INV_CLR_BASE_AMT_DIFF%TYPE INDEX BY BINARY_INTEGER;
174850 TYPE t_array_source_159 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.MAT_CLR_GAIN_LOSS_INDICATOR%TYPE INDEX BY BINARY_INTEGER;
174851 TYPE t_array_source_160 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.MAT_CLR_BASE_AMT_DIFF%TYPE INDEX BY BINARY_INTEGER;
174852 TYPE t_array_source_162 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.PMT_CLR_GAIN_LOSS_INDICATOR%TYPE INDEX BY BINARY_INTEGER;
174853 TYPE t_array_source_163 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.PMT_CLR_BASE_AMT_DIFF%TYPE INDEX BY BINARY_INTEGER;
174854 TYPE t_array_source_166 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.AWT_AT_PMT_TIME%TYPE INDEX BY BINARY_INTEGER;
174855
174856 l_array_source_4 t_array_source_4;
174857 l_array_source_8 t_array_source_8;
174858 l_array_source_9 t_array_source_9;
174859 l_array_source_10 t_array_source_10;
174860 l_array_source_10_meaning t_array_lookup_meaning;
174861 l_array_source_11 t_array_source_11;
174862 l_array_source_12 t_array_source_12;
174863 l_array_source_13 t_array_source_13;
174864 l_array_source_14 t_array_source_14;
174865 l_array_source_14_meaning t_array_lookup_meaning;
174866 l_array_source_23 t_array_source_23;
174867 l_array_source_24 t_array_source_24;
174868 l_array_source_31 t_array_source_31;
174869 l_array_source_32 t_array_source_32;
174870 l_array_source_33 t_array_source_33;
174871 l_array_source_34 t_array_source_34;
174872 l_array_source_40 t_array_source_40;
174873 l_array_source_43 t_array_source_43;
174874 l_array_source_43_meaning t_array_lookup_meaning;
174875 l_array_source_45 t_array_source_45;
174876 l_array_source_57 t_array_source_57;
174877 l_array_source_88 t_array_source_88;
174878 l_array_source_108 t_array_source_108;
174879 l_array_source_109 t_array_source_109;
174880 l_array_source_110 t_array_source_110;
174881 l_array_source_111 t_array_source_111;
174882 l_array_source_113 t_array_source_113;
174883 l_array_source_114 t_array_source_114;
174884 l_array_source_116 t_array_source_116;
174885 l_array_source_116_meaning t_array_lookup_meaning;
174886 l_array_source_117 t_array_source_117;
174887 l_array_source_120 t_array_source_120;
174888 l_array_source_121 t_array_source_121;
174889 l_array_source_122 t_array_source_122;
174890 l_array_source_125 t_array_source_125;
174891 l_array_source_125_meaning t_array_lookup_meaning;
174892 l_array_source_175 t_array_source_175;
174893 l_array_source_176 t_array_source_176;
174894
174895 l_array_source_25 t_array_source_25;
174896 l_array_source_28 t_array_source_28;
174897 l_array_source_28_meaning t_array_lookup_meaning;
174898 l_array_source_39 t_array_source_39;
174899 l_array_source_41 t_array_source_41;
174900 l_array_source_42 t_array_source_42;
174901 l_array_source_48 t_array_source_48;
174902 l_array_source_56 t_array_source_56;
174903 l_array_source_56_meaning t_array_lookup_meaning;
174904 l_array_source_58 t_array_source_58;
174905 l_array_source_60 t_array_source_60;
174906 l_array_source_72 t_array_source_72;
174907 l_array_source_85 t_array_source_85;
174908 l_array_source_85_meaning t_array_lookup_meaning;
174909 l_array_source_91 t_array_source_91;
174910 l_array_source_93 t_array_source_93;
174911 l_array_source_96 t_array_source_96;
174915 l_array_source_100 t_array_source_100;
174912 l_array_source_97 t_array_source_97;
174913 l_array_source_98 t_array_source_98;
174914 l_array_source_99 t_array_source_99;
174916 l_array_source_101 t_array_source_101;
174917 l_array_source_101_meaning t_array_lookup_meaning;
174918 l_array_source_102 t_array_source_102;
174919 l_array_source_103 t_array_source_103;
174920 l_array_source_104 t_array_source_104;
174921 l_array_source_105 t_array_source_105;
174922 l_array_source_106 t_array_source_106;
174923 l_array_source_107 t_array_source_107;
174924 l_array_source_112 t_array_source_112;
174925 l_array_source_115 t_array_source_115;
174926 l_array_source_118 t_array_source_118;
174927 l_array_source_119 t_array_source_119;
174928 l_array_source_123 t_array_source_123;
174929 l_array_source_124 t_array_source_124;
174930 l_array_source_140 t_array_source_140;
174931 l_array_source_140_meaning t_array_lookup_meaning;
174932 l_array_source_146 t_array_source_146;
174933 l_array_source_147 t_array_source_147;
174934 l_array_source_148 t_array_source_148;
174935 l_array_source_154 t_array_source_154;
174936 l_array_source_155 t_array_source_155;
174937 l_array_source_159 t_array_source_159;
174938 l_array_source_160 t_array_source_160;
174939 l_array_source_162 t_array_source_162;
174940 l_array_source_163 t_array_source_163;
174941 l_array_source_166 t_array_source_166;
174942 l_array_source_166_meaning t_array_lookup_meaning;
174943
174944 --
174945 CURSOR header_cur
174946 IS
174947 SELECT /*+ leading(xet) cardinality(xet,1) */
174948 -- Event Class Code: RECONCILED PAYMENTS
174949 xet.entity_id
174950 ,xet.legal_entity_id
174951 ,xet.entity_code
174952 ,xet.transaction_number
174953 ,xet.event_id
174954 ,xet.event_class_code
174955 ,xet.event_type_code
174956 ,xet.event_number
174957 ,xet.event_date
174958 ,xet.transaction_date
174959 ,xet.reference_num_1
174960 ,xet.reference_num_2
174961 ,xet.reference_num_3
174962 ,xet.reference_num_4
174963 ,xet.reference_char_1
174964 ,xet.reference_char_2
174965 ,xet.reference_char_3
174966 ,xet.reference_char_4
174967 ,xet.reference_date_1
174968 ,xet.reference_date_2
174969 ,xet.reference_date_3
174970 ,xet.reference_date_4
174971 ,xet.event_created_by
174972 ,xet.budgetary_control_flag
174973 , h2.AC_DOC_SEQUENCE_VALUE source_4
174974 , h2.AC_CURRENCY_CODE source_8
174975 , h2.CGAC_BANK_CHARGES_CCID source_9
174976 , h3.ASP_AUTOMATIC_OFFSETS_VALUE source_10
174977 , fvl10.meaning source_10_meaning
174978 , h2.CGAC_BANK_ERRORS_CCID source_11
174979 , h2.CGAC_AP_ASSET_CCID source_12
174980 , h3.FSP_DISC_TAKEN_CCID source_13
174981 , h3.ASP_DISCOUNT_DIST_METHOD source_14
174982 , fvl14.meaning source_14_meaning
174983 , h3.ASP_INTEREST_CCID source_23
174984 , h3.ASP_PRORATE_INT_ACROSS_DISTS source_24
174985 , h2.CGAC_GAIN_CCID source_31
174986 , h3.ASP_GAIN_CCID source_32
174987 , h2.CGAC_LOSS_CCID source_33
174988 , h3.ASP_LOSS_CCID source_34
174989 , h3.ASP_DISC_TAKEN_CCID source_40
174990 , h3.ASP_AUTO_OFFSET_FLAG source_43
174991 , fvl43.meaning source_43_meaning
174992 , h3.ASP_ROUNDING_ERROR_CCID source_45
174993 , h3.ASP_WHEN_TO_ACCOUNT_PMT source_57
174994 , h2.THIRD_PARTY_TYPE source_88
174995 , h2.APH_BANK_CURRENCY_CODE source_108
174996 , h2.APH_BANK_TO_BASE_XRATE_DATE source_109
174997 , h2.APH_BANK_TO_BASE_XRATE source_110
174998 , h2.APH_BANK_TO_BASE_XRATE_TYPE source_111
174999 , h2.AC_VENDOR_ID source_113
175000 , h2.AC_VENDOR_SITE_ID source_114
175001 , h2.CBA_POOLED_BANK_ACOUNT_FLAG source_116
175002 , fvl116.meaning source_116_meaning
175003 , h2.AC_FUTURE_PAY_DUE_DATE source_117
175004 , h2.AC_EXCHANGE_DATE source_120
175005 , h2.AC_EXCHANGE_RATE source_121
175006 , h2.AC_EXCHANGE_RATE_TYPE source_122
175007 , h2.PAYMENT_TYPE source_125
175008 , fvl125.meaning source_125_meaning
175009 , h2.AC_DOC_CATEGORY_CODE source_175
175010 , h2.PAYMENT_DOCUMENT_SEQUENCE_ID source_176
175011 FROM xla_events_gt xet
175012 , AP_PAYMENT_EXTRACT_HEADER_V h2
175013 , AP_SYSTEM_PARAMETERS_EXTRACT_V h3
175014 , fnd_lookup_values fvl10
175015 , fnd_lookup_values fvl14
175016 , fnd_lookup_values fvl43
175017 , fnd_lookup_values fvl116
175018 , fnd_lookup_values fvl125
175019 WHERE xet.event_date between p_pad_start_date and p_pad_end_date
175020 and xet.event_class_code = C_EVENT_CLASS_CODE
175021 and xet.event_status_code <> 'N' AND h2.event_id = xet.event_id
175022 AND h3.asp_org_id = h2.ac_org_id AND fvl10.lookup_type(+) = 'LIABILITY FLEXBUILD METHOD'
175023 AND fvl10.lookup_code(+) = h3.ASP_AUTOMATIC_OFFSETS_VALUE
175024 AND fvl10.view_application_id(+) = 200
175025 AND fvl10.language(+) = USERENV('LANG')
175026 AND fvl14.lookup_type(+) = 'DISCOUNT_DIST_OPTIONS'
175027 AND fvl14.lookup_code(+) = h3.ASP_DISCOUNT_DIST_METHOD
175028 AND fvl14.view_application_id(+) = 200
175029 AND fvl14.language(+) = USERENV('LANG')
175030 AND fvl43.lookup_type(+) = 'YES_NO'
175031 AND fvl43.lookup_code(+) = h3.ASP_AUTO_OFFSET_FLAG
175032 AND fvl43.view_application_id(+) = 0
175033 AND fvl43.language(+) = USERENV('LANG')
175034 AND fvl116.lookup_type(+) = 'YES_NO'
175035 AND fvl116.lookup_code(+) = h2.CBA_POOLED_BANK_ACOUNT_FLAG
175036 AND fvl116.view_application_id(+) = 0
175037 AND fvl116.language(+) = USERENV('LANG')
175038 AND fvl125.lookup_type(+) = 'PAYMENT TYPE'
175039 AND fvl125.lookup_code(+) = h2.PAYMENT_TYPE
175040 AND fvl125.view_application_id(+) = 200
175041 AND fvl125.language(+) = USERENV('LANG')
175042
175046
175043 ORDER BY event_id
175044 ;
175045
175047 --
175048 CURSOR line_cur (x_first_event_id in number, x_last_event_id in number)
175049 IS
175050 SELECT /*+ leading(xet) cardinality(xet,1) */
175051 -- Event Class Code: RECONCILED PAYMENTS
175052 xet.entity_id
175053 ,xet.legal_entity_id
175054 ,xet.entity_code
175055 ,xet.transaction_number
175056 ,xet.event_id
175057 ,xet.event_class_code
175058 ,xet.event_type_code
175059 ,xet.event_number
175060 ,xet.event_date
175061 ,xet.transaction_date
175062 ,xet.reference_num_1
175063 ,xet.reference_num_2
175064 ,xet.reference_num_3
175065 ,xet.reference_num_4
175066 ,xet.reference_char_1
175067 ,xet.reference_char_2
175068 ,xet.reference_char_3
175069 ,xet.reference_char_4
175070 ,xet.reference_date_1
175071 ,xet.reference_date_2
175072 ,xet.reference_date_3
175073 ,xet.reference_date_4
175074 ,xet.event_created_by
175075 ,xet.budgetary_control_flag
175076 , l1.LINE_NUMBER
175077 , l1.AID_DIST_CCID source_25
175078 , l1.AID_LINE_TYPE_LOOKUP_CODE source_28
175079 , fvl28.meaning source_28_meaning
175080 , l1.AWT_RELATED_DIST_ACCOUNT source_39
175081 , l1.POD_CCID source_41
175082 , l1.PO_VARIANCE_ACCOUNT source_42
175083 , l4.TAX_ACCOUNT_CCID source_48
175084 , l1.AI_INVOICE_TYPE_PAID source_56
175085 , fvl56.meaning source_56_meaning
175086 , l1.DIST_ACCOUNT_REVERSAL_OPTION source_58
175087 , l1.DISTRIBUTION_LINK_TYPE source_60
175088 , l1.AI_INVOICE_CURRENCY_CODE source_72
175089 , l1.OVERRIDE_ACCTD_AMT_FLAG source_85
175090 , fvl85.meaning source_85_meaning
175091 , l4.TAX_LINE_ID source_91
175092 , l4.SUMMARY_TAX_LINE_ID source_93
175093 , l1.BUS_FLOW_AP_APP_ID source_96
175094 , l1.BUS_FLOW_INV_DIST_TYPE source_97
175095 , l1.BUS_FLOW_INV_ENTITY_CODE source_98
175096 , l1.BUS_FLOW_INV_DIST_ID source_99
175097 , l1.BUS_FLOW_INV_ID source_100
175098 , l1.APHD_PAY_DIST_LOOKUP_CODE source_101
175099 , fvl101.meaning source_101_meaning
175100 , l1.APHD_AMOUNT source_102
175101 , l1.BUS_FLOW_PAYMENT_DIST_TYPE source_103
175102 , l1.BUS_FLOW_PAYMENT_ENTITY_CODE source_104
175103 , l1.BUS_FLOW_PAYMENT_DIST_ID source_105
175104 , l1.BUS_FLOW_PAYMENT_ID source_106
175105 , l1.APHD_PAYMENT_HIST_DIST_ID source_107
175106 , l1.APHD_CLEARING_BASE_AMT source_112
175107 , l1.APHD_REV_PAY_HIST_DIST_ID source_115
175108 , l1.APHD_PAYMENT_BASE_AMT source_118
175109 , l1.APHD_INVOICE_BASE_AMT source_119
175110 , l1.BUS_FLOW_PAYMENT_MAT_DIST_ID source_123
175111 , l1.APHD_MATURED_BASE_AMOUNT source_124
175112 , l4.DEF_REC_SETTLEMENT_OPTION_CODE source_140
175113 , fvl140.meaning source_140_meaning
175114 , l1.INV_EXCHANGE_DATE source_146
175115 , l1.INV_EXCHANGE_RATE source_147
175116 , l1.INV_EXCHANGE_RATE_TYPE source_148
175117 , l1.INV_CLR_GAIN_LOSS_INDICATOR source_154
175118 , l1.INV_CLR_BASE_AMT_DIFF source_155
175119 , l1.MAT_CLR_GAIN_LOSS_INDICATOR source_159
175120 , l1.MAT_CLR_BASE_AMT_DIFF source_160
175121 , l1.PMT_CLR_GAIN_LOSS_INDICATOR source_162
175122 , l1.PMT_CLR_BASE_AMT_DIFF source_163
175123 , l1.AWT_AT_PMT_TIME source_166
175124 , fvl166.meaning source_166_meaning
175125 FROM xla_events_gt xet
175126 , AP_PAYMENT_EXTRACT_DETAILS_V l1
175127 , ZX_AP_DEF_TAX_EXTRACT_V l4
175128 , fnd_lookup_values fvl28
175129 , fnd_lookup_values fvl56
175130 , fnd_lookup_values fvl85
175131 , fnd_lookup_values fvl101
175132 , fnd_lookup_values fvl140
175133 , fnd_lookup_values fvl166
175134 WHERE xet.event_id between x_first_event_id and x_last_event_id
175135 and xet.event_date between p_pad_start_date and p_pad_end_date
175136 and xet.event_class_code = C_EVENT_CLASS_CODE
175137 and xet.event_status_code <> 'N' AND l1.event_id = xet.event_id
175138 AND l1.AID_DETAIL_TAX_DIST_ID = l4.REC_NREC_TAX_DIST_ID (+) AND fvl28.lookup_type(+) = 'INVOICE DISTRIBUTION TYPE'
175139 AND fvl28.lookup_code(+) = l1.AID_LINE_TYPE_LOOKUP_CODE
175140 AND fvl28.view_application_id(+) = 200
175141 AND fvl28.language(+) = USERENV('LANG')
175142 AND fvl56.lookup_type(+) = 'INVOICE TYPE'
175143 AND fvl56.lookup_code(+) = l1.AI_INVOICE_TYPE_PAID
175144 AND fvl56.view_application_id(+) = 200
175145 AND fvl56.language(+) = USERENV('LANG')
175146 AND fvl85.lookup_type(+) = 'YES_NO'
175147 AND fvl85.lookup_code(+) = l1.OVERRIDE_ACCTD_AMT_FLAG
175148 AND fvl85.view_application_id(+) = 0
175149 AND fvl85.language(+) = USERENV('LANG')
175150 AND fvl101.lookup_type(+) = 'PAY_DIST_TYPES'
175151 AND fvl101.lookup_code(+) = l1.APHD_PAY_DIST_LOOKUP_CODE
175152 AND fvl101.view_application_id(+) = 200
175153 AND fvl101.language(+) = USERENV('LANG')
175154 AND fvl140.lookup_type(+) = 'ZX_REC_SETTLEMENT_OPTION'
175155 AND fvl140.lookup_code(+) = l4.DEF_REC_SETTLEMENT_OPTION_CODE
175156 AND fvl140.view_application_id(+) = 0
175157 AND fvl140.language(+) = USERENV('LANG')
175158 AND fvl166.lookup_type(+) = 'YES_NO'
175159 AND fvl166.lookup_code(+) = l1.AWT_AT_PMT_TIME
175160 AND fvl166.view_application_id(+) = 0
175161 AND fvl166.language(+) = USERENV('LANG')
175162 ;
175163
175164 --
175165 BEGIN
175166 IF g_log_enabled THEN
175167 l_log_module := C_DEFAULT_MODULE||'.EventClass_255';
175168 END IF;
175169 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
175170 trace
175171 (p_msg => 'BEGIN of EventClass_255'
175172 ,p_level => C_LEVEL_PROCEDURE
175173 ,p_module => l_log_module);
175174 END IF;
175175
175176 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
175177 trace
175181 ' - p_language = '||p_language||
175178 (p_msg => 'p_application_id = '||p_application_id||
175179 ' - p_base_ledger_id = '||p_base_ledger_id||
175180 ' - p_target_ledger_id = '||p_target_ledger_id||
175182 ' - p_currency_code = '||p_currency_code||
175183 ' - p_sla_ledger_id = '||p_sla_ledger_id
175184 ,p_level => C_LEVEL_STATEMENT
175185 ,p_module => l_log_module);
175186 END IF;
175187 --
175188 -- initialze arrays
175189 --
175190 g_array_event.DELETE;
175191 l_rec_array_event := l_null_rec_array_event;
175192 --
175193 --------------------------------------
175194 -- 4262811 Initialze MPA Line Number
175195 --------------------------------------
175196 XLA_AE_HEADER_PKG.g_mpa_line_num := 0;
175197
175198 --
175199
175200 --
175201 OPEN header_cur;
175202 --
175203 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
175204 trace
175205 (p_msg => 'SQL - FETCH header_cur'
175206 ,p_level => C_LEVEL_STATEMENT
175207 ,p_module => l_log_module);
175208 END IF;
175209 --
175210 LOOP
175211 FETCH header_cur BULK COLLECT INTO
175212 l_array_entity_id
175213 , l_array_legal_entity_id
175214 , l_array_entity_code
175215 , l_array_transaction_num
175216 , l_array_event_id
175217 , l_array_class_code
175218 , l_array_event_type
175219 , l_array_event_number
175220 , l_array_event_date
175221 , l_array_transaction_date
175222 , l_array_reference_num_1
175223 , l_array_reference_num_2
175224 , l_array_reference_num_3
175225 , l_array_reference_num_4
175226 , l_array_reference_char_1
175227 , l_array_reference_char_2
175228 , l_array_reference_char_3
175229 , l_array_reference_char_4
175230 , l_array_reference_date_1
175231 , l_array_reference_date_2
175232 , l_array_reference_date_3
175233 , l_array_reference_date_4
175234 , l_array_event_created_by
175235 , l_array_budgetary_control_flag
175236 , l_array_source_4
175237 , l_array_source_8
175238 , l_array_source_9
175239 , l_array_source_10
175240 , l_array_source_10_meaning
175241 , l_array_source_11
175242 , l_array_source_12
175243 , l_array_source_13
175244 , l_array_source_14
175245 , l_array_source_14_meaning
175246 , l_array_source_23
175247 , l_array_source_24
175248 , l_array_source_31
175249 , l_array_source_32
175250 , l_array_source_33
175251 , l_array_source_34
175252 , l_array_source_40
175253 , l_array_source_43
175254 , l_array_source_43_meaning
175255 , l_array_source_45
175256 , l_array_source_57
175257 , l_array_source_88
175258 , l_array_source_108
175259 , l_array_source_109
175260 , l_array_source_110
175261 , l_array_source_111
175262 , l_array_source_113
175263 , l_array_source_114
175264 , l_array_source_116
175265 , l_array_source_116_meaning
175266 , l_array_source_117
175267 , l_array_source_120
175268 , l_array_source_121
175269 , l_array_source_122
175270 , l_array_source_125
175271 , l_array_source_125_meaning
175272 , l_array_source_175
175273 , l_array_source_176
175274 LIMIT l_rows;
175275 --
175276 IF (C_LEVEL_EVENT >= g_log_level) THEN
175277 trace
175278 (p_msg => '# rows extracted from header extract objects = '||TO_CHAR(header_cur%ROWCOUNT)
175279 ,p_level => C_LEVEL_EVENT
175280 ,p_module => l_log_module);
175281 END IF;
175282 --
175283 EXIT WHEN l_array_entity_id.COUNT = 0;
175284
175285 -- initialize arrays
175286 XLA_AE_HEADER_PKG.g_rec_header_new := NULL;
175287 XLA_AE_LINES_PKG.g_rec_lines := NULL;
175288
175289 --
175290 -- Bug 4458708
175291 --
175292 XLA_AE_LINES_PKG.g_LineNumber := 0;
175293
175294
175295 -- 4262811 - when creating Accrual Reversal or MPA, use g_last_hdr_idx to increment for next header id
175296 g_last_hdr_idx := l_array_event_id.LAST;
175297 --
175298 -- loop for the headers. Each iteration is for each header extract row
175299 -- fetched in header cursor
175300 --
175301 FOR hdr_idx IN l_array_event_id.FIRST .. l_array_event_id.LAST LOOP
175302
175303 --
175304 -- set event info as cache for other routines to refer event attributes
175305 --
175306 XLA_AE_JOURNAL_ENTRY_PKG.set_event_info
175307 (p_application_id => p_application_id
175308 ,p_primary_ledger_id => p_primary_ledger_id
175309 ,p_base_ledger_id => p_base_ledger_id
175310 ,p_target_ledger_id => p_target_ledger_id
175311 ,p_entity_id => l_array_entity_id(hdr_idx)
175312 ,p_legal_entity_id => l_array_legal_entity_id(hdr_idx)
175313 ,p_entity_code => l_array_entity_code(hdr_idx)
175314 ,p_transaction_num => l_array_transaction_num(hdr_idx)
175315 ,p_event_id => l_array_event_id(hdr_idx)
175316 ,p_event_class_code => l_array_class_code(hdr_idx)
175317 ,p_event_type_code => l_array_event_type(hdr_idx)
175318 ,p_event_number => l_array_event_number(hdr_idx)
175319 ,p_event_date => l_array_event_date(hdr_idx)
175320 ,p_transaction_date => l_array_transaction_date(hdr_idx)
175321 ,p_reference_num_1 => l_array_reference_num_1(hdr_idx)
175322 ,p_reference_num_2 => l_array_reference_num_2(hdr_idx)
175323 ,p_reference_num_3 => l_array_reference_num_3(hdr_idx)
175324 ,p_reference_num_4 => l_array_reference_num_4(hdr_idx)
175325 ,p_reference_char_1 => l_array_reference_char_1(hdr_idx)
175326 ,p_reference_char_2 => l_array_reference_char_2(hdr_idx)
175330 ,p_reference_date_2 => l_array_reference_date_2(hdr_idx)
175327 ,p_reference_char_3 => l_array_reference_char_3(hdr_idx)
175328 ,p_reference_char_4 => l_array_reference_char_4(hdr_idx)
175329 ,p_reference_date_1 => l_array_reference_date_1(hdr_idx)
175331 ,p_reference_date_3 => l_array_reference_date_3(hdr_idx)
175332 ,p_reference_date_4 => l_array_reference_date_4(hdr_idx)
175333 ,p_event_created_by => l_array_event_created_by(hdr_idx)
175334 ,p_budgetary_control_flag => l_array_budgetary_control_flag(hdr_idx));
175335
175336 --
175337 -- set the status of entry to C_VALID (0)
175338 --
175339 XLA_AE_JOURNAL_ENTRY_PKG.g_global_status := XLA_AE_JOURNAL_ENTRY_PKG.C_VALID;
175340
175341 --
175342 -- initialize a row for ae header
175343 --
175344 XLA_AE_HEADER_PKG.InitHeader(hdr_idx);
175345
175346 l_event_id := l_array_event_id(hdr_idx);
175347
175348 --
175349 -- storing the hdr_idx for event. May be used by line cursor.
175350 --
175351 g_array_event(l_event_id).array_value_num('header_index') := hdr_idx;
175352
175353 --
175354 -- store sources from header extract. This can be improved to
175355 -- store only those sources from header extract that may be used in lines
175356 --
175357
175358 g_array_event(l_event_id).array_value_num('source_4') := l_array_source_4(hdr_idx);
175359 g_array_event(l_event_id).array_value_char('source_8') := l_array_source_8(hdr_idx);
175360 g_array_event(l_event_id).array_value_num('source_9') := l_array_source_9(hdr_idx);
175361 g_array_event(l_event_id).array_value_char('source_10') := l_array_source_10(hdr_idx);
175362 g_array_event(l_event_id).array_value_char('source_10_meaning') := l_array_source_10_meaning(hdr_idx);
175363 g_array_event(l_event_id).array_value_num('source_11') := l_array_source_11(hdr_idx);
175364 g_array_event(l_event_id).array_value_num('source_12') := l_array_source_12(hdr_idx);
175365 g_array_event(l_event_id).array_value_num('source_13') := l_array_source_13(hdr_idx);
175366 g_array_event(l_event_id).array_value_char('source_14') := l_array_source_14(hdr_idx);
175367 g_array_event(l_event_id).array_value_char('source_14_meaning') := l_array_source_14_meaning(hdr_idx);
175368 g_array_event(l_event_id).array_value_num('source_23') := l_array_source_23(hdr_idx);
175369 g_array_event(l_event_id).array_value_char('source_24') := l_array_source_24(hdr_idx);
175370 g_array_event(l_event_id).array_value_num('source_31') := l_array_source_31(hdr_idx);
175371 g_array_event(l_event_id).array_value_num('source_32') := l_array_source_32(hdr_idx);
175372 g_array_event(l_event_id).array_value_num('source_33') := l_array_source_33(hdr_idx);
175373 g_array_event(l_event_id).array_value_num('source_34') := l_array_source_34(hdr_idx);
175374 g_array_event(l_event_id).array_value_num('source_40') := l_array_source_40(hdr_idx);
175375 g_array_event(l_event_id).array_value_char('source_43') := l_array_source_43(hdr_idx);
175376 g_array_event(l_event_id).array_value_char('source_43_meaning') := l_array_source_43_meaning(hdr_idx);
175377 g_array_event(l_event_id).array_value_num('source_45') := l_array_source_45(hdr_idx);
175378 g_array_event(l_event_id).array_value_char('source_57') := l_array_source_57(hdr_idx);
175379 g_array_event(l_event_id).array_value_char('source_88') := l_array_source_88(hdr_idx);
175380 g_array_event(l_event_id).array_value_char('source_108') := l_array_source_108(hdr_idx);
175381 g_array_event(l_event_id).array_value_date('source_109') := l_array_source_109(hdr_idx);
175382 g_array_event(l_event_id).array_value_num('source_110') := l_array_source_110(hdr_idx);
175383 g_array_event(l_event_id).array_value_char('source_111') := l_array_source_111(hdr_idx);
175384 g_array_event(l_event_id).array_value_num('source_113') := l_array_source_113(hdr_idx);
175385 g_array_event(l_event_id).array_value_num('source_114') := l_array_source_114(hdr_idx);
175386 g_array_event(l_event_id).array_value_char('source_116') := l_array_source_116(hdr_idx);
175387 g_array_event(l_event_id).array_value_char('source_116_meaning') := l_array_source_116_meaning(hdr_idx);
175388 g_array_event(l_event_id).array_value_date('source_117') := l_array_source_117(hdr_idx);
175389 g_array_event(l_event_id).array_value_date('source_120') := l_array_source_120(hdr_idx);
175390 g_array_event(l_event_id).array_value_num('source_121') := l_array_source_121(hdr_idx);
175391 g_array_event(l_event_id).array_value_char('source_122') := l_array_source_122(hdr_idx);
175392 g_array_event(l_event_id).array_value_char('source_125') := l_array_source_125(hdr_idx);
175393 g_array_event(l_event_id).array_value_char('source_125_meaning') := l_array_source_125_meaning(hdr_idx);
175394 g_array_event(l_event_id).array_value_char('source_175') := l_array_source_175(hdr_idx);
175395 g_array_event(l_event_id).array_value_num('source_176') := l_array_source_176(hdr_idx);
175396
175397 --
175398 -- initilaize the status of ae headers for diffrent balance types
175399 -- the status is initialised to C_NOT_CREATED (2)
175400 --
175401 --g_array_event(l_event_id).array_value_num('actual_je_status') := XLA_AE_JOURNAL_ENTRY_PKG.C_NOT_CREATED;
175402 --g_array_event(l_event_id).array_value_num('budget_je_status') := XLA_AE_JOURNAL_ENTRY_PKG.C_NOT_CREATED;
175403 --g_array_event(l_event_id).array_value_num('encumbrance_je_status') := XLA_AE_JOURNAL_ENTRY_PKG.C_NOT_CREATED;
175404
175405 --
175406 -- call api to validate and store accounting attributes for header
175407 --
175408
175409 ------------------------------------------------------------
175410 -- Accrual Reversal : to get date for Standard Source (NONE)
175411 ------------------------------------------------------------
175412 l_acc_rev_gl_date_source := NULL;
175413
175414 l_rec_acct_attrs.array_acct_attr_code(1) := 'DOC_CATEGORY_CODE';
175415 l_rec_acct_attrs.array_char_value(1) := g_array_event(l_event_id).array_value_char('source_175');
175416 l_rec_acct_attrs.array_acct_attr_code(2) := 'DOC_SEQUENCE_ID';
175417 l_rec_acct_attrs.array_num_value(2) := g_array_event(l_event_id).array_value_num('source_176');
175418 l_rec_acct_attrs.array_acct_attr_code(3) := 'DOC_SEQUENCE_VALUE';
175419 l_rec_acct_attrs.array_num_value(3) := g_array_event(l_event_id).array_value_num('source_4');
175423 p_source_code => 'XLA_EVENT_DATE'
175420 l_rec_acct_attrs.array_acct_attr_code(4) := 'GL_DATE';
175421 l_rec_acct_attrs.array_date_value(4) :=
175422 xla_ae_sources_pkg.GetSystemSourceDate(
175424 , p_source_type_code => 'Y'
175425 , p_source_application_id => 602
175426 );
175427
175428
175429 XLA_AE_HEADER_PKG.SetHdrAcctAttrs(l_rec_acct_attrs);
175430
175431 XLA_AE_HEADER_PKG.SetJeCategoryName;
175432
175433 XLA_AE_HEADER_PKG.g_rec_header_new.array_event_type_code(hdr_idx) := l_array_event_type(hdr_idx);
175434 XLA_AE_HEADER_PKG.g_rec_header_new.array_event_id(hdr_idx) := l_array_event_id(hdr_idx);
175435 XLA_AE_HEADER_PKG.g_rec_header_new.array_entity_id(hdr_idx) := l_array_entity_id(hdr_idx);
175436 XLA_AE_HEADER_PKG.g_rec_header_new.array_event_number(hdr_idx) := l_array_event_number(hdr_idx);
175437 XLA_AE_HEADER_PKG.g_rec_header_new.array_target_ledger_id(hdr_idx) := p_target_ledger_id;
175438
175439
175440 -- No header level analytical criteria
175441
175442 --
175443 --accounting attribute enhancement, bug 3612931
175444 --
175445 l_trx_reversal_source := SUBSTR(NULL, 1,30);
175446
175447 IF NVL(l_trx_reversal_source, 'N') NOT IN ('N','Y') THEN
175448 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
175449
175450 xla_accounting_err_pkg.build_message
175451 (p_appli_s_name => 'XLA'
175452 ,p_msg_name => 'XLA_AP_INVALID_HDR_ATTR'
175453 ,p_token_1 => 'ACCT_ATTR_NAME'
175454 ,p_value_1 => xla_ae_sources_pkg.GetAccountingSourceName('TRX_ACCT_REVERSAL_OPTION')
175455 ,p_token_2 => 'PRODUCT_NAME'
175456 ,p_value_2 => xla_ae_journal_entry_pkg.g_cache_event.application_name
175457 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
175458 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
175459 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id);
175460
175461 ELSIF NVL(l_trx_reversal_source, 'N') = 'Y' THEN
175462 --
175463 -- following sets the accounting attributes needed to reverse
175464 -- accounting for a distributeion
175465 --
175466 xla_ae_lines_pkg.SetTrxReversalAttrs
175467 (p_event_id => l_event_id
175468 ,p_gl_date => XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(hdr_idx)
175469 ,p_trx_reversal_source => l_trx_reversal_source);
175470
175471 END IF;
175472
175473
175474 ----------------------------------------------------------------
175475 -- 4262811 - update the header statuses to invalid in need be
175476 ----------------------------------------------------------------
175477 --
175478 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus (p_hdr_idx => hdr_idx);
175479
175480
175481 -----------------------------------------------
175482 -- No accrual reversal for the event class/type
175483 -----------------------------------------------
175484 ----------------------------------------------------------------
175485
175486 --
175487 -- this ends the header loop iteration for one bulk fetch
175488 --
175489 END LOOP;
175490
175491 l_first_event_id := l_array_event_id(l_array_event_id.FIRST);
175492 l_last_event_id := l_array_event_id(l_array_event_id.LAST);
175493
175494 --
175495 -- insert dummy rows into lines gt table that were created due to
175496 -- transaction reversals
175497 --
175498 IF XLA_AE_LINES_PKG.g_rec_lines.array_ae_header_id.COUNT > 0 THEN
175499 l_result := XLA_AE_LINES_PKG.InsertLines;
175500 END IF;
175501
175502 --
175503 -- reset the temp_line_num for each set of events fetched from header
175504 -- cursor rather than doing it for each new event in line cursor
175505 -- Bug 3939231
175506 --
175507 xla_ae_lines_pkg.g_temp_line_num := 0;
175508
175509
175510
175511 --
175512 OPEN line_cur(x_first_event_id => l_first_event_id, x_last_event_id => l_last_event_id);
175513 --
175514 --
175515 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
175516
175517 trace
175518 (p_msg => 'SQL - FETCH line_cur'
175519 ,p_level => C_LEVEL_STATEMENT
175520 ,p_module => l_log_module);
175521
175522 END IF;
175523 --
175524 --
175525 LOOP
175526 --
175527 FETCH line_cur BULK COLLECT INTO
175528 l_array_entity_id
175529 , l_array_legal_entity_id
175530 , l_array_entity_code
175531 , l_array_transaction_num
175532 , l_array_event_id
175533 , l_array_class_code
175534 , l_array_event_type
175535 , l_array_event_number
175536 , l_array_event_date
175537 , l_array_transaction_date
175538 , l_array_reference_num_1
175539 , l_array_reference_num_2
175540 , l_array_reference_num_3
175541 , l_array_reference_num_4
175542 , l_array_reference_char_1
175543 , l_array_reference_char_2
175544 , l_array_reference_char_3
175545 , l_array_reference_char_4
175546 , l_array_reference_date_1
175547 , l_array_reference_date_2
175548 , l_array_reference_date_3
175549 , l_array_reference_date_4
175550 , l_array_event_created_by
175551 , l_array_budgetary_control_flag
175552 , l_array_extract_line_num
175553 , l_array_source_25
175554 , l_array_source_28
175555 , l_array_source_28_meaning
175556 , l_array_source_39
175557 , l_array_source_41
175558 , l_array_source_42
175559 , l_array_source_48
175560 , l_array_source_56
175561 , l_array_source_56_meaning
175562 , l_array_source_58
175563 , l_array_source_60
175564 , l_array_source_72
175565 , l_array_source_85
175566 , l_array_source_85_meaning
175567 , l_array_source_91
175571 , l_array_source_98
175568 , l_array_source_93
175569 , l_array_source_96
175570 , l_array_source_97
175572 , l_array_source_99
175573 , l_array_source_100
175574 , l_array_source_101
175575 , l_array_source_101_meaning
175576 , l_array_source_102
175577 , l_array_source_103
175578 , l_array_source_104
175579 , l_array_source_105
175580 , l_array_source_106
175581 , l_array_source_107
175582 , l_array_source_112
175583 , l_array_source_115
175584 , l_array_source_118
175585 , l_array_source_119
175586 , l_array_source_123
175587 , l_array_source_124
175588 , l_array_source_140
175589 , l_array_source_140_meaning
175590 , l_array_source_146
175591 , l_array_source_147
175592 , l_array_source_148
175593 , l_array_source_154
175594 , l_array_source_155
175595 , l_array_source_159
175596 , l_array_source_160
175597 , l_array_source_162
175598 , l_array_source_163
175599 , l_array_source_166
175600 , l_array_source_166_meaning
175601 LIMIT l_rows;
175602
175603 --
175604 IF (C_LEVEL_EVENT >= g_log_level) THEN
175605 trace
175606 (p_msg => '# rows extracted from line extract objects = '||TO_CHAR(line_cur%ROWCOUNT)
175607 ,p_level => C_LEVEL_EVENT
175608 ,p_module => l_log_module);
175609 END IF;
175610 --
175611 EXIT WHEN l_array_entity_id.count = 0;
175612
175613 XLA_AE_LINES_PKG.g_rec_lines := null;
175614
175615 --
175616 -- Bug 4458708
175617 --
175618 XLA_AE_LINES_PKG.g_LineNumber := 0;
175619 --
175620 --
175621
175622 FOR Idx IN 1..l_array_event_id.count LOOP
175623 --
175624 -- 5648433 (move l_event_id out of IF statement) set l_event_id to be used inside IF condition
175625 --
175626 l_event_id := l_array_event_id(idx); -- 5648433
175627
175628 --
175629 -- Bug 4872078 - Do nothing if the event is meant for transaction reversal
175630 --
175631
175632 IF NVL(xla_ae_header_pkg.g_rec_header_new.array_trx_acct_reversal_option
175633 (g_array_event(l_event_id).array_value_num('header_index'))
175634 ,'N'
175635 ) <> 'Y'
175636 THEN
175637 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
175638 trace
175639 (p_msg => 'Trancaction revesal option is not Y '
175640 ,p_level => C_LEVEL_STATEMENT
175641 ,p_module => l_log_module);
175642 END IF;
175643
175644 --
175645 -- set the XLA_AE_JOURNAL_ENTRY_PKG.g_global_status to C_VALID (0)
175646 --
175647 XLA_AE_JOURNAL_ENTRY_PKG.g_global_status := XLA_AE_JOURNAL_ENTRY_PKG.C_VALID;
175648 --
175649 -- set event info as cache for other routines to refer event attributes
175650 --
175651
175652 IF l_event_id <> NVL(l_previous_event_id, -1) THEN
175653 l_previous_event_id := l_event_id;
175654
175655 XLA_AE_JOURNAL_ENTRY_PKG.set_event_info
175656 (p_application_id => p_application_id
175657 ,p_primary_ledger_id => p_primary_ledger_id
175658 ,p_base_ledger_id => p_base_ledger_id
175659 ,p_target_ledger_id => p_target_ledger_id
175660 ,p_entity_id => l_array_entity_id(Idx)
175661 ,p_legal_entity_id => l_array_legal_entity_id(Idx)
175662 ,p_entity_code => l_array_entity_code(Idx)
175663 ,p_transaction_num => l_array_transaction_num(Idx)
175664 ,p_event_id => l_array_event_id(Idx)
175665 ,p_event_class_code => l_array_class_code(Idx)
175666 ,p_event_type_code => l_array_event_type(Idx)
175667 ,p_event_number => l_array_event_number(Idx)
175668 ,p_event_date => l_array_event_date(Idx)
175669 ,p_transaction_date => l_array_transaction_date(Idx)
175670 ,p_reference_num_1 => l_array_reference_num_1(Idx)
175671 ,p_reference_num_2 => l_array_reference_num_2(Idx)
175672 ,p_reference_num_3 => l_array_reference_num_3(Idx)
175673 ,p_reference_num_4 => l_array_reference_num_4(Idx)
175674 ,p_reference_char_1 => l_array_reference_char_1(Idx)
175675 ,p_reference_char_2 => l_array_reference_char_2(Idx)
175676 ,p_reference_char_3 => l_array_reference_char_3(Idx)
175677 ,p_reference_char_4 => l_array_reference_char_4(Idx)
175678 ,p_reference_date_1 => l_array_reference_date_1(Idx)
175679 ,p_reference_date_2 => l_array_reference_date_2(Idx)
175680 ,p_reference_date_3 => l_array_reference_date_3(Idx)
175681 ,p_reference_date_4 => l_array_reference_date_4(Idx)
175682 ,p_event_created_by => l_array_event_created_by(Idx)
175683 ,p_budgetary_control_flag => l_array_budgetary_control_flag(Idx));
175684 --
175685 END IF;
175686
175687
175688
175689 --
175690 xla_ae_lines_pkg.SetExtractLine(p_extract_line => l_array_extract_line_num(Idx));
175691
175692 l_acct_reversal_source := SUBSTR(l_array_source_58(Idx), 1,30);
175693
175694 IF l_continue_with_lines THEN
175695 IF NVL(l_acct_reversal_source, 'N') NOT IN ('N','Y','B') THEN
175696 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
175697
175698 xla_accounting_err_pkg.build_message
175699 (p_appli_s_name => 'XLA'
175700 ,p_msg_name => 'XLA_AP_INVALID_REVERSAL_OPTION'
175701 ,p_token_1 => 'LINE_NUMBER'
175702 ,p_value_1 => l_array_extract_line_num(Idx)
175703 ,p_token_2 => 'PRODUCT_NAME'
175704 ,p_value_2 => xla_ae_journal_entry_pkg.g_cache_event.application_name
175708
175705 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
175706 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
175707 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id);
175709 ELSIF NVL(l_acct_reversal_source, 'N') IN ('Y','B') THEN
175710 --
175711 -- following sets the accounting attributes needed to reverse
175712 -- accounting for a distributeion
175713 --
175714
175715 --
175716 -- 5217187
175717 --
175718 l_rec_rev_acct_attrs.array_acct_attr_code(1):= 'GL_DATE';
175719 l_rec_rev_acct_attrs.array_date_value(1) := XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(
175720 g_array_event(l_event_id).array_value_num('header_index'));
175721 --
175722 --
175723
175724 l_rec_rev_acct_attrs.array_acct_attr_code(2) := 'ACCOUNTING_REVERSAL_OPTION';
175725 l_rec_rev_acct_attrs.array_char_value(2) := l_array_source_58(Idx);
175726 l_rec_rev_acct_attrs.array_acct_attr_code(3) := 'DISTRIBUTION_IDENTIFIER_1';
175727 l_rec_rev_acct_attrs.array_num_value(3) := l_array_source_107(Idx);
175728 l_rec_rev_acct_attrs.array_acct_attr_code(4) := 'DISTRIBUTION_TYPE';
175729 l_rec_rev_acct_attrs.array_char_value(4) := l_array_source_60(Idx);
175730 l_rec_rev_acct_attrs.array_acct_attr_code(5) := 'PARTY_TYPE';
175731 l_rec_rev_acct_attrs.array_char_value(5) := g_array_event(l_event_id).array_value_char('source_88');
175732 l_rec_rev_acct_attrs.array_acct_attr_code(6) := 'REVERSED_DISTRIBUTION_ID1';
175733 l_rec_rev_acct_attrs.array_num_value(6) := l_array_source_115(Idx);
175734 l_rec_rev_acct_attrs.array_acct_attr_code(7) := 'REVERSED_DISTRIBUTION_TYPE';
175735 l_rec_rev_acct_attrs.array_char_value(7) := l_array_source_60(Idx);
175736 l_rec_rev_acct_attrs.array_acct_attr_code(8) := 'TAX_LINE_REF_ID';
175737 l_rec_rev_acct_attrs.array_num_value(8) := l_array_source_91(Idx);
175738 l_rec_rev_acct_attrs.array_acct_attr_code(9) := 'TAX_REC_NREC_DIST_REF_ID';
175739 l_rec_rev_acct_attrs.array_num_value(9) := l_array_source_91(Idx);
175740 l_rec_rev_acct_attrs.array_acct_attr_code(10) := 'TAX_SUMMARY_LINE_REF_ID';
175741 l_rec_rev_acct_attrs.array_num_value(10) := l_array_source_93(Idx);
175742
175743
175744 xla_ae_lines_pkg.SetAcctReversalAttrs
175745 (p_event_id => l_event_id
175746 ,p_rec_acct_attrs => l_rec_rev_acct_attrs
175747 ,p_calculate_acctd_flag => l_calculate_acctd_flag
175748 ,p_calculate_g_l_flag => l_calculate_g_l_flag);
175749 END IF;
175750
175751 IF NVL(l_acct_reversal_source, 'N') IN ('N','B') THEN
175752 l_actual_flag := NULL; l_actual_gain_loss_ref := '#####';
175753
175754 --
175755 AcctLineType_68 (
175756 p_application_id => p_application_id
175757 ,p_event_id => l_event_id
175758 ,p_calculate_acctd_flag => l_calculate_acctd_flag
175759 ,p_calculate_g_l_flag => l_calculate_g_l_flag
175760 ,p_actual_flag => l_actual_flag
175761 ,p_balance_type_code => l_balance_type_code
175762 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
175763
175764 , p_source_9 => g_array_event(l_event_id).array_value_num('source_9')
175765 , p_source_10 => g_array_event(l_event_id).array_value_char('source_10')
175766 , p_source_10_meaning => g_array_event(l_event_id).array_value_char('source_10_meaning')
175767 , p_source_25 => l_array_source_25(Idx)
175768 , p_source_57 => g_array_event(l_event_id).array_value_char('source_57')
175769 , p_source_58 => l_array_source_58(Idx)
175770 , p_source_60 => l_array_source_60(Idx)
175771 , p_source_85 => l_array_source_85(Idx)
175772 , p_source_85_meaning => l_array_source_85_meaning(Idx)
175773 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
175774 , p_source_91 => l_array_source_91(Idx)
175775 , p_source_93 => l_array_source_93(Idx)
175776 , p_source_96 => l_array_source_96(Idx)
175777 , p_source_101 => l_array_source_101(Idx)
175778 , p_source_101_meaning => l_array_source_101_meaning(Idx)
175779 , p_source_102 => l_array_source_102(Idx)
175780 , p_source_103 => l_array_source_103(Idx)
175781 , p_source_104 => l_array_source_104(Idx)
175782 , p_source_105 => l_array_source_105(Idx)
175783 , p_source_106 => l_array_source_106(Idx)
175784 , p_source_107 => l_array_source_107(Idx)
175785 , p_source_108 => g_array_event(l_event_id).array_value_char('source_108')
175786 , p_source_109 => g_array_event(l_event_id).array_value_date('source_109')
175787 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
175788 , p_source_111 => g_array_event(l_event_id).array_value_char('source_111')
175789 , p_source_112 => l_array_source_112(Idx)
175790 , p_source_113 => g_array_event(l_event_id).array_value_num('source_113')
175791 , p_source_114 => g_array_event(l_event_id).array_value_num('source_114')
175792 , p_source_115 => l_array_source_115(Idx)
175793 );
175794 If(l_balance_type_code = 'A') THEN
175795 l_actual_gain_loss_ref := l_gain_or_loss_ref;
175796 END IF;
175797
175798 --
175799
175800
175801 --
175802 AcctLineType_69 (
175803 p_application_id => p_application_id
175804 ,p_event_id => l_event_id
175805 ,p_calculate_acctd_flag => l_calculate_acctd_flag
175806 ,p_calculate_g_l_flag => l_calculate_g_l_flag
175807 ,p_actual_flag => l_actual_flag
175808 ,p_balance_type_code => l_balance_type_code
175809 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
175810
175811 , p_source_10 => g_array_event(l_event_id).array_value_char('source_10')
175812 , p_source_10_meaning => g_array_event(l_event_id).array_value_char('source_10_meaning')
175813 , p_source_11 => g_array_event(l_event_id).array_value_num('source_11')
175814 , p_source_25 => l_array_source_25(Idx)
175815 , p_source_57 => g_array_event(l_event_id).array_value_char('source_57')
175816 , p_source_58 => l_array_source_58(Idx)
175817 , p_source_60 => l_array_source_60(Idx)
175818 , p_source_85 => l_array_source_85(Idx)
175822 , p_source_93 => l_array_source_93(Idx)
175819 , p_source_85_meaning => l_array_source_85_meaning(Idx)
175820 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
175821 , p_source_91 => l_array_source_91(Idx)
175823 , p_source_96 => l_array_source_96(Idx)
175824 , p_source_101 => l_array_source_101(Idx)
175825 , p_source_101_meaning => l_array_source_101_meaning(Idx)
175826 , p_source_102 => l_array_source_102(Idx)
175827 , p_source_103 => l_array_source_103(Idx)
175828 , p_source_104 => l_array_source_104(Idx)
175829 , p_source_105 => l_array_source_105(Idx)
175830 , p_source_106 => l_array_source_106(Idx)
175831 , p_source_107 => l_array_source_107(Idx)
175832 , p_source_108 => g_array_event(l_event_id).array_value_char('source_108')
175833 , p_source_109 => g_array_event(l_event_id).array_value_date('source_109')
175834 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
175835 , p_source_111 => g_array_event(l_event_id).array_value_char('source_111')
175836 , p_source_112 => l_array_source_112(Idx)
175837 , p_source_113 => g_array_event(l_event_id).array_value_num('source_113')
175838 , p_source_114 => g_array_event(l_event_id).array_value_num('source_114')
175839 , p_source_115 => l_array_source_115(Idx)
175840 );
175841 If(l_balance_type_code = 'A') THEN
175842 l_actual_gain_loss_ref := l_gain_or_loss_ref;
175843 END IF;
175844
175845 --
175846
175847
175848 --
175849 AcctLineType_70 (
175850 p_application_id => p_application_id
175851 ,p_event_id => l_event_id
175852 ,p_calculate_acctd_flag => l_calculate_acctd_flag
175853 ,p_calculate_g_l_flag => l_calculate_g_l_flag
175854 ,p_actual_flag => l_actual_flag
175855 ,p_balance_type_code => l_balance_type_code
175856 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
175857
175858 , p_source_8 => g_array_event(l_event_id).array_value_char('source_8')
175859 , p_source_10 => g_array_event(l_event_id).array_value_char('source_10')
175860 , p_source_10_meaning => g_array_event(l_event_id).array_value_char('source_10_meaning')
175861 , p_source_12 => g_array_event(l_event_id).array_value_num('source_12')
175862 , p_source_57 => g_array_event(l_event_id).array_value_char('source_57')
175863 , p_source_58 => l_array_source_58(Idx)
175864 , p_source_60 => l_array_source_60(Idx)
175865 , p_source_85 => l_array_source_85(Idx)
175866 , p_source_85_meaning => l_array_source_85_meaning(Idx)
175867 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
175868 , p_source_91 => l_array_source_91(Idx)
175869 , p_source_93 => l_array_source_93(Idx)
175870 , p_source_96 => l_array_source_96(Idx)
175871 , p_source_101 => l_array_source_101(Idx)
175872 , p_source_101_meaning => l_array_source_101_meaning(Idx)
175873 , p_source_102 => l_array_source_102(Idx)
175874 , p_source_103 => l_array_source_103(Idx)
175875 , p_source_104 => l_array_source_104(Idx)
175876 , p_source_105 => l_array_source_105(Idx)
175877 , p_source_106 => l_array_source_106(Idx)
175878 , p_source_107 => l_array_source_107(Idx)
175879 , p_source_109 => g_array_event(l_event_id).array_value_date('source_109')
175880 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
175881 , p_source_111 => g_array_event(l_event_id).array_value_char('source_111')
175882 , p_source_112 => l_array_source_112(Idx)
175883 , p_source_113 => g_array_event(l_event_id).array_value_num('source_113')
175884 , p_source_114 => g_array_event(l_event_id).array_value_num('source_114')
175885 , p_source_115 => l_array_source_115(Idx)
175886 , p_source_116 => g_array_event(l_event_id).array_value_char('source_116')
175887 , p_source_116_meaning => g_array_event(l_event_id).array_value_char('source_116_meaning')
175888 );
175889 If(l_balance_type_code = 'A') THEN
175890 l_actual_gain_loss_ref := l_gain_or_loss_ref;
175891 END IF;
175892
175893 --
175894
175895
175896 --
175897 AcctLineType_71 (
175898 p_application_id => p_application_id
175899 ,p_event_id => l_event_id
175900 ,p_calculate_acctd_flag => l_calculate_acctd_flag
175901 ,p_calculate_g_l_flag => l_calculate_g_l_flag
175902 ,p_actual_flag => l_actual_flag
175903 ,p_balance_type_code => l_balance_type_code
175904 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
175905
175906 , p_source_8 => g_array_event(l_event_id).array_value_char('source_8')
175907 , p_source_10 => g_array_event(l_event_id).array_value_char('source_10')
175908 , p_source_10_meaning => g_array_event(l_event_id).array_value_char('source_10_meaning')
175909 , p_source_12 => g_array_event(l_event_id).array_value_num('source_12')
175910 , p_source_57 => g_array_event(l_event_id).array_value_char('source_57')
175911 , p_source_58 => l_array_source_58(Idx)
175912 , p_source_60 => l_array_source_60(Idx)
175913 , p_source_85 => l_array_source_85(Idx)
175914 , p_source_85_meaning => l_array_source_85_meaning(Idx)
175915 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
175916 , p_source_91 => l_array_source_91(Idx)
175917 , p_source_93 => l_array_source_93(Idx)
175918 , p_source_96 => l_array_source_96(Idx)
175919 , p_source_101 => l_array_source_101(Idx)
175920 , p_source_101_meaning => l_array_source_101_meaning(Idx)
175921 , p_source_102 => l_array_source_102(Idx)
175922 , p_source_103 => l_array_source_103(Idx)
175923 , p_source_104 => l_array_source_104(Idx)
175924 , p_source_105 => l_array_source_105(Idx)
175925 , p_source_106 => l_array_source_106(Idx)
175926 , p_source_107 => l_array_source_107(Idx)
175927 , p_source_109 => g_array_event(l_event_id).array_value_date('source_109')
175928 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
175929 , p_source_111 => g_array_event(l_event_id).array_value_char('source_111')
175930 , p_source_112 => l_array_source_112(Idx)
175931 , p_source_113 => g_array_event(l_event_id).array_value_num('source_113')
175932 , p_source_114 => g_array_event(l_event_id).array_value_num('source_114')
175933 , p_source_115 => l_array_source_115(Idx)
175934 , p_source_116 => g_array_event(l_event_id).array_value_char('source_116')
175938 l_actual_gain_loss_ref := l_gain_or_loss_ref;
175935 , p_source_116_meaning => g_array_event(l_event_id).array_value_char('source_116_meaning')
175936 );
175937 If(l_balance_type_code = 'A') THEN
175939 END IF;
175940
175941 --
175942
175943
175944 --
175945 AcctLineType_72 (
175946 p_application_id => p_application_id
175947 ,p_event_id => l_event_id
175948 ,p_calculate_acctd_flag => l_calculate_acctd_flag
175949 ,p_calculate_g_l_flag => l_calculate_g_l_flag
175950 ,p_actual_flag => l_actual_flag
175951 ,p_balance_type_code => l_balance_type_code
175952 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
175953
175954 , p_source_8 => g_array_event(l_event_id).array_value_char('source_8')
175955 , p_source_12 => g_array_event(l_event_id).array_value_num('source_12')
175956 , p_source_43 => g_array_event(l_event_id).array_value_char('source_43')
175957 , p_source_43_meaning => g_array_event(l_event_id).array_value_char('source_43_meaning')
175958 , p_source_57 => g_array_event(l_event_id).array_value_char('source_57')
175959 , p_source_58 => l_array_source_58(Idx)
175960 , p_source_60 => l_array_source_60(Idx)
175961 , p_source_85 => l_array_source_85(Idx)
175962 , p_source_85_meaning => l_array_source_85_meaning(Idx)
175963 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
175964 , p_source_91 => l_array_source_91(Idx)
175965 , p_source_93 => l_array_source_93(Idx)
175966 , p_source_96 => l_array_source_96(Idx)
175967 , p_source_101 => l_array_source_101(Idx)
175968 , p_source_101_meaning => l_array_source_101_meaning(Idx)
175969 , p_source_102 => l_array_source_102(Idx)
175970 , p_source_103 => l_array_source_103(Idx)
175971 , p_source_104 => l_array_source_104(Idx)
175972 , p_source_105 => l_array_source_105(Idx)
175973 , p_source_106 => l_array_source_106(Idx)
175974 , p_source_107 => l_array_source_107(Idx)
175975 , p_source_109 => g_array_event(l_event_id).array_value_date('source_109')
175976 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
175977 , p_source_111 => g_array_event(l_event_id).array_value_char('source_111')
175978 , p_source_112 => l_array_source_112(Idx)
175979 , p_source_113 => g_array_event(l_event_id).array_value_num('source_113')
175980 , p_source_114 => g_array_event(l_event_id).array_value_num('source_114')
175981 , p_source_115 => l_array_source_115(Idx)
175982 , p_source_116 => g_array_event(l_event_id).array_value_char('source_116')
175983 , p_source_116_meaning => g_array_event(l_event_id).array_value_char('source_116_meaning')
175984 );
175985 If(l_balance_type_code = 'A') THEN
175986 l_actual_gain_loss_ref := l_gain_or_loss_ref;
175987 END IF;
175988
175989 --
175990
175991
175992 --
175993 AcctLineType_73 (
175994 p_application_id => p_application_id
175995 ,p_event_id => l_event_id
175996 ,p_calculate_acctd_flag => l_calculate_acctd_flag
175997 ,p_calculate_g_l_flag => l_calculate_g_l_flag
175998 ,p_actual_flag => l_actual_flag
175999 ,p_balance_type_code => l_balance_type_code
176000 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
176001
176002 , p_source_8 => g_array_event(l_event_id).array_value_char('source_8')
176003 , p_source_57 => g_array_event(l_event_id).array_value_char('source_57')
176004 , p_source_58 => l_array_source_58(Idx)
176005 , p_source_60 => l_array_source_60(Idx)
176006 , p_source_85 => l_array_source_85(Idx)
176007 , p_source_85_meaning => l_array_source_85_meaning(Idx)
176008 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
176009 , p_source_91 => l_array_source_91(Idx)
176010 , p_source_93 => l_array_source_93(Idx)
176011 , p_source_96 => l_array_source_96(Idx)
176012 , p_source_101 => l_array_source_101(Idx)
176013 , p_source_101_meaning => l_array_source_101_meaning(Idx)
176014 , p_source_102 => l_array_source_102(Idx)
176015 , p_source_103 => l_array_source_103(Idx)
176016 , p_source_104 => l_array_source_104(Idx)
176017 , p_source_105 => l_array_source_105(Idx)
176018 , p_source_106 => l_array_source_106(Idx)
176019 , p_source_107 => l_array_source_107(Idx)
176020 , p_source_115 => l_array_source_115(Idx)
176021 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
176022 , p_source_118 => l_array_source_118(Idx)
176023 );
176024 If(l_balance_type_code = 'A') THEN
176025 l_actual_gain_loss_ref := l_gain_or_loss_ref;
176026 END IF;
176027
176028 --
176029
176030
176031 --
176032 AcctLineType_74 (
176033 p_application_id => p_application_id
176034 ,p_event_id => l_event_id
176035 ,p_calculate_acctd_flag => l_calculate_acctd_flag
176036 ,p_calculate_g_l_flag => l_calculate_g_l_flag
176037 ,p_actual_flag => l_actual_flag
176038 ,p_balance_type_code => l_balance_type_code
176039 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
176040
176041 , p_source_8 => g_array_event(l_event_id).array_value_char('source_8')
176042 , p_source_57 => g_array_event(l_event_id).array_value_char('source_57')
176043 , p_source_58 => l_array_source_58(Idx)
176044 , p_source_60 => l_array_source_60(Idx)
176045 , p_source_85 => l_array_source_85(Idx)
176046 , p_source_85_meaning => l_array_source_85_meaning(Idx)
176047 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
176048 , p_source_91 => l_array_source_91(Idx)
176049 , p_source_93 => l_array_source_93(Idx)
176050 , p_source_96 => l_array_source_96(Idx)
176051 , p_source_101 => l_array_source_101(Idx)
176052 , p_source_101_meaning => l_array_source_101_meaning(Idx)
176053 , p_source_102 => l_array_source_102(Idx)
176054 , p_source_103 => l_array_source_103(Idx)
176055 , p_source_104 => l_array_source_104(Idx)
176056 , p_source_105 => l_array_source_105(Idx)
176057 , p_source_106 => l_array_source_106(Idx)
176058 , p_source_107 => l_array_source_107(Idx)
176059 , p_source_115 => l_array_source_115(Idx)
176060 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
176061 , p_source_119 => l_array_source_119(Idx)
176062 );
176063 If(l_balance_type_code = 'A') THEN
176067 --
176064 l_actual_gain_loss_ref := l_gain_or_loss_ref;
176065 END IF;
176066
176068
176069
176070 --
176071 AcctLineType_77 (
176072 p_application_id => p_application_id
176073 ,p_event_id => l_event_id
176074 ,p_calculate_acctd_flag => l_calculate_acctd_flag
176075 ,p_calculate_g_l_flag => l_calculate_g_l_flag
176076 ,p_actual_flag => l_actual_flag
176077 ,p_balance_type_code => l_balance_type_code
176078 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
176079
176080 , p_source_8 => g_array_event(l_event_id).array_value_char('source_8')
176081 , p_source_57 => g_array_event(l_event_id).array_value_char('source_57')
176082 , p_source_58 => l_array_source_58(Idx)
176083 , p_source_60 => l_array_source_60(Idx)
176084 , p_source_85 => l_array_source_85(Idx)
176085 , p_source_85_meaning => l_array_source_85_meaning(Idx)
176086 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
176087 , p_source_91 => l_array_source_91(Idx)
176088 , p_source_93 => l_array_source_93(Idx)
176089 , p_source_96 => l_array_source_96(Idx)
176090 , p_source_101 => l_array_source_101(Idx)
176091 , p_source_101_meaning => l_array_source_101_meaning(Idx)
176092 , p_source_102 => l_array_source_102(Idx)
176093 , p_source_103 => l_array_source_103(Idx)
176094 , p_source_104 => l_array_source_104(Idx)
176095 , p_source_106 => l_array_source_106(Idx)
176096 , p_source_107 => l_array_source_107(Idx)
176097 , p_source_115 => l_array_source_115(Idx)
176098 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
176099 , p_source_123 => l_array_source_123(Idx)
176100 , p_source_124 => l_array_source_124(Idx)
176101 );
176102 If(l_balance_type_code = 'A') THEN
176103 l_actual_gain_loss_ref := l_gain_or_loss_ref;
176104 END IF;
176105
176106 --
176107
176108
176109 --
176110 AcctLineType_104 (
176111 p_application_id => p_application_id
176112 ,p_event_id => l_event_id
176113 ,p_calculate_acctd_flag => l_calculate_acctd_flag
176114 ,p_calculate_g_l_flag => l_calculate_g_l_flag
176115 ,p_actual_flag => l_actual_flag
176116 ,p_balance_type_code => l_balance_type_code
176117 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
176118
176119 , p_source_8 => g_array_event(l_event_id).array_value_char('source_8')
176120 , p_source_28 => l_array_source_28(Idx)
176121 , p_source_28_meaning => l_array_source_28_meaning(Idx)
176122 , p_source_48 => l_array_source_48(Idx)
176123 , p_source_57 => g_array_event(l_event_id).array_value_char('source_57')
176124 , p_source_58 => l_array_source_58(Idx)
176125 , p_source_60 => l_array_source_60(Idx)
176126 , p_source_85 => l_array_source_85(Idx)
176127 , p_source_85_meaning => l_array_source_85_meaning(Idx)
176128 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
176129 , p_source_91 => l_array_source_91(Idx)
176130 , p_source_93 => l_array_source_93(Idx)
176131 , p_source_96 => l_array_source_96(Idx)
176132 , p_source_101 => l_array_source_101(Idx)
176133 , p_source_101_meaning => l_array_source_101_meaning(Idx)
176134 , p_source_102 => l_array_source_102(Idx)
176135 , p_source_103 => l_array_source_103(Idx)
176136 , p_source_104 => l_array_source_104(Idx)
176137 , p_source_105 => l_array_source_105(Idx)
176138 , p_source_106 => l_array_source_106(Idx)
176139 , p_source_107 => l_array_source_107(Idx)
176140 , p_source_109 => g_array_event(l_event_id).array_value_date('source_109')
176141 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
176142 , p_source_111 => g_array_event(l_event_id).array_value_char('source_111')
176143 , p_source_112 => l_array_source_112(Idx)
176144 , p_source_113 => g_array_event(l_event_id).array_value_num('source_113')
176145 , p_source_114 => g_array_event(l_event_id).array_value_num('source_114')
176146 , p_source_115 => l_array_source_115(Idx)
176147 , p_source_125 => g_array_event(l_event_id).array_value_char('source_125')
176148 , p_source_125_meaning => g_array_event(l_event_id).array_value_char('source_125_meaning')
176149 , p_source_140 => l_array_source_140(Idx)
176150 , p_source_140_meaning => l_array_source_140_meaning(Idx)
176151 );
176152 If(l_balance_type_code = 'A') THEN
176153 l_actual_gain_loss_ref := l_gain_or_loss_ref;
176154 END IF;
176155
176156 --
176157
176158
176159 --
176160 AcctLineType_105 (
176161 p_application_id => p_application_id
176162 ,p_event_id => l_event_id
176163 ,p_calculate_acctd_flag => l_calculate_acctd_flag
176164 ,p_calculate_g_l_flag => l_calculate_g_l_flag
176165 ,p_actual_flag => l_actual_flag
176166 ,p_balance_type_code => l_balance_type_code
176167 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
176168
176169 , p_source_8 => g_array_event(l_event_id).array_value_char('source_8')
176170 , p_source_28 => l_array_source_28(Idx)
176171 , p_source_28_meaning => l_array_source_28_meaning(Idx)
176172 , p_source_57 => g_array_event(l_event_id).array_value_char('source_57')
176173 , p_source_58 => l_array_source_58(Idx)
176174 , p_source_60 => l_array_source_60(Idx)
176175 , p_source_85 => l_array_source_85(Idx)
176176 , p_source_85_meaning => l_array_source_85_meaning(Idx)
176177 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
176178 , p_source_91 => l_array_source_91(Idx)
176179 , p_source_93 => l_array_source_93(Idx)
176180 , p_source_96 => l_array_source_96(Idx)
176181 , p_source_99 => l_array_source_99(Idx)
176182 , p_source_100 => l_array_source_100(Idx)
176183 , p_source_101 => l_array_source_101(Idx)
176184 , p_source_101_meaning => l_array_source_101_meaning(Idx)
176185 , p_source_102 => l_array_source_102(Idx)
176186 , p_source_103 => l_array_source_103(Idx)
176187 , p_source_104 => l_array_source_104(Idx)
176188 , p_source_107 => l_array_source_107(Idx)
176189 , p_source_115 => l_array_source_115(Idx)
176190 , p_source_119 => l_array_source_119(Idx)
176191 , p_source_125 => g_array_event(l_event_id).array_value_char('source_125')
176195 );
176192 , p_source_125_meaning => g_array_event(l_event_id).array_value_char('source_125_meaning')
176193 , p_source_140 => l_array_source_140(Idx)
176194 , p_source_140_meaning => l_array_source_140_meaning(Idx)
176196 If(l_balance_type_code = 'A') THEN
176197 l_actual_gain_loss_ref := l_gain_or_loss_ref;
176198 END IF;
176199
176200 --
176201
176202
176203 --
176204 AcctLineType_113 (
176205 p_application_id => p_application_id
176206 ,p_event_id => l_event_id
176207 ,p_calculate_acctd_flag => l_calculate_acctd_flag
176208 ,p_calculate_g_l_flag => l_calculate_g_l_flag
176209 ,p_actual_flag => l_actual_flag
176210 ,p_balance_type_code => l_balance_type_code
176211 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
176212
176213 , p_source_10 => g_array_event(l_event_id).array_value_char('source_10')
176214 , p_source_10_meaning => g_array_event(l_event_id).array_value_char('source_10_meaning')
176215 , p_source_13 => g_array_event(l_event_id).array_value_num('source_13')
176216 , p_source_14 => g_array_event(l_event_id).array_value_char('source_14')
176217 , p_source_14_meaning => g_array_event(l_event_id).array_value_char('source_14_meaning')
176218 , p_source_25 => l_array_source_25(Idx)
176219 , p_source_28 => l_array_source_28(Idx)
176220 , p_source_28_meaning => l_array_source_28_meaning(Idx)
176221 , p_source_40 => g_array_event(l_event_id).array_value_num('source_40')
176222 , p_source_41 => l_array_source_41(Idx)
176223 , p_source_42 => l_array_source_42(Idx)
176224 , p_source_57 => g_array_event(l_event_id).array_value_char('source_57')
176225 , p_source_58 => l_array_source_58(Idx)
176226 , p_source_60 => l_array_source_60(Idx)
176227 , p_source_72 => l_array_source_72(Idx)
176228 , p_source_85 => l_array_source_85(Idx)
176229 , p_source_85_meaning => l_array_source_85_meaning(Idx)
176230 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
176231 , p_source_91 => l_array_source_91(Idx)
176232 , p_source_93 => l_array_source_93(Idx)
176233 , p_source_96 => l_array_source_96(Idx)
176234 , p_source_101 => l_array_source_101(Idx)
176235 , p_source_101_meaning => l_array_source_101_meaning(Idx)
176236 , p_source_102 => l_array_source_102(Idx)
176237 , p_source_103 => l_array_source_103(Idx)
176238 , p_source_104 => l_array_source_104(Idx)
176239 , p_source_105 => l_array_source_105(Idx)
176240 , p_source_106 => l_array_source_106(Idx)
176241 , p_source_107 => l_array_source_107(Idx)
176242 , p_source_112 => l_array_source_112(Idx)
176243 , p_source_113 => g_array_event(l_event_id).array_value_num('source_113')
176244 , p_source_114 => g_array_event(l_event_id).array_value_num('source_114')
176245 , p_source_115 => l_array_source_115(Idx)
176246 , p_source_146 => l_array_source_146(Idx)
176247 , p_source_147 => l_array_source_147(Idx)
176248 , p_source_148 => l_array_source_148(Idx)
176249 );
176250 If(l_balance_type_code = 'A') THEN
176251 l_actual_gain_loss_ref := l_gain_or_loss_ref;
176252 END IF;
176253
176254 --
176255
176256
176257 --
176258 AcctLineType_121 (
176259 p_application_id => p_application_id
176260 ,p_event_id => l_event_id
176261 ,p_calculate_acctd_flag => l_calculate_acctd_flag
176262 ,p_calculate_g_l_flag => l_calculate_g_l_flag
176263 ,p_actual_flag => l_actual_flag
176264 ,p_balance_type_code => l_balance_type_code
176265 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
176266
176267 , p_source_10 => g_array_event(l_event_id).array_value_char('source_10')
176268 , p_source_10_meaning => g_array_event(l_event_id).array_value_char('source_10_meaning')
176269 , p_source_25 => l_array_source_25(Idx)
176270 , p_source_45 => g_array_event(l_event_id).array_value_num('source_45')
176271 , p_source_57 => g_array_event(l_event_id).array_value_char('source_57')
176272 , p_source_58 => l_array_source_58(Idx)
176273 , p_source_60 => l_array_source_60(Idx)
176274 , p_source_72 => l_array_source_72(Idx)
176275 , p_source_85 => l_array_source_85(Idx)
176276 , p_source_85_meaning => l_array_source_85_meaning(Idx)
176277 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
176278 , p_source_91 => l_array_source_91(Idx)
176279 , p_source_93 => l_array_source_93(Idx)
176280 , p_source_96 => l_array_source_96(Idx)
176281 , p_source_101 => l_array_source_101(Idx)
176282 , p_source_101_meaning => l_array_source_101_meaning(Idx)
176283 , p_source_102 => l_array_source_102(Idx)
176284 , p_source_103 => l_array_source_103(Idx)
176285 , p_source_104 => l_array_source_104(Idx)
176286 , p_source_105 => l_array_source_105(Idx)
176287 , p_source_106 => l_array_source_106(Idx)
176288 , p_source_107 => l_array_source_107(Idx)
176289 , p_source_113 => g_array_event(l_event_id).array_value_num('source_113')
176290 , p_source_114 => g_array_event(l_event_id).array_value_num('source_114')
176291 , p_source_115 => l_array_source_115(Idx)
176292 , p_source_119 => l_array_source_119(Idx)
176293 , p_source_146 => l_array_source_146(Idx)
176294 , p_source_147 => l_array_source_147(Idx)
176295 , p_source_148 => l_array_source_148(Idx)
176296 );
176297 If(l_balance_type_code = 'A') THEN
176298 l_actual_gain_loss_ref := l_gain_or_loss_ref;
176299 END IF;
176300
176301 --
176302
176303
176304 --
176305 AcctLineType_133 (
176306 p_application_id => p_application_id
176307 ,p_event_id => l_event_id
176308 ,p_calculate_acctd_flag => l_calculate_acctd_flag
176309 ,p_calculate_g_l_flag => l_calculate_g_l_flag
176310 ,p_actual_flag => l_actual_flag
176311 ,p_balance_type_code => l_balance_type_code
176312 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
176313
176314 , p_source_8 => g_array_event(l_event_id).array_value_char('source_8')
176315 , p_source_10 => g_array_event(l_event_id).array_value_char('source_10')
176316 , p_source_10_meaning => g_array_event(l_event_id).array_value_char('source_10_meaning')
176317 , p_source_25 => l_array_source_25(Idx)
176318 , p_source_31 => g_array_event(l_event_id).array_value_num('source_31')
176322 , p_source_60 => l_array_source_60(Idx)
176319 , p_source_32 => g_array_event(l_event_id).array_value_num('source_32')
176320 , p_source_57 => g_array_event(l_event_id).array_value_char('source_57')
176321 , p_source_58 => l_array_source_58(Idx)
176323 , p_source_85 => l_array_source_85(Idx)
176324 , p_source_85_meaning => l_array_source_85_meaning(Idx)
176325 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
176326 , p_source_91 => l_array_source_91(Idx)
176327 , p_source_93 => l_array_source_93(Idx)
176328 , p_source_96 => l_array_source_96(Idx)
176329 , p_source_101 => l_array_source_101(Idx)
176330 , p_source_101_meaning => l_array_source_101_meaning(Idx)
176331 , p_source_102 => l_array_source_102(Idx)
176332 , p_source_103 => l_array_source_103(Idx)
176333 , p_source_104 => l_array_source_104(Idx)
176334 , p_source_105 => l_array_source_105(Idx)
176335 , p_source_106 => l_array_source_106(Idx)
176336 , p_source_107 => l_array_source_107(Idx)
176337 , p_source_109 => g_array_event(l_event_id).array_value_date('source_109')
176338 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
176339 , p_source_111 => g_array_event(l_event_id).array_value_char('source_111')
176340 , p_source_113 => g_array_event(l_event_id).array_value_num('source_113')
176341 , p_source_114 => g_array_event(l_event_id).array_value_num('source_114')
176342 , p_source_115 => l_array_source_115(Idx)
176343 , p_source_154 => l_array_source_154(Idx)
176344 , p_source_155 => l_array_source_155(Idx)
176345 );
176346 If(l_balance_type_code = 'A') THEN
176347 l_actual_gain_loss_ref := l_gain_or_loss_ref;
176348 END IF;
176349
176350 --
176351
176352
176353 --
176354 AcctLineType_134 (
176355 p_application_id => p_application_id
176356 ,p_event_id => l_event_id
176357 ,p_calculate_acctd_flag => l_calculate_acctd_flag
176358 ,p_calculate_g_l_flag => l_calculate_g_l_flag
176359 ,p_actual_flag => l_actual_flag
176360 ,p_balance_type_code => l_balance_type_code
176361 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
176362
176363 , p_source_10 => g_array_event(l_event_id).array_value_char('source_10')
176364 , p_source_10_meaning => g_array_event(l_event_id).array_value_char('source_10_meaning')
176365 , p_source_25 => l_array_source_25(Idx)
176366 , p_source_31 => g_array_event(l_event_id).array_value_num('source_31')
176367 , p_source_32 => g_array_event(l_event_id).array_value_num('source_32')
176368 , p_source_33 => g_array_event(l_event_id).array_value_num('source_33')
176369 , p_source_34 => g_array_event(l_event_id).array_value_num('source_34')
176370 , p_source_57 => g_array_event(l_event_id).array_value_char('source_57')
176371 , p_source_58 => l_array_source_58(Idx)
176372 , p_source_60 => l_array_source_60(Idx)
176373 , p_source_85 => l_array_source_85(Idx)
176374 , p_source_85_meaning => l_array_source_85_meaning(Idx)
176375 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
176376 , p_source_91 => l_array_source_91(Idx)
176377 , p_source_93 => l_array_source_93(Idx)
176378 , p_source_96 => l_array_source_96(Idx)
176379 , p_source_101 => l_array_source_101(Idx)
176380 , p_source_101_meaning => l_array_source_101_meaning(Idx)
176381 , p_source_102 => l_array_source_102(Idx)
176382 , p_source_103 => l_array_source_103(Idx)
176383 , p_source_104 => l_array_source_104(Idx)
176384 , p_source_105 => l_array_source_105(Idx)
176385 , p_source_106 => l_array_source_106(Idx)
176386 , p_source_107 => l_array_source_107(Idx)
176387 , p_source_113 => g_array_event(l_event_id).array_value_num('source_113')
176388 , p_source_114 => g_array_event(l_event_id).array_value_num('source_114')
176389 , p_source_115 => l_array_source_115(Idx)
176390 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
176391 , p_source_155 => l_array_source_155(Idx)
176392 );
176393 If(l_balance_type_code = 'A') THEN
176394 l_actual_gain_loss_ref := l_gain_or_loss_ref;
176395 END IF;
176396
176397 --
176398
176399
176400 --
176401 AcctLineType_139 (
176402 p_application_id => p_application_id
176403 ,p_event_id => l_event_id
176404 ,p_calculate_acctd_flag => l_calculate_acctd_flag
176405 ,p_calculate_g_l_flag => l_calculate_g_l_flag
176406 ,p_actual_flag => l_actual_flag
176407 ,p_balance_type_code => l_balance_type_code
176408 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
176409
176410 , p_source_8 => g_array_event(l_event_id).array_value_char('source_8')
176411 , p_source_10 => g_array_event(l_event_id).array_value_char('source_10')
176412 , p_source_10_meaning => g_array_event(l_event_id).array_value_char('source_10_meaning')
176413 , p_source_25 => l_array_source_25(Idx)
176414 , p_source_31 => g_array_event(l_event_id).array_value_num('source_31')
176415 , p_source_32 => g_array_event(l_event_id).array_value_num('source_32')
176416 , p_source_57 => g_array_event(l_event_id).array_value_char('source_57')
176417 , p_source_58 => l_array_source_58(Idx)
176418 , p_source_60 => l_array_source_60(Idx)
176419 , p_source_85 => l_array_source_85(Idx)
176420 , p_source_85_meaning => l_array_source_85_meaning(Idx)
176421 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
176422 , p_source_91 => l_array_source_91(Idx)
176423 , p_source_93 => l_array_source_93(Idx)
176424 , p_source_96 => l_array_source_96(Idx)
176425 , p_source_101 => l_array_source_101(Idx)
176426 , p_source_101_meaning => l_array_source_101_meaning(Idx)
176427 , p_source_102 => l_array_source_102(Idx)
176428 , p_source_103 => l_array_source_103(Idx)
176429 , p_source_104 => l_array_source_104(Idx)
176430 , p_source_105 => l_array_source_105(Idx)
176431 , p_source_106 => l_array_source_106(Idx)
176432 , p_source_107 => l_array_source_107(Idx)
176433 , p_source_109 => g_array_event(l_event_id).array_value_date('source_109')
176434 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
176435 , p_source_111 => g_array_event(l_event_id).array_value_char('source_111')
176436 , p_source_113 => g_array_event(l_event_id).array_value_num('source_113')
176440 , p_source_159 => l_array_source_159(Idx)
176437 , p_source_114 => g_array_event(l_event_id).array_value_num('source_114')
176438 , p_source_115 => l_array_source_115(Idx)
176439 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
176441 , p_source_160 => l_array_source_160(Idx)
176442 );
176443 If(l_balance_type_code = 'A') THEN
176444 l_actual_gain_loss_ref := l_gain_or_loss_ref;
176445 END IF;
176446
176447 --
176448
176449
176450 --
176451 AcctLineType_141 (
176452 p_application_id => p_application_id
176453 ,p_event_id => l_event_id
176454 ,p_calculate_acctd_flag => l_calculate_acctd_flag
176455 ,p_calculate_g_l_flag => l_calculate_g_l_flag
176456 ,p_actual_flag => l_actual_flag
176457 ,p_balance_type_code => l_balance_type_code
176458 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
176459
176460 , p_source_8 => g_array_event(l_event_id).array_value_char('source_8')
176461 , p_source_10 => g_array_event(l_event_id).array_value_char('source_10')
176462 , p_source_10_meaning => g_array_event(l_event_id).array_value_char('source_10_meaning')
176463 , p_source_25 => l_array_source_25(Idx)
176464 , p_source_31 => g_array_event(l_event_id).array_value_num('source_31')
176465 , p_source_32 => g_array_event(l_event_id).array_value_num('source_32')
176466 , p_source_57 => g_array_event(l_event_id).array_value_char('source_57')
176467 , p_source_58 => l_array_source_58(Idx)
176468 , p_source_60 => l_array_source_60(Idx)
176469 , p_source_85 => l_array_source_85(Idx)
176470 , p_source_85_meaning => l_array_source_85_meaning(Idx)
176471 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
176472 , p_source_91 => l_array_source_91(Idx)
176473 , p_source_93 => l_array_source_93(Idx)
176474 , p_source_96 => l_array_source_96(Idx)
176475 , p_source_101 => l_array_source_101(Idx)
176476 , p_source_101_meaning => l_array_source_101_meaning(Idx)
176477 , p_source_102 => l_array_source_102(Idx)
176478 , p_source_103 => l_array_source_103(Idx)
176479 , p_source_104 => l_array_source_104(Idx)
176480 , p_source_105 => l_array_source_105(Idx)
176481 , p_source_106 => l_array_source_106(Idx)
176482 , p_source_107 => l_array_source_107(Idx)
176483 , p_source_109 => g_array_event(l_event_id).array_value_date('source_109')
176484 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
176485 , p_source_111 => g_array_event(l_event_id).array_value_char('source_111')
176486 , p_source_113 => g_array_event(l_event_id).array_value_num('source_113')
176487 , p_source_114 => g_array_event(l_event_id).array_value_num('source_114')
176488 , p_source_115 => l_array_source_115(Idx)
176489 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
176490 , p_source_162 => l_array_source_162(Idx)
176491 , p_source_163 => l_array_source_163(Idx)
176492 );
176493 If(l_balance_type_code = 'A') THEN
176494 l_actual_gain_loss_ref := l_gain_or_loss_ref;
176495 END IF;
176496
176497 --
176498
176499
176500 --
176501 AcctLineType_145 (
176502 p_application_id => p_application_id
176503 ,p_event_id => l_event_id
176504 ,p_calculate_acctd_flag => l_calculate_acctd_flag
176505 ,p_calculate_g_l_flag => l_calculate_g_l_flag
176506 ,p_actual_flag => l_actual_flag
176507 ,p_balance_type_code => l_balance_type_code
176508 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
176509
176510 , p_source_8 => g_array_event(l_event_id).array_value_char('source_8')
176511 , p_source_23 => g_array_event(l_event_id).array_value_num('source_23')
176512 , p_source_24 => g_array_event(l_event_id).array_value_char('source_24')
176513 , p_source_25 => l_array_source_25(Idx)
176514 , p_source_28 => l_array_source_28(Idx)
176515 , p_source_28_meaning => l_array_source_28_meaning(Idx)
176516 , p_source_56 => l_array_source_56(Idx)
176517 , p_source_56_meaning => l_array_source_56_meaning(Idx)
176518 , p_source_57 => g_array_event(l_event_id).array_value_char('source_57')
176519 , p_source_58 => l_array_source_58(Idx)
176520 , p_source_60 => l_array_source_60(Idx)
176521 , p_source_85 => l_array_source_85(Idx)
176522 , p_source_85_meaning => l_array_source_85_meaning(Idx)
176523 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
176524 , p_source_91 => l_array_source_91(Idx)
176525 , p_source_93 => l_array_source_93(Idx)
176526 , p_source_96 => l_array_source_96(Idx)
176527 , p_source_101 => l_array_source_101(Idx)
176528 , p_source_101_meaning => l_array_source_101_meaning(Idx)
176529 , p_source_102 => l_array_source_102(Idx)
176530 , p_source_103 => l_array_source_103(Idx)
176531 , p_source_104 => l_array_source_104(Idx)
176532 , p_source_105 => l_array_source_105(Idx)
176533 , p_source_106 => l_array_source_106(Idx)
176534 , p_source_107 => l_array_source_107(Idx)
176535 , p_source_109 => g_array_event(l_event_id).array_value_date('source_109')
176536 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
176537 , p_source_111 => g_array_event(l_event_id).array_value_char('source_111')
176538 , p_source_112 => l_array_source_112(Idx)
176539 , p_source_113 => g_array_event(l_event_id).array_value_num('source_113')
176540 , p_source_114 => g_array_event(l_event_id).array_value_num('source_114')
176541 , p_source_115 => l_array_source_115(Idx)
176542 , p_source_125 => g_array_event(l_event_id).array_value_char('source_125')
176543 , p_source_125_meaning => g_array_event(l_event_id).array_value_char('source_125_meaning')
176544 );
176545 If(l_balance_type_code = 'A') THEN
176546 l_actual_gain_loss_ref := l_gain_or_loss_ref;
176547 END IF;
176548
176549 --
176550
176551
176552 --
176553 AcctLineType_154 (
176554 p_application_id => p_application_id
176555 ,p_event_id => l_event_id
176556 ,p_calculate_acctd_flag => l_calculate_acctd_flag
176557 ,p_calculate_g_l_flag => l_calculate_g_l_flag
176558 ,p_actual_flag => l_actual_flag
176559 ,p_balance_type_code => l_balance_type_code
176560 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
176561
176565 , p_source_57 => g_array_event(l_event_id).array_value_char('source_57')
176562 , p_source_8 => g_array_event(l_event_id).array_value_char('source_8')
176563 , p_source_56 => l_array_source_56(Idx)
176564 , p_source_56_meaning => l_array_source_56_meaning(Idx)
176566 , p_source_58 => l_array_source_58(Idx)
176567 , p_source_60 => l_array_source_60(Idx)
176568 , p_source_85 => l_array_source_85(Idx)
176569 , p_source_85_meaning => l_array_source_85_meaning(Idx)
176570 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
176571 , p_source_91 => l_array_source_91(Idx)
176572 , p_source_93 => l_array_source_93(Idx)
176573 , p_source_96 => l_array_source_96(Idx)
176574 , p_source_97 => l_array_source_97(Idx)
176575 , p_source_98 => l_array_source_98(Idx)
176576 , p_source_99 => l_array_source_99(Idx)
176577 , p_source_100 => l_array_source_100(Idx)
176578 , p_source_101 => l_array_source_101(Idx)
176579 , p_source_101_meaning => l_array_source_101_meaning(Idx)
176580 , p_source_102 => l_array_source_102(Idx)
176581 , p_source_107 => l_array_source_107(Idx)
176582 , p_source_115 => l_array_source_115(Idx)
176583 , p_source_119 => l_array_source_119(Idx)
176584 , p_source_125 => g_array_event(l_event_id).array_value_char('source_125')
176585 , p_source_125_meaning => g_array_event(l_event_id).array_value_char('source_125_meaning')
176586 , p_source_166 => l_array_source_166(Idx)
176587 , p_source_166_meaning => l_array_source_166_meaning(Idx)
176588 );
176589 If(l_balance_type_code = 'A') THEN
176590 l_actual_gain_loss_ref := l_gain_or_loss_ref;
176591 END IF;
176592
176593 --
176594
176595
176596 --
176597 AcctLineType_156 (
176598 p_application_id => p_application_id
176599 ,p_event_id => l_event_id
176600 ,p_calculate_acctd_flag => l_calculate_acctd_flag
176601 ,p_calculate_g_l_flag => l_calculate_g_l_flag
176602 ,p_actual_flag => l_actual_flag
176603 ,p_balance_type_code => l_balance_type_code
176604 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
176605
176606 , p_source_8 => g_array_event(l_event_id).array_value_char('source_8')
176607 , p_source_56 => l_array_source_56(Idx)
176608 , p_source_56_meaning => l_array_source_56_meaning(Idx)
176609 , p_source_57 => g_array_event(l_event_id).array_value_char('source_57')
176610 , p_source_58 => l_array_source_58(Idx)
176611 , p_source_60 => l_array_source_60(Idx)
176612 , p_source_85 => l_array_source_85(Idx)
176613 , p_source_85_meaning => l_array_source_85_meaning(Idx)
176614 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
176615 , p_source_91 => l_array_source_91(Idx)
176616 , p_source_93 => l_array_source_93(Idx)
176617 , p_source_96 => l_array_source_96(Idx)
176618 , p_source_97 => l_array_source_97(Idx)
176619 , p_source_98 => l_array_source_98(Idx)
176620 , p_source_99 => l_array_source_99(Idx)
176621 , p_source_100 => l_array_source_100(Idx)
176622 , p_source_101 => l_array_source_101(Idx)
176623 , p_source_101_meaning => l_array_source_101_meaning(Idx)
176624 , p_source_102 => l_array_source_102(Idx)
176625 , p_source_107 => l_array_source_107(Idx)
176626 , p_source_115 => l_array_source_115(Idx)
176627 , p_source_119 => l_array_source_119(Idx)
176628 );
176629 If(l_balance_type_code = 'A') THEN
176630 l_actual_gain_loss_ref := l_gain_or_loss_ref;
176631 END IF;
176632
176633 --
176634
176635
176636 --
176637 AcctLineType_172 (
176638 p_application_id => p_application_id
176639 ,p_event_id => l_event_id
176640 ,p_calculate_acctd_flag => l_calculate_acctd_flag
176641 ,p_calculate_g_l_flag => l_calculate_g_l_flag
176642 ,p_actual_flag => l_actual_flag
176643 ,p_balance_type_code => l_balance_type_code
176644 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
176645
176646 , p_source_8 => g_array_event(l_event_id).array_value_char('source_8')
176647 , p_source_10 => g_array_event(l_event_id).array_value_char('source_10')
176648 , p_source_10_meaning => g_array_event(l_event_id).array_value_char('source_10_meaning')
176649 , p_source_25 => l_array_source_25(Idx)
176650 , p_source_33 => g_array_event(l_event_id).array_value_num('source_33')
176651 , p_source_34 => g_array_event(l_event_id).array_value_num('source_34')
176652 , p_source_57 => g_array_event(l_event_id).array_value_char('source_57')
176653 , p_source_58 => l_array_source_58(Idx)
176654 , p_source_60 => l_array_source_60(Idx)
176655 , p_source_85 => l_array_source_85(Idx)
176656 , p_source_85_meaning => l_array_source_85_meaning(Idx)
176657 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
176658 , p_source_91 => l_array_source_91(Idx)
176659 , p_source_93 => l_array_source_93(Idx)
176660 , p_source_96 => l_array_source_96(Idx)
176661 , p_source_101 => l_array_source_101(Idx)
176662 , p_source_101_meaning => l_array_source_101_meaning(Idx)
176663 , p_source_102 => l_array_source_102(Idx)
176664 , p_source_103 => l_array_source_103(Idx)
176665 , p_source_104 => l_array_source_104(Idx)
176666 , p_source_105 => l_array_source_105(Idx)
176667 , p_source_106 => l_array_source_106(Idx)
176668 , p_source_107 => l_array_source_107(Idx)
176669 , p_source_109 => g_array_event(l_event_id).array_value_date('source_109')
176670 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
176671 , p_source_111 => g_array_event(l_event_id).array_value_char('source_111')
176672 , p_source_113 => g_array_event(l_event_id).array_value_num('source_113')
176673 , p_source_114 => g_array_event(l_event_id).array_value_num('source_114')
176674 , p_source_115 => l_array_source_115(Idx)
176675 , p_source_154 => l_array_source_154(Idx)
176676 , p_source_155 => l_array_source_155(Idx)
176677 );
176678 If(l_balance_type_code = 'A') THEN
176679 l_actual_gain_loss_ref := l_gain_or_loss_ref;
176680 END IF;
176681
176682 --
176683
176684
176685 --
176686 AcctLineType_173 (
176687 p_application_id => p_application_id
176688 ,p_event_id => l_event_id
176689 ,p_calculate_acctd_flag => l_calculate_acctd_flag
176693 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
176690 ,p_calculate_g_l_flag => l_calculate_g_l_flag
176691 ,p_actual_flag => l_actual_flag
176692 ,p_balance_type_code => l_balance_type_code
176694
176695 , p_source_8 => g_array_event(l_event_id).array_value_char('source_8')
176696 , p_source_10 => g_array_event(l_event_id).array_value_char('source_10')
176697 , p_source_10_meaning => g_array_event(l_event_id).array_value_char('source_10_meaning')
176698 , p_source_25 => l_array_source_25(Idx)
176699 , p_source_33 => g_array_event(l_event_id).array_value_num('source_33')
176700 , p_source_34 => g_array_event(l_event_id).array_value_num('source_34')
176701 , p_source_57 => g_array_event(l_event_id).array_value_char('source_57')
176702 , p_source_58 => l_array_source_58(Idx)
176703 , p_source_60 => l_array_source_60(Idx)
176704 , p_source_85 => l_array_source_85(Idx)
176705 , p_source_85_meaning => l_array_source_85_meaning(Idx)
176706 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
176707 , p_source_91 => l_array_source_91(Idx)
176708 , p_source_93 => l_array_source_93(Idx)
176709 , p_source_96 => l_array_source_96(Idx)
176710 , p_source_101 => l_array_source_101(Idx)
176711 , p_source_101_meaning => l_array_source_101_meaning(Idx)
176712 , p_source_102 => l_array_source_102(Idx)
176713 , p_source_103 => l_array_source_103(Idx)
176714 , p_source_104 => l_array_source_104(Idx)
176715 , p_source_105 => l_array_source_105(Idx)
176716 , p_source_106 => l_array_source_106(Idx)
176717 , p_source_107 => l_array_source_107(Idx)
176718 , p_source_109 => g_array_event(l_event_id).array_value_date('source_109')
176719 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
176720 , p_source_111 => g_array_event(l_event_id).array_value_char('source_111')
176721 , p_source_113 => g_array_event(l_event_id).array_value_num('source_113')
176722 , p_source_114 => g_array_event(l_event_id).array_value_num('source_114')
176723 , p_source_115 => l_array_source_115(Idx)
176724 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
176725 , p_source_159 => l_array_source_159(Idx)
176726 , p_source_160 => l_array_source_160(Idx)
176727 );
176728 If(l_balance_type_code = 'A') THEN
176729 l_actual_gain_loss_ref := l_gain_or_loss_ref;
176730 END IF;
176731
176732 --
176733
176734
176735 --
176736 AcctLineType_175 (
176737 p_application_id => p_application_id
176738 ,p_event_id => l_event_id
176739 ,p_calculate_acctd_flag => l_calculate_acctd_flag
176740 ,p_calculate_g_l_flag => l_calculate_g_l_flag
176741 ,p_actual_flag => l_actual_flag
176742 ,p_balance_type_code => l_balance_type_code
176743 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
176744
176745 , p_source_8 => g_array_event(l_event_id).array_value_char('source_8')
176746 , p_source_10 => g_array_event(l_event_id).array_value_char('source_10')
176747 , p_source_10_meaning => g_array_event(l_event_id).array_value_char('source_10_meaning')
176748 , p_source_25 => l_array_source_25(Idx)
176749 , p_source_33 => g_array_event(l_event_id).array_value_num('source_33')
176750 , p_source_34 => g_array_event(l_event_id).array_value_num('source_34')
176751 , p_source_57 => g_array_event(l_event_id).array_value_char('source_57')
176752 , p_source_58 => l_array_source_58(Idx)
176753 , p_source_60 => l_array_source_60(Idx)
176754 , p_source_85 => l_array_source_85(Idx)
176755 , p_source_85_meaning => l_array_source_85_meaning(Idx)
176756 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
176757 , p_source_91 => l_array_source_91(Idx)
176758 , p_source_93 => l_array_source_93(Idx)
176759 , p_source_96 => l_array_source_96(Idx)
176760 , p_source_101 => l_array_source_101(Idx)
176761 , p_source_101_meaning => l_array_source_101_meaning(Idx)
176762 , p_source_102 => l_array_source_102(Idx)
176763 , p_source_103 => l_array_source_103(Idx)
176764 , p_source_104 => l_array_source_104(Idx)
176765 , p_source_105 => l_array_source_105(Idx)
176766 , p_source_106 => l_array_source_106(Idx)
176767 , p_source_107 => l_array_source_107(Idx)
176768 , p_source_109 => g_array_event(l_event_id).array_value_date('source_109')
176769 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
176770 , p_source_111 => g_array_event(l_event_id).array_value_char('source_111')
176771 , p_source_113 => g_array_event(l_event_id).array_value_num('source_113')
176772 , p_source_114 => g_array_event(l_event_id).array_value_num('source_114')
176773 , p_source_115 => l_array_source_115(Idx)
176774 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
176775 , p_source_162 => l_array_source_162(Idx)
176776 , p_source_163 => l_array_source_163(Idx)
176777 );
176778 If(l_balance_type_code = 'A') THEN
176779 l_actual_gain_loss_ref := l_gain_or_loss_ref;
176780 END IF;
176781
176782 --
176783
176784
176785 --
176786 AcctLineType_179 (
176787 p_application_id => p_application_id
176788 ,p_event_id => l_event_id
176789 ,p_calculate_acctd_flag => l_calculate_acctd_flag
176790 ,p_calculate_g_l_flag => l_calculate_g_l_flag
176791 ,p_actual_flag => l_actual_flag
176792 ,p_balance_type_code => l_balance_type_code
176793 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
176794
176795 , p_source_8 => g_array_event(l_event_id).array_value_char('source_8')
176796 , p_source_10 => g_array_event(l_event_id).array_value_char('source_10')
176797 , p_source_10_meaning => g_array_event(l_event_id).array_value_char('source_10_meaning')
176798 , p_source_25 => l_array_source_25(Idx)
176799 , p_source_45 => g_array_event(l_event_id).array_value_num('source_45')
176800 , p_source_57 => g_array_event(l_event_id).array_value_char('source_57')
176801 , p_source_58 => l_array_source_58(Idx)
176802 , p_source_60 => l_array_source_60(Idx)
176803 , p_source_85 => l_array_source_85(Idx)
176804 , p_source_85_meaning => l_array_source_85_meaning(Idx)
176805 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
176806 , p_source_91 => l_array_source_91(Idx)
176807 , p_source_93 => l_array_source_93(Idx)
176811 , p_source_102 => l_array_source_102(Idx)
176808 , p_source_96 => l_array_source_96(Idx)
176809 , p_source_101 => l_array_source_101(Idx)
176810 , p_source_101_meaning => l_array_source_101_meaning(Idx)
176812 , p_source_103 => l_array_source_103(Idx)
176813 , p_source_104 => l_array_source_104(Idx)
176814 , p_source_105 => l_array_source_105(Idx)
176815 , p_source_106 => l_array_source_106(Idx)
176816 , p_source_107 => l_array_source_107(Idx)
176817 , p_source_109 => g_array_event(l_event_id).array_value_date('source_109')
176818 , p_source_110 => g_array_event(l_event_id).array_value_num('source_110')
176819 , p_source_111 => g_array_event(l_event_id).array_value_char('source_111')
176820 , p_source_113 => g_array_event(l_event_id).array_value_num('source_113')
176821 , p_source_114 => g_array_event(l_event_id).array_value_num('source_114')
176822 , p_source_115 => l_array_source_115(Idx)
176823 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
176824 , p_source_124 => l_array_source_124(Idx)
176825 );
176826 If(l_balance_type_code = 'A') THEN
176827 l_actual_gain_loss_ref := l_gain_or_loss_ref;
176828 END IF;
176829
176830 --
176831
176832
176833 --
176834 AcctLineType_193 (
176835 p_application_id => p_application_id
176836 ,p_event_id => l_event_id
176837 ,p_calculate_acctd_flag => l_calculate_acctd_flag
176838 ,p_calculate_g_l_flag => l_calculate_g_l_flag
176839 ,p_actual_flag => l_actual_flag
176840 ,p_balance_type_code => l_balance_type_code
176841 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
176842
176843 , p_source_8 => g_array_event(l_event_id).array_value_char('source_8')
176844 , p_source_10 => g_array_event(l_event_id).array_value_char('source_10')
176845 , p_source_10_meaning => g_array_event(l_event_id).array_value_char('source_10_meaning')
176846 , p_source_25 => l_array_source_25(Idx)
176847 , p_source_45 => g_array_event(l_event_id).array_value_num('source_45')
176848 , p_source_57 => g_array_event(l_event_id).array_value_char('source_57')
176849 , p_source_58 => l_array_source_58(Idx)
176850 , p_source_60 => l_array_source_60(Idx)
176851 , p_source_85 => l_array_source_85(Idx)
176852 , p_source_85_meaning => l_array_source_85_meaning(Idx)
176853 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
176854 , p_source_91 => l_array_source_91(Idx)
176855 , p_source_93 => l_array_source_93(Idx)
176856 , p_source_96 => l_array_source_96(Idx)
176857 , p_source_101 => l_array_source_101(Idx)
176858 , p_source_101_meaning => l_array_source_101_meaning(Idx)
176859 , p_source_102 => l_array_source_102(Idx)
176860 , p_source_103 => l_array_source_103(Idx)
176861 , p_source_104 => l_array_source_104(Idx)
176862 , p_source_105 => l_array_source_105(Idx)
176863 , p_source_106 => l_array_source_106(Idx)
176864 , p_source_107 => l_array_source_107(Idx)
176865 , p_source_113 => g_array_event(l_event_id).array_value_num('source_113')
176866 , p_source_114 => g_array_event(l_event_id).array_value_num('source_114')
176867 , p_source_115 => l_array_source_115(Idx)
176868 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
176869 , p_source_118 => l_array_source_118(Idx)
176870 , p_source_120 => g_array_event(l_event_id).array_value_date('source_120')
176871 , p_source_121 => g_array_event(l_event_id).array_value_num('source_121')
176872 , p_source_122 => g_array_event(l_event_id).array_value_char('source_122')
176873 );
176874 If(l_balance_type_code = 'A') THEN
176875 l_actual_gain_loss_ref := l_gain_or_loss_ref;
176876 END IF;
176877
176878 --
176879
176880
176881 --
176882 AcctLineType_233 (
176883 p_application_id => p_application_id
176884 ,p_event_id => l_event_id
176885 ,p_calculate_acctd_flag => l_calculate_acctd_flag
176886 ,p_calculate_g_l_flag => l_calculate_g_l_flag
176887 ,p_actual_flag => l_actual_flag
176888 ,p_balance_type_code => l_balance_type_code
176889 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
176890
176891 , p_source_8 => g_array_event(l_event_id).array_value_char('source_8')
176892 , p_source_10 => g_array_event(l_event_id).array_value_char('source_10')
176893 , p_source_10_meaning => g_array_event(l_event_id).array_value_char('source_10_meaning')
176894 , p_source_25 => l_array_source_25(Idx)
176895 , p_source_39 => l_array_source_39(Idx)
176896 , p_source_57 => g_array_event(l_event_id).array_value_char('source_57')
176897 , p_source_58 => l_array_source_58(Idx)
176898 , p_source_60 => l_array_source_60(Idx)
176899 , p_source_85 => l_array_source_85(Idx)
176900 , p_source_85_meaning => l_array_source_85_meaning(Idx)
176901 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
176902 , p_source_91 => l_array_source_91(Idx)
176903 , p_source_93 => l_array_source_93(Idx)
176904 , p_source_96 => l_array_source_96(Idx)
176905 , p_source_101 => l_array_source_101(Idx)
176906 , p_source_101_meaning => l_array_source_101_meaning(Idx)
176907 , p_source_102 => l_array_source_102(Idx)
176908 , p_source_103 => l_array_source_103(Idx)
176909 , p_source_104 => l_array_source_104(Idx)
176910 , p_source_105 => l_array_source_105(Idx)
176911 , p_source_106 => l_array_source_106(Idx)
176912 , p_source_107 => l_array_source_107(Idx)
176913 , p_source_113 => g_array_event(l_event_id).array_value_num('source_113')
176914 , p_source_114 => g_array_event(l_event_id).array_value_num('source_114')
176915 , p_source_115 => l_array_source_115(Idx)
176916 , p_source_119 => l_array_source_119(Idx)
176917 , p_source_146 => l_array_source_146(Idx)
176918 , p_source_147 => l_array_source_147(Idx)
176919 , p_source_148 => l_array_source_148(Idx)
176920 , p_source_166 => l_array_source_166(Idx)
176921 , p_source_166_meaning => l_array_source_166_meaning(Idx)
176922 );
176923 If(l_balance_type_code = 'A') THEN
176924 l_actual_gain_loss_ref := l_gain_or_loss_ref;
176925 END IF;
176926
176927 --
176928
176929 -- only execute it if calculate g/l flag is yes, and primary or secondary ledger
176930 -- or secondary ledger that has different currency with primary
176934
176931 -- or alc that is calculated by sla
176932 IF (((l_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
176933 (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'))
176935 -- IF((l_calculate_g_l_flag='Y' or XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id <>
176936 -- XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id)
176937 AND (l_actual_flag = 'A')) THEN
176938 XLA_AE_LINES_PKG.CreateGainOrLossLines(
176939 p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
176940 ,p_application_id => p_application_id
176941 ,p_amb_context_code => 'DEFAULT'
176942 ,p_entity_code => xla_ae_journal_entry_pkg.g_cache_event.entity_code
176943 ,p_event_class_code => C_EVENT_CLASS_CODE
176944 ,p_event_type_code => C_EVENT_TYPE_CODE
176945
176946 ,p_gain_ccid => -1
176947 ,p_loss_ccid => -1
176948
176949 ,p_actual_flag => l_actual_flag
176950 ,p_enc_flag => null
176951 ,p_actual_g_l_ref => l_actual_gain_loss_ref
176952 ,p_enc_g_l_ref => null
176953 );
176954 END IF;
176955 END IF;
176956 END IF;
176957
176958 ELSE
176959 --
176960 -- Bug 4872078 - Do nothing if the event is meant for transaction reversal
176961 --
176962 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
176963 trace
176964 (p_msg => 'Trancaction revesal option is Y'
176965 ,p_level => C_LEVEL_STATEMENT
176966 ,p_module => l_log_module);
176967 END IF;
176968 END IF;
176969
176970 END LOOP;
176971 l_result := XLA_AE_LINES_PKG.InsertLines ;
176972 end loop;
176973 close line_cur;
176974
176975
176976 --
176977 -- insert headers into xla_ae_headers_gt table
176978 --
176979 l_result := XLA_AE_HEADER_PKG.InsertHeaders ;
176980
176981 -- insert into errors table here.
176982
176983 END LOOP;
176984
176985 --
176986 -- 4865292
176987 --
176988 -- Compare g_hdr_extract_count with event count in
176989 -- CreateHeadersAndLines.
176990 --
176991 g_hdr_extract_count := g_hdr_extract_count + header_cur%ROWCOUNT;
176992
176993 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
176994 trace (p_msg => '# rows extracted from header extract objects '
176995 || ' (running total): '
176996 || g_hdr_extract_count
176997 ,p_level => C_LEVEL_STATEMENT
176998 ,p_module => l_log_module);
176999 END IF;
177000
177001 CLOSE header_cur;
177002 --
177003
177004 --
177005 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
177006 trace
177007 (p_msg => 'END of EventClass_255'
177008 ,p_level => C_LEVEL_PROCEDURE
177009 ,p_module => l_log_module);
177010 END IF;
177011 --
177012 RETURN l_result;
177013 EXCEPTION
177014 WHEN xla_exceptions_pkg.application_exception THEN
177015
177016 IF header_cur%ISOPEN THEN CLOSE header_cur; END IF;
177017
177018
177019 IF line_cur%ISOPEN THEN CLOSE line_cur; END IF;
177020
177021 RAISE;
177022
177023 WHEN NO_DATA_FOUND THEN
177024
177025 IF header_cur%ISOPEN THEN CLOSE header_cur; END IF;
177026 IF line_cur%ISOPEN THEN CLOSE line_cur; END IF;
177027
177028 FOR header_record IN header_cur
177029 LOOP
177030 l_array_header_events(header_record.event_id) := header_record.event_id;
177031 END LOOP;
177032
177033 l_first_event_id := l_array_header_events(l_array_header_events.FIRST);
177034 l_last_event_id := l_array_header_events(l_array_header_events.LAST);
177035
177036 fnd_file.put_line(fnd_file.LOG, ' ');
177037 fnd_file.put_line(fnd_file.LOG, '***************************************************************************');
177038 fnd_file.put_line(fnd_file.LOG, 'EVENT CLASS CODE = ' || C_EVENT_CLASS_CODE );
177039 fnd_file.put_line(fnd_file.LOG, 'The following events are present in the line extract but MISSING in the header extract: ');
177040
177041 FOR line_record IN line_cur(l_first_event_id, l_last_event_id)
177042 LOOP
177043 IF (NOT l_array_header_events.EXISTS(line_record.event_id)) AND (NOT l_array_duplicate_checker.EXISTS(line_record.event_id)) THEN
177044 fnd_file.put_line(fnd_file.log, 'Event_id = ' || line_record.event_id);
177045 l_array_duplicate_checker(line_record.event_id) := line_record.event_id;
177046 END IF;
177047 END LOOP;
177048
177049 fnd_file.put_line(fnd_file.LOG, '***************************************************************************');
177050 fnd_file.put_line(fnd_file.LOG, ' ');
177051
177052
177053 xla_exceptions_pkg.raise_message
177054 (p_location => 'XLA_00200_AAD_S_000012_PKG.EventClass_255');
177055
177056
177057 WHEN OTHERS THEN
177058 xla_exceptions_pkg.raise_message
177059 (p_location => 'XLA_00200_AAD_S_000012_PKG.EventClass_255');
177060 END EventClass_255;
177061 --
177062
177063 ---------------------------------------
177064 --
177065 -- PRIVATE PROCEDURE
177066 -- insert_sources_256
177067 --
177068 ----------------------------------------
177069 --
177070 PROCEDURE insert_sources_256(
177071 p_target_ledger_id IN NUMBER
177072 , p_language IN VARCHAR2
177073 , p_sla_ledger_id IN NUMBER
177074 , p_pad_start_date IN DATE
177075 , p_pad_end_date IN DATE
177076 )
177077 IS
177078
177079 C_EVENT_TYPE_CODE CONSTANT VARCHAR2(30) := 'REFUNDS_ALL';
177083 BEGIN
177080 C_EVENT_CLASS_CODE CONSTANT VARCHAR2(30) := 'REFUNDS';
177081 p_apps_owner VARCHAR2(30);
177082 l_log_module VARCHAR2(240);
177084 IF g_log_enabled THEN
177085 l_log_module := C_DEFAULT_MODULE||'.insert_sources_256';
177086 END IF;
177087 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
177088
177089 trace
177090 (p_msg => 'BEGIN of insert_sources_256'
177091 ,p_level => C_LEVEL_PROCEDURE
177092 ,p_module => l_log_module);
177093
177094 END IF;
177095
177096 -- select APPS owner
177097 SELECT oracle_username
177098 INTO p_apps_owner
177099 FROM fnd_oracle_userid
177100 WHERE read_only_flag = 'U'
177101 ;
177102
177103 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
177104 trace
177105 (p_msg => 'p_target_ledger_id = '||p_target_ledger_id||
177106 ' - p_language = '||p_language||
177107 ' - p_sla_ledger_id = '||p_sla_ledger_id ||
177108 ' - p_pad_start_date = '||TO_CHAR(p_pad_start_date)||
177109 ' - p_pad_end_date = '||TO_CHAR(p_pad_end_date)||
177110 ' - p_apps_owner = '||TO_CHAR(p_apps_owner)
177111 ,p_level => C_LEVEL_STATEMENT
177112 ,p_module => l_log_module);
177113 END IF;
177114
177115
177116 --
177117 INSERT INTO xla_diag_sources --hdr2
177118 (
177119 event_id
177120 , ledger_id
177121 , sla_ledger_id
177122 , description_language
177123 , object_name
177124 , object_type_code
177125 , line_number
177126 , source_application_id
177127 , source_type_code
177128 , source_code
177129 , source_value
177130 , source_meaning
177131 , created_by
177132 , creation_date
177133 , last_update_date
177134 , last_updated_by
177135 , last_update_login
177136 , program_update_date
177137 , program_application_id
177138 , program_id
177139 , request_id
177140 )
177141 SELECT
177142 event_id
177143 , p_target_ledger_id
177144 , p_sla_ledger_id
177145 , p_language
177146 , object_name
177147 , object_type_code
177148 , line_number
177149 , source_application_id
177150 , source_type_code
177151 , source_code
177152 , SUBSTR(source_value ,1,1996)
177153 , SUBSTR(source_meaning ,1,200)
177154 , xla_environment_pkg.g_Usr_Id
177155 , TRUNC(SYSDATE)
177156 , TRUNC(SYSDATE)
177157 , xla_environment_pkg.g_Usr_Id
177158 , xla_environment_pkg.g_Login_Id
177159 , TRUNC(SYSDATE)
177160 , xla_environment_pkg.g_Prog_Appl_Id
177161 , xla_environment_pkg.g_Prog_Id
177162 , xla_environment_pkg.g_Req_Id
177163 FROM (
177164 SELECT xet.event_id event_id
177165 , 0 line_number
177166 , CASE r
177167 WHEN 1 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
177168 WHEN 2 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
177169 WHEN 3 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
177170 WHEN 4 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
177171 WHEN 5 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
177172 WHEN 6 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
177173 WHEN 7 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
177174 WHEN 8 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
177175 WHEN 9 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
177176 WHEN 10 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
177177 WHEN 11 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
177178 WHEN 12 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
177179 WHEN 13 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
177180 WHEN 14 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
177181 WHEN 15 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
177182 WHEN 16 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
177183 WHEN 17 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
177184 WHEN 18 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
177185 WHEN 19 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
177186 WHEN 20 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
177187 WHEN 21 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
177188 WHEN 22 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
177189 WHEN 23 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
177190 WHEN 24 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
177191 WHEN 25 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
177192 WHEN 26 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
177193 WHEN 27 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
177194
177195 ELSE null
177196 END object_name
177197 , CASE r
177198 WHEN 1 THEN 'HEADER'
177199 WHEN 2 THEN 'HEADER'
177200 WHEN 3 THEN 'HEADER'
177201 WHEN 4 THEN 'HEADER'
177202 WHEN 5 THEN 'HEADER'
177203 WHEN 6 THEN 'HEADER'
177204 WHEN 7 THEN 'HEADER'
177205 WHEN 8 THEN 'HEADER'
177206 WHEN 9 THEN 'HEADER'
177207 WHEN 10 THEN 'HEADER'
177208 WHEN 11 THEN 'HEADER'
177209 WHEN 12 THEN 'HEADER'
177210 WHEN 13 THEN 'HEADER'
177211 WHEN 14 THEN 'HEADER'
177212 WHEN 15 THEN 'HEADER'
177213 WHEN 16 THEN 'HEADER'
177214 WHEN 17 THEN 'HEADER'
177215 WHEN 18 THEN 'HEADER'
177216 WHEN 19 THEN 'HEADER'
177217 WHEN 20 THEN 'HEADER'
177218 WHEN 21 THEN 'HEADER'
177219 WHEN 22 THEN 'HEADER'
177223 WHEN 26 THEN 'HEADER'
177220 WHEN 23 THEN 'HEADER'
177221 WHEN 24 THEN 'HEADER'
177222 WHEN 25 THEN 'HEADER'
177224 WHEN 27 THEN 'HEADER'
177225
177226 ELSE null
177227 END object_type_code
177228 , CASE r
177229 WHEN 1 THEN '200'
177230 WHEN 2 THEN '200'
177231 WHEN 3 THEN '200'
177232 WHEN 4 THEN '200'
177233 WHEN 5 THEN '200'
177234 WHEN 6 THEN '200'
177235 WHEN 7 THEN '200'
177236 WHEN 8 THEN '200'
177237 WHEN 9 THEN '200'
177238 WHEN 10 THEN '200'
177239 WHEN 11 THEN '200'
177240 WHEN 12 THEN '200'
177241 WHEN 13 THEN '200'
177242 WHEN 14 THEN '200'
177243 WHEN 15 THEN '200'
177244 WHEN 16 THEN '200'
177245 WHEN 17 THEN '200'
177246 WHEN 18 THEN '200'
177247 WHEN 19 THEN '200'
177248 WHEN 20 THEN '200'
177249 WHEN 21 THEN '200'
177250 WHEN 22 THEN '200'
177251 WHEN 23 THEN '200'
177252 WHEN 24 THEN '200'
177253 WHEN 25 THEN '200'
177254 WHEN 26 THEN '200'
177255 WHEN 27 THEN '200'
177256
177257 ELSE null
177258 END source_application_id
177259 , 'S' source_type_code
177260 , CASE r
177261 WHEN 1 THEN 'AC_DOC_SEQUENCE_VALUE'
177262 WHEN 2 THEN 'AC_CURRENCY_CODE'
177263 WHEN 3 THEN 'ASP_AUTOMATIC_OFFSETS_VALUE'
177264 WHEN 4 THEN 'CGAC_AP_ASSET_CCID'
177265 WHEN 5 THEN 'FSP_DISC_TAKEN_CCID'
177266 WHEN 6 THEN 'ASP_DISCOUNT_DIST_METHOD'
177267 WHEN 7 THEN 'CGAC_CASH_CLEARING_CCID'
177268 WHEN 8 THEN 'CGAC_GAIN_CCID'
177269 WHEN 9 THEN 'ASP_GAIN_CCID'
177270 WHEN 10 THEN 'CGAC_LOSS_CCID'
177271 WHEN 11 THEN 'ASP_LOSS_CCID'
177272 WHEN 12 THEN 'ASP_DISC_TAKEN_CCID'
177273 WHEN 13 THEN 'ASP_AUTO_OFFSET_FLAG'
177274 WHEN 14 THEN 'ASP_ROUNDING_ERROR_CCID'
177275 WHEN 15 THEN 'ASP_WHEN_TO_ACCOUNT_PMT'
177276 WHEN 16 THEN 'THIRD_PARTY_TYPE'
177277 WHEN 17 THEN 'AC_VENDOR_ID'
177278 WHEN 18 THEN 'AC_VENDOR_SITE_ID'
177279 WHEN 19 THEN 'CBA_POOLED_BANK_ACOUNT_FLAG'
177280 WHEN 20 THEN 'AC_FUTURE_PAY_DUE_DATE'
177281 WHEN 21 THEN 'AC_EXCHANGE_DATE'
177282 WHEN 22 THEN 'AC_EXCHANGE_RATE'
177283 WHEN 23 THEN 'AC_EXCHANGE_RATE_TYPE'
177284 WHEN 24 THEN 'PAYMENT_TYPE'
177285 WHEN 25 THEN 'AC_DOC_CATEGORY_CODE'
177286 WHEN 26 THEN 'PAYMENT_DOCUMENT_SEQUENCE_ID'
177287 WHEN 27 THEN 'TRANSAC_REVERSAL_FLAG'
177288
177289 ELSE null
177290 END source_code
177291 , CASE r
177292 WHEN 1 THEN TO_CHAR(h2.AC_DOC_SEQUENCE_VALUE)
177293 WHEN 2 THEN TO_CHAR(h2.AC_CURRENCY_CODE)
177294 WHEN 3 THEN TO_CHAR(h3.ASP_AUTOMATIC_OFFSETS_VALUE)
177295 WHEN 4 THEN TO_CHAR(h2.CGAC_AP_ASSET_CCID)
177296 WHEN 5 THEN TO_CHAR(h3.FSP_DISC_TAKEN_CCID)
177297 WHEN 6 THEN TO_CHAR(h3.ASP_DISCOUNT_DIST_METHOD)
177298 WHEN 7 THEN TO_CHAR(h2.CGAC_CASH_CLEARING_CCID)
177299 WHEN 8 THEN TO_CHAR(h2.CGAC_GAIN_CCID)
177300 WHEN 9 THEN TO_CHAR(h3.ASP_GAIN_CCID)
177301 WHEN 10 THEN TO_CHAR(h2.CGAC_LOSS_CCID)
177302 WHEN 11 THEN TO_CHAR(h3.ASP_LOSS_CCID)
177303 WHEN 12 THEN TO_CHAR(h3.ASP_DISC_TAKEN_CCID)
177304 WHEN 13 THEN TO_CHAR(h3.ASP_AUTO_OFFSET_FLAG)
177305 WHEN 14 THEN TO_CHAR(h3.ASP_ROUNDING_ERROR_CCID)
177306 WHEN 15 THEN TO_CHAR(h3.ASP_WHEN_TO_ACCOUNT_PMT)
177307 WHEN 16 THEN TO_CHAR(h2.THIRD_PARTY_TYPE)
177308 WHEN 17 THEN TO_CHAR(h2.AC_VENDOR_ID)
177309 WHEN 18 THEN TO_CHAR(h2.AC_VENDOR_SITE_ID)
177310 WHEN 19 THEN TO_CHAR(h2.CBA_POOLED_BANK_ACOUNT_FLAG)
177311 WHEN 20 THEN TO_CHAR(h2.AC_FUTURE_PAY_DUE_DATE)
177312 WHEN 21 THEN TO_CHAR(h2.AC_EXCHANGE_DATE)
177313 WHEN 22 THEN TO_CHAR(h2.AC_EXCHANGE_RATE)
177314 WHEN 23 THEN TO_CHAR(h2.AC_EXCHANGE_RATE_TYPE)
177315 WHEN 24 THEN TO_CHAR(h2.PAYMENT_TYPE)
177316 WHEN 25 THEN TO_CHAR(h2.AC_DOC_CATEGORY_CODE)
177317 WHEN 26 THEN TO_CHAR(h2.PAYMENT_DOCUMENT_SEQUENCE_ID)
177318 WHEN 27 THEN TO_CHAR(h2.TRANSAC_REVERSAL_FLAG)
177319
177320 ELSE null
177321 END source_value
177322 , CASE r
177323 WHEN 3 THEN fvl10.meaning
177324 WHEN 6 THEN fvl14.meaning
177325 WHEN 13 THEN fvl43.meaning
177326 WHEN 19 THEN fvl116.meaning
177327 WHEN 24 THEN fvl125.meaning
177328 WHEN 27 THEN fvl177.meaning
177329
177330 ELSE null
177331 END source_meaning
177332 FROM xla_events_gt xet
177333 , AP_PAYMENT_EXTRACT_HEADER_V h2
177334 , AP_SYSTEM_PARAMETERS_EXTRACT_V h3
177335 , fnd_lookup_values fvl10
177336 , fnd_lookup_values fvl14
177337 , fnd_lookup_values fvl43
177338 , fnd_lookup_values fvl116
177339 , fnd_lookup_values fvl125
177343 AND xet.event_class_code = C_EVENT_CLASS_CODE
177340 , fnd_lookup_values fvl177
177341 ,(select rownum r from all_objects where rownum <= 27 and owner = p_apps_owner)
177342 WHERE xet.event_date between p_pad_start_date AND p_pad_end_date
177344 AND h2.event_id = xet.event_id
177345 AND h3.asp_org_id = h2.ac_org_id AND fvl10.lookup_type(+) = 'LIABILITY FLEXBUILD METHOD'
177346 AND fvl10.lookup_code(+) = h3.ASP_AUTOMATIC_OFFSETS_VALUE
177347 AND fvl10.view_application_id(+) = 200
177348 AND fvl10.language(+) = USERENV('LANG')
177349 AND fvl14.lookup_type(+) = 'DISCOUNT_DIST_OPTIONS'
177350 AND fvl14.lookup_code(+) = h3.ASP_DISCOUNT_DIST_METHOD
177351 AND fvl14.view_application_id(+) = 200
177352 AND fvl14.language(+) = USERENV('LANG')
177353 AND fvl43.lookup_type(+) = 'YES_NO'
177354 AND fvl43.lookup_code(+) = h3.ASP_AUTO_OFFSET_FLAG
177355 AND fvl43.view_application_id(+) = 0
177356 AND fvl43.language(+) = USERENV('LANG')
177357 AND fvl116.lookup_type(+) = 'YES_NO'
177358 AND fvl116.lookup_code(+) = h2.CBA_POOLED_BANK_ACOUNT_FLAG
177359 AND fvl116.view_application_id(+) = 0
177360 AND fvl116.language(+) = USERENV('LANG')
177361 AND fvl125.lookup_type(+) = 'PAYMENT TYPE'
177362 AND fvl125.lookup_code(+) = h2.PAYMENT_TYPE
177363 AND fvl125.view_application_id(+) = 200
177364 AND fvl125.language(+) = USERENV('LANG')
177365 AND fvl177.lookup_type(+) = 'YES_NO'
177366 AND fvl177.lookup_code(+) = h2.TRANSAC_REVERSAL_FLAG
177367 AND fvl177.view_application_id(+) = 0
177368 AND fvl177.language(+) = USERENV('LANG')
177369
177370 )
177371 ;
177372 --
177373 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
177374
177375 trace
177376 (p_msg => 'number of header sources inserted = '||SQL%ROWCOUNT
177377 ,p_level => C_LEVEL_STATEMENT
177378 ,p_module => l_log_module);
177379
177380 END IF;
177381 --
177382
177383
177384
177385 --
177386 INSERT INTO xla_diag_sources --line2
177387 (
177388 event_id
177389 , ledger_id
177390 , sla_ledger_id
177391 , description_language
177392 , object_name
177393 , object_type_code
177394 , line_number
177395 , source_application_id
177396 , source_type_code
177397 , source_code
177398 , source_value
177399 , source_meaning
177400 , created_by
177401 , creation_date
177402 , last_update_date
177403 , last_updated_by
177404 , last_update_login
177405 , program_update_date
177406 , program_application_id
177407 , program_id
177408 , request_id
177409 )
177410 SELECT event_id
177411 , p_target_ledger_id
177412 , p_sla_ledger_id
177413 , p_language
177414 , object_name
177415 , object_type_code
177416 , line_number
177417 , source_application_id
177418 , source_type_code
177419 , source_code
177420 , SUBSTR(source_value,1,1996)
177421 , SUBSTR(source_meaning ,1,200)
177422 , xla_environment_pkg.g_Usr_Id
177423 , TRUNC(SYSDATE)
177424 , TRUNC(SYSDATE)
177425 , xla_environment_pkg.g_Usr_Id
177426 , xla_environment_pkg.g_Login_Id
177427 , TRUNC(SYSDATE)
177428 , xla_environment_pkg.g_Prog_Appl_Id
177429 , xla_environment_pkg.g_Prog_Id
177430 , xla_environment_pkg.g_Req_Id
177431 FROM (
177432 SELECT xet.event_id event_id
177433 , l1.line_number line_number
177434 , CASE r
177435 WHEN 1 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
177436 WHEN 2 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
177437 WHEN 3 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
177438 WHEN 4 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
177439 WHEN 5 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
177440 WHEN 6 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
177441 WHEN 7 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
177442 WHEN 8 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
177443 WHEN 9 THEN 'ZX_AP_DEF_TAX_EXTRACT_V'
177444 WHEN 10 THEN 'ZX_AP_TAX_JRNL_LINE_DESC_V'
177445 WHEN 11 THEN 'ZX_AP_DEF_TAX_EXTRACT_V'
177446 WHEN 12 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
177447 WHEN 13 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
177448 WHEN 14 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
177449 WHEN 15 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
177450 WHEN 16 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
177451 WHEN 17 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
177452 WHEN 18 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
177453 WHEN 19 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
177454 WHEN 20 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
177455 WHEN 21 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
177456 WHEN 22 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
177457 WHEN 23 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
177458 WHEN 24 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
177459 WHEN 25 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
177460 WHEN 26 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
177461 WHEN 27 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
177462
177463 ELSE null
177464 END object_name
177465 , CASE r
177466 WHEN 1 THEN 'LINE'
177467 WHEN 2 THEN 'LINE'
177468 WHEN 3 THEN 'LINE'
177469 WHEN 4 THEN 'LINE'
177470 WHEN 5 THEN 'LINE'
177471 WHEN 6 THEN 'LINE'
177472 WHEN 7 THEN 'LINE'
177476 WHEN 11 THEN 'LINE'
177473 WHEN 8 THEN 'LINE'
177474 WHEN 9 THEN 'LINE'
177475 WHEN 10 THEN 'LINE'
177477 WHEN 12 THEN 'LINE'
177478 WHEN 13 THEN 'LINE'
177479 WHEN 14 THEN 'LINE'
177480 WHEN 15 THEN 'LINE'
177481 WHEN 16 THEN 'LINE'
177482 WHEN 17 THEN 'LINE'
177483 WHEN 18 THEN 'LINE'
177484 WHEN 19 THEN 'LINE'
177485 WHEN 20 THEN 'LINE'
177486 WHEN 21 THEN 'LINE'
177487 WHEN 22 THEN 'LINE'
177488 WHEN 23 THEN 'LINE'
177489 WHEN 24 THEN 'LINE'
177490 WHEN 25 THEN 'LINE'
177491 WHEN 26 THEN 'LINE'
177492 WHEN 27 THEN 'LINE'
177493
177494 ELSE null
177495 END object_type_code
177496 , CASE r
177497 WHEN 1 THEN '200'
177498 WHEN 2 THEN '200'
177499 WHEN 3 THEN '200'
177500 WHEN 4 THEN '200'
177501 WHEN 5 THEN '200'
177502 WHEN 6 THEN '200'
177503 WHEN 7 THEN '200'
177504 WHEN 8 THEN '200'
177505 WHEN 9 THEN '200'
177506 WHEN 10 THEN '200'
177507 WHEN 11 THEN '200'
177508 WHEN 12 THEN '200'
177509 WHEN 13 THEN '200'
177510 WHEN 14 THEN '200'
177511 WHEN 15 THEN '200'
177512 WHEN 16 THEN '200'
177513 WHEN 17 THEN '200'
177514 WHEN 18 THEN '200'
177515 WHEN 19 THEN '200'
177516 WHEN 20 THEN '200'
177517 WHEN 21 THEN '200'
177518 WHEN 22 THEN '200'
177519 WHEN 23 THEN '200'
177520 WHEN 24 THEN '200'
177521 WHEN 25 THEN '200'
177522 WHEN 26 THEN '200'
177523 WHEN 27 THEN '200'
177524
177525 ELSE null
177526 END source_application_id
177527 , 'S' source_type_code
177528 , CASE r
177529 WHEN 1 THEN 'AID_DIST_CCID'
177530 WHEN 2 THEN 'AID_LINE_TYPE_LOOKUP_CODE'
177531 WHEN 3 THEN 'POD_CCID'
177532 WHEN 4 THEN 'PO_VARIANCE_ACCOUNT'
177533 WHEN 5 THEN 'DIST_ACCOUNT_REVERSAL_OPTION'
177534 WHEN 6 THEN 'DISTRIBUTION_LINK_TYPE'
177535 WHEN 7 THEN 'AI_INVOICE_CURRENCY_CODE'
177536 WHEN 8 THEN 'OVERRIDE_ACCTD_AMT_FLAG'
177537 WHEN 9 THEN 'TAX_LINE_ID'
177538 WHEN 10 THEN 'REC_NREC_TAX_DIST_ID'
177539 WHEN 11 THEN 'SUMMARY_TAX_LINE_ID'
177540 WHEN 12 THEN 'BUS_FLOW_AP_APP_ID'
177541 WHEN 13 THEN 'BUS_FLOW_INV_DIST_TYPE'
177542 WHEN 14 THEN 'BUS_FLOW_INV_ENTITY_CODE'
177543 WHEN 15 THEN 'BUS_FLOW_INV_DIST_ID'
177544 WHEN 16 THEN 'BUS_FLOW_INV_ID'
177545 WHEN 17 THEN 'APHD_PAY_DIST_LOOKUP_CODE'
177546 WHEN 18 THEN 'APHD_AMOUNT'
177547 WHEN 19 THEN 'APHD_PAYMENT_HIST_DIST_ID'
177548 WHEN 20 THEN 'APHD_REV_PAY_HIST_DIST_ID'
177549 WHEN 21 THEN 'APHD_PAYMENT_BASE_AMT'
177550 WHEN 22 THEN 'APHD_INVOICE_BASE_AMT'
177551 WHEN 23 THEN 'INV_EXCHANGE_DATE'
177552 WHEN 24 THEN 'INV_EXCHANGE_RATE'
177553 WHEN 25 THEN 'INV_EXCHANGE_RATE_TYPE'
177554 WHEN 26 THEN 'INV_PMT_BASE_AMT_DIFF'
177555 WHEN 27 THEN 'INV_PMT_GAIN_LOSS_INDICATOR'
177556
177557 ELSE null
177558 END source_code
177559 , CASE r
177560 WHEN 1 THEN TO_CHAR(l1.AID_DIST_CCID)
177561 WHEN 2 THEN TO_CHAR(l1.AID_LINE_TYPE_LOOKUP_CODE)
177562 WHEN 3 THEN TO_CHAR(l1.POD_CCID)
177563 WHEN 4 THEN TO_CHAR(l1.PO_VARIANCE_ACCOUNT)
177564 WHEN 5 THEN TO_CHAR(l1.DIST_ACCOUNT_REVERSAL_OPTION)
177565 WHEN 6 THEN TO_CHAR(l1.DISTRIBUTION_LINK_TYPE)
177566 WHEN 7 THEN TO_CHAR(l1.AI_INVOICE_CURRENCY_CODE)
177567 WHEN 8 THEN TO_CHAR(l1.OVERRIDE_ACCTD_AMT_FLAG)
177568 WHEN 9 THEN TO_CHAR(l4.TAX_LINE_ID)
177569 WHEN 10 THEN TO_CHAR(l5.REC_NREC_TAX_DIST_ID)
177570 WHEN 11 THEN TO_CHAR(l4.SUMMARY_TAX_LINE_ID)
177571 WHEN 12 THEN TO_CHAR(l1.BUS_FLOW_AP_APP_ID)
177572 WHEN 13 THEN TO_CHAR(l1.BUS_FLOW_INV_DIST_TYPE)
177573 WHEN 14 THEN TO_CHAR(l1.BUS_FLOW_INV_ENTITY_CODE)
177574 WHEN 15 THEN TO_CHAR(l1.BUS_FLOW_INV_DIST_ID)
177575 WHEN 16 THEN TO_CHAR(l1.BUS_FLOW_INV_ID)
177576 WHEN 17 THEN TO_CHAR(l1.APHD_PAY_DIST_LOOKUP_CODE)
177577 WHEN 18 THEN TO_CHAR(l1.APHD_AMOUNT)
177578 WHEN 19 THEN TO_CHAR(l1.APHD_PAYMENT_HIST_DIST_ID)
177579 WHEN 20 THEN TO_CHAR(l1.APHD_REV_PAY_HIST_DIST_ID)
177580 WHEN 21 THEN TO_CHAR(l1.APHD_PAYMENT_BASE_AMT)
177581 WHEN 22 THEN TO_CHAR(l1.APHD_INVOICE_BASE_AMT)
177582 WHEN 23 THEN TO_CHAR(l1.INV_EXCHANGE_DATE)
177583 WHEN 24 THEN TO_CHAR(l1.INV_EXCHANGE_RATE)
177584 WHEN 25 THEN TO_CHAR(l1.INV_EXCHANGE_RATE_TYPE)
177585 WHEN 26 THEN TO_CHAR(l1.INV_PMT_BASE_AMT_DIFF)
177586 WHEN 27 THEN TO_CHAR(l1.INV_PMT_GAIN_LOSS_INDICATOR)
177587
177588 ELSE null
177589 END source_value
177590 , CASE r
177591 WHEN 2 THEN fvl28.meaning
177595 ELSE null
177592 WHEN 8 THEN fvl85.meaning
177593 WHEN 17 THEN fvl101.meaning
177594
177596 END source_meaning
177597 FROM xla_events_gt xet
177598 , AP_PAYMENT_EXTRACT_DETAILS_V l1
177599 , ZX_AP_DEF_TAX_EXTRACT_V l4
177600 , ZX_AP_TAX_JRNL_LINE_DESC_V l5
177601 , fnd_lookup_values fvl28
177602 , fnd_lookup_values fvl85
177603 , fnd_lookup_values fvl101
177604 , (select rownum r from all_objects where rownum <= 27 and owner = p_apps_owner)
177605 WHERE xet.event_date between p_pad_start_date AND p_pad_end_date
177606 AND xet.event_class_code = C_EVENT_CLASS_CODE
177607 AND l1.event_id = xet.event_id
177608 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 fvl28.lookup_type(+) = 'INVOICE DISTRIBUTION TYPE'
177609 AND fvl28.lookup_code(+) = l1.AID_LINE_TYPE_LOOKUP_CODE
177610 AND fvl28.view_application_id(+) = 200
177611 AND fvl28.language(+) = USERENV('LANG')
177612 AND fvl85.lookup_type(+) = 'YES_NO'
177613 AND fvl85.lookup_code(+) = l1.OVERRIDE_ACCTD_AMT_FLAG
177614 AND fvl85.view_application_id(+) = 0
177615 AND fvl85.language(+) = USERENV('LANG')
177616 AND fvl101.lookup_type(+) = 'PAY_DIST_TYPES'
177617 AND fvl101.lookup_code(+) = l1.APHD_PAY_DIST_LOOKUP_CODE
177618 AND fvl101.view_application_id(+) = 200
177619 AND fvl101.language(+) = USERENV('LANG')
177620
177621 )
177622 ;
177623 --
177624 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
177625
177626 trace
177627 (p_msg => 'number of line sources inserted = '||SQL%ROWCOUNT
177628 ,p_level => C_LEVEL_STATEMENT
177629 ,p_module => l_log_module);
177630
177631 END IF;
177632
177633
177634 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
177635 trace
177636 (p_msg => 'END of insert_sources_256'
177637 ,p_level => C_LEVEL_PROCEDURE
177638 ,p_module => l_log_module);
177639 END IF;
177640 EXCEPTION
177641 WHEN xla_exceptions_pkg.application_exception THEN
177642 IF (C_LEVEL_EXCEPTION >= g_log_level) THEN
177643 trace
177644 (p_msg => 'ERROR: XLA_CMP_COMPILER_ERROR = '||sqlerrm
177645 ,p_level => C_LEVEL_EXCEPTION
177646 ,p_module => l_log_module);
177647 END IF;
177648 RAISE;
177649 WHEN OTHERS THEN
177650 IF (C_LEVEL_EXCEPTION >= g_log_level) THEN
177651 trace
177652 (p_msg => 'ERROR: XLA_CMP_COMPILER_ERROR = '||sqlerrm
177653 ,p_level => C_LEVEL_EXCEPTION
177654 ,p_module => l_log_module);
177655 END IF;
177656 xla_exceptions_pkg.raise_message
177657 (p_location => 'XLA_00200_AAD_S_000012_PKG.insert_sources_256');
177658 END insert_sources_256;
177659 --
177660
177661 ---------------------------------------
177662 --
177663 -- PRIVATE FUNCTION
177664 -- EventClass_256
177665 --
177666 ----------------------------------------
177667 --
177668 FUNCTION EventClass_256
177669 (p_application_id IN NUMBER
177670 ,p_base_ledger_id IN NUMBER
177671 ,p_target_ledger_id IN NUMBER
177672 ,p_language IN VARCHAR2
177673 ,p_currency_code IN VARCHAR2
177674 ,p_sla_ledger_id IN NUMBER
177675 ,p_pad_start_date IN DATE
177676 ,p_pad_end_date IN DATE
177677 ,p_primary_ledger_id IN NUMBER)
177678 RETURN BOOLEAN IS
177679 --
177680 C_EVENT_TYPE_CODE CONSTANT VARCHAR2(30) := 'REFUNDS_ALL';
177681 C_EVENT_CLASS_CODE CONSTANT VARCHAR2(30) := 'REFUNDS';
177682
177683 l_calculate_acctd_flag VARCHAR2(1) :='N';
177684 l_calculate_g_l_flag VARCHAR2(1) :='N';
177685 --
177686 l_array_legal_entity_id XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
177687 l_array_entity_id XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
177688 l_array_entity_code XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
177689 l_array_transaction_num XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
177690 l_array_event_id XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
177691 l_array_class_code XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
177692 l_array_event_type XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
177693 l_array_event_number XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
177694 l_array_event_date XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
177695 l_array_transaction_date XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
177696 l_array_reference_num_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
177697 l_array_reference_num_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
177698 l_array_reference_num_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
177699 l_array_reference_num_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
177700 l_array_reference_char_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
177701 l_array_reference_char_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
177702 l_array_reference_char_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
177703 l_array_reference_char_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
177704 l_array_reference_date_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
177705 l_array_reference_date_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
177706 l_array_reference_date_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
177707 l_array_reference_date_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
177708 l_array_event_created_by XLA_AE_JOURNAL_ENTRY_PKG.t_array_V100L;
177709 l_array_budgetary_control_flag XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
177710 l_array_header_events XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num; --added
177714 l_previous_event_id NUMBER;
177711 l_array_duplicate_checker XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num; --added
177712
177713 l_event_id NUMBER;
177715 l_first_event_id NUMBER;
177716 l_last_event_id NUMBER;
177717
177718 l_rec_acct_attrs XLA_AE_HEADER_PKG.t_rec_acct_attrs;
177719 l_rec_rev_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
177720 --
177721 --
177722 l_result BOOLEAN := TRUE;
177723 l_rows NUMBER := 1000;
177724 l_event_type_name VARCHAR2(80) := 'All';
177725 l_event_class_name VARCHAR2(80) := 'Refunds';
177726 l_description VARCHAR2(4000);
177727 l_transaction_reversal NUMBER;
177728 l_ae_header_id NUMBER;
177729 l_array_extract_line_num xla_ae_journal_entry_pkg.t_array_Num;
177730 l_log_module VARCHAR2(240);
177731 --
177732 l_acct_reversal_source VARCHAR2(30);
177733 l_trx_reversal_source VARCHAR2(30);
177734
177735 l_continue_with_lines BOOLEAN := TRUE;
177736 --
177737 l_acc_rev_gl_date_source DATE; -- 4262811
177738 --
177739 type t_array_event_id is table of number index by binary_integer;
177740
177741 l_rec_array_event t_rec_array_event;
177742 l_null_rec_array_event t_rec_array_event;
177743 l_array_ae_header_id xla_number_array_type;
177744 l_actual_flag VARCHAR2(1) := NULL;
177745 l_actual_gain_loss_ref VARCHAR2(30) := '#####';
177746 l_balance_type_code VARCHAR2(1) :=NULL;
177747 l_gain_or_loss_ref VARCHAR2(30) :=NULL;
177748
177749 --
177750 TYPE t_array_lookup_meaning IS TABLE OF fnd_lookup_values.meaning%TYPE INDEX BY BINARY_INTEGER;
177751 --
177752
177753 TYPE t_array_source_4 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_DOC_SEQUENCE_VALUE%TYPE INDEX BY BINARY_INTEGER;
177754 TYPE t_array_source_8 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_CURRENCY_CODE%TYPE INDEX BY BINARY_INTEGER;
177755 TYPE t_array_source_10 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_AUTOMATIC_OFFSETS_VALUE%TYPE INDEX BY BINARY_INTEGER;
177756 TYPE t_array_source_12 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.CGAC_AP_ASSET_CCID%TYPE INDEX BY BINARY_INTEGER;
177757 TYPE t_array_source_13 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.FSP_DISC_TAKEN_CCID%TYPE INDEX BY BINARY_INTEGER;
177758 TYPE t_array_source_14 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_DISCOUNT_DIST_METHOD%TYPE INDEX BY BINARY_INTEGER;
177759 TYPE t_array_source_30 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.CGAC_CASH_CLEARING_CCID%TYPE INDEX BY BINARY_INTEGER;
177760 TYPE t_array_source_31 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.CGAC_GAIN_CCID%TYPE INDEX BY BINARY_INTEGER;
177761 TYPE t_array_source_32 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_GAIN_CCID%TYPE INDEX BY BINARY_INTEGER;
177762 TYPE t_array_source_33 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.CGAC_LOSS_CCID%TYPE INDEX BY BINARY_INTEGER;
177763 TYPE t_array_source_34 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_LOSS_CCID%TYPE INDEX BY BINARY_INTEGER;
177764 TYPE t_array_source_40 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_DISC_TAKEN_CCID%TYPE INDEX BY BINARY_INTEGER;
177765 TYPE t_array_source_43 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_AUTO_OFFSET_FLAG%TYPE INDEX BY BINARY_INTEGER;
177766 TYPE t_array_source_45 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_ROUNDING_ERROR_CCID%TYPE INDEX BY BINARY_INTEGER;
177767 TYPE t_array_source_57 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_WHEN_TO_ACCOUNT_PMT%TYPE INDEX BY BINARY_INTEGER;
177768 TYPE t_array_source_88 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.THIRD_PARTY_TYPE%TYPE INDEX BY BINARY_INTEGER;
177769 TYPE t_array_source_113 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_VENDOR_ID%TYPE INDEX BY BINARY_INTEGER;
177770 TYPE t_array_source_114 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_VENDOR_SITE_ID%TYPE INDEX BY BINARY_INTEGER;
177771 TYPE t_array_source_116 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.CBA_POOLED_BANK_ACOUNT_FLAG%TYPE INDEX BY BINARY_INTEGER;
177772 TYPE t_array_source_117 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_FUTURE_PAY_DUE_DATE%TYPE INDEX BY BINARY_INTEGER;
177773 TYPE t_array_source_120 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_EXCHANGE_DATE%TYPE INDEX BY BINARY_INTEGER;
177774 TYPE t_array_source_121 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_EXCHANGE_RATE%TYPE INDEX BY BINARY_INTEGER;
177775 TYPE t_array_source_122 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_EXCHANGE_RATE_TYPE%TYPE INDEX BY BINARY_INTEGER;
177776 TYPE t_array_source_125 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.PAYMENT_TYPE%TYPE INDEX BY BINARY_INTEGER;
177777 TYPE t_array_source_175 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_DOC_CATEGORY_CODE%TYPE INDEX BY BINARY_INTEGER;
177778 TYPE t_array_source_176 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.PAYMENT_DOCUMENT_SEQUENCE_ID%TYPE INDEX BY BINARY_INTEGER;
177779 TYPE t_array_source_177 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.TRANSAC_REVERSAL_FLAG%TYPE INDEX BY BINARY_INTEGER;
177780
177781 TYPE t_array_source_25 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.AID_DIST_CCID%TYPE INDEX BY BINARY_INTEGER;
177782 TYPE t_array_source_28 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.AID_LINE_TYPE_LOOKUP_CODE%TYPE INDEX BY BINARY_INTEGER;
177783 TYPE t_array_source_41 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.POD_CCID%TYPE INDEX BY BINARY_INTEGER;
177784 TYPE t_array_source_42 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.PO_VARIANCE_ACCOUNT%TYPE INDEX BY BINARY_INTEGER;
177785 TYPE t_array_source_58 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.DIST_ACCOUNT_REVERSAL_OPTION%TYPE INDEX BY BINARY_INTEGER;
177786 TYPE t_array_source_60 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.DISTRIBUTION_LINK_TYPE%TYPE INDEX BY BINARY_INTEGER;
177787 TYPE t_array_source_72 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.AI_INVOICE_CURRENCY_CODE%TYPE INDEX BY BINARY_INTEGER;
177788 TYPE t_array_source_85 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.OVERRIDE_ACCTD_AMT_FLAG%TYPE INDEX BY BINARY_INTEGER;
177789 TYPE t_array_source_91 IS TABLE OF ZX_AP_DEF_TAX_EXTRACT_V.TAX_LINE_ID%TYPE INDEX BY BINARY_INTEGER;
177790 TYPE t_array_source_92 IS TABLE OF ZX_AP_TAX_JRNL_LINE_DESC_V.REC_NREC_TAX_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
177791 TYPE t_array_source_93 IS TABLE OF ZX_AP_DEF_TAX_EXTRACT_V.SUMMARY_TAX_LINE_ID%TYPE INDEX BY BINARY_INTEGER;
177795 TYPE t_array_source_99 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.BUS_FLOW_INV_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
177792 TYPE t_array_source_96 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.BUS_FLOW_AP_APP_ID%TYPE INDEX BY BINARY_INTEGER;
177793 TYPE t_array_source_97 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.BUS_FLOW_INV_DIST_TYPE%TYPE INDEX BY BINARY_INTEGER;
177794 TYPE t_array_source_98 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.BUS_FLOW_INV_ENTITY_CODE%TYPE INDEX BY BINARY_INTEGER;
177796 TYPE t_array_source_100 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.BUS_FLOW_INV_ID%TYPE INDEX BY BINARY_INTEGER;
177797 TYPE t_array_source_101 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.APHD_PAY_DIST_LOOKUP_CODE%TYPE INDEX BY BINARY_INTEGER;
177798 TYPE t_array_source_102 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.APHD_AMOUNT%TYPE INDEX BY BINARY_INTEGER;
177799 TYPE t_array_source_107 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.APHD_PAYMENT_HIST_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
177800 TYPE t_array_source_115 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.APHD_REV_PAY_HIST_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
177801 TYPE t_array_source_118 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.APHD_PAYMENT_BASE_AMT%TYPE INDEX BY BINARY_INTEGER;
177802 TYPE t_array_source_119 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.APHD_INVOICE_BASE_AMT%TYPE INDEX BY BINARY_INTEGER;
177803 TYPE t_array_source_146 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.INV_EXCHANGE_DATE%TYPE INDEX BY BINARY_INTEGER;
177804 TYPE t_array_source_147 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.INV_EXCHANGE_RATE%TYPE INDEX BY BINARY_INTEGER;
177805 TYPE t_array_source_148 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.INV_EXCHANGE_RATE_TYPE%TYPE INDEX BY BINARY_INTEGER;
177806 TYPE t_array_source_156 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.INV_PMT_BASE_AMT_DIFF%TYPE INDEX BY BINARY_INTEGER;
177807 TYPE t_array_source_161 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.INV_PMT_GAIN_LOSS_INDICATOR%TYPE INDEX BY BINARY_INTEGER;
177808
177809 l_array_source_4 t_array_source_4;
177810 l_array_source_8 t_array_source_8;
177811 l_array_source_10 t_array_source_10;
177812 l_array_source_10_meaning t_array_lookup_meaning;
177813 l_array_source_12 t_array_source_12;
177814 l_array_source_13 t_array_source_13;
177815 l_array_source_14 t_array_source_14;
177816 l_array_source_14_meaning t_array_lookup_meaning;
177817 l_array_source_30 t_array_source_30;
177818 l_array_source_31 t_array_source_31;
177819 l_array_source_32 t_array_source_32;
177820 l_array_source_33 t_array_source_33;
177821 l_array_source_34 t_array_source_34;
177822 l_array_source_40 t_array_source_40;
177823 l_array_source_43 t_array_source_43;
177824 l_array_source_43_meaning t_array_lookup_meaning;
177825 l_array_source_45 t_array_source_45;
177826 l_array_source_57 t_array_source_57;
177827 l_array_source_88 t_array_source_88;
177828 l_array_source_113 t_array_source_113;
177829 l_array_source_114 t_array_source_114;
177830 l_array_source_116 t_array_source_116;
177831 l_array_source_116_meaning t_array_lookup_meaning;
177832 l_array_source_117 t_array_source_117;
177833 l_array_source_120 t_array_source_120;
177834 l_array_source_121 t_array_source_121;
177835 l_array_source_122 t_array_source_122;
177836 l_array_source_125 t_array_source_125;
177837 l_array_source_125_meaning t_array_lookup_meaning;
177838 l_array_source_175 t_array_source_175;
177839 l_array_source_176 t_array_source_176;
177840 l_array_source_177 t_array_source_177;
177841 l_array_source_177_meaning t_array_lookup_meaning;
177842
177843 l_array_source_25 t_array_source_25;
177844 l_array_source_28 t_array_source_28;
177845 l_array_source_28_meaning t_array_lookup_meaning;
177846 l_array_source_41 t_array_source_41;
177847 l_array_source_42 t_array_source_42;
177848 l_array_source_58 t_array_source_58;
177849 l_array_source_60 t_array_source_60;
177850 l_array_source_72 t_array_source_72;
177851 l_array_source_85 t_array_source_85;
177852 l_array_source_85_meaning t_array_lookup_meaning;
177853 l_array_source_91 t_array_source_91;
177854 l_array_source_92 t_array_source_92;
177855 l_array_source_93 t_array_source_93;
177856 l_array_source_96 t_array_source_96;
177857 l_array_source_97 t_array_source_97;
177858 l_array_source_98 t_array_source_98;
177859 l_array_source_99 t_array_source_99;
177860 l_array_source_100 t_array_source_100;
177861 l_array_source_101 t_array_source_101;
177862 l_array_source_101_meaning t_array_lookup_meaning;
177863 l_array_source_102 t_array_source_102;
177864 l_array_source_107 t_array_source_107;
177865 l_array_source_115 t_array_source_115;
177866 l_array_source_118 t_array_source_118;
177867 l_array_source_119 t_array_source_119;
177868 l_array_source_146 t_array_source_146;
177869 l_array_source_147 t_array_source_147;
177870 l_array_source_148 t_array_source_148;
177871 l_array_source_156 t_array_source_156;
177872 l_array_source_161 t_array_source_161;
177873
177874 --
177875 CURSOR header_cur
177876 IS
177877 SELECT /*+ leading(xet) cardinality(xet,1) */
177878 -- Event Class Code: REFUNDS
177879 xet.entity_id
177880 ,xet.legal_entity_id
177881 ,xet.entity_code
177882 ,xet.transaction_number
177883 ,xet.event_id
177884 ,xet.event_class_code
177885 ,xet.event_type_code
177886 ,xet.event_number
177887 ,xet.event_date
177888 ,xet.transaction_date
177889 ,xet.reference_num_1
177890 ,xet.reference_num_2
177891 ,xet.reference_num_3
177892 ,xet.reference_num_4
177893 ,xet.reference_char_1
177894 ,xet.reference_char_2
177895 ,xet.reference_char_3
177896 ,xet.reference_char_4
177897 ,xet.reference_date_1
177898 ,xet.reference_date_2
177899 ,xet.reference_date_3
177900 ,xet.reference_date_4
177901 ,xet.event_created_by
177905 , h3.ASP_AUTOMATIC_OFFSETS_VALUE source_10
177902 ,xet.budgetary_control_flag
177903 , h2.AC_DOC_SEQUENCE_VALUE source_4
177904 , h2.AC_CURRENCY_CODE source_8
177906 , fvl10.meaning source_10_meaning
177907 , h2.CGAC_AP_ASSET_CCID source_12
177908 , h3.FSP_DISC_TAKEN_CCID source_13
177909 , h3.ASP_DISCOUNT_DIST_METHOD source_14
177910 , fvl14.meaning source_14_meaning
177911 , h2.CGAC_CASH_CLEARING_CCID source_30
177912 , h2.CGAC_GAIN_CCID source_31
177913 , h3.ASP_GAIN_CCID source_32
177914 , h2.CGAC_LOSS_CCID source_33
177915 , h3.ASP_LOSS_CCID source_34
177916 , h3.ASP_DISC_TAKEN_CCID source_40
177917 , h3.ASP_AUTO_OFFSET_FLAG source_43
177918 , fvl43.meaning source_43_meaning
177919 , h3.ASP_ROUNDING_ERROR_CCID source_45
177920 , h3.ASP_WHEN_TO_ACCOUNT_PMT source_57
177921 , h2.THIRD_PARTY_TYPE source_88
177922 , h2.AC_VENDOR_ID source_113
177923 , h2.AC_VENDOR_SITE_ID source_114
177924 , h2.CBA_POOLED_BANK_ACOUNT_FLAG source_116
177925 , fvl116.meaning source_116_meaning
177926 , h2.AC_FUTURE_PAY_DUE_DATE source_117
177927 , h2.AC_EXCHANGE_DATE source_120
177928 , h2.AC_EXCHANGE_RATE source_121
177929 , h2.AC_EXCHANGE_RATE_TYPE source_122
177930 , h2.PAYMENT_TYPE source_125
177931 , fvl125.meaning source_125_meaning
177932 , h2.AC_DOC_CATEGORY_CODE source_175
177933 , h2.PAYMENT_DOCUMENT_SEQUENCE_ID source_176
177934 , h2.TRANSAC_REVERSAL_FLAG source_177
177935 , fvl177.meaning source_177_meaning
177936 FROM xla_events_gt xet
177937 , AP_PAYMENT_EXTRACT_HEADER_V h2
177938 , AP_SYSTEM_PARAMETERS_EXTRACT_V h3
177939 , fnd_lookup_values fvl10
177940 , fnd_lookup_values fvl14
177941 , fnd_lookup_values fvl43
177942 , fnd_lookup_values fvl116
177943 , fnd_lookup_values fvl125
177944 , fnd_lookup_values fvl177
177945 WHERE xet.event_date between p_pad_start_date and p_pad_end_date
177946 and xet.event_class_code = C_EVENT_CLASS_CODE
177947 and xet.event_status_code <> 'N' AND h2.event_id = xet.event_id
177948 AND h3.asp_org_id = h2.ac_org_id AND fvl10.lookup_type(+) = 'LIABILITY FLEXBUILD METHOD'
177949 AND fvl10.lookup_code(+) = h3.ASP_AUTOMATIC_OFFSETS_VALUE
177950 AND fvl10.view_application_id(+) = 200
177951 AND fvl10.language(+) = USERENV('LANG')
177952 AND fvl14.lookup_type(+) = 'DISCOUNT_DIST_OPTIONS'
177953 AND fvl14.lookup_code(+) = h3.ASP_DISCOUNT_DIST_METHOD
177954 AND fvl14.view_application_id(+) = 200
177955 AND fvl14.language(+) = USERENV('LANG')
177956 AND fvl43.lookup_type(+) = 'YES_NO'
177957 AND fvl43.lookup_code(+) = h3.ASP_AUTO_OFFSET_FLAG
177958 AND fvl43.view_application_id(+) = 0
177959 AND fvl43.language(+) = USERENV('LANG')
177960 AND fvl116.lookup_type(+) = 'YES_NO'
177961 AND fvl116.lookup_code(+) = h2.CBA_POOLED_BANK_ACOUNT_FLAG
177962 AND fvl116.view_application_id(+) = 0
177963 AND fvl116.language(+) = USERENV('LANG')
177964 AND fvl125.lookup_type(+) = 'PAYMENT TYPE'
177965 AND fvl125.lookup_code(+) = h2.PAYMENT_TYPE
177966 AND fvl125.view_application_id(+) = 200
177967 AND fvl125.language(+) = USERENV('LANG')
177968 AND fvl177.lookup_type(+) = 'YES_NO'
177969 AND fvl177.lookup_code(+) = h2.TRANSAC_REVERSAL_FLAG
177970 AND fvl177.view_application_id(+) = 0
177971 AND fvl177.language(+) = USERENV('LANG')
177972
177973 ORDER BY event_id
177974 ;
177975
177976
177977 --
177978 CURSOR line_cur (x_first_event_id in number, x_last_event_id in number)
177979 IS
177980 SELECT /*+ leading(xet) cardinality(xet,1) */
177981 -- Event Class Code: REFUNDS
177982 xet.entity_id
177983 ,xet.legal_entity_id
177984 ,xet.entity_code
177985 ,xet.transaction_number
177986 ,xet.event_id
177987 ,xet.event_class_code
177988 ,xet.event_type_code
177989 ,xet.event_number
177990 ,xet.event_date
177991 ,xet.transaction_date
177992 ,xet.reference_num_1
177993 ,xet.reference_num_2
177994 ,xet.reference_num_3
177995 ,xet.reference_num_4
177996 ,xet.reference_char_1
177997 ,xet.reference_char_2
177998 ,xet.reference_char_3
177999 ,xet.reference_char_4
178000 ,xet.reference_date_1
178001 ,xet.reference_date_2
178002 ,xet.reference_date_3
178003 ,xet.reference_date_4
178004 ,xet.event_created_by
178005 ,xet.budgetary_control_flag
178006 , l1.LINE_NUMBER
178007 , l1.AID_DIST_CCID source_25
178008 , l1.AID_LINE_TYPE_LOOKUP_CODE source_28
178009 , fvl28.meaning source_28_meaning
178010 , l1.POD_CCID source_41
178011 , l1.PO_VARIANCE_ACCOUNT source_42
178012 , l1.DIST_ACCOUNT_REVERSAL_OPTION source_58
178013 , l1.DISTRIBUTION_LINK_TYPE source_60
178014 , l1.AI_INVOICE_CURRENCY_CODE source_72
178015 , l1.OVERRIDE_ACCTD_AMT_FLAG source_85
178016 , fvl85.meaning source_85_meaning
178017 , l4.TAX_LINE_ID source_91
178018 , l5.REC_NREC_TAX_DIST_ID source_92
178019 , l4.SUMMARY_TAX_LINE_ID source_93
178020 , l1.BUS_FLOW_AP_APP_ID source_96
178021 , l1.BUS_FLOW_INV_DIST_TYPE source_97
178022 , l1.BUS_FLOW_INV_ENTITY_CODE source_98
178023 , l1.BUS_FLOW_INV_DIST_ID source_99
178024 , l1.BUS_FLOW_INV_ID source_100
178025 , l1.APHD_PAY_DIST_LOOKUP_CODE source_101
178026 , fvl101.meaning source_101_meaning
178027 , l1.APHD_AMOUNT source_102
178028 , l1.APHD_PAYMENT_HIST_DIST_ID source_107
178029 , l1.APHD_REV_PAY_HIST_DIST_ID source_115
178030 , l1.APHD_PAYMENT_BASE_AMT source_118
178031 , l1.APHD_INVOICE_BASE_AMT source_119
178032 , l1.INV_EXCHANGE_DATE source_146
178033 , l1.INV_EXCHANGE_RATE source_147
178034 , l1.INV_EXCHANGE_RATE_TYPE source_148
178035 , l1.INV_PMT_BASE_AMT_DIFF source_156
178039 , ZX_AP_DEF_TAX_EXTRACT_V l4
178036 , l1.INV_PMT_GAIN_LOSS_INDICATOR source_161
178037 FROM xla_events_gt xet
178038 , AP_PAYMENT_EXTRACT_DETAILS_V l1
178040 , ZX_AP_TAX_JRNL_LINE_DESC_V l5
178041 , fnd_lookup_values fvl28
178042 , fnd_lookup_values fvl85
178043 , fnd_lookup_values fvl101
178044 WHERE xet.event_id between x_first_event_id and x_last_event_id
178045 and xet.event_date between p_pad_start_date and p_pad_end_date
178046 and xet.event_class_code = C_EVENT_CLASS_CODE
178047 and xet.event_status_code <> 'N' AND l1.event_id = xet.event_id
178048 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 fvl28.lookup_type(+) = 'INVOICE DISTRIBUTION TYPE'
178049 AND fvl28.lookup_code(+) = l1.AID_LINE_TYPE_LOOKUP_CODE
178050 AND fvl28.view_application_id(+) = 200
178051 AND fvl28.language(+) = USERENV('LANG')
178052 AND fvl85.lookup_type(+) = 'YES_NO'
178053 AND fvl85.lookup_code(+) = l1.OVERRIDE_ACCTD_AMT_FLAG
178054 AND fvl85.view_application_id(+) = 0
178055 AND fvl85.language(+) = USERENV('LANG')
178056 AND fvl101.lookup_type(+) = 'PAY_DIST_TYPES'
178057 AND fvl101.lookup_code(+) = l1.APHD_PAY_DIST_LOOKUP_CODE
178058 AND fvl101.view_application_id(+) = 200
178059 AND fvl101.language(+) = USERENV('LANG')
178060 ;
178061
178062 --
178063 BEGIN
178064 IF g_log_enabled THEN
178065 l_log_module := C_DEFAULT_MODULE||'.EventClass_256';
178066 END IF;
178067 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
178068 trace
178069 (p_msg => 'BEGIN of EventClass_256'
178070 ,p_level => C_LEVEL_PROCEDURE
178071 ,p_module => l_log_module);
178072 END IF;
178073
178074 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
178075 trace
178076 (p_msg => 'p_application_id = '||p_application_id||
178077 ' - p_base_ledger_id = '||p_base_ledger_id||
178078 ' - p_target_ledger_id = '||p_target_ledger_id||
178079 ' - p_language = '||p_language||
178080 ' - p_currency_code = '||p_currency_code||
178081 ' - p_sla_ledger_id = '||p_sla_ledger_id
178082 ,p_level => C_LEVEL_STATEMENT
178083 ,p_module => l_log_module);
178084 END IF;
178085 --
178086 -- initialze arrays
178087 --
178088 g_array_event.DELETE;
178089 l_rec_array_event := l_null_rec_array_event;
178090 --
178091 --------------------------------------
178092 -- 4262811 Initialze MPA Line Number
178093 --------------------------------------
178094 XLA_AE_HEADER_PKG.g_mpa_line_num := 0;
178095
178096 --
178097
178098 --
178099 OPEN header_cur;
178100 --
178101 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
178102 trace
178103 (p_msg => 'SQL - FETCH header_cur'
178104 ,p_level => C_LEVEL_STATEMENT
178105 ,p_module => l_log_module);
178106 END IF;
178107 --
178108 LOOP
178109 FETCH header_cur BULK COLLECT INTO
178110 l_array_entity_id
178111 , l_array_legal_entity_id
178112 , l_array_entity_code
178113 , l_array_transaction_num
178114 , l_array_event_id
178115 , l_array_class_code
178116 , l_array_event_type
178117 , l_array_event_number
178118 , l_array_event_date
178119 , l_array_transaction_date
178120 , l_array_reference_num_1
178121 , l_array_reference_num_2
178122 , l_array_reference_num_3
178123 , l_array_reference_num_4
178124 , l_array_reference_char_1
178125 , l_array_reference_char_2
178126 , l_array_reference_char_3
178127 , l_array_reference_char_4
178128 , l_array_reference_date_1
178129 , l_array_reference_date_2
178130 , l_array_reference_date_3
178131 , l_array_reference_date_4
178132 , l_array_event_created_by
178133 , l_array_budgetary_control_flag
178134 , l_array_source_4
178135 , l_array_source_8
178136 , l_array_source_10
178137 , l_array_source_10_meaning
178138 , l_array_source_12
178139 , l_array_source_13
178140 , l_array_source_14
178141 , l_array_source_14_meaning
178142 , l_array_source_30
178143 , l_array_source_31
178144 , l_array_source_32
178145 , l_array_source_33
178146 , l_array_source_34
178147 , l_array_source_40
178148 , l_array_source_43
178149 , l_array_source_43_meaning
178150 , l_array_source_45
178151 , l_array_source_57
178152 , l_array_source_88
178153 , l_array_source_113
178154 , l_array_source_114
178155 , l_array_source_116
178156 , l_array_source_116_meaning
178157 , l_array_source_117
178158 , l_array_source_120
178159 , l_array_source_121
178160 , l_array_source_122
178161 , l_array_source_125
178162 , l_array_source_125_meaning
178163 , l_array_source_175
178164 , l_array_source_176
178165 , l_array_source_177
178166 , l_array_source_177_meaning
178167 LIMIT l_rows;
178168 --
178169 IF (C_LEVEL_EVENT >= g_log_level) THEN
178170 trace
178171 (p_msg => '# rows extracted from header extract objects = '||TO_CHAR(header_cur%ROWCOUNT)
178172 ,p_level => C_LEVEL_EVENT
178173 ,p_module => l_log_module);
178174 END IF;
178175 --
178176 EXIT WHEN l_array_entity_id.COUNT = 0;
178177
178178 -- initialize arrays
178179 XLA_AE_HEADER_PKG.g_rec_header_new := NULL;
178180 XLA_AE_LINES_PKG.g_rec_lines := NULL;
178181
178182 --
178183 -- Bug 4458708
178184 --
178185 XLA_AE_LINES_PKG.g_LineNumber := 0;
178186
178187
178188 -- 4262811 - when creating Accrual Reversal or MPA, use g_last_hdr_idx to increment for next header id
178192 -- fetched in header cursor
178189 g_last_hdr_idx := l_array_event_id.LAST;
178190 --
178191 -- loop for the headers. Each iteration is for each header extract row
178193 --
178194 FOR hdr_idx IN l_array_event_id.FIRST .. l_array_event_id.LAST LOOP
178195
178196 --
178197 -- set event info as cache for other routines to refer event attributes
178198 --
178199 XLA_AE_JOURNAL_ENTRY_PKG.set_event_info
178200 (p_application_id => p_application_id
178201 ,p_primary_ledger_id => p_primary_ledger_id
178202 ,p_base_ledger_id => p_base_ledger_id
178203 ,p_target_ledger_id => p_target_ledger_id
178204 ,p_entity_id => l_array_entity_id(hdr_idx)
178205 ,p_legal_entity_id => l_array_legal_entity_id(hdr_idx)
178206 ,p_entity_code => l_array_entity_code(hdr_idx)
178207 ,p_transaction_num => l_array_transaction_num(hdr_idx)
178208 ,p_event_id => l_array_event_id(hdr_idx)
178209 ,p_event_class_code => l_array_class_code(hdr_idx)
178210 ,p_event_type_code => l_array_event_type(hdr_idx)
178211 ,p_event_number => l_array_event_number(hdr_idx)
178212 ,p_event_date => l_array_event_date(hdr_idx)
178213 ,p_transaction_date => l_array_transaction_date(hdr_idx)
178214 ,p_reference_num_1 => l_array_reference_num_1(hdr_idx)
178215 ,p_reference_num_2 => l_array_reference_num_2(hdr_idx)
178216 ,p_reference_num_3 => l_array_reference_num_3(hdr_idx)
178217 ,p_reference_num_4 => l_array_reference_num_4(hdr_idx)
178218 ,p_reference_char_1 => l_array_reference_char_1(hdr_idx)
178219 ,p_reference_char_2 => l_array_reference_char_2(hdr_idx)
178220 ,p_reference_char_3 => l_array_reference_char_3(hdr_idx)
178221 ,p_reference_char_4 => l_array_reference_char_4(hdr_idx)
178222 ,p_reference_date_1 => l_array_reference_date_1(hdr_idx)
178223 ,p_reference_date_2 => l_array_reference_date_2(hdr_idx)
178224 ,p_reference_date_3 => l_array_reference_date_3(hdr_idx)
178225 ,p_reference_date_4 => l_array_reference_date_4(hdr_idx)
178226 ,p_event_created_by => l_array_event_created_by(hdr_idx)
178227 ,p_budgetary_control_flag => l_array_budgetary_control_flag(hdr_idx));
178228
178229 --
178230 -- set the status of entry to C_VALID (0)
178231 --
178232 XLA_AE_JOURNAL_ENTRY_PKG.g_global_status := XLA_AE_JOURNAL_ENTRY_PKG.C_VALID;
178233
178234 --
178235 -- initialize a row for ae header
178236 --
178237 XLA_AE_HEADER_PKG.InitHeader(hdr_idx);
178238
178239 l_event_id := l_array_event_id(hdr_idx);
178240
178241 --
178242 -- storing the hdr_idx for event. May be used by line cursor.
178243 --
178244 g_array_event(l_event_id).array_value_num('header_index') := hdr_idx;
178245
178246 --
178247 -- store sources from header extract. This can be improved to
178248 -- store only those sources from header extract that may be used in lines
178249 --
178250
178251 g_array_event(l_event_id).array_value_num('source_4') := l_array_source_4(hdr_idx);
178252 g_array_event(l_event_id).array_value_char('source_8') := l_array_source_8(hdr_idx);
178253 g_array_event(l_event_id).array_value_char('source_10') := l_array_source_10(hdr_idx);
178254 g_array_event(l_event_id).array_value_char('source_10_meaning') := l_array_source_10_meaning(hdr_idx);
178255 g_array_event(l_event_id).array_value_num('source_12') := l_array_source_12(hdr_idx);
178256 g_array_event(l_event_id).array_value_num('source_13') := l_array_source_13(hdr_idx);
178257 g_array_event(l_event_id).array_value_char('source_14') := l_array_source_14(hdr_idx);
178258 g_array_event(l_event_id).array_value_char('source_14_meaning') := l_array_source_14_meaning(hdr_idx);
178259 g_array_event(l_event_id).array_value_num('source_30') := l_array_source_30(hdr_idx);
178260 g_array_event(l_event_id).array_value_num('source_31') := l_array_source_31(hdr_idx);
178261 g_array_event(l_event_id).array_value_num('source_32') := l_array_source_32(hdr_idx);
178262 g_array_event(l_event_id).array_value_num('source_33') := l_array_source_33(hdr_idx);
178263 g_array_event(l_event_id).array_value_num('source_34') := l_array_source_34(hdr_idx);
178264 g_array_event(l_event_id).array_value_num('source_40') := l_array_source_40(hdr_idx);
178265 g_array_event(l_event_id).array_value_char('source_43') := l_array_source_43(hdr_idx);
178266 g_array_event(l_event_id).array_value_char('source_43_meaning') := l_array_source_43_meaning(hdr_idx);
178267 g_array_event(l_event_id).array_value_num('source_45') := l_array_source_45(hdr_idx);
178268 g_array_event(l_event_id).array_value_char('source_57') := l_array_source_57(hdr_idx);
178269 g_array_event(l_event_id).array_value_char('source_88') := l_array_source_88(hdr_idx);
178270 g_array_event(l_event_id).array_value_num('source_113') := l_array_source_113(hdr_idx);
178271 g_array_event(l_event_id).array_value_num('source_114') := l_array_source_114(hdr_idx);
178272 g_array_event(l_event_id).array_value_char('source_116') := l_array_source_116(hdr_idx);
178273 g_array_event(l_event_id).array_value_char('source_116_meaning') := l_array_source_116_meaning(hdr_idx);
178274 g_array_event(l_event_id).array_value_date('source_117') := l_array_source_117(hdr_idx);
178275 g_array_event(l_event_id).array_value_date('source_120') := l_array_source_120(hdr_idx);
178276 g_array_event(l_event_id).array_value_num('source_121') := l_array_source_121(hdr_idx);
178277 g_array_event(l_event_id).array_value_char('source_122') := l_array_source_122(hdr_idx);
178278 g_array_event(l_event_id).array_value_char('source_125') := l_array_source_125(hdr_idx);
178279 g_array_event(l_event_id).array_value_char('source_125_meaning') := l_array_source_125_meaning(hdr_idx);
178280 g_array_event(l_event_id).array_value_char('source_175') := l_array_source_175(hdr_idx);
178281 g_array_event(l_event_id).array_value_num('source_176') := l_array_source_176(hdr_idx);
178282 g_array_event(l_event_id).array_value_char('source_177') := l_array_source_177(hdr_idx);
178283 g_array_event(l_event_id).array_value_char('source_177_meaning') := l_array_source_177_meaning(hdr_idx);
178284
178285 --
178286 -- initilaize the status of ae headers for diffrent balance types
178290 --g_array_event(l_event_id).array_value_num('budget_je_status') := XLA_AE_JOURNAL_ENTRY_PKG.C_NOT_CREATED;
178287 -- the status is initialised to C_NOT_CREATED (2)
178288 --
178289 --g_array_event(l_event_id).array_value_num('actual_je_status') := XLA_AE_JOURNAL_ENTRY_PKG.C_NOT_CREATED;
178291 --g_array_event(l_event_id).array_value_num('encumbrance_je_status') := XLA_AE_JOURNAL_ENTRY_PKG.C_NOT_CREATED;
178292
178293 --
178294 -- call api to validate and store accounting attributes for header
178295 --
178296
178297 ------------------------------------------------------------
178298 -- Accrual Reversal : to get date for Standard Source (NONE)
178299 ------------------------------------------------------------
178300 l_acc_rev_gl_date_source := NULL;
178301
178302 l_rec_acct_attrs.array_acct_attr_code(1) := 'DOC_CATEGORY_CODE';
178303 l_rec_acct_attrs.array_char_value(1) := g_array_event(l_event_id).array_value_char('source_175');
178304 l_rec_acct_attrs.array_acct_attr_code(2) := 'DOC_SEQUENCE_ID';
178305 l_rec_acct_attrs.array_num_value(2) := g_array_event(l_event_id).array_value_num('source_176');
178306 l_rec_acct_attrs.array_acct_attr_code(3) := 'DOC_SEQUENCE_VALUE';
178307 l_rec_acct_attrs.array_num_value(3) := g_array_event(l_event_id).array_value_num('source_4');
178308 l_rec_acct_attrs.array_acct_attr_code(4) := 'GL_DATE';
178309 l_rec_acct_attrs.array_date_value(4) :=
178310 xla_ae_sources_pkg.GetSystemSourceDate(
178311 p_source_code => 'XLA_EVENT_DATE'
178312 , p_source_type_code => 'Y'
178313 , p_source_application_id => 602
178314 );
178315 l_rec_acct_attrs.array_acct_attr_code(5) := 'TRX_ACCT_REVERSAL_OPTION';
178316 l_rec_acct_attrs.array_char_value(5) := g_array_event(l_event_id).array_value_char('source_177');
178317
178318
178319 XLA_AE_HEADER_PKG.SetHdrAcctAttrs(l_rec_acct_attrs);
178320
178321 XLA_AE_HEADER_PKG.SetJeCategoryName;
178322
178323 XLA_AE_HEADER_PKG.g_rec_header_new.array_event_type_code(hdr_idx) := l_array_event_type(hdr_idx);
178324 XLA_AE_HEADER_PKG.g_rec_header_new.array_event_id(hdr_idx) := l_array_event_id(hdr_idx);
178325 XLA_AE_HEADER_PKG.g_rec_header_new.array_entity_id(hdr_idx) := l_array_entity_id(hdr_idx);
178326 XLA_AE_HEADER_PKG.g_rec_header_new.array_event_number(hdr_idx) := l_array_event_number(hdr_idx);
178327 XLA_AE_HEADER_PKG.g_rec_header_new.array_target_ledger_id(hdr_idx) := p_target_ledger_id;
178328
178329
178330 -- No header level analytical criteria
178331
178332 --
178333 --accounting attribute enhancement, bug 3612931
178334 --
178335 l_trx_reversal_source := SUBSTR(g_array_event(l_event_id).array_value_char('source_177'), 1,30);
178336
178337 IF NVL(l_trx_reversal_source, 'N') NOT IN ('N','Y') THEN
178338 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
178339
178340 xla_accounting_err_pkg.build_message
178341 (p_appli_s_name => 'XLA'
178342 ,p_msg_name => 'XLA_AP_INVALID_HDR_ATTR'
178343 ,p_token_1 => 'ACCT_ATTR_NAME'
178344 ,p_value_1 => xla_ae_sources_pkg.GetAccountingSourceName('TRX_ACCT_REVERSAL_OPTION')
178345 ,p_token_2 => 'PRODUCT_NAME'
178346 ,p_value_2 => xla_ae_journal_entry_pkg.g_cache_event.application_name
178347 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
178348 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
178349 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id);
178350
178351 ELSIF NVL(l_trx_reversal_source, 'N') = 'Y' THEN
178352 --
178353 -- following sets the accounting attributes needed to reverse
178354 -- accounting for a distributeion
178355 --
178356 xla_ae_lines_pkg.SetTrxReversalAttrs
178357 (p_event_id => l_event_id
178358 ,p_gl_date => XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(hdr_idx)
178359 ,p_trx_reversal_source => l_trx_reversal_source);
178360
178361 END IF;
178362
178363
178364 ----------------------------------------------------------------
178365 -- 4262811 - update the header statuses to invalid in need be
178366 ----------------------------------------------------------------
178367 --
178368 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus (p_hdr_idx => hdr_idx);
178369
178370
178371 -----------------------------------------------
178372 -- No accrual reversal for the event class/type
178373 -----------------------------------------------
178374 ----------------------------------------------------------------
178375
178376 --
178377 -- this ends the header loop iteration for one bulk fetch
178378 --
178379 END LOOP;
178380
178381 l_first_event_id := l_array_event_id(l_array_event_id.FIRST);
178382 l_last_event_id := l_array_event_id(l_array_event_id.LAST);
178383
178384 --
178385 -- insert dummy rows into lines gt table that were created due to
178386 -- transaction reversals
178387 --
178388 IF XLA_AE_LINES_PKG.g_rec_lines.array_ae_header_id.COUNT > 0 THEN
178389 l_result := XLA_AE_LINES_PKG.InsertLines;
178390 END IF;
178391
178392 --
178393 -- reset the temp_line_num for each set of events fetched from header
178394 -- cursor rather than doing it for each new event in line cursor
178395 -- Bug 3939231
178396 --
178397 xla_ae_lines_pkg.g_temp_line_num := 0;
178398
178399
178400
178401 --
178402 OPEN line_cur(x_first_event_id => l_first_event_id, x_last_event_id => l_last_event_id);
178403 --
178404 --
178405 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
178406
178407 trace
178408 (p_msg => 'SQL - FETCH line_cur'
178409 ,p_level => C_LEVEL_STATEMENT
178410 ,p_module => l_log_module);
178411
178412 END IF;
178413 --
178414 --
178415 LOOP
178416 --
178417 FETCH line_cur BULK COLLECT INTO
178418 l_array_entity_id
178422 , l_array_event_id
178419 , l_array_legal_entity_id
178420 , l_array_entity_code
178421 , l_array_transaction_num
178423 , l_array_class_code
178424 , l_array_event_type
178425 , l_array_event_number
178426 , l_array_event_date
178427 , l_array_transaction_date
178428 , l_array_reference_num_1
178429 , l_array_reference_num_2
178430 , l_array_reference_num_3
178431 , l_array_reference_num_4
178432 , l_array_reference_char_1
178433 , l_array_reference_char_2
178434 , l_array_reference_char_3
178435 , l_array_reference_char_4
178436 , l_array_reference_date_1
178437 , l_array_reference_date_2
178438 , l_array_reference_date_3
178439 , l_array_reference_date_4
178440 , l_array_event_created_by
178441 , l_array_budgetary_control_flag
178442 , l_array_extract_line_num
178443 , l_array_source_25
178444 , l_array_source_28
178445 , l_array_source_28_meaning
178446 , l_array_source_41
178447 , l_array_source_42
178448 , l_array_source_58
178449 , l_array_source_60
178450 , l_array_source_72
178451 , l_array_source_85
178452 , l_array_source_85_meaning
178453 , l_array_source_91
178454 , l_array_source_92
178455 , l_array_source_93
178456 , l_array_source_96
178457 , l_array_source_97
178458 , l_array_source_98
178459 , l_array_source_99
178460 , l_array_source_100
178461 , l_array_source_101
178462 , l_array_source_101_meaning
178463 , l_array_source_102
178464 , l_array_source_107
178465 , l_array_source_115
178466 , l_array_source_118
178467 , l_array_source_119
178468 , l_array_source_146
178469 , l_array_source_147
178470 , l_array_source_148
178471 , l_array_source_156
178472 , l_array_source_161
178473 LIMIT l_rows;
178474
178475 --
178476 IF (C_LEVEL_EVENT >= g_log_level) THEN
178477 trace
178478 (p_msg => '# rows extracted from line extract objects = '||TO_CHAR(line_cur%ROWCOUNT)
178479 ,p_level => C_LEVEL_EVENT
178480 ,p_module => l_log_module);
178481 END IF;
178482 --
178483 EXIT WHEN l_array_entity_id.count = 0;
178484
178485 XLA_AE_LINES_PKG.g_rec_lines := null;
178486
178487 --
178488 -- Bug 4458708
178489 --
178490 XLA_AE_LINES_PKG.g_LineNumber := 0;
178491 --
178492 --
178493
178494 FOR Idx IN 1..l_array_event_id.count LOOP
178495 --
178496 -- 5648433 (move l_event_id out of IF statement) set l_event_id to be used inside IF condition
178497 --
178498 l_event_id := l_array_event_id(idx); -- 5648433
178499
178500 --
178501 -- Bug 4872078 - Do nothing if the event is meant for transaction reversal
178502 --
178503
178504 IF NVL(xla_ae_header_pkg.g_rec_header_new.array_trx_acct_reversal_option
178505 (g_array_event(l_event_id).array_value_num('header_index'))
178506 ,'N'
178507 ) <> 'Y'
178508 THEN
178509 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
178510 trace
178511 (p_msg => 'Trancaction revesal option is not Y '
178512 ,p_level => C_LEVEL_STATEMENT
178513 ,p_module => l_log_module);
178514 END IF;
178515
178516 --
178517 -- set the XLA_AE_JOURNAL_ENTRY_PKG.g_global_status to C_VALID (0)
178518 --
178519 XLA_AE_JOURNAL_ENTRY_PKG.g_global_status := XLA_AE_JOURNAL_ENTRY_PKG.C_VALID;
178520 --
178521 -- set event info as cache for other routines to refer event attributes
178522 --
178523
178524 IF l_event_id <> NVL(l_previous_event_id, -1) THEN
178525 l_previous_event_id := l_event_id;
178526
178527 XLA_AE_JOURNAL_ENTRY_PKG.set_event_info
178528 (p_application_id => p_application_id
178529 ,p_primary_ledger_id => p_primary_ledger_id
178530 ,p_base_ledger_id => p_base_ledger_id
178531 ,p_target_ledger_id => p_target_ledger_id
178532 ,p_entity_id => l_array_entity_id(Idx)
178533 ,p_legal_entity_id => l_array_legal_entity_id(Idx)
178534 ,p_entity_code => l_array_entity_code(Idx)
178535 ,p_transaction_num => l_array_transaction_num(Idx)
178536 ,p_event_id => l_array_event_id(Idx)
178537 ,p_event_class_code => l_array_class_code(Idx)
178538 ,p_event_type_code => l_array_event_type(Idx)
178539 ,p_event_number => l_array_event_number(Idx)
178540 ,p_event_date => l_array_event_date(Idx)
178541 ,p_transaction_date => l_array_transaction_date(Idx)
178542 ,p_reference_num_1 => l_array_reference_num_1(Idx)
178543 ,p_reference_num_2 => l_array_reference_num_2(Idx)
178544 ,p_reference_num_3 => l_array_reference_num_3(Idx)
178545 ,p_reference_num_4 => l_array_reference_num_4(Idx)
178546 ,p_reference_char_1 => l_array_reference_char_1(Idx)
178547 ,p_reference_char_2 => l_array_reference_char_2(Idx)
178548 ,p_reference_char_3 => l_array_reference_char_3(Idx)
178549 ,p_reference_char_4 => l_array_reference_char_4(Idx)
178550 ,p_reference_date_1 => l_array_reference_date_1(Idx)
178551 ,p_reference_date_2 => l_array_reference_date_2(Idx)
178552 ,p_reference_date_3 => l_array_reference_date_3(Idx)
178553 ,p_reference_date_4 => l_array_reference_date_4(Idx)
178554 ,p_event_created_by => l_array_event_created_by(Idx)
178555 ,p_budgetary_control_flag => l_array_budgetary_control_flag(Idx));
178556 --
178557 END IF;
178558
178559
178560
178561 --
178565
178562 xla_ae_lines_pkg.SetExtractLine(p_extract_line => l_array_extract_line_num(Idx));
178563
178564 l_acct_reversal_source := SUBSTR(l_array_source_58(Idx), 1,30);
178566 IF l_continue_with_lines THEN
178567 IF NVL(l_acct_reversal_source, 'N') NOT IN ('N','Y','B') THEN
178568 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
178569
178570 xla_accounting_err_pkg.build_message
178571 (p_appli_s_name => 'XLA'
178572 ,p_msg_name => 'XLA_AP_INVALID_REVERSAL_OPTION'
178573 ,p_token_1 => 'LINE_NUMBER'
178574 ,p_value_1 => l_array_extract_line_num(Idx)
178575 ,p_token_2 => 'PRODUCT_NAME'
178576 ,p_value_2 => xla_ae_journal_entry_pkg.g_cache_event.application_name
178577 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
178578 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
178579 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id);
178580
178581 ELSIF NVL(l_acct_reversal_source, 'N') IN ('Y','B') THEN
178582 --
178583 -- following sets the accounting attributes needed to reverse
178584 -- accounting for a distributeion
178585 --
178586
178587 --
178588 -- 5217187
178589 --
178590 l_rec_rev_acct_attrs.array_acct_attr_code(1):= 'GL_DATE';
178591 l_rec_rev_acct_attrs.array_date_value(1) := XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(
178592 g_array_event(l_event_id).array_value_num('header_index'));
178593 --
178594 --
178595
178596 l_rec_rev_acct_attrs.array_acct_attr_code(2) := 'ACCOUNTING_REVERSAL_OPTION';
178597 l_rec_rev_acct_attrs.array_char_value(2) := l_array_source_58(Idx);
178598 l_rec_rev_acct_attrs.array_acct_attr_code(3) := 'DISTRIBUTION_IDENTIFIER_1';
178599 l_rec_rev_acct_attrs.array_num_value(3) := l_array_source_107(Idx);
178600 l_rec_rev_acct_attrs.array_acct_attr_code(4) := 'DISTRIBUTION_TYPE';
178601 l_rec_rev_acct_attrs.array_char_value(4) := l_array_source_60(Idx);
178602 l_rec_rev_acct_attrs.array_acct_attr_code(5) := 'PARTY_TYPE';
178603 l_rec_rev_acct_attrs.array_char_value(5) := g_array_event(l_event_id).array_value_char('source_88');
178604 l_rec_rev_acct_attrs.array_acct_attr_code(6) := 'REVERSED_DISTRIBUTION_ID1';
178605 l_rec_rev_acct_attrs.array_num_value(6) := l_array_source_115(Idx);
178606 l_rec_rev_acct_attrs.array_acct_attr_code(7) := 'REVERSED_DISTRIBUTION_TYPE';
178607 l_rec_rev_acct_attrs.array_char_value(7) := l_array_source_60(Idx);
178608 l_rec_rev_acct_attrs.array_acct_attr_code(8) := 'TAX_LINE_REF_ID';
178609 l_rec_rev_acct_attrs.array_num_value(8) := l_array_source_91(Idx);
178610 l_rec_rev_acct_attrs.array_acct_attr_code(9) := 'TAX_REC_NREC_DIST_REF_ID';
178611 l_rec_rev_acct_attrs.array_num_value(9) := l_array_source_92(Idx);
178612 l_rec_rev_acct_attrs.array_acct_attr_code(10) := 'TAX_SUMMARY_LINE_REF_ID';
178613 l_rec_rev_acct_attrs.array_num_value(10) := l_array_source_93(Idx);
178614
178615
178616 xla_ae_lines_pkg.SetAcctReversalAttrs
178617 (p_event_id => l_event_id
178618 ,p_rec_acct_attrs => l_rec_rev_acct_attrs
178619 ,p_calculate_acctd_flag => l_calculate_acctd_flag
178620 ,p_calculate_g_l_flag => l_calculate_g_l_flag);
178621 END IF;
178622
178623 IF NVL(l_acct_reversal_source, 'N') IN ('N','B') THEN
178624 l_actual_flag := NULL; l_actual_gain_loss_ref := '#####';
178625
178626 --
178627 AcctLineType_88 (
178628 p_application_id => p_application_id
178629 ,p_event_id => l_event_id
178630 ,p_calculate_acctd_flag => l_calculate_acctd_flag
178631 ,p_calculate_g_l_flag => l_calculate_g_l_flag
178632 ,p_actual_flag => l_actual_flag
178633 ,p_balance_type_code => l_balance_type_code
178634 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
178635
178636 , p_source_8 => g_array_event(l_event_id).array_value_char('source_8')
178637 , p_source_30 => g_array_event(l_event_id).array_value_num('source_30')
178638 , p_source_43 => g_array_event(l_event_id).array_value_char('source_43')
178639 , p_source_43_meaning => g_array_event(l_event_id).array_value_char('source_43_meaning')
178640 , p_source_57 => g_array_event(l_event_id).array_value_char('source_57')
178641 , p_source_58 => l_array_source_58(Idx)
178642 , p_source_60 => l_array_source_60(Idx)
178643 , p_source_85 => l_array_source_85(Idx)
178644 , p_source_85_meaning => l_array_source_85_meaning(Idx)
178645 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
178646 , p_source_91 => l_array_source_91(Idx)
178647 , p_source_92 => l_array_source_92(Idx)
178648 , p_source_93 => l_array_source_93(Idx)
178649 , p_source_96 => l_array_source_96(Idx)
178650 , p_source_97 => l_array_source_97(Idx)
178651 , p_source_98 => l_array_source_98(Idx)
178652 , p_source_99 => l_array_source_99(Idx)
178653 , p_source_100 => l_array_source_100(Idx)
178654 , p_source_101 => l_array_source_101(Idx)
178655 , p_source_101_meaning => l_array_source_101_meaning(Idx)
178656 , p_source_102 => l_array_source_102(Idx)
178657 , p_source_107 => l_array_source_107(Idx)
178658 , p_source_113 => g_array_event(l_event_id).array_value_num('source_113')
178659 , p_source_114 => g_array_event(l_event_id).array_value_num('source_114')
178660 , p_source_115 => l_array_source_115(Idx)
178661 , p_source_116 => g_array_event(l_event_id).array_value_char('source_116')
178662 , p_source_116_meaning => g_array_event(l_event_id).array_value_char('source_116_meaning')
178663 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
178664 , p_source_118 => l_array_source_118(Idx)
178665 , p_source_120 => g_array_event(l_event_id).array_value_date('source_120')
178666 , p_source_121 => g_array_event(l_event_id).array_value_num('source_121')
178667 , p_source_122 => g_array_event(l_event_id).array_value_char('source_122')
178671 If(l_balance_type_code = 'A') THEN
178668 , p_source_125 => g_array_event(l_event_id).array_value_char('source_125')
178669 , p_source_125_meaning => g_array_event(l_event_id).array_value_char('source_125_meaning')
178670 );
178672 l_actual_gain_loss_ref := l_gain_or_loss_ref;
178673 END IF;
178674
178675 --
178676
178677
178678 --
178679 AcctLineType_89 (
178680 p_application_id => p_application_id
178681 ,p_event_id => l_event_id
178682 ,p_calculate_acctd_flag => l_calculate_acctd_flag
178683 ,p_calculate_g_l_flag => l_calculate_g_l_flag
178684 ,p_actual_flag => l_actual_flag
178685 ,p_balance_type_code => l_balance_type_code
178686 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
178687
178688 , p_source_8 => g_array_event(l_event_id).array_value_char('source_8')
178689 , p_source_10 => g_array_event(l_event_id).array_value_char('source_10')
178690 , p_source_10_meaning => g_array_event(l_event_id).array_value_char('source_10_meaning')
178691 , p_source_30 => g_array_event(l_event_id).array_value_num('source_30')
178692 , p_source_57 => g_array_event(l_event_id).array_value_char('source_57')
178693 , p_source_58 => l_array_source_58(Idx)
178694 , p_source_60 => l_array_source_60(Idx)
178695 , p_source_85 => l_array_source_85(Idx)
178696 , p_source_85_meaning => l_array_source_85_meaning(Idx)
178697 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
178698 , p_source_91 => l_array_source_91(Idx)
178699 , p_source_92 => l_array_source_92(Idx)
178700 , p_source_93 => l_array_source_93(Idx)
178701 , p_source_96 => l_array_source_96(Idx)
178702 , p_source_97 => l_array_source_97(Idx)
178703 , p_source_98 => l_array_source_98(Idx)
178704 , p_source_99 => l_array_source_99(Idx)
178705 , p_source_100 => l_array_source_100(Idx)
178706 , p_source_101 => l_array_source_101(Idx)
178707 , p_source_101_meaning => l_array_source_101_meaning(Idx)
178708 , p_source_102 => l_array_source_102(Idx)
178709 , p_source_107 => l_array_source_107(Idx)
178710 , p_source_113 => g_array_event(l_event_id).array_value_num('source_113')
178711 , p_source_114 => g_array_event(l_event_id).array_value_num('source_114')
178712 , p_source_115 => l_array_source_115(Idx)
178713 , p_source_116 => g_array_event(l_event_id).array_value_char('source_116')
178714 , p_source_116_meaning => g_array_event(l_event_id).array_value_char('source_116_meaning')
178715 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
178716 , p_source_118 => l_array_source_118(Idx)
178717 , p_source_120 => g_array_event(l_event_id).array_value_date('source_120')
178718 , p_source_121 => g_array_event(l_event_id).array_value_num('source_121')
178719 , p_source_122 => g_array_event(l_event_id).array_value_char('source_122')
178720 , p_source_125 => g_array_event(l_event_id).array_value_char('source_125')
178721 , p_source_125_meaning => g_array_event(l_event_id).array_value_char('source_125_meaning')
178722 );
178723 If(l_balance_type_code = 'A') THEN
178724 l_actual_gain_loss_ref := l_gain_or_loss_ref;
178725 END IF;
178726
178727 --
178728
178729
178730 --
178731 AcctLineType_90 (
178732 p_application_id => p_application_id
178733 ,p_event_id => l_event_id
178734 ,p_calculate_acctd_flag => l_calculate_acctd_flag
178735 ,p_calculate_g_l_flag => l_calculate_g_l_flag
178736 ,p_actual_flag => l_actual_flag
178737 ,p_balance_type_code => l_balance_type_code
178738 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
178739
178740 , p_source_8 => g_array_event(l_event_id).array_value_char('source_8')
178741 , p_source_10 => g_array_event(l_event_id).array_value_char('source_10')
178742 , p_source_10_meaning => g_array_event(l_event_id).array_value_char('source_10_meaning')
178743 , p_source_30 => g_array_event(l_event_id).array_value_num('source_30')
178744 , p_source_57 => g_array_event(l_event_id).array_value_char('source_57')
178745 , p_source_58 => l_array_source_58(Idx)
178746 , p_source_60 => l_array_source_60(Idx)
178747 , p_source_85 => l_array_source_85(Idx)
178748 , p_source_85_meaning => l_array_source_85_meaning(Idx)
178749 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
178750 , p_source_91 => l_array_source_91(Idx)
178751 , p_source_92 => l_array_source_92(Idx)
178752 , p_source_93 => l_array_source_93(Idx)
178753 , p_source_96 => l_array_source_96(Idx)
178754 , p_source_97 => l_array_source_97(Idx)
178755 , p_source_98 => l_array_source_98(Idx)
178756 , p_source_99 => l_array_source_99(Idx)
178757 , p_source_100 => l_array_source_100(Idx)
178758 , p_source_101 => l_array_source_101(Idx)
178759 , p_source_101_meaning => l_array_source_101_meaning(Idx)
178760 , p_source_102 => l_array_source_102(Idx)
178761 , p_source_107 => l_array_source_107(Idx)
178762 , p_source_113 => g_array_event(l_event_id).array_value_num('source_113')
178763 , p_source_114 => g_array_event(l_event_id).array_value_num('source_114')
178764 , p_source_115 => l_array_source_115(Idx)
178765 , p_source_116 => g_array_event(l_event_id).array_value_char('source_116')
178766 , p_source_116_meaning => g_array_event(l_event_id).array_value_char('source_116_meaning')
178767 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
178768 , p_source_118 => l_array_source_118(Idx)
178769 , p_source_120 => g_array_event(l_event_id).array_value_date('source_120')
178770 , p_source_121 => g_array_event(l_event_id).array_value_num('source_121')
178771 , p_source_122 => g_array_event(l_event_id).array_value_char('source_122')
178772 , p_source_125 => g_array_event(l_event_id).array_value_char('source_125')
178773 , p_source_125_meaning => g_array_event(l_event_id).array_value_char('source_125_meaning')
178774 );
178775 If(l_balance_type_code = 'A') THEN
178776 l_actual_gain_loss_ref := l_gain_or_loss_ref;
178777 END IF;
178778
178779 --
178780
178781
178782 --
178783 AcctLineType_91 (
178784 p_application_id => p_application_id
178785 ,p_event_id => l_event_id
178786 ,p_calculate_acctd_flag => l_calculate_acctd_flag
178787 ,p_calculate_g_l_flag => l_calculate_g_l_flag
178791
178788 ,p_actual_flag => l_actual_flag
178789 ,p_balance_type_code => l_balance_type_code
178790 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
178792 , p_source_8 => g_array_event(l_event_id).array_value_char('source_8')
178793 , p_source_10 => g_array_event(l_event_id).array_value_char('source_10')
178794 , p_source_10_meaning => g_array_event(l_event_id).array_value_char('source_10_meaning')
178795 , p_source_30 => g_array_event(l_event_id).array_value_num('source_30')
178796 , p_source_57 => g_array_event(l_event_id).array_value_char('source_57')
178797 , p_source_58 => l_array_source_58(Idx)
178798 , p_source_60 => l_array_source_60(Idx)
178799 , p_source_85 => l_array_source_85(Idx)
178800 , p_source_85_meaning => l_array_source_85_meaning(Idx)
178801 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
178802 , p_source_91 => l_array_source_91(Idx)
178803 , p_source_92 => l_array_source_92(Idx)
178804 , p_source_93 => l_array_source_93(Idx)
178805 , p_source_96 => l_array_source_96(Idx)
178806 , p_source_97 => l_array_source_97(Idx)
178807 , p_source_98 => l_array_source_98(Idx)
178808 , p_source_99 => l_array_source_99(Idx)
178809 , p_source_100 => l_array_source_100(Idx)
178810 , p_source_101 => l_array_source_101(Idx)
178811 , p_source_101_meaning => l_array_source_101_meaning(Idx)
178812 , p_source_102 => l_array_source_102(Idx)
178813 , p_source_107 => l_array_source_107(Idx)
178814 , p_source_113 => g_array_event(l_event_id).array_value_num('source_113')
178815 , p_source_114 => g_array_event(l_event_id).array_value_num('source_114')
178816 , p_source_115 => l_array_source_115(Idx)
178817 , p_source_116 => g_array_event(l_event_id).array_value_char('source_116')
178818 , p_source_116_meaning => g_array_event(l_event_id).array_value_char('source_116_meaning')
178819 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
178820 , p_source_119 => l_array_source_119(Idx)
178821 , p_source_120 => g_array_event(l_event_id).array_value_date('source_120')
178822 , p_source_121 => g_array_event(l_event_id).array_value_num('source_121')
178823 , p_source_122 => g_array_event(l_event_id).array_value_char('source_122')
178824 , p_source_125 => g_array_event(l_event_id).array_value_char('source_125')
178825 , p_source_125_meaning => g_array_event(l_event_id).array_value_char('source_125_meaning')
178826 );
178827 If(l_balance_type_code = 'A') THEN
178828 l_actual_gain_loss_ref := l_gain_or_loss_ref;
178829 END IF;
178830
178831 --
178832
178833
178834 --
178835 AcctLineType_92 (
178836 p_application_id => p_application_id
178837 ,p_event_id => l_event_id
178838 ,p_calculate_acctd_flag => l_calculate_acctd_flag
178839 ,p_calculate_g_l_flag => l_calculate_g_l_flag
178840 ,p_actual_flag => l_actual_flag
178841 ,p_balance_type_code => l_balance_type_code
178842 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
178843
178844 , p_source_8 => g_array_event(l_event_id).array_value_char('source_8')
178845 , p_source_10 => g_array_event(l_event_id).array_value_char('source_10')
178846 , p_source_10_meaning => g_array_event(l_event_id).array_value_char('source_10_meaning')
178847 , p_source_30 => g_array_event(l_event_id).array_value_num('source_30')
178848 , p_source_57 => g_array_event(l_event_id).array_value_char('source_57')
178849 , p_source_58 => l_array_source_58(Idx)
178850 , p_source_60 => l_array_source_60(Idx)
178851 , p_source_85 => l_array_source_85(Idx)
178852 , p_source_85_meaning => l_array_source_85_meaning(Idx)
178853 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
178854 , p_source_91 => l_array_source_91(Idx)
178855 , p_source_92 => l_array_source_92(Idx)
178856 , p_source_93 => l_array_source_93(Idx)
178857 , p_source_96 => l_array_source_96(Idx)
178858 , p_source_97 => l_array_source_97(Idx)
178859 , p_source_98 => l_array_source_98(Idx)
178860 , p_source_99 => l_array_source_99(Idx)
178861 , p_source_100 => l_array_source_100(Idx)
178862 , p_source_101 => l_array_source_101(Idx)
178863 , p_source_101_meaning => l_array_source_101_meaning(Idx)
178864 , p_source_102 => l_array_source_102(Idx)
178865 , p_source_107 => l_array_source_107(Idx)
178866 , p_source_113 => g_array_event(l_event_id).array_value_num('source_113')
178867 , p_source_114 => g_array_event(l_event_id).array_value_num('source_114')
178868 , p_source_115 => l_array_source_115(Idx)
178869 , p_source_116 => g_array_event(l_event_id).array_value_char('source_116')
178870 , p_source_116_meaning => g_array_event(l_event_id).array_value_char('source_116_meaning')
178871 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
178872 , p_source_119 => l_array_source_119(Idx)
178873 , p_source_120 => g_array_event(l_event_id).array_value_date('source_120')
178874 , p_source_121 => g_array_event(l_event_id).array_value_num('source_121')
178875 , p_source_122 => g_array_event(l_event_id).array_value_char('source_122')
178876 , p_source_125 => g_array_event(l_event_id).array_value_char('source_125')
178877 , p_source_125_meaning => g_array_event(l_event_id).array_value_char('source_125_meaning')
178878 );
178879 If(l_balance_type_code = 'A') THEN
178880 l_actual_gain_loss_ref := l_gain_or_loss_ref;
178881 END IF;
178882
178883 --
178884
178885
178886 --
178887 AcctLineType_93 (
178888 p_application_id => p_application_id
178889 ,p_event_id => l_event_id
178890 ,p_calculate_acctd_flag => l_calculate_acctd_flag
178891 ,p_calculate_g_l_flag => l_calculate_g_l_flag
178892 ,p_actual_flag => l_actual_flag
178893 ,p_balance_type_code => l_balance_type_code
178894 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
178895
178896 , p_source_8 => g_array_event(l_event_id).array_value_char('source_8')
178897 , p_source_30 => g_array_event(l_event_id).array_value_num('source_30')
178898 , p_source_43 => g_array_event(l_event_id).array_value_char('source_43')
178899 , p_source_43_meaning => g_array_event(l_event_id).array_value_char('source_43_meaning')
178900 , p_source_57 => g_array_event(l_event_id).array_value_char('source_57')
178901 , p_source_58 => l_array_source_58(Idx)
178905 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
178902 , p_source_60 => l_array_source_60(Idx)
178903 , p_source_85 => l_array_source_85(Idx)
178904 , p_source_85_meaning => l_array_source_85_meaning(Idx)
178906 , p_source_91 => l_array_source_91(Idx)
178907 , p_source_92 => l_array_source_92(Idx)
178908 , p_source_93 => l_array_source_93(Idx)
178909 , p_source_96 => l_array_source_96(Idx)
178910 , p_source_97 => l_array_source_97(Idx)
178911 , p_source_98 => l_array_source_98(Idx)
178912 , p_source_99 => l_array_source_99(Idx)
178913 , p_source_100 => l_array_source_100(Idx)
178914 , p_source_101 => l_array_source_101(Idx)
178915 , p_source_101_meaning => l_array_source_101_meaning(Idx)
178916 , p_source_102 => l_array_source_102(Idx)
178917 , p_source_107 => l_array_source_107(Idx)
178918 , p_source_113 => g_array_event(l_event_id).array_value_num('source_113')
178919 , p_source_114 => g_array_event(l_event_id).array_value_num('source_114')
178920 , p_source_115 => l_array_source_115(Idx)
178921 , p_source_116 => g_array_event(l_event_id).array_value_char('source_116')
178922 , p_source_116_meaning => g_array_event(l_event_id).array_value_char('source_116_meaning')
178923 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
178924 , p_source_119 => l_array_source_119(Idx)
178925 , p_source_120 => g_array_event(l_event_id).array_value_date('source_120')
178926 , p_source_121 => g_array_event(l_event_id).array_value_num('source_121')
178927 , p_source_122 => g_array_event(l_event_id).array_value_char('source_122')
178928 , p_source_125 => g_array_event(l_event_id).array_value_char('source_125')
178929 , p_source_125_meaning => g_array_event(l_event_id).array_value_char('source_125_meaning')
178930 );
178931 If(l_balance_type_code = 'A') THEN
178932 l_actual_gain_loss_ref := l_gain_or_loss_ref;
178933 END IF;
178934
178935 --
178936
178937
178938 --
178939 AcctLineType_100 (
178940 p_application_id => p_application_id
178941 ,p_event_id => l_event_id
178942 ,p_calculate_acctd_flag => l_calculate_acctd_flag
178943 ,p_calculate_g_l_flag => l_calculate_g_l_flag
178944 ,p_actual_flag => l_actual_flag
178945 ,p_balance_type_code => l_balance_type_code
178946 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
178947
178948 , p_source_8 => g_array_event(l_event_id).array_value_char('source_8')
178949 , p_source_12 => g_array_event(l_event_id).array_value_num('source_12')
178950 , p_source_43 => g_array_event(l_event_id).array_value_char('source_43')
178951 , p_source_43_meaning => g_array_event(l_event_id).array_value_char('source_43_meaning')
178952 , p_source_57 => g_array_event(l_event_id).array_value_char('source_57')
178953 , p_source_58 => l_array_source_58(Idx)
178954 , p_source_60 => l_array_source_60(Idx)
178955 , p_source_85 => l_array_source_85(Idx)
178956 , p_source_85_meaning => l_array_source_85_meaning(Idx)
178957 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
178958 , p_source_91 => l_array_source_91(Idx)
178959 , p_source_92 => l_array_source_92(Idx)
178960 , p_source_93 => l_array_source_93(Idx)
178961 , p_source_96 => l_array_source_96(Idx)
178962 , p_source_97 => l_array_source_97(Idx)
178963 , p_source_98 => l_array_source_98(Idx)
178964 , p_source_99 => l_array_source_99(Idx)
178965 , p_source_100 => l_array_source_100(Idx)
178966 , p_source_101 => l_array_source_101(Idx)
178967 , p_source_101_meaning => l_array_source_101_meaning(Idx)
178968 , p_source_102 => l_array_source_102(Idx)
178969 , p_source_107 => l_array_source_107(Idx)
178970 , p_source_113 => g_array_event(l_event_id).array_value_num('source_113')
178971 , p_source_114 => g_array_event(l_event_id).array_value_num('source_114')
178972 , p_source_115 => l_array_source_115(Idx)
178973 , p_source_116 => g_array_event(l_event_id).array_value_char('source_116')
178974 , p_source_116_meaning => g_array_event(l_event_id).array_value_char('source_116_meaning')
178975 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
178976 , p_source_118 => l_array_source_118(Idx)
178977 , p_source_120 => g_array_event(l_event_id).array_value_date('source_120')
178978 , p_source_121 => g_array_event(l_event_id).array_value_num('source_121')
178979 , p_source_122 => g_array_event(l_event_id).array_value_char('source_122')
178980 , p_source_125 => g_array_event(l_event_id).array_value_char('source_125')
178981 , p_source_125_meaning => g_array_event(l_event_id).array_value_char('source_125_meaning')
178982 );
178983 If(l_balance_type_code = 'A') THEN
178984 l_actual_gain_loss_ref := l_gain_or_loss_ref;
178985 END IF;
178986
178987 --
178988
178989
178990 --
178991 AcctLineType_101 (
178992 p_application_id => p_application_id
178993 ,p_event_id => l_event_id
178994 ,p_calculate_acctd_flag => l_calculate_acctd_flag
178995 ,p_calculate_g_l_flag => l_calculate_g_l_flag
178996 ,p_actual_flag => l_actual_flag
178997 ,p_balance_type_code => l_balance_type_code
178998 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
178999
179000 , p_source_8 => g_array_event(l_event_id).array_value_char('source_8')
179001 , p_source_10 => g_array_event(l_event_id).array_value_char('source_10')
179002 , p_source_10_meaning => g_array_event(l_event_id).array_value_char('source_10_meaning')
179003 , p_source_12 => g_array_event(l_event_id).array_value_num('source_12')
179004 , p_source_57 => g_array_event(l_event_id).array_value_char('source_57')
179005 , p_source_58 => l_array_source_58(Idx)
179006 , p_source_60 => l_array_source_60(Idx)
179007 , p_source_85 => l_array_source_85(Idx)
179008 , p_source_85_meaning => l_array_source_85_meaning(Idx)
179009 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
179010 , p_source_91 => l_array_source_91(Idx)
179011 , p_source_92 => l_array_source_92(Idx)
179012 , p_source_93 => l_array_source_93(Idx)
179013 , p_source_96 => l_array_source_96(Idx)
179014 , p_source_97 => l_array_source_97(Idx)
179015 , p_source_98 => l_array_source_98(Idx)
179016 , p_source_99 => l_array_source_99(Idx)
179017 , p_source_100 => l_array_source_100(Idx)
179021 , p_source_107 => l_array_source_107(Idx)
179018 , p_source_101 => l_array_source_101(Idx)
179019 , p_source_101_meaning => l_array_source_101_meaning(Idx)
179020 , p_source_102 => l_array_source_102(Idx)
179022 , p_source_113 => g_array_event(l_event_id).array_value_num('source_113')
179023 , p_source_114 => g_array_event(l_event_id).array_value_num('source_114')
179024 , p_source_115 => l_array_source_115(Idx)
179025 , p_source_116 => g_array_event(l_event_id).array_value_char('source_116')
179026 , p_source_116_meaning => g_array_event(l_event_id).array_value_char('source_116_meaning')
179027 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
179028 , p_source_118 => l_array_source_118(Idx)
179029 , p_source_120 => g_array_event(l_event_id).array_value_date('source_120')
179030 , p_source_121 => g_array_event(l_event_id).array_value_num('source_121')
179031 , p_source_122 => g_array_event(l_event_id).array_value_char('source_122')
179032 , p_source_125 => g_array_event(l_event_id).array_value_char('source_125')
179033 , p_source_125_meaning => g_array_event(l_event_id).array_value_char('source_125_meaning')
179034 );
179035 If(l_balance_type_code = 'A') THEN
179036 l_actual_gain_loss_ref := l_gain_or_loss_ref;
179037 END IF;
179038
179039 --
179040
179041
179042 --
179043 AcctLineType_102 (
179044 p_application_id => p_application_id
179045 ,p_event_id => l_event_id
179046 ,p_calculate_acctd_flag => l_calculate_acctd_flag
179047 ,p_calculate_g_l_flag => l_calculate_g_l_flag
179048 ,p_actual_flag => l_actual_flag
179049 ,p_balance_type_code => l_balance_type_code
179050 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
179051
179052 , p_source_8 => g_array_event(l_event_id).array_value_char('source_8')
179053 , p_source_10 => g_array_event(l_event_id).array_value_char('source_10')
179054 , p_source_10_meaning => g_array_event(l_event_id).array_value_char('source_10_meaning')
179055 , p_source_12 => g_array_event(l_event_id).array_value_num('source_12')
179056 , p_source_57 => g_array_event(l_event_id).array_value_char('source_57')
179057 , p_source_58 => l_array_source_58(Idx)
179058 , p_source_60 => l_array_source_60(Idx)
179059 , p_source_85 => l_array_source_85(Idx)
179060 , p_source_85_meaning => l_array_source_85_meaning(Idx)
179061 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
179062 , p_source_91 => l_array_source_91(Idx)
179063 , p_source_92 => l_array_source_92(Idx)
179064 , p_source_93 => l_array_source_93(Idx)
179065 , p_source_96 => l_array_source_96(Idx)
179066 , p_source_97 => l_array_source_97(Idx)
179067 , p_source_98 => l_array_source_98(Idx)
179068 , p_source_99 => l_array_source_99(Idx)
179069 , p_source_100 => l_array_source_100(Idx)
179070 , p_source_101 => l_array_source_101(Idx)
179071 , p_source_101_meaning => l_array_source_101_meaning(Idx)
179072 , p_source_102 => l_array_source_102(Idx)
179073 , p_source_107 => l_array_source_107(Idx)
179074 , p_source_113 => g_array_event(l_event_id).array_value_num('source_113')
179075 , p_source_114 => g_array_event(l_event_id).array_value_num('source_114')
179076 , p_source_115 => l_array_source_115(Idx)
179077 , p_source_116 => g_array_event(l_event_id).array_value_char('source_116')
179078 , p_source_116_meaning => g_array_event(l_event_id).array_value_char('source_116_meaning')
179079 , p_source_117 => g_array_event(l_event_id).array_value_date('source_117')
179080 , p_source_118 => l_array_source_118(Idx)
179081 , p_source_120 => g_array_event(l_event_id).array_value_date('source_120')
179082 , p_source_121 => g_array_event(l_event_id).array_value_num('source_121')
179083 , p_source_122 => g_array_event(l_event_id).array_value_char('source_122')
179084 , p_source_125 => g_array_event(l_event_id).array_value_char('source_125')
179085 , p_source_125_meaning => g_array_event(l_event_id).array_value_char('source_125_meaning')
179086 );
179087 If(l_balance_type_code = 'A') THEN
179088 l_actual_gain_loss_ref := l_gain_or_loss_ref;
179089 END IF;
179090
179091 --
179092
179093
179094 --
179095 AcctLineType_115 (
179096 p_application_id => p_application_id
179097 ,p_event_id => l_event_id
179098 ,p_calculate_acctd_flag => l_calculate_acctd_flag
179099 ,p_calculate_g_l_flag => l_calculate_g_l_flag
179100 ,p_actual_flag => l_actual_flag
179101 ,p_balance_type_code => l_balance_type_code
179102 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
179103
179104 , p_source_8 => g_array_event(l_event_id).array_value_char('source_8')
179105 , p_source_10 => g_array_event(l_event_id).array_value_char('source_10')
179106 , p_source_10_meaning => g_array_event(l_event_id).array_value_char('source_10_meaning')
179107 , p_source_13 => g_array_event(l_event_id).array_value_num('source_13')
179108 , p_source_14 => g_array_event(l_event_id).array_value_char('source_14')
179109 , p_source_14_meaning => g_array_event(l_event_id).array_value_char('source_14_meaning')
179110 , p_source_25 => l_array_source_25(Idx)
179111 , p_source_28 => l_array_source_28(Idx)
179112 , p_source_28_meaning => l_array_source_28_meaning(Idx)
179113 , p_source_40 => g_array_event(l_event_id).array_value_num('source_40')
179114 , p_source_41 => l_array_source_41(Idx)
179115 , p_source_42 => l_array_source_42(Idx)
179116 , p_source_57 => g_array_event(l_event_id).array_value_char('source_57')
179117 , p_source_58 => l_array_source_58(Idx)
179118 , p_source_60 => l_array_source_60(Idx)
179119 , p_source_85 => l_array_source_85(Idx)
179120 , p_source_85_meaning => l_array_source_85_meaning(Idx)
179121 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
179122 , p_source_91 => l_array_source_91(Idx)
179123 , p_source_92 => l_array_source_92(Idx)
179124 , p_source_93 => l_array_source_93(Idx)
179125 , p_source_96 => l_array_source_96(Idx)
179126 , p_source_97 => l_array_source_97(Idx)
179127 , p_source_98 => l_array_source_98(Idx)
179128 , p_source_99 => l_array_source_99(Idx)
179129 , p_source_100 => l_array_source_100(Idx)
179130 , p_source_101 => l_array_source_101(Idx)
179131 , p_source_101_meaning => l_array_source_101_meaning(Idx)
179135 , p_source_114 => g_array_event(l_event_id).array_value_num('source_114')
179132 , p_source_102 => l_array_source_102(Idx)
179133 , p_source_107 => l_array_source_107(Idx)
179134 , p_source_113 => g_array_event(l_event_id).array_value_num('source_113')
179136 , p_source_115 => l_array_source_115(Idx)
179137 , p_source_119 => l_array_source_119(Idx)
179138 , p_source_125 => g_array_event(l_event_id).array_value_char('source_125')
179139 , p_source_125_meaning => g_array_event(l_event_id).array_value_char('source_125_meaning')
179140 , p_source_146 => l_array_source_146(Idx)
179141 , p_source_147 => l_array_source_147(Idx)
179142 , p_source_148 => l_array_source_148(Idx)
179143 );
179144 If(l_balance_type_code = 'A') THEN
179145 l_actual_gain_loss_ref := l_gain_or_loss_ref;
179146 END IF;
179147
179148 --
179149
179150
179151 --
179152 AcctLineType_123 (
179153 p_application_id => p_application_id
179154 ,p_event_id => l_event_id
179155 ,p_calculate_acctd_flag => l_calculate_acctd_flag
179156 ,p_calculate_g_l_flag => l_calculate_g_l_flag
179157 ,p_actual_flag => l_actual_flag
179158 ,p_balance_type_code => l_balance_type_code
179159 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
179160
179161 , p_source_10 => g_array_event(l_event_id).array_value_char('source_10')
179162 , p_source_10_meaning => g_array_event(l_event_id).array_value_char('source_10_meaning')
179163 , p_source_25 => l_array_source_25(Idx)
179164 , p_source_45 => g_array_event(l_event_id).array_value_num('source_45')
179165 , p_source_57 => g_array_event(l_event_id).array_value_char('source_57')
179166 , p_source_58 => l_array_source_58(Idx)
179167 , p_source_60 => l_array_source_60(Idx)
179168 , p_source_72 => l_array_source_72(Idx)
179169 , p_source_85 => l_array_source_85(Idx)
179170 , p_source_85_meaning => l_array_source_85_meaning(Idx)
179171 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
179172 , p_source_91 => l_array_source_91(Idx)
179173 , p_source_92 => l_array_source_92(Idx)
179174 , p_source_93 => l_array_source_93(Idx)
179175 , p_source_96 => l_array_source_96(Idx)
179176 , p_source_97 => l_array_source_97(Idx)
179177 , p_source_98 => l_array_source_98(Idx)
179178 , p_source_99 => l_array_source_99(Idx)
179179 , p_source_100 => l_array_source_100(Idx)
179180 , p_source_101 => l_array_source_101(Idx)
179181 , p_source_101_meaning => l_array_source_101_meaning(Idx)
179182 , p_source_102 => l_array_source_102(Idx)
179183 , p_source_107 => l_array_source_107(Idx)
179184 , p_source_113 => g_array_event(l_event_id).array_value_num('source_113')
179185 , p_source_114 => g_array_event(l_event_id).array_value_num('source_114')
179186 , p_source_115 => l_array_source_115(Idx)
179187 , p_source_119 => l_array_source_119(Idx)
179188 , p_source_125 => g_array_event(l_event_id).array_value_char('source_125')
179189 , p_source_125_meaning => g_array_event(l_event_id).array_value_char('source_125_meaning')
179190 , p_source_146 => l_array_source_146(Idx)
179191 , p_source_147 => l_array_source_147(Idx)
179192 , p_source_148 => l_array_source_148(Idx)
179193 );
179194 If(l_balance_type_code = 'A') THEN
179195 l_actual_gain_loss_ref := l_gain_or_loss_ref;
179196 END IF;
179197
179198 --
179199
179200
179201 --
179202 AcctLineType_138 (
179203 p_application_id => p_application_id
179204 ,p_event_id => l_event_id
179205 ,p_calculate_acctd_flag => l_calculate_acctd_flag
179206 ,p_calculate_g_l_flag => l_calculate_g_l_flag
179207 ,p_actual_flag => l_actual_flag
179208 ,p_balance_type_code => l_balance_type_code
179209 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
179210
179211 , p_source_10 => g_array_event(l_event_id).array_value_char('source_10')
179212 , p_source_10_meaning => g_array_event(l_event_id).array_value_char('source_10_meaning')
179213 , p_source_25 => l_array_source_25(Idx)
179214 , p_source_31 => g_array_event(l_event_id).array_value_num('source_31')
179215 , p_source_32 => g_array_event(l_event_id).array_value_num('source_32')
179216 , p_source_33 => g_array_event(l_event_id).array_value_num('source_33')
179217 , p_source_34 => g_array_event(l_event_id).array_value_num('source_34')
179218 , p_source_57 => g_array_event(l_event_id).array_value_char('source_57')
179219 , p_source_58 => l_array_source_58(Idx)
179220 , p_source_60 => l_array_source_60(Idx)
179221 , p_source_85 => l_array_source_85(Idx)
179222 , p_source_85_meaning => l_array_source_85_meaning(Idx)
179223 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
179224 , p_source_91 => l_array_source_91(Idx)
179225 , p_source_92 => l_array_source_92(Idx)
179226 , p_source_93 => l_array_source_93(Idx)
179227 , p_source_96 => l_array_source_96(Idx)
179228 , p_source_97 => l_array_source_97(Idx)
179229 , p_source_98 => l_array_source_98(Idx)
179230 , p_source_99 => l_array_source_99(Idx)
179231 , p_source_100 => l_array_source_100(Idx)
179232 , p_source_101 => l_array_source_101(Idx)
179233 , p_source_101_meaning => l_array_source_101_meaning(Idx)
179234 , p_source_107 => l_array_source_107(Idx)
179235 , p_source_113 => g_array_event(l_event_id).array_value_num('source_113')
179236 , p_source_114 => g_array_event(l_event_id).array_value_num('source_114')
179237 , p_source_115 => l_array_source_115(Idx)
179238 , p_source_125 => g_array_event(l_event_id).array_value_char('source_125')
179239 , p_source_125_meaning => g_array_event(l_event_id).array_value_char('source_125_meaning')
179240 , p_source_156 => l_array_source_156(Idx)
179241 );
179242 If(l_balance_type_code = 'A') THEN
179243 l_actual_gain_loss_ref := l_gain_or_loss_ref;
179244 END IF;
179245
179246 --
179247
179248
179249 --
179250 AcctLineType_144 (
179251 p_application_id => p_application_id
179252 ,p_event_id => l_event_id
179253 ,p_calculate_acctd_flag => l_calculate_acctd_flag
179254 ,p_calculate_g_l_flag => l_calculate_g_l_flag
179255 ,p_actual_flag => l_actual_flag
179256 ,p_balance_type_code => l_balance_type_code
179257 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
179258
179262 , p_source_25 => l_array_source_25(Idx)
179259 , p_source_8 => g_array_event(l_event_id).array_value_char('source_8')
179260 , p_source_10 => g_array_event(l_event_id).array_value_char('source_10')
179261 , p_source_10_meaning => g_array_event(l_event_id).array_value_char('source_10_meaning')
179263 , p_source_31 => g_array_event(l_event_id).array_value_num('source_31')
179264 , p_source_32 => g_array_event(l_event_id).array_value_num('source_32')
179265 , p_source_57 => g_array_event(l_event_id).array_value_char('source_57')
179266 , p_source_58 => l_array_source_58(Idx)
179267 , p_source_60 => l_array_source_60(Idx)
179268 , p_source_85 => l_array_source_85(Idx)
179269 , p_source_85_meaning => l_array_source_85_meaning(Idx)
179270 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
179271 , p_source_91 => l_array_source_91(Idx)
179272 , p_source_92 => l_array_source_92(Idx)
179273 , p_source_93 => l_array_source_93(Idx)
179274 , p_source_96 => l_array_source_96(Idx)
179275 , p_source_97 => l_array_source_97(Idx)
179276 , p_source_98 => l_array_source_98(Idx)
179277 , p_source_99 => l_array_source_99(Idx)
179278 , p_source_100 => l_array_source_100(Idx)
179279 , p_source_101 => l_array_source_101(Idx)
179280 , p_source_101_meaning => l_array_source_101_meaning(Idx)
179281 , p_source_102 => l_array_source_102(Idx)
179282 , p_source_107 => l_array_source_107(Idx)
179283 , p_source_113 => g_array_event(l_event_id).array_value_num('source_113')
179284 , p_source_114 => g_array_event(l_event_id).array_value_num('source_114')
179285 , p_source_115 => l_array_source_115(Idx)
179286 , p_source_120 => g_array_event(l_event_id).array_value_date('source_120')
179287 , p_source_121 => g_array_event(l_event_id).array_value_num('source_121')
179288 , p_source_122 => g_array_event(l_event_id).array_value_char('source_122')
179289 , p_source_125 => g_array_event(l_event_id).array_value_char('source_125')
179290 , p_source_125_meaning => g_array_event(l_event_id).array_value_char('source_125_meaning')
179291 , p_source_156 => l_array_source_156(Idx)
179292 , p_source_161 => l_array_source_161(Idx)
179293 );
179294 If(l_balance_type_code = 'A') THEN
179295 l_actual_gain_loss_ref := l_gain_or_loss_ref;
179296 END IF;
179297
179298 --
179299
179300
179301 --
179302 AcctLineType_171 (
179303 p_application_id => p_application_id
179304 ,p_event_id => l_event_id
179305 ,p_calculate_acctd_flag => l_calculate_acctd_flag
179306 ,p_calculate_g_l_flag => l_calculate_g_l_flag
179307 ,p_actual_flag => l_actual_flag
179308 ,p_balance_type_code => l_balance_type_code
179309 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
179310
179311 , p_source_8 => g_array_event(l_event_id).array_value_char('source_8')
179312 , p_source_57 => g_array_event(l_event_id).array_value_char('source_57')
179313 , p_source_58 => l_array_source_58(Idx)
179314 , p_source_60 => l_array_source_60(Idx)
179315 , p_source_85 => l_array_source_85(Idx)
179316 , p_source_85_meaning => l_array_source_85_meaning(Idx)
179317 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
179318 , p_source_91 => l_array_source_91(Idx)
179319 , p_source_92 => l_array_source_92(Idx)
179320 , p_source_93 => l_array_source_93(Idx)
179321 , p_source_96 => l_array_source_96(Idx)
179322 , p_source_97 => l_array_source_97(Idx)
179323 , p_source_98 => l_array_source_98(Idx)
179324 , p_source_99 => l_array_source_99(Idx)
179325 , p_source_100 => l_array_source_100(Idx)
179326 , p_source_101 => l_array_source_101(Idx)
179327 , p_source_101_meaning => l_array_source_101_meaning(Idx)
179328 , p_source_102 => l_array_source_102(Idx)
179329 , p_source_107 => l_array_source_107(Idx)
179330 , p_source_115 => l_array_source_115(Idx)
179331 , p_source_119 => l_array_source_119(Idx)
179332 , p_source_125 => g_array_event(l_event_id).array_value_char('source_125')
179333 , p_source_125_meaning => g_array_event(l_event_id).array_value_char('source_125_meaning')
179334 );
179335 If(l_balance_type_code = 'A') THEN
179336 l_actual_gain_loss_ref := l_gain_or_loss_ref;
179337 END IF;
179338
179339 --
179340
179341
179342 --
179343 AcctLineType_178 (
179344 p_application_id => p_application_id
179345 ,p_event_id => l_event_id
179346 ,p_calculate_acctd_flag => l_calculate_acctd_flag
179347 ,p_calculate_g_l_flag => l_calculate_g_l_flag
179348 ,p_actual_flag => l_actual_flag
179349 ,p_balance_type_code => l_balance_type_code
179350 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
179351
179352 , p_source_8 => g_array_event(l_event_id).array_value_char('source_8')
179353 , p_source_10 => g_array_event(l_event_id).array_value_char('source_10')
179354 , p_source_10_meaning => g_array_event(l_event_id).array_value_char('source_10_meaning')
179355 , p_source_25 => l_array_source_25(Idx)
179356 , p_source_33 => g_array_event(l_event_id).array_value_num('source_33')
179357 , p_source_34 => g_array_event(l_event_id).array_value_num('source_34')
179358 , p_source_57 => g_array_event(l_event_id).array_value_char('source_57')
179359 , p_source_58 => l_array_source_58(Idx)
179360 , p_source_60 => l_array_source_60(Idx)
179361 , p_source_85 => l_array_source_85(Idx)
179362 , p_source_85_meaning => l_array_source_85_meaning(Idx)
179363 , p_source_88 => g_array_event(l_event_id).array_value_char('source_88')
179364 , p_source_91 => l_array_source_91(Idx)
179365 , p_source_92 => l_array_source_92(Idx)
179366 , p_source_93 => l_array_source_93(Idx)
179367 , p_source_96 => l_array_source_96(Idx)
179368 , p_source_97 => l_array_source_97(Idx)
179369 , p_source_98 => l_array_source_98(Idx)
179370 , p_source_99 => l_array_source_99(Idx)
179371 , p_source_100 => l_array_source_100(Idx)
179372 , p_source_101 => l_array_source_101(Idx)
179373 , p_source_101_meaning => l_array_source_101_meaning(Idx)
179374 , p_source_102 => l_array_source_102(Idx)
179375 , p_source_107 => l_array_source_107(Idx)
179376 , p_source_113 => g_array_event(l_event_id).array_value_num('source_113')
179377 , p_source_114 => g_array_event(l_event_id).array_value_num('source_114')
179381 , p_source_122 => g_array_event(l_event_id).array_value_char('source_122')
179378 , p_source_115 => l_array_source_115(Idx)
179379 , p_source_120 => g_array_event(l_event_id).array_value_date('source_120')
179380 , p_source_121 => g_array_event(l_event_id).array_value_num('source_121')
179382 , p_source_125 => g_array_event(l_event_id).array_value_char('source_125')
179383 , p_source_125_meaning => g_array_event(l_event_id).array_value_char('source_125_meaning')
179384 , p_source_156 => l_array_source_156(Idx)
179385 , p_source_161 => l_array_source_161(Idx)
179386 );
179387 If(l_balance_type_code = 'A') THEN
179388 l_actual_gain_loss_ref := l_gain_or_loss_ref;
179389 END IF;
179390
179391 --
179392
179393 -- only execute it if calculate g/l flag is yes, and primary or secondary ledger
179394 -- or secondary ledger that has different currency with primary
179395 -- or alc that is calculated by sla
179396 IF (((l_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
179397 (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'))
179398
179399 -- IF((l_calculate_g_l_flag='Y' or XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id <>
179400 -- XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id)
179401 AND (l_actual_flag = 'A')) THEN
179402 XLA_AE_LINES_PKG.CreateGainOrLossLines(
179403 p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
179404 ,p_application_id => p_application_id
179405 ,p_amb_context_code => 'DEFAULT'
179406 ,p_entity_code => xla_ae_journal_entry_pkg.g_cache_event.entity_code
179407 ,p_event_class_code => C_EVENT_CLASS_CODE
179408 ,p_event_type_code => C_EVENT_TYPE_CODE
179409
179410 ,p_gain_ccid => -1
179411 ,p_loss_ccid => -1
179412
179413 ,p_actual_flag => l_actual_flag
179414 ,p_enc_flag => null
179415 ,p_actual_g_l_ref => l_actual_gain_loss_ref
179416 ,p_enc_g_l_ref => null
179417 );
179418 END IF;
179419 END IF;
179420 END IF;
179421
179422 ELSE
179423 --
179424 -- Bug 4872078 - Do nothing if the event is meant for transaction reversal
179425 --
179426 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
179427 trace
179428 (p_msg => 'Trancaction revesal option is Y'
179429 ,p_level => C_LEVEL_STATEMENT
179430 ,p_module => l_log_module);
179431 END IF;
179432 END IF;
179433
179434 END LOOP;
179435 l_result := XLA_AE_LINES_PKG.InsertLines ;
179436 end loop;
179437 close line_cur;
179438
179439
179440 --
179441 -- insert headers into xla_ae_headers_gt table
179442 --
179443 l_result := XLA_AE_HEADER_PKG.InsertHeaders ;
179444
179445 -- insert into errors table here.
179446
179447 END LOOP;
179448
179449 --
179450 -- 4865292
179451 --
179452 -- Compare g_hdr_extract_count with event count in
179453 -- CreateHeadersAndLines.
179454 --
179455 g_hdr_extract_count := g_hdr_extract_count + header_cur%ROWCOUNT;
179456
179457 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
179458 trace (p_msg => '# rows extracted from header extract objects '
179459 || ' (running total): '
179460 || g_hdr_extract_count
179461 ,p_level => C_LEVEL_STATEMENT
179462 ,p_module => l_log_module);
179463 END IF;
179464
179465 CLOSE header_cur;
179466 --
179467
179468 --
179469 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
179470 trace
179471 (p_msg => 'END of EventClass_256'
179472 ,p_level => C_LEVEL_PROCEDURE
179473 ,p_module => l_log_module);
179474 END IF;
179475 --
179476 RETURN l_result;
179477 EXCEPTION
179478 WHEN xla_exceptions_pkg.application_exception THEN
179479
179480 IF header_cur%ISOPEN THEN CLOSE header_cur; END IF;
179481
179482
179483 IF line_cur%ISOPEN THEN CLOSE line_cur; END IF;
179484
179485 RAISE;
179486
179487 WHEN NO_DATA_FOUND THEN
179488
179489 IF header_cur%ISOPEN THEN CLOSE header_cur; END IF;
179490 IF line_cur%ISOPEN THEN CLOSE line_cur; END IF;
179491
179492 FOR header_record IN header_cur
179493 LOOP
179494 l_array_header_events(header_record.event_id) := header_record.event_id;
179495 END LOOP;
179496
179497 l_first_event_id := l_array_header_events(l_array_header_events.FIRST);
179498 l_last_event_id := l_array_header_events(l_array_header_events.LAST);
179499
179500 fnd_file.put_line(fnd_file.LOG, ' ');
179501 fnd_file.put_line(fnd_file.LOG, '***************************************************************************');
179502 fnd_file.put_line(fnd_file.LOG, 'EVENT CLASS CODE = ' || C_EVENT_CLASS_CODE );
179503 fnd_file.put_line(fnd_file.LOG, 'The following events are present in the line extract but MISSING in the header extract: ');
179504
179505 FOR line_record IN line_cur(l_first_event_id, l_last_event_id)
179506 LOOP
179507 IF (NOT l_array_header_events.EXISTS(line_record.event_id)) AND (NOT l_array_duplicate_checker.EXISTS(line_record.event_id)) THEN
179508 fnd_file.put_line(fnd_file.log, 'Event_id = ' || line_record.event_id);
179509 l_array_duplicate_checker(line_record.event_id) := line_record.event_id;
179510 END IF;
179511 END LOOP;
179512
179513 fnd_file.put_line(fnd_file.LOG, '***************************************************************************');
179514 fnd_file.put_line(fnd_file.LOG, ' ');
179515
179516
179517 xla_exceptions_pkg.raise_message
179518 (p_location => 'XLA_00200_AAD_S_000012_PKG.EventClass_256');
179519
179520
179521 WHEN OTHERS THEN
179522 xla_exceptions_pkg.raise_message
179526
179523 (p_location => 'XLA_00200_AAD_S_000012_PKG.EventClass_256');
179524 END EventClass_256;
179525 --
179527 --
179528 --+============================================+
179529 --| |
179530 --| PRIVATE FUNCTION |
179531 --| |
179532 --+============================================+
179533 --
179534 FUNCTION CreateHeadersAndLines
179535 (p_application_id IN NUMBER
179536 ,p_base_ledger_id IN NUMBER
179537 ,p_target_ledger_id IN NUMBER
179538 ,p_pad_start_date IN DATE
179539 ,p_pad_end_date IN DATE
179540 ,p_primary_ledger_id IN NUMBER)
179541 RETURN BOOLEAN IS
179542 l_created BOOLEAN:=FALSE;
179543 l_event_id NUMBER;
179544 l_event_date DATE;
179545 l_language VARCHAR2(30);
179546 l_currency_code VARCHAR2(30);
179547 l_sla_ledger_id NUMBER;
179548 l_log_module VARCHAR2(240);
179549
179550 BEGIN
179551 --
179552 IF g_log_enabled THEN
179553 l_log_module := C_DEFAULT_MODULE||'.CreateHeadersAndLines';
179554 END IF;
179555 --
179556 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
179557 trace
179558 (p_msg => 'BEGIN of CreateHeadersAndLines'
179559 ,p_level => C_LEVEL_PROCEDURE
179560 ,p_module => l_log_module);
179561 END IF;
179562
179563 l_language := xla_ae_journal_entry_pkg.g_cache_ledgers_info.description_language;
179564 l_currency_code := xla_ae_journal_entry_pkg.g_cache_ledgers_info.currency_code;
179565 l_sla_ledger_id := xla_ae_journal_entry_pkg.g_cache_ledgers_info.sla_ledger_id;
179566
179567 --
179568 -- initialize array of lines with NULL
179569 --
179570 xla_ae_lines_pkg.SetNullLine;
179571
179572 --
179573 -- initialize header extract count -- Bug 4865292
179574 --
179575 g_hdr_extract_count:= 0;
179576
179577
179578 l_created := EventClass_248(
179579 p_application_id => p_application_id
179580 , p_base_ledger_id => p_base_ledger_id
179581 , p_target_ledger_id => p_target_ledger_id
179582 , p_language => l_language
179583 , p_currency_code => l_currency_code
179584 , p_sla_ledger_id => l_sla_ledger_id
179585 , p_pad_start_date => p_pad_start_date
179586 , p_pad_end_date => p_pad_end_date
179587 , p_primary_ledger_id => p_primary_ledger_id
179588 );
179589
179590
179591
179592 IF ( g_diagnostics_mode ='Y' ) THEN
179593
179594 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
179595 trace
179596 (p_msg => 'CALL Transaction Objects Diagnostics'
179597 ,p_level => C_LEVEL_STATEMENT
179598 ,p_module => l_log_module);
179599
179600 END IF;
179601
179602 insert_sources_248(
179603 p_target_ledger_id => p_target_ledger_id
179604 , p_language => l_language
179605 , p_sla_ledger_id => l_sla_ledger_id
179606 , p_pad_start_date => p_pad_start_date
179607 , p_pad_end_date => p_pad_end_date
179608 );
179609
179610 END IF;
179611
179612 l_created := EventClass_249(
179613 p_application_id => p_application_id
179614 , p_base_ledger_id => p_base_ledger_id
179615 , p_target_ledger_id => p_target_ledger_id
179616 , p_language => l_language
179617 , p_currency_code => l_currency_code
179618 , p_sla_ledger_id => l_sla_ledger_id
179619 , p_pad_start_date => p_pad_start_date
179620 , p_pad_end_date => p_pad_end_date
179621 , p_primary_ledger_id => p_primary_ledger_id
179622 );
179623
179624
179625
179626 IF ( g_diagnostics_mode ='Y' ) THEN
179627
179628 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
179629 trace
179630 (p_msg => 'CALL Transaction Objects Diagnostics'
179631 ,p_level => C_LEVEL_STATEMENT
179632 ,p_module => l_log_module);
179633
179634 END IF;
179635
179636 insert_sources_249(
179637 p_target_ledger_id => p_target_ledger_id
179638 , p_language => l_language
179639 , p_sla_ledger_id => l_sla_ledger_id
179640 , p_pad_start_date => p_pad_start_date
179641 , p_pad_end_date => p_pad_end_date
179642 );
179643
179644 END IF;
179645
179646 l_created := EventClass_250(
179647 p_application_id => p_application_id
179648 , p_base_ledger_id => p_base_ledger_id
179649 , p_target_ledger_id => p_target_ledger_id
179650 , p_language => l_language
179651 , p_currency_code => l_currency_code
179652 , p_sla_ledger_id => l_sla_ledger_id
179653 , p_pad_start_date => p_pad_start_date
179654 , p_pad_end_date => p_pad_end_date
179655 , p_primary_ledger_id => p_primary_ledger_id
179656 );
179657
179658
179659
179660 IF ( g_diagnostics_mode ='Y' ) THEN
179661
179662 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
179663 trace
179664 (p_msg => 'CALL Transaction Objects Diagnostics'
179665 ,p_level => C_LEVEL_STATEMENT
179666 ,p_module => l_log_module);
179667
179668 END IF;
179669
179670 insert_sources_250(
179671 p_target_ledger_id => p_target_ledger_id
179672 , p_language => l_language
179676 );
179673 , p_sla_ledger_id => l_sla_ledger_id
179674 , p_pad_start_date => p_pad_start_date
179675 , p_pad_end_date => p_pad_end_date
179677
179678 END IF;
179679
179680 l_created := EventClass_251(
179681 p_application_id => p_application_id
179682 , p_base_ledger_id => p_base_ledger_id
179683 , p_target_ledger_id => p_target_ledger_id
179684 , p_language => l_language
179685 , p_currency_code => l_currency_code
179686 , p_sla_ledger_id => l_sla_ledger_id
179687 , p_pad_start_date => p_pad_start_date
179688 , p_pad_end_date => p_pad_end_date
179689 , p_primary_ledger_id => p_primary_ledger_id
179690 );
179691
179692
179693
179694 IF ( g_diagnostics_mode ='Y' ) THEN
179695
179696 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
179697 trace
179698 (p_msg => 'CALL Transaction Objects Diagnostics'
179699 ,p_level => C_LEVEL_STATEMENT
179700 ,p_module => l_log_module);
179701
179702 END IF;
179703
179704 insert_sources_251(
179705 p_target_ledger_id => p_target_ledger_id
179706 , p_language => l_language
179707 , p_sla_ledger_id => l_sla_ledger_id
179708 , p_pad_start_date => p_pad_start_date
179709 , p_pad_end_date => p_pad_end_date
179710 );
179711
179712 END IF;
179713
179714 l_created := EventClass_252(
179715 p_application_id => p_application_id
179716 , p_base_ledger_id => p_base_ledger_id
179717 , p_target_ledger_id => p_target_ledger_id
179718 , p_language => l_language
179719 , p_currency_code => l_currency_code
179720 , p_sla_ledger_id => l_sla_ledger_id
179721 , p_pad_start_date => p_pad_start_date
179722 , p_pad_end_date => p_pad_end_date
179723 , p_primary_ledger_id => p_primary_ledger_id
179724 );
179725
179726
179727
179728 IF ( g_diagnostics_mode ='Y' ) THEN
179729
179730 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
179731 trace
179732 (p_msg => 'CALL Transaction Objects Diagnostics'
179733 ,p_level => C_LEVEL_STATEMENT
179734 ,p_module => l_log_module);
179735
179736 END IF;
179737
179738 insert_sources_252(
179739 p_target_ledger_id => p_target_ledger_id
179740 , p_language => l_language
179741 , p_sla_ledger_id => l_sla_ledger_id
179742 , p_pad_start_date => p_pad_start_date
179743 , p_pad_end_date => p_pad_end_date
179744 );
179745
179746 END IF;
179747
179748 l_created := EventClass_253(
179749 p_application_id => p_application_id
179750 , p_base_ledger_id => p_base_ledger_id
179751 , p_target_ledger_id => p_target_ledger_id
179752 , p_language => l_language
179753 , p_currency_code => l_currency_code
179754 , p_sla_ledger_id => l_sla_ledger_id
179755 , p_pad_start_date => p_pad_start_date
179756 , p_pad_end_date => p_pad_end_date
179757 , p_primary_ledger_id => p_primary_ledger_id
179758 );
179759
179760
179761
179762 IF ( g_diagnostics_mode ='Y' ) THEN
179763
179764 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
179765 trace
179766 (p_msg => 'CALL Transaction Objects Diagnostics'
179767 ,p_level => C_LEVEL_STATEMENT
179768 ,p_module => l_log_module);
179769
179770 END IF;
179771
179772 insert_sources_253(
179773 p_target_ledger_id => p_target_ledger_id
179774 , p_language => l_language
179775 , p_sla_ledger_id => l_sla_ledger_id
179776 , p_pad_start_date => p_pad_start_date
179777 , p_pad_end_date => p_pad_end_date
179778 );
179779
179780 END IF;
179781
179782 l_created := EventClass_254(
179783 p_application_id => p_application_id
179784 , p_base_ledger_id => p_base_ledger_id
179785 , p_target_ledger_id => p_target_ledger_id
179786 , p_language => l_language
179787 , p_currency_code => l_currency_code
179788 , p_sla_ledger_id => l_sla_ledger_id
179789 , p_pad_start_date => p_pad_start_date
179790 , p_pad_end_date => p_pad_end_date
179791 , p_primary_ledger_id => p_primary_ledger_id
179792 );
179793
179794
179795
179796 IF ( g_diagnostics_mode ='Y' ) THEN
179797
179798 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
179799 trace
179800 (p_msg => 'CALL Transaction Objects Diagnostics'
179801 ,p_level => C_LEVEL_STATEMENT
179802 ,p_module => l_log_module);
179803
179804 END IF;
179805
179806 insert_sources_254(
179807 p_target_ledger_id => p_target_ledger_id
179808 , p_language => l_language
179809 , p_sla_ledger_id => l_sla_ledger_id
179810 , p_pad_start_date => p_pad_start_date
179811 , p_pad_end_date => p_pad_end_date
179812 );
179813
179814 END IF;
179815
179816 l_created := EventClass_255(
179817 p_application_id => p_application_id
179818 , p_base_ledger_id => p_base_ledger_id
179822 , p_sla_ledger_id => l_sla_ledger_id
179819 , p_target_ledger_id => p_target_ledger_id
179820 , p_language => l_language
179821 , p_currency_code => l_currency_code
179823 , p_pad_start_date => p_pad_start_date
179824 , p_pad_end_date => p_pad_end_date
179825 , p_primary_ledger_id => p_primary_ledger_id
179826 );
179827
179828
179829
179830 IF ( g_diagnostics_mode ='Y' ) THEN
179831
179832 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
179833 trace
179834 (p_msg => 'CALL Transaction Objects Diagnostics'
179835 ,p_level => C_LEVEL_STATEMENT
179836 ,p_module => l_log_module);
179837
179838 END IF;
179839
179840 insert_sources_255(
179841 p_target_ledger_id => p_target_ledger_id
179842 , p_language => l_language
179843 , p_sla_ledger_id => l_sla_ledger_id
179844 , p_pad_start_date => p_pad_start_date
179845 , p_pad_end_date => p_pad_end_date
179846 );
179847
179848 END IF;
179849
179850 l_created := EventClass_256(
179851 p_application_id => p_application_id
179852 , p_base_ledger_id => p_base_ledger_id
179853 , p_target_ledger_id => p_target_ledger_id
179854 , p_language => l_language
179855 , p_currency_code => l_currency_code
179856 , p_sla_ledger_id => l_sla_ledger_id
179857 , p_pad_start_date => p_pad_start_date
179858 , p_pad_end_date => p_pad_end_date
179859 , p_primary_ledger_id => p_primary_ledger_id
179860 );
179861
179862
179863
179864 IF ( g_diagnostics_mode ='Y' ) THEN
179865
179866 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
179867 trace
179868 (p_msg => 'CALL Transaction Objects Diagnostics'
179869 ,p_level => C_LEVEL_STATEMENT
179870 ,p_module => l_log_module);
179871
179872 END IF;
179873
179874 insert_sources_256(
179875 p_target_ledger_id => p_target_ledger_id
179876 , p_language => l_language
179877 , p_sla_ledger_id => l_sla_ledger_id
179878 , p_pad_start_date => p_pad_start_date
179879 , p_pad_end_date => p_pad_end_date
179880 );
179881
179882 END IF;
179883
179884
179885 --
179886 -- Bug 4865292
179887 -- When the number of events and that of header extract do not match,
179888 -- set the no header extract flag to indicate there are some issues
179889 -- in header extract.
179890 --
179891 -- Event count context is set in xla_accounting_pkg.unit_processor.
179892 -- Build_Message for this error is called in xla_accounting_pkg.post_accounting
179893 -- to report it as a general error.
179894 --
179895 IF xla_context_pkg.get_event_count_context <> g_hdr_extract_count
179896 AND xla_context_pkg.get_event_nohdr_context <> 'Y' THEN
179897
179898 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
179899 trace
179900 (p_msg => '# of extracted headers and events does not match'
179901 ,p_level => C_LEVEL_STATEMENT
179902 ,p_module => l_log_module);
179903
179904 trace
179905 (p_msg => '# of extracted headers: '
179906 ||g_hdr_extract_count
179907 ,p_level => C_LEVEL_STATEMENT
179908 ,p_module => l_log_module);
179909
179910 trace
179911 (p_msg => '# of events in xla_events_gt: '
179912 ||xla_context_pkg.get_event_count_context
179913 ,p_level => C_LEVEL_STATEMENT
179914 ,p_module => l_log_module);
179915
179916 trace
179917 (p_msg => 'Event No Header Extract Context: '
179918 ||xla_context_pkg.get_event_nohdr_context
179919 ,p_level => C_LEVEL_STATEMENT
179920 ,p_module => l_log_module);
179921
179922 END IF;
179923
179924
179925 xla_context_pkg.set_event_nohdr_context
179926 (p_nohdr_extract_flag => 'Y'
179927 ,p_client_id => sys_context('USERENV','CLIENT_IDENTIFIER'));
179928
179929 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
179930 trace
179931 (p_msg => 'No Header Extract Flag is set to Y'
179932 ,p_level => C_LEVEL_STATEMENT
179933 ,p_module => l_log_module);
179934 END IF;
179935
179936 END IF;
179937
179938 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
179939 trace
179940 (p_msg => 'END of CreateHeadersAndLines'
179941 ,p_level => C_LEVEL_PROCEDURE
179942 ,p_module => l_log_module);
179943 END IF;
179944
179945 RETURN l_created;
179946 EXCEPTION
179947 WHEN xla_exceptions_pkg.application_exception THEN
179948 RAISE;
179949 WHEN OTHERS THEN
179950 xla_exceptions_pkg.raise_message
179951 (p_location => 'XLA_00200_AAD_S_000012_PKG.CreateHeadersAndLines');
179952 END CreateHeadersAndLines;
179953 --
179954 --
179955
179956 --
179957 --+============================================+
179958 --| |
179959 --| PUBLIC FUNCTION |
179960 --| |
179961 --+============================================+
179962 --
179963 FUNCTION CreateJournalEntries
179964 (p_application_id IN NUMBER
179965 ,p_base_ledger_id IN NUMBER
179966 ,p_pad_start_date IN DATE
179967 ,p_pad_end_date IN DATE
179968 ,p_primary_ledger_id IN NUMBER)
179969 RETURN NUMBER IS
179973 l_result NUMBER;
179970 l_log_module VARCHAR2(240);
179971 l_array_ledgers xla_accounting_cache_pkg.t_array_ledger_id;
179972 l_temp_result BOOLEAN;
179974 BEGIN
179975 --
179976 IF g_log_enabled THEN
179977 l_log_module := C_DEFAULT_MODULE||'.CreateJournalEntries';
179978 END IF;
179979 --
179980 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
179981 trace
179982 (p_msg => 'BEGIN of CreateJournalEntries'||
179983 ' - p_base_ledger_id = '||TO_CHAR(p_base_ledger_id)
179984 ,p_level => C_LEVEL_PROCEDURE
179985 ,p_module => l_log_module);
179986
179987 END IF;
179988
179989 --
179990 g_diagnostics_mode:= xla_accounting_engine_pkg.g_diagnostics_mode;
179991
179992 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
179993 trace
179994 (p_msg => 'g_diagnostics_mode = '||g_diagnostics_mode
179995 ,p_level => C_LEVEL_STATEMENT
179996 ,p_module => l_log_module);
179997 END IF;
179998 --
179999 xla_ae_journal_entry_pkg.SetProductAcctDefinition
180000 (p_product_rule_code => 'FV_PAYABLES_AAD'
180001 ,p_product_rule_type_code => 'S'
180002 ,p_product_rule_version => ''
180003 ,p_product_rule_name => 'Federal Payables AAD'
180004 ,p_amb_context_code => 'DEFAULT'
180005 );
180006
180007 l_array_ledgers :=
180008 xla_ae_journal_entry_pkg.GetAlternateCurrencyLedger
180009 (p_base_ledger_id => p_base_ledger_id);
180010
180011 FOR Idx IN 1 .. l_array_ledgers.COUNT LOOP
180012 l_temp_result :=
180013 XLA_AE_JOURNAL_ENTRY_PKG.GetLedgersInfo
180014 (p_application_id => p_application_id
180015 ,p_base_ledger_id => p_base_ledger_id
180016 ,p_target_ledger_id => l_array_ledgers(Idx)
180017 ,p_primary_ledger_id => p_primary_ledger_id
180018 ,p_pad_start_date => p_pad_start_date
180019 ,p_pad_end_date => p_pad_end_date);
180020
180021 l_temp_result :=
180022 l_temp_result AND
180023 CreateHeadersAndLines
180024 (p_application_id => p_application_id
180025 ,p_base_ledger_id => p_base_ledger_id
180026 ,p_target_ledger_id => l_array_ledgers(Idx)
180027 ,p_pad_start_date => p_pad_start_date
180028 ,p_pad_end_date => p_pad_end_date
180029 ,p_primary_ledger_id => p_primary_ledger_id
180030 );
180031 END LOOP;
180032
180033
180034 IF (g_diagnostics_mode = 'Y' AND
180035 C_LEVEL_UNEXPECTED >= g_log_level AND
180036 xla_environment_pkg.g_Req_Id IS NOT NULL ) THEN
180037
180038 xla_accounting_dump_pkg.acctg_event_extract_log(
180039 p_application_id => p_application_id
180040 ,p_request_id => xla_environment_pkg.g_Req_Id
180041 );
180042
180043 END IF;
180044
180045 CASE l_temp_result
180046 WHEN TRUE THEN l_result := 0;
180047 ELSE l_result := 2;
180048 END CASE;
180049
180050 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
180051 trace
180052 (p_msg => 'return value. = '||TO_CHAR(l_result)
180053 ,p_level => C_LEVEL_PROCEDURE
180054 ,p_module => l_log_module);
180055 trace
180056 (p_msg => 'END of CreateJournalEntries '
180057 ,p_level => C_LEVEL_PROCEDURE
180058 ,p_module => l_log_module);
180059 END IF;
180060
180061 RETURN l_result;
180062 EXCEPTION
180063 WHEN xla_exceptions_pkg.application_exception THEN
180064 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
180065 trace
180066 (p_msg => 'ERROR. = '||sqlerrm
180067 ,p_level => C_LEVEL_PROCEDURE
180068 ,p_module => l_log_module);
180069 END IF;
180070 RAISE;
180071 WHEN OTHERS THEN
180072 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
180073 trace
180074 (p_msg => 'ERROR. = '||sqlerrm
180075 ,p_level => C_LEVEL_PROCEDURE
180076 ,p_module => l_log_module);
180077 END IF;
180078 xla_exceptions_pkg.raise_message
180079 (p_location => 'XLA_00200_AAD_S_000012_PKG.CreateJournalEntries');
180080 END CreateJournalEntries;
180081 --
180082 --=============================================================================
180083 --
180084 --
180085 --
180086 --
180087 --
180088 --
180089 --
180090 --
180091 --
180092 --
180093 --
180094 --
180095 --
180096 --
180097 --
180098 --
180099 --
180100 --
180101 --
180102 --
180103 --
180104 --
180105 --=============================================================================
180106 --=============================================================================
180107 -- *********** Initialization routine **********
180108 --=============================================================================
180109
180110 BEGIN
180111 g_log_level := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
180112 g_log_enabled := fnd_log.test
180113 (log_level => g_log_level
180114 ,module => C_DEFAULT_MODULE);
180115
180116 IF NOT g_log_enabled THEN
180117 g_log_level := C_LEVEL_LOG_DISABLED;
180118 END IF;
180119 --
180120 END XLA_00200_AAD_S_000012_PKG;
180121 --